summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMax Krummenacher <max.krummenacher@toradex.com>2014-07-16 18:33:07 +0200
committerMax Krummenacher <max.krummenacher@toradex.com>2014-07-16 18:33:07 +0200
commit23aceeb5c1fd6b3956ffc38eadecbf901031529f (patch)
tree05a79dd897c662a61d7c3e87e4ee4a5fe19adb8a
parent88d60b1f647647dd58925285aa918ab21387e8c3 (diff)
apalis-imx6.h: add device tree booting
while at it - clean up environment variables and names - make setupdate work with both SD/MMC slots - add example for VDAC video out
-rw-r--r--include/configs/apalis-imx6.h94
1 files changed, 59 insertions, 35 deletions
diff --git a/include/configs/apalis-imx6.h b/include/configs/apalis-imx6.h
index 0ffb955973..dd9194c5b2 100644
--- a/include/configs/apalis-imx6.h
+++ b/include/configs/apalis-imx6.h
@@ -181,58 +181,82 @@
#define CONFIG_DRIVE_TYPES CONFIG_DRIVE_SATA CONFIG_DRIVE_MMC
-#define EMMC_BOOTCMD \
- "run setup; " \
- "setenv bootargs ${defargs} ${mmcargs} ${setupargs} " \
- "${vidargs};" \
- "echo Booting from internal eMMC chip...; " \
- "fatload mmc 0:1 10800000 uImage && bootm 10800000"
-#define NFS_BOOTCMD \
- "run setup; " \
- "setenv bootargs ${defargs} ${nfsargs} ${setupargs} " \
- "${vidargs}; " \
- "echo Booting via DHCP/TFTP/NFS...; " \
- "dhcp && bootm"
+#define EMMC_BOOTCMD \
+ "emmcargs=ip=off root=/dev/mmcblk0p2 rw,noatime rootfstype=ext3 " \
+ "rootwait\0" \
+ "emmcboot=run setup; " \
+ "setenv bootargs ${defargs} ${emmcargs} ${setupargs} " \
+ "${vidargs}; echo Booting from internal eMMC chip...; " \
+ "run emmcdtbload; fatload mmc 0:1 ${kernel_addr_r} " \
+ "${boot_file} && bootm ${kernel_addr_r} ${dtbparam}\0" \
+ "emmcdtbload=setenv dtbparam; fatload mmc 0:1 ${fdt_addr_r} " \
+ "${fdt_file} && setenv dtbparam \" - ${fdt_addr_r}\" && true\0"
+
+#define MEM_LAYOUT_ENV_SETTINGS \
+ "fdt_addr_r=0x12000000\0" \
+ "kernel_addr_r=0x10800000\0" \
+ "ramdisk_addr_r=0x10900000\0"
+
+#define NFS_BOOTCMD \
+ "nfsargs=ip=:::::eth0:on root=/dev/nfs rw netdevwait\0" \
+ "nfsboot=run setup; " \
+ "setenv bootargs ${defargs} ${nfsargs} ${setupargs} " \
+ "${vidargs}; echo Booting via DHCP/TFTP/NFS...; " \
+ "run nfsdtbload; dhcp ${kernel_addr_r} " \
+ "&& bootm ${kernel_addr_r} ${dtbparam}\0" \
+ "nfsdtbload=setenv dtbparam; tftp ${fdt_addr_r} ${fdt_file} " \
+ "&& setenv dtbparam \" - ${fdt_addr_r}\" && true\0"
+
#define SD_BOOTCMD \
- "run setup; " \
- "setenv bootargs ${defargs} ${mmcargs} ${setupargs} " \
- "${vidargs};" \
- "echo Booting from SD card in 8bit slot...; " \
- "fatload mmc 1:1 10800000 uImage && bootm 10800000"
+ "sdargs=ip=off root=/dev/mmcblk1p2 rw,noatime rootfstype=ext3 " \
+ "rootwait\0" \
+ "sdboot=" "run setup; " \
+ "setenv bootargs ${defargs} ${sdargs} ${setupargs} " \
+ "${vidargs}; echo Booting from SD card in 8bit slot...; " \
+ "run sddtbload; fatload mmc 1:1 ${kernel_addr_r} " \
+ "${boot_file} && bootm ${kernel_addr_r} ${dtbparam}\0" \
+ "sddtbload=setenv dtbparam; fatload mmc 1:1 ${fdt_addr_r} " \
+ "${fdt_file} && setenv dtbparam \" - ${fdt_addr_r}\" && true\0"
#define CONFIG_EXTRA_ENV_SETTINGS \
"bootcmd=run emmcboot ; echo ; echo emmcboot failed ; " \
"run nfsboot ; echo ; echo nfsboot failed ; " \
"usb start ;" \
"setenv stdout serial,vga ; setenv stdin serial,usbkbd\0" \
- "bootscript=fatload mmc 1:1 10008000 6x_bootscript && source 10008000\0" \
+ "boot_file=uImage\0" \
+ "bootscript=fatload mmc 1:1 ${kernel_addr_r} 6x_bootscript && " \
+ "source ${kernel_addr_r}\0" \
"console=ttymxc0\0" \
"defargs=enable_wait_mode=off vmalloc=400M\0" \
- "emmcboot=" EMMC_BOOTCMD "\0" \
- "mmcargs=ip=off root=/dev/mmcblk0p2 rw,noatime rootfstype=ext3 " \
- "rootwait\0" \
- "mmc_kernel_size=0x4000\0" \
- "nfsargs=ip=:::::eth0:on root=/dev/nfs rw netdevwait\0" \
- "nfsboot=" NFS_BOOTCMD "\0" \
- "sdboot=" SD_BOOTCMD "\0" \
+ EMMC_BOOTCMD \
+ "fdt_file=imx6q-apalis-eval.dtb\0" \
+ MEM_LAYOUT_ENV_SETTINGS \
+ NFS_BOOTCMD \
+ SD_BOOTCMD \
"setup=setenv setupargs fec_mac=${ethaddr} " \
"consoleblank=0 no_console_suspend=1 console=tty1 " \
- "console=ttymxc0,${baudrate}n8 " \
- "fbcon=map:1\0 " \
- "setupdate=fatload mmc 1:1 ${loadaddr} flash_mmc.img; source \0 " \
- "vidargs=video=mxcfb0:dev=hdmi,1920x1080M@60,if=RGB24 " \
+ "console=ttymxc0,${baudrate}n8\0 " \
+ "setupdate=setenv drive 1; fatload mmc ${drive}:1 ${kernel_addr_r} " \
+ "flash_mmc.img || setenv drive 2; fatload mmc ${drive}:1 " \
+ "${kernel_addr_r} flash_mmc.img && source ${kernel_addr_r}\0" \
+ "vidargs=mxc_hdmi.only_cea=1 " \
+ "video=mxcfb0:dev=hdmi,1920x1080M@60,if=RGB24 " \
"video=mxcfb1:off video=mxcfb2:off video=mxcfb3:off " \
"fbmem=32M\0 " \
- "vidargs_hdmi_lvds=video=mxcfb0:dev=hdmi,1920x1080M@60,if=RGB24 " \
- "video=mxcfb1:dev=ldb,LDB-LG_LP156WF1,if=RGB666,ldb=spl1 " \
- "video=mxcfb2:off video=mxcfb3:off " \
+ "vidargs_edt=video=mxcfb0:dev=lcd,EDT-WVGA,if=RGB24 " \
+ "video=mxcfb1:off video=mxcfb2:off video=mxcfb3:off" \
"fbmem=32M\0 " \
- "vidargs_hdmi_cea_only=mxc_hdmi.only_cea=1 video=mxcfb0:dev=hdmi,1920x1080M@60,if=RGB24 " \
+ "vidargs_hdmi_cea_only=mxc_hdmi.only_cea=1 " \
+ "video=mxcfb0:dev=hdmi,1920x1080M@60,if=RGB24 " \
"video=mxcfb1:off video=mxcfb2:off video=mxcfb3:off " \
"fbmem=32M\0 " \
- "vidargs_edt=video=mxcfb0:dev=lcd,EDT-WVGA,if=RGB24 " \
- "video=mxcfb1:off video=mxcfb2:off video=mxcfb3:off" \
+ "vidargs_hdmi_lvds=mxc_hdmi.only_cea=1 " \
+ "video=mxcfb0:dev=hdmi,1920x1080M@60,if=RGB24 " \
+ "video=mxcfb1:dev=ldb,LDB-LG_LP156WF1,if=RGB666 ldb=spl1 " \
+ "video=mxcfb2:off video=mxcfb3:off " \
"fbmem=32M\0 " \
+ "vidargs_vdac=video=mxcfb0:dev=vdac,1920x1080M@60,if=RGB565 " \
+ "video=mxcfb1:off video=mxcfb2:off video=mxcfb3:off fbmem=32M"
/* Miscellaneous configurable options */
#define CONFIG_SYS_LONGHELP