[U-Boot] [PATCH v2 0/3] board: at91sam9rlek: 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.
Changes in v2: - Add converting UART to support DM_SERIAL and used in the board_init_f stage. - Remove unused LED feature. - Improve the commit log. - Add [PATCH]: board: at91sam9rlek: Enable early debug UART. - Move out [PATCH]: ARM: dts: at91: add dts files for at91sam9rlek.
Wenyou Yang (3): configs: at91sam9rlek: Update for DT and DM support board: at91sam9rlek: Clean up code board: at91sam9rlek: Enable early debug UART
board/atmel/at91sam9rlek/Makefile | 2 +- board/atmel/at91sam9rlek/at91sam9rlek.c | 24 +++++++++--------------- configs/at91sam9rlek_dataflash_defconfig | 22 +++++++++++++++++++++- configs/at91sam9rlek_mmc_defconfig | 22 +++++++++++++++++++++- configs/at91sam9rlek_nandflash_defconfig | 22 +++++++++++++++++++++- include/configs/at91sam9rlek.h | 22 +--------------------- 6 files changed, 74 insertions(+), 40 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.
Signed-off-by: Wenyou Yang wenyou.yang@atmel.com ---
Changes in v2: - Add converting UART to support DM_SERIAL and used in the board_init_f stage. - Remove unused LED feature. - Improve the commit log.
board/atmel/at91sam9rlek/Makefile | 2 +- configs/at91sam9rlek_dataflash_defconfig | 16 +++++++++++++++- configs/at91sam9rlek_mmc_defconfig | 16 +++++++++++++++- configs/at91sam9rlek_nandflash_defconfig | 16 +++++++++++++++- include/configs/at91sam9rlek.h | 22 +--------------------- 5 files changed, 47 insertions(+), 25 deletions(-)
diff --git a/board/atmel/at91sam9rlek/Makefile b/board/atmel/at91sam9rlek/Makefile index 51daf8d30c..7acfee5350 100644 --- a/board/atmel/at91sam9rlek/Makefile +++ b/board/atmel/at91sam9rlek/Makefile @@ -10,5 +10,5 @@ #
obj-y += at91sam9rlek.o -obj-y += led.o +obj-$(CONFIG_AT91_LED) += led.o obj-$(CONFIG_HAS_DATAFLASH) += partition.o diff --git a/configs/at91sam9rlek_dataflash_defconfig b/configs/at91sam9rlek_dataflash_defconfig index 49e1353b7d..24fbfe619c 100644 --- a/configs/at91sam9rlek_dataflash_defconfig +++ b/configs/at91sam9rlek_dataflash_defconfig @@ -1,6 +1,8 @@ CONFIG_ARM=y CONFIG_ARCH_AT91=y CONFIG_TARGET_AT91SAM9RLEK=y +CONFIG_SYS_MALLOC_F_LEN=0x2000 +CONFIG_DEFAULT_DEVICE_TREE="at91sam9rlek" CONFIG_SYS_EXTRA_OPTIONS="AT91SAM9RL,SYS_USE_DATAFLASH" CONFIG_BOOTDELAY=3 # CONFIG_CONSOLE_MUX is not set @@ -20,5 +22,17 @@ CONFIG_CMD_MMC=y # CONFIG_CMD_NET is not set # CONFIG_CMD_NFS is not set CONFIG_CMD_FAT=y +CONFIG_OF_CONTROL=y +CONFIG_DM=y +CONFIG_CLK=y +CONFIG_CLK_AT91=y +CONFIG_AT91_UTMI=y +CONFIG_DM_GPIO=y +CONFIG_AT91_GPIO=y +CONFIG_DM_MMC=y +CONFIG_GENERIC_ATMEL_MCI=y +CONFIG_PINCTRL=y +CONFIG_PINCTRL_AT91=y +CONFIG_DM_SERIAL=y +CONFIG_ATMEL_USART=y CONFIG_LCD=y -CONFIG_OF_LIBFDT=y diff --git a/configs/at91sam9rlek_mmc_defconfig b/configs/at91sam9rlek_mmc_defconfig index 483d9b68ec..a46deac284 100644 --- a/configs/at91sam9rlek_mmc_defconfig +++ b/configs/at91sam9rlek_mmc_defconfig @@ -1,6 +1,8 @@ CONFIG_ARM=y CONFIG_ARCH_AT91=y CONFIG_TARGET_AT91SAM9RLEK=y +CONFIG_SYS_MALLOC_F_LEN=0x2000 +CONFIG_DEFAULT_DEVICE_TREE="at91sam9rlek" CONFIG_SYS_EXTRA_OPTIONS="AT91SAM9RL,SYS_USE_MMC" CONFIG_BOOTDELAY=3 # CONFIG_CONSOLE_MUX is not set @@ -20,5 +22,17 @@ CONFIG_CMD_MMC=y # CONFIG_CMD_NET is not set # CONFIG_CMD_NFS is not set CONFIG_CMD_FAT=y +CONFIG_OF_CONTROL=y +CONFIG_DM=y +CONFIG_CLK=y +CONFIG_CLK_AT91=y +CONFIG_AT91_UTMI=y +CONFIG_DM_GPIO=y +CONFIG_AT91_GPIO=y +CONFIG_DM_MMC=y +CONFIG_GENERIC_ATMEL_MCI=y +CONFIG_PINCTRL=y +CONFIG_PINCTRL_AT91=y +CONFIG_DM_SERIAL=y +CONFIG_ATMEL_USART=y CONFIG_LCD=y -CONFIG_OF_LIBFDT=y diff --git a/configs/at91sam9rlek_nandflash_defconfig b/configs/at91sam9rlek_nandflash_defconfig index d7f2d7f1b3..b6400d0317 100644 --- a/configs/at91sam9rlek_nandflash_defconfig +++ b/configs/at91sam9rlek_nandflash_defconfig @@ -1,6 +1,8 @@ CONFIG_ARM=y CONFIG_ARCH_AT91=y CONFIG_TARGET_AT91SAM9RLEK=y +CONFIG_SYS_MALLOC_F_LEN=0x2000 +CONFIG_DEFAULT_DEVICE_TREE="at91sam9rlek" CONFIG_SYS_EXTRA_OPTIONS="AT91SAM9RL,SYS_USE_NANDFLASH" CONFIG_BOOTDELAY=3 # CONFIG_CONSOLE_MUX is not set @@ -20,5 +22,17 @@ CONFIG_CMD_MMC=y # CONFIG_CMD_NET is not set # CONFIG_CMD_NFS is not set CONFIG_CMD_FAT=y +CONFIG_OF_CONTROL=y +CONFIG_DM=y +CONFIG_CLK=y +CONFIG_CLK_AT91=y +CONFIG_AT91_UTMI=y +CONFIG_DM_GPIO=y +CONFIG_AT91_GPIO=y +CONFIG_DM_MMC=y +CONFIG_GENERIC_ATMEL_MCI=y +CONFIG_PINCTRL=y +CONFIG_PINCTRL_AT91=y +CONFIG_DM_SERIAL=y +CONFIG_ATMEL_USART=y CONFIG_LCD=y -CONFIG_OF_LIBFDT=y diff --git a/include/configs/at91sam9rlek.h b/include/configs/at91sam9rlek.h index 8752f1f3b6..afc924d825 100644 --- a/include/configs/at91sam9rlek.h +++ b/include/configs/at91sam9rlek.h @@ -29,18 +29,11 @@ #define CONFIG_INITRD_TAG 1
#define CONFIG_ATMEL_LEGACY -#define CONFIG_AT91_GPIO 1 -#define CONFIG_AT91_GPIO_PULLUP 1
/* * Hardware drivers */
-/* 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_COLOR8 #define CONFIG_LCD_LOGO 1 @@ -53,13 +46,6 @@ /* Let board_init_f handle the framebuffer allocation */ #undef CONFIG_FB_ADDR
-/* LED */ -#define CONFIG_AT91_LED -#define CONFIG_RED_LED AT91_PIN_PD14 /* this is the power led */ -#define CONFIG_GREEN_LED AT91_PIN_PD15 /* this is the user1 led */ -#define CONFIG_YELLOW_LED AT91_PIN_PD16 /* this is the user2 led */ - - /* * Command line configuration. */ @@ -72,7 +58,7 @@ #define CONFIG_SYS_SDRAM_SIZE 0x04000000
#define CONFIG_SYS_INIT_SP_ADDR \ - (ATMEL_BASE_SRAM + 0x1000 - GENERATED_GBL_DATA_SIZE) + (ATMEL_BASE_SRAM + 16 * 1024 - GENERATED_GBL_DATA_SIZE)
/* DataFlash */ #define CONFIG_ATMEL_DATAFLASH_SPI @@ -98,12 +84,6 @@
#endif
-/* MMC */ - -#ifdef CONFIG_CMD_MMC -#define CONFIG_GENERIC_ATMEL_MCI -#endif - /* Ethernet - not present */
/* USB - not supported */

On 12 April 2017 at 03:18, Wenyou Yang wenyou.yang@atmel.com wrote:
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.
Signed-off-by: Wenyou Yang wenyou.yang@atmel.com
Changes in v2:
- Add converting UART to support DM_SERIAL and used in the board_init_f stage.
- Remove unused LED feature.
- Improve the commit log.
board/atmel/at91sam9rlek/Makefile | 2 +- configs/at91sam9rlek_dataflash_defconfig | 16 +++++++++++++++- configs/at91sam9rlek_mmc_defconfig | 16 +++++++++++++++- configs/at91sam9rlek_nandflash_defconfig | 16 +++++++++++++++- include/configs/at91sam9rlek.h | 22 +--------------------- 5 files changed, 47 insertions(+), 25 deletions(-)
Reviewed-by: Simon Glass sjg@chromium.org

Since the introduction of the pinctrl and clk drivers and the device tree files, remove unneeded hard coded related code from the board file.
Signed-off-by: Wenyou Yang wenyou.yang@atmel.com ---
Changes in v2: None
board/atmel/at91sam9rlek/at91sam9rlek.c | 19 ------------------- 1 file changed, 19 deletions(-)
diff --git a/board/atmel/at91sam9rlek/at91sam9rlek.c b/board/atmel/at91sam9rlek/at91sam9rlek.c index 994f246078..0c4d51765e 100644 --- a/board/atmel/at91sam9rlek/at91sam9rlek.c +++ b/board/atmel/at91sam9rlek/at91sam9rlek.c @@ -18,10 +18,6 @@
#include <lcd.h> #include <atmel_lcdc.h> -#include <atmel_mci.h> -#if defined(CONFIG_RESET_PHY_R) && defined(CONFIG_MACB) -#include <net.h> -#endif
DECLARE_GLOBAL_DATA_PTR;
@@ -159,22 +155,8 @@ void lcd_show_board_info(void) #endif /* CONFIG_LCD_INFO */ #endif
-#ifdef CONFIG_GENERIC_ATMEL_MCI -int board_mmc_init(bd_t *bis) -{ - at91_mci_hw_init(); - - return atmel_mci_init((void *)ATMEL_BASE_MCI); -} -#endif - int board_early_init_f(void) { - at91_periph_clk_enable(ATMEL_ID_PIOA); - at91_periph_clk_enable(ATMEL_ID_PIOB); - at91_periph_clk_enable(ATMEL_ID_PIOC); - at91_periph_clk_enable(ATMEL_ID_PIOD); - return 0; }
@@ -185,7 +167,6 @@ int board_init(void) /* adress of boot parameters */ gd->bd->bi_boot_params = CONFIG_SYS_SDRAM_BASE + 0x100;
- at91_seriald_hw_init(); #ifdef CONFIG_CMD_NAND at91sam9rlek_nand_hw_init(); #endif

On 12 April 2017 at 03:18, Wenyou Yang wenyou.yang@atmel.com wrote:
Since the introduction of the pinctrl and clk drivers and the device tree files, remove unneeded hard coded related code from the board file.
Signed-off-by: Wenyou Yang wenyou.yang@atmel.com
Changes in v2: None
board/atmel/at91sam9rlek/at91sam9rlek.c | 19 ------------------- 1 file changed, 19 deletions(-)
Reviewed-by: Simon Glass sjg@chromium.org

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 ---
Changes in v2: - Add [PATCH]: board: at91sam9rlek: Enable early debug UART. - Move out [PATCH]: ARM: dts: at91: add dts files for at91sam9rlek.
board/atmel/at91sam9rlek/at91sam9rlek.c | 13 +++++++++++++ configs/at91sam9rlek_dataflash_defconfig | 6 ++++++ configs/at91sam9rlek_mmc_defconfig | 6 ++++++ configs/at91sam9rlek_nandflash_defconfig | 6 ++++++ 4 files changed, 31 insertions(+)
diff --git a/board/atmel/at91sam9rlek/at91sam9rlek.c b/board/atmel/at91sam9rlek/at91sam9rlek.c index 0c4d51765e..0b603ed13a 100644 --- a/board/atmel/at91sam9rlek/at91sam9rlek.c +++ b/board/atmel/at91sam9rlek/at91sam9rlek.c @@ -7,6 +7,7 @@ */
#include <common.h> +#include <debug_uart.h> #include <asm/io.h> #include <asm/arch/at91sam9rl.h> #include <asm/arch/at91sam9rl_matrix.h> @@ -155,10 +156,22 @@ void lcd_show_board_info(void) #endif /* CONFIG_LCD_INFO */ #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/at91sam9rlek_dataflash_defconfig b/configs/at91sam9rlek_dataflash_defconfig index 24fbfe619c..d4abb2a2fd 100644 --- a/configs/at91sam9rlek_dataflash_defconfig +++ b/configs/at91sam9rlek_dataflash_defconfig @@ -34,5 +34,11 @@ CONFIG_GENERIC_ATMEL_MCI=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=100000000 +CONFIG_DEBUG_UART_BOARD_INIT=y +CONFIG_DEBUG_UART_ANNOUNCE=y CONFIG_ATMEL_USART=y CONFIG_LCD=y diff --git a/configs/at91sam9rlek_mmc_defconfig b/configs/at91sam9rlek_mmc_defconfig index a46deac284..9a40c41f36 100644 --- a/configs/at91sam9rlek_mmc_defconfig +++ b/configs/at91sam9rlek_mmc_defconfig @@ -34,5 +34,11 @@ CONFIG_GENERIC_ATMEL_MCI=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=100000000 +CONFIG_DEBUG_UART_BOARD_INIT=y +CONFIG_DEBUG_UART_ANNOUNCE=y CONFIG_ATMEL_USART=y CONFIG_LCD=y diff --git a/configs/at91sam9rlek_nandflash_defconfig b/configs/at91sam9rlek_nandflash_defconfig index b6400d0317..d68b562b0e 100644 --- a/configs/at91sam9rlek_nandflash_defconfig +++ b/configs/at91sam9rlek_nandflash_defconfig @@ -34,5 +34,11 @@ CONFIG_GENERIC_ATMEL_MCI=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=100000000 +CONFIG_DEBUG_UART_BOARD_INIT=y +CONFIG_DEBUG_UART_ANNOUNCE=y CONFIG_ATMEL_USART=y CONFIG_LCD=y

On 12 April 2017 at 03:18, Wenyou Yang wenyou.yang@atmel.com 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
Changes in v2:
- Add [PATCH]: board: at91sam9rlek: Enable early debug UART.
- Move out [PATCH]: ARM: dts: at91: add dts files for at91sam9rlek.
board/atmel/at91sam9rlek/at91sam9rlek.c | 13 +++++++++++++ configs/at91sam9rlek_dataflash_defconfig | 6 ++++++ configs/at91sam9rlek_mmc_defconfig | 6 ++++++ configs/at91sam9rlek_nandflash_defconfig | 6 ++++++ 4 files changed, 31 insertions(+)
Reviewed-by: Simon Glass sjg@chromium.org
participants (2)
-
Simon Glass
-
Wenyou Yang