* Philip Balister <philip@xxxxxxxxxxxx> [100108 07:35]: > I am trying to work out how to use the new pinmux code on my > Overo+Summit system. I have a recent git running with the new pinmux > code built. I am trying to configure the mcspi1_clk pin on the > expansion connector as gpio_171 with the following: > > root@overo:~# dmesg |grep mux > > Kernel command line: console=ttyS2,115200n8 vram=12M > omapfb.mode=dvi:1024x768MR-16@60 omapfb.debug=y > omapdss.def_display=dvi root=/dev/mmcblk0p2 rw rootfstype=ext3 > rootwait omap_mux=mcspi1_clk.gpio_171=0x0 > > And this is what happens :( > > mux: Could not set signal mcspi1_clk > > mux: Setting signal i2c3_scl.i2c3_scl 0x0118 -> 0x0100 > > Any suggestions? Sounds like the cmdline options got broken by some changes I did to limit everything to happen as __init.. Can you please try the following patch? Regards, Tony
>From 3b7bbb130c01ec7a2d4337d43bbfbc4e1fe1615b Mon Sep 17 00:00:00 2001 From: Tony Lindgren <tony@xxxxxxxxxxx> Date: Fri, 8 Jan 2010 09:45:11 -0800 Subject: [PATCH] omap: Fix cmdline muxing Looks like cmdline muxing got broken at some point when we decided to limit muxing to __init code. Currently omap_mux_entry list is not yet initialized when we try to initialize cmdline muxing. Fix this by calling omap_mux_init_list() before calling omap_mux_set_cmdline_signals(). Reported-by: Philip Balister <philip@xxxxxxxxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> diff --git a/arch/arm/mach-omap2/mux.c b/arch/arm/mach-omap2/mux.c index 459ef23..40ea9fd 100644 --- a/arch/arm/mach-omap2/mux.c +++ b/arch/arm/mach-omap2/mux.c @@ -998,12 +998,15 @@ int __init omap_mux_init(u32 mux_pbase, u32 mux_size, omap_mux_package_fixup(package_subset, superset); if (package_balls) omap_mux_package_init_balls(package_balls, superset); - omap_mux_set_cmdline_signals(); - omap_mux_set_board_signals(board_mux); #endif omap_mux_init_list(superset); +#ifdef CONFIG_OMAP_MUX + omap_mux_set_cmdline_signals(); + omap_mux_set_board_signals(board_mux); +#endif + return 0; }