diff mbox

[U-Boot,1/3] omap4: panda: disable uart2 pads during boot

Message ID 1335369921-2443-2-git-send-email-t-kristo@ti.com
State Accepted
Commit 954211cb8c1bcf829edee11ade8d62bf7adc3c07
Delegated to: Tom Rini
Headers show

Commit Message

Tero Kristo April 25, 2012, 4:05 p.m. UTC
If uart2 is enabled during boot, spurious wifi chip transmission will
hang the module and it is impossible to recover from this situation
without hard reset. This will prevent any l4_per domain idle
transitions.

Signed-off-by: Tero Kristo <t-kristo@ti.com>
---
 board/ti/panda/panda_mux_data.h |    8 ++++----
 1 files changed, 4 insertions(+), 4 deletions(-)

Comments

SRICHARAN R May 5, 2012, 9:34 a.m. UTC | #1
Hi Tero,

On Wed, Apr 25, 2012 at 9:35 PM, Tero Kristo <t-kristo@ti.com> wrote:
> If uart2 is enabled during boot, spurious wifi chip transmission will
> hang the module and it is impossible to recover from this situation
> without hard reset. This will prevent any l4_per domain idle
> transitions.
>
> Signed-off-by: Tero Kristo <t-kristo@ti.com>
> ---
>  board/ti/panda/panda_mux_data.h |    8 ++++----
>  1 files changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/board/ti/panda/panda_mux_data.h b/board/ti/panda/panda_mux_data.h
> index 3efc22a..dc8b388 100644
> --- a/board/ti/panda/panda_mux_data.h
> +++ b/board/ti/panda/panda_mux_data.h
> @@ -168,10 +168,10 @@ const struct pad_conf_entry core_padconf_array_non_essential[] = {
>        {ABE_DMIC_DIN1, (IEN | M0)},                                    /* abe_dmic_din1 */
>        {ABE_DMIC_DIN2, (PTU | IEN | M3)},                              /* gpio_121 */
>        {ABE_DMIC_DIN3, (IEN | M0)},                                    /* abe_dmic_din3 */
> -       {UART2_CTS, (PTU | IEN | M0)},                                  /* uart2_cts */
> -       {UART2_RTS, (M0)},                                              /* uart2_rts */
> -       {UART2_RX, (PTU | IEN | M0)},                                   /* uart2_rx */
> -       {UART2_TX, (M0)},                                               /* uart2_tx */
> +       {UART2_CTS, (PTU | IEN | M7)},                                  /* uart2_cts */
> +       {UART2_RTS, (M7)},                                              /* uart2_rts */
> +       {UART2_RX, (PTU | IEN | M7)},                                   /* uart2_rx */
> +       {UART2_TX, (M7)},                                               /* uart2_tx */
>        {HDQ_SIO, (M3)},                                                /* gpio_127 */
>        {MCSPI1_CLK, (IEN | OFF_EN | OFF_PD | OFF_IN | M0)},            /* mcspi1_clk */
>        {MCSPI1_SOMI, (IEN | OFF_EN | OFF_PD | OFF_IN | M0)},           /* mcspi1_somi */
> --

How about not muxing and keeping the pads at reset modes ( safe mode).
 If this works , then better to remove these pads from the table.

Thanks,
 Sricharan
Tero Kristo May 7, 2012, 8:33 a.m. UTC | #2
On Sat, 2012-05-05 at 15:04 +0530, R, Sricharan wrote:
> Hi Tero,
> 
> On Wed, Apr 25, 2012 at 9:35 PM, Tero Kristo <t-kristo@ti.com> wrote:
> > If uart2 is enabled during boot, spurious wifi chip transmission will
> > hang the module and it is impossible to recover from this situation
> > without hard reset. This will prevent any l4_per domain idle
> > transitions.
> >
> > Signed-off-by: Tero Kristo <t-kristo@ti.com>
> > ---
> >  board/ti/panda/panda_mux_data.h |    8 ++++----
> >  1 files changed, 4 insertions(+), 4 deletions(-)
> >
> > diff --git a/board/ti/panda/panda_mux_data.h b/board/ti/panda/panda_mux_data.h
> > index 3efc22a..dc8b388 100644
> > --- a/board/ti/panda/panda_mux_data.h
> > +++ b/board/ti/panda/panda_mux_data.h
> > @@ -168,10 +168,10 @@ const struct pad_conf_entry core_padconf_array_non_essential[] = {
> >        {ABE_DMIC_DIN1, (IEN | M0)},                                    /* abe_dmic_din1 */
> >        {ABE_DMIC_DIN2, (PTU | IEN | M3)},                              /* gpio_121 */
> >        {ABE_DMIC_DIN3, (IEN | M0)},                                    /* abe_dmic_din3 */
> > -       {UART2_CTS, (PTU | IEN | M0)},                                  /* uart2_cts */
> > -       {UART2_RTS, (M0)},                                              /* uart2_rts */
> > -       {UART2_RX, (PTU | IEN | M0)},                                   /* uart2_rx */
> > -       {UART2_TX, (M0)},                                               /* uart2_tx */
> > +       {UART2_CTS, (PTU | IEN | M7)},                                  /* uart2_cts */
> > +       {UART2_RTS, (M7)},                                              /* uart2_rts */
> > +       {UART2_RX, (PTU | IEN | M7)},                                   /* uart2_rx */
> > +       {UART2_TX, (M7)},                                               /* uart2_tx */
> >        {HDQ_SIO, (M3)},                                                /* gpio_127 */
> >        {MCSPI1_CLK, (IEN | OFF_EN | OFF_PD | OFF_IN | M0)},            /* mcspi1_clk */
> >        {MCSPI1_SOMI, (IEN | OFF_EN | OFF_PD | OFF_IN | M0)},           /* mcspi1_somi */
> > --
> 
> How about not muxing and keeping the pads at reset modes ( safe mode).
>  If this works , then better to remove these pads from the table.

This works also, just tried it out to double check.

-Tero
SRICHARAN R May 7, 2012, 8:56 a.m. UTC | #3
Tero,
[snip]
>> > -       {UART2_CTS, (PTU | IEN | M0)},                                  /* uart2_cts */
>> > -       {UART2_RTS, (M0)},                                              /* uart2_rts */
>> > -       {UART2_RX, (PTU | IEN | M0)},                                   /* uart2_rx */
>> > -       {UART2_TX, (M0)},                                               /* uart2_tx */
>> > +       {UART2_CTS, (PTU | IEN | M7)},                                  /* uart2_cts */
>> > +       {UART2_RTS, (M7)},                                              /* uart2_rts */
>> > +       {UART2_RX, (PTU | IEN | M7)},                                   /* uart2_rx */
>> > +       {UART2_TX, (M7)},                                               /* uart2_tx */
>> >        {HDQ_SIO, (M3)},                                                /* gpio_127 */
>> >        {MCSPI1_CLK, (IEN | OFF_EN | OFF_PD | OFF_IN | M0)},            /* mcspi1_clk */
>> >        {MCSPI1_SOMI, (IEN | OFF_EN | OFF_PD | OFF_IN | M0)},           /* mcspi1_somi */
>> > --
>>
>> How about not muxing and keeping the pads at reset modes ( safe mode).
>>  If this works , then better to remove these pads from the table.
>
> This works also, just tried it out to double check.

Thanks. Then better to just remove these entries.

Thanks,
 Sricharan
Tom Rini May 14, 2012, 4:46 p.m. UTC | #4
On Wed, Apr 25, 2012 at 07:05:19PM +0300, Tero Kristo wrote:

> If uart2 is enabled during boot, spurious wifi chip transmission will
> hang the module and it is impossible to recover from this situation
> without hard reset. This will prevent any l4_per domain idle
> transitions.
> 
> Signed-off-by: Tero Kristo <t-kristo@ti.com>

(along with parts 2 and 3 of the series) applied to u-boot-ti/master,
thanks.
diff mbox

Patch

diff --git a/board/ti/panda/panda_mux_data.h b/board/ti/panda/panda_mux_data.h
index 3efc22a..dc8b388 100644
--- a/board/ti/panda/panda_mux_data.h
+++ b/board/ti/panda/panda_mux_data.h
@@ -168,10 +168,10 @@  const struct pad_conf_entry core_padconf_array_non_essential[] = {
 	{ABE_DMIC_DIN1, (IEN | M0)},					/* abe_dmic_din1 */
 	{ABE_DMIC_DIN2, (PTU | IEN | M3)},				/* gpio_121 */
 	{ABE_DMIC_DIN3, (IEN | M0)},					/* abe_dmic_din3 */
-	{UART2_CTS, (PTU | IEN | M0)},					/* uart2_cts */
-	{UART2_RTS, (M0)},						/* uart2_rts */
-	{UART2_RX, (PTU | IEN | M0)},					/* uart2_rx */
-	{UART2_TX, (M0)},						/* uart2_tx */
+	{UART2_CTS, (PTU | IEN | M7)},					/* uart2_cts */
+	{UART2_RTS, (M7)},						/* uart2_rts */
+	{UART2_RX, (PTU | IEN | M7)},					/* uart2_rx */
+	{UART2_TX, (M7)},						/* uart2_tx */
 	{HDQ_SIO, (M3)},						/* gpio_127 */
 	{MCSPI1_CLK, (IEN | OFF_EN | OFF_PD | OFF_IN | M0)},		/* mcspi1_clk */
 	{MCSPI1_SOMI, (IEN | OFF_EN | OFF_PD | OFF_IN | M0)},		/* mcspi1_somi */