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@xxxxxx> and Paul Walmsley <paul@xxxxxxxxx> 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 -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html