[PATCH 0/8] Series short description

Tony Lindgren
2009-11-26T00:18:32Z

Hi all,

Here are some omap mux updates for review. These
are intended for the v2.6.33 merge window.

Initially this series changes the omap34xx mux
code, I'm planning on adding 3630, 2420, and 2430
code later on.

There are several reasons why we need better mux
code:

- We want to make the mux code more generic and this
will allow us to use the internal signal names and
gpio numbers instead of mux register offsets. The
internal signal names stay the same across omap
generations for some devices.

- We need to map mux registers to GPIO registers for
dynamic muxing of the GPIO pins during off-idle.

- We want to be able to override the bootloader mux
values for the modded boards, such as the Beagle.

- We want to have the mux signals and balls available
under debugfs for debugging new drivers.

Some of these might eventually work for other archs
too, so let me know if you have any comments on that.

Regards,

Tony

Here are some instructions on how to use:

To see what got muxed during init, edit the kernel
CMDLINE to have debug in it:

# dmesg | grep mux
mux: Setting signal i2c2_scl.i2c2_scl 0x0100 -> 0x0100
mux: Setting signal i2c2_sda.i2c2_sda 0x0100 -> 0x0100
mux: Setting signal i2c3_scl.i2c3_scl 0x0100 -> 0x0100
mux: Setting signal i2c3_sda.i2c3_sda 0x0100 -> 0x0100
mux: Setting signal gpmc_ncs3.gpio54 0x410c -> 0x010c
...

Looks like the gpmc_ncs3.gpio54 muxing in the kernel
has a bug where we should have OMAP_WAKEUP_EN set for
board_smc91x_init for board-rx51? :)

To override bootloader mux settings, edit the kernel CMDLINE:

omap_mux=i2c2_scl.i2c2_scl=0x100,i2c2_sda.i2c2_sda=0x100

Note that this only changes the bootloader settings, not
what might be muxed from the board-*.c files.

With CONFIG_DEBUG_FS set:

# mount -t sysfs sys /sys
# mount -t debugfs debug /sys/kernel/debug

# ls /sys/kernel/debug/omap_mux/i2c
i2c2_scl i2c2_sda i2c3_scl i2c3_sda i2c4_scl i2c4_sda

# cat /sys/kernel/debug/omap_mux/i2c2_scl
name: i2c2_scl.i2c2_scl (0x480021be/0x18e = 0x0100), b af15, t NA
mode: OMAP_PIN_INPUT | OMAP_MUX_MODE0
signals: i2c2_scl | NA | NA | NA | gpio_168 | NA | NA | safe_mode

---

Mike Rapoport (1):
omap2: mux: intoduce omap_mux_{read,write}

Tony Lindgren (7):
omap: mux: Add new style pin multiplexing code for omap3
omap: mux: Add new style pin multiplexing data for 34xx
omap: mux: Add new style init functions to omap3 board-*.c files
omap: mux: Add debugfs support for new mux code
omap: Split i2c platform init for mach-omap1 and mach-omap2
omap: mux: Replace omap_cfg_reg() with new style signal or gpio functions
omap: mux: Remove old mux code for 34xx

arch/arm/mach-omap2/Makefile | 4
arch/arm/mach-omap2/board-3430sdp.c | 13
arch/arm/mach-omap2/board-3630sdp.c | 3
arch/arm/mach-omap2/board-am3517evm.c | 11
arch/arm/mach-omap2/board-cm-t35.c | 13
arch/arm/mach-omap2/board-igep0020.c | 11
arch/arm/mach-omap2/board-ldp.c | 10
arch/arm/mach-omap2/board-omap3beagle.c | 21
arch/arm/mach-omap2/board-omap3evm.c | 21
arch/arm/mach-omap2/board-omap3pandora.c | 15
arch/arm/mach-omap2/board-overo.c | 14
arch/arm/mach-omap2/board-rx51-peripherals.c | 7
arch/arm/mach-omap2/board-rx51.c | 16
arch/arm/mach-omap2/board-zoom2.c | 11
arch/arm/mach-omap2/devices.c | 62 +
arch/arm/mach-omap2/mux.c | 961 ++++++++++------
arch/arm/mach-omap2/mux.h | 150 +++
arch/arm/mach-omap2/mux34xx.c | 1558 ++++++++++++++++++++++++++
arch/arm/mach-omap2/mux34xx.h | 351 ++++++
arch/arm/mach-omap2/usb-ehci.c | 122 +-
arch/arm/plat-omap/i2c.c | 24
arch/arm/plat-omap/include/plat/common.h | 1
arch/arm/plat-omap/include/plat/mux.h | 222 ----
arch/arm/plat-omap/mux.c | 8
24 files changed, 2932 insertions(+), 697 deletions(-)
create mode 100644 arch/arm/mach-omap2/mux.h
create mode 100644 arch/arm/mach-omap2/mux34xx.c
create mode 100644 arch/arm/mach-omap2/mux34xx.h

--
Signature