[U-Boot] [PATCH] OMAP3: pandora: fix booting without serial attached

When the board is booted without serial cable attached (which is how most of them will be used) UART RX is left floating and sometimes picks noise, which interrupts countdown and enters U-Boot prompt instead of booting the kernel. Fix this by setting up internal pullup on UART RX pin.
Signed-off-by: Grazvydas Ignotas notasas@gmail.com --- board/pandora/pandora.h | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/board/pandora/pandora.h b/board/pandora/pandora.h index 5bfa0f9..f1e1db9 100644 --- a/board/pandora/pandora.h +++ b/board/pandora/pandora.h @@ -219,7 +219,7 @@ const omap3_sysinfo sysinfo = { MUX_VAL(CP(UART2_RX), (IEN | PTD | EN | M4)) /*GPIO_147,*/\ /*UART2_RX*/\ /*Serial Interface (Peripheral boot, Linux console, on AV connector)*/\ - MUX_VAL(CP(UART3_RX_IRRX), (IEN | PTD | DIS | M0)) /*UART3_RX*/\ + MUX_VAL(CP(UART3_RX_IRRX), (IEN | PTU | EN | M0)) /*UART3_RX*/\ MUX_VAL(CP(UART3_TX_IRTX), (IDIS | PTD | DIS | M0)) /*UART3_TX*/\ /*LEDs (Controlled by OMAP)*/\ MUX_VAL(CP(MMC1_DAT6), (IDIS | PTD | DIS | M4)) /*GPIO_128*/\

Grazvydas Ignotas wrote:
When the board is booted without serial cable attached (which is how most of them will be used) UART RX is left floating and sometimes picks noise, which interrupts countdown and enters U-Boot prompt instead of booting the kernel. Fix this by setting up internal pullup on UART RX pin.
Signed-off-by: Grazvydas Ignotas notasas@gmail.com
board/pandora/pandora.h | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/board/pandora/pandora.h b/board/pandora/pandora.h index 5bfa0f9..f1e1db9 100644 --- a/board/pandora/pandora.h +++ b/board/pandora/pandora.h @@ -219,7 +219,7 @@ const omap3_sysinfo sysinfo = { MUX_VAL(CP(UART2_RX), (IEN | PTD | EN | M4)) /*GPIO_147,*/\ /*UART2_RX*/\ /*Serial Interface (Peripheral boot, Linux console, on AV connector)*/\
- MUX_VAL(CP(UART3_RX_IRRX), (IEN | PTD | DIS | M0)) /*UART3_RX*/\
- MUX_VAL(CP(UART3_RX_IRRX), (IEN | PTU | EN | M0)) /*UART3_RX*/\ MUX_VAL(CP(UART3_TX_IRTX), (IDIS | PTD | DIS | M0)) /*UART3_TX*/\ /*LEDs (Controlled by OMAP)*/\ MUX_VAL(CP(MMC1_DAT6), (IDIS | PTD | DIS | M4)) /*GPIO_128*/\
Will this change disable normal u-boot serial? From the config file
/* * select serial console configuration */ #define CONFIG_CONS_INDEX 3 #define CONFIG_SYS_NS16550_COM3 OMAP34XX_UART3 #define CONFIG_SERIAL3 3
It looks like it will.
This must be as a non default config option.
Tom

On Wed, Nov 11, 2009 at 11:14 PM, Tom Tom.Rix@windriver.com wrote:
Grazvydas Ignotas wrote:
When the board is booted without serial cable attached (which is how most of them will be used) UART RX is left floating and sometimes picks noise, which interrupts countdown and enters U-Boot prompt instead of booting the kernel. Fix this by setting up internal pullup on UART RX pin.
Signed-off-by: Grazvydas Ignotas notasas@gmail.com
board/pandora/pandora.h | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/board/pandora/pandora.h b/board/pandora/pandora.h index 5bfa0f9..f1e1db9 100644 --- a/board/pandora/pandora.h +++ b/board/pandora/pandora.h @@ -219,7 +219,7 @@ const omap3_sysinfo sysinfo = { MUX_VAL(CP(UART2_RX), (IEN | PTD | EN | M4)) /*GPIO_147,*/\
/*UART2_RX*/\ /*Serial Interface (Peripheral boot, Linux console, on AV connector)*/\
- MUX_VAL(CP(UART3_RX_IRRX), (IEN | PTD | DIS | M0))
/*UART3_RX*/\
- MUX_VAL(CP(UART3_RX_IRRX), (IEN | PTU | EN | M0))
/*UART3_RX*/\ MUX_VAL(CP(UART3_TX_IRTX), (IDIS | PTD | DIS | M0)) /*UART3_TX*/\ /*LEDs (Controlled by OMAP)*/\ MUX_VAL(CP(MMC1_DAT6), (IDIS | PTD | DIS | M4)) /*GPIO_128*/\
Will this change disable normal u-boot serial?
No it won't, it only enables weak internal pullup resistor in OMAP, which won't prevent the UART from working, only pull it up when nothing is driving the pin (i.e. cable not conneted).
From the config file
/* * select serial console configuration */ #define CONFIG_CONS_INDEX 3 #define CONFIG_SYS_NS16550_COM3 OMAP34XX_UART3 #define CONFIG_SERIAL3 3
It looks like it will.
This must be as a non default config option.
Tom

Grazvydas Ignotas wrote:
On Wed, Nov 11, 2009 at 11:14 PM, Tom Tom.Rix@windriver.com wrote:
Grazvydas Ignotas wrote:
When the board is booted without serial cable attached (which is how most of them will be used) UART RX is left floating and sometimes picks noise, which interrupts countdown and enters U-Boot prompt instead of booting the kernel. Fix this by setting up internal pullup on UART RX pin.
Signed-off-by: Grazvydas Ignotas notasas@gmail.com
board/pandora/pandora.h | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/board/pandora/pandora.h b/board/pandora/pandora.h index 5bfa0f9..f1e1db9 100644 --- a/board/pandora/pandora.h +++ b/board/pandora/pandora.h @@ -219,7 +219,7 @@ const omap3_sysinfo sysinfo = { MUX_VAL(CP(UART2_RX), (IEN | PTD | EN | M4)) /*GPIO_147,*/\
/*UART2_RX*/\ /*Serial Interface (Peripheral boot, Linux console, on AV connector)*/\
MUX_VAL(CP(UART3_RX_IRRX), (IEN | PTD | DIS | M0))
/*UART3_RX*/\
MUX_VAL(CP(UART3_RX_IRRX), (IEN | PTU | EN | M0))
/*UART3_RX*/\ MUX_VAL(CP(UART3_TX_IRTX), (IDIS | PTD | DIS | M0)) /*UART3_TX*/\ /*LEDs (Controlled by OMAP)*/\ MUX_VAL(CP(MMC1_DAT6), (IDIS | PTD | DIS | M4)) /*GPIO_128*/\
Will this change disable normal u-boot serial?
No it won't, it only enables weak internal pullup resistor in OMAP, which won't prevent the UART from working, only pull it up when nothing is driving the pin (i.e. cable not conneted).
Good. Please add this comment to the commit log. Please also add a similar comment to the code.
The mux code is cyptic, documenting helps. Tom
From the config file
/*
- select serial console configuration
*/ #define CONFIG_CONS_INDEX 3 #define CONFIG_SYS_NS16550_COM3 OMAP34XX_UART3 #define CONFIG_SERIAL3 3
It looks like it will.
This must be as a non default config option.
Tom
participants (2)
-
Grazvydas Ignotas
-
Tom