On Thu May 12, 2022 at 1:44 PM IST, Krzysztof Kozlowski wrote: > On 12/05/2022 08:50, Sireesh Kodali wrote: > > On Wed May 11, 2022 at 10:45 PM IST, Krzysztof Kozlowski wrote: > >> On 11/05/2022 18:15, Sireesh Kodali wrote: > >>> Convert the dt-bindings from txt to YAML. This is in preparation for > >>> including the relevant bindings for the MSM8953 platform's wcnss pil. > >>> > >>> Signed-off-by: Sireesh Kodali <sireeshkodali1@xxxxxxxxx> > >> > >> Thank you for your patch. There is something to discuss/improve. > >> > >> Please use existing bindings or example-schema as a starting point. Half > >> of my review could be skipped if you just followed what we already have > >> in the tree. > >> > >> Some of these qcom specific properties already exist but you decided to > >> write them differently... please don't, rather reuse the code. > >> > > > > Thank you for your review, I will make the chnages as appropriate in v2. > >> (...) > >> > >>> + > >>> +maintainers: > >>> + - Bjorn Andersson <bjorn.andersson@xxxxxxxxxx> > >>> + > >>> +description: > >>> + This document defines the binding for a component that loads and boots > >>> + firmware on the Qualcomm WCNSS core. > >>> + > >>> +properties: > >>> + compatible: > >>> + oneOf: > >>> + - items: > >>> + - enum: > >>> + - qcom,pronto-v2-pil > >>> + - enum: > >>> + - qcom,pronto > >> > >> This does not look correct. The fallback compatible should not change. > >> What is more, it was not documented in original binding, so this should > >> be done in separate patch. > >> > > > > This was not a change to the fallback compatible. > > You made it an enum, so you expect it to use different fallback for > different cases. > > > msm8916.dtsi's wcnss > > node has "qcom,pronto" as the compatible string, which is why this was > > added. It is however not documented in the txt file. Is it sufficient to > > add a note in the commit message, or should it be split into a separate > > commit? > > Please split it, assuming that fallback is correct. Maybe the fallback > is wrong? The code doesn't recognize "qcom,pronto", so perhaps the best solution is to just remove that compatible from msm8916.dtsi? > > > > >>> + - items: > >> > >> No need for items, it's just one item. > >> > >>> + - enum: > >>> + - qcom,riva-pil > >>> + - qcom,pronto-v1-pil > >>> + - qcom,pronto-v2-pil > >>> + > >>> + reg: > >>> + description: must specify the base address and size of the CCU, DXE and PMU > >>> + register blocks > >> > >> New line after "decription:", drop "must specify" and start with capital > >> letter. > >> > >> You need maxItems: 3 > >> > > > > Will fix in v2 > >> > >>> + > >>> + reg-names: > >>> + items: > >>> + - const: ccu > >>> + - const: dxe > >>> + - const: pmu > >>> + > >>> + interrupts-extended: > >>> + description: > >>> + Interrupt lines > >> > >> Skip description, it's obvious. > >> > >> It should be only "interrupts", not extended. > >> > >>> + minItems: 2 > >>> + maxItems: 5 > >>> + > >>> + interrupt-names: > >>> + minItems: 2 > >>> + maxItems: 5 > >> > >> Names should be clearly defined. They were BTW defined in original > >> bindings, so you should not remove them. This makes me wonder what else > >> did you remove from original bindings... > >> > >> Please document all deviations from pure conversion in the commit msg. > >> It's a second "hidden" difference. > >> > > > > Sorry, this was meant to be a pure txt->YAML conversion. The missing > > interrupt names was accidental, and will be fixed in v2. > >>> + > >>> + firmware-name: > >>> + $ref: /schemas/types.yaml#/definitions/string > >>> + description: Relative firmware image path for the WCNSS core. Defaults to > >>> + "wcnss.mdt". > >> > >> > >> Blank line after "description:". This applies to other places as well. > >> > >> Remove "Defailts to ..." and just add "default" schema. > >> > > > > Will be fixed in v2 > >>> + > >>> + vddpx-supply: > >>> + description: Reference to the PX regulator to be held on behalf of the > >>> + booting of the WCNSS core > >>> + > >>> + vddmx-supply: > >>> + description: Reference to the MX regulator to be held on behalf of the > >>> + booting of the WCNSS core. > >>> + > >>> + vddcx-supply: > >>> + description: Reference to the CX regulator to be held on behalf of the > >>> + booting of the WCNSS core. > >> > >> s/Reference to the// > >> > >>> + > >>> + power-domains: > >>> + $ref: /schemas/types.yaml#/definitions/phandle-array > >>> + description: References to the power domains that need to be held on > >>> + behalf of the booting WCNSS core > >> > >> 1. Ditto. > >> 2. No need for ref > >> 3. maxItems > >> > >>> + > >>> + power-domain-names: > >>> + $ref: /schemas/types.yaml#/definitions/string-array > >> > >> No need for ref, skip description. > >> > >>> + description: Names of the power domains > >>> + items: > >>> + - const: cx > >>> + - const: mx > >>> + > >>> + qcom,smem-states: > >>> + $ref: /schemas/types.yaml#/definitions/phandle-array > >>> + description: States used by the AP to signal the WCNSS core that it should > >>> + shutdown > >>> + items: > >>> + - description: Stop the modem > >>> + > >>> + qcom,smem-state-names: > >>> + $ref: /schemas/types.yaml#/definitions/string-array > >> > >> No need for ref. Really, it does not appear in any of existing bindings > >> for smem-state-names, so how did you get it? > >> > > > > The smem nodes were copied from /remoteproc/qcom,sdm845-adsp-pil.yaml > > Hm, indeed, you're right. There are few files having here ref. I'll fix > these. > > > > >>> + description: The names of the state bits used for SMP2P output > >>> + items: > >>> + - const: stop > >>> + > >>> + memory-region: > >>> + maxItems: 1 > >>> + description: Reference to the reserved-memory for the WCNSS core > >>> + > >>> + smd-edge: > >>> + type: object > >>> + description: > >>> + Qualcomm Shared Memory subnode which represents communication edge, > >>> + channels and devices related to the ADSP. > >> > >> You should reference /schemas/soc/qcom/qcom,smd.yaml > > > > Will be done in v2 > >> > >>> + > >>> + iris: > >> > >> Generic node name... what is "iris"? > >> > > Iris is the RF module, I'll make the description better > > RF like wifi? Then the property name should be "wifi". RF like wifi and bluetooth. However there are wifi and bt subnodes in the smd-edge subnode. Iris is just the antenna hardware if I understand correctly. Also this is just a documentation of the existing nodes that are present in msm8916.dtsi, but for whatever reason their documentation was missing in the txt file. Without adding this node in the YAML dtb_check fails. > > > Best regards, > Krzysztof