feat: add extlinux boot
authorHan Gao <gaohan@iscas.ac.cn>
Wed, 12 Jul 2023 09:27:12 +0000 (17:27 +0800)
committerHan Gao <rabenda.cn@gmail.com>
Wed, 12 Jul 2023 13:57:40 +0000 (21:57 +0800)
Signed-off-by: Han Gao <gaohan@iscas.ac.cn>
include/configs/light-c910.h

index 95d084ae39fca0fa18cc9be59c751d1822a33be7..5aa93f8345c471766e4df8e89c2d8475bbef8707 100644 (file)
 #define ENV_STR_BOOT_DELAY     "bootdelay=0\0"
 #endif
 
-#if defined (CONFIG_LIGHT_SEC_BOOT_WITH_VERIFY_VAL_A)
 #define CONFIG_EXTRA_ENV_SETTINGS \
-       "splashimage=0x30000000\0" \
-       "splashpos=m,m\0" \
-       "fdt_high=0xffffffffffffffff\0" \
-       "tf_addr=0x100000\0" \
-       "dtb_addr=0x01f00000\0" \
-       "kernel_addr=0x00200000\0" \
-       "aon_ram_addr=0xffffef8000\0" \
-       "audio_ram_addr=0xffc0000000\0" \
-       "fwaddr=0x10000000\0"\
-       "tee_addr=0x1c000000\0" \
-       "sec_upgrade_mode=0\0"\
-       "mmcdev=0\0" \
-       "boot_partition=bootA\0" \
-       "root_partition=rootfsA\0" \
-       "kdump_buf=1M\0" \
-       "uboot_version=0x0000000000000000\0"\
-       "tee_version=0x00000000\0"\
-       "tf_version=0x00000000\0"\
-       "findpart=rollback; if test ${boot_partition} = bootB; then mmcbootpart=7; else mmcbootpart=2; fi; if test ${root_partition} = rootfsB; then mmcpart=8; else mmcpart=6; fi;\0" \
-       "fdt_file=light-a-val-sec.dtb\0" \
-       "uuid_rootfsA=80a5a8e9-c744-491a-93c1-4f4194fd690a\0" \
-       "uuid_rootfsB=80a5a8e9-c744-491a-93c1-4f4194fd690b\0" \
-       "partitions=name=table,size=2031KB;name=boot,size=200MiB,type=boot;name=tf,size=50MiB,type=boot;name=tee,size=50MiB,type=boot;name=stash,size=50MiB,type=boot;name=root,size=4000MiB,type=linux,uuid=${uuid_rootfsA};name=bootB,size=200MiB,type=boot;name=rootB,size=4000MiB,type=linux,uuid=${uuid_rootfsB};name=data,size=-,type=linux\0" \
-       "finduuid=part uuid mmc ${mmcdev}:${mmcpart} uuid\0" \
-       "gpt_partition=gpt write mmc ${mmcdev} $partitions\0" \
-       "set_bootargs=setenv bootargs console=ttyS0,115200 root=PARTUUID=${uuid} rootfstype=ext4 rdinit=/sbin/init rootwait rw earlycon clk_ignore_unused loglevel=7 eth=$ethaddr rootrw=PARTLABEL=data init=/init rootinit=/sbin/init rootrwoptions=rw,noatime rootrwreset=${factory_reset} crashkernel=${kdump_buf}\0" \
-       "load_aon=ext4load mmc ${mmcdev}:${mmcbootpart} $fwaddr light_aon_fpga.bin;cp.b $fwaddr $aon_ram_addr $filesize\0"\
-       "load_c906_audio=ext4load mmc ${mmcdev}:${mmcbootpart} $fwaddr light_c906_audio.bin;cp.b $fwaddr $audio_ram_addr $filesize\0"\
-       "bootcmd_load=run findpart;run load_aon;run load_c906_audio; ext4load mmc 0:3 $tf_addr trust_firmware.bin; ext4load mmc 0:4 $tee_addr tee.bin;ext4load mmc ${mmcdev}:${mmcbootpart} $dtb_addr ${fdt_file}; ext4load mmc ${mmcdev}:${mmcbootpart} $kernel_addr Image\0" \
-       "bootcmd=run bootcmd_load; bootslave; run finduuid; run set_bootargs; secboot; booti $kernel_addr - $dtb_addr;\0" \
-       "factory_reset=yes\0"\
-        "\0"
-
-#elif defined (CONFIG_LIGHT_SEC_BOOT_WITH_VERIFY_VAL_B)
-#define CONFIG_EXTRA_ENV_SETTINGS \
-       "splashimage=0x30000000\0" \
-       "splashpos=m,m\0" \
-       "fdt_high=0xffffffffffffffff\0" \
-       "tf_addr=0x100000\0" \
-       "dtb_addr=0x01f00000\0" \
-       "kernel_addr=0x00200000\0" \
-       "aon_ram_addr=0xffffef8000\0" \
-       "audio_ram_addr=0xffc0000000\0" \
-       "fwaddr=0x10000000\0"\
-       "tee_addr=0x1c000000\0" \
-       "sec_upgrade_mode=0\0"\
-       "mmcdev=0\0" \
-       "boot_partition=bootA\0" \
-       "root_partition=rootfsA\0" \
-       "kdump_buf=1M\0" \
-       "uboot_version=0x0000000000000000\0"\
-       "tee_version=0x00000000\0"\
-       "tf_version=0x00000000\0"\
-       "findpart=rollback; if test ${boot_partition} = bootB; then mmcbootpart=7; else mmcbootpart=2; fi; if test ${root_partition} = rootfsB; then mmcpart=8; else mmcpart=6; fi;\0" \
-       "fdt_file=light-b-product-sec.dtb\0" \
-       "uuid_rootfsA=80a5a8e9-c744-491a-93c1-4f4194fd690a\0" \
-       "uuid_rootfsB=80a5a8e9-c744-491a-93c1-4f4194fd690b\0" \
-       "partitions=name=table,size=2031KB;name=boot,size=200MiB,type=boot;name=tf,size=50MiB,type=boot;name=tee,size=50MiB,type=boot;name=stash,size=50MiB,type=boot;name=root,size=4000MiB,type=linux,uuid=${uuid_rootfsA};name=bootB,size=200MiB,type=boot;name=rootB,size=4000MiB,type=linux,uuid=${uuid_rootfsB};name=data,size=-,type=linux\0" \
-       "finduuid=part uuid mmc ${mmcdev}:${mmcpart} uuid\0" \
-       "gpt_partition=gpt write mmc ${mmcdev} $partitions\0" \
-       "set_bootargs=setenv bootargs console=ttyS0,115200 root=PARTUUID=${uuid} rootfstype=ext4 rdinit=/sbin/init rootwait rw earlycon clk_ignore_unused loglevel=7 eth=$ethaddr rootrw=PARTLABEL=data init=/init rootinit=/sbin/init rootrwoptions=rw,noatime rootrwreset=${factory_reset} crashkernel=${kdump_buf}\0" \
-       "load_aon=ext4load mmc ${mmcdev}:${mmcbootpart} $fwaddr light_aon_fpga.bin;cp.b $fwaddr $aon_ram_addr $filesize\0"\
-       "load_c906_audio=ext4load mmc ${mmcdev}:${mmcbootpart} $fwaddr light_c906_audio.bin;cp.b $fwaddr $audio_ram_addr $filesize\0"\
-       "bootcmd_load=run findpart;run load_aon;run load_c906_audio; ext4load mmc 0:3 $tf_addr trust_firmware.bin; ext4load mmc 0:4 $tee_addr tee.bin;ext4load mmc ${mmcdev}:${mmcbootpart} $dtb_addr ${fdt_file}; ext4load mmc ${mmcdev}:${mmcbootpart} $kernel_addr Image\0" \
-       "bootcmd=run bootcmd_load; bootslave; run finduuid; run set_bootargs; secboot; booti $kernel_addr - $dtb_addr;\0" \
-       "factory_reset=yes\0"\
-        "\0"
-
-#elif defined (CONFIG_LIGHT_SEC_BOOT_WITH_VERIFY_ANT_REF)
-#define CONFIG_EXTRA_ENV_SETTINGS \
-       "splashimage=0x30000000\0" \
-       "splashpos=m,m\0" \
-       "fdt_high=0xffffffffffffffff\0" \
-       "tf_addr=0x100000\0" \
-       "dtb_addr=0x01f00000\0" \
-       "kernel_addr=0x00200000\0" \
-       "aon_ram_addr=0xffffef8000\0" \
-       "audio_ram_addr=0xffc0000000\0" \
-       "fwaddr=0x10000000\0"\
-       "tee_addr=0x1c000000\0" \
-       "sec_upgrade_mode=0\0"\
-       "mmcdev=0\0" \
-       "boot_partition=bootA\0" \
-       "root_partition=rootfsA\0" \
-       "kdump_buf=1M\0" \
-       "uboot_version=0x0000000000000000\0"\
-       "tee_version=0x00000000\0"\
-       "tf_version=0x00000000\0"\
-       "findpart=rollback; if test ${boot_partition} = bootB; then mmcbootpart=7; else mmcbootpart=2; fi; if test ${root_partition} = rootfsB; then mmcpart=8; else mmcpart=6; fi;\0" \
-       "fdt_file=light-ant-ref-sec.dtb\0" \
-       "uuid_rootfsA=80a5a8e9-c744-491a-93c1-4f4194fd690a\0" \
-       "uuid_rootfsB=80a5a8e9-c744-491a-93c1-4f4194fd690b\0" \
-       "partitions=name=table,size=2031KB;name=boot,size=200MiB,type=boot;name=tf,size=50MiB,type=boot;name=tee,size=50MiB,type=boot;name=stash,size=50MiB,type=boot;name=root,size=4000MiB,type=linux,uuid=${uuid_rootfsA};name=bootB,size=200MiB,type=boot;name=rootB,size=4000MiB,type=linux,uuid=${uuid_rootfsB};name=data,size=-,type=linux\0" \
-       "finduuid=part uuid mmc ${mmcdev}:${mmcpart} uuid\0" \
-       "gpt_partition=gpt write mmc ${mmcdev} $partitions\0" \
-       "set_bootargs=setenv bootargs console=ttyS0,115200 root=PARTUUID=${uuid} rootfstype=ext4 rdinit=/sbin/init rootwait rw earlycon clk_ignore_unused loglevel=7 eth=$ethaddr rootrw=PARTLABEL=data init=/init rootinit=/sbin/init rootrwoptions=rw,noatime rootrwreset=${factory_reset} crashkernel=${kdump_buf}\0" \
-       "load_aon=ext4load mmc ${mmcdev}:${mmcbootpart} $fwaddr light_aon_fpga.bin;cp.b $fwaddr $aon_ram_addr $filesize\0"\
-       "load_c906_audio=ext4load mmc ${mmcdev}:${mmcbootpart} $fwaddr light_c906_audio.bin;cp.b $fwaddr $audio_ram_addr $filesize\0"\
-       "bootcmd_load=run findpart;run load_aon;run load_c906_audio; ext4load mmc 0:3 $tf_addr trust_firmware.bin; ext4load mmc 0:4 $tee_addr tee.bin;ext4load mmc ${mmcdev}:${mmcbootpart} $dtb_addr ${fdt_file}; ext4load mmc ${mmcdev}:${mmcbootpart} $kernel_addr Image\0" \
-       "bootcmd=run bootcmd_load; bootslave; run finduuid; run set_bootargs; secboot; booti $kernel_addr - $dtb_addr;\0" \
-       "factory_reset=yes\0"\
-        "\0"
-
-#else
-#if defined (CONFIG_TARGET_LIGHT_FM_C910_VAL_A)
-#define CONFIG_EXTRA_ENV_SETTINGS \
-       "splashimage=0x30000000\0" \
-       "splashpos=m,m\0" \
-       "fdt_high=0xffffffffffffffff\0" \
-       "opensbi_addr=0x0\0" \
-       "dtb_addr=0x01f00000\0" \
-       "kernel_addr=0x00200000\0" \
-       "aon_ram_addr=0xffffef8000\0" \
-       "audio_ram_addr=0xffc0000000\0" \
-       "fwaddr=0x10000000\0"\
-       "mmcdev=0\0" \
-       "mmcpart=3\0" \
-       "kdump_buf=1M\0" \
-       "fdt_file=light-a-product.dtb\0" \
-       "uuid_rootfs=80a5a8e9-c744-491a-93c1-4f4194fd690b\0" \
-       "partitions=name=table,size=2031KB;name=boot,size=200MiB,type=boot;name=root,size=4000MiB,type=linux,uuid=${uuid_rootfs};name=data,size=-,type=linux\0" \
-       "finduuid=part uuid mmc ${mmcdev}:${mmcpart} uuid\0" \
-       "gpt_partition=gpt write mmc ${mmcdev} $partitions\0" \
-       "set_bootargs=setenv bootargs console=ttyS0,115200 root=PARTUUID=${uuid} rootfstype=ext4 rdinit=/sbin/init rootwait rw earlycon clk_ignore_unused loglevel=7 eth=$ethaddr rootrwreset=${factory_reset} crashkernel=${kdump_buf}\0" \
-       "load_aon=ext4load mmc 0:2 $fwaddr light_aon_fpga.bin;cp.b $fwaddr $aon_ram_addr $filesize\0"\
-       "load_c906_audio=ext4load mmc 0:2 $fwaddr light_c906_audio.bin;cp.b $fwaddr $audio_ram_addr $filesize\0"\
-       "bootcmd_load=run load_aon;run load_c906_audio; ext4load mmc 0:2 $opensbi_addr fw_dynamic.bin; ext4load mmc 0:2 $dtb_addr ${fdt_file}; ext4load mmc 0:2 $kernel_addr Image\0" \
-       "bootcmd=run bootcmd_load; bootslave; run finduuid; run set_bootargs; booti $kernel_addr - $dtb_addr;\0" \
-       "factory_reset=yes\0"\
-        "\0"
-#elif defined (CONFIG_TARGET_LIGHT_FM_C910_VAL_B)
-#define CONFIG_EXTRA_ENV_SETTINGS \
-       "splashimage=0x30000000\0" \
-       "splashpos=m,m\0" \
-       "fdt_high=0xffffffffffffffff\0" \
-       "opensbi_addr=0x0\0" \
-       "dtb_addr=0x01f00000\0" \
-       "kernel_addr=0x00200000\0" \
-       "aon_ram_addr=0xffffef8000\0" \
-       "audio_ram_addr=0xffc0000000\0" \
-       "fwaddr=0x10000000\0"\
-       "mmcdev=0\0" \
-       "boot_partition=bootA\0" \
-       "root_partition=rootfsA\0" \
-       ENV_KERNEL_LOGLEVEL \
-       "kdump_buf=1M\0" \
-       ENV_STR_BOOT_DELAY \
-       "findpart=rollback; if test ${boot_partition} = bootB; then mmcbootpart=4; else mmcbootpart=2; fi; if test ${root_partition} = rootfsB; then mmcpart=5; else mmcpart=3; fi;\0" \
-       "fdt_file=light-b-product.dtb\0" \
-       "uuid_rootfsA=80a5a8e9-c744-491a-93c1-4f4194fd690a\0" \
-       "uuid_rootfsB=80a5a8e9-c744-491a-93c1-4f4194fd690b\0" \
-       "partitions=name=table,size=2031KB;name=boot,size=200MiB,type=boot;name=root,size=4000MiB,type=linux,uuid=${uuid_rootfsA};name=bootB,size=200MiB,type=boot;name=rootB,size=4000MiB,type=linux,uuid=${uuid_rootfsB};name=data,size=-,type=linux\0" \
-       "finduuid=part uuid mmc ${mmcdev}:${mmcpart} uuid\0" \
-       "gpt_partition=gpt write mmc ${mmcdev} $partitions\0" \
-       "set_bootargs=setenv bootargs console=ttyS0,115200 root=PARTUUID=${uuid} rootfstype=ext4 rdinit=/sbin/init rootwait rw earlycon clk_ignore_unused loglevel=${kernel_loglevel} eth=$ethaddr rootrw=PARTLABEL=data init=/init rootinit=/sbin/init rootrwoptions=rw,noatime rootrwreset=${factory_reset} crashkernel=${kdump_buf}\0" \
-       "load_aon=ext4load mmc ${mmcdev}:${mmcbootpart} $fwaddr light_aon_fpga.bin;cp.b $fwaddr $aon_ram_addr $filesize\0"\
-       "load_c906_audio=ext4load mmc ${mmcdev}:${mmcbootpart} $fwaddr light_c906_audio.bin;cp.b $fwaddr $audio_ram_addr $filesize\0"\
-       "bootcmd_load=run findpart;run load_aon;run load_c906_audio; ext4load mmc ${mmcdev}:${mmcbootpart} $opensbi_addr fw_dynamic.bin; ext4load mmc ${mmcdev}:${mmcbootpart} $dtb_addr ${fdt_file};ext4load mmc ${mmcdev}:${mmcbootpart} $kernel_addr Image;\0" \
-       "bootcmd=run bootcmd_load; bootslave ; run finduuid; run set_bootargs; booti $kernel_addr - $dtb_addr;\0" \
-       "factory_reset=yes\0"\
-        "\0"
-#elif defined (CONFIG_TARGET_LIGHT_FM_C910_B_REF)
-#define CONFIG_EXTRA_ENV_SETTINGS \
-       "splashimage=0x30000000\0" \
-       "splashpos=m,m\0" \
-       "fdt_high=0xffffffffffffffff\0" \
-       "opensbi_addr=0x0\0" \
-       "dtb_addr=0x01f00000\0" \
-       "kernel_addr=0x00200000\0" \
-       "aon_ram_addr=0xffffef8000\0" \
-       "audio_ram_addr=0xffc0000000\0" \
-       "fwaddr=0x10000000\0"\
-       "mmcdev=0\0" \
-       "boot_partition=bootA\0" \
-       "root_partition=rootfsA\0" \
-       "findpart=if test ${boot_partition} = bootB; then mmcbootpart=4; else mmcbootpart=2; fi; if test ${root_partition} = rootfsB; then mmcpart=5; else mmcpart=3; fi;\0" \
-       "fdt_file=light-b-ref.dtb\0" \
-       "uuid_rootfsA=80a5a8e9-c744-491a-93c1-4f4194fd690a\0" \
-       "uuid_rootfsB=80a5a8e9-c744-491a-93c1-4f4194fd690b\0" \
-       "partitions=name=table,size=2031KB;name=boot,size=200MiB,type=boot;name=root,size=4000MiB,type=linux,uuid=${uuid_rootfsA};name=bootB,size=200MiB,type=boot;name=rootB,size=4000MiB,type=linux,uuid=${uuid_rootfsB};name=data,size=-,type=linux\0" \
-       "finduuid=part uuid mmc ${mmcdev}:${mmcpart} uuid\0" \
-       "gpt_partition=gpt write mmc ${mmcdev} $partitions\0" \
-       "set_bootargs=setenv bootargs console=ttyS0,115200 root=PARTUUID=${uuid} rootfstype=ext4 rdinit=/sbin/init rootwait rw earlycon clk_ignore_unused loglevel=7 eth=$ethaddr rootrw=PARTLABEL=data init=/init rootinit=/sbin/init rootrwoptions=rw,noatime\0" \
-       "load_aon=ext4load mmc ${mmcdev}:${mmcbootpart} $fwaddr light_aon_fpga.bin;cp.b $fwaddr $aon_ram_addr $filesize\0"\
-       "load_c906_audio=ext4load mmc ${mmcdev}:${mmcbootpart} $fwaddr light_c906_audio.bin;cp.b $fwaddr $audio_ram_addr $filesize\0"\
-       "bootcmd_load=run findpart;run load_aon;run load_c906_audio; ext4load mmc ${mmcdev}:${mmcbootpart} $opensbi_addr fw_dynamic.bin; ext4load mmc ${mmcdev}:${mmcbootpart} $dtb_addr ${fdt_file};ext4load mmc ${mmcdev}:${mmcbootpart} $kernel_addr Image;\0" \
-       "bootcmd=run bootcmd_load; bootslave ; run finduuid; run set_bootargs; booti $kernel_addr - $dtb_addr;\0" \
-        "\0"
-#elif defined (CONFIG_TARGET_LIGHT_FM_C910_B_POWER)
-#define CONFIG_EXTRA_ENV_SETTINGS \
-       "splashimage=0x30000000\0" \
-       "splashpos=m,m\0" \
-       "fdt_high=0xffffffffffffffff\0" \
-       "opensbi_addr=0x0\0" \
-       "dtb_addr=0x01f00000\0" \
-       "kernel_addr=0x00200000\0" \
+       "scriptaddr=0x00500000\0" \
+       "pxefile_addr_r=0x00600000\0" \
+       "fdt_addr_r=0x01f00000\0" \
+       "kernel_addr_r=0x00200000\0" \
+       "ramdisk_addr_r=0x06000000\0" \
+       "boot_conf_addr_r=0xc0000000\0" \
        "aon_ram_addr=0xffffef8000\0" \
        "audio_ram_addr=0xffc0000000\0" \
-       "fwaddr=0x10000000\0"\
-       "mmcdev=0\0" \
-       "boot_partition=bootA\0" \
-       "root_partition=rootfsA\0" \
-       "kdump_buf=1M\0" \
-       "findpart=rollback; if test ${boot_partition} = bootB; then mmcbootpart=4; else mmcbootpart=2; fi; if test ${root_partition} = rootfsB; then mmcpart=5; else mmcpart=3; fi;\0" \
-       "fdt_file=light-b-power.dtb\0" \
-       "uuid_rootfsA=80a5a8e9-c744-491a-93c1-4f4194fd690a\0" \
-       "uuid_rootfsB=80a5a8e9-c744-491a-93c1-4f4194fd690b\0" \
-       "partitions=name=table,size=2031KB;name=boot,size=200MiB,type=boot;name=root,size=4000MiB,type=linux,uuid=${uuid_rootfsA};name=bootB,size=200MiB,type=boot;name=rootB,size=4000MiB,type=linux,uuid=${uuid_rootfsB};name=data,size=-,type=linux\0" \
-       "finduuid=part uuid mmc ${mmcdev}:${mmcpart} uuid\0" \
-       "gpt_partition=gpt write mmc ${mmcdev} $partitions\0" \
-       "set_bootargs=setenv bootargs console=ttyS0,115200 root=PARTUUID=${uuid} rootfstype=ext4 rdinit=/sbin/init rootwait rw earlycon clk_ignore_unused loglevel=7 eth=$ethaddr rootrw=PARTLABEL=data init=/init rootinit=/sbin/init rootrwoptions=rw,noatime rootrwreset=${factory_reset} crashkernel=${kdump_buf}\0" \
-       "load_aon=ext4load mmc ${mmcdev}:${mmcbootpart} $fwaddr light_aon_fpga.bin;cp.b $fwaddr $aon_ram_addr $filesize\0"\
-       "load_c906_audio=ext4load mmc ${mmcdev}:${mmcbootpart} $fwaddr light_c906_audio.bin;cp.b $fwaddr $audio_ram_addr $filesize\0"\
-       "bootcmd_load=run findpart;run load_aon;run load_c906_audio; ext4load mmc ${mmcdev}:${mmcbootpart} $opensbi_addr fw_dynamic.bin; ext4load mmc ${mmcdev}:${mmcbootpart} $dtb_addr ${fdt_file}; ext4load mmc ${mmcdev}:${mmcbootpart} $kernel_addr Image\0" \
-       "bootcmd=run bootcmd_load; bootslave; run finduuid; run set_bootargs; booti $kernel_addr - $dtb_addr;\0" \
-       "factory_reset=yes\0"\
-        "\0"
-#elif defined (CONFIG_TARGET_LIGHT_FM_C910_VAL_ANT_REF)
-#define CONFIG_EXTRA_ENV_SETTINGS \
-       "splashimage=0x30000000\0" \
-       "splashpos=m,m\0" \
-       "fdt_high=0xffffffffffffffff\0" \
        "opensbi_addr=0x0\0" \
-       "dtb_addr=0x01f00000\0" \
-       "kernel_addr=0x00200000\0" \
-       "aon_ram_addr=0xffffef8000\0" \
-       "audio_ram_addr=0xffc0000000\0" \
-       "fwaddr=0x10000000\0"\
-       "mmcdev=0\0" \
-       "boot_partition=bootA\0" \
-       "root_partition=rootfsA\0" \
-       ENV_KERNEL_LOGLEVEL \
-       "kdump_buf=1M\0" \
-       ENV_STR_BOOT_DELAY \
-       "findpart=rollback; if test ${boot_partition} = bootB; then mmcbootpart=4; else mmcbootpart=2; fi; if test ${root_partition} = rootfsB; then mmcpart=5; else mmcpart=3; fi;\0" \
-       "fdt_file=light-ant-ref.dtb\0" \
-       "uuid_rootfsA=80a5a8e9-c744-491a-93c1-4f4194fd690a\0" \
-       "uuid_rootfsB=80a5a8e9-c744-491a-93c1-4f4194fd690b\0" \
-       "partitions=name=table,size=2031KB;name=boot,size=200MiB,type=boot;name=root,size=4000MiB,type=linux,uuid=${uuid_rootfsA};name=bootB,size=200MiB,type=boot;name=rootB,size=4000MiB,type=linux,uuid=${uuid_rootfsB};name=data,size=-,type=linux\0" \
-       "finduuid=part uuid mmc ${mmcdev}:${mmcpart} uuid\0" \
-       "gpt_partition=gpt write mmc ${mmcdev} $partitions\0" \
-       "set_bootargs=setenv bootargs console=ttyS0,115200 root=PARTUUID=${uuid} rootfstype=ext4 rdinit=/sbin/init rootwait rw earlycon clk_ignore_unused loglevel=${kernel_loglevel} eth=$ethaddr rootrw=PARTLABEL=data init=/init rootinit=/sbin/init rootrwoptions=rw,noatime rootrwreset=${factory_reset} crashkernel=${kdump_buf}\0" \
-       "load_aon=ext4load mmc ${mmcdev}:${mmcbootpart} $fwaddr light_aon_fpga.bin;cp.b $fwaddr $aon_ram_addr $filesize\0"\
-       "load_c906_audio=ext4load mmc ${mmcdev}:${mmcbootpart} $fwaddr light_c906_audio.bin;cp.b $fwaddr $audio_ram_addr $filesize\0"\
-       "bootcmd_load=run findpart;run load_aon;run load_c906_audio; ext4load mmc ${mmcdev}:${mmcbootpart} $opensbi_addr fw_dynamic.bin; ext4load mmc ${mmcdev}:${mmcbootpart} $dtb_addr ${fdt_file}; ext4load mmc ${mmcdev}:${mmcbootpart} $kernel_addr Image\0" \
-       "bootcmd=run bootcmd_load; bootslave; run finduuid; run set_bootargs; booti $kernel_addr - $dtb_addr;\0" \
-       "factory_reset=yes\0"\
-        "\0"
-#elif defined (CONFIG_TARGET_LIGHT_FM_C910_VAL_ANT_DISCRETE)
-#define CONFIG_EXTRA_ENV_SETTINGS \
+       "fwaddr=0x10000000\0" \
        "splashimage=0x30000000\0" \
        "splashpos=m,m\0" \
        "fdt_high=0xffffffffffffffff\0" \
-       "opensbi_addr=0x0\0" \
-       "dtb_addr=0x01f00000\0" \
-       "kernel_addr=0x00200000\0" \
-       "aon_ram_addr=0xffffef8000\0" \
-       "audio_ram_addr=0xffc0000000\0" \
-       "fwaddr=0x10000000\0"\
-       "mmcdev=0\0" \
-       "boot_partition=bootA\0" \
-       "root_partition=rootfsA\0" \
-       "kdump_buf=1M\0" \
-       "findpart=rollback; if test ${boot_partition} = bootB; then mmcbootpart=4; else mmcbootpart=2; fi; if test ${root_partition} = rootfsB; then mmcpart=5; else mmcpart=3; fi;\0" \
-       "fdt_file=light-ant-discrete.dtb\0" \
-       "uuid_rootfsA=80a5a8e9-c744-491a-93c1-4f4194fd690a\0" \
-       "uuid_rootfsB=80a5a8e9-c744-491a-93c1-4f4194fd690b\0" \
-       "partitions=name=table,size=2031KB;name=boot,size=200MiB,type=boot;name=root,size=4000MiB,type=linux,uuid=${uuid_rootfsA};name=bootB,size=200MiB,type=boot;name=rootB,size=4000MiB,type=linux,uuid=${uuid_rootfsB};name=data,size=-,type=linux\0" \
-       "finduuid=part uuid mmc ${mmcdev}:${mmcpart} uuid\0" \
-       "gpt_partition=gpt write mmc ${mmcdev} $partitions\0" \
-       "set_bootargs=setenv bootargs console=ttyS0,115200 root=PARTUUID=${uuid} rootfstype=ext4 rdinit=/sbin/init rootwait rw earlycon clk_ignore_unused loglevel=7 eth=$ethaddr rootrw=PARTLABEL=data init=/init rootinit=/sbin/init rootrwoptions=rw,noatime rootrwreset=${factory_reset} crashkernel=${kdump_buf}\0" \
-       "load_aon=ext4load mmc ${mmcdev}:${mmcbootpart} $fwaddr light_aon_fpga.bin;cp.b $fwaddr $aon_ram_addr $filesize\0"\
-       "load_c906_audio=ext4load mmc ${mmcdev}:${mmcbootpart} $fwaddr light_c906_audio.bin;cp.b $fwaddr $audio_ram_addr $filesize\0"\
-       "bootcmd_load=run findpart;run load_aon;run load_c906_audio; ext4load mmc ${mmcdev}:${mmcbootpart} $opensbi_addr fw_dynamic.bin; ext4load mmc ${mmcdev}:${mmcbootpart} $dtb_addr ${fdt_file}; ext4load mmc ${mmcdev}:${mmcbootpart} $kernel_addr Image\0" \
-       "bootcmd=run bootcmd_load; bootslave; run finduuid; run set_bootargs; booti $kernel_addr - $dtb_addr;\0" \
-       "factory_reset=yes\0"\
-        "\0"
-#elif defined (CONFIG_TARGET_LIGHT_FM_C910_BEAGLE)
-#define CONFIG_EXTRA_ENV_SETTINGS \
-       "splashimage=0x30000000\0" \
-       "splashpos=m,m\0" \
-       "fdt_high=0xffffffffffffffff\0" \
-       "opensbi_addr=0x0\0" \
-       "dtb_addr=0x01f00000\0" \
-       "kernel_addr=0x00200000\0" \
-       "aon_ram_addr=0xffffef8000\0" \
-       "audio_ram_addr=0xffc0000000\0" \
-       "fwaddr=0x10000000\0"\
-       "mmcdev=0\0" \
-       "boot_partition=bootA\0" \
-       "root_partition=rootfsA\0" \
+       "kernel_addr_r=0x00200000\0" \
        "kdump_buf=500M\0" \
-       "findpart=rollback; if test ${boot_partition} = bootB; then mmcbootpart=4; else mmcbootpart=2; fi; if test ${root_partition} = rootfsB; then mmcpart=5; else mmcpart=3; fi;\0" \
-       "fdt_file=light-beagle.dtb\0" \
-       "uuid_rootfsA=80a5a8e9-c744-491a-93c1-4f4194fd690a\0" \
-       "uuid_rootfsB=80a5a8e9-c744-491a-93c1-4f4194fd690b\0" \
-       "partitions=name=table,size=2031KB;name=boot,size=200MiB,type=boot;name=root,size=4000MiB,type=linux,uuid=${uuid_rootfsA};name=bootB,size=200MiB,type=boot;name=rootB,size=4000MiB,type=linux,uuid=${uuid_rootfsB};name=data,size=-,type=linux\0" \
-       "finduuid=part uuid mmc ${mmcdev}:${mmcpart} uuid\0" \
-       "gpt_partition=gpt write mmc ${mmcdev} $partitions\0" \
-       "set_bootargs=setenv bootargs console=ttyS0,115200 root=PARTUUID=${uuid} rootfstype=ext4 rdinit=/sbin/init rootwait rw earlycon clk_ignore_unused loglevel=7 eth=$ethaddr rootrw=PARTLABEL=data init=/init rootinit=/sbin/init rootrwoptions=rw,noatime rootrwreset=${factory_reset} crashkernel=${kdump_buf}\0" \
-       "load_aon=ext4load mmc ${mmcdev}:${mmcbootpart} $fwaddr light_aon_fpga.bin;cp.b $fwaddr $aon_ram_addr $filesize\0"\
-       "load_c906_audio=ext4load mmc ${mmcdev}:${mmcbootpart} $fwaddr light_c906_audio.bin;cp.b $fwaddr $audio_ram_addr $filesize\0"\
-       "bootcmd_load=run findpart;run load_aon;run load_c906_audio; ext4load mmc ${mmcdev}:${mmcbootpart} $opensbi_addr fw_dynamic.bin; ext4load mmc ${mmcdev}:${mmcbootpart} $dtb_addr ${fdt_file}; ext4load mmc ${mmcdev}:${mmcbootpart} $kernel_addr Image\0" \
-       "bootcmd=run bootcmd_load; bootslave; run finduuid; run set_bootargs; booti $kernel_addr - $dtb_addr;\0" \
-       "factory_reset=yes\0"\
-        "\0"
-#elif defined (CONFIG_TARGET_LIGHT_FM_C910_LPI4A)
-#define CONFIG_EXTRA_ENV_SETTINGS \
-       "splashimage=0x30000000\0" \
-       "splashpos=m,m\0" \
-       "fdt_high=0xffffffffffffffff\0" \
-       "opensbi_addr=0x0\0" \
-       "dtb_addr=0x01f00000\0" \
-       "kernel_addr=0x00200000\0" \
-       "aon_ram_addr=0xffffef8000\0" \
-       "audio_ram_addr=0xffc0000000\0" \
-       "fwaddr=0x10000000\0"\
-       "mmcdev=0\0" \
-       "boot_partition=bootA\0" \
-       "root_partition=rootfsA\0" \
-       "kdump_buf=500M\0" \
-       "findpart=rollback; if test ${boot_partition} = bootB; then mmcbootpart=4; else mmcbootpart=2; fi; if test ${root_partition} = rootfsB; then mmcpart=5; else mmcpart=3; fi;\0" \
-       "fdt_file=light-lpi4a.dtb\0" \
-       "uuid_rootfsA=80a5a8e9-c744-491a-93c1-4f4194fd690a\0" \
-       "uuid_rootfsB=80a5a8e9-c744-491a-93c1-4f4194fd690b\0" \
-       "partitions=name=table,size=2031KB;name=boot,size=500MiB,type=boot;name=root,size=6000MiB,type=linux,uuid=${uuid_rootfsA}\0" \
-       "finduuid=part uuid mmc ${mmcdev}:${mmcpart} uuid\0" \
-       "gpt_partition=gpt write mmc ${mmcdev} $partitions\0" \
-       "set_bootargs=setenv bootargs console=ttyS0,115200 root=PARTUUID=${uuid_rootfsA} rootfstype=ext4 rootwait rw earlycon clk_ignore_unused loglevel=7 eth=$ethaddr rootrwoptions=rw,noatime rootrwreset=${factory_reset} init=/lib/systemd/systemd\0" \
-       "load_aon=ext4load mmc ${mmcdev}:${mmcbootpart} $fwaddr light_aon_fpga.bin;cp.b $fwaddr $aon_ram_addr $filesize\0"\
-       "load_c906_audio=ext4load mmc ${mmcdev}:${mmcbootpart} $fwaddr light_c906_audio.bin;cp.b $fwaddr $audio_ram_addr $filesize\0"\
-       "bootcmd_load=run findpart;run load_aon;run load_c906_audio; ext4load mmc ${mmcdev}:${mmcbootpart} $opensbi_addr fw_dynamic.bin; ext4load mmc ${mmcdev}:${mmcbootpart} $dtb_addr ${fdt_file}; ext4load mmc ${mmcdev}:${mmcbootpart} $kernel_addr Image\0" \
-       "bootcmd=run bootcmd_load; bootslave; run finduuid; run set_bootargs; booti $kernel_addr - $dtb_addr;\0" \
-       "factory_reset=yes\0"\
-        "\0"
-#elif defined (CONFIG_TARGET_LIGHT_FM_C910_A_REF)
-#define CONFIG_EXTRA_ENV_SETTINGS \
-       "splashimage=0x30000000\0" \
-       "splashpos=m,m\0" \
-       "fdt_high=0xffffffffffffffff\0" \
-       "opensbi_addr=0x0\0" \
-       "dtb_addr=0x01f00000\0" \
-       "kernel_addr=0x00200000\0" \
-       "aon_ram_addr=0xffffef8000\0" \
-       "audio_ram_addr=0xffc0000000\0" \
-       "fwaddr=0x10000000\0"\
        "mmcdev=0\0" \
-       "boot_partition=bootA\0" \
-       "root_partition=rootfsA\0" \
-       "findpart=if test ${boot_partition} = bootB; then mmcbootpart=4; else mmcbootpart=2; fi; if test ${root_partition} = rootfsB; then mmcpart=5; else mmcpart=3; fi;\0" \
-       "fdt_file=light-a-ref.dtb\0" \
+       "mmcbootpart=2\0" \
+       "boot_conf_file=/extlinux/extlinux.conf\0" \
        "uuid_rootfsA=80a5a8e9-c744-491a-93c1-4f4194fd690a\0" \
-       "uuid_rootfsB=80a5a8e9-c744-491a-93c1-4f4194fd690b\0" \
-       "partitions=name=table,size=2031KB;name=boot,size=200MiB,type=boot;name=root,size=4000MiB,type=linux,uuid=${uuid_rootfsA};name=bootB,size=200MiB,type=boot;name=rootB,size=4000MiB,type=linux,uuid=${uuid_rootfsB};name=data,size=-,type=linux\0" \
-       "finduuid=part uuid mmc ${mmcdev}:${mmcpart} uuid\0" \
+       "partitions=name=table,size=2031KB;name=boot,size=500MiB,type=boot;name=root,size=-,type=linux,uuid=${uuid_rootfsA}\0" \
        "gpt_partition=gpt write mmc ${mmcdev} $partitions\0" \
-       "set_bootargs=setenv bootargs console=ttyS0,115200 root=PARTUUID=${uuid} rootfstype=ext4 rdinit=/sbin/init rootwait rw earlycon clk_ignore_unused loglevel=7 eth=$ethaddr rootrw=PARTLABEL=data init=/init rootinit=/sbin/init rootrwoptions=rw,noatime\0" \
-       "load_aon=ext4load mmc ${mmcdev}:${mmcbootpart} $fwaddr light_aon_fpga.bin;cp.b $fwaddr $aon_ram_addr $filesize\0"\
-       "load_c906_audio=ext4load mmc ${mmcdev}:${mmcbootpart} $fwaddr light_c906_audio.bin;cp.b $fwaddr $audio_ram_addr $filesize\0"\
-       "bootcmd_load=run findpart;run load_aon;run load_c906_audio; ext4load mmc ${mmcdev}:${mmcbootpart} $opensbi_addr fw_dynamic.bin; ext4load mmc ${mmcdev}:${mmcbootpart} $dtb_addr ${fdt_file}; ext4load mmc ${mmcdev}:${mmcbootpart} $kernel_addr Image\0" \
-       "bootcmd=run bootcmd_load; bootslave; run finduuid; run set_bootargs; booti $kernel_addr - $dtb_addr;\0" \
-        "\0"
-#else
-#define CONFIG_EXTRA_ENV_SETTINGS \
-       "splashimage=0x30000000\0" \
-       "splashpos=m,m\0" \
-       "fdt_high=0xffffffffffffffff\0" \
-       "opensbi_addr=0x0\0" \
-       "dtb_addr=0x01f00000\0" \
-       "kernel_addr=0x00200000\0" \
-       "aon_ram_addr=0xffffef8000\0" \
-       "audio_ram_addr=0xffc0000000\0" \
-       "fwaddr=0x10000000\0"\
-       "mmcdev=0\0" \
-       "boot_partition=bootA\0" \
-       "root_partition=rootfsA\0" \
-       "kdump_buf=500M\0" \
-       "findpart=rollback; if test ${boot_partition} = bootB; then mmcbootpart=4; else mmcbootpart=2; fi; if test ${root_partition} = rootfsB; then mmcpart=5; else mmcpart=3; fi;\0" \
-       "fdt_file=light-a-val-dsi0-hdmi.dtb\0" \
-       "uuid_rootfsA=80a5a8e9-c744-491a-93c1-4f4194fd690a\0" \
-       "uuid_rootfsB=80a5a8e9-c744-491a-93c1-4f4194fd690b\0" \
-       "partitions=name=table,size=2031KB;name=boot,size=200MiB,type=boot;name=root,size=4000MiB,type=linux,uuid=${uuid_rootfsA};name=bootB,size=200MiB,type=boot;name=rootB,size=4000MiB,type=linux,uuid=${uuid_rootfsB};name=data,size=-,type=linux\0" \
+       "load_aon=ext4load mmc ${mmcdev}:${mmcbootpart} $fwaddr light_aon_fpga.bin;cp.b $fwaddr $aon_ram_addr $filesize\0" \
+       "load_c906_audio=ext4load mmc ${mmcdev}:${mmcbootpart} $fwaddr light_c906_audio.bin;cp.b $fwaddr $audio_ram_addr $filesize\0" \
        "finduuid=part uuid mmc ${mmcdev}:${mmcpart} uuid\0" \
-       "gpt_partition=gpt write mmc ${mmcdev} $partitions\0" \
-       "set_bootargs=setenv bootargs console=ttyS0,115200 root=PARTUUID=${uuid} rootfstype=ext4 rdinit=/sbin/init rootwait rw earlycon clk_ignore_unused loglevel=7 eth=$ethaddr rootrw=PARTLABEL=data init=/init rootinit=/sbin/init rootrwoptions=rw,noatime rootrwreset=${factory_reset} crashkernel=${kdump_buf}\0" \
-       "load_aon=ext4load mmc ${mmcdev}:${mmcbootpart} $fwaddr light_aon_fpga.bin;cp.b $fwaddr $aon_ram_addr $filesize\0"\
-       "load_c906_audio=ext4load mmc ${mmcdev}:${mmcbootpart} $fwaddr light_c906_audio.bin;cp.b $fwaddr $audio_ram_addr $filesize\0"\
-       "bootcmd_load=run findpart;run load_aon;run load_c906_audio; ext4load mmc ${mmcdev}:${mmcbootpart} $opensbi_addr fw_dynamic.bin; ext4load mmc ${mmcdev}:${mmcbootpart} $dtb_addr ${fdt_file}; ext4load mmc ${mmcdev}:${mmcbootpart} $kernel_addr Image\0" \
-       "bootcmd=run bootcmd_load; bootslave; run finduuid; run set_bootargs; booti $kernel_addr - $dtb_addr;\0" \
-       "factory_reset=yes\0"\
-        "\0"
-#endif
-#endif
+       "bootcmd_load=run findpart;run load_aon;run load_c906_audio; ext4load mmc ${mmcdev}:${mmcbootpart} $opensbi_addr fw_dynamic.bin\0" \
+       "bootcmd=run bootcmd_load; bootslave; sysboot mmc ${mmcdev}:${mmcbootpart} any $boot_conf_addr_r $boot_conf_file;\0" \
+       "fdtfile=" CONFIG_DEFAULT_FDT_FILE "\0" \
+       "\0"
+
 #endif /* __CONFIG_H */