Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit b32e592d authored by Stephen Boyd's avatar Stephen Boyd Committed by Andy Gross
Browse files

devicetree: bindings: Document qcom board compatible format



Some qcom based bootloaders identify the dtb blob based on a set
of device properties like SoC, platform, PMIC, and revisions of
those components. In downstream kernels, these values are added
to the different component dtsi files (i.e. pmic dtsi file, SoC
dtsi file, board dtsi file, etc.) via qcom specific DT
properties. The dtb files are parsed by a program called dtbTool
that picks out these properties and creates a table of contents
binary blob with the property information and some offsets into
the concatenation of all the dtbs (termed a QCDT image).

The suggestion is to do this via the board compatible string
instead, because these qcom specific properties are never used by
the kernel. Add a document describing the format of the
compatible string that encodes all this information that's
currently encoded in the qcom,{msm-id,board-id,pmic-id}
properties in downstream devicetrees. Future bootloaders may be
updated to look at the compatible field instead of looking for
the table of contents image. For non-updateable bootloaders, a
new dtbTool program will parse the compatible string and generate
a QCDT image from it.

Signed-off-by: default avatarStephen Boyd <sboyd@codeaurora.org>
Acked-by: default avatarRob Herring <robh@kernel.org>
Signed-off-by: default avatarAndy Gross <andy.gross@linaro.org>
parent 46fb5280
Loading
Loading
Loading
Loading
+51 −0
Original line number Diff line number Diff line
QCOM device tree bindings
-------------------------

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
	msm8916
	msm8974
	msm8996

The 'board' element must be one of the following strings:

	cdp
	liquid
	dragonboard
	mtp
	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.