All of lore.kernel.org
 help / color / mirror / Atom feed
* [U-Boot] [u-boot][PATCH] ARM: DRA7-evm: prevent DCAN1 _wait_target_disable failure in kernel
@ 2015-06-24 14:00 Roger Quadros
  2015-06-24 17:40 ` Nishanth Menon
                   ` (2 more replies)
  0 siblings, 3 replies; 6+ messages in thread
From: Roger Quadros @ 2015-06-24 14:00 UTC (permalink / raw)
  To: u-boot

If board is booted with transitions happening on DCAN1 pins then
the following warning is seen in the kernel at boot when the
hwmod layer initializes.

"omap_hwmod: dcan1: _wait_target_disable failed"

This is because DCAN1 module's SWAKEUP mechanism is broken
and it fails to correctly turn OFF if it sees a transition on the
DCAN1 pins. Suggested workaround is to keep DCAN1 pins in safe mode
while enabling/disabling DCAN1 module.

The hwmod layer enables and disables all modules at boot
and we have no opportunity to put the DCAN1 pins in safe mode
at that point.

DCAN1 is not used by u-boot so it doesn't matter to it if these
pins are in safe mode. The kernel driver correctly configures
the right mode when DCAN1 is active.

Signed-off-by: Roger Quadros <rogerq@ti.com>
---
 board/ti/dra7xx/mux_data.h | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/board/ti/dra7xx/mux_data.h b/board/ti/dra7xx/mux_data.h
index c9301a5..91e00b9 100644
--- a/board/ti/dra7xx/mux_data.h
+++ b/board/ti/dra7xx/mux_data.h
@@ -358,7 +358,7 @@ const struct pad_conf_entry dra74x_core_padconf_array[] = {
 	{SPI2_D1, (M1 | PIN_INPUT_SLEW)},	/* spi2_d1.uart3_txd */
 	{SPI2_D0, (M1 | PIN_INPUT_SLEW)},	/* spi2_d0.uart3_ctsn */
 	{SPI2_CS0, (M1 | PIN_INPUT_PULLUP | SLEWCONTROL)},	/* spi2_cs0.uart3_rtsn */
-	{DCAN1_TX, (M0 | PIN_INPUT_PULLUP | SLEWCONTROL)},	/* dcan1_tx.dcan1_tx */
+	{DCAN1_TX, (M15 | PULL_UP)},	/* dcan1_tx.safe for dcan1_tx */
 	{DCAN1_RX, (M14 | PIN_INPUT_PULLUP | SLEWCONTROL)},	/* dcan1_rx.gpio1_15 */
 	{UART1_RXD, (M0 | PIN_INPUT_PULLUP | SLEWCONTROL)},	/* uart1_rxd.uart1_rxd */
 	{UART1_TXD, (M0 | PIN_INPUT_PULLUP | SLEWCONTROL)},	/* uart1_txd.uart1_txd */
@@ -370,7 +370,7 @@ const struct pad_conf_entry dra74x_core_padconf_array[] = {
 	{UART2_RTSN, (M3 | PIN_INPUT_PULLUP)},	/* uart2_rtsn.mmc4_dat3 */
 	{I2C2_SDA, (M0 | PIN_INPUT_PULLUP)},	/* i2c2_sda.i2c2_sda */
 	{I2C2_SCL, (M0 | PIN_INPUT_PULLUP)},	/* i2c2_scl.i2c2_scl */
-	{WAKEUP0, (M1 | PIN_OUTPUT)},	/* Wakeup0.dcan1_rx */
+	{WAKEUP0, (M15 | PULL_UP)},	/* Wakeup0.safe for dcan1_rx */
 	{WAKEUP2, (M14 | PIN_OUTPUT)},	/* Wakeup2.gpio1_2 */
 };
 
-- 
2.1.4

^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [U-Boot] [u-boot][PATCH] ARM: DRA7-evm: prevent DCAN1 _wait_target_disable failure in kernel
  2015-06-24 14:00 [U-Boot] [u-boot][PATCH] ARM: DRA7-evm: prevent DCAN1 _wait_target_disable failure in kernel Roger Quadros
@ 2015-06-24 17:40 ` Nishanth Menon
  2015-06-25  7:25 ` [U-Boot] [u-boot][PATCH 2/2] ARM: beagle_x15: " Roger Quadros
  2015-07-10 12:56 ` [U-Boot] [U-Boot, u-boot] ARM: DRA7-evm: " Tom Rini
  2 siblings, 0 replies; 6+ messages in thread
From: Nishanth Menon @ 2015-06-24 17:40 UTC (permalink / raw)
  To: u-boot

On 06/24/2015 09:00 AM, Roger Quadros wrote:
> If board is booted with transitions happening on DCAN1 pins then
> the following warning is seen in the kernel at boot when the
> hwmod layer initializes.
> 
> "omap_hwmod: dcan1: _wait_target_disable failed"
> 
> This is because DCAN1 module's SWAKEUP mechanism is broken
> and it fails to correctly turn OFF if it sees a transition on the
> DCAN1 pins. Suggested workaround is to keep DCAN1 pins in safe mode
> while enabling/disabling DCAN1 module.
> 
> The hwmod layer enables and disables all modules at boot
> and we have no opportunity to put the DCAN1 pins in safe mode
> at that point.
> 
> DCAN1 is not used by u-boot so it doesn't matter to it if these
> pins are in safe mode. The kernel driver correctly configures
> the right mode when DCAN1 is active.
> 
> Signed-off-by: Roger Quadros <rogerq@ti.com>
> ---
>  board/ti/dra7xx/mux_data.h | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/board/ti/dra7xx/mux_data.h b/board/ti/dra7xx/mux_data.h
> index c9301a5..91e00b9 100644
> --- a/board/ti/dra7xx/mux_data.h
> +++ b/board/ti/dra7xx/mux_data.h
> @@ -358,7 +358,7 @@ const struct pad_conf_entry dra74x_core_padconf_array[] = {
>  	{SPI2_D1, (M1 | PIN_INPUT_SLEW)},	/* spi2_d1.uart3_txd */
>  	{SPI2_D0, (M1 | PIN_INPUT_SLEW)},	/* spi2_d0.uart3_ctsn */
>  	{SPI2_CS0, (M1 | PIN_INPUT_PULLUP | SLEWCONTROL)},	/* spi2_cs0.uart3_rtsn */
> -	{DCAN1_TX, (M0 | PIN_INPUT_PULLUP | SLEWCONTROL)},	/* dcan1_tx.dcan1_tx */
> +	{DCAN1_TX, (M15 | PULL_UP)},	/* dcan1_tx.safe for dcan1_tx */
>  	{DCAN1_RX, (M14 | PIN_INPUT_PULLUP | SLEWCONTROL)},	/* dcan1_rx.gpio1_15 */
>  	{UART1_RXD, (M0 | PIN_INPUT_PULLUP | SLEWCONTROL)},	/* uart1_rxd.uart1_rxd */
>  	{UART1_TXD, (M0 | PIN_INPUT_PULLUP | SLEWCONTROL)},	/* uart1_txd.uart1_txd */
> @@ -370,7 +370,7 @@ const struct pad_conf_entry dra74x_core_padconf_array[] = {
>  	{UART2_RTSN, (M3 | PIN_INPUT_PULLUP)},	/* uart2_rtsn.mmc4_dat3 */
>  	{I2C2_SDA, (M0 | PIN_INPUT_PULLUP)},	/* i2c2_sda.i2c2_sda */
>  	{I2C2_SCL, (M0 | PIN_INPUT_PULLUP)},	/* i2c2_scl.i2c2_scl */
> -	{WAKEUP0, (M1 | PIN_OUTPUT)},	/* Wakeup0.dcan1_rx */
> +	{WAKEUP0, (M15 | PULL_UP)},	/* Wakeup0.safe for dcan1_rx */
>  	{WAKEUP2, (M14 | PIN_OUTPUT)},	/* Wakeup2.gpio1_2 */
>  };
>  
> 
LGTM, could you also look at x15 platform?

-- 
Regards,
Nishanth Menon

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [U-Boot] [u-boot][PATCH 2/2] ARM: beagle_x15: prevent DCAN1 _wait_target_disable failure in kernel
  2015-06-24 14:00 [U-Boot] [u-boot][PATCH] ARM: DRA7-evm: prevent DCAN1 _wait_target_disable failure in kernel Roger Quadros
  2015-06-24 17:40 ` Nishanth Menon
@ 2015-06-25  7:25 ` Roger Quadros
  2015-07-10 12:57   ` [U-Boot] [U-Boot, u-boot, " Tom Rini
  2015-07-10 12:56 ` [U-Boot] [U-Boot, u-boot] ARM: DRA7-evm: " Tom Rini
  2 siblings, 1 reply; 6+ messages in thread
From: Roger Quadros @ 2015-06-25  7:25 UTC (permalink / raw)
  To: u-boot

If board is booted with transitions happening on DCAN1 pins then
the following warning is seen in the kernel at boot when the
hwmod layer initializes.

"omap_hwmod: dcan1: _wait_target_disable failed"

This is because DCAN1 module's SWAKEUP mechanism is broken
and it fails to correctly turn OFF if it sees a transition on the
DCAN1 pins. Suggested workaround is to keep DCAN1 pins in safe mode
while enabling/disabling DCAN1 module.

The hwmod layer enables and disables all modules at boot
and we have no opportunity to put the DCAN1 pins in safe mode
at that point.

DCAN1 is not used by u-boot so it doesn't matter to it if these
pins are in safe mode. The kernel driver correctly configures
the right mode when DCAN1 is active.

Signed-off-by: Roger Quadros <rogerq@ti.com>
---
 board/ti/beagle_x15/mux_data.h | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/board/ti/beagle_x15/mux_data.h b/board/ti/beagle_x15/mux_data.h
index 09d3650..da2610c 100644
--- a/board/ti/beagle_x15/mux_data.h
+++ b/board/ti/beagle_x15/mux_data.h
@@ -244,8 +244,8 @@ const struct pad_conf_entry core_padconf_array_essential[] = {
 	{SPI2_D1, (M14 | PIN_INPUT_PULLDOWN)},	/* spi2_d1.gpio7_15 */
 	{SPI2_D0, (M14 | PIN_INPUT_PULLUP)},	/* spi2_d0.gpio7_16 */
 	{SPI2_CS0, (M14 | PIN_INPUT_PULLUP | SLEWCONTROL)},	/* spi2_cs0.gpio7_17 */
-	{DCAN1_TX, (M0 | PIN_INPUT_PULLUP | SLEWCONTROL)},	/* dcan1_tx.dcan1_tx */
-	{DCAN1_RX, (M0 | PIN_INPUT_PULLUP | SLEWCONTROL)},	/* dcan1_rx.dcan1_rx */
+	{DCAN1_TX, (M15 | PULLUP)},	/* dcan1_tx.safe for dcan1_tx */
+	{DCAN1_RX, (M15 | PULLUP)},	/* dcan1_rx.safe for dcan1_rx */
 	{UART1_RXD, (M0 | PIN_INPUT_SLEW)},	/* uart1_rxd.uart1_rxd */
 	{UART1_TXD, (M0 | PIN_INPUT_SLEW)},	/* uart1_txd.uart1_txd */
 	{UART1_CTSN, (M15 | PIN_INPUT_PULLDOWN)},	/* uart1_ctsn.Driveroff */
-- 
2.1.4

^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [U-Boot] [U-Boot, u-boot] ARM: DRA7-evm: prevent DCAN1 _wait_target_disable failure in kernel
  2015-06-24 14:00 [U-Boot] [u-boot][PATCH] ARM: DRA7-evm: prevent DCAN1 _wait_target_disable failure in kernel Roger Quadros
  2015-06-24 17:40 ` Nishanth Menon
  2015-06-25  7:25 ` [U-Boot] [u-boot][PATCH 2/2] ARM: beagle_x15: " Roger Quadros
@ 2015-07-10 12:56 ` Tom Rini
  2 siblings, 0 replies; 6+ messages in thread
From: Tom Rini @ 2015-07-10 12:56 UTC (permalink / raw)
  To: u-boot

On Wed, Jun 24, 2015 at 05:00:11PM +0300, Roger Quadros wrote:

> If board is booted with transitions happening on DCAN1 pins then
> the following warning is seen in the kernel at boot when the
> hwmod layer initializes.
> 
> "omap_hwmod: dcan1: _wait_target_disable failed"
> 
> This is because DCAN1 module's SWAKEUP mechanism is broken
> and it fails to correctly turn OFF if it sees a transition on the
> DCAN1 pins. Suggested workaround is to keep DCAN1 pins in safe mode
> while enabling/disabling DCAN1 module.
> 
> The hwmod layer enables and disables all modules at boot
> and we have no opportunity to put the DCAN1 pins in safe mode
> at that point.
> 
> DCAN1 is not used by u-boot so it doesn't matter to it if these
> pins are in safe mode. The kernel driver correctly configures
> the right mode when DCAN1 is active.
> 
> Signed-off-by: Roger Quadros <rogerq@ti.com>

Applied to u-boot/master, thanks!

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20150710/11c2d7ca/attachment.sig>

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [U-Boot] [U-Boot, u-boot, 2/2] ARM: beagle_x15: prevent DCAN1 _wait_target_disable failure in kernel
  2015-06-25  7:25 ` [U-Boot] [u-boot][PATCH 2/2] ARM: beagle_x15: " Roger Quadros
@ 2015-07-10 12:57   ` Tom Rini
  2015-07-13 10:41     ` Roger Quadros
  0 siblings, 1 reply; 6+ messages in thread
From: Tom Rini @ 2015-07-10 12:57 UTC (permalink / raw)
  To: u-boot

On Thu, Jun 25, 2015 at 10:25:50AM +0300, Roger Quadros wrote:

> If board is booted with transitions happening on DCAN1 pins then
> the following warning is seen in the kernel at boot when the
> hwmod layer initializes.
> 
> "omap_hwmod: dcan1: _wait_target_disable failed"
> 
> This is because DCAN1 module's SWAKEUP mechanism is broken
> and it fails to correctly turn OFF if it sees a transition on the
> DCAN1 pins. Suggested workaround is to keep DCAN1 pins in safe mode
> while enabling/disabling DCAN1 module.
> 
> The hwmod layer enables and disables all modules at boot
> and we have no opportunity to put the DCAN1 pins in safe mode
> at that point.
> 
> DCAN1 is not used by u-boot so it doesn't matter to it if these
> pins are in safe mode. The kernel driver correctly configures
> the right mode when DCAN1 is active.
> 
> Signed-off-by: Roger Quadros <rogerq@ti.com>

With %s/PULLUP/PULL_UP/ based on the DRA7xx patch, applied to
u-boot/master, thanks!

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20150710/40655270/attachment.sig>

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [U-Boot] [U-Boot, u-boot, 2/2] ARM: beagle_x15: prevent DCAN1 _wait_target_disable failure in kernel
  2015-07-10 12:57   ` [U-Boot] [U-Boot, u-boot, " Tom Rini
@ 2015-07-13 10:41     ` Roger Quadros
  0 siblings, 0 replies; 6+ messages in thread
From: Roger Quadros @ 2015-07-13 10:41 UTC (permalink / raw)
  To: u-boot

On 10/07/15 15:57, Tom Rini wrote:
> On Thu, Jun 25, 2015 at 10:25:50AM +0300, Roger Quadros wrote:
> 
>> If board is booted with transitions happening on DCAN1 pins then
>> the following warning is seen in the kernel at boot when the
>> hwmod layer initializes.
>>
>> "omap_hwmod: dcan1: _wait_target_disable failed"
>>
>> This is because DCAN1 module's SWAKEUP mechanism is broken
>> and it fails to correctly turn OFF if it sees a transition on the
>> DCAN1 pins. Suggested workaround is to keep DCAN1 pins in safe mode
>> while enabling/disabling DCAN1 module.
>>
>> The hwmod layer enables and disables all modules at boot
>> and we have no opportunity to put the DCAN1 pins in safe mode
>> at that point.
>>
>> DCAN1 is not used by u-boot so it doesn't matter to it if these
>> pins are in safe mode. The kernel driver correctly configures
>> the right mode when DCAN1 is active.
>>
>> Signed-off-by: Roger Quadros <rogerq@ti.com>
> 
> With %s/PULLUP/PULL_UP/ based on the DRA7xx patch, applied to
> u-boot/master, thanks!
> 
Thanks Tom :).

cheers,
-roger

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2015-07-13 10:41 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-06-24 14:00 [U-Boot] [u-boot][PATCH] ARM: DRA7-evm: prevent DCAN1 _wait_target_disable failure in kernel Roger Quadros
2015-06-24 17:40 ` Nishanth Menon
2015-06-25  7:25 ` [U-Boot] [u-boot][PATCH 2/2] ARM: beagle_x15: " Roger Quadros
2015-07-10 12:57   ` [U-Boot] [U-Boot, u-boot, " Tom Rini
2015-07-13 10:41     ` Roger Quadros
2015-07-10 12:56 ` [U-Boot] [U-Boot, u-boot] ARM: DRA7-evm: " Tom Rini

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.