[PATCH 1/2] arm/mx5: parse iomuxc pad configuratoin from device tree

Shawn Guo shawn.guo at freescale.com
Tue Jul 26 12:39:48 EDT 2011


On Tue, Jul 26, 2011 at 08:31:44AM +0200, Sascha Hauer wrote:
> On Mon, Jul 25, 2011 at 11:07:46PM +0800, Shawn Guo wrote:
> > It adds function mxc_iomuxc_dt_init() to parse iomuxc pad configuration
> > from device tree.
> > 
> > Signed-off-by: Shawn Guo <shawn.guo at linaro.org>
> > Cc: Grant Likely <grant.likely at secretlab.ca>
> > Cc: Sascha Hauer <s.hauer at pengutronix.de>
> > ---
> >  .../devicetree/bindings/arm/fsl/iomuxc.txt         |   47 +++++++++++++
> >  arch/arm/mach-mx5/Makefile                         |    2 +
> >  arch/arm/mach-mx5/iomuxc-dt.c                      |   72 ++++++++++++++++++++
> >  arch/arm/plat-mxc/include/mach/common.h            |    3 +
> >  4 files changed, 124 insertions(+), 0 deletions(-)
> >  create mode 100644 Documentation/devicetree/bindings/arm/fsl/iomuxc.txt
> >  create mode 100644 arch/arm/mach-mx5/iomuxc-dt.c
> > 
> > diff --git a/Documentation/devicetree/bindings/arm/fsl/iomuxc.txt b/Documentation/devicetree/bindings/arm/fsl/iomuxc.txt
> > new file mode 100644
> > index 0000000..ae9292b
> > --- /dev/null
> > +++ b/Documentation/devicetree/bindings/arm/fsl/iomuxc.txt
> > @@ -0,0 +1,47 @@
> > +* Freescale i.MX IOMUX Controller (IOMUXC)
> > +
> > +Required properties:
> > +- compatible : "fsl,<soc>-iomuxc";
> > +
> > +Sub-nodes present individual PAD configuration, and node name is the
> > +PAD name given by hardware document.
> > +
> > +Required properties:
> > +- reg : Should contain the offset of registers
> > +  IOMUXC_SW_MUX_CTL_PAD_<pad-name> and IOMUXC_SW_PAD_CTL_PAD_<pad-name>.
> > +- fsl,iomuxc-mux-mode : Should specify the MUX_MODE setting of register
> > +  IOMUXC_SW_MUX_CTL_PAD_<pad-name>.
> > +
> > +Optional properties:
> > +- fsl,iomuxc-sion : Indicates that bit SION of register
> > +  IOMUXC_SW_MUX_CTL_PAD_<pad-name> needs to be set for given MUX_MODE
> > +  setting of the PAD.
> > +- fsl,iomuxc-select-input : Specify the offset of register
> > +  IOMUXC_<...>_SELECT_INPUT and the value of bit-field DAISY for given
> > +  MUX_MODE setting of the PAD.
> > +
> > +Examples:
> > +
> > +iomuxc at 53fa8000 {
> > +	#address-cells = <2>;
> > +	#size-cells = <0>;
> > +	compatible = "fsl,imx53-iomuxc";
> > +	reg = <0x53fa8000 0x4000>;
> > +
> > +	/*
> > +	 * I2C2
> > +	 */
> > +	key-col3 { /* I2C2_SCL */
> > +		reg = <0x3c 0x364>;
> > +		fsl,iomuxc-mux-mode = <4>;
> > +		fsl,iomuxc-sion;
> > +		fsl,iomuxc-select-input = <0x81c 0x0>;
> > +	};
> > +
> > +	key-row3 { /* I2C2_SDA */
> > +		reg = <0x40 0x368>;
> > +		fsl,iomuxc-mux-mode = <4>;
> > +		fsl,iomuxc-sion;
> > +		fsl,iomuxc-select-input = <0x820 0x0>;
> > +	};
> > +};
> 
> If we want to move the iomux setting to the device tree, wouldn't it be
> necessary to find some format which can be shared across different
> platforms? At least all i.MXs should be covered.
> 
Right now, I really just focus on iomux-v3.  After people buy in this
approach, we can start see how iomux-v1 will fit in.  It's not so
urgent before we actually start converting those old i.mx platforms
(iomux-v1 users) to device tree.

-- 
Regards,
Shawn




More information about the linux-arm-kernel mailing list