aboutsummaryrefslogtreecommitdiff
path: root/recipes-bsp/u-boot/files/v2017.03/0002-arm-socfpga-Update-DE0-Nano-SoC-to-support-distro-bo.patch
diff options
context:
space:
mode:
Diffstat (limited to 'recipes-bsp/u-boot/files/v2017.03/0002-arm-socfpga-Update-DE0-Nano-SoC-to-support-distro-bo.patch')
-rw-r--r--recipes-bsp/u-boot/files/v2017.03/0002-arm-socfpga-Update-DE0-Nano-SoC-to-support-distro-bo.patch138
1 files changed, 138 insertions, 0 deletions
diff --git a/recipes-bsp/u-boot/files/v2017.03/0002-arm-socfpga-Update-DE0-Nano-SoC-to-support-distro-bo.patch b/recipes-bsp/u-boot/files/v2017.03/0002-arm-socfpga-Update-DE0-Nano-SoC-to-support-distro-bo.patch
new file mode 100644
index 0000000..6673905
--- /dev/null
+++ b/recipes-bsp/u-boot/files/v2017.03/0002-arm-socfpga-Update-DE0-Nano-SoC-to-support-distro-bo.patch
@@ -0,0 +1,138 @@
+From 52dba58861c7c27659c30ee609c6c3438c7f88bb Mon Sep 17 00:00:00 2001
+From: Dalon Westergreen <dwesterg@gmail.com>
+Date: Mon, 6 Feb 2017 22:58:15 -0800
+Subject: [PATCH 2/6] arm: socfpga: Update DE0 Nano SoC to support distro boot
+
+Remove CONFIG_EXTRA_ENV_SETTINGS and relly on common enironment
+defined in socfpga_common.h This now suports distro boot
+
+Signed-off-by: Dalon Westergreen <dwesterg@gmail.com>
+---
+ configs/socfpga_de0_nano_soc_defconfig | 4 ++
+ include/configs/socfpga_de0_nano_soc.h | 80 +++++++++++++++++++++++++++-------
+ 2 files changed, 68 insertions(+), 16 deletions(-)
+
+diff --git a/configs/socfpga_de0_nano_soc_defconfig b/configs/socfpga_de0_nano_soc_defconfig
+index af41e1e..58139fa 100644
+--- a/configs/socfpga_de0_nano_soc_defconfig
++++ b/configs/socfpga_de0_nano_soc_defconfig
+@@ -4,6 +4,7 @@ CONFIG_SYS_MALLOC_F_LEN=0x2000
+ CONFIG_TARGET_SOCFPGA_TERASIC_DE0_NANO=y
+ CONFIG_SPL_STACK_R_ADDR=0x00800000
+ CONFIG_DEFAULT_DEVICE_TREE="socfpga_cyclone5_de0_nano_soc"
++CONFIG_DEFAULT_FDT_FILE="socfpga_cyclone5_de0_nano_soc.dtb"
+ CONFIG_FIT=y
+ CONFIG_SYS_CONSOLE_IS_IN_ENV=y
+ CONFIG_SYS_CONSOLE_OVERWRITE_ROUTINE=y
+@@ -58,3 +59,6 @@ CONFIG_G_DNL_MANUFACTURER="terasic"
+ CONFIG_G_DNL_VENDOR_NUM=0x0525
+ CONFIG_G_DNL_PRODUCT_NUM=0xa4a5
+ CONFIG_USE_TINY_PRINTF=y
++CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_USE_PARTITION_TYPE=y
++CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_PARTITION_TYPE=0xa2
++CONFIG_GENERIC_MMC=y
+\ No newline at end of file
+diff --git a/include/configs/socfpga_de0_nano_soc.h b/include/configs/socfpga_de0_nano_soc.h
+index f655972..b5bebbb 100644
+--- a/include/configs/socfpga_de0_nano_soc.h
++++ b/include/configs/socfpga_de0_nano_soc.h
+@@ -16,9 +16,8 @@
+ #define PHYS_SDRAM_1_SIZE 0x40000000 /* 1GiB */
+
+ /* Booting Linux */
+-#define CONFIG_BOOTFILE "fitImage"
++#define CONFIG_BOOTFILE "zImage"
+ #define CONFIG_BOOTARGS "console=ttyS0," __stringify(CONFIG_BAUDRATE)
+-#define CONFIG_BOOTCOMMAND "run mmcload; run mmcboot"
+ #define CONFIG_LOADADDR 0x01000000
+ #define CONFIG_SYS_LOAD_ADDR CONFIG_LOADADDR
+
+@@ -30,22 +29,71 @@
+
+ #define CONFIG_ENV_IS_IN_MMC
+
+-/* Extra Environment */
++#ifndef CONFIG_SPL_BUILD
+ #define CONFIG_EXTRA_ENV_SETTINGS \
+- "loadaddr=" __stringify(CONFIG_SYS_LOAD_ADDR) "\0" \
+- "ramboot=setenv bootargs " CONFIG_BOOTARGS ";" \
+- "bootm ${loadaddr} - ${fdt_addr}\0" \
+- "bootimage=zImage\0" \
++ "verify=n\0" \
++ "bootimage=" CONFIG_BOOTFILE "\0" \
+ "fdt_addr=100\0" \
+- "fdtimage=socfpga.dtb\0" \
+- "bootm ${loadaddr} - ${fdt_addr}\0" \
+- "mmcroot=/dev/mmcblk0p2\0" \
+- "mmcboot=setenv bootargs " CONFIG_BOOTARGS \
+- " root=${mmcroot} rw rootwait;" \
+- "bootz ${loadaddr} - ${fdt_addr}\0" \
+- "mmcload=mmc rescan;" \
+- "load mmc 0:1 ${loadaddr} ${bootimage};" \
+- "load mmc 0:1 ${fdt_addr} ${fdtimage}\0" \
++ "fdtfile=" CONFIG_DEFAULT_FDT_FILE "\0" \
++ "bootm_size=0xa000000\0" \
++ "kernel_addr_r="__stringify(CONFIG_SYS_LOAD_ADDR)"\0" \
++ "fdt_addr_r=0x02000000\0" \
++ "scriptaddr=0x02100000\0" \
++ "pxefile_addr_r=0x02200000\0" \
++ "ramdisk_addr_r=0x02300000\0" \
++ \
++ "fpga_cfg=" \
++ "env exists fpga_files || setenv fpga_files " \
++ "${board}.rbf; " \
++ "for target in ${boot_targets}; do " \
++ "run fpga_cfg_${target}; " \
++ "done\0" \
++ \
++ "fpga_cfg_mmc0=" \
++ "setenv devnum 0; " \
++ "setenv devtype mmc; " \
++ "run scan_dev_for_boot_part_fpga\0" \
++ \
++ "scan_dev_for_boot_part_fpga=" \
++ "part list ${devtype} ${devnum} -bootable devplist; " \
++ "env exists devplist || setenv devplist 1; " \
++ "for distro_bootpart in ${devplist}; do " \
++ "if fstype ${devtype} " \
++ "${devnum}:${distro_bootpart} " \
++ "bootfstype; then " \
++ "run scan_dev_for_boot_fpga; " \
++ "fi; " \
++ "done\0" \
++ \
++ "scan_dev_for_boot_fpga=" \
++ "echo Scanning ${devtype} " \
++ "${devnum}:${distro_bootpart}...; " \
++ "for prefix in ${boot_prefixes}; do " \
++ "run scan_dev_for_fpga; " \
++ "done\0" \
++ \
++ "scan_dev_for_fpga=" \
++ "for file in ${fpga_files}; do " \
++ "if test -e ${devtype} " \
++ "${devnum}:${distro_bootpart} " \
++ "${prefix}${file}; then " \
++ "echo Found FPGA Configuration " \
++ "${prefix}${file}; " \
++ "load ${devtype} " \
++ "${devnum}:${distro_bootpart} " \
++ "${kernel_addr_r} " \
++ "${prefix}${file}; " \
++ "fpga load 0 ${kernel_addr_r} " \
++ "${filesize}; " \
++ "bridge enable; " \
++ "fi; " \
++ "done\0" \
++ \
++ BOOTENV
++
++#endif
++
++#define CONFIG_BOOTCOMMAND "run fpga_cfg; run distro_bootcmd"
+
+ /* The rest of the configuration is shared */
+ #include <configs/socfpga_common.h>
+--
+2.7.4
+