From afe4648cf043f18a403953a5ac1216601e6e213f Mon Sep 17 00:00:00 2001 From: Robert Nelson Date: Tue, 9 Jun 2015 09:01:14 -0500 Subject: [PATCH] v2015.07-rc2 Signed-off-by: Robert Nelson --- ...01-am335x_evm-uEnv.txt-bootz-n-fixes.patch | 351 ++++++++++++++++ ...-at91sam9x5ek-uEnv.txt-bootz-n-fixes.patch | 105 +++++ ...01-beagle_x15-uEnv.txt-bootz-n-fixes.patch | 191 +++++++++ ...x23_olinuxino-uEnv.txt-bootz-n-fixes.patch | 177 ++++++++ .../0001-mx51evk-uEnv.txt-bootz-n-fixes.patch | 201 +++++++++ ...0001-mx53loco-uEnv.txt-bootz-n-fixes.patch | 198 +++++++++ ...qsabre_common-uEnv.txt-bootz-n-fixes.patch | 190 +++++++++ ...-omap3_beagle-uEnv.txt-bootz-n-fixes.patch | 341 +++++++++++++++ ...-omap4_common-uEnv.txt-bootz-n-fixes.patch | 204 +++++++++ ...-omap5_common-uEnv.txt-bootz-n-fixes.patch | 193 +++++++++ ...a5d3_xplained-uEnv.txt-bootz-n-fixes.patch | 246 +++++++++++ ...01-sama5d3xek-uEnv.txt-bootz-n-fixes.patch | 109 +++++ ...001-sama5d4ek-uEnv.txt-bootz-n-fixes.patch | 111 +++++ .../0001-udoo-uEnv.txt-bootz-n-fixes.patch | 393 ++++++++++++++++++ ...0001-vf610twr-uEnv.txt-bootz-n-fixes.patch | 157 +++++++ ...001-wandboard-uEnv.txt-bootz-n-fixes.patch | 192 +++++++++ 16 files changed, 3359 insertions(+) create mode 100644 v2015.07-rc2/0001-am335x_evm-uEnv.txt-bootz-n-fixes.patch create mode 100644 v2015.07-rc2/0001-at91sam9x5ek-uEnv.txt-bootz-n-fixes.patch create mode 100644 v2015.07-rc2/0001-beagle_x15-uEnv.txt-bootz-n-fixes.patch create mode 100644 v2015.07-rc2/0001-mx23_olinuxino-uEnv.txt-bootz-n-fixes.patch create mode 100644 v2015.07-rc2/0001-mx51evk-uEnv.txt-bootz-n-fixes.patch create mode 100644 v2015.07-rc2/0001-mx53loco-uEnv.txt-bootz-n-fixes.patch create mode 100644 v2015.07-rc2/0001-mx6qsabre_common-uEnv.txt-bootz-n-fixes.patch create mode 100644 v2015.07-rc2/0001-omap3_beagle-uEnv.txt-bootz-n-fixes.patch create mode 100644 v2015.07-rc2/0001-omap4_common-uEnv.txt-bootz-n-fixes.patch create mode 100644 v2015.07-rc2/0001-omap5_common-uEnv.txt-bootz-n-fixes.patch create mode 100644 v2015.07-rc2/0001-sama5d3_xplained-uEnv.txt-bootz-n-fixes.patch create mode 100644 v2015.07-rc2/0001-sama5d3xek-uEnv.txt-bootz-n-fixes.patch create mode 100644 v2015.07-rc2/0001-sama5d4ek-uEnv.txt-bootz-n-fixes.patch create mode 100644 v2015.07-rc2/0001-udoo-uEnv.txt-bootz-n-fixes.patch create mode 100644 v2015.07-rc2/0001-vf610twr-uEnv.txt-bootz-n-fixes.patch create mode 100644 v2015.07-rc2/0001-wandboard-uEnv.txt-bootz-n-fixes.patch diff --git a/v2015.07-rc2/0001-am335x_evm-uEnv.txt-bootz-n-fixes.patch b/v2015.07-rc2/0001-am335x_evm-uEnv.txt-bootz-n-fixes.patch new file mode 100644 index 0000000..7eb8899 --- /dev/null +++ b/v2015.07-rc2/0001-am335x_evm-uEnv.txt-bootz-n-fixes.patch @@ -0,0 +1,351 @@ +From 38d8c61a14241537f3406a89bf07617c55c994d5 Mon Sep 17 00:00:00 2001 +From: Robert Nelson +Date: Wed, 3 Jun 2015 14:25:14 -0500 +Subject: [PATCH] am335x_evm: uEnv.txt, bootz, n fixes + +Signed-off-by: Robert Nelson +--- + configs/am335x_evm_defconfig | 1 - + include/configs/am335x_evm.h | 230 ++++++++++++++++++++++++++++++++++++++----- + 2 files changed, 208 insertions(+), 23 deletions(-) + +diff --git a/configs/am335x_evm_defconfig b/configs/am335x_evm_defconfig +index f06baa6..2e3b920 100644 +--- a/configs/am335x_evm_defconfig ++++ b/configs/am335x_evm_defconfig +@@ -3,5 +3,4 @@ CONFIG_TARGET_AM335X_EVM=y + CONFIG_SPL=y + CONFIG_SPL_STACK_R=y + CONFIG_SPL_STACK_R_ADDR=0x82000000 +-CONFIG_SYS_EXTRA_OPTIONS="NAND" + CONFIG_CMD_NET=y +diff --git a/include/configs/am335x_evm.h b/include/configs/am335x_evm.h +index 8da3325..dd188b2 100644 +--- a/include/configs/am335x_evm.h ++++ b/include/configs/am335x_evm.h +@@ -17,6 +17,7 @@ + #define __CONFIG_AM335X_EVM_H + + #include ++#define CONFIG_ENV_IS_NOWHERE + + #ifndef CONFIG_SPL_BUILD + #ifndef CONFIG_FIT +@@ -72,7 +73,8 @@ + DEFAULT_LINUX_BOOT_ENV \ + "boot_fdt=try\0" \ + "bootpart=0:2\0" \ +- "bootdir=/boot\0" \ ++ "bootdir=\0" \ ++ "fdtdir=/dtbs\0" \ + "bootfile=zImage\0" \ + "fdtfile=undefined\0" \ + "console=ttyO0,115200n8\0" \ +@@ -80,15 +82,40 @@ + "uuid_disk=${uuid_gpt_disk};" \ + "name=rootfs,start=2MiB,size=-,uuid=${uuid_gpt_rootfs}\0" \ + "optargs=\0" \ ++ "cape_disable=\0" \ ++ "cape_enable=\0" \ ++ "cmdline=\0" \ ++ "mmcpart=1\0" \ + "mmcdev=0\0" \ + "mmcroot=/dev/mmcblk0p2 ro\0" \ +- "mmcrootfstype=ext4 rootwait\0" \ ++ "mmcrootfstype=ext4 rootwait fixrtc\0" \ + "ramroot=/dev/ram0 rw\0" \ + "ramrootfstype=ext2\0" \ + "mmcargs=setenv bootargs console=${console} " \ + "${optargs} " \ ++ "${cape_disable} " \ ++ "${cape_enable} " \ + "root=${mmcroot} " \ +- "rootfstype=${mmcrootfstype}\0" \ ++ "rootfstype=${mmcrootfstype} " \ ++ "${cmdline}\0" \ ++ "server_ip=192.168.1.100\0" \ ++ "gw_ip=192.168.1.1\0" \ ++ "netmask=255.255.255.0\0" \ ++ "hostname=\0" \ ++ "device=eth0\0" \ ++ "autoconf=off\0" \ ++ "root_dir=/home/userid/targetNFS\0" \ ++ "nfs_options=,vers=3\0" \ ++ "nfsrootfstype=ext4 rootwait fixrtc\0" \ ++ "nfsargs=setenv bootargs console=${console} " \ ++ "${optargs} " \ ++ "${cape_disable} " \ ++ "${cape_enable} " \ ++ "root=/dev/nfs rw " \ ++ "rootfstype=${nfsrootfstype} " \ ++ "nfsroot=${nfsroot} " \ ++ "ip=${ip} " \ ++ "${cmdline}\0" \ + "spiroot=/dev/mtdblock4 rw\0" \ + "spirootfstype=jffs2\0" \ + "spisrcaddr=0xe0000\0" \ +@@ -99,10 +126,12 @@ + "root=${spiroot} " \ + "rootfstype=${spirootfstype}\0" \ + "bootenv=uEnv.txt\0" \ +- "loadbootscript=load mmc ${mmcdev} ${loadaddr} boot.scr\0" \ +- "bootscript=echo Running bootscript from mmc${mmcdev} ...; " \ ++ "script=boot.scr\0" \ ++ "scriptfile=${script}\0" \ ++ "loadbootscript=load mmc ${bootpart} ${loadaddr} ${scriptfile};\0" \ ++ "bootscript=echo Running bootscript from mmc${bootpart} ...; " \ + "source ${loadaddr}\0" \ +- "loadbootenv=load mmc ${mmcdev} ${loadaddr} ${bootenv}\0" \ ++ "loadbootenv=load mmc ${bootpart} ${loadaddr} ${bootenv}\0" \ + "importbootenv=echo Importing environment from mmc ...; " \ + "env import -t -r $loadaddr $filesize\0" \ + "ramargs=setenv bootargs console=${console} " \ +@@ -111,7 +140,10 @@ + "rootfstype=${ramrootfstype}\0" \ + "loadramdisk=load mmc ${mmcdev} ${rdaddr} ramdisk.gz\0" \ + "loadimage=load mmc ${bootpart} ${loadaddr} ${bootdir}/${bootfile}\0" \ +- "loadfdt=load mmc ${bootpart} ${fdtaddr} ${bootdir}/${fdtfile}\0" \ ++ "loadrd=load mmc ${bootpart} ${rdaddr} ${bootdir}/${rdfile}; setenv rdsize ${filesize}\0" \ ++ "loadfdt=echo loading ${fdtdir}/${fdtfile} ...; load mmc ${bootpart} ${fdtaddr} ${fdtdir}/${fdtfile}\0" \ ++ "failumsboot=echo; echo FAILSAFE: U-Boot UMS (USB Mass Storage) enabled, media now available over the usb slave port ...; " \ ++ "ums 0 mmc ${umsmedia};\0" \ + "mmcloados=run mmcargs; " \ + "if test ${boot_fdt} = yes || test ${boot_fdt} = try; then " \ + "if run loadfdt; then " \ +@@ -128,54 +160,209 @@ + "fi;\0" \ + "mmcboot=mmc dev ${mmcdev}; " \ + "if mmc rescan; then " \ +- "echo SD/MMC found on device ${mmcdev};" \ +- "if run loadbootscript; then " \ +- "run bootscript;" \ +- "else " \ ++ "gpio set 54;" \ ++ "setenv bootpart ${mmcdev}:1; " \ ++ "if test -e mmc ${bootpart} /etc/fstab; then " \ ++ "setenv mmcpart 1;" \ ++ "fi; " \ ++ "echo Checking for: /uEnv.txt ...;" \ ++ "if test -e mmc ${bootpart} /uEnv.txt; then " \ + "if run loadbootenv; then " \ ++ "gpio set 55;" \ + "echo Loaded environment from ${bootenv};" \ + "run importbootenv;" \ + "fi;" \ +- "if test -n $uenvcmd; then " \ ++ "if test -n ${cape}; then " \ ++ "if test -e mmc ${bootpart} ${fdtdir}/${fdtbase}-${cape}.dtb; then " \ ++ "setenv fdtfile ${fdtbase}-${cape}.dtb; " \ ++ "fi; " \ ++ "echo using: $fdtfile...; " \ ++ "fi; " \ ++ "echo Checking if uenvcmd is set ...;" \ ++ "if test -n ${uenvcmd}; then " \ ++ "gpio set 56; " \ + "echo Running uenvcmd ...;" \ + "run uenvcmd;" \ + "fi;" \ +- "if run loadimage; then " \ +- "run mmcloados;" \ ++ "echo Checking if client_ip is set ...;" \ ++ "if test -n ${client_ip}; then " \ ++ "if test -n ${dtb}; then " \ ++ "setenv fdtfile ${dtb};" \ ++ "echo using ${fdtfile} ...;" \ ++ "fi;" \ ++ "gpio set 56; " \ ++ "if test -n ${uname_r}; then " \ ++ "echo Running nfsboot_uname_r ...;" \ ++ "run nfsboot_uname_r;" \ ++ "fi;" \ ++ "echo Running nfsboot ...;" \ ++ "run nfsboot;" \ ++ "fi;" \ ++ "fi; " \ ++ "echo Checking for: /${script} ...;" \ ++ "if test -e mmc ${bootpart} /${script}; then " \ ++ "gpio set 55;" \ ++ "setenv scriptfile ${script};" \ ++ "run loadbootscript;" \ ++ "echo Loaded script from ${scriptfile};" \ ++ "gpio set 56; " \ ++ "run bootscript;" \ ++ "fi; " \ ++ "echo Checking for: /boot/${script} ...;" \ ++ "if test -e mmc ${bootpart} /boot/${script}; then " \ ++ "gpio set 55;" \ ++ "setenv scriptfile /boot/${script};" \ ++ "run loadbootscript;" \ ++ "echo Loaded script from ${scriptfile};" \ ++ "gpio set 56; " \ ++ "run bootscript;" \ ++ "fi; " \ ++ "echo Checking for: /boot/uEnv.txt ...;" \ ++ "for i in 1 2 3 4 5 6 7 ; do " \ ++ "setenv mmcpart ${i};" \ ++ "setenv bootpart ${mmcdev}:${mmcpart};" \ ++ "if test -e mmc ${bootpart} /boot/uEnv.txt; then " \ ++ "gpio set 55;" \ ++ "load mmc ${bootpart} ${loadaddr} /boot/uEnv.txt;" \ ++ "env import -t ${loadaddr} ${filesize};" \ ++ "echo Loaded environment from /boot/uEnv.txt;" \ ++ "if test -n ${dtb}; then " \ ++ "setenv fdtfile ${dtb};" \ ++ "echo Using: dtb=${fdtfile} ...;" \ ++ "fi;" \ ++ "echo Checking if uname_r is set in /boot/uEnv.txt...;" \ ++ "if test -n ${uname_r}; then " \ ++ "gpio set 56; " \ ++ "echo Running uname_boot ...;" \ ++ "setenv mmcroot /dev/mmcblk${mmcdev}p${mmcpart} ro;" \ ++ "run uname_boot;" \ ++ "fi;" \ + "fi;" \ +- "fi ;" \ ++ "done;" \ + "fi;\0" \ + "spiboot=echo Booting from spi ...; " \ + "run spiargs; " \ + "sf probe ${spibusno}:0; " \ + "sf read ${loadaddr} ${spisrcaddr} ${spiimgsize}; " \ + "bootz ${loadaddr}\0" \ ++ "nfsboot=echo Booting from ${server_ip} ...; " \ ++ "setenv nfsroot ${server_ip}:${root_dir}${nfs_options}; " \ ++ "setenv ip ${client_ip}:${server_ip}:${gw_ip}:${netmask}:${hostname}:${device}:${autoconf}; " \ ++ "setenv autoload no; " \ ++ "setenv serverip ${server_ip}; " \ ++ "setenv ipaddr ${client_ip}; " \ ++ "tftp ${loadaddr} ${bootfile}; " \ ++ "tftp ${fdtaddr} dtbs/${fdtfile}; " \ ++ "run nfsargs; " \ ++ "bootz ${loadaddr} - ${fdtaddr}\0" \ ++ "nfsboot_uname_r=echo Booting from ${server_ip} ...; " \ ++ "setenv nfsroot ${server_ip}:${root_dir}${nfs_options}; " \ ++ "setenv ip ${client_ip}:${server_ip}:${gw_ip}:${netmask}:${hostname}:${device}:${autoconf}; " \ ++ "setenv autoload no; " \ ++ "setenv serverip ${server_ip}; " \ ++ "setenv ipaddr ${client_ip}; " \ ++ "tftp ${loadaddr} vmlinuz-${uname_r}; " \ ++ "tftp ${fdtaddr} dtbs/${uname_r}/${fdtfile}; " \ ++ "run nfsargs; " \ ++ "bootz ${loadaddr} - ${fdtaddr}\0" \ + "ramboot=echo Booting from ramdisk ...; " \ + "run ramargs; " \ + "bootz ${loadaddr} ${rdaddr} ${fdtaddr}\0" \ + "findfdt="\ + "if test $board_name = A335BONE; then " \ +- "setenv fdtfile am335x-bone.dtb; fi; " \ ++ "setenv fdtfile am335x-bone.dtb; setenv fdtbase am335x-bone; fi; " \ + "if test $board_name = A335BNLT; then " \ +- "setenv fdtfile am335x-boneblack.dtb; fi; " \ ++ "setenv fdtfile am335x-boneblack.dtb; setenv fdtbase am335x-boneblack; setenv umsmedia 1; fi; " \ + "if test $board_name = A33515BB; then " \ + "setenv fdtfile am335x-evm.dtb; fi; " \ + "if test $board_name = A335X_SK; then " \ + "setenv fdtfile am335x-evmsk.dtb; fi; " \ + "if test $fdtfile = undefined; then " \ + "echo WARNING: Could not determine device tree to use; fi; \0" \ ++ "uname_boot="\ ++ "setenv bootdir /boot; " \ ++ "setenv bootfile vmlinuz-${uname_r}; " \ ++ "if test -e mmc ${bootpart} ${bootdir}/${bootfile}; then " \ ++ "echo loading ${bootdir}/${bootfile} ...; "\ ++ "run loadimage;" \ ++ "setenv fdtdir /boot/dtbs/${uname_r}; " \ ++ "if test -e mmc ${bootpart} ${fdtdir}/${fdtfile}; then " \ ++ "run loadfdt;" \ ++ "else " \ ++ "setenv fdtdir /usr/lib/linux-image-${uname_r}; " \ ++ "if test -e mmc ${bootpart} ${fdtdir}/${fdtfile}; then " \ ++ "run loadfdt;" \ ++ "else " \ ++ "setenv fdtdir /lib/firmware/${uname_r}/device-tree; " \ ++ "if test -e mmc ${bootpart} ${fdtdir}/${fdtfile}; then " \ ++ "run loadfdt;" \ ++ "else " \ ++ "setenv fdtdir /boot/dtb-${uname_r}; " \ ++ "if test -e mmc ${bootpart} ${fdtdir}/${fdtfile}; then " \ ++ "run loadfdt;" \ ++ "else " \ ++ "setenv fdtdir /boot/dtbs; " \ ++ "if test -e mmc ${bootpart} ${fdtdir}/${fdtfile}; then " \ ++ "run loadfdt;" \ ++ "else " \ ++ "setenv fdtdir /boot/dtb; " \ ++ "if test -e mmc ${bootpart} ${fdtdir}/${fdtfile}; then " \ ++ "run loadfdt;" \ ++ "else " \ ++ "setenv fdtdir /boot; " \ ++ "if test -e mmc ${bootpart} ${fdtdir}/${fdtfile}; then " \ ++ "run loadfdt;" \ ++ "else " \ ++ "if test -e mmc ${bootpart} ${fdtfile}; then " \ ++ "run loadfdt;" \ ++ "else " \ ++ "echo; echo unable to find [dtb=${fdtfile}] did you name it correctly? ...; " \ ++ "run failumsboot;" \ ++ "fi;" \ ++ "fi;" \ ++ "fi;" \ ++ "fi;" \ ++ "fi;" \ ++ "fi;" \ ++ "fi;" \ ++ "fi; " \ ++ "setenv rdfile initrd.img-${uname_r}; " \ ++ "if test -e mmc ${bootpart} ${bootdir}/${rdfile}; then " \ ++ "echo loading ${bootdir}/${rdfile} ...; "\ ++ "run loadrd;" \ ++ "if test -n ${uuid}; then " \ ++ "setenv mmcroot UUID=${uuid} ro;" \ ++ "fi;" \ ++ "run mmcargs;" \ ++ "echo debug: [${bootargs}] ... ;" \ ++ "echo debug: [bootz ${loadaddr} ${rdaddr}:${rdsize} ${fdtaddr}] ... ;" \ ++ "bootz ${loadaddr} ${rdaddr}:${rdsize} ${fdtaddr}; " \ ++ "else " \ ++ "run mmcargs;" \ ++ "echo debug: [${bootargs}] ... ;" \ ++ "echo debug: [bootz ${loadaddr} - ${fdtaddr}] ... ;" \ ++ "bootz ${loadaddr} - ${fdtaddr}; " \ ++ "fi;" \ ++ "fi;\0" \ + NANDARGS \ + NETARGS \ + DFUARGS + #endif + + #define CONFIG_BOOTCOMMAND \ ++ "setenv umsmedia 0; "\ ++ "gpio set 53; " \ + "run findfdt; " \ ++ "setenv mmcdev 0; " \ ++ "setenv bootpart 0:1; " \ + "run mmcboot;" \ ++ "gpio clear 56; " \ ++ "gpio clear 55; " \ ++ "gpio clear 54; " \ + "setenv mmcdev 1; " \ +- "setenv bootpart 1:2; " \ ++ "setenv bootpart 1:1; " \ + "run mmcboot;" \ +- "run nandboot;" ++ "run failumsboot;" + + /* NS16550 Configuration */ + #define CONFIG_SYS_NS16550_COM1 0x44e09000 /* Base EVM has UART0 */ +@@ -314,9 +501,8 @@ + #endif + + #ifdef CONFIG_MUSB_GADGET +-#define CONFIG_USB_ETHER +-#define CONFIG_USB_ETH_RNDIS +-#define CONFIG_USBNET_HOST_ADDR "de:ad:be:af:00:00" ++#define CONFIG_CMD_USB_MASS_STORAGE ++#define CONFIG_USB_GADGET_MASS_STORAGE + + /* USB TI's IDs */ + #define CONFIG_G_DNL_VENDOR_NUM 0x0451 +-- +2.1.4 + diff --git a/v2015.07-rc2/0001-at91sam9x5ek-uEnv.txt-bootz-n-fixes.patch b/v2015.07-rc2/0001-at91sam9x5ek-uEnv.txt-bootz-n-fixes.patch new file mode 100644 index 0000000..3530ae1 --- /dev/null +++ b/v2015.07-rc2/0001-at91sam9x5ek-uEnv.txt-bootz-n-fixes.patch @@ -0,0 +1,105 @@ +From bfb9c467c98313b04ddc69e11e27abedb6ea6617 Mon Sep 17 00:00:00 2001 +From: Robert Nelson +Date: Fri, 15 Mar 2013 10:15:16 -0500 +Subject: [PATCH] at91sam9x5ek: uEnv.txt, bootz, n fixes + +Signed-off-by: Robert Nelson +--- + include/configs/at91sam9x5ek.h | 67 ++++++++++++++++++++++++++++++++-------- + 1 file changed, 54 insertions(+), 13 deletions(-) + +diff --git a/include/configs/at91sam9x5ek.h b/include/configs/at91sam9x5ek.h +index 5dd2295..7f8980c 100644 +--- a/include/configs/at91sam9x5ek.h ++++ b/include/configs/at91sam9x5ek.h +@@ -74,7 +74,7 @@ + #define CONFIG_ATMEL_LCD_RGB565 + #define CONFIG_SYS_CONSOLE_IS_IN_ENV + +-#define CONFIG_BOOTDELAY 3 ++#define CONFIG_BOOTDELAY 1 + + /* + * BOOTP options +@@ -160,6 +160,14 @@ + #define CONFIG_MMC + #define CONFIG_GENERIC_MMC + #define CONFIG_GENERIC_ATMEL_MCI ++#define CONFIG_CMD_FAT ++#define CONFIG_CMD_EXT2 ++#define CONFIG_CMD_EXT4 ++#define CONFIG_CMD_FS_GENERIC ++ ++/* bootz: zImage/initrd.img support */ ++#define CONFIG_CMD_BOOTZ ++#define CONFIG_SUPPORT_RAW_INITRD + #endif + + /* FAT */ +@@ -233,18 +241,51 @@ + #endif + + #ifdef CONFIG_SYS_USE_MMC +-#define CONFIG_BOOTARGS "mem=128M console=ttyS0,115200 " \ +- "mtdparts=atmel_nand:" \ +- "8M(bootstrap/uboot/kernel)ro,-(rootfs) " \ +- "root=/dev/mmcblk0p2 " \ +- "rw rootfstype=ext4 rootwait" +-#else +-#define CONFIG_BOOTARGS \ +- "console=ttyS0,115200 earlyprintk " \ +- "mtdparts=atmel_nand:256k(bootstrap)ro,512k(uboot)ro," \ +- "256k(env),256k(env_redundant),256k(spare)," \ +- "512k(dtb),6M(kernel)ro,-(rootfs) " \ +- "rootfstype=ubifs ubi.mtd=7 root=ubi0:rootfs rw" ++#define CONFIG_EXTRA_ENV_SETTINGS \ ++ "initrd_high=0xffffffff\0" \ ++ "fdt_high=0xffffffff\0" \ ++ "loadaddr=0x22000000\0" \ ++ "fdtaddr=0x27FF0000\0" \ ++ "fdtfile=/dtbs/at91sam9g25ek.dtb\0" \ ++ "console=ttyS0,115200n8\0" \ ++ "optargs=\0" \ ++ "video=\0" \ ++ "mmcdev=0\0" \ ++ "mmcpart=1\0" \ ++ "mmcroot=/dev/mmcblk0p2 ro\0" \ ++ "mmcrootfstype=ext4 rootwait\0" \ ++ "mmcargs=setenv bootargs console=${console} " \ ++ "${optargs} " \ ++ "root=${mmcroot} " \ ++ "rootfstype=${mmcrootfstype} " \ ++ "video=${video}\0" \ ++ "loadbootenv=load mmc ${mmcdev}:${mmcpart} ${loadaddr} uEnv.txt\0" \ ++ "importbootenv=echo Importing environment from mmc (uEnv.txt)...; " \ ++ "env import -t ${loadaddr} ${filesize}\0" \ ++ "loadzimage=load mmc ${mmcdev}:${mmcpart} ${loadaddr} zImage\0" \ ++ "loadfdt=load mmc ${mmcdev}:${mmcpart} ${fdtaddr} ${fdtfile}\0" \ ++ "mmcboot=echo Booting from mmc ...; " \ ++ "run mmcargs; " \ ++ "bootz ${loadaddr} - ${fdtaddr}\0" ++ ++#define CONFIG_BOOTCOMMAND \ ++ "mmc dev ${mmcdev};" \ ++ "if mmc rescan; then " \ ++ "echo SD/MMC found on device ${mmcdev};" \ ++ "if run loadbootenv; then " \ ++ "run importbootenv;" \ ++ "fi;" \ ++ "echo Checking if uenvcmd is set ...;" \ ++ "if test -n $uenvcmd; then " \ ++ "echo Running uenvcmd ...;" \ ++ "run uenvcmd;" \ ++ "fi;" \ ++ "echo Running default loadzimage ...;" \ ++ "if run loadzimage; then " \ ++ "run loadfdt;" \ ++ "run mmcboot;" \ ++ "fi;" \ ++ "fi;" + #endif + + #define CONFIG_BAUDRATE 115200 +-- +1.7.10.4 + diff --git a/v2015.07-rc2/0001-beagle_x15-uEnv.txt-bootz-n-fixes.patch b/v2015.07-rc2/0001-beagle_x15-uEnv.txt-bootz-n-fixes.patch new file mode 100644 index 0000000..c233b03 --- /dev/null +++ b/v2015.07-rc2/0001-beagle_x15-uEnv.txt-bootz-n-fixes.patch @@ -0,0 +1,191 @@ +From 744571f277a6fa95261e0c63368766fc73ce431c Mon Sep 17 00:00:00 2001 +From: Robert Nelson +Date: Wed, 20 May 2015 14:43:49 -0500 +Subject: [PATCH] beagle_x15: uEnv.txt, bootz, n fixes + +Signed-off-by: Robert Nelson +--- + include/configs/ti_omap5_common.h | 133 +++++++++++++++++++++++++++++++------- + 1 file changed, 108 insertions(+), 25 deletions(-) + +diff --git a/include/configs/ti_omap5_common.h b/include/configs/ti_omap5_common.h +index 3383491..615d5cd 100644 +--- a/include/configs/ti_omap5_common.h ++++ b/include/configs/ti_omap5_common.h +@@ -77,46 +77,67 @@ + DEFAULT_LINUX_BOOT_ENV \ + "console=" CONSOLEDEV ",115200n8\0" \ + "fdtfile=undefined\0" \ +- "bootpart=0:2\0" \ +- "bootdir=/boot\0" \ ++ "bootpart=0:1\0" \ ++ "bootdir=\0" \ + "bootfile=zImage\0" \ ++ "fdtdir=/dtbs\0" \ + "usbtty=cdc_acm\0" \ + "vram=16M\0" \ + "partitions=" PARTS_DEFAULT "\0" \ + "optargs=\0" \ + "mmcdev=0\0" \ +- "mmcroot=/dev/mmcblk0p2 rw\0" \ +- "mmcrootfstype=ext4 rootwait\0" \ ++ "mmcroot=/dev/mmcblk0p2 ro\0" \ ++ "mmcrootfstype=ext4 rootwait fixrtc\0" \ + "mmcargs=setenv bootargs console=${console} " \ + "${optargs} " \ +- "vram=${vram} " \ + "root=${mmcroot} " \ +- "rootfstype=${mmcrootfstype}\0" \ +- "loadbootscript=fatload mmc ${mmcdev} ${loadaddr} boot.scr\0" \ ++ "rootfstype=${mmcrootfstype} " \ ++ "${cmdline}\0" \ ++ "loadbootscript=load mmc ${bootpart} ${loadaddr} boot.scr\0" \ + "bootscript=echo Running bootscript from mmc${mmcdev} ...; " \ + "source ${loadaddr}\0" \ + "bootenv=uEnv.txt\0" \ +- "loadbootenv=fatload mmc ${mmcdev} ${loadaddr} ${bootenv}\0" \ ++ "loadbootenv=load mmc ${bootpart} ${loadaddr} ${bootenv}\0" \ + "importbootenv=echo Importing environment from mmc${mmcdev} ...; " \ + "env import -t ${loadaddr} ${filesize}\0" \ + "loadimage=load mmc ${bootpart} ${loadaddr} ${bootdir}/${bootfile}\0" \ ++ "loadrd=load mmc ${bootpart} ${rdaddr} ${bootdir}/${rdfile}; setenv rdsize ${filesize}\0" \ ++ "loadfdt=echo loading ${fdtdir}/${fdtfile} ...; load mmc ${bootpart} ${fdtaddr} ${fdtdir}/${fdtfile}\0" \ + "mmcboot=mmc dev ${mmcdev}; " \ + "if mmc rescan; then " \ + "echo SD/MMC found on device ${mmcdev};" \ +- "if run loadbootenv; then " \ +- "echo Loaded environment from ${bootenv};" \ +- "run importbootenv;" \ +- "fi;" \ +- "if test -n $uenvcmd; then " \ +- "echo Running uenvcmd ...;" \ +- "run uenvcmd;" \ +- "fi;" \ +- "if run loadimage; then " \ +- "run loadfdt; " \ +- "echo Booting from mmc${mmcdev} ...; " \ +- "run mmcargs; " \ +- "bootz ${loadaddr} - ${fdtaddr}; " \ +- "fi;" \ ++ "setenv bootpart ${mmcdev}:1; " \ ++ "echo Checking for: /uEnv.txt ...;" \ ++ "if test -e mmc ${bootpart} /uEnv.txt; then " \ ++ "load mmc ${bootpart} ${loadaddr} /uEnv.txt;" \ ++ "env import -t ${loadaddr} ${filesize};" \ ++ "echo Loaded environment from /uEnv.txt;" \ ++ "echo Checking if uenvcmd is set ...;" \ ++ "if test -n ${uenvcmd}; then " \ ++ "echo Running uenvcmd ...;" \ ++ "run uenvcmd;" \ ++ "fi;" \ ++ "fi; " \ ++ "echo Checking for: /boot/uEnv.txt ...;" \ ++ "for i in 1 2 3 4 5 6 7 ; do " \ ++ "setenv mmcpart ${i};" \ ++ "setenv bootpart ${mmcdev}:${mmcpart};" \ ++ "if test -e mmc ${bootpart} /boot/uEnv.txt; then " \ ++ "load mmc ${bootpart} ${loadaddr} /boot/uEnv.txt;" \ ++ "env import -t ${loadaddr} ${filesize};" \ ++ "echo Loaded environment from /boot/uEnv.txt;" \ ++ "if test -n ${dtb}; then " \ ++ "setenv fdtfile ${dtb};" \ ++ "echo Using: dtb=${fdtfile} ...;" \ ++ "fi;" \ ++ "echo Checking if uname_r is set in /boot/uEnv.txt...;" \ ++ "if test -n ${uname_r}; then " \ ++ "echo Running uname_boot ...;" \ ++ "setenv mmcroot /dev/mmcblk${mmcdev}p${mmcpart} ro;" \ ++ "run uname_boot;" \ ++ "fi;" \ ++ "fi;" \ ++ "done;" \ + "fi;\0" \ + "findfdt="\ + "if test $board_name = omap5_uevm; then " \ +@@ -129,7 +150,70 @@ + "setenv fdtfile am57xx-beagle-x15.dtb; fi;" \ + "if test $fdtfile = undefined; then " \ + "echo WARNING: Could not determine device tree to use; fi; \0" \ +- "loadfdt=load mmc ${bootpart} ${fdtaddr} ${bootdir}/${fdtfile};\0" \ ++ "uname_boot="\ ++ "setenv bootdir /boot; " \ ++ "setenv bootfile vmlinuz-${uname_r}; " \ ++ "if test -e mmc ${bootpart} ${bootdir}/${bootfile}; then " \ ++ "echo loading ${bootdir}/${bootfile} ...; "\ ++ "run loadimage;" \ ++ "setenv fdtdir /boot/dtbs/${uname_r}; " \ ++ "if test -e mmc ${bootpart} ${fdtdir}/${fdtfile}; then " \ ++ "run loadfdt;" \ ++ "else " \ ++ "setenv fdtdir /usr/lib/linux-image-${uname_r}; " \ ++ "if test -e mmc ${bootpart} ${fdtdir}/${fdtfile}; then " \ ++ "run loadfdt;" \ ++ "else " \ ++ "setenv fdtdir /lib/firmware/${uname_r}/device-tree; " \ ++ "if test -e mmc ${bootpart} ${fdtdir}/${fdtfile}; then " \ ++ "run loadfdt;" \ ++ "else " \ ++ "setenv fdtdir /boot/dtb-${uname_r}; " \ ++ "if test -e mmc ${bootpart} ${fdtdir}/${fdtfile}; then " \ ++ "run loadfdt;" \ ++ "else " \ ++ "setenv fdtdir /boot/dtbs; " \ ++ "if test -e mmc ${bootpart} ${fdtdir}/${fdtfile}; then " \ ++ "run loadfdt;" \ ++ "else " \ ++ "setenv fdtdir /boot/dtb; " \ ++ "if test -e mmc ${bootpart} ${fdtdir}/${fdtfile}; then " \ ++ "run loadfdt;" \ ++ "else " \ ++ "setenv fdtdir /boot; " \ ++ "if test -e mmc ${bootpart} ${fdtdir}/${fdtfile}; then " \ ++ "run loadfdt;" \ ++ "else " \ ++ "echo; echo unable to find ${fdtfile} ...; echo booting legacy ...;"\ ++ "run mmcargs;" \ ++ "echo debug: [${bootargs}] ... ;" \ ++ "echo debug: [bootz ${loadaddr}] ... ;" \ ++ "bootz ${loadaddr}; " \ ++ "fi;" \ ++ "fi;" \ ++ "fi;" \ ++ "fi;" \ ++ "fi;" \ ++ "fi;" \ ++ "fi; " \ ++ "setenv rdfile initrd.img-${uname_r}; " \ ++ "if test -e mmc ${bootpart} ${bootdir}/${rdfile}; then " \ ++ "echo loading ${bootdir}/${rdfile} ...; "\ ++ "run loadrd;" \ ++ "if test -n ${uuid}; then " \ ++ "setenv mmcroot UUID=${uuid} ro;" \ ++ "fi;" \ ++ "run mmcargs;" \ ++ "echo debug: [${bootargs}] ... ;" \ ++ "echo debug: [bootz ${loadaddr} ${rdaddr}:${rdsize} ${fdtaddr}] ... ;" \ ++ "bootz ${loadaddr} ${rdaddr}:${rdsize} ${fdtaddr}; " \ ++ "else " \ ++ "run mmcargs;" \ ++ "echo debug: [${bootargs}] ... ;" \ ++ "echo debug: [bootz ${loadaddr} - ${fdtaddr}] ... ;" \ ++ "bootz ${loadaddr} - ${fdtaddr}; " \ ++ "fi;" \ ++ "fi;\0" \ + DFUARGS \ + NETARGS \ + +@@ -141,10 +225,9 @@ + "echo Booting into fastboot ...; fastboot;" \ + "fi;" \ + "run findfdt; " \ ++ "setenv mmcdev 0; " \ + "run mmcboot;" \ + "setenv mmcdev 1; " \ +- "setenv bootpart 1:2; " \ +- "setenv mmcroot /dev/mmcblk0p2 rw; " \ + "run mmcboot;" \ + "" + +-- +2.1.4 + diff --git a/v2015.07-rc2/0001-mx23_olinuxino-uEnv.txt-bootz-n-fixes.patch b/v2015.07-rc2/0001-mx23_olinuxino-uEnv.txt-bootz-n-fixes.patch new file mode 100644 index 0000000..b599a31 --- /dev/null +++ b/v2015.07-rc2/0001-mx23_olinuxino-uEnv.txt-bootz-n-fixes.patch @@ -0,0 +1,177 @@ +From a4a4cfc588c889873e5a31e097287abc7255e53f Mon Sep 17 00:00:00 2001 +From: Robert Nelson +Date: Wed, 3 Jun 2015 14:48:45 -0500 +Subject: [PATCH] mx23_olinuxino: uEnv.txt, bootz, n fixes + +Signed-off-by: Robert Nelson +--- + include/configs/mx23_olinuxino.h | 120 +++++++++++++++++++++++++++++++++------ + 1 file changed, 104 insertions(+), 16 deletions(-) + +diff --git a/include/configs/mx23_olinuxino.h b/include/configs/mx23_olinuxino.h +index 65203a0..1827e2b 100644 +--- a/include/configs/mx23_olinuxino.h ++++ b/include/configs/mx23_olinuxino.h +@@ -25,6 +25,14 @@ + #define CONFIG_CMD_MMC + #define CONFIG_CMD_USB + ++#define CONFIG_CMD_FAT ++#define CONFIG_CMD_EXT4 ++#define CONFIG_CMD_FS_GENERIC ++ ++/* bootz: zImage/initrd.img support */ ++#define CONFIG_CMD_BOOTZ ++#define CONFIG_SUPPORT_RAW_INITRD ++ + /* Memory configuration */ + #define CONFIG_NR_DRAM_BANKS 1 /* 1 bank of DRAM */ + #define PHYS_SDRAM_1 0x40000000 /* Base address */ +@@ -65,7 +73,7 @@ + #endif + + /* Booting Linux */ +-#define CONFIG_BOOTDELAY 3 ++#define CONFIG_BOOTDELAY 1 + #define CONFIG_BOOTFILE "uImage" + #define CONFIG_LOADADDR 0x42000000 + #define CONFIG_SYS_LOAD_ADDR CONFIG_LOADADDR +@@ -86,20 +94,58 @@ + "console=ttyAMA0\0" \ + "fdt_file=imx23-olinuxino.dtb\0" \ + "fdt_addr=0x41000000\0" \ ++ "fdtdir=\0" \ ++ "bootfile=\0" \ ++ "bootdir=\0" \ + "boot_fdt=try\0" \ + "ip_dyn=yes\0" \ ++ "optargs=\0" \ ++ "cmdline=\0" \ + "mmcdev=0\0" \ + "mmcpart=2\0" \ +- "mmcroot=/dev/mmcblk0p3 rw rootwait\0" \ ++ "mmcroot=/dev/mmcblk0p2 ro\0" \ ++ "mmcrootfstype=ext4 rootwait fixrtc\0" \ + "mmcargs=setenv bootargs console=${console},${baudrate} " \ +- "root=${mmcroot}\0" \ ++ "${optargs} " \ ++ "root=${mmcroot} " \ ++ "rootfstype=${mmcrootfstype} " \ ++ "${cmdline}\0" \ ++ "loadbootenv=load mmc ${bootpart} ${loadaddr} /boot/uEnv.txt\0" \ ++ "importbootenv=echo Importing environment from mmc (uEnv.txt)...; " \ ++ "env import -t ${loadaddr} ${filesize}\0" \ + "loadbootscript=" \ + "fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${script};\0" \ + "bootscript=echo Running bootscript from mmc ...; " \ + "source\0" \ +- "loaduimage=fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${uimage}\0" \ +- "loadfdt=fatload mmc ${mmcdev}:${mmcpart} ${fdt_addr} ${fdt_file}\0" \ +- "mmcboot=echo Booting from mmc ...; " \ ++ "loadimage=load mmc ${bootpart} ${loadaddr} ${bootdir}/${bootfile}\0" \ ++ "loadfdt=echo loading ${fdtdir}/${fdt_file} ...; load mmc ${bootpart} ${fdt_addr} ${fdtdir}/${fdt_file}\0" \ ++ "mmcboot=mmc dev ${mmcdev}; " \ ++ "if mmc rescan; then " \ ++ "echo SD/MMC found on device ${mmcdev};" \ ++ "echo Checking for: /boot/uEnv.txt ...;" \ ++ "for i in 2 3 4 5 6 7 ; do " \ ++ "setenv mmcpart ${i};" \ ++ "setenv bootpart ${mmcdev}:${mmcpart};" \ ++ "if test -e mmc ${bootpart} /boot/uEnv.txt; then " \ ++ "load mmc ${bootpart} ${loadaddr} /boot/uEnv.txt;" \ ++ "env import -t ${loadaddr} ${filesize};" \ ++ "echo Loaded environment from /boot/uEnv.txt;" \ ++ "if test -n ${dtb}; then " \ ++ "setenv fdt_file ${dtb};" \ ++ "echo using ${fdt_file} ...;" \ ++ "fi;" \ ++ "echo Checking if uname_r is set in /boot/uEnv.txt...;" \ ++ "if test -n ${uname_r}; then " \ ++ "setenv mmcroot /dev/mmcblk${mmcdev}p${mmcpart} ro;" \ ++ "if test -n ${uuid}; then " \ ++ "setenv mmcroot UUID=${uuid} ro;" \ ++ "fi;" \ ++ "run uname_boot;" \ ++ "fi;" \ ++ "fi;" \ ++ "done;" \ ++ "fi;\0" \ ++ "mmcboot_old=echo Booting from mmc ...; " \ + "run mmcargs; " \ + "if test ${boot_fdt} = yes || test ${boot_fdt} = try; then " \ + "if run loadfdt; then " \ +@@ -138,19 +184,61 @@ + "fi; " \ + "else " \ + "bootm; " \ ++ "fi;\0" \ ++ "uname_boot="\ ++ "setenv bootdir /boot; " \ ++ "setenv bootfile vmlinuz-${uname_r}; " \ ++ "if test -e mmc ${bootpart} ${bootdir}/${bootfile}; then " \ ++ "echo loading ${bootdir}/${bootfile} ...; "\ ++ "run loadimage;" \ ++ "setenv fdtdir /boot/dtbs/${uname_r}; " \ ++ "if test -e mmc ${bootpart} ${fdtdir}/${fdt_file}; then " \ ++ "run loadfdt;" \ ++ "else " \ ++ "setenv fdtdir /usr/lib/linux-image-${uname_r}; " \ ++ "if test -e mmc ${bootpart} ${fdtdir}/${fdt_file}; then " \ ++ "run loadfdt;" \ ++ "else " \ ++ "setenv fdtdir /lib/firmware/${uname_r}/device-tree; " \ ++ "if test -e mmc ${bootpart} ${fdtdir}/${fdt_file}; then " \ ++ "run loadfdt;" \ ++ "else " \ ++ "setenv fdtdir /boot/dtb-${uname_r}; " \ ++ "if test -e mmc ${bootpart} ${fdtdir}/${fdt_file}; then " \ ++ "run loadfdt;" \ ++ "else " \ ++ "setenv fdtdir /boot/dtbs; " \ ++ "if test -e mmc ${bootpart} ${fdtdir}/${fdt_file}; then " \ ++ "run loadfdt;" \ ++ "else " \ ++ "setenv fdtdir /boot/dtb; " \ ++ "if test -e mmc ${bootpart} ${fdtdir}/${fdt_file}; then " \ ++ "run loadfdt;" \ ++ "else " \ ++ "setenv fdtdir /boot; " \ ++ "if test -e mmc ${bootpart} ${fdtdir}/${fdt_file}; 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;" \ ++ "fi;" \ ++ "fi;" \ ++ "fi;" \ ++ "fi;" \ ++ "fi;" \ ++ "fi; " \ ++ "run mmcargs;" \ ++ "echo debug: [${bootargs}] ... ;" \ ++ "echo debug: [bootz ${loadaddr} - ${fdt_addr}] ... ;" \ ++ "bootz ${loadaddr} - ${fdt_addr}; " \ + "fi;\0" + + #define CONFIG_BOOTCOMMAND \ +- "mmc dev ${mmcdev}; if mmc rescan; then " \ +- "if run loadbootscript; then " \ +- "run bootscript; " \ +- "else " \ +- "if run loaduimage; then " \ +- "run mmcboot; " \ +- "else run netboot; " \ +- "fi; " \ +- "fi; " \ +- "else run netboot; fi" ++ "run mmcboot;" + + /* The rest of the configuration is shared */ + #include +-- +2.1.4 + diff --git a/v2015.07-rc2/0001-mx51evk-uEnv.txt-bootz-n-fixes.patch b/v2015.07-rc2/0001-mx51evk-uEnv.txt-bootz-n-fixes.patch new file mode 100644 index 0000000..33e71be --- /dev/null +++ b/v2015.07-rc2/0001-mx51evk-uEnv.txt-bootz-n-fixes.patch @@ -0,0 +1,201 @@ +From ddbdb29ee297a8923e9bd310b3098a153f3cecda Mon Sep 17 00:00:00 2001 +From: Robert Nelson +Date: Mon, 13 Oct 2014 12:01:06 -0500 +Subject: [PATCH] mx51evk: uEnv.txt, bootz, n fixes + +Signed-off-by: Robert Nelson +--- + include/configs/mx51evk.h | 150 ++++++++++++++++++++++++++++++++++++++++------ + 1 file changed, 132 insertions(+), 18 deletions(-) + +diff --git a/include/configs/mx51evk.h b/include/configs/mx51evk.h +index d6e8ec4..1177df1 100644 +--- a/include/configs/mx51evk.h ++++ b/include/configs/mx51evk.h +@@ -80,6 +80,14 @@ + #define CONFIG_CMD_FAT + #define CONFIG_DOS_PARTITION + ++#define CONFIG_CMD_EXT2 ++#define CONFIG_CMD_EXT4 ++#define CONFIG_CMD_FS_GENERIC ++ ++/* bootz: zImage/initrd.img support */ ++#define CONFIG_CMD_BOOTZ ++#define CONFIG_SUPPORT_RAW_INITRD ++ + /* + * Eth Configs + */ +@@ -143,24 +151,75 @@ + #define CONFIG_LOADADDR 0x92000000 /* loadaddr env var */ + + #define CONFIG_EXTRA_ENV_SETTINGS \ ++ "initrd_high=0xffffffff\0" \ ++ "fdt_high=0xffffffff\0" \ + "script=boot.scr\0" \ + "image=zImage\0" \ + "fdt_file=imx51-babbage.dtb\0" \ +- "fdt_addr=0x91000000\0" \ ++ "fdt_addr=0x91ff0000\0" \ + "boot_fdt=try\0" \ + "ip_dyn=yes\0" \ ++ "loadaddr=0x90010000\0" \ ++ "rdaddr=0x92000000\0" \ ++ "console=ttymxc0,115200n8\0" \ ++ "optargs=\0" \ ++ "cmdline=\0" \ + "mmcdev=0\0" \ + "mmcpart=1\0" \ +- "mmcroot=/dev/mmcblk0p2 rootwait rw\0" \ +- "mmcargs=setenv bootargs console=ttymxc0,${baudrate} " \ +- "root=${mmcroot}\0" \ ++ "mmcroot=/dev/mmcblk0p2 ro\0" \ ++ "mmcrootfstype=ext4 rootwait\0" \ ++ "mmcargs=setenv bootargs console=${console} " \ ++ "${optargs} " \ ++ "root=${mmcroot} " \ ++ "rootfstype=${mmcrootfstype} " \ ++ "${cmdline}\0" \ + "loadbootscript=" \ +- "fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${script};\0" \ ++ "load 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 ...; " \ ++ "loadbootenv=load mmc ${mmcdev}:${mmcpart} ${loadaddr} uEnv.txt\0" \ ++ "importbootenv=echo Importing environment from mmc (uEnv.txt)...; " \ ++ "env import -t ${loadaddr} ${filesize}\0" \ ++ "loadimage=load mmc ${bootpart} ${loadaddr} ${bootdir}/${bootfile}\0" \ ++ "loadrd=load mmc ${bootpart} ${rdaddr} ${bootdir}/${rdfile}; setenv rdsize ${filesize}\0" \ ++ "loadfdt=echo loading ${fdtdir}/${fdt_file} ...; load mmc ${bootpart} ${fdt_addr} ${fdtdir}/${fdt_file}\0" \ ++ "mmcboot=mmc dev ${mmcdev}; " \ ++ "if mmc rescan; then " \ ++ "echo SD/MMC found on device ${mmcdev};" \ ++ "setenv bootpart ${mmcdev}:1; " \ ++ "echo Checking for: /uEnv.txt ...;" \ ++ "if test -e mmc ${bootpart} /uEnv.txt; then " \ ++ "load mmc ${bootpart} ${loadaddr} /uEnv.txt;" \ ++ "env import -t ${loadaddr} ${filesize};" \ ++ "echo Loaded environment from /uEnv.txt;" \ ++ "echo Checking if uenvcmd is set ...;" \ ++ "if test -n ${uenvcmd}; then " \ ++ "echo Running uenvcmd ...;" \ ++ "run uenvcmd;" \ ++ "fi;" \ ++ "fi; " \ ++ "echo Checking for: /boot/uEnv.txt ...;" \ ++ "for i in 1 2 3 4 5 6 7 ; do " \ ++ "setenv mmcpart ${i};" \ ++ "setenv bootpart ${mmcdev}:${mmcpart};" \ ++ "if test -e mmc ${bootpart} /boot/uEnv.txt; then " \ ++ "load mmc ${bootpart} ${loadaddr} /boot/uEnv.txt;" \ ++ "env import -t ${loadaddr} ${filesize};" \ ++ "echo Loaded environment from /boot/uEnv.txt;" \ ++ "if test -n ${dtb}; then " \ ++ "setenv fdt_file ${dtb};" \ ++ "echo Using: dtb=${fdt_file} ...;" \ ++ "fi;" \ ++ "echo Checking if uname_r is set in /boot/uEnv.txt...;" \ ++ "if test -n ${uname_r}; then " \ ++ "echo Running uname_boot ...;" \ ++ "setenv mmcroot /dev/mmcblk${mmcdev}p${mmcpart} ro;" \ ++ "run uname_boot;" \ ++ "fi;" \ ++ "fi;" \ ++ "done;" \ ++ "fi;\0" \ ++ "mmcboot_old=echo Booting from mmc ...; " \ + "run mmcargs; " \ + "if test ${boot_fdt} = yes || test ${boot_fdt} = try; then " \ + "if run loadfdt; then " \ +@@ -199,19 +258,74 @@ + "fi; " \ + "else " \ + "bootz; " \ ++ "fi;\0" \ ++ "uname_boot="\ ++ "setenv bootdir /boot; " \ ++ "setenv bootfile vmlinuz-${uname_r}; " \ ++ "if test -e mmc ${bootpart} ${bootdir}/${bootfile}; then " \ ++ "echo loading ${bootdir}/${bootfile} ...; "\ ++ "run loadimage;" \ ++ "setenv fdtdir /boot/dtbs/${uname_r}; " \ ++ "if test -e mmc ${bootpart} ${fdtdir}/${fdt_file}; then " \ ++ "run loadfdt;" \ ++ "else " \ ++ "setenv fdtdir /usr/lib/linux-image-${uname_r}; " \ ++ "if test -e mmc ${bootpart} ${fdtdir}/${fdt_file}; then " \ ++ "run loadfdt;" \ ++ "else " \ ++ "setenv fdtdir /lib/firmware/${uname_r}/device-tree; " \ ++ "if test -e mmc ${bootpart} ${fdtdir}/${fdt_file}; then " \ ++ "run loadfdt;" \ ++ "else " \ ++ "setenv fdtdir /boot/dtb-${uname_r}; " \ ++ "if test -e mmc ${bootpart} ${fdtdir}/${fdt_file}; then " \ ++ "run loadfdt;" \ ++ "else " \ ++ "setenv fdtdir /boot/dtbs; " \ ++ "if test -e mmc ${bootpart} ${fdtdir}/${fdt_file}; then " \ ++ "run loadfdt;" \ ++ "else " \ ++ "setenv fdtdir /boot/dtb; " \ ++ "if test -e mmc ${bootpart} ${fdtdir}/${fdt_file}; then " \ ++ "run loadfdt;" \ ++ "else " \ ++ "setenv fdtdir /boot; " \ ++ "if test -e mmc ${bootpart} ${fdtdir}/${fdt_file}; 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;" \ ++ "fi;" \ ++ "fi;" \ ++ "fi;" \ ++ "fi;" \ ++ "fi;" \ ++ "fi; " \ ++ "setenv rdfile initrd.img-${uname_r}; " \ ++ "if test -e mmc ${bootpart} ${bootdir}/${rdfile}; then " \ ++ "echo loading ${bootdir}/${rdfile} ...; "\ ++ "run loadrd;" \ ++ "if test -n ${uuid}; then " \ ++ "setenv mmcroot UUID=${uuid} ro;" \ ++ "fi;" \ ++ "run mmcargs;" \ ++ "echo debug: [${bootargs}] ... ;" \ ++ "echo debug: [bootz ${loadaddr} ${rdaddr}:${rdsize} ${fdt_addr}] ... ;" \ ++ "bootz ${loadaddr} ${rdaddr}:${rdsize} ${fdt_addr}; " \ ++ "else " \ ++ "run mmcargs;" \ ++ "echo debug: [${bootargs}] ... ;" \ ++ "echo debug: [bootz ${loadaddr} - ${fdt_addr}] ... ;" \ ++ "bootz ${loadaddr} - ${fdt_addr}; " \ ++ "fi;" \ + "fi;\0" + + #define CONFIG_BOOTCOMMAND \ +- "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" ++ "run mmcboot;" + + #define CONFIG_ARP_TIMEOUT 200UL + +-- +2.1.1 + diff --git a/v2015.07-rc2/0001-mx53loco-uEnv.txt-bootz-n-fixes.patch b/v2015.07-rc2/0001-mx53loco-uEnv.txt-bootz-n-fixes.patch new file mode 100644 index 0000000..9e73bf0 --- /dev/null +++ b/v2015.07-rc2/0001-mx53loco-uEnv.txt-bootz-n-fixes.patch @@ -0,0 +1,198 @@ +From 10af1bb957c1694f8877875ac29a4b203c35c45d Mon Sep 17 00:00:00 2001 +From: Robert Nelson +Date: Mon, 17 Nov 2014 08:46:56 -0600 +Subject: [PATCH] mx53loco: uEnv.txt, bootz, n fixes + +Signed-off-by: Robert Nelson +--- + include/configs/mx53loco.h | 144 +++++++++++++++++++++++++++++++++++++++------ + 1 file changed, 127 insertions(+), 17 deletions(-) + +diff --git a/include/configs/mx53loco.h b/include/configs/mx53loco.h +index 10fb1f4..19035f1 100644 +--- a/include/configs/mx53loco.h ++++ b/include/configs/mx53loco.h +@@ -45,6 +45,12 @@ + #define CONFIG_GENERIC_MMC + #define CONFIG_CMD_FAT + #define CONFIG_CMD_EXT2 ++#define CONFIG_CMD_EXT4 ++#define CONFIG_CMD_FS_GENERIC ++ ++/* bootz: zImage/initrd.img support */ ++#define CONFIG_CMD_BOOTZ ++#define CONFIG_SUPPORT_RAW_INITRD + #define CONFIG_DOS_PARTITION + + /* Eth Configs */ +@@ -101,26 +107,75 @@ + + #define CONFIG_ETHPRIME "FEC0" + +-#define CONFIG_LOADADDR 0x72000000 /* loadaddr env var */ ++#define CONFIG_LOADADDR 0x70010000 /* loadaddr env var */ + #define CONFIG_SYS_TEXT_BASE 0x77800000 + + #define CONFIG_EXTRA_ENV_SETTINGS \ ++ "initrd_high=0xffffffff\0" \ ++ "fdt_high=0xffffffff\0" \ + "script=boot.scr\0" \ + "image=zImage\0" \ +- "fdt_addr=0x71000000\0" \ ++ "fdt_dir=/dtbs/\0" \ ++ "fdt_addr=0x71ff0000\0" \ ++ "rdaddr=0x72000000\0" \ + "boot_fdt=try\0" \ + "ip_dyn=yes\0" \ ++ "console=ttymxc0,115200\0" \ ++ "optargs=\0" \ ++ "cmdline=\0" \ + "mmcdev=0\0" \ + "mmcpart=1\0" \ +- "mmcroot=/dev/mmcblk0p2 rw rootwait\0" \ +- "mmcargs=setenv bootargs console=ttymxc0,${baudrate} root=${mmcroot}\0" \ ++ "mmcroot=/dev/mmcblk0p2 ro\0" \ ++ "mmcrootfstype=ext4 rootwait fixrtc\0" \ ++ "mmcargs=setenv bootargs console=${console} " \ ++ "${optargs} " \ ++ "root=${mmcroot} " \ ++ "rootfstype=${mmcrootfstype} " \ ++ "${cmdline}\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 ...; " \ ++ "loadimage=load mmc ${bootpart} ${loadaddr} ${bootdir}/${bootfile}\0" \ ++ "loadrd=load mmc ${bootpart} ${rdaddr} ${bootdir}/${rdfile}; setenv rdsize ${filesize}\0" \ ++ "loadfdt=echo loading ${fdtdir}/${fdt_file} ...; load mmc ${bootpart} ${fdt_addr} ${fdtdir}/${fdt_file}\0" \ ++ "mmcboot=mmc dev ${mmcdev}; " \ ++ "if mmc rescan; then " \ ++ "echo SD/MMC found on device ${mmcdev};" \ ++ "setenv bootpart ${mmcdev}:1; " \ ++ "echo Checking for: /uEnv.txt ...;" \ ++ "if test -e mmc ${bootpart} /uEnv.txt; then " \ ++ "load mmc ${bootpart} ${loadaddr} /uEnv.txt;" \ ++ "env import -t ${loadaddr} ${filesize};" \ ++ "echo Loaded environment from /uEnv.txt;" \ ++ "echo Checking if uenvcmd is set ...;" \ ++ "if test -n ${uenvcmd}; then " \ ++ "echo Running uenvcmd ...;" \ ++ "run uenvcmd;" \ ++ "fi;" \ ++ "fi; " \ ++ "echo Checking for: /boot/uEnv.txt ...;" \ ++ "for i in 1 2 3 4 5 6 7 ; do " \ ++ "setenv mmcpart ${i};" \ ++ "setenv bootpart ${mmcdev}:${mmcpart};" \ ++ "if test -e mmc ${bootpart} /boot/uEnv.txt; then " \ ++ "load mmc ${bootpart} ${loadaddr} /boot/uEnv.txt;" \ ++ "env import -t ${loadaddr} ${filesize};" \ ++ "echo Loaded environment from /boot/uEnv.txt;" \ ++ "if test -n ${dtb}; then " \ ++ "setenv fdt_file ${dtb};" \ ++ "echo Using: dtb=${fdt_file} ...;" \ ++ "fi;" \ ++ "echo Checking if uname_r is set in /boot/uEnv.txt...;" \ ++ "if test -n ${uname_r}; then " \ ++ "echo Running uname_boot ...;" \ ++ "setenv mmcroot /dev/mmcblk${mmcdev}p${mmcpart} ro;" \ ++ "run uname_boot;" \ ++ "fi;" \ ++ "fi;" \ ++ "done;" \ ++ "fi;\0" \ ++ "mmcboot_old=echo Booting from mmc ...; " \ + "run mmcargs; " \ + "if test ${boot_fdt} = yes || test ${boot_fdt} = try; then " \ + "if run loadfdt; then " \ +@@ -159,19 +214,74 @@ + "fi; " \ + "else " \ + "bootz; " \ ++ "fi;\0" \ ++ "uname_boot="\ ++ "setenv bootdir /boot; " \ ++ "setenv bootfile vmlinuz-${uname_r}; " \ ++ "if test -e mmc ${bootpart} ${bootdir}/${bootfile}; then " \ ++ "echo loading ${bootdir}/${bootfile} ...; "\ ++ "run loadimage;" \ ++ "setenv fdtdir /boot/dtbs/${uname_r}; " \ ++ "if test -e mmc ${bootpart} ${fdtdir}/${fdt_file}; then " \ ++ "run loadfdt;" \ ++ "else " \ ++ "setenv fdtdir /usr/lib/linux-image-${uname_r}; " \ ++ "if test -e mmc ${bootpart} ${fdtdir}/${fdt_file}; then " \ ++ "run loadfdt;" \ ++ "else " \ ++ "setenv fdtdir /lib/firmware/${uname_r}/device-tree; " \ ++ "if test -e mmc ${bootpart} ${fdtdir}/${fdt_file}; then " \ ++ "run loadfdt;" \ ++ "else " \ ++ "setenv fdtdir /boot/dtb-${uname_r}; " \ ++ "if test -e mmc ${bootpart} ${fdtdir}/${fdt_file}; then " \ ++ "run loadfdt;" \ ++ "else " \ ++ "setenv fdtdir /boot/dtbs; " \ ++ "if test -e mmc ${bootpart} ${fdtdir}/${fdt_file}; then " \ ++ "run loadfdt;" \ ++ "else " \ ++ "setenv fdtdir /boot/dtb; " \ ++ "if test -e mmc ${bootpart} ${fdtdir}/${fdt_file}; then " \ ++ "run loadfdt;" \ ++ "else " \ ++ "setenv fdtdir /boot; " \ ++ "if test -e mmc ${bootpart} ${fdtdir}/${fdt_file}; 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;" \ ++ "fi;" \ ++ "fi;" \ ++ "fi;" \ ++ "fi;" \ ++ "fi;" \ ++ "fi; " \ ++ "setenv rdfile initrd.img-${uname_r}; " \ ++ "if test -e mmc ${bootpart} ${bootdir}/${rdfile}; then " \ ++ "echo loading ${bootdir}/${rdfile} ...; "\ ++ "run loadrd;" \ ++ "if test -n ${uuid}; then " \ ++ "setenv mmcroot UUID=${uuid} ro;" \ ++ "fi;" \ ++ "run mmcargs;" \ ++ "echo debug: [${bootargs}] ... ;" \ ++ "echo debug: [bootz ${loadaddr} ${rdaddr}:${rdsize} ${fdt_addr}] ... ;" \ ++ "bootz ${loadaddr} ${rdaddr}:${rdsize} ${fdt_addr}; " \ ++ "else " \ ++ "run mmcargs;" \ ++ "echo debug: [${bootargs}] ... ;" \ ++ "echo debug: [bootz ${loadaddr} - ${fdt_addr}] ... ;" \ ++ "bootz ${loadaddr} - ${fdt_addr}; " \ ++ "fi;" \ + "fi;\0" + + #define CONFIG_BOOTCOMMAND \ +- "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" ++ "run mmcboot;" + + #define CONFIG_ARP_TIMEOUT 200UL + +-- +2.1.1 + diff --git a/v2015.07-rc2/0001-mx6qsabre_common-uEnv.txt-bootz-n-fixes.patch b/v2015.07-rc2/0001-mx6qsabre_common-uEnv.txt-bootz-n-fixes.patch new file mode 100644 index 0000000..2954487 --- /dev/null +++ b/v2015.07-rc2/0001-mx6qsabre_common-uEnv.txt-bootz-n-fixes.patch @@ -0,0 +1,190 @@ +From 2d4223f7ac8a96eb79cd002882d6c4e2ea5c5f33 Mon Sep 17 00:00:00 2001 +From: Robert Nelson +Date: Wed, 27 May 2015 10:36:59 -0500 +Subject: [PATCH] mx6qsabre_common: uEnv.txt, bootz, n fixes + +Signed-off-by: Robert Nelson +--- + include/configs/mx6sabre_common.h | 139 +++++++++++++++++++++++++++++++++----- + 1 file changed, 121 insertions(+), 18 deletions(-) + +diff --git a/include/configs/mx6sabre_common.h b/include/configs/mx6sabre_common.h +index 6a37ae7..f790695 100644 +--- a/include/configs/mx6sabre_common.h ++++ b/include/configs/mx6sabre_common.h +@@ -83,14 +83,18 @@ + "image=zImage\0" \ + "fdt_file=" CONFIG_DEFAULT_FDT_FILE "\0" \ + "fdt_addr=0x18000000\0" \ ++ "rdaddr=0x12A00000\0" \ + "boot_fdt=try\0" \ + "ip_dyn=yes\0" \ +- "console=" CONFIG_CONSOLE_DEV "\0" \ ++ "console=ttymxc0,115200\0" \ ++ "optargs=\0" \ ++ "cmdline=\0" \ + "fdt_high=0xffffffff\0" \ + "initrd_high=0xffffffff\0" \ + "mmcdev=" __stringify(CONFIG_SYS_MMC_ENV_DEV) "\0" \ + "mmcpart=1\0" \ +- "mmcroot=" CONFIG_MMCROOT " rootwait rw\0" \ ++ "mmcroot=/dev/mmcblk0p2 ro\0" \ ++ "mmcrootfstype=ext4 rootwait fixrtc\0" \ + "update_sd_firmware=" \ + "if test ${ip_dyn} = yes; then " \ + "setenv get_cmd dhcp; " \ +@@ -105,15 +109,55 @@ + "fi; " \ + "fi\0" \ + EMMC_ENV \ +- "mmcargs=setenv bootargs console=${console},${baudrate} " \ +- "root=${mmcroot}\0" \ ++ "mmcargs=setenv bootargs console=${console}" \ ++ "${optargs} " \ ++ "root=${mmcroot} " \ ++ "rootfstype=${mmcrootfstype} " \ ++ "${cmdline}\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 ...; " \ ++ "loadimage=load mmc ${bootpart} ${loadaddr} ${bootdir}/${bootfile}\0" \ ++ "loadrd=load mmc ${bootpart} ${rdaddr} ${bootdir}/${rdfile}; setenv rdsize ${filesize}\0" \ ++ "loadfdt=echo loading ${fdtdir}/${fdt_file} ...; load mmc ${bootpart} ${fdt_addr} ${fdtdir}/${fdt_file}\0" \ ++ "mmcboot=mmc dev ${mmcdev}; " \ ++ "if mmc rescan; then " \ ++ "echo SD/MMC found on device ${mmcdev};" \ ++ "setenv bootpart ${mmcdev}:1; " \ ++ "echo Checking for: /uEnv.txt ...;" \ ++ "if test -e mmc ${bootpart} /uEnv.txt; then " \ ++ "load mmc ${bootpart} ${loadaddr} /uEnv.txt;" \ ++ "env import -t ${loadaddr} ${filesize};" \ ++ "echo Loaded environment from /uEnv.txt;" \ ++ "echo Checking if uenvcmd is set ...;" \ ++ "if test -n ${uenvcmd}; then " \ ++ "echo Running uenvcmd ...;" \ ++ "run uenvcmd;" \ ++ "fi;" \ ++ "fi; " \ ++ "echo Checking for: /boot/uEnv.txt ...;" \ ++ "for i in 1 2 3 4 5 6 7 ; do " \ ++ "setenv mmcpart ${i};" \ ++ "setenv bootpart ${mmcdev}:${mmcpart};" \ ++ "if test -e mmc ${bootpart} /boot/uEnv.txt; then " \ ++ "load mmc ${bootpart} ${loadaddr} /boot/uEnv.txt;" \ ++ "env import -t ${loadaddr} ${filesize};" \ ++ "echo Loaded environment from /boot/uEnv.txt;" \ ++ "if test -n ${dtb}; then " \ ++ "setenv fdt_file ${dtb};" \ ++ "echo Using: dtb=${fdt_file} ...;" \ ++ "fi;" \ ++ "echo Checking if uname_r is set in /boot/uEnv.txt...;" \ ++ "if test -n ${uname_r}; then " \ ++ "echo Running uname_boot ...;" \ ++ "setenv mmcroot /dev/mmcblk${mmckernel}p${mmcpart} ro;" \ ++ "run uname_boot;" \ ++ "fi;" \ ++ "fi;" \ ++ "done;" \ ++ "fi;\0" \ ++ "mmcboot_old=echo Booting from mmc ...; " \ + "run mmcargs; " \ + "if test ${boot_fdt} = yes || test ${boot_fdt} = try; then " \ + "if run loadfdt; then " \ +@@ -151,20 +195,79 @@ + "fi; " \ + "else " \ + "bootz; " \ ++ "fi;\0" \ ++ "uname_boot="\ ++ "setenv bootdir /boot; " \ ++ "setenv bootfile vmlinuz-${uname_r}; " \ ++ "if test -e mmc ${bootpart} ${bootdir}/${bootfile}; then " \ ++ "echo loading ${bootdir}/${bootfile} ...; "\ ++ "run loadimage;" \ ++ "setenv fdtdir /boot/dtbs/${uname_r}; " \ ++ "if test -e mmc ${bootpart} ${fdtdir}/${fdt_file}; then " \ ++ "run loadfdt;" \ ++ "else " \ ++ "setenv fdtdir /usr/lib/linux-image-${uname_r}; " \ ++ "if test -e mmc ${bootpart} ${fdtdir}/${fdt_file}; then " \ ++ "run loadfdt;" \ ++ "else " \ ++ "setenv fdtdir /lib/firmware/${uname_r}/device-tree; " \ ++ "if test -e mmc ${bootpart} ${fdtdir}/${fdt_file}; then " \ ++ "run loadfdt;" \ ++ "else " \ ++ "setenv fdtdir /boot/dtb-${uname_r}; " \ ++ "if test -e mmc ${bootpart} ${fdtdir}/${fdt_file}; then " \ ++ "run loadfdt;" \ ++ "else " \ ++ "setenv fdtdir /boot/dtbs; " \ ++ "if test -e mmc ${bootpart} ${fdtdir}/${fdt_file}; then " \ ++ "run loadfdt;" \ ++ "else " \ ++ "setenv fdtdir /boot/dtb; " \ ++ "if test -e mmc ${bootpart} ${fdtdir}/${fdt_file}; then " \ ++ "run loadfdt;" \ ++ "else " \ ++ "setenv fdtdir /boot; " \ ++ "if test -e mmc ${bootpart} ${fdtdir}/${fdt_file}; 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;" \ ++ "fi;" \ ++ "fi;" \ ++ "fi;" \ ++ "fi;" \ ++ "fi;" \ ++ "fi; " \ ++ "setenv rdfile initrd.img-${uname_r}; " \ ++ "if test -e mmc ${bootpart} ${bootdir}/${rdfile}; then " \ ++ "echo loading ${bootdir}/${rdfile} ...; "\ ++ "run loadrd;" \ ++ "if test -n ${uuid}; then " \ ++ "setenv mmcroot UUID=${uuid} ro;" \ ++ "fi;" \ ++ "run mmcargs;" \ ++ "echo debug: [${bootargs}] ... ;" \ ++ "echo debug: [bootz ${loadaddr} ${rdaddr}:${rdsize} ${fdt_addr}] ... ;" \ ++ "bootz ${loadaddr} ${rdaddr}:${rdsize} ${fdt_addr}; " \ ++ "else " \ ++ "run mmcargs;" \ ++ "echo debug: [${bootargs}] ... ;" \ ++ "echo debug: [bootz ${loadaddr} - ${fdt_addr}] ... ;" \ ++ "bootz ${loadaddr} - ${fdt_addr}; " \ ++ "fi;" \ + "fi;\0" + + #define CONFIG_BOOTCOMMAND \ +- "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" ++ "setenv mmcdev 1;" \ ++ "setenv mmckernel 0;" \ ++ "run mmcboot;" \ ++ "setenv mmcdev 0;" \ ++ "setenv mmckernel 0;" \ ++ "run mmcboot;" + + #define CONFIG_ARP_TIMEOUT 200UL + +-- +2.1.4 + diff --git a/v2015.07-rc2/0001-omap3_beagle-uEnv.txt-bootz-n-fixes.patch b/v2015.07-rc2/0001-omap3_beagle-uEnv.txt-bootz-n-fixes.patch new file mode 100644 index 0000000..bf18526 --- /dev/null +++ b/v2015.07-rc2/0001-omap3_beagle-uEnv.txt-bootz-n-fixes.patch @@ -0,0 +1,341 @@ +From 369718d9a4e35887bdb9e669b3b00d89cb4d646d Mon Sep 17 00:00:00 2001 +From: Robert Nelson +Date: Tue, 11 Nov 2014 15:37:42 -0600 +Subject: [PATCH] omap3_beagle: uEnv.txt, bootz, n fixes + +Signed-off-by: Robert Nelson +--- + board/ti/beagle/beagle.c | 38 +++++++-- + include/configs/omap3_beagle.h | 178 ++++++++++++++++++++++++++++------------- + 2 files changed, 155 insertions(+), 61 deletions(-) + +diff --git a/board/ti/beagle/beagle.c b/board/ti/beagle/beagle.c +index 4c5e381..d50818b 100644 +--- a/board/ti/beagle/beagle.c ++++ b/board/ti/beagle/beagle.c +@@ -56,6 +56,7 @@ + #define BBTOYS_WIFI 0x01000B00 + #define BBTOYS_VGA 0x02000B00 + #define BBTOYS_LCD 0x03000B00 ++#define BBTOYS_ULCD 0x04000B00 + #define BCT_BRETTL3 0x01000F00 + #define BCT_BRETTL4 0x02000F00 + #define LSR_COM6L_ADPT 0x01001300 +@@ -211,25 +212,25 @@ void get_board_mem_timings(struct board_sdrc_timings *timings) + * bus 1 for the availability of an AT24C01B serial EEPROM. + * returns the device_vendor field from the EEPROM + */ +-static unsigned int get_expansion_id(void) ++static unsigned int get_expansion_id(int eeprom_address) + { + i2c_set_bus_num(EXPANSION_EEPROM_I2C_BUS); + + /* return BEAGLE_NO_EEPROM if eeprom doesn't respond */ +- if (i2c_probe(EXPANSION_EEPROM_I2C_ADDRESS) == 1) { ++ if (i2c_probe(eeprom_address) == 1) { + i2c_set_bus_num(TWL4030_I2C_BUS); + return BEAGLE_NO_EEPROM; + } + + /* read configuration data */ +- i2c_read(EXPANSION_EEPROM_I2C_ADDRESS, 0, 1, (u8 *)&expansion_config, ++ i2c_read(eeprom_address, 0, 1, (u8 *)&expansion_config, + sizeof(expansion_config)); + + /* retry reading configuration data with 16bit addressing */ + if ((expansion_config.device_vendor == 0xFFFFFF00) || + (expansion_config.device_vendor == 0xFFFFFFFF)) { + printf("EEPROM is blank or 8bit addressing failed: retrying with 16bit:\n"); +- i2c_read(EXPANSION_EEPROM_I2C_ADDRESS, 0, 2, (u8 *)&expansion_config, ++ i2c_read(eeprom_address, 0, 2, (u8 *)&expansion_config, + sizeof(expansion_config)); + } + +@@ -341,15 +342,18 @@ int misc_init_r(void) + case REVISION_AXBX: + printf("Beagle Rev Ax/Bx\n"); + setenv("beaglerev", "AxBx"); ++ setenv("musb", "musb_hdrc.fifo_mode=5"); + break; + case REVISION_CX: + printf("Beagle Rev C1/C2/C3\n"); + setenv("beaglerev", "Cx"); ++ setenv("musb", "musb_hdrc.fifo_mode=5"); + MUX_BEAGLE_C(); + break; + case REVISION_C4: + printf("Beagle Rev C4\n"); + setenv("beaglerev", "C4"); ++ setenv("musb", "musb_hdrc.fifo_mode=5"); + MUX_BEAGLE_C(); + /* Set VAUX2 to 1.8V for EHCI PHY */ + twl4030_pmrecv_vsel_cfg(TWL4030_PM_RECEIVER_VAUX2_DEDICATED, +@@ -390,7 +394,7 @@ int misc_init_r(void) + generate_fake_mac = true; + } + +- switch (get_expansion_id()) { ++ switch (get_expansion_id(EXPANSION_EEPROM_I2C_ADDRESS)) { + case TINCANTOOLS_ZIPPY: + printf("Recognized Tincantools Zippy board (rev %d %s)\n", + expansion_config.revision, +@@ -473,6 +477,30 @@ int misc_init_r(void) + if (expansion_config.content == 1) + setenv(expansion_config.env_var, expansion_config.env_setting); + ++ /* Scan 0x51 as well for loop-thru boards */ ++ switch (get_expansion_id(EXPANSION_EEPROM_I2C_ADDRESS + 1)) { ++ case BBTOYS_ULCD: ++ printf("Recognized BeagleBoardToys uLCD-lite board\n"); ++ setenv("buddy2", "bbtoys-ulcd"); ++ setenv("defaultdisplay", "dvi"); ++ setenv("dvimode", "800x480MR-16@60"); ++ setenv("lcd1", "i2c mw 40 00 00; i2c mw 40 04 80; i2c mw 40 0d 05"); ++ setenv("lcdcmd", "i2c dev 1 ; run lcd1; i2c dev 0"); ++ setenv("kmsmode", "video=DVI-D-1:800x480"); ++ break; ++ case BEAGLE_NO_EEPROM: ++ printf("No EEPROM on expansion board\n"); ++ setenv("buddy2", "none"); ++ break; ++ default: ++ printf("Unrecognized expansion board: %x\n", ++ expansion_config.device_vendor); ++ setenv("buddy2", "unknown"); ++ } ++ ++ if (expansion_config.content == 1) ++ setenv(expansion_config.env_var, expansion_config.env_setting); ++ + twl4030_power_init(); + switch (get_board_revision()) { + case REVISION_XM_AB: +diff --git a/include/configs/omap3_beagle.h b/include/configs/omap3_beagle.h +index f25a940..b4413da 100644 +--- a/include/configs/omap3_beagle.h ++++ b/include/configs/omap3_beagle.h +@@ -129,40 +129,32 @@ + /* devices */ + + #define CONFIG_EXTRA_ENV_SETTINGS \ +- "loadaddr=0x80200000\0" \ +- "rdaddr=0x81000000\0" \ ++ "loadaddr=0x82000000\0" \ ++ "rdaddr=0x88080000\0" \ + "fdt_high=0xffffffff\0" \ +- "fdtaddr=0x80f80000\0" \ ++ "fdtaddr=0x88000000\0" \ + "usbtty=cdc_acm\0" \ +- "bootfile=uImage\0" \ ++ "bootfile=zImage\0" \ + "ramdisk=ramdisk.gz\0" \ +- "bootdir=/boot\0" \ +- "bootpart=0:2\0" \ ++ "bootdir=\0" \ ++ "bootpart=0:1\0" \ ++ "fdtdir=/dtbs\0" \ + "console=ttyO2,115200n8\0" \ +- "mpurate=auto\0" \ +- "buddy=none\0" \ + "optargs=\0" \ +- "camera=none\0" \ +- "vram=12M\0" \ +- "dvimode=640x480MR-16@60\0" \ +- "defaultdisplay=dvi\0" \ ++ "musb=\0" \ + "mmcdev=0\0" \ +- "mmcroot=/dev/mmcblk0p2 rw\0" \ +- "mmcrootfstype=ext3 rootwait\0" \ ++ "mmcroot=/dev/mmcblk0p2 ro\0" \ ++ "mmcrootfstype=ext4 rootwait fixrtc\0" \ + "nandroot=ubi0:rootfs ubi.mtd=4\0" \ + "nandrootfstype=ubifs\0" \ + "ramroot=/dev/ram0 rw ramdisk_size=65536 initrd=0x81000000,64M\0" \ + "ramrootfstype=ext2\0" \ + "mmcargs=setenv bootargs console=${console} " \ + "${optargs} " \ +- "mpurate=${mpurate} " \ +- "buddy=${buddy} "\ +- "camera=${camera} "\ +- "vram=${vram} " \ +- "omapfb.mode=dvi:${dvimode} " \ +- "omapdss.def_disp=${defaultdisplay} " \ + "root=${mmcroot} " \ +- "rootfstype=${mmcrootfstype}\0" \ ++ "rootfstype=${mmcrootfstype} " \ ++ "${musb} " \ ++ "${cmdline}\0" \ + "nandargs=setenv bootargs console=${console} " \ + "${optargs} " \ + "mpurate=${mpurate} " \ +@@ -193,7 +185,7 @@ + "fi; " \ + "fi; \0" \ + "bootenv=uEnv.txt\0" \ +- "loadbootenv=fatload mmc ${mmcdev} ${loadaddr} ${bootenv}\0" \ ++ "loadbootenv=load mmc ${bootpart} ${loadaddr} ${bootenv}\0" \ + "importbootenv=echo Importing environment from mmc ...; " \ + "env import -t -r $loadaddr $filesize\0" \ + "ramargs=setenv bootargs console=${console} " \ +@@ -210,10 +202,44 @@ + "loadbootscript=load mmc ${mmcdev} ${loadaddr} boot.scr\0" \ + "bootscript=echo Running bootscript from mmc${mmcdev} ...; " \ + "source ${loadaddr}\0" \ +- "loadfdt=run validatefdt; load mmc ${bootpart} ${fdtaddr} ${bootdir}/${fdtfile}\0" \ +- "mmcboot=echo Booting from mmc ...; " \ +- "run mmcargs; " \ +- "bootm ${loadaddr}\0" \ ++ "loadrd=load mmc ${bootpart} ${rdaddr} ${bootdir}/${rdfile}; setenv rdsize ${filesize}\0" \ ++ "loadfdt=echo loading ${fdtdir}/${fdtfile} ...; load mmc ${bootpart} ${fdtaddr} ${fdtdir}/${fdtfile}\0" \ ++ "mmcboot=mmc dev ${mmcdev}; " \ ++ "if mmc rescan; then " \ ++ "echo SD/MMC found on device ${mmcdev};" \ ++ "setenv bootpart ${mmcdev}:1; " \ ++ "echo Checking for: /uEnv.txt ...;" \ ++ "if test -e mmc ${bootpart} /uEnv.txt; then " \ ++ "load mmc ${bootpart} ${loadaddr} /uEnv.txt;" \ ++ "env import -t ${loadaddr} ${filesize};" \ ++ "echo Loaded environment from /uEnv.txt;" \ ++ "echo Checking if uenvcmd is set ...;" \ ++ "if test -n ${uenvcmd}; then " \ ++ "echo Running uenvcmd ...;" \ ++ "run uenvcmd;" \ ++ "fi;" \ ++ "fi; " \ ++ "echo Checking for: /boot/uEnv.txt ...;" \ ++ "for i in 1 2 3 4 5 6 7 ; do " \ ++ "setenv mmcpart ${i};" \ ++ "setenv bootpart ${mmcdev}:${mmcpart};" \ ++ "if test -e mmc ${bootpart} /boot/uEnv.txt; then " \ ++ "load mmc ${bootpart} ${loadaddr} /boot/uEnv.txt;" \ ++ "env import -t ${loadaddr} ${filesize};" \ ++ "echo Loaded environment from /boot/uEnv.txt;" \ ++ "if test -n ${dtb}; then " \ ++ "setenv fdtfile ${dtb};" \ ++ "echo Using: dtb=${fdtfile} ...;" \ ++ "fi;" \ ++ "echo Checking if uname_r is set in /boot/uEnv.txt...;" \ ++ "if test -n ${uname_r}; then " \ ++ "echo Running uname_boot ...;" \ ++ "setenv mmcroot /dev/mmcblk${mmcdev}p${mmcpart} ro;" \ ++ "run uname_boot;" \ ++ "fi;" \ ++ "fi;" \ ++ "done;" \ ++ "fi;\0" \ + "mmcbootz=echo Booting with DT from mmc${mmcdev} ...; " \ + "run mmcargs; " \ + "bootz ${loadaddr} - ${fdtaddr}\0" \ +@@ -227,39 +253,79 @@ + "userbutton=if gpio input 173; then run userbutton_xm; " \ + "else run userbutton_nonxm; fi;\0" \ + "userbutton_xm=gpio input 4;\0" \ +- "userbutton_nonxm=gpio input 7;\0" ++ "userbutton_nonxm=gpio input 7;\0" \ ++ "uname_boot="\ ++ "setenv bootdir /boot; " \ ++ "setenv bootfile vmlinuz-${uname_r}; " \ ++ "if test -e mmc ${bootpart} ${bootdir}/${bootfile}; then " \ ++ "echo loading ${bootdir}/${bootfile} ...; "\ ++ "run loadimage;" \ ++ "setenv fdtdir /boot/dtbs/${uname_r}; " \ ++ "if test -e mmc ${bootpart} ${fdtdir}/${fdtfile}; then " \ ++ "run loadfdt;" \ ++ "else " \ ++ "setenv fdtdir /usr/lib/linux-image-${uname_r}; " \ ++ "if test -e mmc ${bootpart} ${fdtdir}/${fdtfile}; then " \ ++ "run loadfdt;" \ ++ "else " \ ++ "setenv fdtdir /lib/firmware/${uname_r}/device-tree; " \ ++ "if test -e mmc ${bootpart} ${fdtdir}/${fdtfile}; then " \ ++ "run loadfdt;" \ ++ "else " \ ++ "setenv fdtdir /boot/dtb-${uname_r}; " \ ++ "if test -e mmc ${bootpart} ${fdtdir}/${fdtfile}; then " \ ++ "run loadfdt;" \ ++ "else " \ ++ "setenv fdtdir /boot/dtbs; " \ ++ "if test -e mmc ${bootpart} ${fdtdir}/${fdtfile}; then " \ ++ "run loadfdt;" \ ++ "else " \ ++ "setenv fdtdir /boot/dtb; " \ ++ "if test -e mmc ${bootpart} ${fdtdir}/${fdtfile}; then " \ ++ "run loadfdt;" \ ++ "else " \ ++ "setenv fdtdir /boot; " \ ++ "if test -e mmc ${bootpart} ${fdtdir}/${fdtfile}; then " \ ++ "run loadfdt;" \ ++ "else " \ ++ "echo; echo unable to find ${fdtfile} ...; echo booting legacy ...;"\ ++ "run mmcargs;" \ ++ "echo debug: [${bootargs}] ... ;" \ ++ "echo debug: [bootz ${loadaddr}] ... ;" \ ++ "bootz ${loadaddr}; " \ ++ "fi;" \ ++ "fi;" \ ++ "fi;" \ ++ "fi;" \ ++ "fi;" \ ++ "fi;" \ ++ "fi; " \ ++ "setenv rdfile initrd.img-${uname_r}; " \ ++ "if test -e mmc ${bootpart} ${bootdir}/${rdfile}; then " \ ++ "echo loading ${bootdir}/${rdfile} ...; "\ ++ "run loadrd;" \ ++ "if test -n ${uuid}; then " \ ++ "setenv mmcroot UUID=${uuid} ro;" \ ++ "fi;" \ ++ "run mmcargs;" \ ++ "echo debug: [${bootargs}] ... ;" \ ++ "echo debug: [bootz ${loadaddr} ${rdaddr}:${rdsize} ${fdtaddr}] ... ;" \ ++ "bootz ${loadaddr} ${rdaddr}:${rdsize} ${fdtaddr}; " \ ++ "else " \ ++ "run mmcargs;" \ ++ "echo debug: [${bootargs}] ... ;" \ ++ "echo debug: [bootz ${loadaddr} - ${fdtaddr}] ... ;" \ ++ "bootz ${loadaddr} - ${fdtaddr}; " \ ++ "fi;" \ ++ "fi;\0" + /* "run userbutton" will return 1 (false) if pressed and 0 (true) if not */ + #define CONFIG_BOOTCOMMAND \ +- "run findfdt; " \ +- "mmc dev ${mmcdev}; if mmc rescan; then " \ +- "if run userbutton; then " \ +- "setenv bootenv uEnv.txt;" \ +- "else " \ +- "setenv bootenv user.txt;" \ +- "fi;" \ +- "echo SD/MMC found on device ${mmcdev};" \ +- "if run loadbootenv; then " \ +- "echo Loaded environment from ${bootenv};" \ +- "run importbootenv;" \ +- "fi;" \ +- "if test -n $uenvcmd; then " \ +- "echo Running uenvcmd ...;" \ +- "run uenvcmd;" \ +- "fi;" \ +- "if run loadbootscript; then " \ +- "run bootscript; " \ +- "else " \ +- "if run loadimage; then " \ +- "run mmcboot;" \ +- "fi;" \ +- "fi; " \ ++ "if test -n $lcdcmd; then " \ ++ "echo Running lcdcmd ...;" \ ++ "run lcdcmd;" \ + "fi;" \ +- "run nandboot;" \ +- "setenv bootfile zImage;" \ +- "if run loadimage; then " \ +- "run loadfdt;" \ +- "run mmcbootz; " \ +- "fi; " \ ++ "run findfdt;" \ ++ "run mmcboot; " \ + + /* + * OMAP3 has 12 GP timers, they can be driven by the system clock +-- +2.1.1 + diff --git a/v2015.07-rc2/0001-omap4_common-uEnv.txt-bootz-n-fixes.patch b/v2015.07-rc2/0001-omap4_common-uEnv.txt-bootz-n-fixes.patch new file mode 100644 index 0000000..1ed648d --- /dev/null +++ b/v2015.07-rc2/0001-omap4_common-uEnv.txt-bootz-n-fixes.patch @@ -0,0 +1,204 @@ +From ade5372b3280699bfd2b49857755d8efec6298ba Mon Sep 17 00:00:00 2001 +From: Robert Nelson +Date: Tue, 11 Nov 2014 15:38:54 -0600 +Subject: [PATCH] ti_omap4_common: uEnv.txt, bootz, n fixes + +Signed-off-by: Robert Nelson +--- + include/configs/ti_omap4_common.h | 149 ++++++++++++++++++++++++++++++-------- + 1 file changed, 117 insertions(+), 32 deletions(-) + +diff --git a/include/configs/ti_omap4_common.h b/include/configs/ti_omap4_common.h +index 1c93aab..494c669 100644 +--- a/include/configs/ti_omap4_common.h ++++ b/include/configs/ti_omap4_common.h +@@ -46,7 +46,8 @@ + * the timings to use or use pre-determined timings (based on using the + * dynamic method. Default to the static timing infomation. + */ +-#define CONFIG_SYS_EMIF_PRECALCULATED_TIMING_REGS ++/* Yet another panda (A4) with "new" memory... */ ++/* #define CONFIG_SYS_EMIF_PRECALCULATED_TIMING_REGS */ + #ifndef CONFIG_SYS_EMIF_PRECALCULATED_TIMING_REGS + #define CONFIG_SYS_AUTOMATIC_SDRAM_DETECTION + #define CONFIG_SYS_DEFAULT_LPDDR2_TIMINGS +@@ -89,29 +90,70 @@ + DEFAULT_LINUX_BOOT_ENV \ + "console=ttyO2,115200n8\0" \ + "fdtfile=undefined\0" \ +- "bootpart=0:2\0" \ +- "bootdir=/boot\0" \ ++ "bootpart=0:1\0" \ ++ "bootdir=\0" \ ++ "fdtdir=/dtbs\0" \ + "bootfile=zImage\0" \ + "usbtty=cdc_acm\0" \ + "vram=16M\0" \ + "mmcdev=0\0" \ +- "mmcroot=/dev/mmcblk0p2 rw\0" \ +- "mmcrootfstype=ext3 rootwait\0" \ ++ "mmcpart=1\0" \ ++ "mmcroot=/dev/mmcblk0p2 ro\0" \ ++ "mmcrootfstype=ext4 rootwait fixrtc\0" \ + "mmcargs=setenv bootargs console=${console} " \ +- "vram=${vram} " \ ++ "${optargs} " \ + "root=${mmcroot} " \ +- "rootfstype=${mmcrootfstype}\0" \ ++ "rootfstype=${mmcrootfstype} " \ ++ "${cmdline}\0" \ + "loadbootscript=load mmc ${mmcdev} ${loadaddr} boot.scr\0" \ + "bootscript=echo Running bootscript from mmc${mmcdev} ...; " \ + "source ${loadaddr}\0" \ +- "loadbootenv=load mmc ${mmcdev} ${loadaddr} uEnv.txt\0" \ ++ "loadbootenv=load mmc ${bootpart} ${loadaddr} uEnv.txt\0" \ + "importbootenv=echo Importing environment from mmc${mmcdev} ...; " \ + "env import -t ${loadaddr} ${filesize}\0" \ + "loadimage=load mmc ${bootpart} ${loadaddr} ${bootdir}/${bootfile}\0" \ + "loaduimage=load mmc ${mmcdev} ${loadaddr} uImage\0" \ +- "mmcboot=echo Booting from mmc${mmcdev} ...; " \ ++ "loadrd=load mmc ${bootpart} ${rdaddr} ${bootdir}/${rdfile}; setenv rdsize ${filesize}\0" \ ++ "loadfdt=echo loading ${fdtdir}/${fdtfile} ...; load mmc ${bootpart} ${fdtaddr} ${fdtdir}/${fdtfile}\0" \ ++ "mmcboot=mmc dev ${mmcdev}; " \ ++ "if mmc rescan; then " \ ++ "echo SD/MMC found on device ${mmcdev};" \ ++ "setenv bootpart ${mmcdev}:1; " \ ++ "echo Checking for: /uEnv.txt ...;" \ ++ "if test -e mmc ${bootpart} /uEnv.txt; then " \ ++ "load mmc ${bootpart} ${loadaddr} /uEnv.txt;" \ ++ "env import -t ${loadaddr} ${filesize};" \ ++ "echo Loaded environment from /uEnv.txt;" \ ++ "echo Checking if uenvcmd is set ...;" \ ++ "if test -n ${uenvcmd}; then " \ ++ "echo Running uenvcmd ...;" \ ++ "run uenvcmd;" \ ++ "fi;" \ ++ "fi; " \ ++ "echo Checking for: /boot/uEnv.txt ...;" \ ++ "for i in 1 2 3 4 5 6 7 ; do " \ ++ "setenv mmcpart ${i};" \ ++ "setenv bootpart ${mmcdev}:${mmcpart};" \ ++ "if test -e mmc ${bootpart} /boot/uEnv.txt; then " \ ++ "load mmc ${bootpart} ${loadaddr} /boot/uEnv.txt;" \ ++ "env import -t ${loadaddr} ${filesize};" \ ++ "echo Loaded environment from /boot/uEnv.txt;" \ ++ "if test -n ${dtb}; then " \ ++ "setenv fdtfile ${dtb};" \ ++ "echo Using: dtb=${fdtfile} ...;" \ ++ "fi;" \ ++ "echo Checking if uname_r is set in /boot/uEnv.txt...;" \ ++ "if test -n ${uname_r}; then " \ ++ "echo Running uname_boot ...;" \ ++ "setenv mmcroot /dev/mmcblk${mmcdev}p${mmcpart} ro;" \ ++ "run uname_boot;" \ ++ "fi;" \ ++ "fi;" \ ++ "done;" \ ++ "fi;\0" \ ++ "mmc_classic_boot=echo Booting from mmc${mmcdev} ...; " \ + "run mmcargs; " \ +- "bootz ${loadaddr} - ${fdtaddr}\0" \ ++ "bootz ${loadaddr}\0" \ + "uimageboot=echo Booting from mmc${mmcdev} ...; " \ + "run mmcargs; " \ + "bootm ${loadaddr}\0" \ +@@ -128,31 +170,74 @@ + "setenv fdtfile omap4-duovero-parlor.dtb; fi;" \ + "if test $fdtfile = undefined; then " \ + "echo WARNING: Could not determine device tree to use; fi; \0" \ +- "loadfdt=load mmc ${bootpart} ${fdtaddr} ${bootdir}/${fdtfile}\0" \ ++ "uname_boot="\ ++ "setenv bootdir /boot; " \ ++ "setenv bootfile vmlinuz-${uname_r}; " \ ++ "if test -e mmc ${bootpart} ${bootdir}/${bootfile}; then " \ ++ "echo loading ${bootdir}/${bootfile} ...; "\ ++ "run loadimage;" \ ++ "setenv fdtdir /boot/dtbs/${uname_r}; " \ ++ "if test -e mmc ${bootpart} ${fdtdir}/${fdtfile}; then " \ ++ "run loadfdt;" \ ++ "else " \ ++ "setenv fdtdir /usr/lib/linux-image-${uname_r}; " \ ++ "if test -e mmc ${bootpart} ${fdtdir}/${fdtfile}; then " \ ++ "run loadfdt;" \ ++ "else " \ ++ "setenv fdtdir /lib/firmware/${uname_r}/device-tree; " \ ++ "if test -e mmc ${bootpart} ${fdtdir}/${fdtfile}; then " \ ++ "run loadfdt;" \ ++ "else " \ ++ "setenv fdtdir /boot/dtb-${uname_r}; " \ ++ "if test -e mmc ${bootpart} ${fdtdir}/${fdtfile}; then " \ ++ "run loadfdt;" \ ++ "else " \ ++ "setenv fdtdir /boot/dtbs; " \ ++ "if test -e mmc ${bootpart} ${fdtdir}/${fdtfile}; then " \ ++ "run loadfdt;" \ ++ "else " \ ++ "setenv fdtdir /boot/dtb; " \ ++ "if test -e mmc ${bootpart} ${fdtdir}/${fdtfile}; then " \ ++ "run loadfdt;" \ ++ "else " \ ++ "setenv fdtdir /boot; " \ ++ "if test -e mmc ${bootpart} ${fdtdir}/${fdtfile}; then " \ ++ "run loadfdt;" \ ++ "else " \ ++ "echo; echo unable to find ${fdtfile} ...; echo booting legacy ...;"\ ++ "run mmcargs;" \ ++ "echo debug: [${bootargs}] ... ;" \ ++ "echo debug: [bootz ${loadaddr}] ... ;" \ ++ "bootz ${loadaddr}; " \ ++ "fi;" \ ++ "fi;" \ ++ "fi;" \ ++ "fi;" \ ++ "fi;" \ ++ "fi;" \ ++ "fi; " \ ++ "setenv rdfile initrd.img-${uname_r}; " \ ++ "if test -e mmc ${bootpart} ${bootdir}/${rdfile}; then " \ ++ "echo loading ${bootdir}/${rdfile} ...; "\ ++ "run loadrd;" \ ++ "if test -n ${uuid}; then " \ ++ "setenv mmcroot UUID=${uuid} ro;" \ ++ "fi;" \ ++ "run mmcargs;" \ ++ "echo debug: [${bootargs}] ... ;" \ ++ "echo debug: [bootz ${loadaddr} ${rdaddr}:${rdsize} ${fdtaddr}] ... ;" \ ++ "bootz ${loadaddr} ${rdaddr}:${rdsize} ${fdtaddr}; " \ ++ "else " \ ++ "run mmcargs;" \ ++ "echo debug: [${bootargs}] ... ;" \ ++ "echo debug: [bootz ${loadaddr} - ${fdtaddr}] ... ;" \ ++ "bootz ${loadaddr} - ${fdtaddr}; " \ ++ "fi;" \ ++ "fi;\0" \ + + #define CONFIG_BOOTCOMMAND \ + "run findfdt; " \ +- "mmc dev ${mmcdev}; if mmc rescan; then " \ +- "echo SD/MMC found on device ${mmcdev};" \ +- "if run loadbootscript; then " \ +- "run bootscript; " \ +- "else " \ +- "if run loadbootenv; then " \ +- "run importbootenv; " \ +- "fi;" \ +- "if test -n ${uenvcmd}; then " \ +- "echo Running uenvcmd ...;" \ +- "run uenvcmd;" \ +- "fi;" \ +- "fi;" \ +- "if run loadimage; then " \ +- "run loadfdt;" \ +- "run mmcboot; " \ +- "fi; " \ +- "if run loaduimage; then " \ +- "run uimageboot;" \ +- "fi; " \ +- "fi" ++ "run mmcboot;" + + /* + * Defines for SPL +-- +2.1.1 + diff --git a/v2015.07-rc2/0001-omap5_common-uEnv.txt-bootz-n-fixes.patch b/v2015.07-rc2/0001-omap5_common-uEnv.txt-bootz-n-fixes.patch new file mode 100644 index 0000000..fdff6bd --- /dev/null +++ b/v2015.07-rc2/0001-omap5_common-uEnv.txt-bootz-n-fixes.patch @@ -0,0 +1,193 @@ +From 744571f277a6fa95261e0c63368766fc73ce431c Mon Sep 17 00:00:00 2001 +From: Robert Nelson +Date: Wed, 20 May 2015 14:43:49 -0500 +Subject: [PATCH] ti_omap5_common: uEnv.txt, bootz, n fixes + +Signed-off-by: Robert Nelson +--- + include/configs/ti_omap5_common.h | 135 +++++++++++++++++++++++++++++++------- + 1 file changed, 110 insertions(+), 25 deletions(-) + +diff --git a/include/configs/ti_omap5_common.h b/include/configs/ti_omap5_common.h +index 3383491..55db20c 100644 +--- a/include/configs/ti_omap5_common.h ++++ b/include/configs/ti_omap5_common.h +@@ -77,46 +77,67 @@ + DEFAULT_LINUX_BOOT_ENV \ + "console=" CONSOLEDEV ",115200n8\0" \ + "fdtfile=undefined\0" \ +- "bootpart=0:2\0" \ +- "bootdir=/boot\0" \ ++ "bootpart=0:1\0" \ ++ "bootdir=\0" \ + "bootfile=zImage\0" \ ++ "fdtdir=/dtbs\0" \ + "usbtty=cdc_acm\0" \ + "vram=16M\0" \ + "partitions=" PARTS_DEFAULT "\0" \ + "optargs=\0" \ + "mmcdev=0\0" \ +- "mmcroot=/dev/mmcblk0p2 rw\0" \ +- "mmcrootfstype=ext4 rootwait\0" \ ++ "mmcroot=/dev/mmcblk1p2 ro\0" \ ++ "mmcrootfstype=ext4 rootwait fixrtc\0" \ + "mmcargs=setenv bootargs console=${console} " \ + "${optargs} " \ +- "vram=${vram} " \ + "root=${mmcroot} " \ +- "rootfstype=${mmcrootfstype}\0" \ +- "loadbootscript=fatload mmc ${mmcdev} ${loadaddr} boot.scr\0" \ ++ "rootfstype=${mmcrootfstype} " \ ++ "${cmdline}\0" \ ++ "loadbootscript=load mmc ${bootpart} ${loadaddr} boot.scr\0" \ + "bootscript=echo Running bootscript from mmc${mmcdev} ...; " \ + "source ${loadaddr}\0" \ + "bootenv=uEnv.txt\0" \ +- "loadbootenv=fatload mmc ${mmcdev} ${loadaddr} ${bootenv}\0" \ ++ "loadbootenv=load mmc ${bootpart} ${loadaddr} ${bootenv}\0" \ + "importbootenv=echo Importing environment from mmc${mmcdev} ...; " \ + "env import -t ${loadaddr} ${filesize}\0" \ + "loadimage=load mmc ${bootpart} ${loadaddr} ${bootdir}/${bootfile}\0" \ ++ "loadrd=load mmc ${bootpart} ${rdaddr} ${bootdir}/${rdfile}; setenv rdsize ${filesize}\0" \ ++ "loadfdt=echo loading ${fdtdir}/${fdtfile} ...; load mmc ${bootpart} ${fdtaddr} ${fdtdir}/${fdtfile}\0" \ + "mmcboot=mmc dev ${mmcdev}; " \ + "if mmc rescan; then " \ + "echo SD/MMC found on device ${mmcdev};" \ +- "if run loadbootenv; then " \ +- "echo Loaded environment from ${bootenv};" \ +- "run importbootenv;" \ +- "fi;" \ +- "if test -n $uenvcmd; then " \ +- "echo Running uenvcmd ...;" \ +- "run uenvcmd;" \ +- "fi;" \ +- "if run loadimage; then " \ +- "run loadfdt; " \ +- "echo Booting from mmc${mmcdev} ...; " \ +- "run mmcargs; " \ +- "bootz ${loadaddr} - ${fdtaddr}; " \ +- "fi;" \ ++ "setenv bootpart ${mmcdev}:1; " \ ++ "echo Checking for: /uEnv.txt ...;" \ ++ "if test -e mmc ${bootpart} /uEnv.txt; then " \ ++ "load mmc ${bootpart} ${loadaddr} /uEnv.txt;" \ ++ "env import -t ${loadaddr} ${filesize};" \ ++ "echo Loaded environment from /uEnv.txt;" \ ++ "echo Checking if uenvcmd is set ...;" \ ++ "if test -n ${uenvcmd}; then " \ ++ "echo Running uenvcmd ...;" \ ++ "run uenvcmd;" \ ++ "fi;" \ ++ "fi; " \ ++ "echo Checking for: /boot/uEnv.txt ...;" \ ++ "for i in 1 2 3 4 5 6 7 ; do " \ ++ "setenv mmcpart ${i};" \ ++ "setenv bootpart ${mmcdev}:${mmcpart};" \ ++ "if test -e mmc ${bootpart} /boot/uEnv.txt; then " \ ++ "load mmc ${bootpart} ${loadaddr} /boot/uEnv.txt;" \ ++ "env import -t ${loadaddr} ${filesize};" \ ++ "echo Loaded environment from /boot/uEnv.txt;" \ ++ "if test -n ${dtb}; then " \ ++ "setenv fdtfile ${dtb};" \ ++ "echo Using: dtb=${fdtfile} ...;" \ ++ "fi;" \ ++ "echo Checking if uname_r is set in /boot/uEnv.txt...;" \ ++ "if test -n ${uname_r}; then " \ ++ "echo Running uname_boot ...;" \ ++ "setenv mmcroot /dev/mmcblk${mmckernel}p${mmcpart} ro;" \ ++ "run uname_boot;" \ ++ "fi;" \ ++ "fi;" \ ++ "done;" \ + "fi;\0" \ + "findfdt="\ + "if test $board_name = omap5_uevm; then " \ +@@ -129,7 +150,70 @@ + "setenv fdtfile am57xx-beagle-x15.dtb; fi;" \ + "if test $fdtfile = undefined; then " \ + "echo WARNING: Could not determine device tree to use; fi; \0" \ +- "loadfdt=load mmc ${bootpart} ${fdtaddr} ${bootdir}/${fdtfile};\0" \ ++ "uname_boot="\ ++ "setenv bootdir /boot; " \ ++ "setenv bootfile vmlinuz-${uname_r}; " \ ++ "if test -e mmc ${bootpart} ${bootdir}/${bootfile}; then " \ ++ "echo loading ${bootdir}/${bootfile} ...; "\ ++ "run loadimage;" \ ++ "setenv fdtdir /boot/dtbs/${uname_r}; " \ ++ "if test -e mmc ${bootpart} ${fdtdir}/${fdtfile}; then " \ ++ "run loadfdt;" \ ++ "else " \ ++ "setenv fdtdir /usr/lib/linux-image-${uname_r}; " \ ++ "if test -e mmc ${bootpart} ${fdtdir}/${fdtfile}; then " \ ++ "run loadfdt;" \ ++ "else " \ ++ "setenv fdtdir /lib/firmware/${uname_r}/device-tree; " \ ++ "if test -e mmc ${bootpart} ${fdtdir}/${fdtfile}; then " \ ++ "run loadfdt;" \ ++ "else " \ ++ "setenv fdtdir /boot/dtb-${uname_r}; " \ ++ "if test -e mmc ${bootpart} ${fdtdir}/${fdtfile}; then " \ ++ "run loadfdt;" \ ++ "else " \ ++ "setenv fdtdir /boot/dtbs; " \ ++ "if test -e mmc ${bootpart} ${fdtdir}/${fdtfile}; then " \ ++ "run loadfdt;" \ ++ "else " \ ++ "setenv fdtdir /boot/dtb; " \ ++ "if test -e mmc ${bootpart} ${fdtdir}/${fdtfile}; then " \ ++ "run loadfdt;" \ ++ "else " \ ++ "setenv fdtdir /boot; " \ ++ "if test -e mmc ${bootpart} ${fdtdir}/${fdtfile}; then " \ ++ "run loadfdt;" \ ++ "else " \ ++ "echo; echo unable to find ${fdtfile} ...; echo booting legacy ...;"\ ++ "run mmcargs;" \ ++ "echo debug: [${bootargs}] ... ;" \ ++ "echo debug: [bootz ${loadaddr}] ... ;" \ ++ "bootz ${loadaddr}; " \ ++ "fi;" \ ++ "fi;" \ ++ "fi;" \ ++ "fi;" \ ++ "fi;" \ ++ "fi;" \ ++ "fi; " \ ++ "setenv rdfile initrd.img-${uname_r}; " \ ++ "if test -e mmc ${bootpart} ${bootdir}/${rdfile}; then " \ ++ "echo loading ${bootdir}/${rdfile} ...; "\ ++ "run loadrd;" \ ++ "if test -n ${uuid}; then " \ ++ "setenv mmcroot UUID=${uuid} ro;" \ ++ "fi;" \ ++ "run mmcargs;" \ ++ "echo debug: [${bootargs}] ... ;" \ ++ "echo debug: [bootz ${loadaddr} ${rdaddr}:${rdsize} ${fdtaddr}] ... ;" \ ++ "bootz ${loadaddr} ${rdaddr}:${rdsize} ${fdtaddr}; " \ ++ "else " \ ++ "run mmcargs;" \ ++ "echo debug: [${bootargs}] ... ;" \ ++ "echo debug: [bootz ${loadaddr} - ${fdtaddr}] ... ;" \ ++ "bootz ${loadaddr} - ${fdtaddr}; " \ ++ "fi;" \ ++ "fi;\0" \ + DFUARGS \ + NETARGS \ + +@@ -141,10 +225,11 @@ + "echo Booting into fastboot ...; fastboot;" \ + "fi;" \ + "run findfdt; " \ ++ "setenv mmcdev 0; " \ ++ "setenv mmckernel 1; " \ + "run mmcboot;" \ + "setenv mmcdev 1; " \ +- "setenv bootpart 1:2; " \ +- "setenv mmcroot /dev/mmcblk0p2 rw; " \ ++ "setenv mmckernel 0; " \ + "run mmcboot;" \ + "" + +-- +2.1.4 + diff --git a/v2015.07-rc2/0001-sama5d3_xplained-uEnv.txt-bootz-n-fixes.patch b/v2015.07-rc2/0001-sama5d3_xplained-uEnv.txt-bootz-n-fixes.patch new file mode 100644 index 0000000..b385ff8 --- /dev/null +++ b/v2015.07-rc2/0001-sama5d3_xplained-uEnv.txt-bootz-n-fixes.patch @@ -0,0 +1,246 @@ +From b8f6cf6466ec044a76ef972cf3e932b5a32df777 Mon Sep 17 00:00:00 2001 +From: Robert Nelson +Date: Wed, 3 Jun 2015 15:24:35 -0500 +Subject: [PATCH] sama5d3_xplained: uEnv.txt, bootz, n fixes + +Signed-off-by: Robert Nelson +--- + board/atmel/sama5d3_xplained/sama5d3_xplained.c | 81 +++++++++++++++++++++++++ + include/configs/at91-sama5_common.h | 56 +++++++++++++++-- + include/configs/sama5d3_xplained.h | 24 +++++++- + 3 files changed, 154 insertions(+), 7 deletions(-) + +diff --git a/board/atmel/sama5d3_xplained/sama5d3_xplained.c b/board/atmel/sama5d3_xplained/sama5d3_xplained.c +index 92ed4e8..1729b5e 100644 +--- a/board/atmel/sama5d3_xplained/sama5d3_xplained.c ++++ b/board/atmel/sama5d3_xplained/sama5d3_xplained.c +@@ -14,6 +14,8 @@ + #include + #include + #include ++#include ++#include + #include + #include + #include +@@ -72,6 +74,81 @@ static void sama5d3_xplained_mci0_hw_init(void) + } + #endif + ++#ifdef CONFIG_LCD ++vidinfo_t panel_info = { ++ .vl_col = 480, ++ .vl_row = 272, ++ .vl_clk = 27000000, ++ .vl_sync = ATMEL_LCDC_INVLINE_NORMAL | ATMEL_LCDC_INVFRAME_NORMAL, ++ .vl_bpix = LCD_BPP, ++ .vl_tft = 1, ++ .vl_hsync_len = 128, ++ .vl_left_margin = 64, ++ .vl_right_margin = 64, ++ .vl_vsync_len = 2, ++ .vl_upper_margin = 22, ++ .vl_lower_margin = 21, ++ .mmio = ATMEL_BASE_LCDC, ++}; ++ ++void lcd_enable(void) ++{ ++} ++ ++void lcd_disable(void) ++{ ++} ++ ++static void sama5d3_xplained_lcd_hw_init(void) ++{ ++ gd->fb_base = CONFIG_SAMA5D3_LCD_BASE; ++ ++ /* The higher 8 bit of LCD is board related */ ++ at91_set_c_periph(AT91_PIO_PORTC, 14, 0); /* LCDD16 */ ++ at91_set_c_periph(AT91_PIO_PORTC, 13, 0); /* LCDD17 */ ++ at91_set_c_periph(AT91_PIO_PORTC, 12, 0); /* LCDD18 */ ++ at91_set_c_periph(AT91_PIO_PORTC, 11, 0); /* LCDD19 */ ++ at91_set_c_periph(AT91_PIO_PORTC, 10, 0); /* LCDD20 */ ++ at91_set_c_periph(AT91_PIO_PORTC, 15, 0); /* LCDD21 */ ++ at91_set_c_periph(AT91_PIO_PORTE, 27, 0); /* LCDD22 */ ++ at91_set_c_periph(AT91_PIO_PORTE, 28, 0); /* LCDD23 */ ++ ++ /* Configure lower 16 bit of LCD and enable clock */ ++ at91_lcd_hw_init(); ++} ++ ++#ifdef CONFIG_LCD_INFO ++#include ++#include ++ ++void lcd_show_board_info(void) ++{ ++ ulong dram_size; ++ uint64_t nand_size; ++ int i; ++ char temp[32]; ++ ++ lcd_printf("%s\n", U_BOOT_VERSION); ++ lcd_printf("(C) 2013 ATMEL Corp\n"); ++ lcd_printf("at91@atmel.com\n"); ++ lcd_printf("%s CPU at %s MHz\n", get_cpu_name(), ++ strmhz(temp, get_cpu_clk_rate())); ++ ++ dram_size = 0; ++ for (i = 0; i < CONFIG_NR_DRAM_BANKS; i++) ++ dram_size += gd->bd->bi_dram[i].size; ++ ++ nand_size = 0; ++#ifdef CONFIG_NAND_ATMEL ++ for (i = 0; i < CONFIG_SYS_MAX_NAND_DEVICE; i++) ++ nand_size += nand_info[i].size; ++#endif ++ lcd_printf("%ld MB SDRAM, %lld MB NAND\n", ++ dram_size >> 20, nand_size >> 20); ++} ++#endif /* CONFIG_LCD_INFO */ ++#endif /* CONFIG_LCD */ ++ + int board_early_init_f(void) + { + at91_periph_clk_enable(ATMEL_ID_PIOA); +@@ -103,6 +180,10 @@ int board_init(void) + at91_gmac_hw_init(); + at91_macb_hw_init(); + #endif ++#ifdef CONFIG_LCD ++ if (has_lcdc()) ++ sama5d3_xplained_lcd_hw_init(); ++#endif + return 0; + } + +diff --git a/include/configs/at91-sama5_common.h b/include/configs/at91-sama5_common.h +index 9289964..0021bf9 100644 +--- a/include/configs/at91-sama5_common.h ++++ b/include/configs/at91-sama5_common.h +@@ -35,7 +35,7 @@ + /* general purpose I/O */ + #define CONFIG_AT91_GPIO + +-#define CONFIG_BOOTDELAY 3 ++#define CONFIG_BOOTDELAY 1 + + /* + * BOOTP options +@@ -56,9 +56,57 @@ + #define CONFIG_CMD_DHCP + + #ifdef CONFIG_SYS_USE_MMC +-#define CONFIG_BOOTARGS \ +- "console=ttyS0,115200 earlyprintk " \ +- "root=/dev/mmcblk0p2 rw rootwait" ++#define CONFIG_EXTRA_ENV_SETTINGS \ ++ "loadaddr=0x22000000\0" \ ++ "ftdaddr=0x21000000\0" \ ++ "bootfile=zImage\0" \ ++ "fdt_file=at91-sama5d3_xplained.dtb\0" \ ++ "fdt_dir=/dtbs\0" \ ++ "console=ttyS0,115200n8\0" \ ++ "optargs=\0" \ ++ "video=\0" \ ++ "mmcdev=0\0" \ ++ "mmcpart=1\0" \ ++ "mmcroot=/dev/mmcblk0p2 ro\0" \ ++ "mmcrootfstype=ext4 rootwait\0" \ ++ "mmcargs=setenv bootargs console=${console} " \ ++ "${optargs} " \ ++ "root=${mmcroot} " \ ++ "rootfstype=${mmcrootfstype}\0" \ ++ "video=${video}\0" \ ++ "loadbootenv=load mmc ${mmcdev}:${mmcpart} ${loadaddr} uEnv.txt\0" \ ++ "importbootenv=echo Importing environment from mmc (uEnv.txt)...; " \ ++ "env import -t $loadaddr $filesize\0" \ ++ "loadimage=load mmc ${mmcdev}:${mmcpart} ${loadaddr} zImage\0" \ ++ "validatefdt=" \ ++ "if test ! -e mmc ${mmcdev}:${mmcpart} ${fdt_dir}/${fdt_file}; then " \ ++ "echo warn: unable to find: [${fdt_file}] using: [at91-sama5d3_xplained.dtb] ...;" \ ++ "setenv fdt_file at91-sama5d3_xplained.dtb; " \ ++ "fi; \0" \ ++ "loadfdt=load mmc ${mmcdev}:${mmcpart} ${ftdaddr} ${fdt_dir}/${fdt_file}\0" \ ++ "mmcboot=echo Booting from mmc ...; " \ ++ "run mmcargs; " \ ++ "bootz ${loadaddr} - ${ftdaddr}\0" ++ ++#define CONFIG_BOOTCOMMAND \ ++ "mmc dev ${mmcdev};" \ ++ "if mmc rescan; then " \ ++ "echo SD/MMC found on device ${mmcdev};" \ ++ "if run loadbootenv; then " \ ++ "run importbootenv;" \ ++ "fi;" \ ++ "echo Checking if uenvcmd is set ...;" \ ++ "if test -n $uenvcmd; then " \ ++ "echo Running uenvcmd ...;" \ ++ "run uenvcmd;" \ ++ "fi;" \ ++ "echo Running default loadimage ...;" \ ++ "if run loadimage; then " \ ++ "run validatefdt;" \ ++ "run loadfdt;" \ ++ "run mmcboot;" \ ++ "fi;" \ ++ "fi;" + #else + #define CONFIG_BOOTARGS \ + "console=ttyS0,115200 earlyprintk " \ +diff --git a/include/configs/sama5d3_xplained.h b/include/configs/sama5d3_xplained.h +index c4141a0..36ffbd5 100644 +--- a/include/configs/sama5d3_xplained.h ++++ b/include/configs/sama5d3_xplained.h +@@ -71,6 +71,21 @@ + #define CONFIG_CMD_UBIFS + #endif + ++/* LCD */ ++#define CONFIG_LCD ++#define LCD_BPP LCD_COLOR16 ++#define LCD_OUTPUT_BPP 24 ++#define CONFIG_LCD_LOGO ++#define CONFIG_LCD_INFO ++#define CONFIG_LCD_INFO_BELOW_LOGO ++#define CONFIG_SYS_WHITE_ON_BLACK ++#define CONFIG_ATMEL_HLCD ++#define CONFIG_ATMEL_LCD_RGB565 ++#define CONFIG_SYS_CONSOLE_IS_IN_ENV ++ ++/* board specific (not enough SRAM) */ ++#define CONFIG_SAMA5D3_LCD_BASE 0x23E00000 ++ + /* Ethernet Hardware */ + #define CONFIG_MACB + #define CONFIG_RMII +@@ -108,8 +123,14 @@ + #if defined(CONFIG_CMD_USB) || defined(CONFIG_CMD_MMC) + #define CONFIG_CMD_FAT + #define CONFIG_FAT_WRITE ++#define CONFIG_CMD_EXT2 + #define CONFIG_CMD_EXT4 + #define CONFIG_CMD_EXT4_WRITE ++#define CONFIG_CMD_FS_GENERIC ++ ++/* bootz: zImage/initrd.img support */ ++#define CONFIG_CMD_BOOTZ ++#define CONFIG_SUPPORT_RAW_INITRD + #endif + + #define CONFIG_SYS_LOAD_ADDR 0x22000000 /* load address */ +@@ -130,9 +151,6 @@ + #define FAT_ENV_FILE "uboot.env" + #define FAT_ENV_DEVICE_AND_PART "0" + #define CONFIG_ENV_SIZE 0x4000 +-#define CONFIG_BOOTCOMMAND "fatload mmc 0:1 0x21000000 at91-sama5d3_xplained.dtb; " \ +- "fatload mmc 0:1 0x22000000 zImage; " \ +- "bootz 0x22000000 - 0x21000000" + #else + #define CONFIG_ENV_IS_NOWHERE + #endif +-- +2.1.4 + diff --git a/v2015.07-rc2/0001-sama5d3xek-uEnv.txt-bootz-n-fixes.patch b/v2015.07-rc2/0001-sama5d3xek-uEnv.txt-bootz-n-fixes.patch new file mode 100644 index 0000000..2a5c0b5 --- /dev/null +++ b/v2015.07-rc2/0001-sama5d3xek-uEnv.txt-bootz-n-fixes.patch @@ -0,0 +1,109 @@ +From fd063d506d48c80634fc37797db8cbd3363f365d Mon Sep 17 00:00:00 2001 +From: Robert Nelson +Date: Wed, 3 Jun 2015 15:07:26 -0500 +Subject: [PATCH] sama5d3xek: uEnv.txt, bootz, n fixes + +Signed-off-by: Robert Nelson +--- + include/configs/at91-sama5_common.h | 49 ++++++++++++++++++++++++++++++++++--- + include/configs/sama5d3xek.h | 10 +++++--- + 2 files changed, 52 insertions(+), 7 deletions(-) + +diff --git a/include/configs/at91-sama5_common.h b/include/configs/at91-sama5_common.h +index 9289964..03a86cc 100644 +--- a/include/configs/at91-sama5_common.h ++++ b/include/configs/at91-sama5_common.h +@@ -35,7 +35,7 @@ + /* general purpose I/O */ + #define CONFIG_AT91_GPIO + +-#define CONFIG_BOOTDELAY 3 ++#define CONFIG_BOOTDELAY 1 + + /* + * BOOTP options +@@ -56,9 +56,50 @@ + #define CONFIG_CMD_DHCP + + #ifdef CONFIG_SYS_USE_MMC +-#define CONFIG_BOOTARGS \ +- "console=ttyS0,115200 earlyprintk " \ +- "root=/dev/mmcblk0p2 rw rootwait" ++#define CONFIG_EXTRA_ENV_SETTINGS \ ++ "loadaddr=0x22000000\0" \ ++ "ftdaddr=0x21000000\0" \ ++ "bootfile=zImage\0" \ ++ "fdt_file=/dtbs/sama5d34ek.dtb\0" \ ++ "console=ttyS0,115200n8\0" \ ++ "optargs=\0" \ ++ "video=\0" \ ++ "mmcdev=0\0" \ ++ "mmcpart=1\0" \ ++ "mmcroot=/dev/mmcblk0p2 ro\0" \ ++ "mmcrootfstype=ext4 rootwait\0" \ ++ "mmcargs=setenv bootargs console=${console} " \ ++ "${optargs} " \ ++ "root=${mmcroot} " \ ++ "rootfstype=${mmcrootfstype}\0" \ ++ "video=${video}\0" \ ++ "loadbootenv=load mmc ${mmcdev}:${mmcpart} ${loadaddr} uEnv.txt\0" \ ++ "importbootenv=echo Importing environment from mmc (uEnv.txt)...; " \ ++ "env import -t $loadaddr $filesize\0" \ ++ "loadzimage=load mmc ${mmcdev}:${mmcpart} ${loadaddr} zImage\0" \ ++ "loadfdt=load mmc ${mmcdev}:${mmcpart} ${ftdaddr} ${fdt_file}\0" \ ++ "mmcboot=echo Booting from mmc ...; " \ ++ "run mmcargs; " \ ++ "bootz ${loadaddr} - ${ftdaddr}\0" ++ ++#define CONFIG_BOOTCOMMAND \ ++ "mmc dev ${mmcdev};" \ ++ "if mmc rescan; then " \ ++ "echo SD/MMC found on device ${mmcdev};" \ ++ "if run loadbootenv; then " \ ++ "run importbootenv;" \ ++ "fi;" \ ++ "echo Checking if uenvcmd is set ...;" \ ++ "if test -n $uenvcmd; then " \ ++ "echo Running uenvcmd ...;" \ ++ "run uenvcmd;" \ ++ "fi;" \ ++ "echo Running default loadzimage ...;" \ ++ "if run loadzimage; then " \ ++ "run loadfdt;" \ ++ "run mmcboot;" \ ++ "fi;" \ ++ "fi;" + #else + #define CONFIG_BOOTARGS \ + "console=ttyS0,115200 earlyprintk " \ +diff --git a/include/configs/sama5d3xek.h b/include/configs/sama5d3xek.h +index d933a9e..3ea49c9 100644 +--- a/include/configs/sama5d3xek.h ++++ b/include/configs/sama5d3xek.h +@@ -150,6 +150,13 @@ + #if defined(CONFIG_CMD_USB) || defined(CONFIG_CMD_MMC) + #define CONFIG_CMD_FAT + #define CONFIG_FAT_WRITE ++#define CONFIG_CMD_EXT2 ++#define CONFIG_CMD_EXT4 ++#define CONFIG_CMD_FS_GENERIC ++ ++/* bootz: zImage/initrd.img support */ ++#define CONFIG_CMD_BOOTZ ++#define CONFIG_SUPPORT_RAW_INITRD + #endif + + #define CONFIG_SYS_LOAD_ADDR 0x22000000 /* load address */ +@@ -179,9 +186,6 @@ + #define FAT_ENV_FILE "uboot.env" + #define FAT_ENV_DEVICE_AND_PART "0" + #define CONFIG_ENV_SIZE 0x4000 +-#define CONFIG_BOOTCOMMAND "fatload mmc 0:1 0x21000000 dtb; " \ +- "fatload mmc 0:1 0x22000000 uImage; " \ +- "bootm 0x22000000 - 0x21000000" + #else + #define CONFIG_ENV_IS_NOWHERE + #endif +-- +2.1.4 + diff --git a/v2015.07-rc2/0001-sama5d4ek-uEnv.txt-bootz-n-fixes.patch b/v2015.07-rc2/0001-sama5d4ek-uEnv.txt-bootz-n-fixes.patch new file mode 100644 index 0000000..7d8fa99 --- /dev/null +++ b/v2015.07-rc2/0001-sama5d4ek-uEnv.txt-bootz-n-fixes.patch @@ -0,0 +1,111 @@ +From 914b65ce5b59918dc64fac032bec13c985daf4d0 Mon Sep 17 00:00:00 2001 +From: Robert Nelson +Date: Wed, 3 Jun 2015 15:59:05 -0500 +Subject: [PATCH] sama5d4ek: uEnv.txt, bootz, n fixes + +Signed-off-by: Robert Nelson +--- + include/configs/at91-sama5_common.h | 49 ++++++++++++++++++++++++++++++++++--- + include/configs/sama5d4ek.h | 12 ++++++--- + 2 files changed, 54 insertions(+), 7 deletions(-) + +diff --git a/include/configs/at91-sama5_common.h b/include/configs/at91-sama5_common.h +index 9289964..af65566 100644 +--- a/include/configs/at91-sama5_common.h ++++ b/include/configs/at91-sama5_common.h +@@ -35,7 +35,7 @@ + /* general purpose I/O */ + #define CONFIG_AT91_GPIO + +-#define CONFIG_BOOTDELAY 3 ++#define CONFIG_BOOTDELAY 1 + + /* + * BOOTP options +@@ -56,9 +56,50 @@ + #define CONFIG_CMD_DHCP + + #ifdef CONFIG_SYS_USE_MMC +-#define CONFIG_BOOTARGS \ +- "console=ttyS0,115200 earlyprintk " \ +- "root=/dev/mmcblk0p2 rw rootwait" ++#define CONFIG_EXTRA_ENV_SETTINGS \ ++ "loadaddr=0x22000000\0" \ ++ "ftdaddr=0x21000000\0" \ ++ "bootfile=zImage\0" \ ++ "fdt_file=/dtbs/at91-sama5d4ek.dtb\0" \ ++ "console=ttyS0,115200n8\0" \ ++ "optargs=\0" \ ++ "video=\0" \ ++ "mmcdev=0\0" \ ++ "mmcpart=1\0" \ ++ "mmcroot=/dev/mmcblk0p2 ro\0" \ ++ "mmcrootfstype=ext4 rootwait\0" \ ++ "mmcargs=setenv bootargs console=${console} " \ ++ "${optargs} " \ ++ "root=${mmcroot} " \ ++ "rootfstype=${mmcrootfstype}\0" \ ++ "video=${video}\0" \ ++ "loadbootenv=load mmc ${mmcdev}:${mmcpart} ${loadaddr} uEnv.txt\0" \ ++ "importbootenv=echo Importing environment from mmc (uEnv.txt)...; " \ ++ "env import -t $loadaddr $filesize\0" \ ++ "loadzimage=load mmc ${mmcdev}:${mmcpart} ${loadaddr} zImage\0" \ ++ "loadfdt=load mmc ${mmcdev}:${mmcpart} ${ftdaddr} ${fdt_file}\0" \ ++ "mmcboot=echo Booting from mmc ...; " \ ++ "run mmcargs; " \ ++ "bootz ${loadaddr} - ${ftdaddr}\0" ++ ++#define CONFIG_BOOTCOMMAND \ ++ "mmc dev ${mmcdev};" \ ++ "if mmc rescan; then " \ ++ "echo SD/MMC found on device ${mmcdev};" \ ++ "if run loadbootenv; then " \ ++ "run importbootenv;" \ ++ "fi;" \ ++ "echo Checking if uenvcmd is set ...;" \ ++ "if test -n $uenvcmd; then " \ ++ "echo Running uenvcmd ...;" \ ++ "run uenvcmd;" \ ++ "fi;" \ ++ "echo Running default loadzimage ...;" \ ++ "if run loadzimage; then " \ ++ "run loadfdt;" \ ++ "run mmcboot;" \ ++ "fi;" \ ++ "fi;" + #else + #define CONFIG_BOOTARGS \ + "console=ttyS0,115200 earlyprintk " \ +diff --git a/include/configs/sama5d4ek.h b/include/configs/sama5d4ek.h +index 546d7a3..5d8185f 100644 +--- a/include/configs/sama5d4ek.h ++++ b/include/configs/sama5d4ek.h +@@ -95,6 +95,15 @@ + #if defined(CONFIG_CMD_USB) || defined(CONFIG_CMD_MMC) + #define CONFIG_CMD_FAT + #define CONFIG_DOS_PARTITION ++ ++#define CONFIG_CMD_EXT2 ++#define CONFIG_CMD_EXT4 ++#define CONFIG_CMD_EXT4_WRITE ++#define CONFIG_CMD_FS_GENERIC ++ ++#define CONFIG_CMD_BOOTZ ++#define CONFIG_SUPPORT_RAW_INITRD ++ + #endif + + /* Ethernet Hardware */ +@@ -149,9 +158,6 @@ + #define FAT_ENV_DEVICE_AND_PART "0" + #define FAT_ENV_FILE "uboot.env" + #define CONFIG_ENV_SIZE 0x4000 +-#define CONFIG_BOOTCOMMAND "fatload mmc 0:1 0x21000000 sama5d4ek.dtb; " \ +- "fatload mmc 0:1 0x22000000 zImage; " \ +- "bootz 0x22000000 - 0x21000000" + #endif + + /* SPL */ +-- +2.1.4 + diff --git a/v2015.07-rc2/0001-udoo-uEnv.txt-bootz-n-fixes.patch b/v2015.07-rc2/0001-udoo-uEnv.txt-bootz-n-fixes.patch new file mode 100644 index 0000000..42e2a9d --- /dev/null +++ b/v2015.07-rc2/0001-udoo-uEnv.txt-bootz-n-fixes.patch @@ -0,0 +1,393 @@ +From 39f7bf700d6ffbee00f7d3d33f61732e40afde14 Mon Sep 17 00:00:00 2001 +From: Robert Nelson +Date: Wed, 27 May 2015 10:43:18 -0500 +Subject: [PATCH] udoo: uEnv.txt, bootz, n fixes + +Signed-off-by: Robert Nelson +--- + board/udoo/1066mhz_4x256mx16_dl.cfg | 58 ++++++++++++++++ + board/udoo/ddr-setup_dl.cfg | 84 +++++++++++++++++++++++ + board/udoo/udoo-dl.cfg | 29 ++++++++ + configs/udoo_dl_defconfig | 3 + + include/configs/udoo.h | 133 +++++++++++++++++++++++++++++++----- + 5 files changed, 290 insertions(+), 17 deletions(-) + create mode 100644 board/udoo/1066mhz_4x256mx16_dl.cfg + create mode 100644 board/udoo/ddr-setup_dl.cfg + create mode 100644 board/udoo/udoo-dl.cfg + create mode 100644 configs/udoo_dl_defconfig + +diff --git a/board/udoo/1066mhz_4x256mx16_dl.cfg b/board/udoo/1066mhz_4x256mx16_dl.cfg +new file mode 100644 +index 0000000..e37c9f9 +--- /dev/null ++++ b/board/udoo/1066mhz_4x256mx16_dl.cfg +@@ -0,0 +1,58 @@ ++/* ++ * Copyright (C) 2013 Seco USA Inc ++ * ++ * SPDX-License-Identifier: GPL-2.0+ ++ */ ++ ++ ++DATA 4, MX6_MMDC_P0_MDPDC, 0x0002002D ++DATA 4, MX6_MMDC_P0_MDOTC, 0x00333040 ++ ++DATA 4, MX6_MMDC_P0_MDCFG0, 0x3F4352F3 ++DATA 4, MX6_MMDC_P0_MDCFG1, 0xB66D8B63 ++DATA 4, MX6_MMDC_P0_MDCFG2, 0x01FF00DB ++ ++DATA 4, MX6_MMDC_P0_MDMISC, 0x00001740 ++DATA 4, MX6_MMDC_P0_MDSCR, 0x00008000 ++DATA 4, MX6_MMDC_P0_MDRWD, 0x000026D2 ++ ++ ++DATA 4, MX6_MMDC_P0_MDOR, 0x00431023 ++DATA 4, MX6_MMDC_P0_MDASP, 0x00000027 ++DATA 4, MX6_MMDC_P0_MDCTL, 0x831A0000 ++ ++DATA 4, MX6_MMDC_P0_MDSCR, 0x02008032 ++DATA 4, MX6_MMDC_P0_MDSCR, 0x00008033 ++DATA 4, MX6_MMDC_P0_MDSCR, 0x00048031 ++DATA 4, MX6_MMDC_P0_MDSCR, 0x05208030 ++DATA 4, MX6_MMDC_P0_MDSCR, 0x04008040 ++ ++DATA 4, MX6_MMDC_P0_MPZQHWCTRL, 0xa1390003 ++DATA 4, MX6_MMDC_P1_MPZQHWCTRL, 0xa1390003 ++ ++DATA 4, MX6_MMDC_P0_MDREF, 0x00007800 ++ ++DATA 4, MX6_MMDC_P0_MPODTCTRL, 0x00022227 ++DATA 4, MX6_MMDC_P1_MPODTCTRL, 0x00022227 ++ ++DATA 4, MX6_MMDC_P0_MPDGCTRL0, 0x425C0251 ++DATA 4, MX6_MMDC_P0_MPDGCTRL1, 0x021B021E ++DATA 4, MX6_MMDC_P1_MPDGCTRL0, 0x021B021E ++DATA 4, MX6_MMDC_P1_MPDGCTRL1, 0x01730200 ++ ++DATA 4, MX6_MMDC_P0_MPRDDLCTL, 0x45474C45 ++DATA 4, MX6_MMDC_P1_MPRDDLCTL, 0x44464744 ++DATA 4, MX6_MMDC_P0_MPWRDLCTL, 0x3F3F3336 ++DATA 4, MX6_MMDC_P1_MPWRDLCTL, 0x32383630 ++ ++DATA 4, MX6_MMDC_P0_MPWLDECTRL0, 0x002F0038 ++DATA 4, MX6_MMDC_P0_MPWLDECTRL1, 0x001F001F ++DATA 4, MX6_MMDC_P1_MPWLDECTRL0, 0x001F001F ++DATA 4, MX6_MMDC_P1_MPWLDECTRL1, 0x001F001F ++ ++DATA 4, MX6_MMDC_P0_MPMUR0, 0x00000000 ++DATA 4, MX6_MMDC_P1_MPMUR0, 0x00000000 ++ ++DATA 4, MX6_MMDC_P0_MDPDC, 0x0002556D ++DATA 4, MX6_MMDC_P0_MAPSR, 0x00011006 ++DATA 4, MX6_MMDC_P0_MDSCR, 0x00000000 +diff --git a/board/udoo/ddr-setup_dl.cfg b/board/udoo/ddr-setup_dl.cfg +new file mode 100644 +index 0000000..487570e +--- /dev/null ++++ b/board/udoo/ddr-setup_dl.cfg +@@ -0,0 +1,84 @@ ++/* ++ * Copyright (C) 2013 Seco USA Inc ++ * ++ * SPDX-License-Identifier: GPL-2.0+ ++ * ++ * Device Configuration Data (DCD) ++ * ++ * Each entry must have the format: ++ * Addr-type Address Value ++ * ++ * where: ++ * Addr-type register length (1,2 or 4 bytes) ++ * Address absolute address of the register ++ * value value to be stored in the register ++ */ ++ ++/* ++ * DDR3 settings ++ * MX6Q ddr is limited to 1066 Mhz currently 1056 MHz(528 MHz clock), ++ * memory bus width: 64 bits x16/x32/x64 ++ * MX6DL ddr is limited to 800 MHz(400 MHz clock) ++ * memory bus width: 64 bits x16/x32/x64 ++ * MX6SOLO ddr is limited to 800 MHz(400 MHz clock) ++ * memory bus width: 32 bits x16/x32 ++ */ ++DATA 4, MX6_IOM_DRAM_SDQS0, 0x00000028 ++DATA 4, MX6_IOM_DRAM_SDQS1, 0x00000028 ++DATA 4, MX6_IOM_DRAM_SDQS2, 0x00000028 ++DATA 4, MX6_IOM_DRAM_SDQS3, 0x00000028 ++DATA 4, MX6_IOM_DRAM_SDQS4, 0x00000028 ++DATA 4, MX6_IOM_DRAM_SDQS5, 0x00000028 ++DATA 4, MX6_IOM_DRAM_SDQS6, 0x00000028 ++DATA 4, MX6_IOM_DRAM_SDQS7, 0x00000028 ++ ++DATA 4, MX6_IOM_GRP_B0DS, 0x00000028 ++DATA 4, MX6_IOM_GRP_B1DS, 0x00000028 ++DATA 4, MX6_IOM_GRP_B2DS, 0x00000028 ++DATA 4, MX6_IOM_GRP_B3DS, 0x00000028 ++DATA 4, MX6_IOM_GRP_B4DS, 0x00000028 ++DATA 4, MX6_IOM_GRP_B5DS, 0x00000028 ++DATA 4, MX6_IOM_GRP_B6DS, 0x00000028 ++DATA 4, MX6_IOM_GRP_B7DS, 0x00000028 ++DATA 4, MX6_IOM_GRP_ADDDS, 0x00000028 ++ ++DATA 4, MX6_IOM_GRP_CTLDS, 0x00000028 ++ ++DATA 4, MX6_IOM_DRAM_DQM0, 0x00000028 ++DATA 4, MX6_IOM_DRAM_DQM1, 0x00000028 ++DATA 4, MX6_IOM_DRAM_DQM2, 0x00000028 ++DATA 4, MX6_IOM_DRAM_DQM3, 0x00000028 ++DATA 4, MX6_IOM_DRAM_DQM4, 0x00000028 ++DATA 4, MX6_IOM_DRAM_DQM5, 0x00000028 ++DATA 4, MX6_IOM_DRAM_DQM6, 0x00000028 ++DATA 4, MX6_IOM_DRAM_DQM7, 0x00000028 ++ ++DATA 4, MX6_IOM_DRAM_CAS, 0x00000028 ++DATA 4, MX6_IOM_DRAM_RAS, 0x00000028 ++DATA 4, MX6_IOM_DRAM_SDCLK_0, 0x00000028 ++DATA 4, MX6_IOM_DRAM_SDCLK_1, 0x00000028 ++ ++DATA 4, MX6_IOM_DRAM_RESET, 0x00000028 ++ ++DATA 4, MX6_IOM_DRAM_SDODT0, 0x00000028 ++DATA 4, MX6_IOM_DRAM_SDODT1, 0x00000028 ++ ++/* (differential input) */ ++DATA 4, MX6_IOM_DDRMODE_CTL, 0x00020000 ++/* (differential input) */ ++DATA 4, MX6_IOM_GRP_DDRMODE, 0x00020000 ++/* disable ddr pullups */ ++DATA 4, MX6_IOM_GRP_DDRPKE, 0x00000000 ++DATA 4, MX6_IOM_DRAM_SDBA2, 0x00000000 ++/* 40 Ohm drive strength for cs0/1,sdba2,cke0/1,sdwe */ ++DATA 4, MX6_IOM_GRP_DDR_TYPE, 0x000C0000 ++ ++/* Read data DQ Byte0-3 delay */ ++DATA 4, MX6_MMDC_P0_MPRDDQBY0DL, 0x33333333 ++DATA 4, MX6_MMDC_P0_MPRDDQBY1DL, 0x33333333 ++DATA 4, MX6_MMDC_P0_MPRDDQBY2DL, 0x33333333 ++DATA 4, MX6_MMDC_P0_MPRDDQBY3DL, 0x33333333 ++DATA 4, MX6_MMDC_P1_MPRDDQBY0DL, 0x33333333 ++DATA 4, MX6_MMDC_P1_MPRDDQBY1DL, 0x33333333 ++DATA 4, MX6_MMDC_P1_MPRDDQBY2DL, 0x33333333 ++DATA 4, MX6_MMDC_P1_MPRDDQBY3DL, 0x33333333 +diff --git a/board/udoo/udoo-dl.cfg b/board/udoo/udoo-dl.cfg +new file mode 100644 +index 0000000..46953c1 +--- /dev/null ++++ b/board/udoo/udoo-dl.cfg +@@ -0,0 +1,29 @@ ++/* ++ * Copyright (C) 2013 Boundary Devices ++ * ++ * SPDX-License-Identifier: GPL-2.0+ ++ * ++ * Refer doc/README.imximage for more details about how-to configure ++ * and create imximage boot image ++ * ++ * The syntax is taken as close as possible with the kwbimage ++ */ ++ ++/* image version */ ++IMAGE_VERSION 2 ++ ++/* ++ * Boot Device : one of ++ * spi, sd (the board has no nand neither onenand) ++ */ ++BOOT_FROM sd ++ ++#define __ASSEMBLY__ ++#include ++#include "asm/arch/mx6-ddr.h" ++#include "asm/arch/iomux.h" ++#include "asm/arch/crm_regs.h" ++ ++#include "ddr-setup_dl.cfg" ++#include "1066mhz_4x256mx16_dl.cfg" ++#include "clocks.cfg" +diff --git a/configs/udoo_dl_defconfig b/configs/udoo_dl_defconfig +new file mode 100644 +index 0000000..a76f6f5 +--- /dev/null ++++ b/configs/udoo_dl_defconfig +@@ -0,0 +1,3 @@ ++CONFIG_ARM=y ++CONFIG_TARGET_UDOO=y ++CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/udoo/udoo-dl.cfg,MX6DL,DDR_MB=1024" +diff --git a/include/configs/udoo.h b/include/configs/udoo.h +index fce2b9b..dddcc0c 100644 +--- a/include/configs/udoo.h ++++ b/include/configs/udoo.h +@@ -65,17 +65,21 @@ + #define CONFIG_EXTRA_ENV_SETTINGS \ + "script=boot.scr\0" \ + "image=zImage\0" \ +- "console=ttymxc1\0" \ ++ "console=ttymxc1,115200\0" \ + "splashpos=m,m\0" \ + "fdt_high=0xffffffff\0" \ + "initrd_high=0xffffffff\0" \ + "fdt_file=" CONFIG_DEFAULT_FDT_FILE "\0" \ + "fdt_addr=0x18000000\0" \ ++ "rdaddr=0x12A00000\0" \ + "boot_fdt=try\0" \ + "ip_dyn=yes\0" \ ++ "optargs=\0" \ ++ "cmdline=\0" \ + "mmcdev=0\0" \ + "mmcpart=1\0" \ +- "mmcroot=/dev/mmcblk0p2 rootwait rw\0" \ ++ "mmcroot=/dev/mmcblk0p2 ro\0" \ ++ "mmcrootfstype=ext4 rootwait\0" \ + "update_sd_firmware_filename=u-boot.imx\0" \ + "update_sd_firmware=" \ + "if test ${ip_dyn} = yes; then " \ +@@ -90,15 +94,55 @@ + "mmc write ${loadaddr} 0x2 ${fw_sz}; " \ + "fi; " \ + "fi\0" \ +- "mmcargs=setenv bootargs console=${console},${baudrate} " \ +- "root=${mmcroot}\0" \ ++ "mmcargs=setenv bootargs console=${console} " \ ++ "${optargs} " \ ++ "root=${mmcroot} " \ ++ "rootfstype=${mmcrootfstype} " \ ++ "${cmdline}\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 ...; " \ ++ "loadimage=load mmc ${bootpart} ${loadaddr} ${bootdir}/${bootfile}\0" \ ++ "loadrd=load mmc ${bootpart} ${rdaddr} ${bootdir}/${rdfile}; setenv rdsize ${filesize}\0" \ ++ "loadfdt=echo loading ${fdtdir}/${fdt_file} ...; load mmc ${bootpart} ${fdt_addr} ${fdtdir}/${fdt_file}\0" \ ++ "mmcboot=mmc dev ${mmcdev}; " \ ++ "if mmc rescan; then " \ ++ "echo SD/MMC found on device ${mmcdev};" \ ++ "setenv bootpart ${mmcdev}:1; " \ ++ "echo Checking for: /uEnv.txt ...;" \ ++ "if test -e mmc ${bootpart} /uEnv.txt; then " \ ++ "load mmc ${bootpart} ${loadaddr} /uEnv.txt;" \ ++ "env import -t ${loadaddr} ${filesize};" \ ++ "echo Loaded environment from /uEnv.txt;" \ ++ "echo Checking if uenvcmd is set ...;" \ ++ "if test -n ${uenvcmd}; then " \ ++ "echo Running uenvcmd ...;" \ ++ "run uenvcmd;" \ ++ "fi;" \ ++ "fi; " \ ++ "echo Checking for: /boot/uEnv.txt ...;" \ ++ "for i in 1 2 3 4 5 6 7 ; do " \ ++ "setenv mmcpart ${i};" \ ++ "setenv bootpart ${mmcdev}:${mmcpart};" \ ++ "if test -e mmc ${bootpart} /boot/uEnv.txt; then " \ ++ "load mmc ${bootpart} ${loadaddr} /boot/uEnv.txt;" \ ++ "env import -t ${loadaddr} ${filesize};" \ ++ "echo Loaded environment from /boot/uEnv.txt;" \ ++ "if test -n ${dtb}; then " \ ++ "setenv fdt_file ${dtb};" \ ++ "echo Using: dtb=${fdt_file} ...;" \ ++ "fi;" \ ++ "echo Checking if uname_r is set in /boot/uEnv.txt...;" \ ++ "if test -n ${uname_r}; then " \ ++ "echo Running uname_boot ...;" \ ++ "setenv mmcroot /dev/mmcblk${mmcdev}p${mmcpart} ro;" \ ++ "run uname_boot;" \ ++ "fi;" \ ++ "fi;" \ ++ "done;" \ ++ "fi;\0" \ ++ "mmcboot_old=echo Booting from mmc ...; " \ + "run mmcargs; " \ + "if test ${boot_fdt} = yes || test ${boot_fdt} = try; then " \ + "if run loadfdt; then " \ +@@ -136,19 +180,74 @@ + "fi; " \ + "else " \ + "bootz; " \ ++ "fi;\0" \ ++ "uname_boot="\ ++ "setenv bootdir /boot; " \ ++ "setenv bootfile vmlinuz-${uname_r}; " \ ++ "if test -e mmc ${bootpart} ${bootdir}/${bootfile}; then " \ ++ "echo loading ${bootdir}/${bootfile} ...; "\ ++ "run loadimage;" \ ++ "setenv fdtdir /boot/dtbs/${uname_r}; " \ ++ "if test -e mmc ${bootpart} ${fdtdir}/${fdt_file}; then " \ ++ "run loadfdt;" \ ++ "else " \ ++ "setenv fdtdir /usr/lib/linux-image-${uname_r}; " \ ++ "if test -e mmc ${bootpart} ${fdtdir}/${fdt_file}; then " \ ++ "run loadfdt;" \ ++ "else " \ ++ "setenv fdtdir /lib/firmware/${uname_r}/device-tree; " \ ++ "if test -e mmc ${bootpart} ${fdtdir}/${fdt_file}; then " \ ++ "run loadfdt;" \ ++ "else " \ ++ "setenv fdtdir /boot/dtb-${uname_r}; " \ ++ "if test -e mmc ${bootpart} ${fdtdir}/${fdt_file}; then " \ ++ "run loadfdt;" \ ++ "else " \ ++ "setenv fdtdir /boot/dtbs; " \ ++ "if test -e mmc ${bootpart} ${fdtdir}/${fdt_file}; then " \ ++ "run loadfdt;" \ ++ "else " \ ++ "setenv fdtdir /boot/dtb; " \ ++ "if test -e mmc ${bootpart} ${fdtdir}/${fdt_file}; then " \ ++ "run loadfdt;" \ ++ "else " \ ++ "setenv fdtdir /boot; " \ ++ "if test -e mmc ${bootpart} ${fdtdir}/${fdt_file}; 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;" \ ++ "fi;" \ ++ "fi;" \ ++ "fi;" \ ++ "fi;" \ ++ "fi;" \ ++ "fi; " \ ++ "setenv rdfile initrd.img-${uname_r}; " \ ++ "if test -e mmc ${bootpart} ${bootdir}/${rdfile}; then " \ ++ "echo loading ${bootdir}/${rdfile} ...; "\ ++ "run loadrd;" \ ++ "if test -n ${uuid}; then " \ ++ "setenv mmcroot UUID=${uuid} ro;" \ ++ "fi;" \ ++ "run mmcargs;" \ ++ "echo debug: [${bootargs}] ... ;" \ ++ "echo debug: [bootz ${loadaddr} ${rdaddr}:${rdsize} ${fdt_addr}] ... ;" \ ++ "bootz ${loadaddr} ${rdaddr}:${rdsize} ${fdt_addr}; " \ ++ "else " \ ++ "run mmcargs;" \ ++ "echo debug: [${bootargs}] ... ;" \ ++ "echo debug: [bootz ${loadaddr} - ${fdt_addr}] ... ;" \ ++ "bootz ${loadaddr} - ${fdt_addr}; " \ ++ "fi;" \ + "fi;\0" + + #define CONFIG_BOOTCOMMAND \ +- "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" ++ "run mmcboot; " + + /* Print Buffer Size */ + #define CONFIG_SYS_PBSIZE (CONFIG_SYS_CBSIZE + sizeof(CONFIG_SYS_PROMPT) + 16) +-- +2.1.4 + diff --git a/v2015.07-rc2/0001-vf610twr-uEnv.txt-bootz-n-fixes.patch b/v2015.07-rc2/0001-vf610twr-uEnv.txt-bootz-n-fixes.patch new file mode 100644 index 0000000..4b4b5dc --- /dev/null +++ b/v2015.07-rc2/0001-vf610twr-uEnv.txt-bootz-n-fixes.patch @@ -0,0 +1,157 @@ +From 825de6eedea030b353a4f15443224556b20a02e9 Mon Sep 17 00:00:00 2001 +From: Robert Nelson +Date: Tue, 2 Sep 2014 20:24:45 -0500 +Subject: [PATCH] vf610twr: uEnv.txt, bootz, n fixes + +Signed-off-by: Robert Nelson +--- + include/configs/vf610twr.h | 85 ++++++++++++++++++++++++++++++++++++---------- + 1 file changed, 67 insertions(+), 18 deletions(-) + +diff --git a/include/configs/vf610twr.h b/include/configs/vf610twr.h +index bd79e81..e94051a 100644 +--- a/include/configs/vf610twr.h ++++ b/include/configs/vf610twr.h +@@ -90,6 +90,9 @@ + #define CONFIG_CMD_MMC + #define CONFIG_GENERIC_MMC + #define CONFIG_CMD_FAT ++#define CONFIG_CMD_EXT2 ++#define CONFIG_CMD_EXT4 ++#define CONFIG_CMD_FS_GENERIC + #define CONFIG_DOS_PARTITION + + #define CONFIG_CMD_PING +@@ -122,7 +125,7 @@ + #define CONFIG_SYS_I2C_MXC + #define CONFIG_SYS_SPD_BUS_NUM 0 + +-#define CONFIG_BOOTDELAY 3 ++#define CONFIG_BOOTDELAY 1 + + #define CONFIG_LOADADDR 0x82000000 + +@@ -133,7 +136,7 @@ + #define CONFIG_EXTRA_ENV_SETTINGS \ + "script=boot.scr\0" \ + "image=zImage\0" \ +- "console=ttyLP1\0" \ ++ "console=ttyLP1,115200\0" \ + "fdt_high=0xffffffff\0" \ + "initrd_high=0xffffffff\0" \ + "fdt_file=vf610-twr.dtb\0" \ +@@ -142,7 +145,10 @@ + "ip_dyn=yes\0" \ + "mmcdev=" __stringify(CONFIG_SYS_MMC_ENV_DEV) "\0" \ + "mmcpart=1\0" \ +- "mmcroot=/dev/mmcblk0p2 rootwait rw\0" \ ++ "mmcroot=/dev/mmcblk0p2 ro\0" \ ++ "mmcrootfstype=ext4 rootwait\0" \ ++ "optargs=\0" \ ++ "cmdline=\0" \ + "update_sd_firmware_filename=u-boot.imx\0" \ + "update_sd_firmware=" \ + "if test ${ip_dyn} = yes; then " \ +@@ -157,15 +163,41 @@ + "mmc write ${loadaddr} 0x2 ${fw_sz}; " \ + "fi; " \ + "fi\0" \ +- "mmcargs=setenv bootargs console=${console},${baudrate} " \ +- "root=${mmcroot}\0" \ ++ "mmcargs=setenv bootargs console=${console} " \ ++ "${optargs} " \ ++ "root=${mmcroot} " \ ++ "rootfstype=${mmcrootfstype}\0" \ ++ "${cmdline}\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 ...; " \ ++ "loadimage=load mmc ${bootpart} ${loadaddr} ${bootdir}/${bootfile}\0" \ ++ "loadfdt=echo loading ${fdtdir}/${fdt_file} ...; load mmc ${bootpart} ${fdt_addr} ${fdtdir}/${fdt_file}\0" \ ++ "mmcboot=mmc dev ${mmcdev}; " \ ++ "if mmc rescan; then " \ ++ "echo Checking for: /boot/uEnv.txt ...;" \ ++ "for i in 1 2 3 4 5 6 7 ; do " \ ++ "setenv mmcpart ${i};" \ ++ "setenv bootpart ${mmcdev}:${mmcpart};" \ ++ "if test -e mmc ${bootpart} /boot/uEnv.txt; then " \ ++ "load mmc ${bootpart} ${loadaddr} /boot/uEnv.txt;" \ ++ "env import -t ${loadaddr} ${filesize};" \ ++ "echo Loaded environment from /boot/uEnv.txt;" \ ++ "if test -n ${dtb}; then " \ ++ "setenv fdt_file ${dtb};" \ ++ "echo Using: dtb=${fdt_file} ...;" \ ++ "fi;" \ ++ "echo Checking if uname_r is set in /boot/uEnv.txt...;" \ ++ "if test -n ${uname_r}; then " \ ++ "echo Running uname_boot ...;" \ ++ "setenv mmcroot /dev/mmcblk${mmcdev}p${mmcpart} ro;" \ ++ "run uname_boot;" \ ++ "fi;" \ ++ "fi;" \ ++ "done;" \ ++ "fi;\0" \ ++ "mmcboot_old=echo Booting from mmc ...; " \ + "run mmcargs; " \ + "if test ${boot_fdt} = yes || test ${boot_fdt} = try; then " \ + "if run loadfdt; then " \ +@@ -203,19 +235,35 @@ + "fi; " \ + "else " \ + "bootz; " \ ++ "fi;\0" \ ++ "uname_boot="\ ++ "setenv bootdir /boot; " \ ++ "setenv bootfile vmlinuz-${uname_r}; " \ ++ "if test -e mmc ${bootpart} ${bootdir}/${bootfile}; then " \ ++ "echo loading ${bootdir}/${bootfile} ...; "\ ++ "run loadimage;" \ ++ "setenv fdtdir /boot/dtbs/${uname_r}; " \ ++ "if test -e mmc ${bootpart} ${fdtdir}/${fdt_file}; then " \ ++ "run loadfdt;" \ ++ "else " \ ++ "setenv fdtdir /usr/lib/linux-image-${uname_r}; " \ ++ "if test -e mmc ${bootpart} ${fdtdir}/${fdt_file}; then " \ ++ "run loadfdt;" \ ++ "else " \ ++ "setenv fdtdir /lib/firmware/${uname_r}/device-tree; " \ ++ "if test -e mmc ${bootpart} ${fdtdir}/${fdt_file}; then " \ ++ "run loadfdt;" \ ++ "fi;" \ ++ "fi;" \ ++ "fi; " \ ++ "run mmcargs;" \ ++ "echo debug: [${bootargs}] ... ;" \ ++ "echo debug: [bootz ${loadaddr} - ${fdt_addr}] ... ;" \ ++ "bootz ${loadaddr} - ${fdt_addr}; " \ + "fi;\0" + + #define CONFIG_BOOTCOMMAND \ +- "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" ++ "run mmcboot;" + + /* Miscellaneous configurable options */ + #define CONFIG_SYS_LONGHELP /* undef to save memory */ +@@ -273,5 +321,6 @@ + + #define CONFIG_OF_LIBFDT + #define CONFIG_CMD_BOOTZ ++#define CONFIG_SUPPORT_RAW_INITRD + + #endif +-- +2.1.4 + diff --git a/v2015.07-rc2/0001-wandboard-uEnv.txt-bootz-n-fixes.patch b/v2015.07-rc2/0001-wandboard-uEnv.txt-bootz-n-fixes.patch new file mode 100644 index 0000000..7822ff0 --- /dev/null +++ b/v2015.07-rc2/0001-wandboard-uEnv.txt-bootz-n-fixes.patch @@ -0,0 +1,192 @@ +From fb889f128beda94f26218152d30c722fa03a33c8 Mon Sep 17 00:00:00 2001 +From: Robert Nelson +Date: Tue, 9 Jun 2015 08:56:54 -0500 +Subject: [PATCH] wandboard: uEnv.txt, bootz, n fixes + +Signed-off-by: Robert Nelson +--- + include/configs/wandboard.h | 139 ++++++++++++++++++++++++++++++++++++++------ + 1 file changed, 122 insertions(+), 17 deletions(-) + +diff --git a/include/configs/wandboard.h b/include/configs/wandboard.h +index f05b55a..18e7f63 100644 +--- a/include/configs/wandboard.h ++++ b/include/configs/wandboard.h +@@ -93,17 +93,21 @@ + #define CONFIG_EXTRA_ENV_SETTINGS \ + "script=boot.scr\0" \ + "image=zImage\0" \ +- "console=ttymxc0\0" \ ++ "console=ttymxc0,115200\0" \ + "splashpos=m,m\0" \ + "fdtfile=undefined\0" \ + "fdt_high=0xffffffff\0" \ + "initrd_high=0xffffffff\0" \ ++ "rdaddr=0x12A00000\0" \ + "fdt_addr=0x18000000\0" \ + "boot_fdt=try\0" \ + "ip_dyn=yes\0" \ +- "mmcdev=" __stringify(CONFIG_SYS_MMC_ENV_DEV) "\0" \ ++ "optargs=\0" \ ++ "cmdline=\0" \ ++ "mmcdev=0\0" \ + "mmcpart=1\0" \ +- "mmcroot=/dev/mmcblk0p2 rootwait rw\0" \ ++ "mmcroot=/dev/mmcblk0p2 ro\0" \ ++ "mmcrootfstype=ext4 rootwait\0" \ + "update_sd_firmware_filename=u-boot.imx\0" \ + "update_sd_firmware=" \ + "if test ${ip_dyn} = yes; then " \ +@@ -118,8 +122,11 @@ + "mmc write ${loadaddr} 0x2 ${fw_sz}; " \ + "fi; " \ + "fi\0" \ +- "mmcargs=setenv bootargs console=${console},${baudrate} " \ +- "root=${mmcroot}; run videoargs\0" \ ++ "mmcargs=setenv bootargs console=${console} " \ ++ "${optargs} " \ ++ "root=${mmcroot} " \ ++ "rootfstype=${mmcrootfstype} " \ ++ "${cmdline}\0" \ + "videoargs=" \ + "setenv nextcon 0; " \ + "if hdmidet; then " \ +@@ -150,8 +157,110 @@ + "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} ${fdtfile}\0" \ ++ "loadimage=load mmc ${bootpart} ${loadaddr} ${bootdir}/${bootfile}\0" \ ++ "loadrd=load mmc ${bootpart} ${rdaddr} ${bootdir}/${rdfile}; setenv rdsize ${filesize}\0" \ ++ "loadfdt=echo loading ${fdtdir}/${fdtfile} ...; load mmc ${bootpart} ${fdt_addr} ${fdtdir}/${fdtfile}\0" \ ++ "mmcboot=mmc dev ${mmcdev}; " \ ++ "if mmc rescan; then " \ ++ "echo SD/MMC found on device ${mmcdev};" \ ++ "setenv bootpart ${mmcdev}:1; " \ ++ "echo Checking for: /uEnv.txt ...;" \ ++ "if test -e mmc ${bootpart} /uEnv.txt; then " \ ++ "load mmc ${bootpart} ${loadaddr} /uEnv.txt;" \ ++ "env import -t ${loadaddr} ${filesize};" \ ++ "echo Loaded environment from /uEnv.txt;" \ ++ "echo Checking if uenvcmd is set ...;" \ ++ "if test -n ${uenvcmd}; then " \ ++ "echo Running uenvcmd ...;" \ ++ "run uenvcmd;" \ ++ "fi;" \ ++ "fi; " \ ++ "echo Checking for: /boot/uEnv.txt ...;" \ ++ "for i in 1 2 3 4 5 6 7 ; do " \ ++ "setenv mmcpart ${i};" \ ++ "setenv bootpart ${mmcdev}:${mmcpart};" \ ++ "if test -e mmc ${bootpart} /boot/uEnv.txt; then " \ ++ "load mmc ${bootpart} ${loadaddr} /boot/uEnv.txt;" \ ++ "env import -t ${loadaddr} ${filesize};" \ ++ "echo Loaded environment from /boot/uEnv.txt;" \ ++ "if test -n ${dtb}; then " \ ++ "setenv fdtfile ${dtb};" \ ++ "echo Using: dtb=${fdtfile} ...;" \ ++ "fi;" \ ++ "echo Checking if uname_r is set in /boot/uEnv.txt...;" \ ++ "if test -n ${uname_r}; then " \ ++ "echo Running uname_boot ...;" \ ++ "setenv mmcroot /dev/mmcblk${mmckernel}p${mmcpart} ro;" \ ++ "run uname_boot;" \ ++ "fi;" \ ++ "fi;" \ ++ "done;" \ ++ "fi;\0" \ ++ "uname_boot="\ ++ "setenv bootdir /boot; " \ ++ "setenv bootfile vmlinuz-${uname_r}; " \ ++ "if test -e mmc ${bootpart} ${bootdir}/${bootfile}; then " \ ++ "echo loading ${bootdir}/${bootfile} ...; "\ ++ "run loadimage;" \ ++ "setenv fdtdir /boot/dtbs/${uname_r}; " \ ++ "if test -e mmc ${bootpart} ${fdtdir}/${fdtfile}; then " \ ++ "run loadfdt;" \ ++ "else " \ ++ "setenv fdtdir /usr/lib/linux-image-${uname_r}; " \ ++ "if test -e mmc ${bootpart} ${fdtdir}/${fdtfile}; then " \ ++ "run loadfdt;" \ ++ "else " \ ++ "setenv fdtdir /lib/firmware/${uname_r}/device-tree; " \ ++ "if test -e mmc ${bootpart} ${fdtdir}/${fdtfile}; then " \ ++ "run loadfdt;" \ ++ "else " \ ++ "setenv fdtdir /boot/dtb-${uname_r}; " \ ++ "if test -e mmc ${bootpart} ${fdtdir}/${fdtfile}; then " \ ++ "run loadfdt;" \ ++ "else " \ ++ "setenv fdtdir /boot/dtbs; " \ ++ "if test -e mmc ${bootpart} ${fdtdir}/${fdtfile}; then " \ ++ "run loadfdt;" \ ++ "else " \ ++ "setenv fdtdir /boot/dtb; " \ ++ "if test -e mmc ${bootpart} ${fdtdir}/${fdtfile}; then " \ ++ "run loadfdt;" \ ++ "else " \ ++ "setenv fdtdir /boot; " \ ++ "if test -e mmc ${bootpart} ${fdtdir}/${fdtfile}; then " \ ++ "run loadfdt;" \ ++ "else " \ ++ "echo; echo unable to find ${fdtfile} ...; echo booting legacy ...;"\ ++ "run mmcargs;" \ ++ "echo debug: [${bootargs}] ... ;" \ ++ "echo debug: [bootz ${loadaddr}] ... ;" \ ++ "bootz ${loadaddr}; " \ ++ "fi;" \ ++ "fi;" \ ++ "fi;" \ ++ "fi;" \ ++ "fi;" \ ++ "fi;" \ ++ "fi; " \ ++ "setenv rdfile initrd.img-${uname_r}; " \ ++ "if test -e mmc ${bootpart} ${bootdir}/${rdfile}; then " \ ++ "echo loading ${bootdir}/${rdfile} ...; "\ ++ "run loadrd;" \ ++ "if test -n ${uuid}; then " \ ++ "setenv mmcroot UUID=${uuid} ro;" \ ++ "fi;" \ ++ "run mmcargs;" \ ++ "echo debug: [${bootargs}] ... ;" \ ++ "echo debug: [bootz ${loadaddr} ${rdaddr}:${rdsize} ${fdt_addr}] ... ;" \ ++ "bootz ${loadaddr} ${rdaddr}:${rdsize} ${fdt_addr}; " \ ++ "else " \ ++ "run mmcargs;" \ ++ "echo debug: [${bootargs}] ... ;" \ ++ "echo debug: [bootz ${loadaddr} - ${fdt_addr}] ... ;" \ ++ "bootz ${loadaddr} - ${fdt_addr}; " \ ++ "fi;" \ ++ "fi;\0" \ ++ "mmcboot_old=echo Booting from mmc ...; " \ + "mmcboot=echo Booting from mmc ...; " \ + "run mmcargs; " \ + "if test ${boot_fdt} = yes || test ${boot_fdt} = try; then " \ +@@ -205,16 +314,12 @@ + + #define CONFIG_BOOTCOMMAND \ + "run findfdt; " \ +- "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" ++ "setenv mmcdev 0;" \ ++ "setenv mmckernel 0;" \ ++ "run mmcboot;" \ ++ "setenv mmcdev 1;" \ ++ "setenv mmckernel 0;" \ ++ "run mmcboot;" + + /* Physical Memory Map */ + #define CONFIG_NR_DRAM_BANKS 1 +-- +2.1.4 +