[PATCH 0/9] Omap mux changes for v2.6.33 merge window, v2
Tony Lindgren
tony at atomide.com
Wed Dec 2 19:21:08 EST 2009
Hi all,
I've updated this series to only map GPIO pins to mux registers
if CONFIG_OMAP_MUX is not set. Those are needed for dynamic muxing
for off-idle.
I've also added omap36xx support, which I have not been able to
test. People with 36xx boards, please give it a try.
Also fixed several checkpatch.pl warnings.
Again big thanks for Benoit Cousson <b-cousson at ti.com> and
Paul Walmsley <paul at pwsan.com> for help in getting the mux
data generated!
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 (8):
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
omap: mux: Add 36xx CBP package support
Documentation/kernel-parameters.txt | 5
arch/arm/mach-omap1/Makefile | 3
arch/arm/mach-omap1/i2c.c | 33
arch/arm/mach-omap2/Kconfig | 24
arch/arm/mach-omap2/Makefile | 6
arch/arm/mach-omap2/board-3430sdp.c | 15
arch/arm/mach-omap2/board-3630sdp.c | 14
arch/arm/mach-omap2/board-am3517evm.c | 11
arch/arm/mach-omap2/board-cm-t35.c | 14
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 | 10
arch/arm/mach-omap2/board-zoom3.c | 10
arch/arm/mach-omap2/devices.c | 62 +
arch/arm/mach-omap2/i2c.c | 56 +
arch/arm/mach-omap2/io.c | 1
arch/arm/mach-omap2/mux.c | 1061 +++++++++----
arch/arm/mach-omap2/mux.h | 163 ++
arch/arm/mach-omap2/mux34xx.c | 2099 ++++++++++++++++++++++++++
arch/arm/mach-omap2/mux34xx.h | 398 +++++
arch/arm/mach-omap2/usb-ehci.c | 166 +-
arch/arm/plat-omap/i2c.c | 44 -
arch/arm/plat-omap/include/plat/common.h | 14
arch/arm/plat-omap/include/plat/i2c.h | 39
arch/arm/plat-omap/include/plat/mux.h | 226 ---
arch/arm/plat-omap/mux.c | 8
32 files changed, 3850 insertions(+), 747 deletions(-)
create mode 100644 arch/arm/mach-omap1/i2c.c
create mode 100644 arch/arm/mach-omap2/i2c.c
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
create mode 100644 arch/arm/plat-omap/include/plat/i2c.h
--
Signature
More information about the linux-arm-kernel
mailing list