[PATCH V2 4/5] dt-bindings: pinctrl: add imx7ulp pinctrl binding doc
A.S. Dong
aisheng.dong at nxp.com
Tue May 23 03:37:27 PDT 2017
> -----Original Message-----
> From: Stefan Agner [mailto:stefan at agner.ch]
> Sent: Tuesday, May 23, 2017 12:16 AM
> To: A.S. Dong
> Cc: linux-gpio at vger.kernel.org; linux-arm-kernel at lists.infradead.org;
> linus.walleij at linaro.org; shawnguo at kernel.org; Jacky Bai; Andy Duan;
> kernel at pengutronix.de; Rob Herring; Mark Rutland;
> devicetree at vger.kernel.org
> Subject: Re: [PATCH V2 4/5] dt-bindings: pinctrl: add imx7ulp pinctrl
> binding doc
>
> On 2017-05-19 00:05, Dong Aisheng wrote:
> > i.MX 7ULP has three IOMUXC instances: IOMUXC0 for M4 ports,
> > IOMUXC1 for A7 ports and IOMUXC DDR for DDR interface.
> >
> > This patch adds the IOMUXC1 support for A7.
> >
> > Cc: Rob Herring <robh+dt at kernel.org>
> > Cc: Mark Rutland <mark.rutland at arm.com>
> > Cc: devicetree at vger.kernel.org
> > Cc: Linus Walleij <linus.walleij at linaro.org>
> > Cc: Shawn Guo <shawnguo at kernel.org>
> > Signed-off-by: Dong Aisheng <aisheng.dong at nxp.com>
> >
> > ---
> > ChangeLog:
> > v1->v2:
> > * add more descriptions in binding doc
> > * add missed prefix for private properties.
> > * move dt-bindings/pinctrl/imx7ulp-pinfunc.h to arch/arm/boot/dts
> > ---
> > .../bindings/pinctrl/fsl,imx7ulp-pinctrl.txt | 63 +++
> > arch/arm/boot/dts/imx7ulp-pinfunc.h | 468
> +++++++++++++++++++++
> > 2 files changed, 531 insertions(+)
> > create mode 100644
> > Documentation/devicetree/bindings/pinctrl/fsl,imx7ulp-pinctrl.txt
> > create mode 100644 arch/arm/boot/dts/imx7ulp-pinfunc.h
> >
> > diff --git
> > a/Documentation/devicetree/bindings/pinctrl/fsl,imx7ulp-pinctrl.txt
> > b/Documentation/devicetree/bindings/pinctrl/fsl,imx7ulp-pinctrl.txt
> > new file mode 100644
> > index 0000000..7fbf367
> > --- /dev/null
> > +++ b/Documentation/devicetree/bindings/pinctrl/fsl,imx7ulp-pinctrl.tx
> > +++ t
> > @@ -0,0 +1,63 @@
> > +* Freescale i.MX7ULP IOMUX Controller
> > +
> > +i.MX 7ULP has three IOMUXC instances: IOMUXC0 for M4 ports, IOMUXC1
> > +for A7 ports and IOMUXC DDR for DDR interface.
> > +
> > +Note:
> > +This binding doc is only for the IOMUXC1 support in A7 Domain and it
> > +only supports generic pin config.
> > +
> > +Please also refer to fsl,imx-pinctrl.txt in this directory for IMX
> > +common binding part and pinctrl-bindings.txt for the generic config
> binding.
> > +
> > +=== Pin Controller Node ===
> > +
> > +Required properties:
> > +- compatible: "fsl,imx7ulp-iomuxc1"
> > +- reg: Should contain the base physical address and size of the
> iomuxc
> > + registers.
> > +
> > +=== Pin Configuration Node ===
> > +- pins: One integers array, represents a group of pins mux setting.
> > + The format is fsl,pins = <PIN_FUNC_ID>, PIN_FUNC_ID is a pin working
> on
> > + a specific function.
> > +
> > + NOTE: i.MX7ULP PIN_FUNC_ID consists of 4 integers as it shares one
> mux
> > + and config register as follows:
> > + <mux_conf_reg input_reg mux_mode input_val>
> > +
> > + Refer to imx7ulp-pinfunc.h in in device tree source folder for all
> > + available imx7ulp PIN_FUNC_ID.
> > +
> > +Optional Properties:
> > +- nxp,output-buffer-enable: Bool. Output buffer enabled
> > +- nxp,input-buffer-enable: Bool. Input buffer enabled
> > +- drive-strength Integer. Controls Drive Strength
> > + 0: Standard
> > + 1: Hi Driver
> > +- drive-push-pull Bool. Enable Pin Push-pull
> > +- drive-open-drain Bool. Enable Pin Open-drian
> > +- slew-rate: Integer. Controls Slew Rate
> > + 0: Standard
> > + 1: Slow
> > +- bias-disable: Bool. Pull disabled
> > +- bias-pull-down: Bool. Pull down on pin
> > +- bias-pull-up: Bool. Pull up on pin
> > +
> > +Examples:
> > +#include "imx7ulp-pinfunc.h"
> > +
> > +/* Pin Controller Node */
> > +iomuxc1: iomuxc at 40ac0000 {
> > + compatible = "fsl,imx7ulp-iomuxc1";
> > + reg = <0x40ac0000 0x1000>;
> > +
> > + /* Pin Configuration Node */
> > + pinctrl_lpuart4: lpuart4grp {
> > + pins = <
> > + ULP1_PAD_PTC3__LPUART4_RX
> > + ULP1_PAD_PTC2__LPUART4_TX
> > + >;
> > + bias-pull-up;
> > + };
> > +};
> > diff --git a/arch/arm/boot/dts/imx7ulp-pinfunc.h
> > b/arch/arm/boot/dts/imx7ulp-pinfunc.h
> > new file mode 100644
> > index 0000000..cafd3ed
> > --- /dev/null
> > +++ b/arch/arm/boot/dts/imx7ulp-pinfunc.h
> > @@ -0,0 +1,468 @@
> > +/*
> > + * Copyright 2016 Freescale Semiconductor, Inc.
> > + * Copyright 2017 NXP
> > + *
> > + * This program is free software; you can redistribute it and/or
> > +modify
> > + * it under the terms of the GNU General Public License version 2 as
> > + * published by the Free Software Foundation.
> > + *
> > + */
> > +
> > +#ifndef __DTS_IMX7ULP_PINFUNC_H
> > +#define __DTS_IMX7ULP_PINFUNC_H
> > +
> > +/*
> > + * The pin function ID is a tuple of
> > + * <mux_conf_reg input_reg mux_mode input_val> */
> > +
> > +#define ULP1_PAD_PTC0__PTC0
> > 0x0000 0x0000 0x1 0x0
>
>
> For consistency with other SoCs, can we add MX7 to the define? E.g.
> MX7ULP1?
>
ULP1 is another SoC name of IMX7ULP.
And there will be ULP0, ULPx in the future..
It looks like not big issue, so I did not change it.
Regards
Dong Aisheng
More information about the linux-arm-kernel
mailing list