aboutsummaryrefslogtreecommitdiff
path: root/recipes-bsp/u-boot/files/v2017.03/0004-Add-HDMI-init-to-de10-env.patch
diff options
context:
space:
mode:
Diffstat (limited to 'recipes-bsp/u-boot/files/v2017.03/0004-Add-HDMI-init-to-de10-env.patch')
-rw-r--r--recipes-bsp/u-boot/files/v2017.03/0004-Add-HDMI-init-to-de10-env.patch129
1 files changed, 129 insertions, 0 deletions
diff --git a/recipes-bsp/u-boot/files/v2017.03/0004-Add-HDMI-init-to-de10-env.patch b/recipes-bsp/u-boot/files/v2017.03/0004-Add-HDMI-init-to-de10-env.patch
new file mode 100644
index 0000000..0631ab8
--- /dev/null
+++ b/recipes-bsp/u-boot/files/v2017.03/0004-Add-HDMI-init-to-de10-env.patch
@@ -0,0 +1,129 @@
+From 0dd9721f26df2b767f32042afb17bb7baf09c633 Mon Sep 17 00:00:00 2001
+From: Dalon Westergreen <dwesterg@gmail.com>
+Date: Sun, 12 Feb 2017 15:03:53 -0800
+Subject: [PATCH 4/6] Add HDMI init to de10 env
+
+This uses stand alone applications to probe the EDID data
+of the connected monitor and uses that information to
+setup the FPGA's HDMI pll as well as add the appropriate
+devicetree node to the devicetree
+
+Signed-off-by: Dalon Westergreen <dwesterg@gmail.com>
+---
+ include/configs/socfpga_de10_nano.h | 94 +++++++++++++++++++------------------
+ 1 file changed, 49 insertions(+), 45 deletions(-)
+
+diff --git a/include/configs/socfpga_de10_nano.h b/include/configs/socfpga_de10_nano.h
+index 1e57558..3a5f504 100644
+--- a/include/configs/socfpga_de10_nano.h
++++ b/include/configs/socfpga_de10_nano.h
+@@ -43,57 +43,61 @@
+ "ramdisk_addr_r=0x02300000\0" \
+ \
+ "fpga_cfg=" \
+- "env exists fpga_files || setenv fpga_files " \
++ "env exists fpga_file || setenv fpga_file " \
+ "${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" \
++ "if test -e mmc 0:1 ${fpga_file}; then " \
++ "load mmc 0:1 ${kernel_addr_r} " \
++ "${fpga_file}; " \
++ "fpga load 0 ${kernel_addr_r} " \
++ "${filesize}; " \
++ "bridge enable; " \
++ "fi;\0" \
+ \
++ "hdmi_init=" \
++ "run hdmi_cfg; " \
++ "if test \"${HDMI_status}\" = \"complete\"; then " \
++ "run hdmi_fdt_mod; " \
++ "fi;\0" \
++ "hdmi_fdt_mod=" \
++ "load mmc 0:1 ${fdt_addr} " \
++ "socfpga_cyclone5_de10_nano.dtb; " \
++ "fdt addr ${fdt_addr}; " \
++ "fdt resize; " \
++ "fdt mknode /soc framebuffer@3F000000; " \
++ "setenv fdt_frag /soc/framebuffer@3F000000; " \
++ "fdt set ${fdt_frag} compatible \"simple-framebuffer\"; "\
++ "fdt set ${fdt_frag} reg <0x3F000000 8294400>; " \
++ "fdt set ${fdt_frag} format \"x8r8g8b8\"; " \
++ "fdt set ${fdt_frag} width <${HDMI_h_active_pix}>; " \
++ "fdt set ${fdt_frag} height <${HDMI_v_active_lin}>; " \
++ "fdt set ${fdt_frag} stride <${HDMI_stride}>; " \
++ "fdt set /soc stdout-path \"display0\"; " \
++ "fdt set /aliases display0 \"/soc/framebuffer@3F000000\";"\
++ "sleep 2;\0" \
++ "HDMI_enable_dvi=" \
++ "no\0" \
++ "hdmi_cfg=" \
++ "i2c dev 2; " \
++ "load mmc 0:1 0x0c300000 STARTUP.BMP; " \
++ "load mmc 0:1 0x0c100000 de10_nano_hdmi_config.bin; " \
++ "go 0x0C100001; " \
++ "dcache flush;" \
++ "if test \"${HDMI_enable_dvi}\" = \"yes\"; then " \
++ "i2c mw 0x39 0xAF 0x04 0x01; " \
++ "fi;\0" \
++ "hdmi_dump_regs=" \
++ "i2c dev 2;icache flush; " \
++ "load mmc 0:1 0x0c100000 dump_adv7513_regs.bin; " \
++ "go 0x0C100001; icache flush;\0" \
++ "hdmi_dump_edid=" \
++ "i2c dev 2;icache flush; " \
++ "load mmc 0:1 0x0c100000 dump_adv7513_edid.bin; " \
++ "go 0x0C100001; icache flush;\0" \
+ BOOTENV
+
+ #endif
+
+-#define CONFIG_BOOTCOMMAND "run fpga_cfg; run distro_bootcmd"
++#define CONFIG_BOOTCOMMAND "run fpga_cfg; run hdmi_init; run distro_bootcmd"
+
+ /* The rest of the configuration is shared */
+ #include <configs/socfpga_common.h>
+--
+2.7.4
+