Commit 421376ae42bc4bc6270fa5c812d2cffd7e73cdee

Authored by Masahiro Yamada
1 parent 6b71e6d7ac

ARM: UniPhier: add environment sets for non-FIT Linux boot

Currently, the environment variables "norboot" and "nandboot" only
work with CONFIG_FIT, but we do not want to depend on CONFIG_FIT to
boot the kernel.

This commit adds environments useful for booting Linux with separate
uImage + ramdisk + DTB.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>

Showing 1 changed file with 43 additions and 18 deletions Side-by-side Diff

include/configs/uniphier.h
... ... @@ -209,7 +209,6 @@
209 209  
210 210 #define CONFIG_LOADADDR 0x84000000
211 211 #define CONFIG_SYS_LOAD_ADDR CONFIG_LOADADDR
212   -#define CONFIG_BOOTFILE "fit.itb"
213 212  
214 213 #define CONFIG_CMDLINE_EDITING /* add command line history */
215 214  
... ... @@ -224,23 +223,49 @@
224 223  
225 224 #define CONFIG_BOOTARGS " user_debug=0x1f init=/sbin/init"
226 225  
227   -#define CONFIG_EXTRA_ENV_SETTINGS \
228   - "netdev=eth0\0" \
229   - "image_offset=0x00080000\0" \
230   - "image_size=0x00f00000\0" \
231   - "verify=n\0" \
232   - "nandupdate=nand erase 0 0x100000 &&" \
233   - "tftpboot u-boot-spl.bin &&" \
234   - "nand write $loadaddr 0 0x10000 &&" \
235   - "tftpboot u-boot-dtb.img &&" \
236   - "nand write $loadaddr 0x10000 0xf0000\0" \
237   - "norboot=run add_default_bootargs &&" \
238   - "bootm $image_offset\0" \
239   - "nandboot=run add_default_bootargs &&" \
240   - "nand read $loadaddr $image_offset $image_size &&" \
241   - "bootm\0" \
242   - "add_default_bootargs=setenv bootargs $bootargs" \
243   - " console=ttyS0,$baudrate\0" \
  226 +#ifdef CONFIG_FIT
  227 +#define CONFIG_BOOTFILE "fitImage"
  228 +#define LINUXBOOT_ENV_SETTINGS \
  229 + "fit_addr=0x00100000\0" \
  230 + "fit_addr_r=0x84100000\0" \
  231 + "fit_size=0x00f00000\0" \
  232 + "norboot=run add_default_bootargs &&" \
  233 + "bootm $fit_addr\0" \
  234 + "nandboot=run add_default_bootargs &&" \
  235 + "nand read $fit_addr_r $fit_addr $fit_size &&" \
  236 + "bootm $fit_addr_r\0"
  237 +#else
  238 +#define CONFIG_BOOTFILE "uImage"
  239 +#define LINUXBOOT_ENV_SETTINGS \
  240 + "fdt_addr=0x00100000\0" \
  241 + "fdt_addr_r=0x84100000\0" \
  242 + "fdt_size=0x00008000\0" \
  243 + "kernel_addr=0x00200000\0" \
  244 + "kernel_addr_r=0x84200000\0" \
  245 + "kernel_size=0x00800000\0" \
  246 + "ramdisk_addr=0x00a00000\0" \
  247 + "ramdisk_addr_r=0x84a00000\0" \
  248 + "ramdisk_size=0x00600000\0" \
  249 + "norboot=run add_default_bootargs &&" \
  250 + "bootm $kernel_addr $ramdisk_addr $fdt_addr\0" \
  251 + "nandboot=run add_default_bootargs &&" \
  252 + "nand read $kernel_addr_r $kernel_addr $kernel_size &&" \
  253 + "nand read $ramdisk_addr_r $ramdisk_addr $ramdisk_size &&" \
  254 + "nand read $fdt_addr_r $fdt_addr $fdt_size &&" \
  255 + "bootm $kernel_addr_r $ramdisk_addr_r $fdt_addr_r\0"
  256 +#endif
  257 +
  258 +#define CONFIG_EXTRA_ENV_SETTINGS \
  259 + "netdev=eth0\0" \
  260 + "verify=n\0" \
  261 + "nandupdate=nand erase 0 0x00100000 &&" \
  262 + "tftpboot u-boot-spl.bin &&" \
  263 + "nand write $loadaddr 0 0x00010000 &&" \
  264 + "tftpboot u-boot-dtb.img &&" \
  265 + "nand write $loadaddr 0x00010000 0x000f0000\0" \
  266 + "add_default_bootargs=setenv bootargs $bootargs" \
  267 + " console=ttyS0,$baudrate\0" \
  268 + LINUXBOOT_ENV_SETTINGS
244 269  
245 270 /* Open Firmware flat tree */
246 271 #define CONFIG_OF_LIBFDT