[PATCH/RFC] ARM: omap3: Split the pinmux core device

Laurent Pinchart laurent.pinchart at ideasonboard.com
Wed Dec 4 12:58:39 EST 2013


Hi Tony,

On Wednesday 04 December 2013 09:28:53 Tony Lindgren wrote:
> * Laurent Pinchart <laurent.pinchart at ideasonboard.com> [131204 09:12]:
> > The omap3_pmx_core pinmux device in the device tree handles the system
> > controller module (SCM) PADCONFS fonction. Its control registers are
> > split in two distinct areas, with other SCM registers in-between. Those
> > other registers can't thus be requested by other drivers as the memory
> > region gets reserved by the pinmux driver.
> > 
> > Split the omap3_pmx_core device tree node in two for the two memory
> > regions.
> > 
> > Signed-off-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>
> > ---
> > 
> >  arch/arm/boot/dts/omap3-beagle-xm.dts | 45 ++++++++++++++++++++++++------
> >  arch/arm/boot/dts/omap3-beagle.dts    | 28 +++++++++++++++-------
> >  arch/arm/boot/dts/omap3-igep0020.dts  | 26 ++++++++++----------
> >  arch/arm/boot/dts/omap3-zoom3.dts     | 19 ++++++++++-----
> >  arch/arm/boot/dts/omap3.dtsi          | 13 +++++++++-
> >  5 files changed, 95 insertions(+), 36 deletions(-)
> > 
> > While working on the OMAP3 ISP driver I've run into a failure to request a
> > memory region already requested by the pinctrl-single driver. This patch
> > is an attempt to fix the problem. An alternative approach would be to
> > support multiple reg values in the pinctrl-single driver, but that might
> > not be much cleaner. I'm open to suggestions.
> 
> Makes sense to me to split it into two, we can save some memory that way
> too.
> 
> It should not cause problems with the wake-up interrupts either as we're
> already using a single chained wake-up interrupt between core and wkup
> pins.
> 
> Do you have some perl or sed script to look for and convert the core2
> registers? Or do we just not have that many of them defined yet?

This patch should cover all the ones we have in mainline. As this is an RFC 
I've performed the conversion manually.

> > diff --git a/arch/arm/boot/dts/omap3-beagle-xm.dts
> > b/arch/arm/boot/dts/omap3-beagle-xm.dts index 8d7c813..7028e6a 100644
> > --- a/arch/arm/boot/dts/omap3-beagle-xm.dts
> > +++ b/arch/arm/boot/dts/omap3-beagle-xm.dts

[snip]

> > @@ -152,6 +164,23 @@
> > 
> >  &i2c2 {
> >  	clock-frequency = <400000>;
> > +
> > +	switch at 73 {
> > +		compatible = "nxp,pca9543";
> > +		reg = <0x73>;
> > +		#address-cells = <1>;
> > +		#size-cells = <0>;
> > +		i2c at 0 {
> > +			reg = <0>;
> > +			#address-cells = <1>;
> > +			#size-cells = <0>;
> > +		};
> > +		i2c at 1 {
> > +			reg = <1>;
> > +			#address-cells = <1>;
> > +			#size-cells = <0>;
> > +		};
> > +	};
> >  };
> >  
> >  &i2c3 {

This should obviously not have been included. I'll submit a v2.

-- 
Regards,

Laurent Pinchart




More information about the linux-arm-kernel mailing list