[U-Boot] [PATCH 1/5] imx: mx6ul: Refactor common code as mx6ul

Since most of the board along with the config code used for mx6ul boards are common and for improving code reusability refactor or group code as mx6ul notation. Hence for new board its simply add new defconfig with existing board or related configs.
include/configs/mx6ul_14x14_evk.h -> include/configs/mx6ul.h board/freescale/mx6ul_14x14_evk -> board/freescale/mx6ul board/freescale/mx6ul/mx6ul_14x14_evk.c -> board/freescale/mx6ul/board.c
Cc: Stefano Babic sbabic@denx.de Cc: Peng Fan peng.fan@nxp.com Cc: Michael Trimarchi michael@amarulasolutions.com Signed-off-by: Jagan Teki jagan@amarulasolutions.com --- arch/arm/cpu/armv7/mx6/Kconfig | 2 +- board/freescale/{mx6ul_14x14_evk => mx6ul}/Kconfig | 4 ++-- board/freescale/{mx6ul_14x14_evk => mx6ul}/MAINTAINERS | 4 ++-- board/freescale/{mx6ul_14x14_evk => mx6ul}/Makefile | 2 +- board/freescale/{mx6ul_14x14_evk => mx6ul}/README | 0 board/freescale/{mx6ul_14x14_evk/mx6ul_14x14_evk.c => mx6ul/board.c} | 0 include/configs/{mx6ul_14x14_evk.h => mx6ul.h} | 0 7 files changed, 6 insertions(+), 6 deletions(-) rename board/freescale/{mx6ul_14x14_evk => mx6ul}/Kconfig (72%) rename board/freescale/{mx6ul_14x14_evk => mx6ul}/MAINTAINERS (64%) rename board/freescale/{mx6ul_14x14_evk => mx6ul}/Makefile (76%) rename board/freescale/{mx6ul_14x14_evk => mx6ul}/README (100%) rename board/freescale/{mx6ul_14x14_evk/mx6ul_14x14_evk.c => mx6ul/board.c} (100%) rename include/configs/{mx6ul_14x14_evk.h => mx6ul.h} (100%)
diff --git a/arch/arm/cpu/armv7/mx6/Kconfig b/arch/arm/cpu/armv7/mx6/Kconfig index 78383f0..0c1bc78 100644 --- a/arch/arm/cpu/armv7/mx6/Kconfig +++ b/arch/arm/cpu/armv7/mx6/Kconfig @@ -216,7 +216,7 @@ source "board/freescale/mx6sabresd/Kconfig" source "board/freescale/mx6slevk/Kconfig" source "board/freescale/mx6sxsabresd/Kconfig" source "board/freescale/mx6sxsabreauto/Kconfig" -source "board/freescale/mx6ul_14x14_evk/Kconfig" +source "board/freescale/mx6ul/Kconfig" source "board/phytec/pcm058/Kconfig" source "board/gateworks/gw_ventana/Kconfig" source "board/kosagi/novena/Kconfig" diff --git a/board/freescale/mx6ul_14x14_evk/Kconfig b/board/freescale/mx6ul/Kconfig similarity index 72% rename from board/freescale/mx6ul_14x14_evk/Kconfig rename to board/freescale/mx6ul/Kconfig index 8210cd3..f97b905 100644 --- a/board/freescale/mx6ul_14x14_evk/Kconfig +++ b/board/freescale/mx6ul/Kconfig @@ -1,12 +1,12 @@ if TARGET_MX6UL_14X14_EVK || TARGET_MX6UL_9X9_EVK
config SYS_BOARD - default "mx6ul_14x14_evk" + default "mx6ul"
config SYS_VENDOR default "freescale"
config SYS_CONFIG_NAME - default "mx6ul_14x14_evk" + default "mx6ul"
endif diff --git a/board/freescale/mx6ul_14x14_evk/MAINTAINERS b/board/freescale/mx6ul/MAINTAINERS similarity index 64% rename from board/freescale/mx6ul_14x14_evk/MAINTAINERS rename to board/freescale/mx6ul/MAINTAINERS index 7c7a196..20caeee 100644 --- a/board/freescale/mx6ul_14x14_evk/MAINTAINERS +++ b/board/freescale/mx6ul/MAINTAINERS @@ -1,7 +1,7 @@ MX6ULEVK BOARD M: Peng Fan peng.fan@nxp.com S: Maintained -F: board/freescale/mx6ul_14x14_evk/ -F: include/configs/mx6ul_14x14_evk.h +F: board/freescale/mx6ul/ +F: include/configs/mx6ul.h F: configs/mx6ul_14x14_evk_defconfig F: configs/mx6ul_9x9_evk_defconfig diff --git a/board/freescale/mx6ul_14x14_evk/Makefile b/board/freescale/mx6ul/Makefile similarity index 76% rename from board/freescale/mx6ul_14x14_evk/Makefile rename to board/freescale/mx6ul/Makefile index 61f6778..80ab4a5 100644 --- a/board/freescale/mx6ul_14x14_evk/Makefile +++ b/board/freescale/mx6ul/Makefile @@ -3,4 +3,4 @@ # SPDX-License-Identifier: GPL-2.0+ #
-obj-y := mx6ul_14x14_evk.o +obj-y := board.o diff --git a/board/freescale/mx6ul_14x14_evk/README b/board/freescale/mx6ul/README similarity index 100% rename from board/freescale/mx6ul_14x14_evk/README rename to board/freescale/mx6ul/README diff --git a/board/freescale/mx6ul_14x14_evk/mx6ul_14x14_evk.c b/board/freescale/mx6ul/board.c similarity index 100% rename from board/freescale/mx6ul_14x14_evk/mx6ul_14x14_evk.c rename to board/freescale/mx6ul/board.c diff --git a/include/configs/mx6ul_14x14_evk.h b/include/configs/mx6ul.h similarity index 100% rename from include/configs/mx6ul_14x14_evk.h rename to include/configs/mx6ul.h

Since mx6ul.h is common to all mx6ul board configs, so update the comment in license notes as i.MX6UL SOC config.
Cc: Stefano Babic sbabic@denx.de Cc: Peng Fan peng.fan@nxp.com Cc: Michael Trimarchi michael@amarulasolutions.com Signed-off-by: Jagan Teki jagan@amarulasolutions.com --- include/configs/mx6ul.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/include/configs/mx6ul.h b/include/configs/mx6ul.h index b2ba773..77707c9 100644 --- a/include/configs/mx6ul.h +++ b/include/configs/mx6ul.h @@ -1,7 +1,7 @@ /* * Copyright (C) 2015 Freescale Semiconductor, Inc. * - * Configuration settings for the Freescale i.MX6UL 14x14 EVK board. + * Configuration settings for the NXP i.MX6UL SOC. * * SPDX-License-Identifier: GPL-2.0+ */

Since FSL_QSPI driver still supporting non-dm code better to move the Kconfig from DM undefined place.
Cc: Stefano Babic sbabic@denx.de Cc: Peng Fan peng.fan@nxp.com Cc: Michael Trimarchi michael@amarulasolutions.com Signed-off-by: Jagan Teki jagan@amarulasolutions.com --- drivers/spi/Kconfig | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-)
diff --git a/drivers/spi/Kconfig b/drivers/spi/Kconfig index aca385d..5da66a6 100644 --- a/drivers/spi/Kconfig +++ b/drivers/spi/Kconfig @@ -61,13 +61,6 @@ config FSL_DSPI this Freescale DSPI IP core. LS102xA and Colibri VF50/VF61 platforms use this driver.
-config FSL_QSPI - bool "Freescale QSPI driver" - help - Enable the Freescale Quad-SPI (QSPI) driver. This driver can be - used to access the SPI NOR flash on platforms embedding this - Freescale IP core. - config ICH_SPI bool "Intel ICH SPI driver" help @@ -188,6 +181,13 @@ config FSL_ESPI access the SPI interface and SPI NOR flash on platforms embedding this Freescale eSPI IP core.
+config FSL_QSPI + bool "Freescale QSPI driver" + help + Enable the Freescale Quad-SPI (QSPI) driver. This driver can be + used to access the SPI NOR flash on platforms embedding this + Freescale IP core. + config TI_QSPI bool "TI QSPI driver" help

Moved SPI/SPI-FLASH configs from mx6ul.h into respective used defconfigs. - CONFIG_FSL_QSPI - CONFIG_SPI_FLASH - CONFIG_SPI_FLASH_BAR - CONFIG_SPI_FLASH_STMICRO
Cc: Stefano Babic sbabic@denx.de Cc: Peng Fan peng.fan@nxp.com Cc: Michael Trimarchi michael@amarulasolutions.com Signed-off-by: Jagan Teki jagan@amarulasolutions.com --- configs/mx6ul_14x14_evk_defconfig | 4 ++++ configs/mx6ul_9x9_evk_defconfig | 4 ++++ include/configs/mx6ul.h | 4 ---- 3 files changed, 8 insertions(+), 4 deletions(-)
diff --git a/configs/mx6ul_14x14_evk_defconfig b/configs/mx6ul_14x14_evk_defconfig index c65bdbf..4c9e19a 100644 --- a/configs/mx6ul_14x14_evk_defconfig +++ b/configs/mx6ul_14x14_evk_defconfig @@ -22,3 +22,7 @@ CONFIG_CMD_EXT4_WRITE=y CONFIG_CMD_FAT=y CONFIG_CMD_FS_GENERIC=y CONFIG_OF_LIBFDT=y +CONFIG_FSL_QSPI=y +CONFIG_SPI_FLASH=y +CONFIG_SPI_FLASH_BAR=y +CONFIG_SPI_FLASH_STMICRO=y diff --git a/configs/mx6ul_9x9_evk_defconfig b/configs/mx6ul_9x9_evk_defconfig index caf2477..da1997b 100644 --- a/configs/mx6ul_9x9_evk_defconfig +++ b/configs/mx6ul_9x9_evk_defconfig @@ -22,3 +22,7 @@ CONFIG_CMD_EXT4_WRITE=y CONFIG_CMD_FAT=y CONFIG_CMD_FS_GENERIC=y CONFIG_OF_LIBFDT=y +CONFIG_FSL_QSPI=y +CONFIG_SPI_FLASH=y +CONFIG_SPI_FLASH_BAR=y +CONFIG_SPI_FLASH_STMICRO=y diff --git a/include/configs/mx6ul.h b/include/configs/mx6ul.h index 77707c9..f5bdb40 100644 --- a/include/configs/mx6ul.h +++ b/include/configs/mx6ul.h @@ -188,15 +188,11 @@ #ifndef CONFIG_SYS_DCACHE_OFF #endif
-#define CONFIG_FSL_QSPI #ifdef CONFIG_FSL_QSPI -#define CONFIG_SPI_FLASH -#define CONFIG_SPI_FLASH_BAR #define CONFIG_SF_DEFAULT_BUS 0 #define CONFIG_SF_DEFAULT_CS 0 #define CONFIG_SF_DEFAULT_SPEED 40000000 #define CONFIG_SF_DEFAULT_MODE SPI_MODE_0 -#define CONFIG_SPI_FLASH_STMICRO #define FSL_QSPI_FLASH_NUM 1 #define FSL_QSPI_FLASH_SIZE SZ_32M #endif

i.MX6UL GEA M6UL modules are system on module solutions manufactured by Engicam with following characteristics: Processor NXP i.MX 6UltraLite MCIMX6G2, 528 MHz RAM 128MB, 16-bit DDR3 NAND SLC 256MB Power supply Single 5V MAX LCD RES up to WXGA, 1366x768
Cc: Stefano Babic sbabic@denx.de Cc: Peng Fan peng.fan@nxp.com Cc: Michael Trimarchi michael@amarulasolutions.com Signed-off-by: Jagan Teki jagan@amarulasolutions.com --- arch/arm/cpu/armv7/mx6/Kconfig | 6 ++++++ board/freescale/mx6ul/Kconfig | 2 +- board/freescale/mx6ul/MAINTAINERS | 5 +++++ board/freescale/mx6ul/board.c | 4 +++- configs/mx6ul_geam_kit_defconfig | 11 +++++++++++ include/configs/mx6ul.h | 1 + 6 files changed, 27 insertions(+), 2 deletions(-) create mode 100644 configs/mx6ul_geam_kit_defconfig
diff --git a/arch/arm/cpu/armv7/mx6/Kconfig b/arch/arm/cpu/armv7/mx6/Kconfig index 0c1bc78..d861ded 100644 --- a/arch/arm/cpu/armv7/mx6/Kconfig +++ b/arch/arm/cpu/armv7/mx6/Kconfig @@ -129,6 +129,12 @@ config TARGET_MX6UL_14X14_EVK select DM_THERMAL select SUPPORT_SPL
+config TARGET_MX6UL_GEAM_KIT + bool "mx6ul_geam_kit" + select MX6UL + select DM + select DM_THERMAL + config TARGET_NITROGEN6X bool "nitrogen6x"
diff --git a/board/freescale/mx6ul/Kconfig b/board/freescale/mx6ul/Kconfig index f97b905..d902cd0 100644 --- a/board/freescale/mx6ul/Kconfig +++ b/board/freescale/mx6ul/Kconfig @@ -1,4 +1,4 @@ -if TARGET_MX6UL_14X14_EVK || TARGET_MX6UL_9X9_EVK +if TARGET_MX6UL_14X14_EVK || TARGET_MX6UL_9X9_EVK || TARGET_MX6UL_GEAM_KIT
config SYS_BOARD default "mx6ul" diff --git a/board/freescale/mx6ul/MAINTAINERS b/board/freescale/mx6ul/MAINTAINERS index 20caeee..3265858 100644 --- a/board/freescale/mx6ul/MAINTAINERS +++ b/board/freescale/mx6ul/MAINTAINERS @@ -5,3 +5,8 @@ F: board/freescale/mx6ul/ F: include/configs/mx6ul.h F: configs/mx6ul_14x14_evk_defconfig F: configs/mx6ul_9x9_evk_defconfig + +Engicam GEAM6UL BOARD +M: Jagan Teki jagan@amarulasolutions.com +S: Maintained +F: configs/mx6ul_geam_kit_defconfig diff --git a/board/freescale/mx6ul/board.c b/board/freescale/mx6ul/board.c index 66d6795..f4e35bd 100644 --- a/board/freescale/mx6ul/board.c +++ b/board/freescale/mx6ul/board.c @@ -693,8 +693,10 @@ int checkboard(void) { if (is_mx6ul_9x9_evk()) puts("Board: MX6UL 9x9 EVK\n"); - else + else if (is_mx6ul_14x14_evk()) puts("Board: MX6UL 14x14 EVK\n"); + else + puts("Board: MX6UL GEA KIT\n");
return 0; } diff --git a/configs/mx6ul_geam_kit_defconfig b/configs/mx6ul_geam_kit_defconfig new file mode 100644 index 0000000..b26f17b --- /dev/null +++ b/configs/mx6ul_geam_kit_defconfig @@ -0,0 +1,11 @@ +CONFIG_ARM=y +CONFIG_ARCH_MX6=y +CONFIG_TARGET_MX6UL_GEAM_KIT=y +CONFIG_HUSH_PARSER=y +CONFIG_SYS_PROMPT="geam6ul> " +CONFIG_AUTO_COMPLETE=y +CONFIG_SYS_MAXARGS=32 +CONFIG_BOOTDELAY=3 +CONFIG_BOARD_EARLY_INIT_F=y +CONFIG_BOARD_LATE_INIT=y +# CONFIG_CMD_IMLS is not set diff --git a/include/configs/mx6ul.h b/include/configs/mx6ul.h index f5bdb40..55460ad 100644 --- a/include/configs/mx6ul.h +++ b/include/configs/mx6ul.h @@ -14,6 +14,7 @@ #include <asm/imx-common/gpio.h>
#define is_mx6ul_9x9_evk() CONFIG_IS_ENABLED(TARGET_MX6UL_9X9_EVK) +#define is_mx6ul_14x14_evk() CONFIG_IS_ENABLED(TARGET_MX6UL_14x14_EVK)
/* SPL options */ #define CONFIG_SPL_LIBCOMMON_SUPPORT

Hi Jagan,
On Sat, Sep 03, 2016 at 01:52:57PM +0530, Jagan Teki wrote:
i.MX6UL GEA M6UL modules are system on module solutions manufactured by Engicam with following characteristics: Processor NXP i.MX 6UltraLite MCIMX6G2, 528 MHz RAM 128MB, 16-bit DDR3 NAND SLC 256MB Power supply Single 5V MAX LCD RES up to WXGA, 1366x768
Cc: Stefano Babic sbabic@denx.de Cc: Peng Fan peng.fan@nxp.com Cc: Michael Trimarchi michael@amarulasolutions.com Signed-off-by: Jagan Teki jagan@amarulasolutions.com
arch/arm/cpu/armv7/mx6/Kconfig | 6 ++++++ board/freescale/mx6ul/Kconfig | 2 +- board/freescale/mx6ul/MAINTAINERS | 5 +++++ board/freescale/mx6ul/board.c | 4 +++- configs/mx6ul_geam_kit_defconfig | 11 +++++++++++ include/configs/mx6ul.h | 1 + 6 files changed, 27 insertions(+), 2 deletions(-) create mode 100644 configs/mx6ul_geam_kit_defconfig
diff --git a/arch/arm/cpu/armv7/mx6/Kconfig b/arch/arm/cpu/armv7/mx6/Kconfig index 0c1bc78..d861ded 100644 --- a/arch/arm/cpu/armv7/mx6/Kconfig +++ b/arch/arm/cpu/armv7/mx6/Kconfig @@ -129,6 +129,12 @@ config TARGET_MX6UL_14X14_EVK select DM_THERMAL select SUPPORT_SPL
+config TARGET_MX6UL_GEAM_KIT
- bool "mx6ul_geam_kit"
- select MX6UL
- select DM
- select DM_THERMAL
config TARGET_NITROGEN6X bool "nitrogen6x"
diff --git a/board/freescale/mx6ul/Kconfig b/board/freescale/mx6ul/Kconfig index f97b905..d902cd0 100644 --- a/board/freescale/mx6ul/Kconfig +++ b/board/freescale/mx6ul/Kconfig @@ -1,4 +1,4 @@ -if TARGET_MX6UL_14X14_EVK || TARGET_MX6UL_9X9_EVK +if TARGET_MX6UL_14X14_EVK || TARGET_MX6UL_9X9_EVK || TARGET_MX6UL_GEAM_KIT
config SYS_BOARD default "mx6ul" diff --git a/board/freescale/mx6ul/MAINTAINERS b/board/freescale/mx6ul/MAINTAINERS index 20caeee..3265858 100644 --- a/board/freescale/mx6ul/MAINTAINERS +++ b/board/freescale/mx6ul/MAINTAINERS @@ -5,3 +5,8 @@ F: board/freescale/mx6ul/ F: include/configs/mx6ul.h F: configs/mx6ul_14x14_evk_defconfig F: configs/mx6ul_9x9_evk_defconfig
+Engicam GEAM6UL BOARD +M: Jagan Teki jagan@amarulasolutions.com +S: Maintained +F: configs/mx6ul_geam_kit_defconfig diff --git a/board/freescale/mx6ul/board.c b/board/freescale/mx6ul/board.c index 66d6795..f4e35bd 100644 --- a/board/freescale/mx6ul/board.c +++ b/board/freescale/mx6ul/board.c @@ -693,8 +693,10 @@ int checkboard(void) { if (is_mx6ul_9x9_evk()) puts("Board: MX6UL 9x9 EVK\n");
- else
else if (is_mx6ul_14x14_evk()) puts("Board: MX6UL 14x14 EVK\n");
else
puts("Board: MX6UL GEA KIT\n");
return 0;
} diff --git a/configs/mx6ul_geam_kit_defconfig b/configs/mx6ul_geam_kit_defconfig new file mode 100644 index 0000000..b26f17b --- /dev/null +++ b/configs/mx6ul_geam_kit_defconfig @@ -0,0 +1,11 @@ +CONFIG_ARM=y +CONFIG_ARCH_MX6=y +CONFIG_TARGET_MX6UL_GEAM_KIT=y +CONFIG_HUSH_PARSER=y +CONFIG_SYS_PROMPT="geam6ul> " +CONFIG_AUTO_COMPLETE=y +CONFIG_SYS_MAXARGS=32 +CONFIG_BOOTDELAY=3 +CONFIG_BOARD_EARLY_INIT_F=y +CONFIG_BOARD_LATE_INIT=y +# CONFIG_CMD_IMLS is not set
I think you missed ddr script settings, SPL or DCD?
Regards, Peng.

Hi Peng,
On Sat, Sep 3, 2016 at 3:38 PM, Peng Fan van.freenix@gmail.com wrote:
Hi Jagan,
On Sat, Sep 03, 2016 at 01:52:57PM +0530, Jagan Teki wrote:
i.MX6UL GEA M6UL modules are system on module solutions manufactured by Engicam with following characteristics: Processor NXP i.MX 6UltraLite MCIMX6G2, 528 MHz RAM 128MB, 16-bit DDR3 NAND SLC 256MB Power supply Single 5V MAX LCD RES up to WXGA, 1366x768
Cc: Stefano Babic sbabic@denx.de Cc: Peng Fan peng.fan@nxp.com Cc: Michael Trimarchi michael@amarulasolutions.com Signed-off-by: Jagan Teki jagan@amarulasolutions.com
arch/arm/cpu/armv7/mx6/Kconfig | 6 ++++++ board/freescale/mx6ul/Kconfig | 2 +- board/freescale/mx6ul/MAINTAINERS | 5 +++++ board/freescale/mx6ul/board.c | 4 +++- configs/mx6ul_geam_kit_defconfig | 11 +++++++++++ include/configs/mx6ul.h | 1 + 6 files changed, 27 insertions(+), 2 deletions(-) create mode 100644 configs/mx6ul_geam_kit_defconfig
diff --git a/arch/arm/cpu/armv7/mx6/Kconfig b/arch/arm/cpu/armv7/mx6/Kconfig index 0c1bc78..d861ded 100644 --- a/arch/arm/cpu/armv7/mx6/Kconfig +++ b/arch/arm/cpu/armv7/mx6/Kconfig @@ -129,6 +129,12 @@ config TARGET_MX6UL_14X14_EVK select DM_THERMAL select SUPPORT_SPL
+config TARGET_MX6UL_GEAM_KIT
bool "mx6ul_geam_kit"
select MX6UL
select DM
select DM_THERMAL
config TARGET_NITROGEN6X bool "nitrogen6x"
diff --git a/board/freescale/mx6ul/Kconfig b/board/freescale/mx6ul/Kconfig index f97b905..d902cd0 100644 --- a/board/freescale/mx6ul/Kconfig +++ b/board/freescale/mx6ul/Kconfig @@ -1,4 +1,4 @@ -if TARGET_MX6UL_14X14_EVK || TARGET_MX6UL_9X9_EVK +if TARGET_MX6UL_14X14_EVK || TARGET_MX6UL_9X9_EVK || TARGET_MX6UL_GEAM_KIT
config SYS_BOARD default "mx6ul" diff --git a/board/freescale/mx6ul/MAINTAINERS b/board/freescale/mx6ul/MAINTAINERS index 20caeee..3265858 100644 --- a/board/freescale/mx6ul/MAINTAINERS +++ b/board/freescale/mx6ul/MAINTAINERS @@ -5,3 +5,8 @@ F: board/freescale/mx6ul/ F: include/configs/mx6ul.h F: configs/mx6ul_14x14_evk_defconfig F: configs/mx6ul_9x9_evk_defconfig
+Engicam GEAM6UL BOARD +M: Jagan Teki jagan@amarulasolutions.com +S: Maintained +F: configs/mx6ul_geam_kit_defconfig diff --git a/board/freescale/mx6ul/board.c b/board/freescale/mx6ul/board.c index 66d6795..f4e35bd 100644 --- a/board/freescale/mx6ul/board.c +++ b/board/freescale/mx6ul/board.c @@ -693,8 +693,10 @@ int checkboard(void) { if (is_mx6ul_9x9_evk()) puts("Board: MX6UL 9x9 EVK\n");
else
else if (is_mx6ul_14x14_evk()) puts("Board: MX6UL 14x14 EVK\n");
else
puts("Board: MX6UL GEA KIT\n"); return 0;
} diff --git a/configs/mx6ul_geam_kit_defconfig b/configs/mx6ul_geam_kit_defconfig new file mode 100644 index 0000000..b26f17b --- /dev/null +++ b/configs/mx6ul_geam_kit_defconfig @@ -0,0 +1,11 @@ +CONFIG_ARM=y +CONFIG_ARCH_MX6=y +CONFIG_TARGET_MX6UL_GEAM_KIT=y +CONFIG_HUSH_PARSER=y +CONFIG_SYS_PROMPT="geam6ul> " +CONFIG_AUTO_COMPLETE=y +CONFIG_SYS_MAXARGS=32 +CONFIG_BOOTDELAY=3 +CONFIG_BOARD_EARLY_INIT_F=y +CONFIG_BOARD_LATE_INIT=y +# CONFIG_CMD_IMLS is not set
I think you missed ddr script settings, SPL or DCD?
True - I will update the code once I tested on board and the reason for sending this series earlier is to make an approval of existing file name changes. Will that be OK?
Jagan.

On Sat, Sep 3, 2016 at 5:22 AM, Jagan Teki jagannadh.teki@gmail.com wrote:
i.MX6UL GEA M6UL modules are system on module solutions manufactured by Engicam with following characteristics: Processor NXP i.MX 6UltraLite MCIMX6G2, 528 MHz RAM 128MB, 16-bit DDR3 NAND SLC 256MB Power supply Single 5V MAX LCD RES up to WXGA, 1366x768
Cc: Stefano Babic sbabic@denx.de Cc: Peng Fan peng.fan@nxp.com Cc: Michael Trimarchi michael@amarulasolutions.com Signed-off-by: Jagan Teki jagan@amarulasolutions.com
arch/arm/cpu/armv7/mx6/Kconfig | 6 ++++++ board/freescale/mx6ul/Kconfig | 2 +-
This file does not exist.
board/freescale/mx6ul/MAINTAINERS | 5 +++++ board/freescale/mx6ul/board.c | 4 +++-
This file does not exist.
configs/mx6ul_geam_kit_defconfig | 11 +++++++++++ include/configs/mx6ul.h | 1 +
This file does not exist.
You should generate a patch against u-boot-imx git tree.

On Sun, Sep 4, 2016 at 6:56 AM, Fabio Estevam festevam@gmail.com wrote:
On Sat, Sep 3, 2016 at 5:22 AM, Jagan Teki jagannadh.teki@gmail.com wrote:
i.MX6UL GEA M6UL modules are system on module solutions manufactured by Engicam with following characteristics: Processor NXP i.MX 6UltraLite MCIMX6G2, 528 MHz RAM 128MB, 16-bit DDR3 NAND SLC 256MB Power supply Single 5V MAX LCD RES up to WXGA, 1366x768
Cc: Stefano Babic sbabic@denx.de Cc: Peng Fan peng.fan@nxp.com Cc: Michael Trimarchi michael@amarulasolutions.com Signed-off-by: Jagan Teki jagan@amarulasolutions.com
arch/arm/cpu/armv7/mx6/Kconfig | 6 ++++++ board/freescale/mx6ul/Kconfig | 2 +-
This file does not exist.
board/freescale/mx6ul/MAINTAINERS | 5 +++++ board/freescale/mx6ul/board.c | 4 +++-
This file does not exist.
configs/mx6ul_geam_kit_defconfig | 11 +++++++++++ include/configs/mx6ul.h | 1 +
This file does not exist.
These files are the outcomes of previous patches on this series, please find that.
You should generate a patch against u-boot-imx git tree.
OK, will do that.
thanks!

Hi Jagan,
On Sat, Sep 3, 2016 at 10:26 PM, Fabio Estevam festevam@gmail.com wrote:
configs/mx6ul_geam_kit_defconfig | 11 +++++++++++ include/configs/mx6ul.h | 1 +
This file does not exist.
Ok, I see you introduced these files on previous patches of the series.
I don't think it makes sense to have a global mx6ul.h though.

Hi Fabio,
On Sun, Sep 4, 2016 at 7:53 AM, Fabio Estevam festevam@gmail.com wrote:
Hi Jagan,
On Sat, Sep 3, 2016 at 10:26 PM, Fabio Estevam festevam@gmail.com wrote:
configs/mx6ul_geam_kit_defconfig | 11 +++++++++++ include/configs/mx6ul.h | 1 +
This file does not exist.
Ok, I see you introduced these files on previous patches of the series.
I don't think it makes sense to have a global mx6ul.h though.
Please review the respective patches and let me know your comments. I strongly suspect the global mx6ul.h require as number board with same soc have different defcoonfigs which is similar to the way common imx6ul.dtsi with respective board dts files.
thanks!

Hi Jagan,
On Sat, Sep 3, 2016 at 5:22 AM, Jagan Teki jagannadh.teki@gmail.com wrote:
diff --git a/board/freescale/mx6ul/Kconfig b/board/freescale/mx6ul/Kconfig index f97b905..d902cd0 100644 --- a/board/freescale/mx6ul/Kconfig +++ b/board/freescale/mx6ul/Kconfig
At least for i.MX we follow the convention: board/vendor/vendorboardname, so under board/freescale directory we would expect boards manufactured by FSL/NXP only.
@@ -1,4 +1,4 @@ -if TARGET_MX6UL_14X14_EVK || TARGET_MX6UL_9X9_EVK +if TARGET_MX6UL_14X14_EVK || TARGET_MX6UL_9X9_EVK || TARGET_MX6UL_GEAM_KIT
config SYS_BOARD default "mx6ul" diff --git a/board/freescale/mx6ul/MAINTAINERS b/board/freescale/mx6ul/MAINTAINERS index 20caeee..3265858 100644 --- a/board/freescale/mx6ul/MAINTAINERS +++ b/board/freescale/mx6ul/MAINTAINERS @@ -5,3 +5,8 @@ F: board/freescale/mx6ul/
It would be better if you were listed as the maintainer of the Engicam mx6ul board.
How can I person that does not have the hardware nor it is familiar with it, be the maintainer of such platform?
--- a/board/freescale/mx6ul/board.c +++ b/board/freescale/mx6ul/board.c @@ -693,8 +693,10 @@ int checkboard(void) { if (is_mx6ul_9x9_evk()) puts("Board: MX6UL 9x9 EVK\n");
else
else if (is_mx6ul_14x14_evk()) puts("Board: MX6UL 14x14 EVK\n");
else
puts("Board: MX6UL GEA KIT\n"); return 0;
If I want to change board.c to improve/fix the code for mx6ulevk there is risk that such change could break mx6ulgea support.
I prefer that you place the new board at board/engicam/mx6ulgea, or something.
--- a/include/configs/mx6ul.h +++ b/include/configs/mx6ul.h @@ -14,6 +14,7 @@ #include <asm/imx-common/gpio.h>
#define is_mx6ul_9x9_evk() CONFIG_IS_ENABLED(TARGET_MX6UL_9X9_EVK) +#define is_mx6ul_14x14_evk() CONFIG_IS_ENABLED(TARGET_MX6UL_14x14_EVK)
This seems to be an unrelated change.

Hi Fabio
On Sun, Sep 4, 2016 at 3:08 PM, Fabio Estevam festevam@gmail.com wrote:
Hi Jagan,
On Sat, Sep 3, 2016 at 5:22 AM, Jagan Teki jagannadh.teki@gmail.com wrote:
diff --git a/board/freescale/mx6ul/Kconfig b/board/freescale/mx6ul/Kconfig index f97b905..d902cd0 100644 --- a/board/freescale/mx6ul/Kconfig +++ b/board/freescale/mx6ul/Kconfig
At least for i.MX we follow the convention: board/vendor/vendorboardname, so under board/freescale directory we would expect boards manufactured by FSL/NXP only.
@@ -1,4 +1,4 @@ -if TARGET_MX6UL_14X14_EVK || TARGET_MX6UL_9X9_EVK +if TARGET_MX6UL_14X14_EVK || TARGET_MX6UL_9X9_EVK || TARGET_MX6UL_GEAM_KIT
config SYS_BOARD default "mx6ul" diff --git a/board/freescale/mx6ul/MAINTAINERS b/board/freescale/mx6ul/MAINTAINERS index 20caeee..3265858 100644 --- a/board/freescale/mx6ul/MAINTAINERS +++ b/board/freescale/mx6ul/MAINTAINERS @@ -5,3 +5,8 @@ F: board/freescale/mx6ul/
It would be better if you were listed as the maintainer of the Engicam mx6ul board.
How can I person that does not have the hardware nor it is familiar with it, be the maintainer of such platform?
Hardware is on the way ;).
Michael
--- a/board/freescale/mx6ul/board.c +++ b/board/freescale/mx6ul/board.c @@ -693,8 +693,10 @@ int checkboard(void) { if (is_mx6ul_9x9_evk()) puts("Board: MX6UL 9x9 EVK\n");
else
else if (is_mx6ul_14x14_evk()) puts("Board: MX6UL 14x14 EVK\n");
else
puts("Board: MX6UL GEA KIT\n"); return 0;
If I want to change board.c to improve/fix the code for mx6ulevk there is risk that such change could break mx6ulgea support.
I prefer that you place the new board at board/engicam/mx6ulgea, or something.
--- a/include/configs/mx6ul.h +++ b/include/configs/mx6ul.h @@ -14,6 +14,7 @@ #include <asm/imx-common/gpio.h>
#define is_mx6ul_9x9_evk() CONFIG_IS_ENABLED(TARGET_MX6UL_9X9_EVK) +#define is_mx6ul_14x14_evk() CONFIG_IS_ENABLED(TARGET_MX6UL_14x14_EVK)
This seems to be an unrelated change. _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot

Hi Fabio,
+ Tom (looking for any suggestions for not maintaining separate board files if the board code is sharing different boards with same SOC)
On Sun, Sep 4, 2016 at 6:38 PM, Fabio Estevam festevam@gmail.com wrote:
Hi Jagan,
On Sat, Sep 3, 2016 at 5:22 AM, Jagan Teki jagannadh.teki@gmail.com wrote:
diff --git a/board/freescale/mx6ul/Kconfig b/board/freescale/mx6ul/Kconfig index f97b905..d902cd0 100644 --- a/board/freescale/mx6ul/Kconfig +++ b/board/freescale/mx6ul/Kconfig
At least for i.MX we follow the convention: board/vendor/vendorboardname, so under board/freescale directory we would expect boards manufactured by FSL/NXP only.
Please see below for this.
@@ -1,4 +1,4 @@ -if TARGET_MX6UL_14X14_EVK || TARGET_MX6UL_9X9_EVK +if TARGET_MX6UL_14X14_EVK || TARGET_MX6UL_9X9_EVK || TARGET_MX6UL_GEAM_KIT
config SYS_BOARD default "mx6ul" diff --git a/board/freescale/mx6ul/MAINTAINERS b/board/freescale/mx6ul/MAINTAINERS index 20caeee..3265858 100644 --- a/board/freescale/mx6ul/MAINTAINERS +++ b/board/freescale/mx6ul/MAINTAINERS @@ -5,3 +5,8 @@ F: board/freescale/mx6ul/
It would be better if you were listed as the maintainer of the Engicam mx6ul board.
How can I person that does not have the hardware nor it is familiar with it, be the maintainer of such platform?
Please do read the thread fully before commenting, I've mentioned the state of hardware when I relied to Peng. And also this is an RFC patch I'm looking for comments on function like changes whether the flow of adding code to existing software is meaningful or not and not intended to directly applying these onto ML.
--- a/board/freescale/mx6ul/board.c +++ b/board/freescale/mx6ul/board.c @@ -693,8 +693,10 @@ int checkboard(void) { if (is_mx6ul_9x9_evk()) puts("Board: MX6UL 9x9 EVK\n");
else
else if (is_mx6ul_14x14_evk()) puts("Board: MX6UL 14x14 EVK\n");
else
puts("Board: MX6UL GEA KIT\n"); return 0;
If I want to change board.c to improve/fix the code for mx6ulevk there is risk that such change could break mx6ulgea support.
I prefer that you place the new board at board/engicam/mx6ulgea, or something.
But I prefer to maintain the same on board/freescale/imx6ul. Becuase, If the most of the code is common to all boards with specific SOC it's better to have common code for reusability instead of adding different board files with duplicate code. For example please see board/sunxi or board/xilinx/zynq where microzed, zed or zynbo not directly manufactured from xilinx but they maintained as common.
--- a/include/configs/mx6ul.h +++ b/include/configs/mx6ul.h @@ -14,6 +14,7 @@ #include <asm/imx-common/gpio.h>
#define is_mx6ul_9x9_evk() CONFIG_IS_ENABLED(TARGET_MX6UL_9X9_EVK) +#define is_mx6ul_14x14_evk() CONFIG_IS_ENABLED(TARGET_MX6UL_14x14_EVK)
This seems to be an unrelated change.
OK, will fix.
thanks!

On Sun, Sep 4, 2016 at 10:32 AM, Jagan Teki jagannadh.teki@gmail.com wrote:
Please do read the thread fully before commenting, I've mentioned the state of hardware when I relied to Peng. And also this is an RFC patch I'm looking for comments on function like changes whether the flow of adding code to existing software is meaningful or not and not intended to directly applying these onto ML.
I have already stated my opinion that you should put your board code into board/engicam.
But I prefer to maintain the same on board/freescale/imx6ul. Becuase, If the most of the code is common to all boards with specific SOC it's better to have common code for reusability instead of adding different board files with duplicate code. For example please see board/sunxi or board/xilinx/zynq where microzed, zed or zynbo not directly manufactured from xilinx but they maintained as common.
All the ifdefery inside board/sunxi/board.c is exactly what I would like to avoid here.
mx6ul is a recent SoC and there is only mx6ul evk and pico mx6ul boards currently supported in U-Boot.
I don't think this can scale to support all upcoming boards into a single board/freescale/mx6ul/board.c.
Why is mx6ul special in this case compared to the other mx6 variants?
Will you be able to support all mx6q boards into board/freescale/mx6q/board.c as well?
I am sure this will be unmaintainable.

On Sun, Sep 04, 2016 at 11:47:06AM -0300, Fabio Estevam wrote:
On Sun, Sep 4, 2016 at 10:32 AM, Jagan Teki jagannadh.teki@gmail.com wrote:
Please do read the thread fully before commenting, I've mentioned the state of hardware when I relied to Peng. And also this is an RFC patch I'm looking for comments on function like changes whether the flow of adding code to existing software is meaningful or not and not intended to directly applying these onto ML.
I have already stated my opinion that you should put your board code into board/engicam.
Yes, this sounds right.
But I prefer to maintain the same on board/freescale/imx6ul. Becuase, If the most of the code is common to all boards with specific SOC it's better to have common code for reusability instead of adding different board files with duplicate code. For example please see board/sunxi or board/xilinx/zynq where microzed, zed or zynbo not directly manufactured from xilinx but they maintained as common.
All the ifdefery inside board/sunxi/board.c is exactly what I would like to avoid here.
Now, in fairness to sunxi, that's more like what would happen if you decided to support all of the imx6 and imx7 SoCs in a single board.c.
mx6ul is a recent SoC and there is only mx6ul evk and pico mx6ul boards currently supported in U-Boot.
I don't think this can scale to support all upcoming boards into a single board/freescale/mx6ul/board.c.
Why is mx6ul special in this case compared to the other mx6 variants?
Will you be able to support all mx6q boards into board/freescale/mx6q/board.c as well?
I am sure this will be unmaintainable.
I suspect there's a certain amount of code that should be in arch/arm/mach-imx/board.c like a __weak dram_init() and maybe some ${soc}.c files too for things that really aren't board specific but rather SoC-required. Of course I'm biased since this is how the TI stuff evolved to.
But also, if the enigcam board is an example of "take the ref board, cut it down a bit, ship" or even "take the ref board, tweak slightly", there will still be some code duplication as they simply made the same board decisions that NXP did in the reference platform.

Hi Jagan,
On Sat, Sep 3, 2016 at 5:22 AM, Jagan Teki jagannadh.teki@gmail.com wrote:
Since most of the board along with the config code used for mx6ul boards are common and for improving code reusability refactor or group code as mx6ul notation. Hence for new board its simply add new defconfig with existing board or related configs.
include/configs/mx6ul_14x14_evk.h -> include/configs/mx6ul.h board/freescale/mx6ul_14x14_evk -> board/freescale/mx6ul board/freescale/mx6ul/mx6ul_14x14_evk.c -> board/freescale/mx6ul/board.c
I think this will be hard to maintain. I still prefer each board to be added on its own board file/dts.

Hi Fabio,
On Sun, Sep 4, 2016 at 7:57 AM, Fabio Estevam festevam@gmail.com wrote:
Hi Jagan,
On Sat, Sep 3, 2016 at 5:22 AM, Jagan Teki jagannadh.teki@gmail.com wrote:
Since most of the board along with the config code used for mx6ul boards are common and for improving code reusability refactor or group code as mx6ul notation. Hence for new board its simply add new defconfig with existing board or related configs.
include/configs/mx6ul_14x14_evk.h -> include/configs/mx6ul.h board/freescale/mx6ul_14x14_evk -> board/freescale/mx6ul board/freescale/mx6ul/mx6ul_14x14_evk.c -> board/freescale/mx6ul/board.c
I think this will be hard to maintain. I still prefer each board to be added on its own board file/dts.
Initially I started of doing this, but I find most of the redundant code board as well in configs, its better follow this kind of notation because most of the remaining soc board files are so mature like this sunxi, zynq.
thanks!
participants (6)
-
Fabio Estevam
-
Jagan Teki
-
Jagan Teki
-
Michael Trimarchi
-
Peng Fan
-
Tom Rini