Re: [PATCH 2/2] dt-bindings: hwinfo: Add Qualcomm's board-id types

From: Dmitry Baryshkov
Date: Mon Jan 22 2024 - 14:27:57 EST


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