imx: add i.MX6ULZ board
authorPeng Fan <peng.fan@nxp.com>
Thu, 8 Aug 2019 09:55:57 +0000 (09:55 +0000)
committerStefano Babic <sbabic@denx.de>
Tue, 8 Oct 2019 14:33:45 +0000 (16:33 +0200)
Add i.MX6ULZ board support. the i.MX6ULZ is SW compatible
with i.MX6ULL. so most code of i.MX6ULL can be reused
by i.MX6ULZ.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
Reviewed-by: Ye Li <ye.li@nxp.com>
Reviewed-by: Fabio Estevam <festevam@gmail.com>
arch/arm/dts/imx6ulz-14x14-evk.dts [new file with mode: 0644]
board/freescale/mx6ullevk/MAINTAINERS
board/freescale/mx6ullevk/mx6ullevk.c
configs/mx6ulz_14x14_evk_defconfig [new file with mode: 0644]
include/configs/mx6ullevk.h

diff --git a/arch/arm/dts/imx6ulz-14x14-evk.dts b/arch/arm/dts/imx6ulz-14x14-evk.dts
new file mode 100644 (file)
index 0000000..483d973
--- /dev/null
@@ -0,0 +1,22 @@
+// SPDX-License-Identifier: (GPL-2.0 OR MIT)
+//
+// Copyright 2018 NXP.
+
+/dts-v1/;
+
+#include "imx6ulz.dtsi"
+#include "imx6ul-14x14-evk.dtsi"
+
+/delete-node/ &fec1;
+/delete-node/ &fec2;
+/delete-node/ &can1;
+/delete-node/ &can2;
+/delete-node/ &lcdif;
+/delete-node/ &tsc;
+
+/ {
+       model = "Freescale i.MX6 ULZ 14x14 EVK Board";
+       compatible = "fsl,imx6ulz-14x14-evk", "fsl,imx6ull", "fsl,imx6ulz";
+
+       /delete-node/ panel;
+};
index 73031cd121ea784f390f39028cca290b5b3bb85a..3d1b256036359e47d9bc8f7cb0ae715438b01b9c 100644 (file)
@@ -5,3 +5,4 @@ F:      board/freescale/mx6ullevk/
 F:     include/configs/mx6ullevk.h
 F:     configs/mx6ull_14x14_evk_defconfig
 F:     configs/mx6ull_14x14_evk_plugin_defconfig
+F:     configs/mx6ulz_14x14_evk_defconfig
index e1193478026273e3bbcc2090ca95906693892c92..20ae011ecac16722782b521577d1b7327f2c4d6a 100644 (file)
@@ -84,7 +84,10 @@ int board_late_init(void)
 #endif
 
 #ifdef CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG
-       env_set("board_name", "EVK");
+       if (is_cpu_type(MXC_CPU_MX6ULZ))
+               env_set("board_name", "ULZ-EVK");
+       else
+               env_set("board_name", "EVK");
        env_set("board_rev", "14X14");
 #endif
 
@@ -93,7 +96,10 @@ int board_late_init(void)
 
 int checkboard(void)
 {
-       puts("Board: MX6ULL 14x14 EVK\n");
+       if (is_cpu_type(MXC_CPU_MX6ULZ))
+               puts("Board: MX6ULZ 14x14 EVK\n");
+       else
+               puts("Board: MX6ULL 14x14 EVK\n");
 
        return 0;
 }
diff --git a/configs/mx6ulz_14x14_evk_defconfig b/configs/mx6ulz_14x14_evk_defconfig
new file mode 100644 (file)
index 0000000..f647d72
--- /dev/null
@@ -0,0 +1,44 @@
+CONFIG_ARM=y
+CONFIG_ARCH_MX6=y
+CONFIG_SYS_TEXT_BASE=0x87800000
+CONFIG_TARGET_MX6ULL_14X14_EVK=y
+CONFIG_NR_DRAM_BANKS=1
+CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/freescale/mx6ullevk/imximage.cfg"
+CONFIG_SUPPORT_RAW_INITRD=y
+CONFIG_BOUNCE_BUFFER=y
+CONFIG_BOARD_EARLY_INIT_F=y
+CONFIG_HUSH_PARSER=y
+CONFIG_CMD_BOOTZ=y
+CONFIG_CMD_MEMTEST=y
+CONFIG_CMD_GPIO=y
+CONFIG_CMD_I2C=y
+CONFIG_CMD_MMC=y
+CONFIG_CMD_SF=y
+CONFIG_CMD_DHCP=y
+CONFIG_CMD_PING=y
+CONFIG_CMD_CACHE=y
+CONFIG_CMD_EXT2=y
+CONFIG_CMD_EXT4=y
+CONFIG_CMD_EXT4_WRITE=y
+CONFIG_CMD_FAT=y
+CONFIG_CMD_FS_GENERIC=y
+CONFIG_OF_CONTROL=y
+CONFIG_DEFAULT_DEVICE_TREE="imx6ulz-14x14-evk"
+CONFIG_ENV_IS_IN_MMC=y
+CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
+CONFIG_DM_GPIO=y
+CONFIG_DM_74X164=y
+CONFIG_DM_I2C=y
+CONFIG_DM_MMC=y
+CONFIG_FSL_ESDHC_IMX=y
+CONFIG_DM_SPI_FLASH=y
+CONFIG_SPI_FLASH=y
+CONFIG_SF_DEFAULT_MODE=0
+CONFIG_SF_DEFAULT_SPEED=40000000
+CONFIG_SPI_FLASH_STMICRO=y
+CONFIG_PINCTRL=y
+CONFIG_PINCTRL_IMX6=y
+CONFIG_DM_REGULATOR=y
+CONFIG_SPI=y
+CONFIG_DM_SPI=y
+CONFIG_FSL_QSPI=y
index 1fc5c24decde469ac4e8eb6f7d02d6489169657c..f5f3de6cd46eedcb08022819bc4d59120021c84f 100644 (file)
@@ -55,7 +55,7 @@
        "console=ttymxc0\0" \
        "fdt_high=0xffffffff\0" \
        "initrd_high=0xffffffff\0" \
-       "fdt_file=imx6ull-14x14-evk.dtb\0" \
+       "fdt_file=undefined\0" \
        "fdt_addr=0x83000000\0" \
        "boot_fdt=try\0" \
        "ip_dyn=yes\0" \
                "else " \
                        "bootz; " \
                "fi;\0" \
+               "findfdt="\
+                       "if test $fdt_file = undefined; then " \
+                               "if test $board_name = ULZ-EVK && test $board_rev = 14X14; then " \
+                                       "setenv fdt_file imx6ulz-14x14-evk.dtb; fi; " \
+                               "if test $board_name = EVK && test $board_rev = 14X14; then " \
+                                       "setenv fdt_file imx6ull-14x14-evk.dtb; fi; " \
+                               "if test $fdt_file = undefined; then " \
+                                       "echo WARNING: Could not determine dtb to use; " \
+                               "fi; " \
+                       "fi;\0" \
        "netargs=setenv bootargs console=${console},${baudrate} " \
                "root=/dev/nfs " \
        "ip=dhcp nfsroot=${serverip}:${nfsroot},v3,tcp\0" \
                "fi;\0" \
 
 #define CONFIG_BOOTCOMMAND \
+          "run findfdt;" \
           "mmc dev ${mmcdev};" \
           "mmc dev ${mmcdev}; if mmc rescan; then " \
                   "if run loadbootscript; then " \