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. Rob