[U-Boot] [PATCH v4 0/3] board: at91sam9n12ek: Convert to support DM and DT

The purpose of the patch set is to convert the board to support the driver model and the device tree.
The patch set is based on the patch set: 1./ [PATCH v3 0/6] ARM: dts: at91: Add dts files for AT91 SoCs' boards https://lists.denx.de/pipermail/u-boot/2017-April/287845.html
Changes in v4: - Adjust CONFIG_ENV_OFFSET for NAND to avoid the conflict caused by the increased binary size. - Rebase on the master branch(ad46af0e76) of u-boot-dm git tree. - Update the cover-letter. - Add Reviewed-by tag.
Changes in v3: - Rebase on the master branch (22e10be45) of u-boot-dm git tree. - Update the cover-letter.
Changes in v2: - Remain the SPI speed macros. - Disable the SPL option for the nand config. - Add support of Atmel uart be used in the board_init_f stage. - Improve the commit log. - Use CONFIG_DEBUG_UART_CLOCK as the input clock for the early debug UART. - Move out [PATCH 1/4] ARM: dts: at91: add dts files for at91sam9n12ek.
Wenyou Yang (3): configs: at91sam9n12ek: Update for DT and DM support board: at91sam9n12ek: Clean up code board: at91sam9n12ek: Enable early debug UART
board/atmel/at91sam9n12ek/at91sam9n12ek.c | 64 +++++++------------------------ configs/at91sam9n12ek_mmc_defconfig | 25 +++++++++++- configs/at91sam9n12ek_nandflash_defconfig | 31 +++++++++++---- configs/at91sam9n12ek_spiflash_defconfig | 32 ++++++++++++---- include/configs/at91sam9n12ek.h | 21 +--------- 5 files changed, 87 insertions(+), 86 deletions(-)

Update the configuration files to support the device tree and driver model. The device clock and pins configuration are handled by the clock and the pinctrl drivers respectively.
Because the limitation of internal SRAM size, the SPL with driver model can't be supported, disable the SPL option.
Signed-off-by: Wenyou Yang wenyou.yang@atmel.com Reviewed-by: Simon Glass sjg@chromium.org ---
Changes in v4: - Adjust CONFIG_ENV_OFFSET for NAND to avoid the conflict caused by the increased binary size.
Changes in v3: None Changes in v2: - Remain the SPI speed macros. - Disable the SPL option for the nand config. - Add support of Atmel uart be used in the board_init_f stage. - Improve the commit log.
board/atmel/at91sam9n12ek/at91sam9n12ek.c | 2 ++ configs/at91sam9n12ek_mmc_defconfig | 19 ++++++++++++++++++- configs/at91sam9n12ek_nandflash_defconfig | 25 ++++++++++++++++++------- configs/at91sam9n12ek_spiflash_defconfig | 26 ++++++++++++++++++-------- include/configs/at91sam9n12ek.h | 21 ++------------------- 5 files changed, 58 insertions(+), 35 deletions(-)
diff --git a/board/atmel/at91sam9n12ek/at91sam9n12ek.c b/board/atmel/at91sam9n12ek/at91sam9n12ek.c index 58da2d27f8..e3f9cbbe50 100644 --- a/board/atmel/at91sam9n12ek/at91sam9n12ek.c +++ b/board/atmel/at91sam9n12ek/at91sam9n12ek.c @@ -133,6 +133,7 @@ void lcd_show_board_info(void) #endif /* CONFIG_LCD */
/* SPI chip select control */ +#ifndef CONFIG_DM_SPI #ifdef CONFIG_ATMEL_SPI #include <spi.h> int spi_cs_is_valid(unsigned int bus, unsigned int cs) @@ -164,6 +165,7 @@ void spi_cs_deactivate(struct spi_slave *slave) } } #endif /* CONFIG_ATMEL_SPI */ +#endif
#ifdef CONFIG_GENERIC_ATMEL_MCI int board_mmc_init(bd_t *bd) diff --git a/configs/at91sam9n12ek_mmc_defconfig b/configs/at91sam9n12ek_mmc_defconfig index ef9250bce9..abb07260be 100644 --- a/configs/at91sam9n12ek_mmc_defconfig +++ b/configs/at91sam9n12ek_mmc_defconfig @@ -1,6 +1,8 @@ CONFIG_ARM=y CONFIG_ARCH_AT91=y CONFIG_TARGET_AT91SAM9N12EK=y +CONFIG_SYS_MALLOC_F_LEN=0x2000 +CONFIG_DEFAULT_DEVICE_TREE="at91sam9n12ek" CONFIG_SYS_EXTRA_OPTIONS="AT91SAM9N12,SYS_USE_MMC" CONFIG_BOOTDELAY=3 # CONFIG_CONSOLE_MUX is not set @@ -19,9 +21,24 @@ CONFIG_CMD_USB=y CONFIG_CMD_DHCP=y CONFIG_CMD_PING=y CONFIG_CMD_FAT=y +CONFIG_OF_CONTROL=y +CONFIG_DM=y +CONFIG_CLK=y +CONFIG_CLK_AT91=y +CONFIG_DM_GPIO=y +CONFIG_AT91_GPIO=y +CONFIG_DM_MMC=y +CONFIG_GENERIC_ATMEL_MCI=y +CONFIG_DM_SPI_FLASH=y CONFIG_SPI_FLASH=y CONFIG_SPI_FLASH_ATMEL=y +CONFIG_PINCTRL=y +CONFIG_PINCTRL_AT91=y +CONFIG_DM_SERIAL=y +CONFIG_ATMEL_USART=y +CONFIG_DM_SPI=y +CONFIG_ATMEL_SPI=y CONFIG_USB=y +CONFIG_DM_USB=y CONFIG_USB_STORAGE=y CONFIG_LCD=y -CONFIG_OF_LIBFDT=y diff --git a/configs/at91sam9n12ek_nandflash_defconfig b/configs/at91sam9n12ek_nandflash_defconfig index db88973d09..1b420e62b8 100644 --- a/configs/at91sam9n12ek_nandflash_defconfig +++ b/configs/at91sam9n12ek_nandflash_defconfig @@ -1,17 +1,13 @@ CONFIG_ARM=y CONFIG_ARCH_AT91=y CONFIG_TARGET_AT91SAM9N12EK=y -CONFIG_SPL_GPIO_SUPPORT=y -CONFIG_SPL_LIBCOMMON_SUPPORT=y -CONFIG_SPL_LIBGENERIC_SUPPORT=y -CONFIG_SPL_SERIAL_SUPPORT=y -CONFIG_SPL_NAND_SUPPORT=y +CONFIG_SYS_MALLOC_F_LEN=0x2000 +CONFIG_DEFAULT_DEVICE_TREE="at91sam9n12ek" CONFIG_SYS_EXTRA_OPTIONS="AT91SAM9N12,SYS_USE_NANDFLASH" CONFIG_BOOTDELAY=3 # CONFIG_CONSOLE_MUX is not set CONFIG_SYS_CONSOLE_IS_IN_ENV=y # CONFIG_DISPLAY_BOARDINFO is not set -CONFIG_SPL=y CONFIG_HUSH_PARSER=y CONFIG_SYS_PROMPT="U-Boot> " CONFIG_CMD_BOOTZ=y @@ -25,9 +21,24 @@ CONFIG_CMD_USB=y CONFIG_CMD_DHCP=y CONFIG_CMD_PING=y CONFIG_CMD_FAT=y +CONFIG_OF_CONTROL=y +CONFIG_DM=y +CONFIG_CLK=y +CONFIG_CLK_AT91=y +CONFIG_DM_GPIO=y +CONFIG_AT91_GPIO=y +CONFIG_DM_MMC=y +CONFIG_GENERIC_ATMEL_MCI=y +CONFIG_DM_SPI_FLASH=y CONFIG_SPI_FLASH=y CONFIG_SPI_FLASH_ATMEL=y +CONFIG_PINCTRL=y +CONFIG_PINCTRL_AT91=y +CONFIG_DM_SERIAL=y +CONFIG_ATMEL_USART=y +CONFIG_DM_SPI=y +CONFIG_ATMEL_SPI=y CONFIG_USB=y +CONFIG_DM_USB=y CONFIG_USB_STORAGE=y CONFIG_LCD=y -CONFIG_OF_LIBFDT=y diff --git a/configs/at91sam9n12ek_spiflash_defconfig b/configs/at91sam9n12ek_spiflash_defconfig index 4e5d10226e..9048b14de4 100644 --- a/configs/at91sam9n12ek_spiflash_defconfig +++ b/configs/at91sam9n12ek_spiflash_defconfig @@ -1,18 +1,13 @@ CONFIG_ARM=y CONFIG_ARCH_AT91=y CONFIG_TARGET_AT91SAM9N12EK=y -CONFIG_SPL_GPIO_SUPPORT=y -CONFIG_SPL_LIBCOMMON_SUPPORT=y -CONFIG_SPL_LIBGENERIC_SUPPORT=y -CONFIG_SPL_SERIAL_SUPPORT=y -CONFIG_SPL_SPI_FLASH_SUPPORT=y -CONFIG_SPL_SPI_SUPPORT=y +CONFIG_SYS_MALLOC_F_LEN=0x2000 +CONFIG_DEFAULT_DEVICE_TREE="at91sam9n12ek" CONFIG_SYS_EXTRA_OPTIONS="AT91SAM9N12,SYS_USE_SPIFLASH" CONFIG_BOOTDELAY=3 # CONFIG_CONSOLE_MUX is not set CONFIG_SYS_CONSOLE_IS_IN_ENV=y # CONFIG_DISPLAY_BOARDINFO is not set -CONFIG_SPL=y CONFIG_HUSH_PARSER=y CONFIG_SYS_PROMPT="U-Boot> " CONFIG_CMD_BOOTZ=y @@ -26,9 +21,24 @@ CONFIG_CMD_USB=y CONFIG_CMD_DHCP=y CONFIG_CMD_PING=y CONFIG_CMD_FAT=y +CONFIG_OF_CONTROL=y +CONFIG_DM=y +CONFIG_CLK=y +CONFIG_CLK_AT91=y +CONFIG_DM_GPIO=y +CONFIG_AT91_GPIO=y +CONFIG_DM_MMC=y +CONFIG_GENERIC_ATMEL_MCI=y +CONFIG_DM_SPI_FLASH=y CONFIG_SPI_FLASH=y CONFIG_SPI_FLASH_ATMEL=y +CONFIG_PINCTRL=y +CONFIG_PINCTRL_AT91=y +CONFIG_DM_SERIAL=y +CONFIG_ATMEL_USART=y +CONFIG_DM_SPI=y +CONFIG_ATMEL_SPI=y CONFIG_USB=y +CONFIG_DM_USB=y CONFIG_USB_STORAGE=y CONFIG_LCD=y -CONFIG_OF_LIBFDT=y diff --git a/include/configs/at91sam9n12ek.h b/include/configs/at91sam9n12ek.h index 872d471d05..30dfc59da0 100644 --- a/include/configs/at91sam9n12ek.h +++ b/include/configs/at91sam9n12ek.h @@ -28,14 +28,6 @@ #define CONFIG_INITRD_TAG #define CONFIG_SKIP_LOWLEVEL_INIT
-/* general purpose I/O */ -#define CONFIG_AT91_GPIO - -/* serial console */ -#define CONFIG_ATMEL_USART -#define CONFIG_USART_BASE ATMEL_BASE_DBGU -#define CONFIG_USART_ID ATMEL_ID_SYS - /* LCD */ #define LCD_BPP LCD_COLOR16 #define LCD_OUTPUT_BPP 24 @@ -46,7 +38,6 @@ #define CONFIG_ATMEL_HLCD #define CONFIG_ATMEL_LCD_RGB565
- /* * BOOTP options */ @@ -70,14 +61,11 @@ * that address while providing maximum stack area below. */ # define CONFIG_SYS_INIT_SP_ADDR \ - (ATMEL_BASE_SRAM + 0x1000 - GENERATED_GBL_DATA_SIZE) + (ATMEL_BASE_SRAM + 16 * 1024 - GENERATED_GBL_DATA_SIZE)
/* DataFlash */ #ifdef CONFIG_CMD_SF -#define CONFIG_ATMEL_SPI #define CONFIG_SF_DEFAULT_SPEED 30000000 -#define CONFIG_ENV_SPI_MODE SPI_MODE_3 -#define CONFIG_SF_DEFAULT_MODE SPI_MODE_3 #endif
/* NAND flash */ @@ -116,11 +104,6 @@ "bootargs_nand=rootfstype=ubifs ubi.mtd=7 root=ubi0:rootfs rw\0"\ "bootargs_mmc=root=/dev/mmcblk0p2 rw rootfstype=ext4 rootwait\0"
-/* MMC */ -#ifdef CONFIG_CMD_MMC -#define CONFIG_GENERIC_ATMEL_MCI -#endif - /* Ethernet */ #define CONFIG_KS8851_MLL #define CONFIG_KS8851_MLL_BASEADDR 0x30000000 /* use NCS2 */ @@ -157,7 +140,7 @@
/* bootstrap + u-boot + env + linux in nandflash */ #define CONFIG_ENV_IS_IN_NAND -#define CONFIG_ENV_OFFSET 0xc0000 +#define CONFIG_ENV_OFFSET 0x120000 #define CONFIG_ENV_OFFSET_REDUND 0x100000 #define CONFIG_ENV_SIZE 0x20000 /* 1 sector = 128 kB */ #define CONFIG_BOOTCOMMAND \

Update the configuration files to support the device tree and driver model. The device clock and pins configuration are handled by the clock and the pinctrl drivers respectively.
Because the limitation of internal SRAM size, the SPL with driver model can't be supported, disable the SPL option.
Signed-off-by: Wenyou Yang wenyou.yang@atmel.com Reviewed-by: Simon Glass sjg@chromium.org ---
Changes in v4: - Adjust CONFIG_ENV_OFFSET for NAND to avoid the conflict caused by the increased binary size.
Changes in v3: None Changes in v2: - Remain the SPI speed macros. - Disable the SPL option for the nand config. - Add support of Atmel uart be used in the board_init_f stage. - Improve the commit log.
board/atmel/at91sam9n12ek/at91sam9n12ek.c | 2 ++ configs/at91sam9n12ek_mmc_defconfig | 19 ++++++++++++++++++- configs/at91sam9n12ek_nandflash_defconfig | 25 ++++++++++++++++++------- configs/at91sam9n12ek_spiflash_defconfig | 26 ++++++++++++++++++-------- include/configs/at91sam9n12ek.h | 21 ++------------------- 5 files changed, 58 insertions(+), 35 deletions(-)
Applied to u-boot-dm/next, thanks!

Since the introduction of the pinctrl and clk driver and the device tree files, remove unneeded related code from the board file.
Signed-off-by: Wenyou Yang wenyou.yang@atmel.com Reviewed-by: Simon Glass sjg@chromium.org ---
Changes in v4: None Changes in v3: None Changes in v2: None
board/atmel/at91sam9n12ek/at91sam9n12ek.c | 53 ------------------------------- 1 file changed, 53 deletions(-)
diff --git a/board/atmel/at91sam9n12ek/at91sam9n12ek.c b/board/atmel/at91sam9n12ek/at91sam9n12ek.c index e3f9cbbe50..02b7790627 100644 --- a/board/atmel/at91sam9n12ek/at91sam9n12ek.c +++ b/board/atmel/at91sam9n12ek/at91sam9n12ek.c @@ -15,7 +15,6 @@ #include <asm/arch/clk.h> #include <lcd.h> #include <atmel_hlcdc.h> -#include <atmel_mci.h> #include <netdev.h>
#ifdef CONFIG_LCD_INFO @@ -132,50 +131,6 @@ void lcd_show_board_info(void) #endif /* CONFIG_LCD_INFO */ #endif /* CONFIG_LCD */
-/* SPI chip select control */ -#ifndef CONFIG_DM_SPI -#ifdef CONFIG_ATMEL_SPI -#include <spi.h> -int spi_cs_is_valid(unsigned int bus, unsigned int cs) -{ - return bus == 0 && cs < 2; -} - -void spi_cs_activate(struct spi_slave *slave) -{ - switch (slave->cs) { - case 0: - at91_set_pio_output(AT91_PIO_PORTA, 14, 0); - break; - case 1: - at91_set_pio_output(AT91_PIO_PORTA, 7, 0); - break; - } -} - -void spi_cs_deactivate(struct spi_slave *slave) -{ - switch (slave->cs) { - case 0: - at91_set_pio_output(AT91_PIO_PORTA, 14, 1); - break; - case 1: - at91_set_pio_output(AT91_PIO_PORTA, 7, 1); - break; - } -} -#endif /* CONFIG_ATMEL_SPI */ -#endif - -#ifdef CONFIG_GENERIC_ATMEL_MCI -int board_mmc_init(bd_t *bd) -{ - at91_mci_hw_init(); - - return atmel_mci_init((void *)ATMEL_BASE_HSMCI0); -} -#endif - #ifdef CONFIG_KS8851_MLL void at91sam9n12ek_ks8851_hw_init(void) { @@ -209,10 +164,6 @@ void at91sam9n12ek_usb_hw_init(void)
int board_early_init_f(void) { - at91_periph_clk_enable(ATMEL_ID_PIOAB); - at91_periph_clk_enable(ATMEL_ID_PIOCD); - - at91_seriald_hw_init(); return 0; }
@@ -225,10 +176,6 @@ int board_init(void) at91sam9n12ek_nand_hw_init(); #endif
-#ifdef CONFIG_ATMEL_SPI - at91_spi0_hw_init(1 << 0); -#endif - #ifdef CONFIG_LCD at91_lcd_hw_init(); #endif

Since the introduction of the pinctrl and clk driver and the device tree files, remove unneeded related code from the board file.
Signed-off-by: Wenyou Yang wenyou.yang@atmel.com Reviewed-by: Simon Glass sjg@chromium.org ---
Changes in v4: None Changes in v3: None Changes in v2: None
board/atmel/at91sam9n12ek/at91sam9n12ek.c | 53 ------------------------------- 1 file changed, 53 deletions(-)
Applied to u-boot-dm/next, thanks!

Enable the early debug UART to debug problems when an ICE or other debug mechanism is not available.
Signed-off-by: Wenyou Yang wenyou.yang@atmel.com Reviewed-by: Simon Glass sjg@chromium.org ---
Changes in v4: - Rebase on the master branch(ad46af0e76) of u-boot-dm git tree. - Update the cover-letter. - Add Reviewed-by tag.
Changes in v3: - Rebase on the master branch (22e10be45) of u-boot-dm git tree. - Update the cover-letter.
Changes in v2: - Use CONFIG_DEBUG_UART_CLOCK as the input clock for the early debug UART. - Move out [PATCH 1/4] ARM: dts: at91: add dts files for at91sam9n12ek.
board/atmel/at91sam9n12ek/at91sam9n12ek.c | 13 +++++++++++++ configs/at91sam9n12ek_mmc_defconfig | 6 ++++++ configs/at91sam9n12ek_nandflash_defconfig | 6 ++++++ configs/at91sam9n12ek_spiflash_defconfig | 6 ++++++ 4 files changed, 31 insertions(+)
diff --git a/board/atmel/at91sam9n12ek/at91sam9n12ek.c b/board/atmel/at91sam9n12ek/at91sam9n12ek.c index 02b7790627..1105428986 100644 --- a/board/atmel/at91sam9n12ek/at91sam9n12ek.c +++ b/board/atmel/at91sam9n12ek/at91sam9n12ek.c @@ -13,6 +13,7 @@ #include <asm/arch/at91_rstc.h> #include <asm/arch/at91_pio.h> #include <asm/arch/clk.h> +#include <debug_uart.h> #include <lcd.h> #include <atmel_hlcdc.h> #include <netdev.h> @@ -162,10 +163,22 @@ void at91sam9n12ek_usb_hw_init(void) } #endif
+#ifdef CONFIG_DEBUG_UART_BOARD_INIT +void board_debug_uart_init(void) +{ + at91_seriald_hw_init(); +} +#endif + +#ifdef CONFIG_BOARD_EARLY_INIT_F int board_early_init_f(void) { +#ifdef CONFIG_DEBUG_UART + debug_uart_init(); +#endif return 0; } +#endif
int board_init(void) { diff --git a/configs/at91sam9n12ek_mmc_defconfig b/configs/at91sam9n12ek_mmc_defconfig index abb07260be..e7e8a014c6 100644 --- a/configs/at91sam9n12ek_mmc_defconfig +++ b/configs/at91sam9n12ek_mmc_defconfig @@ -35,6 +35,12 @@ CONFIG_SPI_FLASH_ATMEL=y CONFIG_PINCTRL=y CONFIG_PINCTRL_AT91=y CONFIG_DM_SERIAL=y +CONFIG_DEBUG_UART=y +CONFIG_DEBUG_UART_ATMEL=y +CONFIG_DEBUG_UART_BASE=0xfffff200 +CONFIG_DEBUG_UART_CLOCK=132000000 +CONFIG_DEBUG_UART_BOARD_INIT=y +CONFIG_DEBUG_UART_ANNOUNCE=y CONFIG_ATMEL_USART=y CONFIG_DM_SPI=y CONFIG_ATMEL_SPI=y diff --git a/configs/at91sam9n12ek_nandflash_defconfig b/configs/at91sam9n12ek_nandflash_defconfig index 1b420e62b8..e626805591 100644 --- a/configs/at91sam9n12ek_nandflash_defconfig +++ b/configs/at91sam9n12ek_nandflash_defconfig @@ -35,6 +35,12 @@ CONFIG_SPI_FLASH_ATMEL=y CONFIG_PINCTRL=y CONFIG_PINCTRL_AT91=y CONFIG_DM_SERIAL=y +CONFIG_DEBUG_UART=y +CONFIG_DEBUG_UART_ATMEL=y +CONFIG_DEBUG_UART_BASE=0xfffff200 +CONFIG_DEBUG_UART_CLOCK=132000000 +CONFIG_DEBUG_UART_BOARD_INIT=y +CONFIG_DEBUG_UART_ANNOUNCE=y CONFIG_ATMEL_USART=y CONFIG_DM_SPI=y CONFIG_ATMEL_SPI=y diff --git a/configs/at91sam9n12ek_spiflash_defconfig b/configs/at91sam9n12ek_spiflash_defconfig index 9048b14de4..a5abcd1f3b 100644 --- a/configs/at91sam9n12ek_spiflash_defconfig +++ b/configs/at91sam9n12ek_spiflash_defconfig @@ -35,6 +35,12 @@ CONFIG_SPI_FLASH_ATMEL=y CONFIG_PINCTRL=y CONFIG_PINCTRL_AT91=y CONFIG_DM_SERIAL=y +CONFIG_DEBUG_UART=y +CONFIG_DEBUG_UART_ATMEL=y +CONFIG_DEBUG_UART_BASE=0xfffff200 +CONFIG_DEBUG_UART_CLOCK=132000000 +CONFIG_DEBUG_UART_BOARD_INIT=y +CONFIG_DEBUG_UART_ANNOUNCE=y CONFIG_ATMEL_USART=y CONFIG_DM_SPI=y CONFIG_ATMEL_SPI=y

Hi Simon,
The patches has been rebased on the master branch of u-boot-dm git tree
Could you help take them?
Best Regards,
Wenyou Yang
On 2017/4/18 14:54, Wenyou Yang wrote:
Enable the early debug UART to debug problems when an ICE or other debug mechanism is not available.
Signed-off-by: Wenyou Yang wenyou.yang@atmel.com Reviewed-by: Simon Glass sjg@chromium.org
Changes in v4:
- Rebase on the master branch(ad46af0e76) of u-boot-dm git tree.
- Update the cover-letter.
- Add Reviewed-by tag.
Changes in v3:
- Rebase on the master branch (22e10be45) of u-boot-dm git tree.
- Update the cover-letter.
Changes in v2:
- Use CONFIG_DEBUG_UART_CLOCK as the input clock for the early debug UART.
- Move out [PATCH 1/4] ARM: dts: at91: add dts files for at91sam9n12ek.
board/atmel/at91sam9n12ek/at91sam9n12ek.c | 13 +++++++++++++ configs/at91sam9n12ek_mmc_defconfig | 6 ++++++ configs/at91sam9n12ek_nandflash_defconfig | 6 ++++++ configs/at91sam9n12ek_spiflash_defconfig | 6 ++++++ 4 files changed, 31 insertions(+)
diff --git a/board/atmel/at91sam9n12ek/at91sam9n12ek.c b/board/atmel/at91sam9n12ek/at91sam9n12ek.c index 02b7790627..1105428986 100644 --- a/board/atmel/at91sam9n12ek/at91sam9n12ek.c +++ b/board/atmel/at91sam9n12ek/at91sam9n12ek.c @@ -13,6 +13,7 @@ #include <asm/arch/at91_rstc.h> #include <asm/arch/at91_pio.h> #include <asm/arch/clk.h> +#include <debug_uart.h> #include <lcd.h> #include <atmel_hlcdc.h> #include <netdev.h> @@ -162,10 +163,22 @@ void at91sam9n12ek_usb_hw_init(void) } #endif
+#ifdef CONFIG_DEBUG_UART_BOARD_INIT +void board_debug_uart_init(void) +{
- at91_seriald_hw_init();
+} +#endif
+#ifdef CONFIG_BOARD_EARLY_INIT_F int board_early_init_f(void) { +#ifdef CONFIG_DEBUG_UART
- debug_uart_init();
+#endif return 0; } +#endif
int board_init(void) { diff --git a/configs/at91sam9n12ek_mmc_defconfig b/configs/at91sam9n12ek_mmc_defconfig index abb07260be..e7e8a014c6 100644 --- a/configs/at91sam9n12ek_mmc_defconfig +++ b/configs/at91sam9n12ek_mmc_defconfig @@ -35,6 +35,12 @@ CONFIG_SPI_FLASH_ATMEL=y CONFIG_PINCTRL=y CONFIG_PINCTRL_AT91=y CONFIG_DM_SERIAL=y +CONFIG_DEBUG_UART=y +CONFIG_DEBUG_UART_ATMEL=y +CONFIG_DEBUG_UART_BASE=0xfffff200 +CONFIG_DEBUG_UART_CLOCK=132000000 +CONFIG_DEBUG_UART_BOARD_INIT=y +CONFIG_DEBUG_UART_ANNOUNCE=y CONFIG_ATMEL_USART=y CONFIG_DM_SPI=y CONFIG_ATMEL_SPI=y diff --git a/configs/at91sam9n12ek_nandflash_defconfig b/configs/at91sam9n12ek_nandflash_defconfig index 1b420e62b8..e626805591 100644 --- a/configs/at91sam9n12ek_nandflash_defconfig +++ b/configs/at91sam9n12ek_nandflash_defconfig @@ -35,6 +35,12 @@ CONFIG_SPI_FLASH_ATMEL=y CONFIG_PINCTRL=y CONFIG_PINCTRL_AT91=y CONFIG_DM_SERIAL=y +CONFIG_DEBUG_UART=y +CONFIG_DEBUG_UART_ATMEL=y +CONFIG_DEBUG_UART_BASE=0xfffff200 +CONFIG_DEBUG_UART_CLOCK=132000000 +CONFIG_DEBUG_UART_BOARD_INIT=y +CONFIG_DEBUG_UART_ANNOUNCE=y CONFIG_ATMEL_USART=y CONFIG_DM_SPI=y CONFIG_ATMEL_SPI=y diff --git a/configs/at91sam9n12ek_spiflash_defconfig b/configs/at91sam9n12ek_spiflash_defconfig index 9048b14de4..a5abcd1f3b 100644 --- a/configs/at91sam9n12ek_spiflash_defconfig +++ b/configs/at91sam9n12ek_spiflash_defconfig @@ -35,6 +35,12 @@ CONFIG_SPI_FLASH_ATMEL=y CONFIG_PINCTRL=y CONFIG_PINCTRL_AT91=y CONFIG_DM_SERIAL=y +CONFIG_DEBUG_UART=y +CONFIG_DEBUG_UART_ATMEL=y +CONFIG_DEBUG_UART_BASE=0xfffff200 +CONFIG_DEBUG_UART_CLOCK=132000000 +CONFIG_DEBUG_UART_BOARD_INIT=y +CONFIG_DEBUG_UART_ANNOUNCE=y CONFIG_ATMEL_USART=y CONFIG_DM_SPI=y CONFIG_ATMEL_SPI=y

Hi Simon,
The patches has been rebased on the master branch of u-boot-dm git tree
Could you help take them?
Best Regards,
Wenyou Yang
On 2017/4/18 14:54, Wenyou Yang wrote:
Enable the early debug UART to debug problems when an ICE or other debug mechanism is not available.
Signed-off-by: Wenyou Yang wenyou.yang@atmel.com Reviewed-by: Simon Glass sjg@chromium.org
Changes in v4:
- Rebase on the master branch(ad46af0e76) of u-boot-dm git tree.
- Update the cover-letter.
- Add Reviewed-by tag.
Changes in v3:
- Rebase on the master branch (22e10be45) of u-boot-dm git tree.
- Update the cover-letter.
Changes in v2:
- Use CONFIG_DEBUG_UART_CLOCK as the input clock for the early debug UART.
- Move out [PATCH 1/4] ARM: dts: at91: add dts files for at91sam9n12ek.
board/atmel/at91sam9n12ek/at91sam9n12ek.c | 13 +++++++++++++ configs/at91sam9n12ek_mmc_defconfig | 6 ++++++ configs/at91sam9n12ek_nandflash_defconfig | 6 ++++++ configs/at91sam9n12ek_spiflash_defconfig | 6 ++++++ 4 files changed, 31 insertions(+)
Applied to u-boot-dm/next, thanks!
participants (3)
-
sjg@google.com
-
Wenyou Yang
-
Yang, Wenyou