devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Tony Lindgren <tony@atomide.com>
To: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Cc: linux-omap@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
	devicetree@vger.kernel.org,
	Linus Walleij <linus.walleij@linaro.org>,
	sakari.ailus@iki.fi
Subject: Re: [PATCH/RFC] ARM: omap3: Split the pinmux core device
Date: Wed, 4 Dec 2013 10:24:37 -0800	[thread overview]
Message-ID: <20131204182437.GU26766@atomide.com> (raw)
In-Reply-To: <2098999.THrpfnVM6o@avalon>

* Laurent Pinchart <laurent.pinchart@ideasonboard.com> [131204 09:59]:
> Hi Tony,
> 
> On Wednesday 04 December 2013 09:28:53 Tony Lindgren wrote:
> > * Laurent Pinchart <laurent.pinchart@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@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.

OK. I wonder if we should add something like this to make it easier to
use the padconf values from the TRM:

#define OMAP_IOPAD_OFFSET(pa, offset)	((pa) & 0xffff) - (offset))

#define OMAP2_CORE_IOPAD(pa, val)	(OMAP_IOPAD_OFFSET((pa), 0x0030) (val))
#define OMAP3_CORE1_IOPAD(pa, val)	OMAP2_CORE_IOPAD((pa), (val))
#define OMAP3_CORE2_IOPAD(pa, val)	(OMAP_IOPAD_OFFSET((pa), 0x05a0) (val))
#define OMAP4_CORE_IOPAD(pa, val)	(OMAP_IOPAD_OFFSET((pa), 0x0040) (val))
#define OMAP4_WKUP_IOPAD(pa, val)	(OMAP_IOPAD_OFFSET((pa), 0xe040) (val))
#define OMAP5_CORE_IOPAD(pa, val)	(OMAP_IOPAD_OFFSET((pa), 0x0840) (val))
#define OMAP5_WKUP_IOPAD(pa, val)	(OMAP_IOPAD_OFFSET((pa), 0xc850) (val))
...

Then we would have entries like:

	pinctrl-single,pins = <
		OMAP3_CORE1_IOPAD(0x158, PIN_INPUT_PULLUP | MUX_MODE0)
		...
	>;

instead of:

	pinctrl-single,pins = <
		0x128 (PIN_INPUT_PULLUP | MUX_MODE0)
		...
	>;

Regards,

Tony

  reply	other threads:[~2013-12-04 18:24 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-12-04 17:11 [PATCH/RFC] ARM: omap3: Split the pinmux core device Laurent Pinchart
     [not found] ` <1386177110-26424-1-git-send-email-laurent.pinchart-ryLnwIuWjnjg/C1BVhZhaw@public.gmane.org>
2013-12-04 17:28   ` Tony Lindgren
2013-12-04 17:58     ` Laurent Pinchart
2013-12-04 18:24       ` Tony Lindgren [this message]
2013-12-04 18:44         ` Laurent Pinchart
2013-12-04 18:53           ` Tony Lindgren
2013-12-04 21:49             ` Tony Lindgren
2013-12-19 17:17 ` Sebastian Reichel
2013-12-19 18:30   ` Tony Lindgren
2013-12-20 23:05     ` Laurent Pinchart

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20131204182437.GU26766@atomide.com \
    --to=tony@atomide.com \
    --cc=devicetree@vger.kernel.org \
    --cc=laurent.pinchart@ideasonboard.com \
    --cc=linus.walleij@linaro.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-omap@vger.kernel.org \
    --cc=sakari.ailus@iki.fi \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).