imx: cx9020: use distro boot
authorSteffen Dirkwinkel <s.dirkwinkel@beckhoff.com>
Wed, 23 Oct 2019 05:40:43 +0000 (07:40 +0200)
committerStefano Babic <sbabic@denx.de>
Tue, 7 Jan 2020 09:26:56 +0000 (10:26 +0100)
We switch from custom boot commands relying on uEnv.txt to distro boot.
This removes the automatic fpga bitstream loading in favor of loading
bitstreams via custom bootscripts (boot.scr) or after booting the
kernel.

Acked-by: Patrick Bruenn <p.bruenn@beckhoff.com>
Signed-off-by: Steffen Dirkwinkel <s.dirkwinkel@beckhoff.com>
configs/mx53cx9020_defconfig
include/configs/mx53cx9020.h

index e1126c5..cccafc5 100644 (file)
@@ -9,6 +9,7 @@ CONFIG_NR_DRAM_BANKS=2
 CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/beckhoff/mx53cx9020/imximage.cfg"
 CONFIG_BOOTDELAY=1
 CONFIG_USE_PREBOOT=y
+CONFIG_DISTRO_DEFAULTS=y
 CONFIG_SUPPORT_RAW_INITRD=y
 CONFIG_HUSH_PARSER=y
 CONFIG_CMD_BOOTZ=y
index a9dc73d..0ebff26 100644 (file)
@@ -21,7 +21,7 @@
 #define CONFIG_SYS_FSL_CLK
 
 /* Size of malloc() pool */
-#define CONFIG_SYS_MALLOC_LEN          (10 * 1024 * 1024)
+#define CONFIG_SYS_MALLOC_LEN          (32 * 1024 * 1024)
 
 #define CONFIG_REVISION_TAG
 
 
 #define CONFIG_LOADADDR                0x70010000      /* loadaddr env var */
 
+#define BOOT_TARGET_DEVICES(func) \
+       func(MMC, mmc, 0) \
+       func(MMC, mmc, 1) \
+       func(USB, usb, 0) \
+       func(PXE, pxe, na)
+
+#include <config_distro_bootcmd.h>
+
 #define CONFIG_EXTRA_ENV_SETTINGS \
-       "fdt_addr_r=0x71ff0000\0" \
+       "fdt_addr_r=0x75000000\0" \
        "pxefile_addr_r=0x73000000\0" \
-       "ramdisk_addr_r=0x72000000\0" \
+       "scriptaddr=0x74000000\0" \
+       "ramdisk_addr_r=0x80000000\0" \
+       "kernel_addr_r=0x72000000\0"  \
+       "fdt_high=0xffffffff\0" \
        "console=ttymxc1,115200\0" \
        "stdin=serial\0" \
        "stdout=serial,vidconsole\0" \
        "stderr=serial,vidconsole\0" \
-       "uenv=/boot/uEnv.txt\0" \
-       "optargs=\0" \
-       "cmdline=\0" \
-       "mmcdev=0\0" \
-       "mmcpart=1\0" \
-       "mmcrootfstype=ext4 rootwait fixrtc\0" \
-       "mmcargs=setenv bootargs console=${console} " \
-               "${optargs} " \
-               "root=/dev/mmcblk${mmcdev}p${mmcpart} ro " \
-               "rootfstype=${mmcrootfstype} " \
-               "${cmdline}\0" \
-       "loadimage=load mmc ${bootpart} ${loadaddr} ${bootdir}/${bootfile}\0" \
-       "loadpxe=dhcp;setenv kernel_addr_r ${loadaddr};pxe get;pxe boot;\0" \
-       "loadrd=load mmc ${bootpart} ${ramdisk_addr_r} ${bootdir}/${rdfile};" \
-               "setenv rdsize ${filesize}\0" \
-       "loadfdt=echo loading ${fdt_path} ...;" \
-               "load mmc ${bootpart} ${fdt_addr_r} ${fdt_path}\0" \
-       "mmcboot=mmc dev ${mmcdev}; " \
-               "if mmc rescan; then " \
-                       "echo SD/MMC found on device ${mmcdev};" \
-                       "echo Checking for: ${uenv} ...;" \
-                       "setenv bootpart ${mmcdev}:${mmcpart};" \
-                       "if test -e mmc ${bootpart} ${uenv}; then " \
-                               "load mmc ${bootpart} ${loadaddr} ${uenv};" \
-                               "env import -t ${loadaddr} ${filesize};" \
-                               "echo Loaded environment from ${uenv};" \
-                               "if test -n ${dtb}; then " \
-                                       "setenv fdt_file ${dtb};" \
-                                       "echo Using: dtb=${fdt_file} ...;" \
-                               "fi;" \
-                               "echo Checking for uname_r in ${uenv}...;" \
-                               "if test -n ${uname_r}; then " \
-                                       "echo Running uname_boot ...;" \
-                                       "run uname_boot;" \
-                               "fi;" \
-                       "fi;" \
-               "fi;\0" \
-       "uname_boot="\
-               "setenv bootdir /boot; " \
-               "setenv bootfile vmlinuz-${uname_r}; " \
-               "setenv ccatfile /boot/ccat.rbf; " \
-               "echo loading CCAT firmware from ${ccatfile}; " \
-               "load mmc ${bootpart} ${loadaddr} ${ccatfile}; " \
-               "fpga load 0 ${loadaddr} ${filesize}; " \
-               "if test -e mmc ${bootpart} ${bootdir}/${bootfile}; then " \
-                       "echo loading ${bootdir}/${bootfile} ...; " \
-                       "run loadimage;" \
-                       "setenv fdt_path /boot/dtbs/${uname_r}/${fdt_file}; " \
-                       "if test -e mmc ${bootpart} ${fdt_path}; then " \
-                               "run loadfdt;" \
-                       "else " \
-                               "echo; echo unable to find ${fdt_file} ...;" \
-                               "echo booting legacy ...;"\
-                               "run mmcargs;" \
-                               "echo debug: [${bootargs}] ... ;" \
-                               "echo debug: [bootz ${loadaddr}] ... ;" \
-                               "bootz ${loadaddr}; " \
-                       "fi;" \
-                       "run mmcargs;" \
-                       "echo debug: [${bootargs}] ... ;" \
-                       "echo debug: [bootz ${loadaddr} - ${fdt_addr_r}];" \
-                       "bootz ${loadaddr} - ${fdt_addr_r}; " \
-               "else " \
-                       "echo loading from dhcp ...; " \
-                       "run loadpxe; " \
-               "fi;\0"
-
-#define CONFIG_BOOTCOMMAND \
-       "run mmcboot;"
+       "fdtfile=imx53-cx9020.dtb\0" \
+       BOOTENV
 
 #define CONFIG_ARP_TIMEOUT     200UL