Re: [PATCH V3 1/3] dt-bindings: imx: Add pinctrl binding doc for i.MX8MP

From: Rob Herring
Date: Wed Jan 08 2020 - 08:32:23 EST


On Tue, Jan 7, 2020 at 12:01 AM Anson Huang <anson.huang@xxxxxxx> wrote:
>
> Hi, Rob
>
> > Subject: Re: [PATCH V3 1/3] dt-bindings: imx: Add pinctrl binding doc for
> > i.MX8MP
> >
> > On Mon, Jan 06, 2020 at 05:29:50PM +0800, Anson Huang wrote:
> > > Add binding doc for i.MX8MP pinctrl driver.
> > >
> > > Signed-off-by: Anson Huang <Anson.Huang@xxxxxxx>
> > > Reviewed-by: Abel Vesa <abel.vesa@xxxxxxx>
> > > ---
> > > Changes since V2:
> > > - use DT schema instead of txt for binding doc.
> > > ---
> > > .../bindings/pinctrl/fsl,imx8mp-pinctrl.yaml | 65 ++
> > > arch/arm64/boot/dts/freescale/imx8mp-pinfunc.h | 931
> > +++++++++++++++++++++
> > > 2 files changed, 996 insertions(+)
> > > create mode 100644
> > > Documentation/devicetree/bindings/pinctrl/fsl,imx8mp-pinctrl.yaml
> > > create mode 100644 arch/arm64/boot/dts/freescale/imx8mp-pinfunc.h
> > >
> > > diff --git
> > > a/Documentation/devicetree/bindings/pinctrl/fsl,imx8mp-pinctrl.yaml
> > > b/Documentation/devicetree/bindings/pinctrl/fsl,imx8mp-pinctrl.yaml
> > > new file mode 100644
> > > index 0000000..cdb6c21
> > > --- /dev/null
> > > +++ b/Documentation/devicetree/bindings/pinctrl/fsl,imx8mp-pinctrl.yam
> > > +++ l
> > > @@ -0,0 +1,65 @@
> > > +# SPDX-License-Identifier: GPL-2.0-or-later %YAML 1.2
> > > +---
> > > +$id:
> > > +https://eur01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fdevi
> > > +cetree.org%2Fschemas%2Fpinctrl%2Ffsl%2Cimx8mp-
> > pinctrl.yaml%23&amp;dat
> > >
> > +a=02%7C01%7Canson.huang%40nxp.com%7Cfacd4426e6e54bc5416b08d79
> > 2f59319%
> > >
> > +7C686ea1d3bc2b4c6fa92cd99c5c301635%7C0%7C0%7C63713945576195750
> > 5&amp;s
> > >
> > +data=0O3w1U6vs9xVq6B%2BhyT4Nz5HdKuk6XDymPUg7wQy0lM%3D&amp;
> > reserved=0
> > > +$schema:
> > > +https://eur01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fdevi
> > > +cetree.org%2Fmeta-
> > schemas%2Fcore.yaml%23&amp;data=02%7C01%7Canson.hua
> > >
> > +ng%40nxp.com%7Cfacd4426e6e54bc5416b08d792f59319%7C686ea1d3bc2b
> > 4c6fa92
> > >
> > +cd99c5c301635%7C0%7C0%7C637139455761957505&amp;sdata=XUN%2BG
> > zMOqpVNRj
> > > +UM1CO6CXPOMT72DtdefLs%2Bs%2BGPaGI%3D&amp;reserved=0
> > > +
> > > +title: Freescale IMX8MP IOMUX Controller
> > > +
> > > +maintainers:
> > > + - Anson Huang <Anson.Huang@xxxxxxx>
> > > +
> > > +description:
> > > + Please refer to fsl,imx-pinctrl.txt and pinctrl-bindings.txt in
> > > +this directory
> > > + for common binding part and usage.
> > > +
> > > +properties:
> > > + compatible:
> > > + const: fsl,imx8mp-iomuxc
> > > +
> > > +# Client device subnode's properties
> > > +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:
> > > + $ref: /schemas/types.yaml#/definitions/string
> >
> > string or...
> >
> > > + description:
> > > + each entry consists of 6 integers and represents the mux
> > > + and config
> >
> > integers?
>
> I think it should be uint32-array
>
> >
> > > + setting for one pin. The first 5 integers <mux_reg conf_reg input_reg
> > > + mux_val input_val> are specified using a PIN_FUNC_ID macro, which
> > can
> > > + be found in <arch/arm64/boot/dts/freescale/imx8mp-pinfunc.h>.
> > The last
> > > + integer CONFIG is the pad setting value like pull-up on this pin.
> > Please
> > > + refer to i.MX8M Plus Reference Manual for detailed CONFIG settings.
> > > +
> > > + required:
> > > + - fsl,pins
> > > +
> > > + additionalProperties: false
> > > +
> > > +required:
> > > + - compatible
> > > + - reg
> > > +
> > > +additionalProperties: false
> > > +
> > > +examples:
> > > + # Pinmux controller node
> > > + - |
> > > + iomuxc: pinctrl@30330000 {
> > > + compatible = "fsl,imx8mp-iomuxc";
> > > + reg = <0x30330000 0x10000>;
> > > +
> > > + pinctrl_uart2: uart2grp {
> > > + fsl,pins = <
> > > + MX8MP_IOMUXC_UART2_RXD__UART2_DCE_RX 0x49
> > > + MX8MP_IOMUXC_UART2_TXD__UART2_DCE_TX 0x49
> >
> > Run 'make dt_binding_check'. Doesn't build:
> >
> > Error: Documentation/devicetree/bindings/pinctrl/fsl,imx8mp-
> > pinctrl.example.dts:23.21-22 syntax error FATAL ERROR: Unable to parse
> > input tree
>
> I fix it by NOT using Macro Definition as below, but still have some build error which looks like
> my environment issue, please help review V4, thanks.
>
> fsl,pins = <
> 0x228 0x488 0x5F0 0x0 0x6 0x49
> 0x228 0x488 0x000 0x0 0x0 0x49
> >;
>
>
> CHKDT Documentation/devicetree/bindings/pinctrl/fsl,imx8mp-pinctrl.yaml
> SCHEMA Documentation/devicetree/bindings/processed-schema.yaml
> DTC Documentation/devicetree/bindings/pinctrl/fsl,imx8mp-pinctrl.example.dt.yaml
> FATAL ERROR: Unknown output format "yaml"

You need dtc built with yaml enabled. Make sure you have libyaml,
libyaml-dev and pkg-config.

Rob