summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorTom Rini <trini@konsulko.com>2020-01-07 16:45:43 +0300
committerTom Rini <trini@konsulko.com>2020-01-07 16:45:43 +0300
commitd8a3f5259a36e76d1de127f65714c40918e8ee4c (patch)
tree6a4ca1942f084a11465ad990433306c2dfdc7b55 /include
parentac0f978afd4b8d388b0b194bc6e5982efc383a59 (diff)
parentb6e7ef4bf71bc0927dea35fdec0a653a82ae57a7 (diff)
downloadu-boot-d8a3f5259a36e76d1de127f65714c40918e8ee4c.tar.xz
Merge tag 'u-boot-imx-20200107' of https://gitlab.denx.de/u-boot/custodians/u-boot-imx
New for 2020.04 --------------- - New boards Embedded Artists COM board Xea Board - Switch to DM: Aristainetos boards Toradex colibri (DM_ETH) iCubox GE bx50v3 mx7dsabre (DM_ETH) cx9020 - New features: Bootaux with elf files Default SYS_THUMB_BUILD for i.MX6/7 - Fixes: DHCOM i.MX6 PDK Engicam i.MX8M tools (imx8m_image) Travis: https://travis-ci.org/sbabic/u-boot-imx/builds/633679664
Diffstat (limited to 'include')
-rw-r--r--include/configs/apalis_imx6.h18
-rw-r--r--include/configs/aristainetos-common.h195
-rw-r--r--include/configs/aristainetos.h43
-rw-r--r--include/configs/aristainetos2.h445
-rw-r--r--include/configs/aristainetos2b.h50
-rw-r--r--include/configs/cm_fx6.h7
-rw-r--r--include/configs/colibri-imx6ull.h7
-rw-r--r--include/configs/colibri_imx6.h20
-rw-r--r--include/configs/colibri_imx7.h28
-rw-r--r--include/configs/colibri_vf.h5
-rw-r--r--include/configs/dh_imx6.h5
-rw-r--r--include/configs/ge_bx50v3.h23
-rw-r--r--include/configs/imx6-engicam.h11
-rw-r--r--include/configs/imx8mm_evk.h8
-rw-r--r--include/configs/mx53cx9020.h95
-rw-r--r--include/configs/mx53ppd.h2
-rw-r--r--include/configs/mx6cuboxi.h6
-rw-r--r--include/configs/mx7dsabresd.h94
-rw-r--r--include/configs/mx7ulp_com.h103
-rw-r--r--include/configs/xea.h196
-rw-r--r--include/dt-bindings/sound/fsl-imx-audmux.h64
21 files changed, 900 insertions, 525 deletions
diff --git a/include/configs/apalis_imx6.h b/include/configs/apalis_imx6.h
index 50a4391cd4..d2ff7e9534 100644
--- a/include/configs/apalis_imx6.h
+++ b/include/configs/apalis_imx6.h
@@ -53,13 +53,7 @@
#endif
/* Network */
-#define CONFIG_FEC_MXC
-#define IMX_FEC_BASE ENET_BASE_ADDR
-#define CONFIG_FEC_XCV_TYPE RGMII
-#define CONFIG_ETHPRIME "FEC"
#define PHY_ANEG_TIMEOUT 15000 /* PHY needs longer aneg time */
-#define CONFIG_FEC_MXC_PHYADDR 6
-#define CONFIG_TFTP_TSIZE
/* USB Configs */
/* Host */
@@ -121,6 +115,17 @@
"imx6q-apalis-eval.dtb fat 0 1;" \
"imx6q-apalis-cam-eval.dtb fat 0 1"
+#define UBOOT_UPDATE \
+ "uboot_hwpart=1\0" \
+ "uboot_blk=8a\0" \
+ "uboot_spl_blk=2\0" \
+ "set_blkcnt=setexpr blkcnt ${filesize} + 0x1ff && " \
+ "setexpr blkcnt ${blkcnt} / 0x200\0" \
+ "update_uboot=run set_blkcnt && mmc dev 0 ${uboot_hwpart} && " \
+ "mmc write ${loadaddr} ${uboot_blk} ${blkcnt}\0" \
+ "update_spl=run set_blkcnt && mmc dev 0 ${uboot_hwpart} && " \
+ "mmc write ${loadaddr} ${uboot_spl_blk} ${blkcnt}\0"
+
#define EMMC_BOOTCMD \
"set_emmcargs=setenv emmcargs ip=off root=PARTUUID=${uuid} " \
"ro,noatime rootfstype=ext4 rootwait\0" \
@@ -178,6 +183,7 @@
"fdt_fixup=;\0" \
MEM_LAYOUT_ENV_SETTINGS \
NFS_BOOTCMD \
+ UBOOT_UPDATE \
"setethupdate=if env exists ethaddr; then; else setenv ethaddr " \
"00:14:2d:00:00:00; fi; tftpboot ${loadaddr} " \
"flash_eth.img && source ${loadaddr}\0" \
diff --git a/include/configs/aristainetos-common.h b/include/configs/aristainetos-common.h
deleted file mode 100644
index 1d84db5098..0000000000
--- a/include/configs/aristainetos-common.h
+++ /dev/null
@@ -1,195 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0+ */
-/*
- * (C) Copyright 2015
- * (C) Copyright 2014
- * Heiko Schocher, DENX Software Engineering, hs@denx.de.
- *
- * Based on:
- * Copyright (C) 2012 Freescale Semiconductor, Inc.
- *
- * Configuration settings for the Freescale i.MX6Q SabreSD board.
- */
-#ifndef __ARISTAINETOS_COMMON_CONFIG_H
-#define __ARISTAINETOS_COMMON_CONFIG_H
-
-#include "mx6_common.h"
-
-#define CONFIG_MACH_TYPE 4501
-#define CONFIG_MMCROOT "/dev/mmcblk0p1"
-
-/* Size of malloc() pool */
-#define CONFIG_SYS_MALLOC_LEN (64 * SZ_1M)
-
-#define CONFIG_MXC_UART
-
-/* MMC Configs */
-#define CONFIG_SYS_FSL_ESDHC_ADDR 0
-
-#define CONFIG_FEC_MXC
-#define IMX_FEC_BASE ENET_BASE_ADDR
-#define CONFIG_ETHPRIME "FEC"
-#define CONFIG_FEC_MXC_PHYADDR 0
-
-#define CONFIG_SYS_SPI_ST_ENABLE_WP_PIN
-
-#define CONFIG_EXTRA_ENV_SETTINGS \
- "script=u-boot.scr\0" \
- "fit_file=/boot/system.itb\0" \
- "loadaddr=0x12000000\0" \
- "fit_addr_r=0x14000000\0" \
- "uboot=/boot/u-boot.imx\0" \
- "uboot_sz=d0000\0" \
- "rescue_sys_addr=f0000\0" \
- "rescue_sys_length=f10000\0" \
- "panel=lb07wv8\0" \
- "splashpos=m,m\0" \
- "console=" CONSOLE_DEV "\0" \
- "fdt_high=0xffffffff\0" \
- "initrd_high=0xffffffff\0" \
- "addmtd=setenv bootargs ${bootargs} ${mtdparts}\0" \
- "set_fit_default=fdt addr ${fit_addr_r};fdt set /configurations " \
- "default ${board_type}\0" \
- "get_env=mw ${loadaddr} 0 0x20000;" \
- "mmc rescan;" \
- "ext2load mmc ${mmcdev}:${mmcpart} ${loadaddr} env.txt;" \
- "env import -t ${loadaddr}\0" \
- "default_env=mw ${loadaddr} 0 0x20000;" \
- "env export -t ${loadaddr} serial# ethaddr eth1addr " \
- "board_type panel;" \
- "env default -a;" \
- "env import -t ${loadaddr}\0" \
- "loadbootscript=" \
- "ext2load mmc ${mmcdev}:${mmcpart} ${loadaddr} ${script};\0" \
- "bootscript=echo Running bootscript from mmc ...; " \
- "source\0" \
- "mmcpart=1\0" \
- "mmcdev=0\0" \
- "mmcroot=" CONFIG_MMCROOT " rootwait rw\0" \
- "mmcargs=setenv bootargs console=${console},${baudrate} " \
- "root=${mmcroot}\0" \
- "mmcboot=echo Booting from mmc ...; " \
- "run mmcargs addmtd addmisc set_fit_default;" \
- "bootm ${fit_addr_r}\0" \
- "mmc_load_fit=ext2load mmc ${mmcdev}:${mmcpart} ${fit_addr_r} " \
- "${fit_file}\0" \
- "mmc_load_uboot=ext2load mmc ${mmcdev}:${mmcpart} ${loadaddr} " \
- "${uboot}\0" \
- "mmc_upd_uboot=mw.b ${loadaddr} 0xff ${uboot_sz};" \
- "setexpr cmp_buf ${loadaddr} + ${uboot_sz};" \
- "setexpr uboot_maxsize ${uboot_sz} - 400;" \
- "mw.b ${cmp_buf} 0x00 ${uboot_sz};" \
- "run mmc_load_uboot;sf probe;sf erase 0 ${uboot_sz};" \
- "sf write ${loadaddr} 400 ${filesize};" \
- "sf read ${cmp_buf} 400 ${uboot_sz};" \
- "cmp.b ${loadaddr} ${cmp_buf} ${uboot_maxsize}\0" \
- "ubiboot=echo Booting from ubi ...; " \
- "run ubiargs addmtd addmisc set_fit_default;" \
- "bootm ${fit_addr_r}\0" \
- "rescueargs=setenv bootargs console=${console},${baudrate} " \
- "root=/dev/ram rw\0 " \
- "rescueboot=echo Booting rescue system from NOR ...; " \
- "run rescueargs addmtd addmisc set_fit_default;" \
- "bootm ${fit_addr_r}\0" \
- "rescue_load_fit=sf probe;sf read ${fit_addr_r} ${rescue_sys_addr} " \
- "${rescue_sys_length}; imi ${fit_addr_r}\0" \
- CONFIG_EXTRA_ENV_BOARD_SETTINGS
-
-#define CONFIG_BOOTCOMMAND \
- "mmc dev ${mmcdev};" \
- "if mmc rescan; then " \
- "if run loadbootscript; then " \
- "run bootscript; " \
- "else " \
- "if run mmc_load_fit; then " \
- "run mmcboot; " \
- "else " \
- "if run ubifs_load_fit; then " \
- "run ubiboot; " \
- "else " \
- "if run rescue_load_fit; then " \
- "run rescueboot; " \
- "else " \
- "echo RESCUE SYSTEM BOOT " \
- "FAILURE;" \
- "fi; " \
- "fi; " \
- "fi; " \
- "fi; " \
- "else " \
- "if run ubifs_load_fit; then " \
- "run ubiboot; " \
- "else " \
- "if run rescue_load_fit; then " \
- "run rescueboot; " \
- "else " \
- "echo RESCUE SYSTEM BOOT FAILURE;" \
- "fi; " \
- "fi; " \
- "fi"
-
-#define CONFIG_ARP_TIMEOUT 200UL
-
-#define CONFIG_SYS_MEMTEST_START PHYS_SDRAM
-#define CONFIG_SYS_MEMTEST_END (CONFIG_SYS_MEMTEST_START + 0x100000)
-#define CONFIG_SYS_MEMTEST_SCRATCH 0x10800000
-
-/* Physical Memory Map */
-#define PHYS_SDRAM MMDC0_ARB_BASE_ADDR
-
-#define CONFIG_SYS_SDRAM_BASE PHYS_SDRAM
-#define CONFIG_SYS_INIT_RAM_ADDR IRAM_BASE_ADDR
-#define CONFIG_SYS_INIT_RAM_SIZE IRAM_SIZE
-
-#define CONFIG_SYS_INIT_SP_OFFSET \
- (CONFIG_SYS_INIT_RAM_SIZE - GENERATED_GBL_DATA_SIZE)
-#define CONFIG_SYS_INIT_SP_ADDR \
- (CONFIG_SYS_INIT_RAM_ADDR + CONFIG_SYS_INIT_SP_OFFSET)
-
-/* Environment organization */
-
-#define CONFIG_SYS_FSL_USDHC_NUM 2
-
-/* I2C */
-#define CONFIG_SYS_I2C
-#define CONFIG_SYS_I2C_MXC
-#define CONFIG_SYS_I2C_MXC_I2C1 /* enable I2C bus 1 */
-#define CONFIG_SYS_I2C_MXC_I2C2 /* enable I2C bus 2 */
-#define CONFIG_SYS_I2C_MXC_I2C3 /* enable I2C bus 3 */
-#define CONFIG_SYS_I2C_SPEED 100000
-#define CONFIG_SYS_I2C_SLAVE 0x7f
-#define CONFIG_SYS_I2C_NOPROBES { {0, 0x00} }
-
-/* NAND stuff */
-#define CONFIG_SYS_MAX_NAND_DEVICE 1
-#define CONFIG_SYS_NAND_BASE 0x40000000
-#define CONFIG_SYS_NAND_5_ADDR_CYCLE
-#define CONFIG_SYS_NAND_ONFI_DETECTION
-
-/* DMA stuff, needed for GPMI/MXS NAND support */
-
-/* RTC */
-#define CONFIG_SYS_I2C_RTC_ADDR 0x68
-#define CONFIG_SYS_RTC_BUS_NUM 2
-#define CONFIG_RTC_M41T11
-
-/* USB Configs */
-#define CONFIG_USB_MAX_CONTROLLER_COUNT 2
-#define CONFIG_EHCI_HCD_INIT_AFTER_RESET /* For OTG port */
-#define CONFIG_MXC_USB_PORTSC (PORT_PTS_UTMI | PORT_PTS_PTW)
-#define CONFIG_MXC_USB_FLAGS 0
-
-/* UBI support */
-
-/* Framebuffer */
-/* check this console not needed, after test remove it */
-#define CONFIG_VIDEO_BMP_RLE8
-#define CONFIG_SPLASH_SCREEN
-#define CONFIG_SPLASH_SCREEN_ALIGN
-#define CONFIG_BMP_16BPP
-#define CONFIG_VIDEO_LOGO
-#define CONFIG_VIDEO_BMP_LOGO
-#define CONFIG_IMX_VIDEO_SKIP
-
-#define CONFIG_IMX6_PWM_PER_CLK 66000000
-
-#endif /* __ARISTAINETOS_COMMON_CONFIG_H */
diff --git a/include/configs/aristainetos.h b/include/configs/aristainetos.h
deleted file mode 100644
index 03e2a2bfbd..0000000000
--- a/include/configs/aristainetos.h
+++ /dev/null
@@ -1,43 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0+ */
-/*
- * (C) Copyright 2015
- * (C) Copyright 2014
- * Heiko Schocher, DENX Software Engineering, hs@denx.de.
- *
- * Based on:
- * Copyright (C) 2012 Freescale Semiconductor, Inc.
- *
- * Configuration settings for the Freescale i.MX6Q SabreSD board.
- */
-#ifndef __ARISTAINETOS_CONFIG_H
-#define __ARISTAINETOS_CONFIG_H
-
-#define CONFIG_SYS_BOARD_VERSION 1
-#define CONFIG_HOSTNAME "aristainetos"
-#define CONFIG_BOARDNAME "aristainetos"
-
-#define CONFIG_MXC_UART_BASE UART5_BASE
-#define CONSOLE_DEV "ttymxc4"
-
-#define CONFIG_FEC_XCV_TYPE RMII
-
-#define CONFIG_EXTRA_ENV_BOARD_SETTINGS \
- "board_type=aristainetos7@1\0" \
- "mtdids=nand0=gpmi-nand,nor0=spi3.0\0" \
- "mtdparts=mtdparts=spi3.0:832k(u-boot),64k(env),64k(env-red)," \
- "-(rescue-system);gpmi-nand:-(ubi)\0" \
- "addmisc=setenv bootargs ${bootargs} consoleblank=0\0" \
- "addmtd=setenv bootargs ${bootargs} ${mtdparts}\0" \
- "ubiargs=setenv bootargs console=${console},${baudrate} " \
- "ubi.mtd=0,2048 root=ubi0:rootfs rootfstype=ubifs\0 " \
- "ubifs_load_fit=sf probe;ubi part ubi 2048;ubifsmount ubi:rootfs;" \
- "ubifsload ${fit_addr_r} /boot/system.itb; " \
- "imi ${fit_addr_r}\0 "
-
-#define ARISTAINETOS_USB_OTG_PWR IMX_GPIO_NR(4, 15)
-#define ARISTAINETOS_USB_H1_PWR IMX_GPIO_NR(3, 31)
-#define CONFIG_GPIO_ENABLE_SPI_FLASH IMX_GPIO_NR(2, 15)
-
-#include "aristainetos-common.h"
-
-#endif /* __ARISTAINETOS_CONFIG_H */
diff --git a/include/configs/aristainetos2.h b/include/configs/aristainetos2.h
index 361e6ac654..5f4a4f854f 100644
--- a/include/configs/aristainetos2.h
+++ b/include/configs/aristainetos2.h
@@ -11,40 +11,445 @@
#ifndef __ARISTAINETOS2_CONFIG_H
#define __ARISTAINETOS2_CONFIG_H
-#define CONFIG_SYS_BOARD_VERSION 2
#define CONFIG_HOSTNAME "aristainetos2"
-#define CONFIG_BOARDNAME "aristainetos2"
#define CONFIG_MXC_UART_BASE UART2_BASE
#define CONSOLE_DEV "ttymxc1"
#define CONFIG_FEC_XCV_TYPE RGMII
+/* Framebuffer */
+#define CONFIG_SYS_LDB_CLOCK 28341000
+#define CONFIG_LG4573
+
+#include "mx6_common.h"
+
+#define CONFIG_MACH_TYPE 4501
+#define CONFIG_MMCROOT "/dev/mmcblk0p1"
+
+/* MMC Configs */
+#define CONFIG_SYS_FSL_ESDHC_ADDR USDHC1_BASE_ADDR
+
+#define IMX_FEC_BASE ENET_BASE_ADDR
+#define CONFIG_ETHPRIME "FEC"
+#define CONFIG_FEC_MXC_PHYADDR 0
+
+#define CONFIG_SYS_SPI_ST_ENABLE_WP_PIN
+
+#ifdef CONFIG_IMX_HAB
+#define HAB_EXTRA_SETTINGS \
+ "hab_check_addr=" \
+ "if hab_auth_img ${check_addr} ${filesize} ; then " \
+ "true;" \
+ "else " \
+ "echo \"HAB checks ${hab_check_filetype} " \
+ "failed!\"; " \
+ "false; " \
+ "fi;\0" \
+ "hab_check_file_fit=" \
+ "if env exists enable_hab_check && test " \
+ "${enable_hab_check} -eq 1 ; then " \
+ "setenv hab_check_filetype \"FIT file on SD card " \
+ "or eMMC\";" \
+ "env set check_addr ${fit_addr_r};" \
+ "run hab_check_addr;" \
+ "else " \
+ "true; "\
+ "fi;\0" \
+ "hab_check_file_bootscript=" \
+ "if env exists enable_hab_check && test " \
+ "${enable_hab_check} -eq 1 ; then " \
+ "setenv hab_check_filetype \"Bootscript file\";" \
+ "env set check_addr ${loadaddr};" \
+ "run hab_check_addr;" \
+ "else " \
+ "true; "\
+ "fi;\0" \
+ "hab_check_flash_fit=" \
+ "if env exists enable_hab_check && test " \
+ "${enable_hab_check} -eq 1 ; then " \
+ "setenv hab_check_filetype \"FIT files on flash\";" \
+ "env set check_addr ${fit_addr_r};" \
+ "run hab_check_addr;" \
+ "else " \
+ "true; "\
+ "fi;\0" \
+ "enable_hab_check=1\0"
+#else
+#define HAB_EXTRA_SETTINGS \
+ "hab_check_file_fit=echo HAB check FIT file always returns " \
+ "true;true\0" \
+ "hab_check_flash_fit=echo HAB check flash FIT always returns " \
+ "true;true\0" \
+ "hab_check_file_bootscript=echo HAB check bootscript always " \
+ "returns true;true\0" \
+ "enable_hab_check=0\0"
+#endif
+
+#if (CONFIG_SYS_BOARD_VERSION == 3)
#define CONFIG_EXTRA_ENV_BOARD_SETTINGS \
- "board_type=aristainetos2_7@1\0" \
- "nor_bootdelay=-2\0" \
+ "dead=led led_red on\0" \
+ "mtdids=nand0=gpmi-nand,nor0=spi0.0\0" \
+ "mtdparts=mtdparts=spi0.0:832k(u-boot),64k(env),64k(env-red)," \
+ "-(ubi-nor);gpmi-nand:-(ubi)\0" \
+ "addmisc=setenv bootargs ${bootargs} net.ifnames=0 consoleblank=0 " \
+ "bootmode=${bootmode} mmcpart=${mmcpart}\0" \
+ "mainboot=echo Booting from SD-card ...; " \
+ "run mainargs addmtd addmisc;" \
+ "if test -n ${addmiscM}; then run addmiscM;fi;" \
+ "if test -n ${addmiscC}; then run addmiscC;fi;" \
+ "if test -n ${addmiscD}; then run addmiscD;fi;" \
+ "run boot_board_type;" \
+ "bootm ${fit_addr_r}\0" \
+ "mainargs=setenv bootargs console=${console},${baudrate} " \
+ "root=${mmcroot}\0" \
+ "main_load_fit=ext4load mmc ${mmcdev}:${mmcpart} ${fit_addr_r} " \
+ "${fit_file}\0" \
+ "rescue_load_fit=ext4load mmc ${mmcdev}:${mmcrescuepart} " \
+ "${fit_addr_r} ${rescue_fit_file}\0"
+#elif (CONFIG_SYS_BOARD_VERSION == 4)
+#define CONFIG_EXTRA_ENV_BOARD_SETTINGS \
+ "dead=led led_red on;led led_red2 on;\0" \
+ "mtdids=nand0=gpmi-nand,nor0=spi0.0\0" \
+ "mtdparts=mtdparts=spi0.0:832k(u-boot),64k(env),64k(env-red)," \
+ "-(ubi-nor);gpmi-nand:-(ubi)\0" \
+ "addmisc=setenv bootargs ${bootargs} net.ifnames=0 consoleblank=0 " \
+ "bootmode=${bootmode} mmcpart=${mmcpart}\0" \
+ "mainboot=echo Booting from SD-card ...; " \
+ "run mainargs addmtd addmisc;" \
+ "if test -n ${addmiscM}; then run addmiscM;fi;" \
+ "if test -n ${addmiscC}; then run addmiscC;fi;" \
+ "if test -n ${addmiscD}; then run addmiscD;fi;" \
+ "run boot_board_type;" \
+ "bootm ${fit_addr_r}\0" \
+ "mainargs=setenv bootargs console=${console},${baudrate} " \
+ "root=${mmcroot}\0" \
+ "main_load_fit=ext4load mmc ${mmcdev}:${mmcpart} ${fit_addr_r} " \
+ "${fit_file}\0" \
+ "rescue_load_fit=ext4load mmc ${mmcdev}:${mmcrescuepart} " \
+ "${fit_addr_r} ${rescue_fit_file}\0"
+#elif (CONFIG_SYS_BOARD_VERSION == 5)
+#define CONFIG_EXTRA_ENV_BOARD_SETTINGS \
+ "emmcpart=1\0" \
+ "emmc_rescue_part=3\0" \
+ "emmcdev=1\0" \
+ "emmcroot=/dev/mmcblk1p1 rootwait rw\0" \
+ "dead=led led_red on\0" \
+ "mtdids=nor0=spi0.0\0" \
+ "mtdparts=mtdparts=spi0.0:832k(u-boot),64k(env),64k(env-red)," \
+ "-(ubi-nor)\0" \
+ "addmisc=setenv bootargs ${bootargs} net.ifnames=0 consoleblank=0 " \
+ "bootmode=${bootmode} mmcpart=${mmcpart} " \
+ "emmcpart=${emmcpart}\0" \
+ "mainboot=echo Booting from eMMC ...; " \
+ "run mainargs addmtd addmisc;" \
+ "if test -n ${addmiscM}; then run addmiscM;fi;" \
+ "if test -n ${addmiscC}; then run addmiscC;fi;" \
+ "if test -n ${addmiscD}; then run addmiscD;fi;" \
+ "run boot_board_type;" \
+ "bootm ${fit_addr_r}\0" \
+ "mainargs=setenv bootargs console=${console},${baudrate} " \
+ "root=${emmcroot} rootfstype=ext4\0 " \
+ "main_load_fit=ext4load mmc ${emmcdev}:${emmcpart} ${fit_addr_r} " \
+ "${fit_file}; " \
+ "imi ${fit_addr_r}\0 " \
+ "rescue_load_fit=ext4load mmc ${emmcdev}:${emmc_rescue_part} " \
+ "${fit_addr_r} ${rescue_fit_file};imi ${fit_addr_r}\0"
+#else
+#define CONFIG_EXTRA_ENV_BOARD_SETTINGS \
+ "dead=led led_red on\0" \
"mtdids=nand0=gpmi-nand,nor0=spi3.1\0" \
"mtdparts=mtdparts=spi3.1:832k(u-boot),64k(env),64k(env-red)," \
- "-(rescue-system);gpmi-nand:-(ubi)\0" \
- "addmisc=setenv bootargs ${bootargs} net.ifnames=0 consoleblank=0\0" \
- "ubiargs=setenv bootargs console=${console},${baudrate} " \
- "ubi.mtd=0,4096 root=ubi0:rootfs rootfstype=ubifs\0 " \
- "ubifs_load_fit=sf probe;ubi part ubi 4096;ubifsmount ubi:rootfs;" \
- "ubifsload ${fit_addr_r} /boot/system.itb; " \
- "imi ${fit_addr_r}\0 "
+ "-(ubi-nor);gpmi-nand:-(ubi)\0" \
+ "addmisc=setenv bootargs ${bootargs} net.ifnames=0 consoleblank=0 " \
+ "bootmode=${bootmode} mmcpart=${mmcpart}\0" \
+ "mainboot=echo Booting from SD-card ...; " \
+ "run mainargs addmtd addmisc;" \
+ "if test -n ${addmiscM}; then run addmiscM;fi;" \
+ "if test -n ${addmiscC}; then run addmiscC;fi;" \
+ "if test -n ${addmiscD}; then run addmiscD;fi;" \
+ "run boot_board_type;" \
+ "bootm ${fit_addr_r}\0" \
+ "mainargs=setenv bootargs console=${console},${baudrate} " \
+ "root=${mmcroot}\0" \
+ "main_load_fit=ext4load mmc ${mmcdev}:${mmcpart} ${fit_addr_r} " \
+ "${fit_file}\0" \
+ "rescue_load_fit=ext4load mmc ${mmcdev}:${mmcrescuepart} " \
+ "${fit_addr_r} ${rescue_fit_file}\0"
+#endif
+
+#define CONFIG_EXTRA_ENV_SETTINGS \
+ "disable_giga=yes\0" \
+ "usb_pgood_delay=2000\0" \
+ "nor_bootdelay=-2\0" \
+ "script=u-boot.scr\0" \
+ "fit_file=/boot/system.itb\0" \
+ "rescue_fit_file=/boot/rescue.itb\0" \
+ "loadaddr=0x12000000\0" \
+ "fit_addr_r=0x14000000\0" \
+ "uboot=/boot/u-boot.imx\0" \
+ "uboot_sz=d0000\0" \
+ "panel=lb07wv8\0" \
+ "splashpos=m,m\0" \
+ "console=" CONSOLE_DEV "\0" \
+ "fdt_high=0xffffffff\0" \
+ "initrd_high=0xffffffff\0" \
+ "addmtd=setenv bootargs ${bootargs} ${mtdparts}\0" \
+ "boot_board_type=bootm ${fit_addr_r}#${board_type}\0" \
+ "get_env=mw ${loadaddr} 0 0x20000;" \
+ "mmc rescan;" \
+ "ext4load mmc ${mmcdev}:${mmcpart} ${loadaddr} env.txt;" \
+ "env import -t ${loadaddr}\0" \
+ "default_env=gpio set wp_spi_nor.gpio-hog;" \
+ "sf probe;" \
+ "sf protect unlock 0 0x1000000;" \
+ "mw ${loadaddr} 0 0x20000;" \
+ "env export -t ${loadaddr} serial# ethaddr " \
+ "board_type panel addmisc addmiscM addmiscC addmiscD;" \
+ "env default -a;" \
+ "env import -t ${loadaddr}\0" \
+ "loadbootscript=" \
+ "ext4load mmc ${mmcdev}:${mmcpart} ${loadaddr} " \
+ "${script};\0" \
+ "loadbootscriptUSB=" \
+ "ext4load usb 0 ${loadaddr} ${script};\0" \
+ "loadbootscriptUSBf=" \
+ "fatload usb 0 ${loadaddr} ${script};\0" \
+ "bootscriptUSB=echo Running bootscript from usb-stick ...; " \
+ "source\0" \
+ "bootscript=echo Running bootscript from mmc ...; " \
+ "source\0" \
+ "mmcpart=1\0" \
+ "mmcrescuepart=3\0" \
+ "mmcdev=0\0" \
+ "mmcroot=" CONFIG_MMCROOT " rootwait rw\0" \
+ "mmcargs=setenv bootargs console=${console},${baudrate} " \
+ "root=${mmcroot}\0" \
+ "mmcboot=echo Booting from mmc ...; " \
+ "run mmcargs addmtd addmisc;" \
+ "if test -n ${addmiscM}; then run addmiscM;fi;" \
+ "if test -n ${addmiscC}; then run addmiscC;fi;" \
+ "if test -n ${addmiscD}; then run addmiscD;fi;" \
+ "run boot_board_type;" \
+ "bootm ${fit_addr_r}\0" \
+ "mmc_load_fit=ext4load mmc ${mmcdev}:${mmcpart} ${fit_addr_r} " \
+ "${fit_file}\0" \
+ "mmc_load_uboot=ext4load mmc ${mmcdev}:${mmcpart} ${loadaddr} " \
+ "${uboot}\0" \
+ "mmc_rescue_load_fit=ext4load mmc ${mmcdev}:${mmcrescuepart} " \
+ "${fit_addr_r} ${rescue_fit_file}\0" \
+ "mmc_upd_uboot=mw.b ${loadaddr} 0xff ${uboot_sz};" \
+ "setexpr cmp_buf ${loadaddr} + ${uboot_sz};" \
+ "setexpr uboot_maxsize ${uboot_sz} - 400;" \
+ "mw.b ${cmp_buf} 0x00 ${uboot_sz};" \
+ "run mmc_load_uboot;sf probe;sf erase 0 ${uboot_sz};" \
+ "sf write ${loadaddr} 400 ${filesize};" \
+ "sf read ${cmp_buf} 400 ${uboot_sz};" \
+ "cmp.b ${loadaddr} ${cmp_buf} ${uboot_maxsize}\0" \
+ "rescueargs=setenv bootargs console=${console},${baudrate} " \
+ "root=/dev/ram rw\0 " \
+ "rescueboot=echo Booting rescue system ...; " \
+ "run rescueargs addmtd addmisc;" \
+ "if test -n ${rescue_reason}; then run rescue_reason;fi;" \
+ "if test -n ${addmiscM}; then run addmiscM;fi;" \
+ "if test -n ${addmiscC}; then run addmiscC;fi;" \
+ "if test -n ${addmiscD}; then run addmiscD;fi;" \
+ "run boot_board_type;" \
+ "if bootm ${fit_addr_r}; then ; " \
+ "else " \
+ "run dead; " \
+ "fi; \0" \
+ "r_reason_syserr=setenv rescue_reason setenv bootargs " \
+ "\\\\${bootargs} " \
+ "rescueReason=18\0 " \
+ "usb_load_fit=ext4load usb 0 ${fit_addr_r} ${fit_file}\0" \
+ "usb_load_fitf=fatload usb 0 ${fit_addr_r} ${fit_file}\0" \
+ "usb_load_rescuefit=ext4load usb 0 ${fit_addr_r} " \
+ "${rescue_fit_file}\0" \
+ "usb_load_rescuefitf=fatload usb 0 ${fit_addr_r} " \
+ "${rescue_fit_file}\0" \
+ "usbroot=/dev/sda1 rootwait rw\0" \
+ "usbboot=echo Booting from usb-stick ...; " \
+ "run usbargs addmtd addmisc;" \
+ "if test -n ${addmiscM}; then run addmiscM;fi;" \
+ "if test -n ${addmiscC}; then run addmiscC;fi;" \
+ "if test -n ${addmiscD}; then run addmiscD;fi;" \
+ "run boot_board_type;" \
+ "bootm ${fit_addr_r}\0" \
+ "usbargs=setenv bootargs console=${console},${baudrate} " \
+ "root=${usbroot}\0" \
+ "mmc_rescue_boot=" \
+ "run r_reason_syserr;" \
+ "if run mmc_rescue_load_fit hab_check_file_fit; then " \
+ "run rescueboot; " \
+ "else " \
+ "run dead; " \
+ "echo RESCUE SYSTEM FROM SD-CARD BOOT FAILURE;" \
+ "fi;\0" \
+ "main_rescue_boot=" \
+ "if run main_load_fit hab_check_flash_fit; then " \
+ "if run mainboot; then ; " \
+ "else " \
+ "run r_reason_syserr;" \
+ "if run rescue_load_fit hab_check_file_fit;" \
+ "then run rescueboot; " \
+ "else " \
+ "run dead; " \
+ "echo RESCUE SYSTEM BOOT FAILURE;" \
+ "fi; " \
+ "fi; " \
+ "else " \
+ "run r_reason_syserr;" \
+ "if run rescue_load_fit hab_check_file_fit; then " \
+ "run rescueboot; " \
+ "else " \
+ "run dead; " \
+ "echo RESCUE SYSTEM BOOT FAILURE;" \
+ "fi; " \
+ "fi;\0" \
+ "usb_mmc_rescue_boot=" \
+ "usb start;" \
+ "if usb storage; then " \
+ "if run loadbootscriptUSB " \
+ "hab_check_file_bootscript;" \
+ "then run bootscriptUSB; " \
+ "fi; " \
+ "if run loadbootscriptUSBf " \
+ "hab_check_file_bootscript;" \
+ "then run bootscriptUSB; " \
+ "fi; " \
+ "if run usb_load_fit hab_check_file_fit; then " \
+ "run usbboot; " \
+ "fi; " \
+ "if run usb_load_fitf hab_check_file_fit; then " \
+ "run usbboot; " \
+ "fi; "\
+ "if run usb_load_rescuefit hab_check_file_fit;" \
+ "then run r_reason_syserr rescueboot;" \
+ "fi; " \
+ "if run usb_load_rescuefitf hab_check_file_fit;" \
+ "then run r_reason_syserr rescueboot;" \
+ "fi; " \
+ "run mmc_rescue_boot;" \
+ "fi; "\
+ "run mmc_rescue_boot;\0" \
+ "rescue_xload_boot=" \
+ "run r_reason_syserr;" \
+ "if test ${bootmode} -ne 0 ; then " \
+ "mmc dev ${mmcdev};" \
+ "if mmc rescan; then " \
+ "if run mmc_rescue_load_fit " \
+ "hab_check_file_fit; then " \
+ "run rescueboot; " \
+ "else " \
+ "usb start;" \
+ "if usb storage; then " \
+ "if run usb_load_rescuefit " \
+ "hab_check_file_fit;"\
+ "then " \
+ "run rescueboot;" \
+ "fi; " \
+ "if run usb_load_rescuefitf "\
+ "hab_check_file_fit;"\
+ "then " \
+ "run rescueboot;" \
+ "fi; " \
+ "fi;" \
+ "fi;" \
+ "run dead; " \
+ "echo RESCUE SYSTEM ON SD OR " \
+ "USB BOOT FAILURE;" \
+ "else " \
+ "usb start;" \
+ "if usb storage; then " \
+ "if run usb_load_rescuefit " \
+ "hab_check_file_fit; then " \
+ "run rescueboot;" \
+ "fi; " \
+ "if run usb_load_rescuefitf " \
+ "hab_check_file_fit; then " \
+ "run rescueboot;" \
+ "fi; " \
+ "fi;" \
+ "run dead; " \
+ "echo RESCUE SYSTEM ON USB BOOT FAILURE;" \
+ "fi; " \
+ "else "\
+ "if run rescue_load_fit hab_check_file_fit; then " \
+ "run rescueboot; " \
+ "else " \
+ "run dead; " \
+ "echo RESCUE SYSTEM ON BOARD BOOT FAILURE;" \
+ "fi; " \
+ "fi;\0" \
+ "ari_boot=if test ${bootmode} -ne 0 ; then " \
+ "mmc dev ${mmcdev};" \
+ "if mmc rescan; then " \
+ "if run loadbootscript hab_check_file_bootscript;" \
+ "then run bootscript; " \
+ "fi; " \
+ "if run mmc_load_fit hab_check_file_fit; then " \
+ "if run mmcboot; then ; " \
+ "else " \
+ "run mmc_rescue_boot;" \
+ "fi; " \
+ "else " \
+ "run usb_mmc_rescue_boot;" \
+ "fi; " \
+ "else " \
+ "run usb_mmc_rescue_boot;" \
+ "fi; " \
+ "else "\
+ "run main_rescue_boot;" \
+ "fi; \0"\
+ HAB_EXTRA_SETTINGS \
+ CONFIG_EXTRA_ENV_BOARD_SETTINGS
+
+#define CONFIG_ARP_TIMEOUT 200UL
+
+#define CONFIG_SYS_MEMTEST_START PHYS_SDRAM
+#define CONFIG_SYS_MEMTEST_END (CONFIG_SYS_MEMTEST_START + 0x100000)
+#define CONFIG_SYS_MEMTEST_SCRATCH 0x10800000
+
+/* Physical Memory Map */
+#define PHYS_SDRAM MMDC0_ARB_BASE_ADDR
-#define CONFIG_SYS_I2C_MXC_I2C4 /* enable I2C bus 4 */
+#define CONFIG_SYS_SDRAM_BASE PHYS_SDRAM
+#define CONFIG_SYS_INIT_RAM_ADDR IRAM_BASE_ADDR
+#define CONFIG_SYS_INIT_RAM_SIZE IRAM_SIZE
-#define ARISTAINETOS_USB_OTG_PWR IMX_GPIO_NR(4, 15)
-#define ARISTAINETOS_USB_H1_PWR IMX_GPIO_NR(1, 0)
-#define CONFIG_GPIO_ENABLE_SPI_FLASH IMX_GPIO_NR(2, 15)
+#define CONFIG_SYS_INIT_SP_OFFSET \
+ (CONFIG_SYS_INIT_RAM_SIZE - GENERATED_GBL_DATA_SIZE)
+#define CONFIG_SYS_INIT_SP_ADDR \
+ (CONFIG_SYS_INIT_RAM_ADDR + CONFIG_SYS_INIT_SP_OFFSET)
+
+#define CONFIG_SYS_FSL_USDHC_NUM 2
+
+/* NAND stuff */
+#define CONFIG_SYS_MAX_NAND_DEVICE 1
+#define CONFIG_SYS_NAND_BASE 0x40000000
+#define CONFIG_SYS_NAND_5_ADDR_CYCLE
+#define CONFIG_SYS_NAND_ONFI_DETECTION
+
+/* DMA stuff, needed for GPMI/MXS NAND support */
+
+/* USB Configs */
+#define CONFIG_EHCI_HCD_INIT_AFTER_RESET /* For OTG port */
+#define CONFIG_MXC_USB_PORTSC (PORT_PTS_UTMI | PORT_PTS_PTW)
+#define CONFIG_MXC_USB_FLAGS 0
+
+/* UBI support */
/* Framebuffer */
-#define CONFIG_SYS_LDB_CLOCK 33246000
-#define CONFIG_LG4573
-#define CONFIG_LG4573_BUS 0
-#define CONFIG_LG4573_CS 0
+/* check this console not needed, after test remove it */
+#define CONFIG_SPLASH_SCREEN
+#define CONFIG_SPLASH_SCREEN_ALIGN
+#define CONFIG_IMX_VIDEO_SKIP
+#define CONFIG_VIDEO_LOGO
+#define CONFIG_VIDEO_BMP_LOGO
+#define CONFIG_BMP_16BPP
+#define CONFIG_VIDEO_BMP_RLE8
-#include "aristainetos-common.h"
+#define CONFIG_IMX6_PWM_PER_CLK 66000000
#endif /* __ARISTAINETOS2_CONFIG_H */
diff --git a/include/configs/aristainetos2b.h b/include/configs/aristainetos2b.h
deleted file mode 100644
index cdeb7a3b03..0000000000
--- a/include/configs/aristainetos2b.h
+++ /dev/null
@@ -1,50 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0+ */
-/*
- * (C) Copyright 2015
- * Heiko Schocher, DENX Software Engineering, hs@denx.de.
- *
- * Based on:
- * Copyright (C) 2012 Freescale Semiconductor, Inc.
- *
- * Configuration settings for the Freescale i.MX6DL aristainetos2 board.
- */
-#ifndef __ARISTAINETOS2B_CONFIG_H
-#define __ARISTAINETOS2B_CONFIG_H
-
-#define CONFIG_SYS_BOARD_VERSION 3
-#define CONFIG_HOSTNAME "aristainetos2"
-#define CONFIG_BOARDNAME "aristainetos2-revB"
-
-#define CONFIG_MXC_UART_BASE UART2_BASE
-#define CONSOLE_DEV "ttymxc1"
-
-#define CONFIG_FEC_XCV_TYPE RGMII
-
-#define CONFIG_EXTRA_ENV_BOARD_SETTINGS \
- "board_type=aristainetos2_7@1\0" \
- "nor_bootdelay=-2\0" \
- "mtdids=nand0=gpmi-nand,nor0=spi0.0\0" \
- "mtdparts=mtdparts=spi0.0:832k(u-boot),64k(env),64k(env-red)," \
- "-(rescue-system);gpmi-nand:-(ubi)\0" \
- "addmisc=setenv bootargs ${bootargs} net.ifnames=0 consoleblank=0\0" \
- "ubiargs=setenv bootargs console=${console},${baudrate} " \
- "ubi.mtd=0,4096 root=ubi0:rootfs rootfstype=ubifs\0 " \
- "ubifs_load_fit=sf probe;ubi part ubi 4096;ubifsmount ubi:rootfs;" \
- "ubifsload ${fit_addr_r} /boot/system.itb; " \
- "imi ${fit_addr_r}\0 " \
-
-#define CONFIG_SYS_I2C_MXC_I2C4 /* enable I2C bus 4 */
-
-#define ARISTAINETOS_USB_OTG_PWR IMX_GPIO_NR(4, 15)
-#define ARISTAINETOS_USB_H1_PWR IMX_GPIO_NR(1, 0)
-#define CONFIG_GPIO_ENABLE_SPI_FLASH IMX_GPIO_NR(2, 15)
-
-/* Framebuffer */
-#define CONFIG_SYS_LDB_CLOCK 33246000
-#define CONFIG_LG4573
-#define CONFIG_LG4573_BUS 0
-#define CONFIG_LG4573_CS 1
-
-#include "aristainetos-common.h"
-
-#endif /* __ARISTAINETOS2B_CONFIG_H */
diff --git a/include/configs/cm_fx6.h b/include/configs/cm_fx6.h
index eb29f07032..53ae5f08eb 100644
--- a/include/configs/cm_fx6.h
+++ b/include/configs/cm_fx6.h
@@ -153,6 +153,13 @@
/* APBH DMA is required for NAND support */
#endif
+/* SPI Flash Configs */
+#if defined(CONFIG_SPL_BUILD)
+#undef CONFIG_DM_SPI
+#undef CONFIG_DM_SPI_FLASH
+#undef CONFIG_SPI_FLASH_MTD
+#endif
+
/* Ethernet */
#define CONFIG_FEC_MXC
#define CONFIG_FEC_MXC_PHYADDR 0
diff --git a/include/configs/colibri-imx6ull.h b/include/configs/colibri-imx6ull.h
index 0c36a57a0e..ea5ba6bfce 100644
--- a/include/configs/colibri-imx6ull.h
+++ b/include/configs/colibri-imx6ull.h
@@ -47,6 +47,12 @@
"ramdisk_addr_r=0x82200000\0" \
"scriptaddr=0x87000000\0"
+#define UBOOT_UPDATE \
+ "update_uboot=nand erase.part u-boot1 && " \
+ "nand write ${loadaddr} u-boot1 ${filesize} && " \
+ "nand erase.part u-boot2 && " \
+ "nand write ${loadaddr} u-boot2 ${filesize}\0"
+
#define NFS_BOOTCMD \
"nfsargs=ip=:::::eth0: root=/dev/nfs\0" \
"nfsboot=run setup; " \
@@ -83,6 +89,7 @@
MEM_LAYOUT_ENV_SETTINGS \
NFS_BOOTCMD \
UBI_BOOTCMD \
+ UBOOT_UPDATE \
"console=ttymxc0\0" \
"defargs=user_debug=30\0" \
"dfu_alt_info=" DFU_ALT_NAND_INFO "\0" \
diff --git a/include/configs/colibri_imx6.h b/include/configs/colibri_imx6.h
index 95b5a14b59..cbc7501bcc 100644
--- a/include/configs/colibri_imx6.h
+++ b/include/configs/colibri_imx6.h
@@ -43,14 +43,6 @@
#define CONFIG_SYS_FSL_ESDHC_ADDR 0
#define CONFIG_SYS_FSL_USDHC_NUM 2
-/* Network */
-#define CONFIG_FEC_MXC
-#define IMX_FEC_BASE ENET_BASE_ADDR
-#define CONFIG_FEC_XCV_TYPE RMII
-#define CONFIG_ETHPRIME "FEC"
-#define CONFIG_FEC_MXC_PHYADDR 1
-#define CONFIG_TFTP_TSIZE
-
/* USB Configs */
/* Host */
#define CONFIG_USB_MAX_CONTROLLER_COUNT 2
@@ -110,6 +102,17 @@
"imx6dl-colibri-eval-v3.dtb fat 0 1;" \
"imx6dl-colibri-cam-eval-v3.dtb fat 0 1"
+#define UBOOT_UPDATE \
+ "uboot_hwpart=1\0" \
+ "uboot_blk=8a\0" \
+ "uboot_spl_blk=2\0" \
+ "set_blkcnt=setexpr blkcnt ${filesize} + 0x1ff && " \
+ "setexpr blkcnt ${blkcnt} / 0x200\0" \
+ "update_uboot=run set_blkcnt && mmc dev 0 ${uboot_hwpart} && " \
+ "mmc write ${loadaddr} ${uboot_blk} ${blkcnt}\0" \
+ "update_spl=run set_blkcnt && mmc dev 0 ${uboot_hwpart} && " \
+ "mmc write ${loadaddr} ${uboot_spl_blk} ${blkcnt}\0"
+
#define EMMC_BOOTCMD \
"set_emmcargs=setenv emmcargs ip=off root=PARTUUID=${uuid} "\
"rw,noatime rootfstype=ext4 " \
@@ -163,6 +166,7 @@
"fdt_fixup=;\0" \
MEM_LAYOUT_ENV_SETTINGS \
NFS_BOOTCMD \
+ UBOOT_UPDATE \
"setethupdate=if env exists ethaddr; then; else setenv ethaddr " \
"00:14:2d:00:00:00; fi; tftpboot ${loadaddr} " \
"flash_eth.img && source ${loadaddr}\0" \
diff --git a/include/configs/colibri_imx7.h b/include/configs/colibri_imx7.h
index d92db7192e..603ea3a053 100644
--- a/include/configs/colibri_imx7.h
+++ b/include/configs/colibri_imx7.h
@@ -16,17 +16,6 @@
/* Size of malloc() pool */
#define CONFIG_SYS_MALLOC_LEN (32 * SZ_1M)
-/* Network */
-#define CONFIG_FEC_MXC
-#define CONFIG_FEC_XCV_TYPE RMII
-#define CONFIG_ETHPRIME "FEC"
-#define CONFIG_FEC_MXC_PHYADDR 0
-
-#define CONFIG_TFTP_TSIZE
-
-/* ENET1 */
-#define IMX_FEC_BASE ENET_IPS_BASE_ADDR
-
/* MMC Config*/
#define CONFIG_SYS_FSL_ESDHC_ADDR 0
#ifdef CONFIG_TARGET_COLIBRI_IMX7_NAND
@@ -43,6 +32,22 @@
#define CONFIG_NETMASK 255.255.255.0
#define CONFIG_SERVERIP 192.168.10.1
+#if defined(CONFIG_TARGET_COLIBRI_IMX7_EMMC)
+#define UBOOT_UPDATE \
+ "uboot_hwpart=1\0" \
+ "uboot_blk=2\0" \
+ "set_blkcnt=setexpr blkcnt ${filesize} + 0x1ff && " \
+ "setexpr blkcnt ${blkcnt} / 0x200\0" \
+ "update_uboot=run set_blkcnt && mmc dev 0 ${uboot_hwpart} && " \
+ "mmc write ${loadaddr} ${uboot_blk} ${blkcnt}\0"
+#elif defined(CONFIG_TARGET_COLIBRI_IMX7_NAND)
+#define UBOOT_UPDATE \
+ "update_uboot=nand erase.part u-boot1 && " \
+ "nand write ${loadaddr} u-boot1 ${filesize} && " \
+ "nand erase.part u-boot2 && " \
+ "nand write ${loadaddr} u-boot2 ${filesize}\0"
+#endif
+
#ifndef PARTS_DEFAULT
/* Define the default GPT table for eMMC */
#define PARTS_DEFAULT \
@@ -163,6 +168,7 @@
MEM_LAYOUT_ENV_SETTINGS \
NFS_BOOTCMD \
MODULE_EXTRA_ENV_SETTINGS \
+ UBOOT_UPDATE \
"boot_file=zImage\0" \
"console=ttymxc0\0" \
"defargs=\0" \
diff --git a/include/configs/colibri_vf.h b/include/configs/colibri_vf.h
index 40c050a27e..1478ea844e 100644
--- a/include/configs/colibri_vf.h
+++ b/include/configs/colibri_vf.h
@@ -58,6 +58,10 @@
"ramdisk_addr_r=0x82100000\0" \
"scriptaddr=0x87000000\0"
+#define UBOOT_UPDATE \
+ "update_uboot=nand erase.part u-boot && " \
+ "nand write ${loadaddr} u-boot ${filesize}\0" \
+
#define NFS_BOOTCMD \
"nfsargs=ip=:::::eth0: root=/dev/nfs\0" \
"nfsboot=run setup; " \
@@ -112,6 +116,7 @@
NFS_BOOTCMD \
SD_BOOTCMD \
UBI_BOOTCMD \
+ UBOOT_UPDATE \
"console=ttyLP0\0" \
"defargs=user_debug=30\0" \
"dfu_alt_info=" DFU_ALT_NAND_INFO "\0" \
diff --git a/include/configs/dh_imx6.h b/include/configs/dh_imx6.h
index d762d2cb19..087d020cdd 100644
--- a/include/configs/dh_imx6.h
+++ b/include/configs/dh_imx6.h
@@ -87,6 +87,11 @@
#endif
/* Watchdog */
+#if defined(CONFIG_SPL_BUILD)
+#undef CONFIG_WDT
+#undef CONFIG_WATCHDOG
+#define CONFIG_HW_WATCHDOG
+#endif
/* allow to overwrite serial and ethaddr */
#define CONFIG_ENV_OVERWRITE
diff --git a/include/configs/ge_bx50v3.h b/include/configs/ge_bx50v3.h
index 73cdc5b489..dad906d494 100644
--- a/include/configs/ge_bx50v3.h
+++ b/include/configs/ge_bx50v3.h
@@ -49,16 +49,6 @@
#define CONFIG_USB_GADGET_MASS_STORAGE
#endif
-/* Networking Configs */
-#ifdef CONFIG_NET
-#define CONFIG_FEC_MXC
-#define IMX_FEC_BASE ENET_BASE_ADDR
-#define CONFIG_FEC_XCV_TYPE RGMII
-#define CONFIG_ETHPRIME "FEC"
-#define CONFIG_FEC_MXC_PHYADDR 4
-#define CONFIG_PHY_ATHEROS
-#endif
-
/* Serial Flash */
/* allow to overwrite serial and ethaddr */
@@ -103,7 +93,7 @@
"setargs=setenv bootargs root=/dev/${rootdev}${partnum} " \
"ro rootwait cma=128M " \
"bootcause=${bootcause} " \
- "${quiet} console=${console} ${rtc_status} " \
+ "${quiet} console=${console} " \
"${videoargs}" "\0" \
"doquiet=" \
"if ext2load ${dev} ${devnum}:5 0x7000A000 /boot/console; " \
@@ -114,12 +104,11 @@
"swappartitions=" \
"setexpr partnum 3 - ${partnum}\0" \
"failbootcmd=" \
+ "echo reached failbootcmd; " \
"bx50_backlight_enable; " \
- "msg=\"Monitor failed to start. Try again, or contact GE Service for support.\"; " \
- "echo $msg; " \
- "setenv stdout vga; " \
- "echo \"\n\n\n\n \" $msg; " \
- "setenv stdout serial; " \
+ "setcurs 5 4; " \
+ "lcdputs \"Monitor failed to start. " \
+ "Try again, or contact GE Service for support.\"; " \
"mw.b 0x7000A000 0xbc; " \
"mw.b 0x7000A001 0x00; " \
"ext4write ${dev} ${devnum}:5 0x7000A000 /boot/failures 2\0" \
@@ -195,8 +184,6 @@
#define CONFIG_IMX6_PWM_PER_CLK 66000000
-#define CONFIG_PCI
-#define CONFIG_PCI_PNP
#define CONFIG_PCI_SCAN_SHOW
#define CONFIG_PCIE_IMX
#define CONFIG_PCIE_IMX_PERST_GPIO IMX_GPIO_NR(7, 12)
diff --git a/include/configs/imx6-engicam.h b/include/configs/imx6-engicam.h
index 46529a61da..18327fb4c3 100644
--- a/include/configs/imx6-engicam.h
+++ b/include/configs/imx6-engicam.h
@@ -156,17 +156,6 @@
/* MTD device */
#endif
-/* Ethernet */
-#ifdef CONFIG_FEC_MXC
-# ifdef CONFIG_TARGET_MX6Q_ICORE_RQS
-# define CONFIG_FEC_MXC_PHYADDR 3
-# define CONFIG_FEC_XCV_TYPE RGMII
-# else
-# define CONFIG_FEC_MXC_PHYADDR 0
-# define CONFIG_FEC_XCV_TYPE RMII
-# endif
-#endif
-
/* Falcon Mode */
#ifdef CONFIG_SPL_OS_BOOT
# define CONFIG_SPL_FS_LOAD_ARGS_NAME "args"
diff --git a/include/configs/imx8mm_evk.h b/include/configs/imx8mm_evk.h
index 991fe0056c..7da2b90052 100644
--- a/include/configs/imx8mm_evk.h
+++ b/include/configs/imx8mm_evk.h
@@ -38,12 +38,12 @@
/* Initial environment variables */
#define CONFIG_EXTRA_ENV_SETTINGS \
"script=boot.scr\0" \
- "image=Image.itb\0" \
+ "image=Image\0" \
"console=ttymxc1,115200\0" \
"fdt_addr=0x43000000\0" \
"fdt_high=0xffffffffffffffff\0" \
- "boot_fit=try\0" \
- "fdt_file=" CONFIG_DEFAULT_FDT_FILE "\0" \
+ "boot_fit=no\0" \
+ "fdt_file=imx8mm-evk.dtb\0" \
"initrd_addr=0x43800000\0" \
"initrd_high=0xffffffffffffffff\0" \
"mmcdev="__stringify(CONFIG_SYS_MMC_ENV_DEV)"\0" \
@@ -113,7 +113,7 @@
(CONFIG_SYS_INIT_RAM_ADDR + CONFIG_SYS_INIT_SP_OFFSET)
#define CONFIG_ENV_OVERWRITE
-#define CONFIG_SYS_MMC_ENV_DEV 0 /* USDHC2 */
+#define CONFIG_SYS_MMC_ENV_DEV 1 /* USDHC2 */
#define CONFIG_MMCROOT "/dev/mmcblk1p2" /* USDHC2 */
/* Size of malloc() pool */
diff --git a/include/configs/mx53cx9020.h b/include/configs/mx53cx9020.h
index af23762396..0ebff26ba0 100644
--- a/include/configs/mx53cx9020.h
+++ b/include/configs/mx53cx9020.h
@@ -21,7 +21,7 @@
#define CONFIG_SYS_FSL_CLK
/* Size of malloc() pool */
-#define CONFIG_SYS_MALLOC_LEN (10 * 1024 * 1024)
+#define CONFIG_SYS_MALLOC_LEN (32 * 1024 * 1024)
#define CONFIG_REVISION_TAG
@@ -35,10 +35,6 @@
/* bootz: zImage/initrd.img support */
-/* Eth Configs */
-#define IMX_FEC_BASE FEC_BASE_ADDR
-#define CONFIG_ETHPRIME "FEC0"
-#define CONFIG_FEC_MXC_PHYADDR 0x1F
/* USB Configs */
#define CONFIG_MXC_USB_PORT 1
@@ -52,80 +48,27 @@
#define CONFIG_LOADADDR 0x70010000 /* loadaddr env var */
+#define BOOT_TARGET_DEVICES(func) \
+ func(MMC, mmc, 0) \
+ func(MMC, mmc, 1) \
+ func(USB, usb, 0) \
+ func(PXE, pxe, na)
+
+#include <config_distro_bootcmd.h>
+
#define CONFIG_EXTRA_ENV_SETTINGS \
- "fdt_addr_r=0x71ff0000\0" \
+ "fdt_addr_r=0x75000000\0" \
"pxefile_addr_r=0x73000000\0" \
- "ramdisk_addr_r=0x72000000\0" \
+ "scriptaddr=0x74000000\0" \
+ "ramdisk_addr_r=0x80000000\0" \
+ "kernel_addr_r=0x72000000\0" \
+ "fdt_high=0xffffffff\0" \
"console=ttymxc1,115200\0" \
- "uenv=/boot/uEnv.txt\0" \
- "optargs=\0" \
- "cmdline=\0" \
- "mmcdev=0\0" \
- "mmcpart=1\0" \
- "mmcrootfstype=ext4 rootwait fixrtc\0" \
- "mmcargs=setenv bootargs console=${console} " \
- "${optargs} " \
- "root=/dev/mmcblk${mmcdev}p${mmcpart} ro " \
- "rootfstype=${mmcrootfstype} " \
- "${cmdline}\0" \
- "loadimage=load mmc ${bootpart} ${loadaddr} ${bootdir}/${bootfile}\0" \
- "loadpxe=dhcp;setenv kernel_addr_r ${loadaddr};pxe get;pxe boot;\0" \
- "loadrd=load mmc ${bootpart} ${ramdisk_addr_r} ${bootdir}/${rdfile};" \
- "setenv rdsize ${filesize}\0" \
- "loadfdt=echo loading ${fdt_path} ...;" \
- "load mmc ${bootpart} ${fdt_addr_r} ${fdt_path}\0" \
- "mmcboot=mmc dev ${mmcdev}; " \
- "if mmc rescan; then " \
- "echo SD/MMC found on device ${mmcdev};" \
- "echo Checking for: ${uenv} ...;" \
- "setenv bootpart ${mmcdev}:${mmcpart};" \
- "if test -e mmc ${bootpart} ${uenv}; then " \
- "load mmc ${bootpart} ${loadaddr} ${uenv};" \
- "env import -t ${loadaddr} ${filesize};" \
- "echo Loaded environment from ${uenv};" \
- "if test -n ${dtb}; then " \
- "setenv fdt_file ${dtb};" \
- "echo Using: dtb=${fdt_file} ...;" \
- "fi;" \
- "echo Checking for uname_r in ${uenv}...;" \
- "if test -n ${uname_r}; then " \
- "echo Running uname_boot ...;" \
- "run uname_boot;" \
- "fi;" \
- "fi;" \
- "fi;\0" \
- "uname_boot="\
- "setenv bootdir /boot; " \
- "setenv bootfile vmlinuz-${uname_r}; " \
- "setenv ccatfile /boot/ccat.rbf; " \
- "echo loading CCAT firmware from ${ccatfile}; " \
- "load mmc ${bootpart} ${loadaddr} ${ccatfile}; " \
- "fpga load 0 ${loadaddr} ${filesize}; " \
- "if test -e mmc ${bootpart} ${bootdir}/${bootfile}; then " \
- "echo loading ${bootdir}/${bootfile} ...; " \
- "run loadimage;" \
- "setenv fdt_path /boot/dtbs/${uname_r}/${fdt_file}; " \
- "if test -e mmc ${bootpart} ${fdt_path}; then " \
- "run loadfdt;" \
- "else " \
- "echo; echo unable to find ${fdt_file} ...;" \
- "echo booting legacy ...;"\
- "run mmcargs;" \
- "echo debug: [${bootargs}] ... ;" \
- "echo debug: [bootz ${loadaddr}] ... ;" \
- "bootz ${loadaddr}; " \
- "fi;" \
- "run mmcargs;" \
- "echo debug: [${bootargs}] ... ;" \
- "echo debug: [bootz ${loadaddr} - ${fdt_addr_r}];" \
- "bootz ${loadaddr} - ${fdt_addr_r}; " \
- "else " \
- "echo loading from dhcp ...; " \
- "run loadpxe; " \
- "fi;\0"
-
-#define CONFIG_BOOTCOMMAND \
- "run mmcboot;"
+ "stdin=serial\0" \
+ "stdout=serial,vidconsole\0" \
+ "stderr=serial,vidconsole\0" \
+ "fdtfile=imx53-cx9020.dtb\0" \
+ BOOTENV
#define CONFIG_ARP_TIMEOUT 200UL
diff --git a/include/configs/mx53ppd.h b/include/configs/mx53ppd.h
index f7667eca7c..9361507a55 100644
--- a/include/configs/mx53ppd.h
+++ b/include/configs/mx53ppd.h
@@ -101,7 +101,7 @@
"lvds=ldb\0" \
"setargs=setenv bootargs ${lvds} jtag=on mem=2G " \
"vt.global_cursor_default=0 bootcause=${bootcause} ${quiet} " \
- "console=${console} ${rtc_status}\0" \
+ "console=${console}\0" \
"bootargs_emmc=setenv bootargs root=/dev/${rootdev}${partnum} ro " \
"rootwait ${bootargs}\0" \
"doquiet=if ext2load ${dev} ${devnum}:5 0x7000A000 /boot/console; " \
diff --git a/include/configs/mx6cuboxi.h b/include/configs/mx6cuboxi.h
index c8d91dcfa0..6d47e28fc7 100644
--- a/include/configs/mx6cuboxi.h
+++ b/include/configs/mx6cuboxi.h
@@ -45,10 +45,7 @@
#define CONFIG_IMX_VIDEO_SKIP
/* USB */
-#define CONFIG_EHCI_HCD_INIT_AFTER_RESET
#define CONFIG_MXC_USB_PORTSC (PORT_PTS_UTMI | PORT_PTS_PTW)
-#define CONFIG_MXC_USB_FLAGS 0
-#define CONFIG_USB_MAX_CONTROLLER_COUNT 2
/* Command definition */
@@ -108,7 +105,8 @@
BOOTENV
#define BOOT_TARGET_DEVICES(func) \
- func(MMC, mmc, 0) \
+ func(MMC, mmc, 1) \
+ func(MMC, mmc, 2) \
func(SATA, sata, 0) \
func(USB, usb, 0) \
func(PXE, pxe, na) \
diff --git a/include/configs/mx7dsabresd.h b/include/configs/mx7dsabresd.h
index 745507571d..b1726b1d88 100644
--- a/include/configs/mx7dsabresd.h
+++ b/include/configs/mx7dsabresd.h
@@ -17,16 +17,6 @@
/* Size of malloc() pool */
#define CONFIG_SYS_MALLOC_LEN (32 * SZ_1M)
-/* Network */
-#define CONFIG_FEC_MXC
-#define CONFIG_FEC_XCV_TYPE RGMII
-#define CONFIG_ETHPRIME "FEC"
-#define CONFIG_FEC_MXC_PHYADDR 0
-
-#define CONFIG_PHY_BROADCOM
-/* ENET1 */
-#define IMX_FEC_BASE ENET_IPS_BASE_ADDR
-
/* MMC Config*/
#define CONFIG_SYS_FSL_ESDHC_ADDR 0
@@ -84,76 +74,25 @@
"image=zImage\0" \
"console=ttymxc0\0" \
"fdt_high=0xffffffff\0" \
+ "finduuid=part uuid mmc 0:1 uuid\0" \
"initrd_high=0xffffffff\0" \
- "fdt_file=imx7d-sdb.dtb\0" \
+ "fdtfile=imx7d-sdb.dtb\0" \
"fdt_addr=0x83000000\0" \
- "boot_fdt=try\0" \
- "ip_dyn=yes\0" \
+ "fdt_addr_r=0x83000000\0" \
+ "kernel_addr_r=" __stringify(CONFIG_LOADADDR) "\0" \
+ "pxefile_addr_r=" __stringify(CONFIG_LOADADDR) "\0" \
+ "ramdisk_addr_r=0x83000000\0" \
+ "ramdiskaddr=0x83000000\0" \
+ "scriptaddr=" __stringify(CONFIG_LOADADDR) "\0" \
"videomode=video=ctfb:x:480,y:272,depth:24,pclk:108695,le:8,ri:4,up:2,lo:4,hs:41,vs:10,sync:0,vmode:0\0" \
- "mmcdev="__stringify(CONFIG_SYS_MMC_ENV_DEV)"\0" \
- "mmcpart=" __stringify(CONFIG_SYS_MMC_IMG_LOAD_PART) "\0" \
- "mmcroot=" CONFIG_MMCROOT " rootwait rw\0" \
- "mmcautodetect=yes\0" \
- "mmcargs=setenv bootargs console=${console},${baudrate} " \
- "root=${mmcroot}\0" \
- "loadbootscript=" \
- "fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${script};\0" \
- "bootscript=echo Running bootscript from mmc ...; " \
- "source\0" \
- "loadimage=fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${image}\0" \
- "loadfdt=fatload mmc ${mmcdev}:${mmcpart} ${fdt_addr} ${fdt_file}\0" \
- "mmcboot=echo Booting from mmc ...; " \
- "run mmcargs; " \
- "if test ${boot_fdt} = yes || test ${boot_fdt} = try; then " \
- "if run loadfdt; then " \
- "bootz ${loadaddr} - ${fdt_addr}; " \
- "else " \
- "if test ${boot_fdt} = try; then " \
- "bootz; " \
- "else " \
- "echo WARN: Cannot load the DT; " \
- "fi; " \
- "fi; " \
- "else " \
- "bootz; " \
- "fi;\0" \
- "netargs=setenv bootargs console=${console},${baudrate} " \
- "root=/dev/nfs " \
- "ip=dhcp nfsroot=${serverip}:${nfsroot},v3,tcp\0" \
- "netboot=echo Booting from net ...; " \
- "run netargs; " \
- "if test ${ip_dyn} = yes; then " \
- "setenv get_cmd dhcp; " \
- "else " \
- "setenv get_cmd tftp; " \
- "fi; " \
- "${get_cmd} ${image}; " \
- "if test ${boot_fdt} = yes || test ${boot_fdt} = try; then " \
- "if ${get_cmd} ${fdt_addr} ${fdt_file}; then " \
- "bootz ${loadaddr} - ${fdt_addr}; " \
- "else " \
- "if test ${boot_fdt} = try; then " \
- "bootz; " \
- "else " \
- "echo WARN: Cannot load the DT; " \
- "fi; " \
- "fi; " \
- "else " \
- "bootz; " \
- "fi;\0"
-
-#define CONFIG_BOOTCOMMAND \
- "mmc dev ${mmcdev};" \
- "mmc dev ${mmcdev}; if mmc rescan; then " \
- "if run loadbootscript; then " \
- "run bootscript; " \
- "else " \
- "if run loadimage; then " \
- "run mmcboot; " \
- "else run netboot; " \
- "fi; " \
- "fi; " \
- "else run netboot; fi"
+ BOOTENV
+
+#define BOOT_TARGET_DEVICES(func) \
+ func(MMC, mmc, 0) \
+ func(DHCP, dhcp, na) \
+ func(PXE, pxe, na)
+
+#include <config_distro_bootcmd.h>
#define CONFIG_SYS_MEMTEST_START 0x80000000
#define CONFIG_SYS_MEMTEST_END (CONFIG_SYS_MEMTEST_START + 0x20000000)
@@ -197,7 +136,6 @@
#define CONFIG_SYS_MMC_ENV_DEV 0 /* USDHC1 */
#define CONFIG_SYS_MMC_ENV_PART 0 /* user area */
-#define CONFIG_MMCROOT "/dev/mmcblk0p2" /* USDHC1 */
/* USB Configs */
#define CONFIG_MXC_USB_PORTSC (PORT_PTS_UTMI | PORT_PTS_PTW)
diff --git a/include/configs/mx7ulp_com.h b/include/configs/mx7ulp_com.h
new file mode 100644
index 0000000000..bccfea812d
--- /dev/null
+++ b/include/configs/mx7ulp_com.h
@@ -0,0 +1,103 @@
+/* SPDX-License-Identifier: GPL-2.0+ */
+/*
+ * Copyright (C) 2016 Freescale Semiconductor, Inc.
+ *
+ * Configuration settings for the Embedded Artists i.MX7ULP COM board.
+ */
+
+#ifndef __MX7ULP_COM_CONFIG_H
+#define __MX7ULP_COM_CONFIG_H
+
+#include <linux/sizes.h>
+#include <asm/arch/imx-regs.h>
+
+#define CONFIG_BOARD_POSTCLK_INIT
+#define CONFIG_SYS_BOOTM_LEN 0x1000000
+
+#define SRC_BASE_ADDR CMC1_RBASE
+#define IRAM_BASE_ADDR OCRAM_0_BASE
+#define IOMUXC_BASE_ADDR IOMUXC1_RBASE
+
+/*
+ * Detect overlap between U-Boot image and environment area in build-time
+ *
+ * CONFIG_BOARD_SIZE_LIMIT = CONFIG_ENV_OFFSET - u-boot-dtb.imx offset
+ * CONFIG_BOARD_SIZE_LIMIT = 768k - 1k = 767k = 785408
+ *
+ * Currently CONFIG_BOARD_SIZE_LIMIT does not handle expressions, so
+ * write the direct value here
+ */
+#define CONFIG_BOARD_SIZE_LIMIT 785408
+#define CONFIG_SYS_MMC_ENV_DEV 0
+#define CONFIG_MMCROOT "/dev/mmcblk0p2"
+#define CONFIG_SYS_MMC_IMG_LOAD_PART 1
+
+/* Using ULP WDOG for reset */
+#define WDOG_BASE_ADDR WDG1_RBASE
+
+#define CONFIG_SYS_HZ_CLOCK 1000000 /* Fixed at 1MHz from TSTMR */
+
+#define CONFIG_INITRD_TAG
+#define CONFIG_CMDLINE_TAG
+#define CONFIG_SETUP_MEMORY_TAGS
+
+/* Size of malloc() pool */
+#define CONFIG_SYS_MALLOC_LEN (8 * SZ_1M)
+
+/* UART */
+#define LPUART_BASE LPUART4_RBASE
+
+/* allow to overwrite serial and ethaddr */
+#define CONFIG_ENV_OVERWRITE
+
+/* Physical Memory Map */
+
+#define PHYS_SDRAM 0x60000000
+#define CONFIG_SYS_MEMTEST_START PHYS_SDRAM
+#define CONFIG_SYS_SDRAM_BASE PHYS_SDRAM
+
+#define CONFIG_LOADADDR 0x60800000
+
+#define CONFIG_SYS_MEMTEST_END (CONFIG_SYS_MEMTEST_START + SZ_512M)
+
+#define CONFIG_EXTRA_ENV_SETTINGS \
+ "image=zImage\0" \
+ "console=ttyLP0\0" \
+ "fdt_high=0xffffffff\0" \
+ "initrd_high=0xffffffff\0" \
+ "fdt_file=imx7ulp-com.dtb\0" \
+ "fdt_addr=0x63000000\0" \
+ "mmcdev="__stringify(CONFIG_SYS_MMC_ENV_DEV)"\0" \
+ "mmcpart=" __stringify(CONFIG_SYS_MMC_IMG_LOAD_PART) "\0" \
+ "mmcroot=" CONFIG_MMCROOT " rootwait rw\0" \
+ "mmcargs=setenv bootargs console=${console},${baudrate} " \
+ "root=${mmcroot}\0" \
+ "loadimage=fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${image}\0" \
+ "loadfdt=fatload mmc ${mmcdev}:${mmcpart} ${fdt_addr} ${fdt_file}\0" \
+ "mmcboot=echo Booting from mmc ...; " \
+ "run mmcargs; " \
+ "if run loadfdt; then " \
+ "bootz ${loadaddr} - ${fdt_addr}; " \
+ "fi;\0" \
+
+#define CONFIG_BOOTCOMMAND \
+ "if run loadimage; then " \
+ "run mmcboot; " \
+ "fi; " \
+
+#define CONFIG_SYS_LOAD_ADDR CONFIG_LOADADDR
+
+#define CONFIG_SYS_INIT_RAM_ADDR IRAM_BASE_ADDR
+#define CONFIG_SYS_INIT_RAM_SIZE SZ_256K
+
+#define CONFIG_SYS_INIT_SP_OFFSET \
+ (CONFIG_SYS_INIT_RAM_SIZE - GENERATED_GBL_DATA_SIZE)
+#define CONFIG_SYS_INIT_SP_ADDR \
+ (CONFIG_SYS_INIT_RAM_ADDR + CONFIG_SYS_INIT_SP_OFFSET)
+
+#if !CONFIG_IS_ENABLED(SYS_DCACHE_OFF)
+#define CONFIG_CMD_CACHE
+#endif
+
+#define CONFIG_MXC_USB_PORTSC (PORT_PTS_UTMI | PORT_PTS_PTW)
+#endif /* __CONFIG_H */
diff --git a/include/configs/xea.h b/include/configs/xea.h
new file mode 100644
index 0000000000..65109566d3
--- /dev/null
+++ b/include/configs/xea.h
@@ -0,0 +1,196 @@
+/* SPDX-License-Identifier: GPL-2.0+ */
+/*
+ * Copyright (C) 2019 DENX Software Engineering
+ * Lukasz Majewski, DENX Software Engineering, lukma@denx.de
+ *
+ * Copyright (C) 2018 DENX Software Engineering
+ * Måns Rullgård, DENX Software Engineering, mans@mansr.com
+ *
+ * Copyright (C) 2011 Marek Vasut <marek.vasut@gmail.com>
+ * on behalf of DENX Software Engineering GmbH
+ */
+#ifndef __CONFIGS_XEA_H__
+#define __CONFIGS_XEA_H__
+
+#include <linux/sizes.h>
+
+#define CONFIG_TIMESTAMP /* Print image info with timestamp */
+
+/* SPL */
+#define CONFIG_SPL_STACK 0x20000
+
+#define CONFIG_SYS_SPL_ARGS_ADDR 0x44000000
+
+#define CONFIG_SYS_SPI_KERNEL_OFFS SZ_1M
+#define CONFIG_SYS_SPI_ARGS_OFFS SZ_512K
+#define CONFIG_SYS_SPI_ARGS_SIZE SZ_32K
+
+#define CONFIG_SYS_MMCSD_RAW_MODE_ARGS_SECTOR (SZ_512K / 0x200)
+#define CONFIG_SYS_MMCSD_RAW_MODE_ARGS_SECTORS (SZ_32K / 0x200)
+#define CONFIG_SYS_MMCSD_RAW_MODE_KERNEL_SECTOR (SZ_1M / 0x200)
+
+#ifndef CONFIG_SPL_BUILD
+#define CONFIG_SPI_FLASH_MTD
+#endif
+
+/* Memory configuration */
+#define PHYS_SDRAM_1 0x40000000 /* Base address */
+#define PHYS_SDRAM_1_SIZE 0x10000000 /* Max 256 MB RAM */
+#define CONFIG_SYS_SDRAM_BASE PHYS_SDRAM_1
+
+/* Environment */
+#define CONFIG_ENV_OVERWRITE
+
+/* Booting Linux */
+#define CONFIG_BOOTFILE "uImage"
+#define CONFIG_BOOTARGS "console=ttyAMA0,115200n8 "
+#define CONFIG_BOOTCOMMAND "run ${bootpri} ; run ${bootsec}"
+#define CONFIG_LOADADDR 0x42000000
+#define CONFIG_SYS_LOAD_ADDR CONFIG_LOADADDR
+
+/* Extra Environment */
+#define CONFIG_PREBOOT "run prebootcmd"
+#define CONFIG_HOSTNAME "xea"
+
+#define CONFIG_EXTRA_ENV_SETTINGS \
+ "bootmode=update\0" \
+ "bootpri=mmc_mmc\0" \
+ "bootsec=sf_swu\0" \
+ "consdev=ttyAMA0\0" \
+ "baudrate=115200\0" \
+ "dtbaddr=0x44000000\0" \
+ "dtbfile=imx28-xea.dtb\0" \
+ "rootdev=/dev/mmcblk0p2\0" \
+ "netdev=eth0\0" \
+ "rdaddr=0x43000000\0" \
+ "swufile=swupdate.img\0" \
+ "sf_kernel_offset=0x100000\0" \
+ "sf_kernel_size=0x400000\0" \
+ "sf_swu_offset=0x500000\0" \
+ "sf_swu_size=0x800000\0" \
+ "rootpath=/opt/eldk-5.5/armv5te/rootfs-qte-sdk\0" \
+ "do_update_mmc=" \
+ "if mmc rescan ; then " \
+ "mmc dev 0 ${update_mmc_part} ; " \
+ "if dhcp ${hostname}/${update_filename} ; then " \
+ "setexpr fw_sz ${filesize} / 0x200 ; " /* SD block size */ \
+ "setexpr fw_sz ${fw_sz} + 1 ; " \
+ "mmc write ${loadaddr} ${update_offset} ${fw_sz} ; " \
+ "fi ; " \
+ "fi\0" \
+ "do_update_sf=" \
+ "if sf probe ; then " \
+ "if dhcp ${hostname}/${update_filename} ; then " \
+ "sf erase ${update_offset} +${filesize} ; " \
+ "sf write ${loadaddr} ${update_offset} ${filesize} ; " \
+ "fi ; " \
+ "fi\0" \
+ "update_spl_filename=u-boot.sb\0" \
+ "update_spl=" \
+ "setenv update_filename ${update_spl_filename} ; " \
+ "setenv update_offset 0 ; " \
+ "run do_update_sf\0" \
+ "update_uboot_filename=u-boot.img\0" \
+ "update_uboot=" \
+ "setenv update_filename ${update_uboot_filename} ; " \
+ "setenv update_offset 0x10000 ; " \
+ "run do_update_sf ; " \
+ "setenv update_mmc_part 1 ; " \
+ "setenv update_offset 0 ; " \
+ "run do_update_mmc\0" \
+ "update_kernel_filename=uImage\0" \
+ "update_kernel=" \
+ "setenv update_mmc_part 1 ; " \
+ "setenv update_filename ${update_kernel_filename} ; " \
+ "setenv update_offset 0x800 ; " \
+ "run do_update_mmc ; " \
+ "setenv update_filename ${dtbfile} ; " \
+ "setenv update_offset 0x400 ; " \
+ "run do_update_mmc\0" \
+ "update_sfkernel=" \
+ "setenv update_filename fitImage ; " \
+ "setenv update_offset ${sf_kernel_offset} ; " \
+ "run do_update_sf\0" \
+ "update_swu=" \
+ "setenv update_filename ${swufile} ; " \
+ "setenv update_offset ${sf_swu_offset} ; " \
+ "run do_update_sf\0" \
+ "addcons=" \
+ "setenv bootargs ${bootargs} " \
+ "console=${consdev},${baudrate}\0" \
+ "addip=" \
+ "setenv bootargs ${bootargs} " \
+ "ip=${ipaddr}:${serverip}:${gatewayip}:" \
+ "${netmask}:${hostname}:${netdev}:off\0" \
+ "addmisc=" \
+ "setenv bootargs ${bootargs} ${miscargs}\0" \
+ "addargs=run addcons addmisc\0" \
+ "mmcload=" \
+ "mmc rescan ; " \
+ "mmc dev 0 1 ; " \
+ "mmc read ${loadaddr} 0x800 0x2000 ; " \
+ "mmc read ${dtbaddr} 0x400 0x80\0" \
+ "netload=" \
+ "dhcp ${loadaddr} ${hostname}/${bootfile} ; " \
+ "tftp ${dtbaddr} ${hostname}/${dtbfile}\0" \
+ "sfload=" \
+ "sf probe ; " \
+ "sf read ${loadaddr} ${sf_kernel_offset} ${sf_kernel_size}\0" \
+ "usbload=" \
+ "usb start ; " \
+ "load usb 0:1 ${loadaddr} ${bootfile}\0" \
+ "miscargs=panic=1\0" \
+ "mmcargs=setenv bootargs root=${rootdev} rw rootwait\0" \
+ "nfsargs=" \
+ "setenv bootargs root=/dev/nfs rw " \
+ "nfsroot=${serverip}:${rootpath},v3,tcp\0" \
+ "mmc_mmc=" \
+ "if run mmcload mmcargs addargs ; then " \
+ "bootm ${loadaddr} - ${dtbaddr} ; " \
+ "fi\0" \
+ "mmc_nfs=" \
+ "if run mmcload nfsargs addip addargs ; then " \
+ "bootm ${loadaddr} - ${dtbaddr} ; " \
+ "fi\0" \
+ "sf_mmc=" \
+ "if run sfload mmcargs addargs ; then " \
+ "bootm ${loadaddr} - ${dtbaddr} ; " \
+ "fi\0" \
+ "sf_swu=" \
+ "if run sfload ; then " \
+ "sf read ${rdaddr} ${sf_swu_offset} ${sf_swu_size} ; " \
+ "setenv bootargs root=/dev/ram0 rw ; " \
+ "run addargs ; " \
+ "bootm ${loadaddr} ${rdaddr} ; " \
+ "fi\0" \
+ "net_mmc=" \
+ "if run netload mmcargs addargs ; then " \
+ "bootm ${loadaddr} - ${dtbaddr} ; " \
+ "fi\0" \
+ "net_nfs=" \
+ "if run netload nfsargs addip addargs ; then " \
+ "bootm ${loadaddr} - ${dtbaddr} ; " \
+ "fi\0" \
+ "prebootcmd=" \
+ "if test \"${envsaved}\" != y ; then ; " \
+ "setenv envsaved y ; " \
+ "saveenv ; " \
+ "fi ; " \
+ "if test \"${bootmode}\" = normal ; then " \
+ "setenv bootdelay 0 ; " \
+ "setenv bootpri mmc_mmc ; " \
+ "elif test \"${bootmode}\" = devel ; then " \
+ "setenv bootdelay 3 ; " \
+ "setenv bootpri net_mmc ; " \
+ "else " \
+ "if test \"${bootmode}\" != update ; then " \
+ "echo Warning: unknown bootmode \"${bootmode}\" ; " \
+ "fi ; " \
+ "setenv bootdelay 1 ; " \
+ "setenv bootpri sf_swu ; " \
+ "fi\0"
+
+/* The rest of the configuration is shared */
+#include <configs/mxs.h>
+
+#endif /* __CONFIGS_XEA_H__ */
diff --git a/include/dt-bindings/sound/fsl-imx-audmux.h b/include/dt-bindings/sound/fsl-imx-audmux.h
new file mode 100644
index 0000000000..15f138bebe
--- /dev/null
+++ b/include/dt-bindings/sound/fsl-imx-audmux.h
@@ -0,0 +1,64 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+#ifndef __DT_FSL_IMX_AUDMUX_H
+#define __DT_FSL_IMX_AUDMUX_H
+
+#define MX27_AUDMUX_HPCR1_SSI0 0
+#define MX27_AUDMUX_HPCR2_SSI1 1
+#define MX27_AUDMUX_HPCR3_SSI_PINS_4 2
+#define MX27_AUDMUX_PPCR1_SSI_PINS_1 3
+#define MX27_AUDMUX_PPCR2_SSI_PINS_2 4
+#define MX27_AUDMUX_PPCR3_SSI_PINS_3 5
+
+#define MX31_AUDMUX_PORT1_SSI0 0
+#define MX31_AUDMUX_PORT2_SSI1 1
+#define MX31_AUDMUX_PORT3_SSI_PINS_3 2
+#define MX31_AUDMUX_PORT4_SSI_PINS_4 3
+#define MX31_AUDMUX_PORT5_SSI_PINS_5 4
+#define MX31_AUDMUX_PORT6_SSI_PINS_6 5
+#define MX31_AUDMUX_PORT7_SSI_PINS_7 6
+
+#define MX51_AUDMUX_PORT1_SSI0 0
+#define MX51_AUDMUX_PORT2_SSI1 1
+#define MX51_AUDMUX_PORT3 2
+#define MX51_AUDMUX_PORT4 3
+#define MX51_AUDMUX_PORT5 4
+#define MX51_AUDMUX_PORT6 5
+#define MX51_AUDMUX_PORT7 6
+
+/*
+ * TFCSEL/RFCSEL (i.MX27) or TFSEL/TCSEL/RFSEL/RCSEL (i.MX31/51/53/6Q)
+ * can be sourced from Rx/Tx.
+ */
+#define IMX_AUDMUX_RXFS 0x8
+#define IMX_AUDMUX_RXCLK 0x8
+
+/* Register definitions for the i.MX21/27 Digital Audio Multiplexer */
+#define IMX_AUDMUX_V1_PCR_INMMASK(x) ((x) & 0xff)
+#define IMX_AUDMUX_V1_PCR_INMEN (1 << 8)
+#define IMX_AUDMUX_V1_PCR_TXRXEN (1 << 10)
+#define IMX_AUDMUX_V1_PCR_SYN (1 << 12)
+#define IMX_AUDMUX_V1_PCR_RXDSEL(x) (((x) & 0x7) << 13)
+#define IMX_AUDMUX_V1_PCR_RFCSEL(x) (((x) & 0xf) << 20)
+#define IMX_AUDMUX_V1_PCR_RCLKDIR (1 << 24)
+#define IMX_AUDMUX_V1_PCR_RFSDIR (1 << 25)
+#define IMX_AUDMUX_V1_PCR_TFCSEL(x) (((x) & 0xf) << 26)
+#define IMX_AUDMUX_V1_PCR_TCLKDIR (1 << 30)
+#define IMX_AUDMUX_V1_PCR_TFSDIR (1 << 31)
+
+/* Register definitions for the i.MX25/31/35/51 Digital Audio Multiplexer */
+#define IMX_AUDMUX_V2_PTCR_TFSDIR (1 << 31)
+#define IMX_AUDMUX_V2_PTCR_TFSEL(x) (((x) & 0xf) << 27)
+#define IMX_AUDMUX_V2_PTCR_TCLKDIR (1 << 26)
+#define IMX_AUDMUX_V2_PTCR_TCSEL(x) (((x) & 0xf) << 22)
+#define IMX_AUDMUX_V2_PTCR_RFSDIR (1 << 21)
+#define IMX_AUDMUX_V2_PTCR_RFSEL(x) (((x) & 0xf) << 17)
+#define IMX_AUDMUX_V2_PTCR_RCLKDIR (1 << 16)
+#define IMX_AUDMUX_V2_PTCR_RCSEL(x) (((x) & 0xf) << 12)
+#define IMX_AUDMUX_V2_PTCR_SYN (1 << 11)
+
+#define IMX_AUDMUX_V2_PDCR_RXDSEL(x) (((x) & 0x7) << 13)
+#define IMX_AUDMUX_V2_PDCR_TXRXEN (1 << 12)
+#define IMX_AUDMUX_V2_PDCR_MODE(x) (((x) & 0x3) << 8)
+#define IMX_AUDMUX_V2_PDCR_INMMASK(x) ((x) & 0xff)
+
+#endif /* __DT_FSL_IMX_AUDMUX_H */