[PATCH] omap: Fix cmdline muxing (Re: New pinmux)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



* 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;
 }
 

[Index of Archives]     [Linux Arm (vger)]     [ARM Kernel]     [ARM MSM]     [Linux Tegra]     [Linux WPAN Networking]     [Linux Wireless Networking]     [Maemo Users]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux