[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