From 23aceeb5c1fd6b3956ffc38eadecbf901031529f Mon Sep 17 00:00:00 2001 From: Max Krummenacher Date: Wed, 16 Jul 2014 18:33:07 +0200 Subject: 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 --- include/configs/apalis-imx6.h | 94 +++++++++++++++++++++++++++---------------- 1 file 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 -- cgit v1.2.3