* [U-Boot] [PATCH v2 1/4] am33xx: Enable UART{1,2,3,4,5} clocks
2012-10-22 19:23 [U-Boot] [PATCH v2 0/4] am335x_evm: Enable UART{1,2,3,4,5} Andrew Bradford
@ 2012-10-22 19:23 ` Andrew Bradford
2012-10-22 19:23 ` [U-Boot] [PATCH v2 2/4] am33xx: Enable UART{1,2,3,4,5} pin-mux Andrew Bradford
` (2 subsequent siblings)
3 siblings, 0 replies; 6+ messages in thread
From: Andrew Bradford @ 2012-10-22 19:23 UTC (permalink / raw)
To: u-boot
If configured to use UART{1,2,3,4,5} such as on the Beaglebone RS232
cape or the am335x_evm daughterboard, enable the required clocks for
the UART in use.
Signed-off-by: Andrew Bradford <andrew@bradfordembedded.com>
Tested-by: Matt Porter <mporter@ti.com>
---
Changes from v1:
Also enable UART3 clocks
arch/arm/cpu/armv7/am33xx/clock.c | 35 +++++++++++++++++++++++++++++++++++
1 file changed, 35 insertions(+)
diff --git a/arch/arm/cpu/armv7/am33xx/clock.c b/arch/arm/cpu/armv7/am33xx/clock.c
index 2b19506..b34f969 100644
--- a/arch/arm/cpu/armv7/am33xx/clock.c
+++ b/arch/arm/cpu/armv7/am33xx/clock.c
@@ -114,6 +114,41 @@ static void enable_per_clocks(void)
while (readl(&cmwkup->wkup_uart0ctrl) != PRCM_MOD_EN)
;
+ /* UART1 */
+#ifdef CONFIG_SERIAL2
+ writel(PRCM_MOD_EN, &cmper->uart1clkctrl);
+ while (readl(&cmper->uart1clkctrl) != PRCM_MOD_EN)
+ ;
+#endif /* CONFIG_SERIAL2 */
+
+ /* UART2 */
+#ifdef CONFIG_SERIAL3
+ writel(PRCM_MOD_EN, &cmper->uart2clkctrl);
+ while (readl(&cmper->uart2clkctrl) != PRCM_MOD_EN)
+ ;
+#endif /* CONFIG_SERIAL3 */
+
+ /* UART3 */
+#ifdef CONFIG_SERIAL4
+ writel(PRCM_MOD_EN, &cmper->uart3clkctrl);
+ while (readl(&cmper->uart3clkctrl) != PRCM_MOD_EN)
+ ;
+#endif /* CONFIG_SERIAL4 */
+
+ /* UART4 */
+#ifdef CONFIG_SERIAL5
+ writel(PRCM_MOD_EN, &cmper->uart4clkctrl);
+ while (readl(&cmper->uart4clkctrl) != PRCM_MOD_EN)
+ ;
+#endif /* CONFIG_SERIAL5 */
+
+ /* UART5 */
+#ifdef CONFIG_SERIAL6
+ writel(PRCM_MOD_EN, &cmper->uart5clkctrl);
+ while (readl(&cmper->uart5clkctrl) != PRCM_MOD_EN)
+ ;
+#endif /* CONFIG_SERIAL6 */
+
/* MMC0*/
writel(PRCM_MOD_EN, &cmper->mmc0clkctrl);
while (readl(&cmper->mmc0clkctrl) != PRCM_MOD_EN)
--
1.7.10.4
^ permalink raw reply related [flat|nested] 6+ messages in thread* [U-Boot] [PATCH v2 2/4] am33xx: Enable UART{1,2,3,4,5} pin-mux
2012-10-22 19:23 [U-Boot] [PATCH v2 0/4] am335x_evm: Enable UART{1,2,3,4,5} Andrew Bradford
2012-10-22 19:23 ` [U-Boot] [PATCH v2 1/4] am33xx: Enable UART{1,2,3,4,5} clocks Andrew Bradford
@ 2012-10-22 19:23 ` Andrew Bradford
2012-10-22 19:23 ` [U-Boot] [PATCH v2 3/4] serial: ns16550: Enable COM5 and COM6 Andrew Bradford
2012-10-22 19:23 ` [U-Boot] [PATCH v2 4/4] am335x_evm: Enable use of UART{1,2,3,4,5} Andrew Bradford
3 siblings, 0 replies; 6+ messages in thread
From: Andrew Bradford @ 2012-10-22 19:23 UTC (permalink / raw)
To: u-boot
If configured to use UART{1,2,3,4,5} such as on the Beaglebone RS232
cape or on the am335x_evm daughterboard, enable the proper pin-muxing.
Signed-off-by: Andrew Bradford <andrew@bradfordembedded.com>
Tested-by: Matt Porter <mporter@ti.com>
---
Changes from v1:
Also enable UART3 pin mux
arch/arm/cpu/armv7/am33xx/board.c | 17 ++++++++
arch/arm/include/asm/arch-am33xx/sys_proto.h | 7 +++-
board/ti/am335x/mux.c | 54 ++++++++++++++++++++++++++
3 files changed, 77 insertions(+), 1 deletion(-)
diff --git a/arch/arm/cpu/armv7/am33xx/board.c b/arch/arm/cpu/armv7/am33xx/board.c
index 978b184..e324265 100644
--- a/arch/arm/cpu/armv7/am33xx/board.c
+++ b/arch/arm/cpu/armv7/am33xx/board.c
@@ -152,7 +152,24 @@ void s_init(void)
/* UART softreset */
u32 regVal;
+#ifdef CONFIG_SERIAL1
enable_uart0_pin_mux();
+#endif /* CONFIG_SERIAL1 */
+#ifdef CONFIG_SERIAL2
+ enable_uart1_pin_mux();
+#endif /* CONFIG_SERIAL2 */
+#ifdef CONFIG_SERIAL3
+ enable_uart2_pin_mux();
+#endif /* CONFIG_SERIAL3 */
+#ifdef CONFIG_SERIAL4
+ enable_uart3_pin_mux();
+#endif /* CONFIG_SERIAL4 */
+#ifdef CONFIG_SERIAL5
+ enable_uart4_pin_mux();
+#endif /* CONFIG_SERIAL5 */
+#ifdef CONFIG_SERIAL6
+ enable_uart5_pin_mux();
+#endif /* CONFIG_SERIAL6 */
regVal = readl(&uart_base->uartsyscfg);
regVal |= UART_RESET;
diff --git a/arch/arm/include/asm/arch-am33xx/sys_proto.h b/arch/arm/include/asm/arch-am33xx/sys_proto.h
index 819ea65..3ef1ff2 100644
--- a/arch/arm/include/asm/arch-am33xx/sys_proto.h
+++ b/arch/arm/include/asm/arch-am33xx/sys_proto.h
@@ -53,11 +53,16 @@ void ddr_pll_config(unsigned int ddrpll_M);
/*
* We have three pin mux functions that must exist. We must be able to enable
- * uart0, for initial output and i2c0 to read the main EEPROM. We then have a
+ * a uart for initial output and i2c0 to read the main EEPROM. We then have a
* main pinmux function that can be overridden to enable all other pinmux that
* is required on the board.
*/
void enable_uart0_pin_mux(void);
+void enable_uart1_pin_mux(void);
+void enable_uart2_pin_mux(void);
+void enable_uart3_pin_mux(void);
+void enable_uart4_pin_mux(void);
+void enable_uart5_pin_mux(void);
void enable_i2c0_pin_mux(void);
void enable_board_pin_mux(struct am335x_baseboard_id *header);
#endif
diff --git a/board/ti/am335x/mux.c b/board/ti/am335x/mux.c
index 80becd5..82b5852 100644
--- a/board/ti/am335x/mux.c
+++ b/board/ti/am335x/mux.c
@@ -259,6 +259,36 @@ static struct module_pin_mux uart0_pin_mux[] = {
{-1},
};
+static struct module_pin_mux uart1_pin_mux[] = {
+ {OFFSET(uart1_rxd), (MODE(0) | PULLUP_EN | RXACTIVE)}, /* UART1_RXD */
+ {OFFSET(uart1_txd), (MODE(0) | PULLUDEN)}, /* UART1_TXD */
+ {-1},
+};
+
+static struct module_pin_mux uart2_pin_mux[] = {
+ {OFFSET(spi0_sclk), (MODE(1) | PULLUP_EN | RXACTIVE)}, /* UART2_RXD */
+ {OFFSET(spi0_d0), (MODE(1) | PULLUDEN)}, /* UART2_TXD */
+ {-1},
+};
+
+static struct module_pin_mux uart3_pin_mux[] = {
+ {OFFSET(spi0_cs1), (MODE(1) | PULLUP_EN | RXACTIVE)}, /* UART3_RXD */
+ {OFFSET(ecap0_in_pwm0_out), (MODE(1) | PULLUDEN)}, /* UART3_TXD */
+ {-1},
+};
+
+static struct module_pin_mux uart4_pin_mux[] = {
+ {OFFSET(gpmc_wait0), (MODE(6) | PULLUP_EN | RXACTIVE)}, /* UART4_RXD */
+ {OFFSET(gpmc_wpn), (MODE(6) | PULLUDEN)}, /* UART4_TXD */
+ {-1},
+};
+
+static struct module_pin_mux uart5_pin_mux[] = {
+ {OFFSET(lcd_data9), (MODE(4) | PULLUP_EN | RXACTIVE)}, /* UART5_RXD */
+ {OFFSET(lcd_data8), (MODE(4) | PULLUDEN)}, /* UART5_TXD */
+ {-1},
+};
+
static struct module_pin_mux mmc0_pin_mux[] = {
{OFFSET(mmc0_dat3), (MODE(0) | RXACTIVE | PULLUP_EN)}, /* MMC0_DAT3 */
{OFFSET(mmc0_dat2), (MODE(0) | RXACTIVE | PULLUP_EN)}, /* MMC0_DAT2 */
@@ -381,6 +411,30 @@ void enable_uart0_pin_mux(void)
configure_module_pin_mux(uart0_pin_mux);
}
+void enable_uart1_pin_mux(void)
+{
+ configure_module_pin_mux(uart1_pin_mux);
+}
+
+void enable_uart2_pin_mux(void)
+{
+ configure_module_pin_mux(uart2_pin_mux);
+}
+
+void enable_uart3_pin_mux(void)
+{
+ configure_module_pin_mux(uart3_pin_mux);
+}
+
+void enable_uart4_pin_mux(void)
+{
+ configure_module_pin_mux(uart4_pin_mux);
+}
+
+void enable_uart5_pin_mux(void)
+{
+ configure_module_pin_mux(uart5_pin_mux);
+}
void enable_i2c0_pin_mux(void)
{
--
1.7.10.4
^ permalink raw reply related [flat|nested] 6+ messages in thread* [U-Boot] [PATCH v2 3/4] serial: ns16550: Enable COM5 and COM6
2012-10-22 19:23 [U-Boot] [PATCH v2 0/4] am335x_evm: Enable UART{1,2,3,4,5} Andrew Bradford
2012-10-22 19:23 ` [U-Boot] [PATCH v2 1/4] am33xx: Enable UART{1,2,3,4,5} clocks Andrew Bradford
2012-10-22 19:23 ` [U-Boot] [PATCH v2 2/4] am33xx: Enable UART{1,2,3,4,5} pin-mux Andrew Bradford
@ 2012-10-22 19:23 ` Andrew Bradford
2012-10-22 19:23 ` [U-Boot] [PATCH v2 4/4] am335x_evm: Enable use of UART{1,2,3,4,5} Andrew Bradford
3 siblings, 0 replies; 6+ messages in thread
From: Andrew Bradford @ 2012-10-22 19:23 UTC (permalink / raw)
To: u-boot
Increase the possible number of ns16550 serial devices from 4 to 6.
Signed-off-by: Andrew Bradford <andrew@bradfordembedded.com>
Tested-by: Matt Porter <mporter@ti.com>
---
Changes from v1:
Consolidation of patches 3, 4, and 5 on top of Marek Vasut's
recent serial changes.
drivers/serial/serial_ns16550.c | 36 +++++++++++++++++++++++++++++++++---
1 file changed, 33 insertions(+), 3 deletions(-)
diff --git a/drivers/serial/serial_ns16550.c b/drivers/serial/serial_ns16550.c
index b5d1248..5fb3841 100644
--- a/drivers/serial/serial_ns16550.c
+++ b/drivers/serial/serial_ns16550.c
@@ -34,7 +34,7 @@
DECLARE_GLOBAL_DATA_PTR;
#if !defined(CONFIG_CONS_INDEX)
-#elif (CONFIG_CONS_INDEX < 1) || (CONFIG_CONS_INDEX > 4)
+#elif (CONFIG_CONS_INDEX < 1) || (CONFIG_CONS_INDEX > 6)
#error "Invalid console index value."
#endif
@@ -46,12 +46,16 @@ DECLARE_GLOBAL_DATA_PTR;
#error "Console port 3 defined but not configured."
#elif CONFIG_CONS_INDEX == 4 && !defined(CONFIG_SYS_NS16550_COM4)
#error "Console port 4 defined but not configured."
+#elif CONFIG_CONS_INDEX == 5 && !defined(CONFIG_SYS_NS16550_COM5)
+#error "Console port 5 defined but not configured."
+#elif CONFIG_CONS_INDEX == 6 && !defined(CONFIG_SYS_NS16550_COM6)
+#error "Console port 6 defined but not configured."
#endif
/* Note: The port number specified in the functions is 1 based.
* the array is 0 based.
*/
-static NS16550_t serial_ports[4] = {
+static NS16550_t serial_ports[6] = {
#ifdef CONFIG_SYS_NS16550_COM1
(NS16550_t)CONFIG_SYS_NS16550_COM1,
#else
@@ -68,7 +72,17 @@ static NS16550_t serial_ports[4] = {
NULL,
#endif
#ifdef CONFIG_SYS_NS16550_COM4
- (NS16550_t)CONFIG_SYS_NS16550_COM4
+ (NS16550_t)CONFIG_SYS_NS16550_COM4,
+#else
+ NULL,
+#endif
+#ifdef CONFIG_SYS_NS16550_COM5
+ (NS16550_t)CONFIG_SYS_NS16550_COM5,
+#else
+ NULL,
+#endif
+#ifdef CONFIG_SYS_NS16550_COM6
+ (NS16550_t)CONFIG_SYS_NS16550_COM6
#else
NULL
#endif
@@ -231,6 +245,12 @@ struct serial_device eserial3_device =
DECLARE_ESERIAL_FUNCTIONS(4);
struct serial_device eserial4_device =
INIT_ESERIAL_STRUCTURE(4, "eserial3");
+DECLARE_ESERIAL_FUNCTIONS(5);
+struct serial_device eserial5_device =
+ INIT_ESERIAL_STRUCTURE(5, "eserial4");
+DECLARE_ESERIAL_FUNCTIONS(6);
+struct serial_device eserial6_device =
+ INIT_ESERIAL_STRUCTURE(6, "eserial5");
__weak struct serial_device *default_serial_console(void)
{
@@ -242,6 +262,10 @@ __weak struct serial_device *default_serial_console(void)
return &eserial3_device;
#elif CONFIG_CONS_INDEX == 4
return &eserial4_device;
+#elif CONFIG_CONS_INDEX == 5
+ return &eserial5_device;
+#elif CONFIG_CONS_INDEX == 6
+ return &eserial6_device;
#else
#error "Bad CONFIG_CONS_INDEX."
#endif
@@ -261,4 +285,10 @@ void ns16550_serial_initialize(void)
#if defined(CONFIG_SYS_NS16550_COM4)
serial_register(&eserial4_device);
#endif
+#if defined(CONFIG_SYS_NS16550_COM5)
+ serial_register(&eserial5_device);
+#endif
+#if defined(CONFIG_SYS_NS16550_COM6)
+ serial_register(&eserial6_device);
+#endif
}
--
1.7.10.4
^ permalink raw reply related [flat|nested] 6+ messages in thread* [U-Boot] [PATCH v2 4/4] am335x_evm: Enable use of UART{1,2,3,4,5}
2012-10-22 19:23 [U-Boot] [PATCH v2 0/4] am335x_evm: Enable UART{1,2,3,4,5} Andrew Bradford
` (2 preceding siblings ...)
2012-10-22 19:23 ` [U-Boot] [PATCH v2 3/4] serial: ns16550: Enable COM5 and COM6 Andrew Bradford
@ 2012-10-22 19:23 ` Andrew Bradford
2012-10-24 15:41 ` [U-Boot] [PATCH v2 4/4] am335x_evm: Enable use of UART{1, 2, 3, 4, 5} Andrew Bradford
3 siblings, 1 reply; 6+ messages in thread
From: Andrew Bradford @ 2012-10-22 19:23 UTC (permalink / raw)
To: u-boot
Add targets of am335x_evm_uart{1,2,3,4,5} to have serial input/output on
UART{1,2,3,4,5} for use with the Beaglebone RS232 cape, am335x_evm
daughterboard, and other custom configurations.
Signed-off-by: Andrew Bradford <andrew@bradfordembedded.com>
Tested-by: Matt Porter <mporter@ti.com>
---
Changes from v1:
Add UART3 target and register location
boards.cfg | 5 +++++
include/configs/am335x_evm.h | 33 ++++++++++++++++++++++++++++++++-
2 files changed, 37 insertions(+), 1 deletion(-)
diff --git a/boards.cfg b/boards.cfg
index df62251..0944690 100644
--- a/boards.cfg
+++ b/boards.cfg
@@ -226,6 +226,11 @@ integratorap_cm946es arm arm946es integrator armltd
integratorcp_cm946es arm arm946es integrator armltd - integratorcp:CM946ES
ca9x4_ct_vxp arm armv7 vexpress armltd
am335x_evm arm armv7 am335x ti am33xx
+am335x_evm_uart1 arm armv7 am335x ti am33xx am335x_evm:AM33XX_UART_SELECT=1
+am335x_evm_uart2 arm armv7 am335x ti am33xx am335x_evm:AM33XX_UART_SELECT=2
+am335x_evm_uart3 arm armv7 am335x ti am33xx am335x_evm:AM33XX_UART_SELECT=3
+am335x_evm_uart4 arm armv7 am335x ti am33xx am335x_evm:AM33XX_UART_SELECT=4
+am335x_evm_uart5 arm armv7 am335x ti am33xx am335x_evm:AM33XX_UART_SELECT=5
highbank arm armv7 highbank - highbank
mx51_efikamx arm armv7 mx51_efikamx genesi mx5 mx51_efikamx:MACH_TYPE=MACH_TYPE_MX51_EFIKAMX,IMX_CONFIG=board/genesi/mx51_efikamx/imximage_mx.cfg
mx51_efikasb arm armv7 mx51_efikamx genesi mx5 mx51_efikamx:MACH_TYPE=MACH_TYPE_MX51_EFIKASB,IMX_CONFIG=board/genesi/mx51_efikamx/imximage_sb.cfg
diff --git a/include/configs/am335x_evm.h b/include/configs/am335x_evm.h
index 339d4bd..d138e45 100644
--- a/include/configs/am335x_evm.h
+++ b/include/configs/am335x_evm.h
@@ -158,9 +158,15 @@
/* NS16550 Configuration */
#define CONFIG_SYS_NS16550
#define CONFIG_SYS_NS16550_SERIAL
+#define CONFIG_SERIAL_MULTI
#define CONFIG_SYS_NS16550_REG_SIZE (-4)
#define CONFIG_SYS_NS16550_CLK (48000000)
#define CONFIG_SYS_NS16550_COM1 0x44e09000 /* Base EVM has UART0 */
+#define CONFIG_SYS_NS16550_COM2 0x48022000 /* UART1 */
+#define CONFIG_SYS_NS16550_COM3 0x48024000 /* UART2 */
+#define CONFIG_SYS_NS16550_COM4 0x481a6000 /* UART3 */
+#define CONFIG_SYS_NS16550_COM5 0x481a8000 /* UART4 */
+#define CONFIG_SYS_NS16550_COM6 0x481aa000 /* UART5 */
/* I2C Configuration */
#define CONFIG_I2C
@@ -182,11 +188,36 @@
#define CONFIG_SYS_BAUDRATE_TABLE { 110, 300, 600, 1200, 2400, \
4800, 9600, 14400, 19200, 28800, 38400, 56000, 57600, 115200 }
+#define CONFIG_ENV_OVERWRITE 1
+
/*
- * select serial console configuration
+ * select serial console configuration, uart0 always enabled
*/
#define CONFIG_SERIAL1 1
+#ifndef CONFIG_AM33XX_UART_SELECT
#define CONFIG_CONS_INDEX 1
+#endif /* CONFIG_AM33XX_UART_SELECT */
+
+#if CONFIG_AM33XX_UART_SELECT == 1
+#define CONFIG_SERIAL2 1
+#define CONFIG_CONS_INDEX 2
+#endif /* CONFIG_AM33XX_UART_SELECT == 1 */
+#if CONFIG_AM33XX_UART_SELECT == 2
+#define CONFIG_SERIAL3 1
+#define CONFIG_CONS_INDEX 3
+#endif /* CONFIG_AM33XX_UART_SELECT == 2 */
+#if CONFIG_AM33XX_UART_SELECT == 3
+#define CONFIG_SERIAL4 1
+#define CONFIG_CONS_INDEX 4
+#endif /* CONFIG_AM33XX_UART_SELECT == 3 */
+#if CONFIG_AM33XX_UART_SELECT == 4
+#define CONFIG_SERIAL5 1
+#define CONFIG_CONS_INDEX 5
+#endif /* CONFIG_AM33XX_UART_SELECT == 4 */
+#if CONFIG_AM33XX_UART_SELECT == 5
+#define CONFIG_SERIAL6 1
+#define CONFIG_CONS_INDEX 6
+#endif /* CONFIG_AM33XX_UART_SELECT == 5 */
#define CONFIG_SYS_CONSOLE_INFO_QUIET
#define CONFIG_ENV_IS_NOWHERE
--
1.7.10.4
^ permalink raw reply related [flat|nested] 6+ messages in thread* [U-Boot] [PATCH v2 4/4] am335x_evm: Enable use of UART{1, 2, 3, 4, 5}
2012-10-22 19:23 ` [U-Boot] [PATCH v2 4/4] am335x_evm: Enable use of UART{1,2,3,4,5} Andrew Bradford
@ 2012-10-24 15:41 ` Andrew Bradford
0 siblings, 0 replies; 6+ messages in thread
From: Andrew Bradford @ 2012-10-24 15:41 UTC (permalink / raw)
To: u-boot
On Mon, 22 Oct 2012 15:23:29 -0400
Andrew Bradford <andrew@bradfordembedded.com> wrote:
> Add targets of am335x_evm_uart{1,2,3,4,5} to have serial input/output
> on UART{1,2,3,4,5} for use with the Beaglebone RS232 cape, am335x_evm
> daughterboard, and other custom configurations.
>
> Signed-off-by: Andrew Bradford <andrew@bradfordembedded.com>
> Tested-by: Matt Porter <mporter@ti.com>
> ---
> Changes from v1:
> Add UART3 target and register location
>
> boards.cfg | 5 +++++
> include/configs/am335x_evm.h | 33 ++++++++++++++++++++++++++++++++-
> 2 files changed, 37 insertions(+), 1 deletion(-)
>
> diff --git a/boards.cfg b/boards.cfg
> index df62251..0944690 100644
> --- a/boards.cfg
> +++ b/boards.cfg
> @@ -226,6 +226,11 @@ integratorap_cm946es arm
> arm946es integrator armltd integratorcp_cm946es
> arm arm946es integrator armltd
> - integratorcp:CM946ES ca9x4_ct_vxp
> arm armv7 vexpress armltd
> am335x_evm arm armv7
> am335x ti am33xx
> +am335x_evm_uart1 arm armv7
> am335x ti am33xx
> am335x_evm:AM33XX_UART_SELECT=1 +am335x_evm_uart2
> arm armv7 am335x ti
> am33xx am335x_evm:AM33XX_UART_SELECT=2
> +am335x_evm_uart3 arm armv7
> am335x ti am33xx
> am335x_evm:AM33XX_UART_SELECT=3 +am335x_evm_uart4
> arm armv7 am335x ti
> am33xx am335x_evm:AM33XX_UART_SELECT=4
> +am335x_evm_uart5 arm armv7
> am335x ti am33xx
> am335x_evm:AM33XX_UART_SELECT=5 highbank
> arm armv7 highbank - highbank
> mx51_efikamx arm armv7
> mx51_efikamx genesi mx5
> mx51_efikamx:MACH_TYPE=MACH_TYPE_MX51_EFIKAMX,IMX_CONFIG=board/genesi/mx51_efikamx/imximage_mx.cfg
> mx51_efikasb arm armv7
> mx51_efikamx genesi mx5
> mx51_efikamx:MACH_TYPE=MACH_TYPE_MX51_EFIKASB,IMX_CONFIG=board/genesi/mx51_efikamx/imximage_sb.cfg
> diff --git a/include/configs/am335x_evm.h
> b/include/configs/am335x_evm.h index 339d4bd..d138e45 100644 ---
> a/include/configs/am335x_evm.h +++ b/include/configs/am335x_evm.h @@
> -158,9 +158,15 @@ /* NS16550 Configuration */ #define
> CONFIG_SYS_NS16550 #define CONFIG_SYS_NS16550_SERIAL +#define
> CONFIG_SERIAL_MULTI #define CONFIG_SYS_NS16550_REG_SIZE (-4)
> #define CONFIG_SYS_NS16550_CLK (48000000) #define
> CONFIG_SYS_NS16550_COM1 0x44e09000 /* Base EVM
> has UART0 */ +#define CONFIG_SYS_NS16550_COM2
> 0x48022000 /* UART1 */ +#define
> CONFIG_SYS_NS16550_COM3 0x48024000 /* UART2 */
> +#define CONFIG_SYS_NS16550_COM4 0x481a6000 /*
> UART3 */ +#define CONFIG_SYS_NS16550_COM5
> 0x481a8000 /* UART4 */ +#define
> CONFIG_SYS_NS16550_COM6 0x481aa000 /* UART5
> */ /* I2C Configuration */ #define CONFIG_I2C @@ -182,11 +188,36 @@
> #define CONFIG_SYS_BAUDRATE_TABLE { 110, 300, 600, 1200, 2400,
> \ 4800, 9600, 14400, 19200, 28800, 38400, 56000, 57600, 115200 }
> +#define CONFIG_ENV_OVERWRITE 1 + /*
> - * select serial console configuration
> + * select serial console configuration, uart0 always enabled
> */
> #define CONFIG_SERIAL1 1
> +#ifndef CONFIG_AM33XX_UART_SELECT
> #define CONFIG_CONS_INDEX 1
> +#endif /* CONFIG_AM33XX_UART_SELECT */
> +
> +#if CONFIG_AM33XX_UART_SELECT == 1
> +#define CONFIG_SERIAL2 1
> +#define CONFIG_CONS_INDEX 2
> +#endif /* CONFIG_AM33XX_UART_SELECT == 1 */
> +#if CONFIG_AM33XX_UART_SELECT == 2
> +#define CONFIG_SERIAL3 1
> +#define CONFIG_CONS_INDEX 3
> +#endif /* CONFIG_AM33XX_UART_SELECT == 2 */
> +#if CONFIG_AM33XX_UART_SELECT == 3
> +#define CONFIG_SERIAL4 1
> +#define CONFIG_CONS_INDEX 4
> +#endif /* CONFIG_AM33XX_UART_SELECT == 3 */
> +#if CONFIG_AM33XX_UART_SELECT == 4
> +#define CONFIG_SERIAL5 1
> +#define CONFIG_CONS_INDEX 5
> +#endif /* CONFIG_AM33XX_UART_SELECT == 4 */
> +#if CONFIG_AM33XX_UART_SELECT == 5
> +#define CONFIG_SERIAL6 1
> +#define CONFIG_CONS_INDEX 6
> +#endif /* CONFIG_AM33XX_UART_SELECT == 5 */
> #define CONFIG_SYS_CONSOLE_INFO_QUIET
>
> #define CONFIG_ENV_IS_NOWHERE
Having all of this in include/configs/am335x_evm.h is rather ugly and
hard to read. I have a v3 cleanup patchset coming shortly to fix this
by just setting SERIALX and CONS_INDEX in the boards.cfg. It's much
easier to read.
Please do not apply this v2 series.
Thanks,
Andrew
^ permalink raw reply [flat|nested] 6+ messages in thread