On Mon, 22 Jan 2024 at 20:46, Elliot Berman <quic_eberman@xxxxxxxxxxx> wrote: > > > > On 1/22/2024 2:07 AM, Amrit Anand wrote: > > > > On 1/20/2024 7:02 PM, Konrad Dybcio wrote: > >> On 20.01.2024 12:20, Amrit Anand wrote: > >>> Qualcomm based DT uses two or three different identifiers. The SoC > >>> based idenfier which signifies chipset and the revision for those > >>> chipsets. The board based identifier is used to distinguish different > >>> boards (e.g. IDP, MTP) along with the different types of same boards. > >>> The PMIC attached to the board can also be used as a identifier for > >>> device tree. > >>> > >>> Signed-off-by: Elliot Berman <quic_eberman@xxxxxxxxxxx> > >>> Signed-off-by: Amrit Anand <quic_amrianan@xxxxxxxxxxx> > >>> --- > >>> .../devicetree/bindings/hwinfo/qcom,board-id.yaml | 86 ++++++++++++++++++++++ > >>> include/dt-bindings/arm/qcom,ids.h | 68 +++++++++++++++-- > >>> 2 files changed, 146 insertions(+), 8 deletions(-) > >>> create mode 100644 Documentation/devicetree/bindings/hwinfo/qcom,board-id.yaml > >>> > >>> diff --git a/Documentation/devicetree/bindings/hwinfo/qcom,board-id.yaml b/Documentation/devicetree/bindings/hwinfo/qcom,board-id.yaml > >>> new file mode 100644 > >>> index 0000000..807f134 > >>> --- /dev/null > >>> +++ b/Documentation/devicetree/bindings/hwinfo/qcom,board-id.yaml > >>> @@ -0,0 +1,86 @@ > >>> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > >>> +%YAML 1.2 > >>> +--- > >>> +$id: http://devicetree.org/schemas/hwinfo/qcom,board-id.yaml# > >>> +$schema: http://devicetree.org/meta-schemas/core.yaml# > >>> + > >>> +title: QCOM Board Identifier for Devicetree Selection > >>> + > >>> +maintainers: > >>> + - Amrit Anand <quic_amrianan@xxxxxxxxxxx> > >>> + - Elliot Berman <quic_eberman@xxxxxxxxxxx> > >>> + > >>> +description: | > >> The '|'s are unnecessary in both commits, IIRC they're used for > >> preserving formatting which we don't really need for non-styled > >> plaintext > > Sure, will do. > >>> + Qualcomm uses two and sometimes three hardware identifiers to describe > >>> + its boards > >>> + - a SoC identifier is used to match chipsets (e.g. sm8550 vs sm8450) > >>> + - a board identifier is used to match board form factor (e.g. MTP, QRD, > >>> + ADP, CRD) > >>> + - a PMIC identifier is occasionally used when different PMICs are used > >>> + for a given board/SoC combination. > >>> + Each field and helper macros are defined at:: > >>> + - include/dt-bindings/arm/qcom,ids.h > >>> + > >>> + For example, > >>> + / { > >>> + #board-id-cells = <2>; > >>> + board-id = <456 0>, <457 0>, <10 0>; > >>> + board-id-types = "qcom,soc-id", "qcom,soc-id", "qcom,board-id"; > >>> + } > >>> + > >>> +allOf: > >>> + - $ref: board-id.yaml# > >>> + > >>> +properties: > >>> + board-id: > >>> + minItems: 2 > >> I believe some older platforms match exclusively based on socid, so > >> perhaps 1 would be okay as well. > >> > >> [...] > > > > Ok, considering legacy targets we can make it 1. > > > > But i think ideally it should always be recommended to have a board ID associated with a SoC ID, correct me if my understanding is wrong. > > > > There is no "legacy" support needed here: Qualcomm's bootloaders > need to be updated to adhere to the new proposed spec. I suppose > we need to consider whether we have targets that only need SoC to > differentiate? What is the chance of updating the bootloader for the N year device? -- With best wishes Dmitry