ARM: dts: Add omap specific pinctrl defines to use padconf addresses
authorTony Lindgren <tony@atomide.com>
Tue, 7 Jan 2014 22:01:38 +0000 (14:01 -0800)
committerTony Lindgren <tony@atomide.com>
Tue, 7 Jan 2014 22:01:38 +0000 (14:01 -0800)
commit43a348ea53eb5fd791c41612ab5db973dad3001f
treef72b62e93f972cc0542d46661e58c58b4a5fa0e5
parent0f0cfc69547ea3e26f53e50eae2f25fe6ea1a77d
ARM: dts: Add omap specific pinctrl defines to use padconf addresses

As we have one to three pinctrl-single instances for each SoC it is
a bit confusing to configure the padconf register offset from the
base of the padconf register base.

Let's add macros that allow using the physical address of the
padconf register directly, or in most cases, just the last 16-bits
of the address as they are shown in the documentation.

Note that most documentation shows two padconf registers for each
32-bit address, so adding 2 to the documentation address is needed for
the second padconf register as we treat them as 16-bit registers
for omap3+.

For example, omap36xx documentation shows sdmmc2_clk at 0x48002158,
so we can just use the last 16-bits of that value:

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

And we don't need to separately calculate the offset from the 0x2030
base:

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

Naturally both ways of defining the registers can be used, and I'm
not saying we should replace all the existing defines. But it may
be handy to use these macros for new entries and when doing other
related .dts file clean-up.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
[tony@atomide.com: updated for 3430 vs 3630 core2 range]
Signed-off-by: Tony Lindgren <tony@atomide.com>
include/dt-bindings/pinctrl/omap.h