Re: [PATCH 1/2] ARM: dts: omap4-panda-common: Fix pin muxing for wl12xx

2013-11-27 Thread Balaji T K

On Thursday 21 November 2013 10:57 PM, Dan Murphy wrote:

On 11/21/2013 10:58 AM, Tony Lindgren wrote:

* Balaji T K balaj...@ti.com [131121 05:51]:

pin mux wl12xx_gpio and wl12xx_pins should be part of omap4_pmx_core
and not omap4_pmx_wkup. So, move wl12xx_* to omap4_pmx_core.

Fix the following error message:
pinctrl-single 4a31e040.pinmux: mux offset out of range: 0x38 (0x38)
pinctrl-single 4a31e040.pinmux: could not add functions for pinmux_wl12xx_pins 
56x


Why is the led pins moved then?

Hi Dan,

I just moved 27 lines (wl12xx_pins, wl12xx_gpio) up, git diff generated smaller
diff stat by moving 10 line of code (led_wkgpio_pins) further down :-)




SDIO card is not detected after moving pin mux to omap4_pmx_core since
sdmmc5_clk pull is disabled. Enable Pull up on sdmmc5_clk to detect SDIO card.

Cool, does this fix the issue with the WLAN not coming up after a warm reset
on panda?

Regards,

Tony
--
To unsubscribe from this list: send the line unsubscribe linux-omap in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html





--
To unsubscribe from this list: send the line unsubscribe linux-omap in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH 1/2] ARM: dts: omap4-panda-common: Fix pin muxing for wl12xx

2013-11-27 Thread Balaji T K

On Wednesday 27 November 2013 03:25 AM, Tony Lindgren wrote:

* Dan Murphy dmur...@ti.com [131121 09:28]:

On 11/21/2013 10:58 AM, Tony Lindgren wrote:

* Balaji T K balaj...@ti.com [131121 05:51]:

pin mux wl12xx_gpio and wl12xx_pins should be part of omap4_pmx_core
and not omap4_pmx_wkup. So, move wl12xx_* to omap4_pmx_core.

Fix the following error message:
pinctrl-single 4a31e040.pinmux: mux offset out of range: 0x38 (0x38)
pinctrl-single 4a31e040.pinmux: could not add functions for pinmux_wl12xx_pins 
56x


Why is the led pins moved then?


Heh the patch just looks that way, looking at the curly brackets
thing do get moved properly.


SDIO card is not detected after moving pin mux to omap4_pmx_core since
sdmmc5_clk pull is disabled. Enable Pull up on sdmmc5_clk to detect SDIO card.

Cool, does this fix the issue with the WLAN not coming up after a warm reset
on panda?


Also commit f446043f1aa7 (regulator: fixed: fix regulator_list_voltage() for
regression) is needed that recently got merged. But with v3.13-rc1 +
f446043f1aa7 + this patch no luck whatsoever bringing up the wl12xx so there
must be also some regression somewhere from v3.12 on that?


Hi Tony,

I tried loading wl12xx as modules on latest base as yours with
ti-connectivity/wl127x-fw-5-sr.bin firmware in place and I could connect
and run iperf.


Regards,

Tony


--
To unsubscribe from this list: send the line unsubscribe linux-omap in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH 1/2] ARM: dts: omap4-panda-common: Fix pin muxing for wl12xx

2013-11-27 Thread Tony Lindgren
* Balaji T K balaj...@ti.com [131127 08:30]:
 On Wednesday 27 November 2013 03:25 AM, Tony Lindgren wrote:
 * Dan Murphy dmur...@ti.com [131121 09:28]:
 On 11/21/2013 10:58 AM, Tony Lindgren wrote:
 * Balaji T K balaj...@ti.com [131121 05:51]:
 pin mux wl12xx_gpio and wl12xx_pins should be part of omap4_pmx_core
 and not omap4_pmx_wkup. So, move wl12xx_* to omap4_pmx_core.
 
 Fix the following error message:
 pinctrl-single 4a31e040.pinmux: mux offset out of range: 0x38 (0x38)
 pinctrl-single 4a31e040.pinmux: could not add functions for 
 pinmux_wl12xx_pins 56x
 
 Why is the led pins moved then?
 
 Heh the patch just looks that way, looking at the curly brackets
 thing do get moved properly.
 
 SDIO card is not detected after moving pin mux to omap4_pmx_core since
 sdmmc5_clk pull is disabled. Enable Pull up on sdmmc5_clk to detect SDIO 
 card.
 Cool, does this fix the issue with the WLAN not coming up after a warm 
 reset
 on panda?
 
 Also commit f446043f1aa7 (regulator: fixed: fix regulator_list_voltage() for
 regression) is needed that recently got merged. But with v3.13-rc1 +
 f446043f1aa7 + this patch no luck whatsoever bringing up the wl12xx so there
 must be also some regression somewhere from v3.12 on that?
 
 Hi Tony,
 
 I tried loading wl12xx as modules on latest base as yours with
 ti-connectivity/wl127x-fw-5-sr.bin firmware in place and I could connect
 and run iperf.

Oh OK I must have missed something then.

Does it now work after a warm reboot too? And after bringing the interface
down with ifconfig wlan0 down followed by ifconfig wlan0 up?

Regards,

Tony
--
To unsubscribe from this list: send the line unsubscribe linux-omap in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH 1/2] ARM: dts: omap4-panda-common: Fix pin muxing for wl12xx

2013-11-27 Thread Tony Lindgren
* Tony Lindgren t...@atomide.com [131127 08:49]:
 * Balaji T K balaj...@ti.com [131127 08:30]:
  On Wednesday 27 November 2013 03:25 AM, Tony Lindgren wrote:
  * Dan Murphy dmur...@ti.com [131121 09:28]:
  On 11/21/2013 10:58 AM, Tony Lindgren wrote:
  * Balaji T K balaj...@ti.com [131121 05:51]:
  pin mux wl12xx_gpio and wl12xx_pins should be part of omap4_pmx_core
  and not omap4_pmx_wkup. So, move wl12xx_* to omap4_pmx_core.
  
  Fix the following error message:
  pinctrl-single 4a31e040.pinmux: mux offset out of range: 0x38 (0x38)
  pinctrl-single 4a31e040.pinmux: could not add functions for 
  pinmux_wl12xx_pins 56x
  
  Why is the led pins moved then?
  
  Heh the patch just looks that way, looking at the curly brackets
  thing do get moved properly.
  
  SDIO card is not detected after moving pin mux to omap4_pmx_core since
  sdmmc5_clk pull is disabled. Enable Pull up on sdmmc5_clk to detect 
  SDIO card.
  Cool, does this fix the issue with the WLAN not coming up after a warm 
  reset
  on panda?
  
  Also commit f446043f1aa7 (regulator: fixed: fix regulator_list_voltage() 
  for
  regression) is needed that recently got merged. But with v3.13-rc1 +
  f446043f1aa7 + this patch no luck whatsoever bringing up the wl12xx so 
  there
  must be also some regression somewhere from v3.12 on that?
  
  Hi Tony,
  
  I tried loading wl12xx as modules on latest base as yours with
  ti-connectivity/wl127x-fw-5-sr.bin firmware in place and I could connect
  and run iperf.
 
 Oh OK I must have missed something then.
 
 Does it now work after a warm reboot too? And after bringing the interface
 down with ifconfig wlan0 down followed by ifconfig wlan0 up?

Yes great, I can confirm that v3.13-rc1 + f446043f1aa7 (regulator: fixed: fix
regulator_list_voltage() for regression) + this patch works even after a
warm reset :) Will apply both to omap-for-v3.13/fixes-take4 with Cc stable.

Regards,

Tony
--
To unsubscribe from this list: send the line unsubscribe linux-omap in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH 1/2] ARM: dts: omap4-panda-common: Fix pin muxing for wl12xx

2013-11-26 Thread Tony Lindgren
* Dan Murphy dmur...@ti.com [131121 09:28]:
 On 11/21/2013 10:58 AM, Tony Lindgren wrote:
  * Balaji T K balaj...@ti.com [131121 05:51]:
  pin mux wl12xx_gpio and wl12xx_pins should be part of omap4_pmx_core
  and not omap4_pmx_wkup. So, move wl12xx_* to omap4_pmx_core.
 
  Fix the following error message:
  pinctrl-single 4a31e040.pinmux: mux offset out of range: 0x38 (0x38)
  pinctrl-single 4a31e040.pinmux: could not add functions for 
  pinmux_wl12xx_pins 56x
 
 Why is the led pins moved then?

Heh the patch just looks that way, looking at the curly brackets
thing do get moved properly.
 
  SDIO card is not detected after moving pin mux to omap4_pmx_core since
  sdmmc5_clk pull is disabled. Enable Pull up on sdmmc5_clk to detect SDIO 
  card.
  Cool, does this fix the issue with the WLAN not coming up after a warm reset
  on panda?

Also commit f446043f1aa7 (regulator: fixed: fix regulator_list_voltage() for
regression) is needed that recently got merged. But with v3.13-rc1 +
f446043f1aa7 + this patch no luck whatsoever bringing up the wl12xx so there
must be also some regression somewhere from v3.12 on that?

Regards,

Tony
--
To unsubscribe from this list: send the line unsubscribe linux-omap in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH 0/2] ARM: dts: omap4: Fix pin muxing for wl12xx

2013-11-21 Thread Balaji T K
Balaji T K (2):
  ARM: dts: omap4-panda-common: Fix pin muxing for wl12xx
  ARM: dts: omap4-sdp: Fix pin muxing for wl12xx

 arch/arm/boot/dts/omap4-panda-common.dtsi |   20 ++--
 arch/arm/boot/dts/omap4-sdp.dts   |   12 ++--
 2 files changed, 16 insertions(+), 16 deletions(-)

-- 
1.7.5.4

--
To unsubscribe from this list: send the line unsubscribe linux-omap in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH 1/2] ARM: dts: omap4-panda-common: Fix pin muxing for wl12xx

2013-11-21 Thread Tony Lindgren
* Balaji T K balaj...@ti.com [131121 05:51]:
 pin mux wl12xx_gpio and wl12xx_pins should be part of omap4_pmx_core
 and not omap4_pmx_wkup. So, move wl12xx_* to omap4_pmx_core.
 
 Fix the following error message:
 pinctrl-single 4a31e040.pinmux: mux offset out of range: 0x38 (0x38)
 pinctrl-single 4a31e040.pinmux: could not add functions for 
 pinmux_wl12xx_pins 56x
 
 SDIO card is not detected after moving pin mux to omap4_pmx_core since
 sdmmc5_clk pull is disabled. Enable Pull up on sdmmc5_clk to detect SDIO card.

Cool, does this fix the issue with the WLAN not coming up after a warm reset
on panda?

Regards,

Tony
--
To unsubscribe from this list: send the line unsubscribe linux-omap in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH 1/2] ARM: dts: omap4-panda-common: Fix pin muxing for wl12xx

2013-11-21 Thread Balaji T K
pin mux wl12xx_gpio and wl12xx_pins should be part of omap4_pmx_core
and not omap4_pmx_wkup. So, move wl12xx_* to omap4_pmx_core.

Fix the following error message:
pinctrl-single 4a31e040.pinmux: mux offset out of range: 0x38 (0x38)
pinctrl-single 4a31e040.pinmux: could not add functions for pinmux_wl12xx_pins 
56x

SDIO card is not detected after moving pin mux to omap4_pmx_core since
sdmmc5_clk pull is disabled. Enable Pull up on sdmmc5_clk to detect SDIO card.

Signed-off-by: Balaji T K balaj...@ti.com
---
 arch/arm/boot/dts/omap4-panda-common.dtsi |   20 ++--
 1 files changed, 10 insertions(+), 10 deletions(-)

diff --git a/arch/arm/boot/dts/omap4-panda-common.dtsi 
b/arch/arm/boot/dts/omap4-panda-common.dtsi
index 298e850..88c6a05 100644
--- a/arch/arm/boot/dts/omap4-panda-common.dtsi
+++ b/arch/arm/boot/dts/omap4-panda-common.dtsi
@@ -246,15 +246,6 @@
0xf0 (PIN_INPUT_PULLUP | MUX_MODE0) /* i2c4_sda */
;
};
-};
-
-omap4_pmx_wkup {
-   led_wkgpio_pins: pinmux_leds_wkpins {
-   pinctrl-single,pins = 
-   0x1a (PIN_OUTPUT | MUX_MODE3)   /* gpio_wk7 */
-   0x1c (PIN_OUTPUT | MUX_MODE3)   /* gpio_wk8 */
-   ;
-   };
 
/*
 * wl12xx GPIO outputs for WLAN_EN, BT_EN, FM_EN, BT_WAKEUP
@@ -274,7 +265,7 @@
pinctrl-single,pins = 
0x38 (PIN_INPUT | MUX_MODE3)/* 
gpmc_ncs2.gpio_52 */
0x3a (PIN_INPUT | MUX_MODE3)/* 
gpmc_ncs3.gpio_53 */
-   0x108 (PIN_OUTPUT | MUX_MODE0)  /* 
sdmmc5_clk.sdmmc5_clk */
+   0x108 (PIN_INPUT_PULLUP | MUX_MODE0)/* 
sdmmc5_clk.sdmmc5_clk */
0x10a (PIN_INPUT_PULLUP | MUX_MODE0)/* 
sdmmc5_cmd.sdmmc5_cmd */
0x10c (PIN_INPUT_PULLUP | MUX_MODE0)/* 
sdmmc5_dat0.sdmmc5_dat0 */
0x10e (PIN_INPUT_PULLUP | MUX_MODE0)/* 
sdmmc5_dat1.sdmmc5_dat1 */
@@ -284,6 +275,15 @@
};
 };
 
+omap4_pmx_wkup {
+   led_wkgpio_pins: pinmux_leds_wkpins {
+   pinctrl-single,pins = 
+   0x1a (PIN_OUTPUT | MUX_MODE3)   /* gpio_wk7 */
+   0x1c (PIN_OUTPUT | MUX_MODE3)   /* gpio_wk8 */
+   ;
+   };
+};
+
 i2c1 {
pinctrl-names = default;
pinctrl-0 = i2c1_pins;
-- 
1.7.5.4

--
To unsubscribe from this list: send the line unsubscribe linux-omap in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH 2/2] ARM: dts: omap4-sdp: Fix pin muxing for wl12xx

2013-11-21 Thread Balaji T K
Mux mode for wlan/sdmmc5 should be MODE0 in pinmux_wl12xx_pins and
Enable Pull up on sdmmc5_clk to detect SDIO card.

Signed-off-by: Balaji T K balaj...@ti.com
---
 arch/arm/boot/dts/omap4-sdp.dts |   12 ++--
 1 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/arch/arm/boot/dts/omap4-sdp.dts b/arch/arm/boot/dts/omap4-sdp.dts
index 5fc3f43..dbc81fb 100644
--- a/arch/arm/boot/dts/omap4-sdp.dts
+++ b/arch/arm/boot/dts/omap4-sdp.dts
@@ -300,12 +300,12 @@
wl12xx_pins: pinmux_wl12xx_pins {
pinctrl-single,pins = 
0x3a (PIN_INPUT | MUX_MODE3)/* 
gpmc_ncs3.gpio_53 */
-   0x108 (PIN_OUTPUT | MUX_MODE3)  /* 
sdmmc5_clk.sdmmc5_clk */
-   0x10a (PIN_INPUT_PULLUP | MUX_MODE3)/* 
sdmmc5_cmd.sdmmc5_cmd */
-   0x10c (PIN_INPUT_PULLUP | MUX_MODE3)/* 
sdmmc5_dat0.sdmmc5_dat0 */
-   0x10e (PIN_INPUT_PULLUP | MUX_MODE3)/* 
sdmmc5_dat1.sdmmc5_dat1 */
-   0x110 (PIN_INPUT_PULLUP | MUX_MODE3)/* 
sdmmc5_dat2.sdmmc5_dat2 */
-   0x112 (PIN_INPUT_PULLUP | MUX_MODE3)/* 
sdmmc5_dat3.sdmmc5_dat3 */
+   0x108 (PIN_INPUT_PULLUP | MUX_MODE0)/* 
sdmmc5_clk.sdmmc5_clk */
+   0x10a (PIN_INPUT_PULLUP | MUX_MODE0)/* 
sdmmc5_cmd.sdmmc5_cmd */
+   0x10c (PIN_INPUT_PULLUP | MUX_MODE0)/* 
sdmmc5_dat0.sdmmc5_dat0 */
+   0x10e (PIN_INPUT_PULLUP | MUX_MODE0)/* 
sdmmc5_dat1.sdmmc5_dat1 */
+   0x110 (PIN_INPUT_PULLUP | MUX_MODE0)/* 
sdmmc5_dat2.sdmmc5_dat2 */
+   0x112 (PIN_INPUT_PULLUP | MUX_MODE0)/* 
sdmmc5_dat3.sdmmc5_dat3 */
;
};
 };
-- 
1.7.5.4

--
To unsubscribe from this list: send the line unsubscribe linux-omap in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH 1/2] ARM: dts: omap4-panda-common: Fix pin muxing for wl12xx

2013-11-21 Thread Dan Murphy
On 11/21/2013 10:58 AM, Tony Lindgren wrote:
 * Balaji T K balaj...@ti.com [131121 05:51]:
 pin mux wl12xx_gpio and wl12xx_pins should be part of omap4_pmx_core
 and not omap4_pmx_wkup. So, move wl12xx_* to omap4_pmx_core.

 Fix the following error message:
 pinctrl-single 4a31e040.pinmux: mux offset out of range: 0x38 (0x38)
 pinctrl-single 4a31e040.pinmux: could not add functions for 
 pinmux_wl12xx_pins 56x

Why is the led pins moved then?

 SDIO card is not detected after moving pin mux to omap4_pmx_core since
 sdmmc5_clk pull is disabled. Enable Pull up on sdmmc5_clk to detect SDIO 
 card.
 Cool, does this fix the issue with the WLAN not coming up after a warm reset
 on panda?

 Regards,

 Tony
 --
 To unsubscribe from this list: send the line unsubscribe linux-omap in
 the body of a message to majord...@vger.kernel.org
 More majordomo info at  http://vger.kernel.org/majordomo-info.html


-- 
--
Dan Murphy

--
To unsubscribe from this list: send the line unsubscribe linux-omap in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


pin muxing

2010-02-22 Thread Ryan
Hello,
I need to add a couple of mux entries and am refer  to
arch/arm/mach-omap2/mux.c file.

I would like to what is the differences between  BALLNUM_34XX_ and
BALLNUM_3430_ entries.  I could not find any mux entries specific to
BALLNUM_35XX_.

How does one decide if a pin needs to be pulled up or pulldown.

Warm Regards,
 Ryan
--
To unsubscribe from this list: send the line unsubscribe linux-omap in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[APPLIED] [PATCH 2/3] [OMAP] USB: Add omap7xx-specific pin muxing

2009-12-04 Thread Tony Lindgren
This patch has been applied to the linux-omap
by youw fwiendly patch wobot.

Branch in linux-omap: for-next-vol2

Initial commit ID (Likely to change): dd1a4ddb989eded52aac34a85cea2f2b122fbc84

PatchWorks
http://patchwork.kernel.org/patch/62078/

Git (Likely to change, and takes a while to get mirrored)
http://git.kernel.org/?p=linux/kernel/git/tmlind/linux-omap-2.6.git;a=commit;h=dd1a4ddb989eded52aac34a85cea2f2b122fbc84


--
To unsubscribe from this list: send the line unsubscribe linux-omap in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH 2/3] [OMAP] USB: Add omap7xx-specific pin muxing

2009-11-22 Thread Cory Maccarrone
This adds the initialization for the pin muxing required
for USB to function properly on omap7xx hardware.

Signed-off-by: Cory Maccarrone darkstar6...@gmail.com
---
 arch/arm/plat-omap/usb.c |8 +++-
 1 files changed, 7 insertions(+), 1 deletions(-)

diff --git a/arch/arm/plat-omap/usb.c b/arch/arm/plat-omap/usb.c
index 51033a4..d3bf17c 100644
--- a/arch/arm/plat-omap/usb.c
+++ b/arch/arm/plat-omap/usb.c
@@ -137,7 +137,13 @@ static u32 __init omap_usb0_init(unsigned nwires, unsigned 
is_device)
if (is_device) {
if (cpu_is_omap24xx())
omap_cfg_reg(J20_24XX_USB0_PUEN);
-   else
+   else if (cpu_is_omap7xx()) {
+   omap_cfg_reg(AA17_7XX_USB_DM);
+   omap_cfg_reg(W16_7XX_USB_PU_EN);
+   omap_cfg_reg(W17_7XX_USB_VBUSI);
+   omap_cfg_reg(W18_7XX_USB_DMCK_OUT);
+   omap_cfg_reg(W19_7XX_USB_DCRST);
+   } else
omap_cfg_reg(W4_USB_PUEN);
}
 
-- 
1.6.3.3


--
To unsubscribe from this list: send the line unsubscribe linux-omap in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH] OMAP1: fix redundant UARTs pin muxing that can break other hardware support

2009-10-22 Thread Tony Lindgren
* Janusz Krzysztofik jkrzy...@tis.icnet.pl [091021 10:11]:
 Wednesday 21 October 2009 02:51:35 Tony Lindgren napisał(a):
 
  Let's just remove the omap_cfg_reg() calls from mach-omap1/serial.c, and
  add them to the board-*.c files like you suggest above. We should be able
  to find which ports to mux by looking at the enabled_uarts mask in the
  commit mentioned above.
 
 Here you are (board-*.c changes limited to those OMAP1510 based).
 Created against linux-2.6.32-rc5.
 Tested on Amsdtrad Delta only.

Thanks, I'll add it to the omap-fixes series for this -rc cycle with
a description on how things broke.

BTW, you might want to also take a look at adding support for powering
down the uarts with an idle timer for mach-omap1/serial.c the same
way as mach-omap2/serial.c does.

Otherwise the enabled serial ports keep the system from hitting
retention during idle.

Regards,

Tony
 
 Signed-off-by: Janusz Krzysztofik jkrzy...@tis.icnet.pl
 
 ---
 diff -upr linux-2.6.32-rc5.orig/arch/arm/mach-omap1/board-ams-delta.c 
 linux-2.6.32-rc5.fixed/arch/arm/mach-omap1/board-ams-delta.c
 --- linux-2.6.32-rc5.orig/arch/arm/mach-omap1/board-ams-delta.c   
 2009-10-16 02:41:50.0 +0200
 +++ linux-2.6.32-rc5.fixed/arch/arm/mach-omap1/board-ams-delta.c  
 2009-10-21 17:41:29.0 +0200
 @@ -219,6 +219,10 @@ static struct platform_device *ams_delta
  
  static void __init ams_delta_init(void)
  {
 + /* setup mux pins for uarts, removed from serial.c */
 + omap_cfg_reg(UART1_TX);
 + omap_cfg_reg(UART1_RTS);
 +
   iotable_init(ams_delta_io_desc, ARRAY_SIZE(ams_delta_io_desc));
  
   omap_board_config = ams_delta_config;
 diff -upr linux-2.6.32-rc5.orig/arch/arm/mach-omap1/board-generic.c 
 linux-2.6.32-rc5.fixed/arch/arm/mach-omap1/board-generic.c
 --- linux-2.6.32-rc5.orig/arch/arm/mach-omap1/board-generic.c 2009-10-16 
 02:41:50.0 +0200
 +++ linux-2.6.32-rc5.fixed/arch/arm/mach-omap1/board-generic.c
 2009-10-21 18:15:37.0 +0200
 @@ -64,6 +64,14 @@ static void __init omap_generic_init(voi
  {
  #ifdef CONFIG_ARCH_OMAP15XX
   if (cpu_is_omap15xx()) {
 + /* setup mux pins for uarts, removed from serial.c */
 + omap_cfg_reg(UART1_TX);
 + omap_cfg_reg(UART1_RTS);
 + omap_cfg_reg(UART2_TX);
 + omap_cfg_reg(UART2_RTS);
 + omap_cfg_reg(UART3_TX);
 + omap_cfg_reg(UART3_RX);
 +
   omap_usb_init(generic1510_usb_config);
   }
  #endif
 diff -upr linux-2.6.32-rc5.orig/arch/arm/mach-omap1/board-innovator.c 
 linux-2.6.32-rc5.fixed/arch/arm/mach-omap1/board-innovator.c
 --- linux-2.6.32-rc5.orig/arch/arm/mach-omap1/board-innovator.c   
 2009-10-16 02:41:50.0 +0200
 +++ linux-2.6.32-rc5.fixed/arch/arm/mach-omap1/board-innovator.c  
 2009-10-21 18:16:59.0 +0200
 @@ -376,6 +376,24 @@ static void __init innovator_init(void)
  {
  #ifdef CONFIG_ARCH_OMAP15XX
   if (cpu_is_omap1510()) {
 + /* setup mux pins for uarts, removed from serial.c */
 + omap_cfg_reg(UART1_TX);
 + omap_cfg_reg(UART1_RTS);
 + omap_cfg_reg(UART2_TX);
 + omap_cfg_reg(UART2_RTS);
 + omap_cfg_reg(UART3_TX);
 + omap_cfg_reg(UART3_RX);
 +
 + reg = fpga_read(OMAP1510_FPGA_POWER);
 + reg |= OMAP1510_FPGA_PCR_COM1_EN;
 + fpga_write(reg, OMAP1510_FPGA_POWER);
 + udelay(10);
 +
 + reg = fpga_read(OMAP1510_FPGA_POWER);
 + reg |= OMAP1510_FPGA_PCR_COM2_EN;
 + fpga_write(reg, OMAP1510_FPGA_POWER);
 + udelay(10);
 +
   platform_add_devices(innovator1510_devices, 
 ARRAY_SIZE(innovator1510_devices));
   spi_register_board_info(innovator1510_boardinfo,
   ARRAY_SIZE(innovator1510_boardinfo));
 diff -upr linux-2.6.32-rc5.orig/arch/arm/mach-omap1/board-palmte.c 
 linux-2.6.32-rc5.fixed/arch/arm/mach-omap1/board-palmte.c
 --- linux-2.6.32-rc5.orig/arch/arm/mach-omap1/board-palmte.c  2009-10-16 
 02:41:50.0 +0200
 +++ linux-2.6.32-rc5.fixed/arch/arm/mach-omap1/board-palmte.c 2009-10-21 
 17:38:59.0 +0200
 @@ -342,6 +342,14 @@ static void __init palmte_misc_gpio_setu
  
  static void __init omap_palmte_init(void)
  {
 + /* setup mux pins for uarts, removed from serial.c */
 + omap_cfg_reg(UART1_TX);
 + omap_cfg_reg(UART1_RTS);
 + omap_cfg_reg(UART2_TX);
 + omap_cfg_reg(UART2_RTS);
 + omap_cfg_reg(UART3_TX);
 + omap_cfg_reg(UART3_RX);
 +
   omap_board_config = palmte_config;
   omap_board_config_size = ARRAY_SIZE(palmte_config);
  
 diff -upr linux-2.6.32-rc5.orig/arch/arm/mach-omap1/board-palmtt.c 
 linux-2.6.32-rc5.fixed/arch/arm/mach-omap1/board-palmtt.c
 --- linux-2.6.32-rc5.orig/arch/arm/mach-omap1/board-palmtt.c  2009-10-16 
 02:41:50.0 +0200
 +++ linux-2.6.32-rc5.fixed/arch/arm/mach-omap1/board-palmtt.c 

[PATCH 04/10] omap1: Fix redundant UARTs pin muxing that can break other hardware support

2009-10-22 Thread Tony Lindgren
From: Janusz Krzysztofik jkrzy...@tis.icnet.pl

Commit 15ac408ee5a509053a765b816e9179515329369f removed enabled_uart
and OMAP_TAG_UART. This works for mach-omap2, but causes issues on
mach-omap1 for some boards as the mach-omap1 serial.c was muxing
pins based on the enabled_uart flag for 15xx.

Fix this by muxing pins in board-*.c files for the 15xx boards for
the uart ports that had enabled_uart flag set before the commit
above.

Tested on Amsdtrad Delta only.

Note that in the future we should add support for powering down
the uarts with a timer like mach-omap2/serial.c does. Otherwise
the enabled uarts will be blocking retention-while-idle.

Signed-off-by: Janusz Krzysztofik jkrzy...@tis.icnet.pl
Signed-off-by: Tony Lindgren t...@atomide.com
---
 arch/arm/mach-omap1/board-ams-delta.c |4 
 arch/arm/mach-omap1/board-generic.c   |8 
 arch/arm/mach-omap1/board-innovator.c |   20 
 arch/arm/mach-omap1/board-palmte.c|8 
 arch/arm/mach-omap1/board-palmtt.c|8 
 arch/arm/mach-omap1/board-palmz71.c   |8 
 arch/arm/mach-omap1/board-sx1.c   |8 
 arch/arm/mach-omap1/board-voiceblue.c |8 
 arch/arm/mach-omap1/serial.c  |   26 --
 9 files changed, 72 insertions(+), 26 deletions(-)

diff --git a/arch/arm/mach-omap1/board-ams-delta.c 
b/arch/arm/mach-omap1/board-ams-delta.c
index 42920f9..972499e 100644
--- a/arch/arm/mach-omap1/board-ams-delta.c
+++ b/arch/arm/mach-omap1/board-ams-delta.c
@@ -219,6 +219,10 @@ static struct platform_device *ams_delta_devices[] 
__initdata = {
 
 static void __init ams_delta_init(void)
 {
+   /* mux pins for uarts */
+   omap_cfg_reg(UART1_TX);
+   omap_cfg_reg(UART1_RTS);
+
iotable_init(ams_delta_io_desc, ARRAY_SIZE(ams_delta_io_desc));
 
omap_board_config = ams_delta_config;
diff --git a/arch/arm/mach-omap1/board-generic.c 
b/arch/arm/mach-omap1/board-generic.c
index fb47239..6c8a41f 100644
--- a/arch/arm/mach-omap1/board-generic.c
+++ b/arch/arm/mach-omap1/board-generic.c
@@ -64,6 +64,14 @@ static void __init omap_generic_init(void)
 {
 #ifdef CONFIG_ARCH_OMAP15XX
if (cpu_is_omap15xx()) {
+   /* mux pins for uarts */
+   omap_cfg_reg(UART1_TX);
+   omap_cfg_reg(UART1_RTS);
+   omap_cfg_reg(UART2_TX);
+   omap_cfg_reg(UART2_RTS);
+   omap_cfg_reg(UART3_TX);
+   omap_cfg_reg(UART3_RX);
+
omap_usb_init(generic1510_usb_config);
}
 #endif
diff --git a/arch/arm/mach-omap1/board-innovator.c 
b/arch/arm/mach-omap1/board-innovator.c
index cc2abbb..cd6c395 100644
--- a/arch/arm/mach-omap1/board-innovator.c
+++ b/arch/arm/mach-omap1/board-innovator.c
@@ -376,6 +376,26 @@ static void __init innovator_init(void)
 {
 #ifdef CONFIG_ARCH_OMAP15XX
if (cpu_is_omap1510()) {
+   unsigned char reg;
+
+   /* mux pins for uarts */
+   omap_cfg_reg(UART1_TX);
+   omap_cfg_reg(UART1_RTS);
+   omap_cfg_reg(UART2_TX);
+   omap_cfg_reg(UART2_RTS);
+   omap_cfg_reg(UART3_TX);
+   omap_cfg_reg(UART3_RX);
+
+   reg = fpga_read(OMAP1510_FPGA_POWER);
+   reg |= OMAP1510_FPGA_PCR_COM1_EN;
+   fpga_write(reg, OMAP1510_FPGA_POWER);
+   udelay(10);
+
+   reg = fpga_read(OMAP1510_FPGA_POWER);
+   reg |= OMAP1510_FPGA_PCR_COM2_EN;
+   fpga_write(reg, OMAP1510_FPGA_POWER);
+   udelay(10);
+
platform_add_devices(innovator1510_devices, 
ARRAY_SIZE(innovator1510_devices));
spi_register_board_info(innovator1510_boardinfo,
ARRAY_SIZE(innovator1510_boardinfo));
diff --git a/arch/arm/mach-omap1/board-palmte.c 
b/arch/arm/mach-omap1/board-palmte.c
index 90dd043..4de2584 100644
--- a/arch/arm/mach-omap1/board-palmte.c
+++ b/arch/arm/mach-omap1/board-palmte.c
@@ -342,6 +342,14 @@ static void __init palmte_misc_gpio_setup(void)
 
 static void __init omap_palmte_init(void)
 {
+   /* mux pins for uarts */
+   omap_cfg_reg(UART1_TX);
+   omap_cfg_reg(UART1_RTS);
+   omap_cfg_reg(UART2_TX);
+   omap_cfg_reg(UART2_RTS);
+   omap_cfg_reg(UART3_TX);
+   omap_cfg_reg(UART3_RX);
+
omap_board_config = palmte_config;
omap_board_config_size = ARRAY_SIZE(palmte_config);
 
diff --git a/arch/arm/mach-omap1/board-palmtt.c 
b/arch/arm/mach-omap1/board-palmtt.c
index 8256139..d972cf9 100644
--- a/arch/arm/mach-omap1/board-palmtt.c
+++ b/arch/arm/mach-omap1/board-palmtt.c
@@ -289,6 +289,14 @@ static void __init omap_mpu_wdt_mode(int mode) {
 
 static void __init omap_palmtt_init(void)
 {
+   /* mux pins for uarts */
+   omap_cfg_reg(UART1_TX);
+   omap_cfg_reg(UART1_RTS);
+   omap_cfg_reg(UART2_TX);
+   omap_cfg_reg(UART2_RTS);
+   

[PATCH] OMAP1: fix redundant UARTs pin muxing that can break other hardware support

2009-10-21 Thread Janusz Krzysztofik
Wednesday 21 October 2009 02:51:35 Tony Lindgren napisał(a):

 Let's just remove the omap_cfg_reg() calls from mach-omap1/serial.c, and
 add them to the board-*.c files like you suggest above. We should be able
 to find which ports to mux by looking at the enabled_uarts mask in the
 commit mentioned above.

Here you are (board-*.c changes limited to those OMAP1510 based).
Created against linux-2.6.32-rc5.
Tested on Amsdtrad Delta only.

Signed-off-by: Janusz Krzysztofik jkrzy...@tis.icnet.pl

---
diff -upr linux-2.6.32-rc5.orig/arch/arm/mach-omap1/board-ams-delta.c 
linux-2.6.32-rc5.fixed/arch/arm/mach-omap1/board-ams-delta.c
--- linux-2.6.32-rc5.orig/arch/arm/mach-omap1/board-ams-delta.c 2009-10-16 
02:41:50.0 +0200
+++ linux-2.6.32-rc5.fixed/arch/arm/mach-omap1/board-ams-delta.c
2009-10-21 17:41:29.0 +0200
@@ -219,6 +219,10 @@ static struct platform_device *ams_delta
 
 static void __init ams_delta_init(void)
 {
+   /* setup mux pins for uarts, removed from serial.c */
+   omap_cfg_reg(UART1_TX);
+   omap_cfg_reg(UART1_RTS);
+
iotable_init(ams_delta_io_desc, ARRAY_SIZE(ams_delta_io_desc));
 
omap_board_config = ams_delta_config;
diff -upr linux-2.6.32-rc5.orig/arch/arm/mach-omap1/board-generic.c 
linux-2.6.32-rc5.fixed/arch/arm/mach-omap1/board-generic.c
--- linux-2.6.32-rc5.orig/arch/arm/mach-omap1/board-generic.c   2009-10-16 
02:41:50.0 +0200
+++ linux-2.6.32-rc5.fixed/arch/arm/mach-omap1/board-generic.c  2009-10-21 
18:15:37.0 +0200
@@ -64,6 +64,14 @@ static void __init omap_generic_init(voi
 {
 #ifdef CONFIG_ARCH_OMAP15XX
if (cpu_is_omap15xx()) {
+   /* setup mux pins for uarts, removed from serial.c */
+   omap_cfg_reg(UART1_TX);
+   omap_cfg_reg(UART1_RTS);
+   omap_cfg_reg(UART2_TX);
+   omap_cfg_reg(UART2_RTS);
+   omap_cfg_reg(UART3_TX);
+   omap_cfg_reg(UART3_RX);
+
omap_usb_init(generic1510_usb_config);
}
 #endif
diff -upr linux-2.6.32-rc5.orig/arch/arm/mach-omap1/board-innovator.c 
linux-2.6.32-rc5.fixed/arch/arm/mach-omap1/board-innovator.c
--- linux-2.6.32-rc5.orig/arch/arm/mach-omap1/board-innovator.c 2009-10-16 
02:41:50.0 +0200
+++ linux-2.6.32-rc5.fixed/arch/arm/mach-omap1/board-innovator.c
2009-10-21 18:16:59.0 +0200
@@ -376,6 +376,24 @@ static void __init innovator_init(void)
 {
 #ifdef CONFIG_ARCH_OMAP15XX
if (cpu_is_omap1510()) {
+   /* setup mux pins for uarts, removed from serial.c */
+   omap_cfg_reg(UART1_TX);
+   omap_cfg_reg(UART1_RTS);
+   omap_cfg_reg(UART2_TX);
+   omap_cfg_reg(UART2_RTS);
+   omap_cfg_reg(UART3_TX);
+   omap_cfg_reg(UART3_RX);
+
+   reg = fpga_read(OMAP1510_FPGA_POWER);
+   reg |= OMAP1510_FPGA_PCR_COM1_EN;
+   fpga_write(reg, OMAP1510_FPGA_POWER);
+   udelay(10);
+
+   reg = fpga_read(OMAP1510_FPGA_POWER);
+   reg |= OMAP1510_FPGA_PCR_COM2_EN;
+   fpga_write(reg, OMAP1510_FPGA_POWER);
+   udelay(10);
+
platform_add_devices(innovator1510_devices, 
ARRAY_SIZE(innovator1510_devices));
spi_register_board_info(innovator1510_boardinfo,
ARRAY_SIZE(innovator1510_boardinfo));
diff -upr linux-2.6.32-rc5.orig/arch/arm/mach-omap1/board-palmte.c 
linux-2.6.32-rc5.fixed/arch/arm/mach-omap1/board-palmte.c
--- linux-2.6.32-rc5.orig/arch/arm/mach-omap1/board-palmte.c2009-10-16 
02:41:50.0 +0200
+++ linux-2.6.32-rc5.fixed/arch/arm/mach-omap1/board-palmte.c   2009-10-21 
17:38:59.0 +0200
@@ -342,6 +342,14 @@ static void __init palmte_misc_gpio_setu
 
 static void __init omap_palmte_init(void)
 {
+   /* setup mux pins for uarts, removed from serial.c */
+   omap_cfg_reg(UART1_TX);
+   omap_cfg_reg(UART1_RTS);
+   omap_cfg_reg(UART2_TX);
+   omap_cfg_reg(UART2_RTS);
+   omap_cfg_reg(UART3_TX);
+   omap_cfg_reg(UART3_RX);
+
omap_board_config = palmte_config;
omap_board_config_size = ARRAY_SIZE(palmte_config);
 
diff -upr linux-2.6.32-rc5.orig/arch/arm/mach-omap1/board-palmtt.c 
linux-2.6.32-rc5.fixed/arch/arm/mach-omap1/board-palmtt.c
--- linux-2.6.32-rc5.orig/arch/arm/mach-omap1/board-palmtt.c2009-10-16 
02:41:50.0 +0200
+++ linux-2.6.32-rc5.fixed/arch/arm/mach-omap1/board-palmtt.c   2009-10-21 
17:39:19.0 +0200
@@ -289,6 +289,14 @@ static void __init omap_mpu_wdt_mode(int
 
 static void __init omap_palmtt_init(void)
 {
+   /* setup mux pins for uarts, removed from serial.c */
+   omap_cfg_reg(UART1_TX);
+   omap_cfg_reg(UART1_RTS);
+   omap_cfg_reg(UART2_TX);
+   omap_cfg_reg(UART2_RTS);
+   omap_cfg_reg(UART3_TX);
+   omap_cfg_reg(UART3_RX);
+
omap_mpu_wdt_mode(0);
 
omap_board_config = 

[PATCH 1/2] OMAP3: MMC: Pass pin muxing control flag

2009-06-15 Thread Vikram Pandita
Some drivers have a requirement not to do the default pin
muxing for MMC

Those drivers can pass on nomux=1 from twl4030_hsmmc_info
and perform the pin muxing in their board file before call
to funciton twl4030_mmc_init()

Signded-off-by: Vikram Pandita vikram.pand...@ti.com
---
 arch/arm/mach-omap2/mmc-twl4030.c |1 +
 arch/arm/mach-omap2/mmc-twl4030.h |1 +
 2 files changed, 2 insertions(+), 0 deletions(-)

diff --git a/arch/arm/mach-omap2/mmc-twl4030.c 
b/arch/arm/mach-omap2/mmc-twl4030.c
index 9756a87..d14f0b3 100644
--- a/arch/arm/mach-omap2/mmc-twl4030.c
+++ b/arch/arm/mach-omap2/mmc-twl4030.c
@@ -354,6 +354,7 @@ void __init twl4030_mmc_init(struct twl4030_hsmmc_info 
*controllers)
mmc-slots[0].name = twl-name;
mmc-nr_slots = 1;
mmc-slots[0].wires = c-wires;
+   mmc-slots[0].nomux = c-nomux;
mmc-slots[0].internal_clock = !c-ext_clock;
mmc-dma_mask = 0x;
mmc-init = twl_mmc_late_init;
diff --git a/arch/arm/mach-omap2/mmc-twl4030.h 
b/arch/arm/mach-omap2/mmc-twl4030.h
index 3807c45..b837588 100644
--- a/arch/arm/mach-omap2/mmc-twl4030.h
+++ b/arch/arm/mach-omap2/mmc-twl4030.h
@@ -9,6 +9,7 @@
 struct twl4030_hsmmc_info {
u8  mmc;/* controller 1/2/3 */
u8  wires;  /* 1/4/8 wires */
+   unsigned nomux:1;   /* control pin muxing */
booltransceiver;/* MMC-2 option */
boolext_clock;  /* use external pin for input clock */
boolcover_only; /* No card detect - just cover switch */
-- 
1.6.0.3.613.g9f8f13

--
To unsubscribe from this list: send the line unsubscribe linux-omap in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH 2/2] ARM: OMAP: Add OMAP34xx pin muxing into I2C bus registration helper

2008-06-09 Thread Jarkko Nikula
Signed-off-by: Jarkko Nikula [EMAIL PROTECTED]
---
 arch/arm/plat-omap/i2c.c |   51 -
 1 files changed, 32 insertions(+), 19 deletions(-)

diff --git a/arch/arm/plat-omap/i2c.c b/arch/arm/plat-omap/i2c.c
index 7990ab1..23c2920 100644
--- a/arch/arm/plat-omap/i2c.c
+++ b/arch/arm/plat-omap/i2c.c
@@ -80,26 +80,39 @@ static struct platform_device omap_i2c_devices[] = {
 #endif
 };
 
-static void __init omap_i2c_mux_pins(int bus_id)
+static const int omap1_pins[][2] = {
+   { I2C_SCL, I2C_SDA },
+};
+static const int omap24xx_pins[][2] = {
+   { M19_24XX_I2C1_SCL, L15_24XX_I2C1_SDA },
+   { J15_24XX_I2C2_SCL, H19_24XX_I2C2_SDA },
+};
+static const int omap34xx_pins[][2] = {
+   { K21_34XX_I2C1_SCL, J21_34XX_I2C1_SDA},
+   { AF15_34XX_I2C2_SCL, AE15_34XX_I2C2_SDA},
+   { AF14_34XX_I2C3_SCL, AG14_34XX_I2C3_SDA},
+   { AD26_34XX_I2C4_SCL, AE26_34XX_I2C4_SDA},
+};
+
+static void __init omap_i2c_mux_pins(int bus)
 {
-   /* TODO: Muxing for OMAP3 */
-   switch (bus_id) {
-   case 1:
-   if (cpu_class_is_omap1()) {
-   omap_cfg_reg(I2C_SCL);
-   omap_cfg_reg(I2C_SDA);
-   } else if (cpu_is_omap24xx()) {
-   omap_cfg_reg(M19_24XX_I2C1_SCL);
-   omap_cfg_reg(L15_24XX_I2C1_SDA);
-   }
-   break;
-   case 2:
-   if (cpu_is_omap24xx()) {
-   omap_cfg_reg(J15_24XX_I2C2_SCL);
-   omap_cfg_reg(H19_24XX_I2C2_SDA);
-   }
-   break;
+   int scl, sda;
+
+   if (cpu_class_is_omap1()) {
+   scl = omap1_pins[bus][0];
+   sda = omap1_pins[bus][1];
+   } else if (cpu_is_omap24xx()) {
+   scl = omap24xx_pins[bus][0];
+   sda = omap24xx_pins[bus][1];
+   } else if (cpu_is_omap34xx()) {
+   scl = omap34xx_pins[bus][0];
+   sda = omap34xx_pins[bus][1];
+   } else {
+   return;
}
+
+   omap_cfg_reg(sda);
+   omap_cfg_reg(scl);
 }
 
 int __init omap_register_i2c_bus(int bus_id, u32 clkrate,
@@ -143,6 +156,6 @@ int __init omap_register_i2c_bus(int bus_id, u32 clkrate,
res[1].start = irq;
}
 
-   omap_i2c_mux_pins(bus_id);
+   omap_i2c_mux_pins(bus_id - 1);
return platform_device_register(pdev);
 }
-- 
1.5.5.3

--
To unsubscribe from this list: send the line unsubscribe linux-omap in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH 2/2] ARM: OMAP: Add OMAP34xx pin muxing into I2C bus registration helper

2008-06-09 Thread Jarkko Nikula
On Mon,  9 Jun 2008 17:46:41 +0300
Jarkko Nikula [EMAIL PROTECTED] wrote:

 Signed-off-by: Jarkko Nikula [EMAIL PROTECTED]
 ---
  arch/arm/plat-omap/i2c.c |   51 +++
 +- 1 files changed, 32 insertions(+), 19 deletions(-)
 
 -static void __init omap_i2c_mux_pins(int bus_id)
 +static const int omap1_pins[][2] = {
 + { I2C_SCL, I2C_SDA },
 +};
 +static const int omap24xx_pins[][2] = {
 + { M19_24XX_I2C1_SCL, L15_24XX_I2C1_SDA },
 + { J15_24XX_I2C2_SCL, H19_24XX_I2C2_SDA },
 +};
 +static const int omap34xx_pins[][2] = {
 + { K21_34XX_I2C1_SCL, J21_34XX_I2C1_SDA},
 + { AF15_34XX_I2C2_SCL, AE15_34XX_I2C2_SDA},
 + { AF14_34XX_I2C3_SCL, AG14_34XX_I2C3_SDA},
 + { AD26_34XX_I2C4_SCL, AE26_34XX_I2C4_SDA},
 +};
 +
NAK to myself. Avoiding few #ifdefs is not an excuse for spending some
bytes here and also it doesn't look good to add muxing support for bus
4 where the module itself doesn't support it (yet).

Lazy me :-)

Jarkko
--
To unsubscribe from this list: send the line unsubscribe linux-omap in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html