arm: lpc32xx: switch SPL builds to driver model

For NXP LPC32xx boards the change enables SPL_DM option, this allows
to use any driver model UART driver in SPL images, hence a restriction
on HSUART in SPL image is removed and well as definitions for non-DM
NS16550 driver, its DM version is used instead.

Because SPL_DM requires malloc(), enable CONFIG_SPL_SYS_MALLOC_SIMPLE
for LPC32xx boards.

The change adds about 5KB to the resulting SPL image (for devkit3250
board SPL image is increased from 10672 to 15608 bytes).

Signed-off-by: Vladimir Zapolskiy <vz@mleia.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
Vladimir Zapolskiy 2015-12-19 23:29:26 +02:00 committed by Tom Rini
parent d25ba89e8b
commit 1222305b55
4 changed files with 6 additions and 19 deletions

View File

@ -43,7 +43,7 @@ void lpc32xx_uart_init(unsigned int uart_id)
&clk->u3clk + (uart_id - 3));
}
#if !CONFIG_IS_ENABLED(OF_CONTROL) && !defined(CONFIG_SPL_BUILD)
#if !CONFIG_IS_ENABLED(OF_CONTROL)
static const struct ns16550_platdata lpc32xx_uart[] = {
{ UART3_BASE, 2, CONFIG_SYS_NS16550_CLK },
{ UART4_BASE, 2, CONFIG_SYS_NS16550_CLK },

View File

@ -18,33 +18,16 @@
/* UART configuration */
#if (CONFIG_SYS_LPC32XX_UART == 1) || (CONFIG_SYS_LPC32XX_UART == 2) || \
(CONFIG_SYS_LPC32XX_UART == 7)
#if defined(CONFIG_SPL_BUILD)
/* SPL images do not support LPC32xx HSUART, UART5 is selected for SPL */
#undef CONFIG_SYS_LPC32XX_UART
#define CONFIG_SYS_LPC32XX_UART 5
#endif
#if !defined(CONFIG_LPC32XX_HSUART)
#define CONFIG_LPC32XX_HSUART
#endif
#endif
#if defined(CONFIG_SPL_BUILD)
#define CONFIG_SYS_NS16550_SERIAL
#define CONFIG_SYS_NS16550_REG_SIZE -4
#define CONFIG_SYS_NS16550_CLK get_serial_clock()
#define CONFIG_SYS_NS16550_COM1 UART3_BASE
#define CONFIG_SYS_NS16550_COM2 UART4_BASE
#define CONFIG_SYS_NS16550_COM3 UART5_BASE
#define CONFIG_SYS_NS16550_COM4 UART6_BASE
#endif
#if !defined(CONFIG_SYS_NS16550_CLK)
#define CONFIG_SYS_NS16550_CLK 13000000
#endif
#if !defined(CONFIG_LPC32XX_HSUART) || defined(CONFIG_SPL_BUILD)
#if !defined(CONFIG_LPC32XX_HSUART)
#define CONFIG_CONS_INDEX (CONFIG_SYS_LPC32XX_UART - 2)
#else
#define CONFIG_CONS_INDEX CONFIG_SYS_LPC32XX_UART

View File

@ -1,5 +1,7 @@
CONFIG_ARM=y
CONFIG_TARGET_DEVKIT3250=y
CONFIG_SPL_SYS_MALLOC_SIMPLE=y
CONFIG_SPL_DM=y
CONFIG_DM_SERIAL=y
CONFIG_DM_GPIO=y
CONFIG_SPL=y

View File

@ -1,5 +1,7 @@
CONFIG_ARM=y
CONFIG_TARGET_WORK_92105=y
CONFIG_SPL_SYS_MALLOC_SIMPLE=y
CONFIG_SPL_DM=y
CONFIG_DM_SERIAL=y
CONFIG_DM_GPIO=y
CONFIG_SPL=y