[PATCH 4/7] pinctrl: imx27: imx27 pincontrol driver

Markus Pargmann mpa at pengutronix.de
Fri Aug 9 09:46:11 EDT 2013


On Mon, Aug 05, 2013 at 02:12:06PM +0800, Shawn Guo wrote:
> On Fri, Aug 02, 2013 at 12:38:24PM +0200, Markus Pargmann wrote:
> > Signed-off-by: Markus Pargmann <mpa at pengutronix.de>
> > ---
> >  .../bindings/pinctrl/fsl,imx27-pinctrl.txt         |  53 +++
> >  drivers/pinctrl/Kconfig                            |   8 +
> >  drivers/pinctrl/Makefile                           |   1 +
> >  drivers/pinctrl/pinctrl-imx27.c                    | 477 +++++++++++++++++++++
> >  4 files changed, 539 insertions(+)
> >  create mode 100644 Documentation/devicetree/bindings/pinctrl/fsl,imx27-pinctrl.txt
> >  create mode 100644 drivers/pinctrl/pinctrl-imx27.c
> > 
> > diff --git a/Documentation/devicetree/bindings/pinctrl/fsl,imx27-pinctrl.txt b/Documentation/devicetree/bindings/pinctrl/fsl,imx27-pinctrl.txt
> > new file mode 100644
> > index 0000000..3352d94
> > --- /dev/null
> > +++ b/Documentation/devicetree/bindings/pinctrl/fsl,imx27-pinctrl.txt
> > @@ -0,0 +1,53 @@
> > +* Freescale IMX27 IOMUX Controller
> > +
> > +Please refer to fsl,imx-pinctrl.txt in this directory for common binding part
> > +and usage.
> > +
> > +The iomuxc driver node can have pin configuration and gpio subnodes. gpio
> > +nodes defined as childs will share the registers with the iomuxc driver.
> > +Please have a look into
> > +Documentation/devicetree/bindings/gpio/fsl-imx-gpio.txt for information about
> > +the gpio properties.
> > +
> > +Required properties:
> > +- compatible: "fsl,imx27-iomuxc"
> > +
> > +Required properties for pin configuration node:
> > +- fsl,pins: three integers array, represents a group of pins mux and config
> > +  setting. The format is fsl,pins = <PIN MUX_ID CONFIG>. PIN and MUX_ID are
> 
> Neither here nor imx27-pinfunc.h is PIN documented clearly.  Also,
> imx27-pinfunc.h names MUX_CONFIG for what we name MUX_ID here.

I added PIN documentation in imx27-pinfunc.h and the bindings
docs. Fixed MUX_ID/MUX_CONFIG.

Thanks,

Markus

> 
> Shawn
> 
> > +  defined as macros in arch/arm/boot/dts/imx27-pinfunc.h. CONFIG can be 0 or
> > +  1, meaning Pullup disable/enable.
> > +
> > +Example:
> > +
> > +iomuxc: iomuxc at 10015000 {
> > +	compatible = "fsl,imx27-iomuxc";
> > +	#address-cells = <1>;
> > +	#size-cells = <0>;
> > +	reg = <0x10015000 0x600>;
> > +
> > +	gpio1: gpio at 10015000 {
> > +		compatible = "fsl,imx27-gpio", "fsl,imx21-gpio";
> > +		reg = <0x10015000>;
> > +		interrupts = <8>;
> > +		gpio-controller;
> > +		#gpio-cells = <2>;
> > +		interrupt-controller;
> > +		#interrupt-cells = <2>;
> > +	};
> > +
> > +	...
> > +
> > +	uart {
> > +		pinctrl_uart1: uart-1 {
> > +			fsl,pins = <
> > +				MX27_PAD_UART1_TXD__UART1_TXD 0x0
> > +				MX27_PAD_UART1_RXD__UART1_RXD 0x0
> > +				MX27_PAD_UART1_CTS__UART1_CTS 0x0
> > +				MX27_PAD_UART1_RTS__UART1_RTS 0x0
> > +			>;
> > +		};
> > +
> > +		...
> > +	};
> > +};
> 
> 

-- 
Pengutronix e.K.                           |                             |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |



More information about the linux-arm-kernel mailing list