On 10/06/2022 18:33, Rob Herring wrote: > On Tue, Jun 07, 2022 at 01:15:51PM +0200, Krzysztof Kozlowski wrote: >> On 05/06/2022 17:07, Rob Herring wrote: >>> On Sun, May 29, 2022 at 10:26:26PM +0200, Krzysztof Kozlowski wrote: >>>> The top level qcom,msm-id and qcom,board-id properties are utilized by >>>> bootloaders on Qualcomm MSM platforms to determine which device tree >>>> should be used and passed to the kernel. >>>> >>>> The commit b32e592d3c28 ("devicetree: bindings: Document qcom board >>>> compatible format") from 2015 was a consensus during discussion about >>>> upstreaming qcom,msm-id and qcom,board-id fields. There are however still >>>> problems with that consensus: >>>> 1. It was reached 7 years ago but it turned out its implementation did >>>> not reach all possible products. >>>> >>>> 2. Initially additional tool (dtbTool) was needed for parsing these >>>> fields to create a QCDT image consisting of multiple DTBs, later the >>>> bootloaders were improved and they use these qcom,msm-id and >>>> qcom,board-id properties directly. >>>> >>>> 3. Extracting relevant information from the board compatible requires >>>> this additional tool (dtbTool), which makes the build process more >>>> complicated and not easily reproducible (DTBs are modified after the >>>> kernel build). >>>> >>>> 4. Some versions of Qualcomm bootloaders expect these properties even >>>> when booting with a single DTB. The community is stuck with these >>>> bootloaders thus they require properties in the DTBs. >>>> >>>> Since several upstreamed Qualcomm SoC-based boards require these >>>> properties to properly boot and the properties are reportedly used by >>>> bootloaders, document them. >>> >>> My primary issue here is accepting this will be an endorsement for >>> other vendors doing something similar. I'm not against an ID >>> property(ies) in the root node, but would rather see something common >>> if we do anything. >> >> Hi Rob, >> >> A more common approach was merged back in 2015 - encoding this ID >> information in the board compatibles. If I understood previous >> discussion correctly, this common method was later used by Qualcomm DTB >> post-processing tool. At least for some of the cases. >> >> Other cases (several Qualcomm boards from different vendors) still use >> these ID properties. It even turns out they use it differently between >> vendors (e.g. Xiaomi vs OnePlus). >> >> Important arguments for documenting these properties: >> 1. These ID properties are already on released boards where changing >> bootloader is non-trivial or even not possible. It will not be possible >> to remove these properties, without seriously affecting the community >> working with them. > > Accepting things because they are already in use is also not a path we > want to go down. If it's the color of the bike shed, then fine. > >> 2. According to Konrad [1] (second paragraph), newer chipsets (starting >> with sm8350 released in 2021) do not use these properties. These newer >> DTS do not have them. >> >> Considering 1+2 above, maybe let's document these properties as >> compatible? Would that solve your point of "endorsement for other vendors"? > > What do you mean? Only allow them for certain root compatible strings? I > suppose that would be okay by me. It would also be useful documentation > of where they are needed. Bah, I wrote something else than I had in mind. So one more try: Considering 1+2 above, maybe let's document these properties as *deprecated*? Would that solve your point of "endorsement for other vendors"? However the idea to restrict them per-compatible, is also nice. Although I cannot guarantee the list will not grow for older SoCs. Best regards, Krzysztof