375 lines
9.8 KiB
YAML
375 lines
9.8 KiB
YAML
# SPDX-License-Identifier: GPL-2.0
|
|
%YAML 1.2
|
|
---
|
|
$id: http://devicetree.org/schemas/arm/qcom.yaml#
|
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
|
|
|
title: QCOM device tree bindings
|
|
|
|
maintainers:
|
|
- Stephen Boyd <sboyd@codeaurora.org>
|
|
|
|
description: |
|
|
Some qcom based bootloaders identify the dtb blob based on a set of
|
|
device properties like SoC and platform and revisions of those components.
|
|
To support this scheme, we encode this information into the board compatible
|
|
string.
|
|
|
|
Each board must specify a top-level board compatible string with the following
|
|
format:
|
|
|
|
compatible = "qcom,<SoC>[-<soc_version>][-<foundry_id>]-<board>[/<subtype>][-<board_version>]"
|
|
|
|
The 'SoC' and 'board' elements are required. All other elements are optional.
|
|
|
|
The 'SoC' element must be one of the following strings:
|
|
|
|
apq8016
|
|
apq8074
|
|
apq8084
|
|
apq8096
|
|
ipq6018
|
|
ipq8074
|
|
mdm9615
|
|
msm8916
|
|
msm8974
|
|
msm8992
|
|
msm8994
|
|
msm8996
|
|
sa8155p
|
|
sa8540p
|
|
sc7180
|
|
sc7280
|
|
sc8180x
|
|
sc8280xp
|
|
sdm630
|
|
sdm660
|
|
sdm845
|
|
sdx55
|
|
sm8150
|
|
sm8250
|
|
sm8350
|
|
|
|
The 'board' element must be one of the following strings:
|
|
|
|
adp
|
|
cdp
|
|
cp01-c1
|
|
dragonboard
|
|
hk01
|
|
hk10-c1
|
|
hk10-c2
|
|
idp
|
|
liquid
|
|
mtp
|
|
qrd
|
|
sbc
|
|
|
|
The 'soc_version' and 'board_version' elements take the form of v<Major>.<Minor>
|
|
where the minor number may be omitted when it's zero, i.e. v1.0 is the same
|
|
as v1. If all versions of the 'board_version' elements match, then a
|
|
wildcard '*' should be used, e.g. 'v*'.
|
|
|
|
The 'foundry_id' and 'subtype' elements are one or more digits from 0 to 9.
|
|
|
|
Examples:
|
|
|
|
"qcom,msm8916-v1-cdp-pm8916-v2.1"
|
|
|
|
A CDP board with an msm8916 SoC, version 1 paired with a pm8916 PMIC of version
|
|
2.1.
|
|
|
|
"qcom,apq8074-v2.0-2-dragonboard/1-v0.1"
|
|
|
|
A dragonboard board v0.1 of subtype 1 with an apq8074 SoC version 2, made in
|
|
foundry 2.
|
|
|
|
properties:
|
|
$nodename:
|
|
const: "/"
|
|
compatible:
|
|
oneOf:
|
|
- items:
|
|
- enum:
|
|
- qcom,apq8016-sbc
|
|
- const: qcom,apq8016
|
|
|
|
- items:
|
|
- enum:
|
|
- qcom,apq8064-cm-qs600
|
|
- qcom,apq8064-ifc6410
|
|
- const: qcom,apq8064
|
|
|
|
- items:
|
|
- enum:
|
|
- qcom,apq8074-dragonboard
|
|
- const: qcom,apq8074
|
|
|
|
- items:
|
|
- enum:
|
|
- qcom,apq8060-dragonboard
|
|
- qcom,msm8660-surf
|
|
- const: qcom,msm8660
|
|
|
|
- items:
|
|
- enum:
|
|
- qcom,apq8084-mtp
|
|
- qcom,apq8084-sbc
|
|
- const: qcom,apq8084
|
|
|
|
- items:
|
|
- enum:
|
|
- qcom,msm8960-cdp
|
|
- const: qcom,msm8960
|
|
|
|
- items:
|
|
- enum:
|
|
- fairphone,fp2
|
|
- lge,hammerhead
|
|
- sony,xperia-amami
|
|
- sony,xperia-castor
|
|
- sony,xperia-honami
|
|
- const: qcom,msm8974
|
|
|
|
- items:
|
|
- enum:
|
|
- alcatel,idol347
|
|
- const: qcom,msm8916-mtp/1
|
|
- const: qcom,msm8916-mtp
|
|
- const: qcom,msm8916
|
|
|
|
- items:
|
|
- enum:
|
|
- longcheer,l8150
|
|
- samsung,a3u-eur
|
|
- samsung,a5u-eur
|
|
- const: qcom,msm8916
|
|
|
|
- items:
|
|
- enum:
|
|
- sony,karin_windy
|
|
- sony,karin-row
|
|
- sony,satsuki-row
|
|
- sony,sumire-row
|
|
- sony,suzuran-row
|
|
- qcom,msm8994
|
|
- const: qcom,apq8094
|
|
|
|
- items:
|
|
- const: qcom,msm8996-mtp
|
|
|
|
- items:
|
|
- enum:
|
|
- qcom,ipq4019-ap-dk04.1-c3
|
|
- qcom,ipq4019-ap-dk07.1-c1
|
|
- qcom,ipq4019-ap-dk07.1-c2
|
|
- qcom,ipq4019-dk04.1-c1
|
|
- const: qcom,ipq4019
|
|
|
|
- items:
|
|
- enum:
|
|
- qcom,ipq8064-ap148
|
|
- const: qcom,ipq8064
|
|
|
|
- items:
|
|
- enum:
|
|
- qcom,ipq8074-hk01
|
|
- qcom,ipq8074-hk10-c1
|
|
- qcom,ipq8074-hk10-c2
|
|
- const: qcom,ipq8074
|
|
|
|
- items:
|
|
- enum:
|
|
- qcom,sc7180-idp
|
|
- const: qcom,sc7180
|
|
|
|
- items:
|
|
- enum:
|
|
- qcom,sc7280-idp
|
|
- google,senor
|
|
- const: qcom,sc7280
|
|
|
|
- items:
|
|
- enum:
|
|
- lenovo,flex-5g
|
|
- microsoft,surface-prox
|
|
- qcom,sc8180x-primus
|
|
- const: qcom,sc8180x
|
|
|
|
- items:
|
|
- enum:
|
|
- lenovo,thinkpad-x13s
|
|
- qcom,sc8280xp-crd
|
|
- qcom,sc8280xp-qrd
|
|
- const: qcom,sc8280xp
|
|
|
|
- items:
|
|
- enum:
|
|
- xiaomi,lavender
|
|
- const: qcom,sdm660
|
|
|
|
- items:
|
|
- enum:
|
|
- qcom,sdx55-mtp
|
|
- qcom,sdx55-telit-fn980-tlb
|
|
- qcom,sdx55-t55
|
|
- const: qcom,sdx55
|
|
|
|
- items:
|
|
- enum:
|
|
- qcom,ipq6018-cp01
|
|
- qcom,ipq6018-cp01-c1
|
|
- const: qcom,ipq6018
|
|
|
|
- items:
|
|
- enum:
|
|
- qcom,sa8155p-adp
|
|
- const: qcom,sa8155p
|
|
|
|
- items:
|
|
- enum:
|
|
- qcom,sa8295p-adp
|
|
- qcom,sa8540p-ride
|
|
- const: qcom,sa8540p
|
|
|
|
- items:
|
|
- enum:
|
|
- qcom,sm8150-mtp
|
|
- const: qcom,sm8150
|
|
|
|
- items:
|
|
- enum:
|
|
- qcom,qrb5165-rb5
|
|
- qcom,sm8250-mtp
|
|
- const: qcom,sm8250
|
|
|
|
- items:
|
|
- enum:
|
|
- qcom,sm8350-hdk
|
|
- qcom,sm8350-mtp
|
|
- const: qcom,sm8350
|
|
|
|
# Board compatibles go above
|
|
|
|
qcom,msm-id:
|
|
$ref: /schemas/types.yaml#/definitions/uint32-matrix
|
|
minItems: 1
|
|
maxItems: 8
|
|
items:
|
|
items:
|
|
- description: |
|
|
MSM chipset ID - an exact match value consisting of two bitfields::
|
|
- bits 0-15 - The unique MSM chipset ID
|
|
- bits 16-31 - Reserved; should be 0
|
|
- description: |
|
|
Hardware revision ID - a chipset specific 32-bit ID representing
|
|
the version of the chipset. It is best a match value - the
|
|
bootloader will look for the closest possible match.
|
|
deprecated: true
|
|
description:
|
|
The MSM chipset and hardware revision used Qualcomm bootloaders. It
|
|
can optionally be an array of these to indicate multiple hardware that
|
|
use the same device tree. It is expected that the bootloader will use
|
|
this information at boot-up to decide which device tree to use when given
|
|
multiple device trees, some of which may not be compatible with the
|
|
actual hardware. It is the bootloader's responsibility to pass the
|
|
correct device tree to the kernel.
|
|
The property is deprecated.
|
|
|
|
qcom,board-id:
|
|
$ref: /schemas/types.yaml#/definitions/uint32-matrix
|
|
minItems: 1
|
|
maxItems: 8
|
|
oneOf:
|
|
- items:
|
|
- items:
|
|
- description: |
|
|
Board ID consisting of three bitfields::
|
|
- bits 31-24 - Unused
|
|
- bits 23-16 - Platform Version Major
|
|
- bits 15-8 - Platform Version Minor
|
|
- bits 7-0 - Platform Type
|
|
Platform Type field is an exact match value. The
|
|
Platform Major/Minor field is a best match. The bootloader will
|
|
look for the closest possible match.
|
|
- description: |
|
|
Subtype ID unique to a Platform Type/Chipset ID. For a given
|
|
Platform Type, there will typically only be a single board and the
|
|
subtype_id will be 0. However in some cases board variants may
|
|
need to be distinguished by different subtype_id values.
|
|
- items:
|
|
# OnePlus uses a variant of board-id with four elements:
|
|
- items:
|
|
- const: 8
|
|
- const: 0
|
|
- description: OnePlus board ID
|
|
- description: OnePlus subtype ID
|
|
deprecated: true
|
|
description:
|
|
The board type and revision information. It can optionally be an array
|
|
of these to indicate multiple boards that use the same device tree. It
|
|
is expected that the bootloader will use this information at boot-up to
|
|
decide which device tree to use when given multiple device trees, some of
|
|
which may not be compatible with the actual hardware. It is the
|
|
bootloader's responsibility to pass the correct device tree to the
|
|
kernel
|
|
The property is deprecated.
|
|
|
|
allOf:
|
|
# Explicit allow-list for older SoCs. The legacy properties are not allowed
|
|
# on newer SoCs.
|
|
- if:
|
|
properties:
|
|
compatible:
|
|
contains:
|
|
enum:
|
|
- qcom,apq8026
|
|
- qcom,apq8094
|
|
- qcom,apq8096
|
|
- qcom,msm8992
|
|
- qcom,msm8994
|
|
- qcom,msm8996
|
|
- qcom,msm8998
|
|
- qcom,sdm630
|
|
- qcom,sdm632
|
|
- qcom,sdm845
|
|
- qcom,sdx55
|
|
- qcom,sdx65
|
|
- qcom,sm6125
|
|
- qcom,sm6350
|
|
- qcom,sm7225
|
|
- qcom,sm8150
|
|
- qcom,sm8250
|
|
then:
|
|
properties:
|
|
qcom,board-id: true
|
|
qcom,msm-id: true
|
|
else:
|
|
properties:
|
|
qcom,board-id: false
|
|
qcom,msm-id: false
|
|
|
|
- if:
|
|
properties:
|
|
compatible:
|
|
contains:
|
|
enum:
|
|
- oneplus,cheeseburger
|
|
- oneplus,dumpling
|
|
- oneplus,enchilada
|
|
- oneplus,fajita
|
|
then:
|
|
properties:
|
|
qcom,board-id:
|
|
items:
|
|
minItems: 4
|
|
else:
|
|
properties:
|
|
qcom,board-id:
|
|
items:
|
|
maxItems: 2
|
|
|
|
additionalProperties: true
|
|
|
|
...
|