Message ID | 20220629164414.301813-3-viorel.suman@oss.nxp.com (mailing list archive) |
---|---|
State | Handled Elsewhere, archived |
Headers | show |
Series | dt-bindings: arm: freescale: Switch fsl,scu from txt to yaml | expand |
On 29/06/2022 18:44, Viorel Suman (OSS) wrote: > From: Abel Vesa <abel.vesa@nxp.com> > > In order to replace the fsl,scu txt file from bindings/arm/freescale, > we need to split it between the right subsystems. This patch documents > separately the 'iomux/pinctrl' child node of the SCU main node. > > Signed-off-by: Abel Vesa <abel.vesa@nxp.com> > Signed-off-by: Viorel Suman <viorel.suman@nxp.com> > --- > .../bindings/pinctrl/fsl,scu-pinctrl.yaml | 68 +++++++++++++++++++ > 1 file changed, 68 insertions(+) > create mode 100644 Documentation/devicetree/bindings/pinctrl/fsl,scu-pinctrl.yaml > > diff --git a/Documentation/devicetree/bindings/pinctrl/fsl,scu-pinctrl.yaml b/Documentation/devicetree/bindings/pinctrl/fsl,scu-pinctrl.yaml > new file mode 100644 > index 000000000000..76a2e7b28172 > --- /dev/null > +++ b/Documentation/devicetree/bindings/pinctrl/fsl,scu-pinctrl.yaml > @@ -0,0 +1,68 @@ > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/pinctrl/fsl,scu-pinctrl.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: i.MX SCU Client Device Node - Pinctrl bindings based on SCU Message Protocol > + > +maintainers: > + - Dong Aisheng <aisheng.dong@nxp.com> > + > +description: i.MX SCU Client Device Node > + Client nodes are maintained as children of the relevant IMX-SCU device node. > + This binding uses the i.MX common pinctrl binding. > + (Documentation/devicetree/bindings/pinctrl/fsl,imx-pinctrl.txt) > + > +allOf: > + - $ref: "pinctrl.yaml#" Don't mix the quotes. You changed them to ', so stick with it. > + > +properties: > + compatible: > + enum: > + - fsl,imx8qm-iomuxc > + - fsl,imx8qxp-iomuxc > + - fsl,imx8dxl-iomuxc > + > +patternProperties: > + 'grp$': > + type: object > + description: > + Pinctrl node's client devices use subnodes for desired pin configuration. > + Client device subnodes use below standard properties. > + > + properties: > + fsl,pins: > + description: > + each entry consists of 3 integers and represents the pin ID, the mux value > + and config setting for the pin. The first 2 integers - pin_id and mux_val - are > + specified using a PIN_FUNC_ID macro, which can be found in > + <include/dt-bindings/pinctrl/pads-imx8qxp.h>. The last integer CONFIG is > + the pad setting value like pull-up on this pin. Please refer to the > + appropriate i.MX8 Reference Manual for detailed CONFIG settings. > + $ref: /schemas/types.yaml#/definitions/uint32-matrix Look at fsl,imx8mq-pinctrl.yaml. Each item is described (items under items). > + > + required: > + - fsl,pins > + > + additionalProperties: false > + > +required: > + - compatible > + > +additionalProperties: false > + > +examples: > + - | > + #include <dt-bindings/pinctrl/pads-imx8qxp.h> > + > + pinctrl { > + compatible = "fsl,imx8qxp-iomuxc"; > + > + pinctrl_lpuart0: lpuart0grp { > + fsl,pins = < > + 111 0 0x06000020 > + 112 0 0x06000020 > + >; > + }; > + }; Best regards, Krzysztof
On 22-06-29 19:53:51, Krzysztof Kozlowski wrote: > On 29/06/2022 18:44, Viorel Suman (OSS) wrote: > > From: Abel Vesa <abel.vesa@nxp.com> > > > > In order to replace the fsl,scu txt file from bindings/arm/freescale, > > we need to split it between the right subsystems. This patch documents > > separately the 'iomux/pinctrl' child node of the SCU main node. > > > > Signed-off-by: Abel Vesa <abel.vesa@nxp.com> > > Signed-off-by: Viorel Suman <viorel.suman@nxp.com> > > --- > > .../bindings/pinctrl/fsl,scu-pinctrl.yaml | 68 +++++++++++++++++++ > > 1 file changed, 68 insertions(+) > > create mode 100644 Documentation/devicetree/bindings/pinctrl/fsl,scu-pinctrl.yaml > > > > diff --git a/Documentation/devicetree/bindings/pinctrl/fsl,scu-pinctrl.yaml b/Documentation/devicetree/bindings/pinctrl/fsl,scu-pinctrl.yaml > > new file mode 100644 > > index 000000000000..76a2e7b28172 > > --- /dev/null > > +++ b/Documentation/devicetree/bindings/pinctrl/fsl,scu-pinctrl.yaml [...] > > + fsl,pins: > > + description: > > + each entry consists of 3 integers and represents the pin ID, the mux value > > + and config setting for the pin. The first 2 integers - pin_id and mux_val - are > > + specified using a PIN_FUNC_ID macro, which can be found in > > + <include/dt-bindings/pinctrl/pads-imx8qxp.h>. The last integer CONFIG is > > + the pad setting value like pull-up on this pin. Please refer to the > > + appropriate i.MX8 Reference Manual for detailed CONFIG settings. > > + $ref: /schemas/types.yaml#/definitions/uint32-matrix > > Look at fsl,imx8mq-pinctrl.yaml. Each item is described (items under items). Added them initially, but later dropped because of some logs like "pinctrl@xxxxxxx: usdhc1grp:fsl,pins:0: [...] is too long" shown by "make dt_binding_check dtbs_check DT_SCHEMA_FILES=[...]/fsl,scu-pinctrl.yaml" Same logs are shown for "fsl,imx8mq-pinctrl.yaml". Will add the items description in the next version. Thank you, Viorel
On Wed, 29 Jun 2022 19:44:02 +0300, Viorel Suman (OSS) wrote: > From: Abel Vesa <abel.vesa@nxp.com> > > In order to replace the fsl,scu txt file from bindings/arm/freescale, > we need to split it between the right subsystems. This patch documents > separately the 'iomux/pinctrl' child node of the SCU main node. > > Signed-off-by: Abel Vesa <abel.vesa@nxp.com> > Signed-off-by: Viorel Suman <viorel.suman@nxp.com> > --- > .../bindings/pinctrl/fsl,scu-pinctrl.yaml | 68 +++++++++++++++++++ > 1 file changed, 68 insertions(+) > create mode 100644 Documentation/devicetree/bindings/pinctrl/fsl,scu-pinctrl.yaml > My bot found errors running 'make DT_CHECKER_FLAGS=-m dt_binding_check' on your patch (DT_CHECKER_FLAGS is new in v5.13): yamllint warnings/errors: dtschema/dtc warnings/errors: /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/pinctrl/fsl,imx8ulp-pinctrl.example.dtb: pinctrl@298c0000: lpuart5grp:fsl,pins:0: [312, 2288, 4, 3, 3, 316, 2284, 4, 3, 3] is too long From schema: /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/pinctrl/fsl,imx8ulp-pinctrl.yaml /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/pinctrl/fsl,imx8mn-pinctrl.example.dtb: pinctrl@30330000: uart2grp:fsl,pins:0: [572, 1188, 1276, 0, 0, 320, 576, 1192, 0, 0, 0, 320] is too long From schema: /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/pinctrl/fsl,imx8mn-pinctrl.yaml /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/pinctrl/fsl,imx93-pinctrl.example.dtb: pinctrl@443c0000: uart3grp:fsl,pins:0: [72, 504, 1052, 1, 0, 73, 76, 508, 1048, 1, 0, 73] is too long From schema: /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/pinctrl/fsl,imx93-pinctrl.yaml /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/pinctrl/fsl,imx8mm-pinctrl.example.dtb: pinctrl@30330000: uart2grp:fsl,pins:0: [572, 1188, 1276, 0, 0, 320, 576, 1192, 0, 0, 0, 320] is too long From schema: /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/pinctrl/fsl,imx8mm-pinctrl.yaml /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/pinctrl/fsl,imx7d-pinctrl.example.dtb: pinctrl@30330000: uart5grp:fsl,pins:0: [352, 976, 1812, 1, 0, 126, 356, 980, 0, 1, 0, 118] is too long From schema: /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/pinctrl/fsl,imx7d-pinctrl.yaml /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/pinctrl/fsl,imx7d-pinctrl.example.dtb: pinctrl@302c0000: gpio1-grp:fsl,pins:0: [8, 56, 0, 0, 0, 89, 12, 60, 0, 0, 0, 89] is too long From schema: /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/pinctrl/fsl,imx7d-pinctrl.yaml /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/pinctrl/fsl,imx8mq-pinctrl.example.dtb: pinctrl@30330000: uart1grp:fsl,pins:0: [564, 1180, 1268, 0, 0, 73, 568, 1184, 1268, 0, 0, 73] is too long From schema: /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/pinctrl/fsl,imx8mq-pinctrl.yaml /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/pinctrl/fsl,imxrt1050.example.dtb: iomuxc@401f8000: lpuart1grp:fsl,pins:0: [236, 732, 0, 2, 0, 241, 240, 736, 0, 2, 0, 241] is too long From schema: /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/pinctrl/fsl,imxrt1050.yaml /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/pinctrl/fsl,imx8mp-pinctrl.example.dtb: pinctrl@30330000: uart2grp:fsl,pins:0: [552, 1160, 1520, 0, 6, 73, 552, 1160, 0, 0, 0, 73] is too long From schema: /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/pinctrl/fsl,imx8mp-pinctrl.yaml /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/pinctrl/fsl,imxrt1170.example.dtb: iomuxc@400e8000: lpuart1grp:fsl,pins:0: [364, 944, 1568, 0, 0, 241, 368, 948, 1564, 0, 0, 241] is too long From schema: /builds/robherring/linux-dt-review/Documentation/devicetree/bindings/pinctrl/fsl,imxrt1170.yaml doc reference errors (make refcheckdocs): See https://patchwork.ozlabs.org/patch/ This check can fail if there are any dependencies. The base for a patch series is generally the most recent rc1. If you already ran 'make dt_binding_check' and didn't see the above error(s), then make sure 'yamllint' is installed and dt-schema is up to date: pip3 install dtschema --upgrade Please check and re-submit.
On 30/06/2022 14:37, Viorel Suman (OSS) wrote: > On 22-06-29 19:53:51, Krzysztof Kozlowski wrote: >> On 29/06/2022 18:44, Viorel Suman (OSS) wrote: >>> From: Abel Vesa <abel.vesa@nxp.com> >>> >>> In order to replace the fsl,scu txt file from bindings/arm/freescale, >>> we need to split it between the right subsystems. This patch documents >>> separately the 'iomux/pinctrl' child node of the SCU main node. >>> >>> Signed-off-by: Abel Vesa <abel.vesa@nxp.com> >>> Signed-off-by: Viorel Suman <viorel.suman@nxp.com> >>> --- >>> .../bindings/pinctrl/fsl,scu-pinctrl.yaml | 68 +++++++++++++++++++ >>> 1 file changed, 68 insertions(+) >>> create mode 100644 Documentation/devicetree/bindings/pinctrl/fsl,scu-pinctrl.yaml >>> >>> diff --git a/Documentation/devicetree/bindings/pinctrl/fsl,scu-pinctrl.yaml b/Documentation/devicetree/bindings/pinctrl/fsl,scu-pinctrl.yaml >>> new file mode 100644 >>> index 000000000000..76a2e7b28172 >>> --- /dev/null >>> +++ b/Documentation/devicetree/bindings/pinctrl/fsl,scu-pinctrl.yaml > [...] >>> + fsl,pins: >>> + description: >>> + each entry consists of 3 integers and represents the pin ID, the mux value >>> + and config setting for the pin. The first 2 integers - pin_id and mux_val - are >>> + specified using a PIN_FUNC_ID macro, which can be found in >>> + <include/dt-bindings/pinctrl/pads-imx8qxp.h>. The last integer CONFIG is >>> + the pad setting value like pull-up on this pin. Please refer to the >>> + appropriate i.MX8 Reference Manual for detailed CONFIG settings. >>> + $ref: /schemas/types.yaml#/definitions/uint32-matrix >> >> Look at fsl,imx8mq-pinctrl.yaml. Each item is described (items under items). > > Added them initially, but later dropped because of some logs like > "pinctrl@xxxxxxx: usdhc1grp:fsl,pins:0: [...] is too long" shown by > "make dt_binding_check dtbs_check DT_SCHEMA_FILES=[...]/fsl,scu-pinctrl.yaml" > > Same logs are shown for "fsl,imx8mq-pinctrl.yaml". Will add the items description in the next > version. > The fsl,imx8mq-pinctrl.yaml should be correct and I don't see the reason why dtschema complains in some of the entries. It's like one define was not correct... I'll take a look at this later, but anyway keep the same as fsl,imx8mq-pinctrl.yaml even if it complains. Best regards, Krzysztof
On Thu, Jun 30, 2022 at 12:33 PM Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> wrote: > > On 30/06/2022 14:37, Viorel Suman (OSS) wrote: > > On 22-06-29 19:53:51, Krzysztof Kozlowski wrote: > >> On 29/06/2022 18:44, Viorel Suman (OSS) wrote: > >>> From: Abel Vesa <abel.vesa@nxp.com> > >>> > >>> In order to replace the fsl,scu txt file from bindings/arm/freescale, > >>> we need to split it between the right subsystems. This patch documents > >>> separately the 'iomux/pinctrl' child node of the SCU main node. > >>> > >>> Signed-off-by: Abel Vesa <abel.vesa@nxp.com> > >>> Signed-off-by: Viorel Suman <viorel.suman@nxp.com> > >>> --- > >>> .../bindings/pinctrl/fsl,scu-pinctrl.yaml | 68 +++++++++++++++++++ > >>> 1 file changed, 68 insertions(+) > >>> create mode 100644 Documentation/devicetree/bindings/pinctrl/fsl,scu-pinctrl.yaml > >>> > >>> diff --git a/Documentation/devicetree/bindings/pinctrl/fsl,scu-pinctrl.yaml b/Documentation/devicetree/bindings/pinctrl/fsl,scu-pinctrl.yaml > >>> new file mode 100644 > >>> index 000000000000..76a2e7b28172 > >>> --- /dev/null > >>> +++ b/Documentation/devicetree/bindings/pinctrl/fsl,scu-pinctrl.yaml > > [...] > >>> + fsl,pins: > >>> + description: > >>> + each entry consists of 3 integers and represents the pin ID, the mux value > >>> + and config setting for the pin. The first 2 integers - pin_id and mux_val - are > >>> + specified using a PIN_FUNC_ID macro, which can be found in > >>> + <include/dt-bindings/pinctrl/pads-imx8qxp.h>. The last integer CONFIG is > >>> + the pad setting value like pull-up on this pin. Please refer to the > >>> + appropriate i.MX8 Reference Manual for detailed CONFIG settings. > >>> + $ref: /schemas/types.yaml#/definitions/uint32-matrix > >> > >> Look at fsl,imx8mq-pinctrl.yaml. Each item is described (items under items). > > > > Added them initially, but later dropped because of some logs like > > "pinctrl@xxxxxxx: usdhc1grp:fsl,pins:0: [...] is too long" shown by > > "make dt_binding_check dtbs_check DT_SCHEMA_FILES=[...]/fsl,scu-pinctrl.yaml" > > > > Same logs are shown for "fsl,imx8mq-pinctrl.yaml". Will add the items description in the next > > version. > > > > The fsl,imx8mq-pinctrl.yaml should be correct and I don't see the reason > why dtschema complains in some of the entries. It's like one define was > not correct... I'll take a look at this later, but anyway keep the same > as fsl,imx8mq-pinctrl.yaml even if it complains. The issue is that 'fsl,pins' is problematic for the new dtb decoding because it has a variable definition in terms of matrix bounds as each i.MX platform has its own length (typ 5 or 6). The tools try to work around it by figuring out which size fits. That works until there are multiple answers which seems to be what's happening here. The easiest solution I think is to just strip the constraints in occurances of this property. I'll look into that. Rob
On Tue, Jul 5, 2022 at 12:33 PM Rob Herring <robh+dt@kernel.org> wrote: > > On Thu, Jun 30, 2022 at 12:33 PM Krzysztof Kozlowski > <krzysztof.kozlowski@linaro.org> wrote: > > > > On 30/06/2022 14:37, Viorel Suman (OSS) wrote: > > > On 22-06-29 19:53:51, Krzysztof Kozlowski wrote: > > >> On 29/06/2022 18:44, Viorel Suman (OSS) wrote: > > >>> From: Abel Vesa <abel.vesa@nxp.com> > > >>> > > >>> In order to replace the fsl,scu txt file from bindings/arm/freescale, > > >>> we need to split it between the right subsystems. This patch documents > > >>> separately the 'iomux/pinctrl' child node of the SCU main node. > > >>> > > >>> Signed-off-by: Abel Vesa <abel.vesa@nxp.com> > > >>> Signed-off-by: Viorel Suman <viorel.suman@nxp.com> > > >>> --- > > >>> .../bindings/pinctrl/fsl,scu-pinctrl.yaml | 68 +++++++++++++++++++ > > >>> 1 file changed, 68 insertions(+) > > >>> create mode 100644 Documentation/devicetree/bindings/pinctrl/fsl,scu-pinctrl.yaml > > >>> > > >>> diff --git a/Documentation/devicetree/bindings/pinctrl/fsl,scu-pinctrl.yaml b/Documentation/devicetree/bindings/pinctrl/fsl,scu-pinctrl.yaml > > >>> new file mode 100644 > > >>> index 000000000000..76a2e7b28172 > > >>> --- /dev/null > > >>> +++ b/Documentation/devicetree/bindings/pinctrl/fsl,scu-pinctrl.yaml > > > [...] > > >>> + fsl,pins: > > >>> + description: > > >>> + each entry consists of 3 integers and represents the pin ID, the mux value > > >>> + and config setting for the pin. The first 2 integers - pin_id and mux_val - are > > >>> + specified using a PIN_FUNC_ID macro, which can be found in > > >>> + <include/dt-bindings/pinctrl/pads-imx8qxp.h>. The last integer CONFIG is > > >>> + the pad setting value like pull-up on this pin. Please refer to the > > >>> + appropriate i.MX8 Reference Manual for detailed CONFIG settings. > > >>> + $ref: /schemas/types.yaml#/definitions/uint32-matrix > > >> > > >> Look at fsl,imx8mq-pinctrl.yaml. Each item is described (items under items). > > > > > > Added them initially, but later dropped because of some logs like > > > "pinctrl@xxxxxxx: usdhc1grp:fsl,pins:0: [...] is too long" shown by > > > "make dt_binding_check dtbs_check DT_SCHEMA_FILES=[...]/fsl,scu-pinctrl.yaml" > > > > > > Same logs are shown for "fsl,imx8mq-pinctrl.yaml". Will add the items description in the next > > > version. > > > > > > > The fsl,imx8mq-pinctrl.yaml should be correct and I don't see the reason > > why dtschema complains in some of the entries. It's like one define was > > not correct... I'll take a look at this later, but anyway keep the same > > as fsl,imx8mq-pinctrl.yaml even if it complains. > > The issue is that 'fsl,pins' is problematic for the new dtb decoding > because it has a variable definition in terms of matrix bounds as each > i.MX platform has its own length (typ 5 or 6). The tools try to work > around it by figuring out which size fits. That works until there are > multiple answers which seems to be what's happening here. > > The easiest solution I think is to just strip the constraints in > occurances of this property. I'll look into that. This is now fixed in the dt-schema main branch. Rob
On 06/07/2022 16:11, Rob Herring wrote: >>> The fsl,imx8mq-pinctrl.yaml should be correct and I don't see the reason >>> why dtschema complains in some of the entries. It's like one define was >>> not correct... I'll take a look at this later, but anyway keep the same >>> as fsl,imx8mq-pinctrl.yaml even if it complains. >> >> The issue is that 'fsl,pins' is problematic for the new dtb decoding >> because it has a variable definition in terms of matrix bounds as each >> i.MX platform has its own length (typ 5 or 6). The tools try to work >> around it by figuring out which size fits. That works until there are >> multiple answers which seems to be what's happening here. >> >> The easiest solution I think is to just strip the constraints in >> occurances of this property. I'll look into that. > > This is now fixed in the dt-schema main branch. Great, thanks! Best regards, Krzysztof
diff --git a/Documentation/devicetree/bindings/pinctrl/fsl,scu-pinctrl.yaml b/Documentation/devicetree/bindings/pinctrl/fsl,scu-pinctrl.yaml new file mode 100644 index 000000000000..76a2e7b28172 --- /dev/null +++ b/Documentation/devicetree/bindings/pinctrl/fsl,scu-pinctrl.yaml @@ -0,0 +1,68 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/pinctrl/fsl,scu-pinctrl.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: i.MX SCU Client Device Node - Pinctrl bindings based on SCU Message Protocol + +maintainers: + - Dong Aisheng <aisheng.dong@nxp.com> + +description: i.MX SCU Client Device Node + Client nodes are maintained as children of the relevant IMX-SCU device node. + This binding uses the i.MX common pinctrl binding. + (Documentation/devicetree/bindings/pinctrl/fsl,imx-pinctrl.txt) + +allOf: + - $ref: "pinctrl.yaml#" + +properties: + compatible: + enum: + - fsl,imx8qm-iomuxc + - fsl,imx8qxp-iomuxc + - fsl,imx8dxl-iomuxc + +patternProperties: + 'grp$': + type: object + description: + Pinctrl node's client devices use subnodes for desired pin configuration. + Client device subnodes use below standard properties. + + properties: + fsl,pins: + description: + each entry consists of 3 integers and represents the pin ID, the mux value + and config setting for the pin. The first 2 integers - pin_id and mux_val - are + specified using a PIN_FUNC_ID macro, which can be found in + <include/dt-bindings/pinctrl/pads-imx8qxp.h>. The last integer CONFIG is + the pad setting value like pull-up on this pin. Please refer to the + appropriate i.MX8 Reference Manual for detailed CONFIG settings. + $ref: /schemas/types.yaml#/definitions/uint32-matrix + + required: + - fsl,pins + + additionalProperties: false + +required: + - compatible + +additionalProperties: false + +examples: + - | + #include <dt-bindings/pinctrl/pads-imx8qxp.h> + + pinctrl { + compatible = "fsl,imx8qxp-iomuxc"; + + pinctrl_lpuart0: lpuart0grp { + fsl,pins = < + 111 0 0x06000020 + 112 0 0x06000020 + >; + }; + };