From 9a293641b9abf9e4fca34f46a2de781f50847da9 Mon Sep 17 00:00:00 2001 From: "Westergreen, Dalon" Date: Wed, 29 Mar 2017 15:41:36 -0700 Subject: Initial commit of de10-nano recipes Please note that this is purely for development. Only superficial efforts have been made to resolve security concerns, and it should be noted that the board ships with an EMPTY ROOT PASSWORD and support for root login via ssh. This allows passwordless access to the board via ssh. recipes-bsp/u-boot: Contains the uboot 2017.03rc2 recipe and patches to support the de10-nano board recipes-connectivity/avahi: bbappend to remove unwanted packages recipes-connectivity/bluez: bbappend to add --compat to the bluetooth service to support legacy SDP APIs recipes-connectivity/openssh: bbappend to add a custom sshd_config recipes-core/base-files: bbappend to customize fstab and inputrc recipes-core/imagemagick: bbappend to change build configuration for the de10-nano board recipes-core/packagegroups: bbappend to remove an unwanted package recipes-core/webkit: bbappend to remove support for opengl recipes-demo: Various demo applications recipes-devtools: MRAA and UPM recipes recipes-images/angstrom/de10-nano-image.bb: DE10-Nano image definition recipes-kernel/de10-nano-linux-firmware: FPGA related firmware required for fpga configuration and devicetree overlay support recipes-kernel/linux: bbappend to customize configuration of linux kernel as well as patch in the de10-nano devicetree recipes-misc: various initialization and systemd scripts recipes-qt/qt5: bbappend to modify qt build options recipes-support/neon: bbappend to remove unwanted package recipes-support/upower: bbappend to remove unwanted package recipes-webserver: webserver configuration and webcontent for board hostedweb portal recipes-xfce/thunar-volman: bbappend to remove unwanted package recipes-xfce/xfce-pointers: add configuration so that xfce does not use the adxl input as a mouse recipes-xfce/xfce4-settings: bbappend to remove unwanted package Signed-off-by: Westergreen, Dalon --- README.md | 94 +- conf/layer.conf | 14 + conf/machine/de0-nano.conf | 20 + conf/machine/de10-nano.conf | 25 + conf/machine/include/de10-nano-common.inc | 43 + files/supported-recipes-de10-nano.txt | 357 +++ recipes-bsp/u-boot/files/STARTUP.BMP | Bin 0 -> 921738 bytes recipes-bsp/u-boot/files/STARTUP.BMP.LICENSE | 1 + ...-Move-CONFIG_EXTRA_ENV_SETTINGS-to-common.patch | 102 + ...-Update-DE0-Nano-SoC-to-support-distro-bo.patch | 138 ++ ...a-add-support-for-Terasic-DE10-Nano-board.patch | 1720 ++++++++++++++ .../v2017.03/0004-Add-HDMI-init-to-de10-env.patch | 129 ++ ...10-Nano-HDMI-configuration-and-debug-apps.patch | 2404 ++++++++++++++++++++ ...-fix-issue-with-warm-reset-when-CSEL-is-0.patch | 66 + recipes-bsp/u-boot/u-boot-socfpga_v2017.03.bb | 69 + recipes-connectivity/avahi/avahi_%.bbappend | 4 + recipes-connectivity/bluez/bluez5_5.41.bbappend | 10 + recipes-connectivity/bluez/files/bluetooth.service | 20 + recipes-connectivity/openssh/files/sshd_config | 119 + recipes-connectivity/openssh/openssh_%.bbappend | 1 + recipes-core/base-files/base-files/fstab | 6 + recipes-core/base-files/base-files/inputrc | 65 + recipes-core/base-files/base-files_%.bbappend | 6 + recipes-core/imagemagick/imagemagick_%.bbappend | 4 + .../packagegroups/packagegroup-basic.bbappend | 1 + recipes-core/webkit/webkitgtk_2.12.5.bbappend | 1 + .../de10-nano-adxl-apps/de10-nano-adxl-apps.bb | 95 + recipes-demo/de10-nano-adxl-apps/files/LICENSE | 22 + .../de10-nano-adxl-apps/files/README_SANDBOX.txt | 168 ++ .../de10-nano-adxl-apps/files/README_SRC.txt | 10 + .../de10-nano-adxl-apps/files/adxl_calibrate.sh | 20 + .../de10-nano-adxl-apps/files/bubble_demo.c | 609 +++++ .../de10-nano-adxl-apps/files/build_bubble_demo.sh | 22 + .../de10-nano-adxl-apps/files/build_tap_detect.sh | 22 + .../de10-nano-adxl-apps/files/build_watch_adxl.sh | 22 + .../de10-nano-adxl-apps/files/tap_detect.c | 103 + .../de10-nano-adxl-apps/files/watch_adxl.c | 277 +++ .../.atlas-soc-fftdriver-mod_0.1.bb.swp | Bin 0 -> 12288 bytes .../de10-nano-fftdriver-mod.bb | 23 + recipes-demo/de10-nano-fftdriver-mod/files/COPYING | 340 +++ .../de10-nano-fftdriver-mod/files/Makefile | 14 + .../de10-nano-fftdriver-mod/files/fft_driver.c | 2159 ++++++++++++++++++ .../de10-nano-fftdriver-mod/files/fft_driver.h | 76 + .../de10-nano-fftsw-apps/de10-nano-fftsw-apps.bb | 159 ++ recipes-demo/de10-nano-fftsw-apps/files/LICENSE | 22 + .../de10-nano-fftsw-apps/files/README_HOST.TXT | 154 ++ .../de10-nano-fftsw-apps/files/README_SANDBOX.TXT | 139 ++ .../files/README_SANDBOX_BUILD.TXT | 59 + .../de10-nano-fftsw-apps/files/README_TARGET.TXT | 114 + .../files/README_TARGET_BUILD.TXT | 151 ++ .../files/archive_for_target.sh | 68 + .../files/archive_src_for_sandbox.sh | 33 + .../files/archive_src_for_target.sh | 96 + .../de10-nano-fftsw-apps/files/build_all.sh | 85 + .../de10-nano-fftsw-apps/files/build_app.sh | 104 + .../de10-nano-fftsw-apps/files/build_lib.sh | 90 + recipes-demo/de10-nano-fftsw-apps/files/c16_256.c | 104 + .../de10-nano-fftsw-apps/files/c16_256x32.c | 109 + .../de10-nano-fftsw-apps/files/c16_256x32x128.c | 113 + recipes-demo/de10-nano-fftsw-apps/files/c16_4096.c | 104 + recipes-demo/de10-nano-fftsw-apps/files/c32_256.c | 104 + .../de10-nano-fftsw-apps/files/c32_256x32.c | 109 + .../de10-nano-fftsw-apps/files/c32_256x32x128.c | 113 + recipes-demo/de10-nano-fftsw-apps/files/c32_4096.c | 104 + .../de10-nano-fftsw-apps/files/clean_all.sh | 91 + .../de10-nano-fftsw-apps/files/copy_to_target.sh | 23 + .../files/create_input_waveforms.sh | 60 + .../files/create_real_short_sine32.c | 38 + .../files/create_real_short_square32.c | 35 + .../files/create_real_short_triangle32.c | 40 + .../files/de10-nano-fftsw-init.service | 10 + .../de10-nano-fftsw-apps/files/duplicate_x128.sh | 23 + .../de10-nano-fftsw-apps/files/duplicate_x32.sh | 23 + .../de10-nano-fftsw-apps/files/duplicate_x8.sh | 23 + recipes-demo/de10-nano-fftsw-apps/files/fft_256.c | 111 + .../de10-nano-fftsw-apps/files/fft_256x32.c | 113 + .../de10-nano-fftsw-apps/files/fft_256x32x128.c | 117 + recipes-demo/de10-nano-fftsw-apps/files/fft_4096.c | 111 + .../de10-nano-fftsw-apps/files/fftdma_256.c | 111 + .../de10-nano-fftsw-apps/files/fftdma_256x32.c | 113 + .../de10-nano-fftsw-apps/files/fftdma_256x32x128.c | 117 + .../de10-nano-fftsw-apps/files/fftdma_4096.c | 111 + .../files/images/README_IMAGES.TXT | 100 + .../files/images/create_gnuplot_sine_256.gnu | 28 + .../files/images/create_gnuplot_sine_256x32.gnu | 28 + .../files/images/create_gnuplot_sine_4096.gnu | 28 + .../files/images/create_gnuplot_squares_256.gnu | 28 + .../files/images/create_gnuplot_squares_256x32.gnu | 28 + .../files/images/create_gnuplot_squares_4096.gnu | 28 + .../files/images/create_gnuplot_triangle_256.gnu | 28 + .../images/create_gnuplot_triangle_256x32.gnu | 28 + .../files/images/create_gnuplot_triangle_4096.gnu | 28 + .../files/images/create_montage_sine_256.sh | 15 + .../files/images/create_montage_sine_256x32.sh | 15 + .../files/images/create_montage_sine_4096.sh | 15 + .../files/images/create_montage_squares_256.sh | 15 + .../files/images/create_montage_squares_256x32.sh | 15 + .../files/images/create_montage_squares_4096.sh | 15 + .../files/images/create_montage_triangle_256.sh | 15 + .../files/images/create_montage_triangle_256x32.sh | 15 + .../files/images/create_montage_triangle_4096.sh | 15 + .../files/ne10cpx_long_to_text.c | 48 + .../files/ne10cpx_short_to_text.c | 48 + .../de10-nano-fftsw-apps/files/neon16_256.c | 104 + .../de10-nano-fftsw-apps/files/neon16_256x32.c | 109 + .../de10-nano-fftsw-apps/files/neon16_256x32x128.c | 113 + .../de10-nano-fftsw-apps/files/neon16_4096.c | 104 + .../de10-nano-fftsw-apps/files/neon32_256.c | 104 + .../de10-nano-fftsw-apps/files/neon32_256x32.c | 109 + .../de10-nano-fftsw-apps/files/neon32_256x32x128.c | 113 + .../de10-nano-fftsw-apps/files/neon32_4096.c | 104 + recipes-demo/de10-nano-fftsw-apps/files/overhead.c | 219 ++ .../files/real_short_to_ne10cpx_long.c | 58 + .../files/real_short_to_ne10cpx_short.c | 58 + recipes-demo/de10-nano-fftsw-apps/files/run_all.sh | 24 + .../de10-nano-fftsw-apps/files/run_fft_256.sh | 48 + .../de10-nano-fftsw-apps/files/run_fft_256x32.sh | 48 + .../files/run_fft_256x32x128.sh | 49 + .../de10-nano-fftsw-apps/files/run_fft_4096.sh | 48 + .../files/run_stream_256x16x1.sh | 31 + .../files/run_stream_256x1x1.sh | 31 + .../files/run_stream_256x32x128.sh | 31 + .../files/sandbox_build_all.sh | 52 + .../files/sandbox_create_input_waveforms.sh | 49 + .../de10-nano-fftsw-apps/files/setup_env.src | 8 + .../files/setup_target_fft_env.sh | 167 ++ .../files/stream_fpga_256x16x1.c | 118 + .../files/stream_fpga_256x1x1.c | 118 + .../files/stream_fpga_256x32x128.c | 118 + .../files/stream_neon32_256x16x1.c | 133 ++ .../files/stream_neon32_256x1x1.c | 133 ++ .../files/stream_neon32_256x32x128.c | 133 ++ .../files/stream_raw_256x16x1.c | 114 + .../files/stream_raw_256x1x1.c | 114 + .../files/stream_raw_256x32x128.c | 114 + .../de10-nano-fftsw-apps/files/target_build_all.sh | 84 + .../de10-nano-fftsw-apps/files/target_build_app.sh | 95 + .../de10-nano-fftsw-apps/files/target_build_lib.sh | 85 + .../de10-nano-gpio-apps/de10-nano-gpio-apps.bb | 84 + recipes-demo/de10-nano-gpio-apps/files/LICENSE | 22 + .../de10-nano-gpio-apps/files/README_first.txt | 31 + .../de10-nano-gpio-apps/files/README_gpio-keys.txt | 232 ++ .../de10-nano-gpio-apps/files/README_gpio-leds.txt | 182 ++ .../de10-nano-gpio-apps/files/README_gpio.txt | 358 +++ .../files/build_poll_KEY0_pb_state.sh | 22 + .../files/build_show_KEY0_pb_state.sh | 22 + .../files/build_toggle_fpga_leds.sh | 22 + .../files/build_watch_switch_events.sh | 22 + .../files/build_watch_switch_events_ioctl.sh | 22 + .../files/find_gpio_controllers_dt.src | 27 + .../files/find_gpio_keys_dt.src | 36 + .../files/find_gpio_leds_dt.src | 34 + .../de10-nano-gpio-apps/files/poll_KEY0_pb_state.c | 221 ++ .../de10-nano-gpio-apps/files/show_KEY0_pb_state.c | 186 ++ .../files/show_KEY0_pb_state.sh | 24 + .../de10-nano-gpio-apps/files/toggle_fpga_leds.c | 133 ++ .../de10-nano-gpio-apps/files/toggle_fpga_leds.sh | 28 + .../files/watch_switch_events.c | 60 + .../files/watch_switch_events.sh | 47 + .../files/watch_switch_events_ioctl.c | 74 + .../de10-nano-qt-usb-gadget-app.bb | 37 + .../de10-nano-qt-usb-gadget-app/files/LICENSE | 22 + .../files/USB_Gadget.pro | 24 + .../files/USB_Gadget.pro.user | 626 +++++ .../de10-nano-qt-usb-gadget-app/files/dialog.cpp | 160 ++ .../de10-nano-qt-usb-gadget-app/files/dialog.h | 34 + .../de10-nano-qt-usb-gadget-app/files/dialog.ui | 146 ++ .../de10-nano-qt-usb-gadget-app/files/main.cpp | 11 + .../files/mainwindow.cpp | 14 + .../de10-nano-qt-usb-gadget-app/files/mainwindow.h | 22 + .../files/mainwindow.ui | 24 + recipes-devtools/mraa/mraa.inc | 57 + recipes-devtools/mraa/mraa_1.5.1.bb | 12 + recipes-devtools/upm/upm_1.1.0.bb | 44 + recipes-extended/quota/quota_4.03.bbappend | 1 + .../xserver-common/xserver-common_1.34.bbappend | 1 + recipes-images/angstrom/de10-nano-image.bb | 68 + .../de10-nano-linux-firmware.bb | 48 + .../linux/config/socfpga-4.1-ltsi/cfg/block.cfg | 3 + .../config/socfpga-4.1-ltsi/cfg/bluetooth.cfg | 51 + .../linux/config/socfpga-4.1-ltsi/cfg/configfs.cfg | 14 + .../socfpga-4.1-ltsi/cfg/framebuffer-console.cfg | 12 + .../config/socfpga-4.1-ltsi/cfg/framebuffer.cfg | 62 + .../config/socfpga-4.1-ltsi/cfg/gpio-keys.cfg | 3 + .../config/socfpga-4.1-ltsi/cfg/input_misc.cfg | 21 + .../config/socfpga-4.1-ltsi/cfg/led-triggers.cfg | 11 + .../linux/config/socfpga-4.1-ltsi/cfg/uart.cfg | 12 + .../config/socfpga-4.1-ltsi/cfg/usb_gadget.cfg | 30 + .../linux/config/socfpga-4.1-ltsi/cfg/usb_vid.cfg | 167 ++ .../linux/config/socfpga-4.1-ltsi/cfg/wireless.cfg | 136 ++ .../patches/0001-Add-DE10-Nano-devicetree.patch | 143 ++ .../linux/linux-altera-ltsi_4.1%.bbappend | 27 + .../de10-nano-fpga-init/de10-nano-fpga-init.bb | 37 + .../files/de10-nano-fpga-init.service | 9 + .../files/de10-nano-fpga-init.sh | 56 + .../de10-nano-fpga-leds/de10-nano-fpga-leds.bb | 37 + .../files/de10-nano-fpga-leds.service | 10 + .../files/de10-nano-fpga-leds.sh | 34 + .../de10-nano-synergy-init.bb | 31 + .../files/de10-nano-synergy-init.service | 12 + .../de10-nano-usb-gadget/de10-nano-usb-gadget.bb | 63 + .../files/de10-nano-gadget-init.service | 10 + .../files/de10-nano-gadget-init.sh | 10 + .../de10-nano-usb-gadget/files/udhcpd.conf | 5 + .../de10-nano-x11vnc-init/de10-nano-x11vnc-init.bb | 36 + .../files/de10-nano-x11vnc-init.service | 9 + .../files/de10-nano-x11vnc-init.sh | 29 + .../de10-nano-xfce-init/de10-nano-xfce-init.bb | 32 + .../files/de10-nano-xfce-init.service | 10 + recipes-qt/qt5/qtbase_git.bbappend | 3 + recipes-support/neon/neon_0.30.1.bbappend | 1 + recipes-support/upower/upower_%.bbappend | 1 + .../de10-nano-lighttpd-conf.bb | 24 + .../de10-nano-webcontent/de10-nano-webcontent.bb | 39 + .../thunar-volman/thunar-volman_%.bbappend | 1 + .../xfce-pointers/de10-nano-xfce-pointers.bb | 32 + recipes-xfce/xfce-pointers/files/pointers.xml | 13 + .../xfce4-settings/xfce4-settings_%.bbappend | 3 + 218 files changed, 21006 insertions(+), 1 deletion(-) create mode 100644 conf/layer.conf create mode 100644 conf/machine/de0-nano.conf create mode 100644 conf/machine/de10-nano.conf create mode 100644 conf/machine/include/de10-nano-common.inc create mode 100644 files/supported-recipes-de10-nano.txt create mode 100644 recipes-bsp/u-boot/files/STARTUP.BMP create mode 100644 recipes-bsp/u-boot/files/STARTUP.BMP.LICENSE create mode 100644 recipes-bsp/u-boot/files/v2017.03/0001-arm-socfpga-Move-CONFIG_EXTRA_ENV_SETTINGS-to-common.patch create mode 100644 recipes-bsp/u-boot/files/v2017.03/0002-arm-socfpga-Update-DE0-Nano-SoC-to-support-distro-bo.patch create mode 100644 recipes-bsp/u-boot/files/v2017.03/0003-arm-socfpga-add-support-for-Terasic-DE10-Nano-board.patch create mode 100644 recipes-bsp/u-boot/files/v2017.03/0004-Add-HDMI-init-to-de10-env.patch create mode 100644 recipes-bsp/u-boot/files/v2017.03/0005-Add-DE10-Nano-HDMI-configuration-and-debug-apps.patch create mode 100644 recipes-bsp/u-boot/files/v2017.03/0006-arm-socfpga-fix-issue-with-warm-reset-when-CSEL-is-0.patch create mode 100644 recipes-bsp/u-boot/u-boot-socfpga_v2017.03.bb create mode 100644 recipes-connectivity/avahi/avahi_%.bbappend create mode 100644 recipes-connectivity/bluez/bluez5_5.41.bbappend create mode 100644 recipes-connectivity/bluez/files/bluetooth.service create mode 100644 recipes-connectivity/openssh/files/sshd_config create mode 100644 recipes-connectivity/openssh/openssh_%.bbappend create mode 100644 recipes-core/base-files/base-files/fstab create mode 100644 recipes-core/base-files/base-files/inputrc create mode 100644 recipes-core/base-files/base-files_%.bbappend create mode 100644 recipes-core/imagemagick/imagemagick_%.bbappend create mode 100644 recipes-core/packagegroups/packagegroup-basic.bbappend create mode 100644 recipes-core/webkit/webkitgtk_2.12.5.bbappend create mode 100644 recipes-demo/de10-nano-adxl-apps/de10-nano-adxl-apps.bb create mode 100644 recipes-demo/de10-nano-adxl-apps/files/LICENSE create mode 100644 recipes-demo/de10-nano-adxl-apps/files/README_SANDBOX.txt create mode 100644 recipes-demo/de10-nano-adxl-apps/files/README_SRC.txt create mode 100755 recipes-demo/de10-nano-adxl-apps/files/adxl_calibrate.sh create mode 100644 recipes-demo/de10-nano-adxl-apps/files/bubble_demo.c create mode 100755 recipes-demo/de10-nano-adxl-apps/files/build_bubble_demo.sh create mode 100755 recipes-demo/de10-nano-adxl-apps/files/build_tap_detect.sh create mode 100755 recipes-demo/de10-nano-adxl-apps/files/build_watch_adxl.sh create mode 100644 recipes-demo/de10-nano-adxl-apps/files/tap_detect.c create mode 100644 recipes-demo/de10-nano-adxl-apps/files/watch_adxl.c create mode 100644 recipes-demo/de10-nano-fftdriver-mod/.atlas-soc-fftdriver-mod_0.1.bb.swp create mode 100644 recipes-demo/de10-nano-fftdriver-mod/de10-nano-fftdriver-mod.bb create mode 100644 recipes-demo/de10-nano-fftdriver-mod/files/COPYING create mode 100644 recipes-demo/de10-nano-fftdriver-mod/files/Makefile create mode 100644 recipes-demo/de10-nano-fftdriver-mod/files/fft_driver.c create mode 100644 recipes-demo/de10-nano-fftdriver-mod/files/fft_driver.h create mode 100644 recipes-demo/de10-nano-fftsw-apps/de10-nano-fftsw-apps.bb create mode 100644 recipes-demo/de10-nano-fftsw-apps/files/LICENSE create mode 100644 recipes-demo/de10-nano-fftsw-apps/files/README_HOST.TXT create mode 100644 recipes-demo/de10-nano-fftsw-apps/files/README_SANDBOX.TXT create mode 100644 recipes-demo/de10-nano-fftsw-apps/files/README_SANDBOX_BUILD.TXT create mode 100644 recipes-demo/de10-nano-fftsw-apps/files/README_TARGET.TXT create mode 100644 recipes-demo/de10-nano-fftsw-apps/files/README_TARGET_BUILD.TXT create mode 100755 recipes-demo/de10-nano-fftsw-apps/files/archive_for_target.sh create mode 100755 recipes-demo/de10-nano-fftsw-apps/files/archive_src_for_sandbox.sh create mode 100755 recipes-demo/de10-nano-fftsw-apps/files/archive_src_for_target.sh create mode 100755 recipes-demo/de10-nano-fftsw-apps/files/build_all.sh create mode 100755 recipes-demo/de10-nano-fftsw-apps/files/build_app.sh create mode 100755 recipes-demo/de10-nano-fftsw-apps/files/build_lib.sh create mode 100644 recipes-demo/de10-nano-fftsw-apps/files/c16_256.c create mode 100644 recipes-demo/de10-nano-fftsw-apps/files/c16_256x32.c create mode 100644 recipes-demo/de10-nano-fftsw-apps/files/c16_256x32x128.c create mode 100644 recipes-demo/de10-nano-fftsw-apps/files/c16_4096.c create mode 100644 recipes-demo/de10-nano-fftsw-apps/files/c32_256.c create mode 100644 recipes-demo/de10-nano-fftsw-apps/files/c32_256x32.c create mode 100644 recipes-demo/de10-nano-fftsw-apps/files/c32_256x32x128.c create mode 100644 recipes-demo/de10-nano-fftsw-apps/files/c32_4096.c create mode 100755 recipes-demo/de10-nano-fftsw-apps/files/clean_all.sh create mode 100755 recipes-demo/de10-nano-fftsw-apps/files/copy_to_target.sh create mode 100755 recipes-demo/de10-nano-fftsw-apps/files/create_input_waveforms.sh create mode 100644 recipes-demo/de10-nano-fftsw-apps/files/create_real_short_sine32.c create mode 100644 recipes-demo/de10-nano-fftsw-apps/files/create_real_short_square32.c create mode 100644 recipes-demo/de10-nano-fftsw-apps/files/create_real_short_triangle32.c create mode 100644 recipes-demo/de10-nano-fftsw-apps/files/de10-nano-fftsw-init.service create mode 100755 recipes-demo/de10-nano-fftsw-apps/files/duplicate_x128.sh create mode 100755 recipes-demo/de10-nano-fftsw-apps/files/duplicate_x32.sh create mode 100755 recipes-demo/de10-nano-fftsw-apps/files/duplicate_x8.sh create mode 100644 recipes-demo/de10-nano-fftsw-apps/files/fft_256.c create mode 100644 recipes-demo/de10-nano-fftsw-apps/files/fft_256x32.c create mode 100644 recipes-demo/de10-nano-fftsw-apps/files/fft_256x32x128.c create mode 100644 recipes-demo/de10-nano-fftsw-apps/files/fft_4096.c create mode 100644 recipes-demo/de10-nano-fftsw-apps/files/fftdma_256.c create mode 100644 recipes-demo/de10-nano-fftsw-apps/files/fftdma_256x32.c create mode 100644 recipes-demo/de10-nano-fftsw-apps/files/fftdma_256x32x128.c create mode 100644 recipes-demo/de10-nano-fftsw-apps/files/fftdma_4096.c create mode 100644 recipes-demo/de10-nano-fftsw-apps/files/images/README_IMAGES.TXT create mode 100755 recipes-demo/de10-nano-fftsw-apps/files/images/create_gnuplot_sine_256.gnu create mode 100755 recipes-demo/de10-nano-fftsw-apps/files/images/create_gnuplot_sine_256x32.gnu create mode 100755 recipes-demo/de10-nano-fftsw-apps/files/images/create_gnuplot_sine_4096.gnu create mode 100755 recipes-demo/de10-nano-fftsw-apps/files/images/create_gnuplot_squares_256.gnu create mode 100755 recipes-demo/de10-nano-fftsw-apps/files/images/create_gnuplot_squares_256x32.gnu create mode 100755 recipes-demo/de10-nano-fftsw-apps/files/images/create_gnuplot_squares_4096.gnu create mode 100755 recipes-demo/de10-nano-fftsw-apps/files/images/create_gnuplot_triangle_256.gnu create mode 100755 recipes-demo/de10-nano-fftsw-apps/files/images/create_gnuplot_triangle_256x32.gnu create mode 100755 recipes-demo/de10-nano-fftsw-apps/files/images/create_gnuplot_triangle_4096.gnu create mode 100755 recipes-demo/de10-nano-fftsw-apps/files/images/create_montage_sine_256.sh create mode 100755 recipes-demo/de10-nano-fftsw-apps/files/images/create_montage_sine_256x32.sh create mode 100755 recipes-demo/de10-nano-fftsw-apps/files/images/create_montage_sine_4096.sh create mode 100755 recipes-demo/de10-nano-fftsw-apps/files/images/create_montage_squares_256.sh create mode 100755 recipes-demo/de10-nano-fftsw-apps/files/images/create_montage_squares_256x32.sh create mode 100755 recipes-demo/de10-nano-fftsw-apps/files/images/create_montage_squares_4096.sh create mode 100755 recipes-demo/de10-nano-fftsw-apps/files/images/create_montage_triangle_256.sh create mode 100755 recipes-demo/de10-nano-fftsw-apps/files/images/create_montage_triangle_256x32.sh create mode 100755 recipes-demo/de10-nano-fftsw-apps/files/images/create_montage_triangle_4096.sh create mode 100644 recipes-demo/de10-nano-fftsw-apps/files/ne10cpx_long_to_text.c create mode 100644 recipes-demo/de10-nano-fftsw-apps/files/ne10cpx_short_to_text.c create mode 100644 recipes-demo/de10-nano-fftsw-apps/files/neon16_256.c create mode 100644 recipes-demo/de10-nano-fftsw-apps/files/neon16_256x32.c create mode 100644 recipes-demo/de10-nano-fftsw-apps/files/neon16_256x32x128.c create mode 100644 recipes-demo/de10-nano-fftsw-apps/files/neon16_4096.c create mode 100644 recipes-demo/de10-nano-fftsw-apps/files/neon32_256.c create mode 100644 recipes-demo/de10-nano-fftsw-apps/files/neon32_256x32.c create mode 100644 recipes-demo/de10-nano-fftsw-apps/files/neon32_256x32x128.c create mode 100644 recipes-demo/de10-nano-fftsw-apps/files/neon32_4096.c create mode 100644 recipes-demo/de10-nano-fftsw-apps/files/overhead.c create mode 100644 recipes-demo/de10-nano-fftsw-apps/files/real_short_to_ne10cpx_long.c create mode 100644 recipes-demo/de10-nano-fftsw-apps/files/real_short_to_ne10cpx_short.c create mode 100755 recipes-demo/de10-nano-fftsw-apps/files/run_all.sh create mode 100755 recipes-demo/de10-nano-fftsw-apps/files/run_fft_256.sh create mode 100755 recipes-demo/de10-nano-fftsw-apps/files/run_fft_256x32.sh create mode 100755 recipes-demo/de10-nano-fftsw-apps/files/run_fft_256x32x128.sh create mode 100755 recipes-demo/de10-nano-fftsw-apps/files/run_fft_4096.sh create mode 100755 recipes-demo/de10-nano-fftsw-apps/files/run_stream_256x16x1.sh create mode 100755 recipes-demo/de10-nano-fftsw-apps/files/run_stream_256x1x1.sh create mode 100755 recipes-demo/de10-nano-fftsw-apps/files/run_stream_256x32x128.sh create mode 100755 recipes-demo/de10-nano-fftsw-apps/files/sandbox_build_all.sh create mode 100755 recipes-demo/de10-nano-fftsw-apps/files/sandbox_create_input_waveforms.sh create mode 100644 recipes-demo/de10-nano-fftsw-apps/files/setup_env.src create mode 100755 recipes-demo/de10-nano-fftsw-apps/files/setup_target_fft_env.sh create mode 100644 recipes-demo/de10-nano-fftsw-apps/files/stream_fpga_256x16x1.c create mode 100644 recipes-demo/de10-nano-fftsw-apps/files/stream_fpga_256x1x1.c create mode 100644 recipes-demo/de10-nano-fftsw-apps/files/stream_fpga_256x32x128.c create mode 100644 recipes-demo/de10-nano-fftsw-apps/files/stream_neon32_256x16x1.c create mode 100644 recipes-demo/de10-nano-fftsw-apps/files/stream_neon32_256x1x1.c create mode 100644 recipes-demo/de10-nano-fftsw-apps/files/stream_neon32_256x32x128.c create mode 100644 recipes-demo/de10-nano-fftsw-apps/files/stream_raw_256x16x1.c create mode 100644 recipes-demo/de10-nano-fftsw-apps/files/stream_raw_256x1x1.c create mode 100644 recipes-demo/de10-nano-fftsw-apps/files/stream_raw_256x32x128.c create mode 100755 recipes-demo/de10-nano-fftsw-apps/files/target_build_all.sh create mode 100755 recipes-demo/de10-nano-fftsw-apps/files/target_build_app.sh create mode 100755 recipes-demo/de10-nano-fftsw-apps/files/target_build_lib.sh create mode 100644 recipes-demo/de10-nano-gpio-apps/de10-nano-gpio-apps.bb create mode 100644 recipes-demo/de10-nano-gpio-apps/files/LICENSE create mode 100644 recipes-demo/de10-nano-gpio-apps/files/README_first.txt create mode 100644 recipes-demo/de10-nano-gpio-apps/files/README_gpio-keys.txt create mode 100644 recipes-demo/de10-nano-gpio-apps/files/README_gpio-leds.txt create mode 100644 recipes-demo/de10-nano-gpio-apps/files/README_gpio.txt create mode 100755 recipes-demo/de10-nano-gpio-apps/files/build_poll_KEY0_pb_state.sh create mode 100755 recipes-demo/de10-nano-gpio-apps/files/build_show_KEY0_pb_state.sh create mode 100755 recipes-demo/de10-nano-gpio-apps/files/build_toggle_fpga_leds.sh create mode 100755 recipes-demo/de10-nano-gpio-apps/files/build_watch_switch_events.sh create mode 100755 recipes-demo/de10-nano-gpio-apps/files/build_watch_switch_events_ioctl.sh create mode 100644 recipes-demo/de10-nano-gpio-apps/files/find_gpio_controllers_dt.src create mode 100644 recipes-demo/de10-nano-gpio-apps/files/find_gpio_keys_dt.src create mode 100644 recipes-demo/de10-nano-gpio-apps/files/find_gpio_leds_dt.src create mode 100644 recipes-demo/de10-nano-gpio-apps/files/poll_KEY0_pb_state.c create mode 100644 recipes-demo/de10-nano-gpio-apps/files/show_KEY0_pb_state.c create mode 100755 recipes-demo/de10-nano-gpio-apps/files/show_KEY0_pb_state.sh create mode 100644 recipes-demo/de10-nano-gpio-apps/files/toggle_fpga_leds.c create mode 100755 recipes-demo/de10-nano-gpio-apps/files/toggle_fpga_leds.sh create mode 100644 recipes-demo/de10-nano-gpio-apps/files/watch_switch_events.c create mode 100755 recipes-demo/de10-nano-gpio-apps/files/watch_switch_events.sh create mode 100644 recipes-demo/de10-nano-gpio-apps/files/watch_switch_events_ioctl.c create mode 100644 recipes-demo/de10-nano-qt-usb-gadget-app/de10-nano-qt-usb-gadget-app.bb create mode 100644 recipes-demo/de10-nano-qt-usb-gadget-app/files/LICENSE create mode 100644 recipes-demo/de10-nano-qt-usb-gadget-app/files/USB_Gadget.pro create mode 100644 recipes-demo/de10-nano-qt-usb-gadget-app/files/USB_Gadget.pro.user create mode 100644 recipes-demo/de10-nano-qt-usb-gadget-app/files/dialog.cpp create mode 100644 recipes-demo/de10-nano-qt-usb-gadget-app/files/dialog.h create mode 100644 recipes-demo/de10-nano-qt-usb-gadget-app/files/dialog.ui create mode 100644 recipes-demo/de10-nano-qt-usb-gadget-app/files/main.cpp create mode 100644 recipes-demo/de10-nano-qt-usb-gadget-app/files/mainwindow.cpp create mode 100644 recipes-demo/de10-nano-qt-usb-gadget-app/files/mainwindow.h create mode 100644 recipes-demo/de10-nano-qt-usb-gadget-app/files/mainwindow.ui create mode 100644 recipes-devtools/mraa/mraa.inc create mode 100644 recipes-devtools/mraa/mraa_1.5.1.bb create mode 100644 recipes-devtools/upm/upm_1.1.0.bb create mode 100644 recipes-extended/quota/quota_4.03.bbappend create mode 100644 recipes-graphics/xserver-common/xserver-common_1.34.bbappend create mode 100644 recipes-images/angstrom/de10-nano-image.bb create mode 100644 recipes-kernel/de10-nano-linux-firmware/de10-nano-linux-firmware.bb create mode 100644 recipes-kernel/linux/config/socfpga-4.1-ltsi/cfg/block.cfg create mode 100644 recipes-kernel/linux/config/socfpga-4.1-ltsi/cfg/bluetooth.cfg create mode 100644 recipes-kernel/linux/config/socfpga-4.1-ltsi/cfg/configfs.cfg create mode 100644 recipes-kernel/linux/config/socfpga-4.1-ltsi/cfg/framebuffer-console.cfg create mode 100644 recipes-kernel/linux/config/socfpga-4.1-ltsi/cfg/framebuffer.cfg create mode 100644 recipes-kernel/linux/config/socfpga-4.1-ltsi/cfg/gpio-keys.cfg create mode 100644 recipes-kernel/linux/config/socfpga-4.1-ltsi/cfg/input_misc.cfg create mode 100644 recipes-kernel/linux/config/socfpga-4.1-ltsi/cfg/led-triggers.cfg create mode 100644 recipes-kernel/linux/config/socfpga-4.1-ltsi/cfg/uart.cfg create mode 100644 recipes-kernel/linux/config/socfpga-4.1-ltsi/cfg/usb_gadget.cfg create mode 100644 recipes-kernel/linux/config/socfpga-4.1-ltsi/cfg/usb_vid.cfg create mode 100644 recipes-kernel/linux/config/socfpga-4.1-ltsi/cfg/wireless.cfg create mode 100644 recipes-kernel/linux/config/socfpga-4.1-ltsi/patches/0001-Add-DE10-Nano-devicetree.patch create mode 100644 recipes-kernel/linux/linux-altera-ltsi_4.1%.bbappend create mode 100644 recipes-misc/de10-nano-fpga-init/de10-nano-fpga-init.bb create mode 100644 recipes-misc/de10-nano-fpga-init/files/de10-nano-fpga-init.service create mode 100755 recipes-misc/de10-nano-fpga-init/files/de10-nano-fpga-init.sh create mode 100644 recipes-misc/de10-nano-fpga-leds/de10-nano-fpga-leds.bb create mode 100644 recipes-misc/de10-nano-fpga-leds/files/de10-nano-fpga-leds.service create mode 100755 recipes-misc/de10-nano-fpga-leds/files/de10-nano-fpga-leds.sh create mode 100644 recipes-misc/de10-nano-synergy-init/de10-nano-synergy-init.bb create mode 100644 recipes-misc/de10-nano-synergy-init/files/de10-nano-synergy-init.service create mode 100644 recipes-misc/de10-nano-usb-gadget/de10-nano-usb-gadget.bb create mode 100644 recipes-misc/de10-nano-usb-gadget/files/de10-nano-gadget-init.service create mode 100644 recipes-misc/de10-nano-usb-gadget/files/de10-nano-gadget-init.sh create mode 100644 recipes-misc/de10-nano-usb-gadget/files/udhcpd.conf create mode 100644 recipes-misc/de10-nano-x11vnc-init/de10-nano-x11vnc-init.bb create mode 100644 recipes-misc/de10-nano-x11vnc-init/files/de10-nano-x11vnc-init.service create mode 100644 recipes-misc/de10-nano-x11vnc-init/files/de10-nano-x11vnc-init.sh create mode 100644 recipes-misc/de10-nano-xfce-init/de10-nano-xfce-init.bb create mode 100644 recipes-misc/de10-nano-xfce-init/files/de10-nano-xfce-init.service create mode 100644 recipes-qt/qt5/qtbase_git.bbappend create mode 100644 recipes-support/neon/neon_0.30.1.bbappend create mode 100644 recipes-support/upower/upower_%.bbappend create mode 100644 recipes-webserver/de10-nano-lighttpd-conf/de10-nano-lighttpd-conf.bb create mode 100644 recipes-webserver/de10-nano-webcontent/de10-nano-webcontent.bb create mode 100644 recipes-xfce/thunar-volman/thunar-volman_%.bbappend create mode 100644 recipes-xfce/xfce-pointers/de10-nano-xfce-pointers.bb create mode 100644 recipes-xfce/xfce-pointers/files/pointers.xml create mode 100644 recipes-xfce/xfce4-settings/xfce4-settings_%.bbappend diff --git a/README.md b/README.md index 2c0841f..538c03b 100644 --- a/README.md +++ b/README.md @@ -1 +1,93 @@ -Angstrom / Yocto layer to support the DE0-Nano and DE10-Nano boards +# Layer to support the DE10-Nano board + +## Objective +This layer provides support for building a demonstration and development image of linux for the [Terasic DE10-Nano kit](https://www.terasic.com.tw/cgi-bin/page/archive.pl?Language=English&CategoryNo=205&No=1046&PartNo=8) development board. + +## Build Intructions +Please refer to [README.md](https://github.com/Angstrom-distribution/angstrom-manifest/blob/master/README.md) for any prerequisits, these instuctions assume prerequisits have been met. Please also note the instructions for configuring proxies. + +### Step 1: Cloning the manifest +We need to clone the manifest to get all of the recipes required for building +``` +mkdir de10-nano-build +cd de10-nano-build +repo init -u git://github.com/Angstrom-distribution/angstrom-manifest -b angstrom-v2016.12-yocto2.2 +``` +### Step 2: Add the meta-de10-nano layer +The default manifests do not include the meta-de10-layer. We will add the layer, and tidy up some issue encountered with errant layers. + +``` +mkdir .repo/local_manifests +``` +Now using your favorite editor, create a file .repo/local_manifests/de10-nano.xml and put the following in it: + +``` + + + + + + + + + +``` + +### Step 3: Fetch the repositories provided in the manifest +``` +repo sync +``` + +### Step 4: Build +This will take a few hours. +``` +MACHINE=de10-nano . ./setup-environment +bitbake de10-nano-image +``` + +## What next? +The result of this lengthy build is an SDCard image that can be burned to allow the Terasic DE10-Nano Kit to boot Linux\*. The image provides access via serial port, a graphical interface, USB, and Ethernet. As part of the build, the recipes populate an FPGA image as well as the associated devicetrees. + +The build output is located in deploy/glibc/images/de10-nano/ + +``` +[de10-nano]$ ls +Angstrom-de10-nano-image-glibc-ipk-v2016.12-de10-nano.rootfs.cpio de10-nano.rbf u-boot-de10-nano.img +Angstrom-de10-nano-image-glibc-ipk-v2016.12-de10-nano.rootfs.ext3 dump_adv7513_edid.bin u-boot-de10-nano.img-de10-nano +Angstrom-de10-nano-image-glibc-ipk-v2016.12-de10-nano.rootfs.manifest dump_adv7513_edid.srec u-boot-de10-nano-v2017.03+gitAUTOINC+d03450606b-r0.img +Angstrom-de10-nano-image-glibc-ipk-v2016.12-de10-nano.rootfs.socfpga-sdimg dump_adv7513_regs.bin u-boot.img +Angstrom-de10-nano-image-glibc-ipk-v2016.12-de10-nano.rootfs.tar.gz dump_adv7513_regs.srec u-boot.img-de10-nano +Angstrom-de10-nano-image-glibc-ipk-v2016.12-de10-nano.rootfs.tar.xz extlinux.conf u-boot-with-spl.sfp +de10_nano_hdmi_config.bin extlinux.conf-de10-nano u-boot-with-spl.sfp-de10-nano +de10_nano_hdmi_config.srec extlinux.conf-de10-nano-r0 u-boot-with-spl.sfp-de10-nano-de10-nano +de10-nano-image-Angstrom-v2016.12.socfpga-sdimg LICENSE.de10-nano.rbf u-boot-with-spl.sfp-de10-nano-v2017.03+gitAUTOINC+d03450606b-r0-de10-nano-v2017.03+gitAUTOINC+d03450606b-r0 +de10-nano-image-de10-nano.cpio Log.txt zImage +de10-nano-image-de10-nano.ext3 modules--4.1.33-ltsi+git0+b84195c056-r0.1-de10-nano-20170330172917.tgz zImage--4.1.33-ltsi+git0+b84195c056-r0.1-de10-nano-20170330172917.bin +de10-nano-image-de10-nano.manifest modules-de10-nano.tgz zImage--4.1.33-ltsi+git0+b84195c056-r0.1-socfpga_cyclone5_de10_nano-20170330172917.dtb +de10-nano-image-de10-nano.socfpga-sdimg README_-_DO_NOT_DELETE_FILES_IN_THIS_DIRECTORY.txt zImage-de10-nano.bin +de10-nano-image-de10-nano.tar.gz STARTUP.BMP zImage-socfpga_cyclone5_de10_nano.dtb +de10-nano-image-de10-nano.tar.xz STARTUP.BMP.LICENSE + +``` +The SDCard image name in the above list is "Angstrom-de10-nano-image-glibc-ipk-v2016.12-de10-nano.rootfs.socfpga-sdimg". Please remember that prebuilt images can be found [here](https://signin.intel.com/logout?target=https://software.intel.com/en-us/iot/hardware/fpga/de10-nano). + +### Programming the SDCard image +These instructions only over Linux\*, for alternate instructions please go [here](https://software.intel.com/en-us/write-image-to-micro-sd-card). + +These instructions use the dd command, I suggest using EXTREME CAUTION as it is trivial to overwrite the wrong device which can lead to data loss as well as hours spent rebuilding your machine. + +The first step is to insert the SDCard using either a dedicated SDCard interface or a USB adapter into your machine. I will leave it to you to discover which device this shows up as but it is ussually /dev/sdX or /dev/mmcblkX where X is the device number. I use a dedicated SDCard interface which shows up as /dev/mmcblk0, for safety reasons these instructions will use /dev/mmcblkX as this should never be a real device. + +It will take a few minutes to write the ~2GB image. +``` +cd deploy/glibc/images/de10-nano/ +sudo dd if=Angstrom-de10-nano-image-glibc-ipk-v2016.12-de10-nano.rootfs.socfpga-sdimg of=/dev/mmxblkX bs=1M && sync && sync +``` + +After this is complete, plug the card into the kit and power on the board. + + ## Additional Resources +* [Discover the Terasic DE10-Nano Kit](https://signin.intel.com/logout?target=https://software.intel.com/en-us/iot/hardware/fpga/de10-nano) +* [Terasic DE10-Nano Get Started Guide](https://software.intel.com/en-us/terasic-de10-nano-get-started-guide) +* [Project: My First FPGA](https://software.intel.com/en-us/articles/my-first-fpga) +* [Learn more about IntelĀ® FPGAs](https://software.intel.com/en-us/iot/hardware/fpga/) diff --git a/conf/layer.conf b/conf/layer.conf new file mode 100644 index 0000000..22a745e --- /dev/null +++ b/conf/layer.conf @@ -0,0 +1,14 @@ +# We have a conf and classes directory, append to BBPATH +BBPATH .= ":${LAYERDIR}" + +# We have a recipes directory, add to BBFILES +BBFILES += "${LAYERDIR}/recipes*/*/*.bb ${LAYERDIR}/recipes*/*/*.bbappend" + +BBFILE_COLLECTIONS += "meta-de10-nano" +BBFILE_PATTERN_meta-de10-nano := "^${LAYERDIR}/" +# increase the number +BBFILE_PRIORITY_meta-de10-nano = "9" +LAYERDEPENDS_meta-de10-nano = "meta-altera" + +# this is just for release builds +META_DE10_NANO_BASE := '${LAYERDIR}' diff --git a/conf/machine/de0-nano.conf b/conf/machine/de0-nano.conf new file mode 100644 index 0000000..c57d527 --- /dev/null +++ b/conf/machine/de0-nano.conf @@ -0,0 +1,20 @@ +#@TYPE: Machine +#@NAME: de0-nano +#@DESCRIPTION: Machine configuration for the Cyclone V DE0-Nano" + +require conf/machine/include/de10-nano-common.inc + +UBOOT_CONFIG ?= "de0-nano-soc" + +KMACHINE = "de0-nano" + +KERNEL_DEVICETREE = "socfpga_cyclone5_de0_sockit.dtb" + +UBOOT_EXTLINUX = "1" +UBOOT_EXTLINUX_ROOT = "root=/dev/mmcblk0p2" +UBOOT_EXTLINUX_LABELS = "default" +UBOOT_EXTLINUX_CONSOLE = "ttyS0,115200" +UBOOT_EXTLINUX_MENU_DESCRIPTION_default = "Linux Default" +UBOOT_EXTLINUX_KERNEL_IMAGE_default = "../zImage" +UBOOT_EXTLINUX_FDTDIR_default = "../" +UBOOT_EXTLINUX_KERNEL_ARGS_default = "rootwait mem=0x3F000000 memmap=16M$0x3F000000" diff --git a/conf/machine/de10-nano.conf b/conf/machine/de10-nano.conf new file mode 100644 index 0000000..edb0322 --- /dev/null +++ b/conf/machine/de10-nano.conf @@ -0,0 +1,25 @@ +#@TYPE: Machine +#@NAME: de10-nano +#@DESCRIPTION: Machine configuration for the Cyclone V DE10-Nano" + +require conf/machine/include/de10-nano-common.inc + +UBOOT_CONFIG ?= "de10-nano" + +KMACHINE = "de10-nano" + +KERNEL_DEVICETREE = "socfpga_cyclone5_de10_nano.dtb" + +UBOOT_EXTLINUX = "1" +UBOOT_EXTLINUX_ROOT = "root=/dev/mmcblk0p2" +UBOOT_EXTLINUX_LABELS = "default" +UBOOT_EXTLINUX_CONSOLE = "ttyS0,115200" +UBOOT_EXTLINUX_MENU_DESCRIPTION_default = "Linux Default" +UBOOT_EXTLINUX_KERNEL_IMAGE_default = "../zImage" +# UBOOT_EXTLINUX_FDTDIR_default = "../" +# Set FDTDIR to "" so it isnt placed in extlinux.conf +# This will make disto_boot / pxe use the devicetree located at fdt_addr +UBOOT_EXTLINUX_FDTDIR_default = "" +UBOOT_EXTLINUX_KERNEL_ARGS_default = "rootwait mem=0x3F000000 memmap=16M$0x3F000000" + + diff --git a/conf/machine/include/de10-nano-common.inc b/conf/machine/include/de10-nano-common.inc new file mode 100644 index 0000000..72fd21a --- /dev/null +++ b/conf/machine/include/de10-nano-common.inc @@ -0,0 +1,43 @@ +PREFERRED_PROVIDER_virtual/kernel ?= "linux-altera-ltsi" +PREFERRED_VERSION_linux-altera-ltsi ?= "4.1%" + +PREFERRED_PROVIDER_virtual/bootloader ?= "u-boot-socfpga" +PREFERRED_VERSION_u-boot-socfpga = "v2017.03%" + +UBOOT_CONFIG ??= "de10-nano" +UBOOT_CONFIG[de0-nano-soc] = "socfpga_de0_nano_soc_defconfig" +UBOOT_CONFIG[de10-nano] = "socfpga_de10_nano_defconfig" + +SPL_BINARY = "u-boot-with-spl.sfp" + +IMAGE_CLASSES += "sdcard_image-socfpga" + +IMAGE_FSTYPES = "cpio ext3 tar.gz socfpga-sdimg" + +IMAGE_OVERHEAD_FACTOR = "3" + +require conf/machine/include/socfpga.inc + +SOCFPGA_SDIMG_EXTRA_FILES = "de10-nano.rbf de0-nano.rbf LICENSE.de10-nano.rbf LICENSE.de0-nano.rbf de10_nano_hdmi_config.bin dump_adv7513_edid.bin dump_adv7513_regs.bin STARTUP.BMP STARTUP.BMP.LICENSE" + +INHERIT += " rootfs_ipk " + +# This is to remove unmaintained packages which pose security/support issues +BAD_RECOMMENDATIONS = " libavahi-core avahi-utils avahi-daemon avahi-autoipd libnss-mdns cpufrequtils fbset consolekit wireless-tools " +RDEPENDS_pulseaudio-module-console-kit_remove = "consolekit" + +DISTRO_FEATURES_remove = "opengl" +DISTRO_FEATURES_remove = "opencl" +DISTRO_FEATURES_remove = "wayland" +DISTRO_FEATURES_remove = "zeroconf" + +# remove wireless-tools as it is unmaintained +VIRTUAL-RUNTIME_wireless-tools = "iw" + +# set empty root password +INHERIT += " extrausers " +EXTRA_USERS_PARAMS = "usermod -p U6aMy0wojraho root;" + +require conf/distro/include/security_flags.inc +# with security flags, some packages fail +SECURITY_CFLAGS_pn-libvncserver = "" diff --git a/files/supported-recipes-de10-nano.txt b/files/supported-recipes-de10-nano.txt new file mode 100644 index 0000000..f8c16d3 --- /dev/null +++ b/files/supported-recipes-de10-nano.txt @@ -0,0 +1,357 @@ +acl@core +adwaita-icon-theme@core +alsa-lib@core +alsa-plugins@core +angstrom-feed-configs@angstrom-layer +angstrom-libc-fixup-hack@angstrom-layer +angstrom-version@angstrom-layer +aspell@core +atk@core +at-spi2-atk@core +at-spi2-core@core +attr@core +autoconf@core +automake@core +avahi@core +base-files@core +base-passwd@core +bash-completion@core +bash@core +bash/patch031@core +bash/patch032@core +bash/patch033@core +bash/patch034@core +bash/patch035@core +bash/patch036@core +bash/patch037@core +bash/patch038@core +bash/patch039@core +bash/patch040@core +bash/patch041@core +bash/patch042@core +bash/patch043@core +bash/patch044@core +bash/patch045@core +bash/patch046@core +bash/tarball@core +bigreqsproto@core +binutils@linaro-toolchain +bison@core +bluez5@core +busybox@core +bzip2@core +ca-certificates@core +cairo@core +compositeproto@core +connman-conf@core +connman@core +coreutils@core +coreutils/manpages@core +coreutils/tarball@core +cracklib@core +cryptodev-linux@core +curl@core +damageproto@core +db@core +dbus@core +dbus-glib@core +diffstat@core +diffutils@core +dri2proto@core +dri3proto@core +e2fsprogs@core +enchant@core +encodings@core +epiphany@core +ethtool@core +exo@xfce-layer +expat@core +fftw@openembedded-layer +findutils@core +fixesproto@core +flac@core +flex@core +fontconfig@core +fontsproto@core +font-util@core +freetype@core +garcon@xfce-layer +gawk@core +gcc@linaro-toolchain +gcc-runtime@linaro-toolchain +gconf@core +gcr@core +gdb@linaro-toolchain +gdbm@core +gdk-pixbuf@core +gd@openembedded-layer +gedit@gnome-layer +gettext@core +git@core +git/manpages@core +git/tarball@core +glib-2.0@core +glibc@core +glibc-locale@core +glib-networking@core +gmp@core +gnome-desktop3@core +gnome-doc-utils-stub@openembedded-layer +gnome-themes-standard@core +gnu-config@core +gnuplot/archive@openembedded-layer +gnuplot@openembedded-layer +gnuplot/qtplot@openembedded-layer +gnutls@core +gobject-introspection@core +grep@core +gsettings-desktop-schemas@core +gstreamer1.0@core +gstreamer1.0-plugins-bad@core +gstreamer1.0-plugins-base@core +gtk\+3@core +gtk+3@core +gtk\+@core +gtk+@core +gtksourceview2@gnome-layer +gtk-xfce-engine@xfce-layer +gvfs@gnome-layer +harfbuzz@core +hicolor-icon-theme@core +htop@openembedded-layer +i2c-tools@core +iceauth@openembedded-layer +icu@core +imagemagick@openembedded-layer +inputproto@core +iptables@core +iso-codes@core +iw@core +json-c@core +kbd@core +kbproto@core +kmod@core +lcms@openembedded-layer +libarchive@core +libatasmart@openembedded-layer +libatomic-ops@core +libcap@core +libcgroup@core +libcheck@core +libcroco@core +libdaemon@core +libdrm@meta-kodi +liberation-fonts@core +libevdev@core +libexif@core +libffi@core +libfontenc@core +libgcc@linaro-toolchain +libgcrypt@core +libgpg-error@core +libgphoto2@openembedded-layer +libgudev@core +libical@core +libice@core +libidn@core +libjpeg-turbo@core +libmpc@core +libnl@core +libnotify@core +libogg@core +libpam@core +libpcap@core +libpciaccess@core +libpcre@core +libpng@core +libpthread-stubs@core +librsvg@core +libsamplerate0@core +libsdl@core +libsecret@core +libsm@core +libsndfile1@core +libsoup-2.4@core +libtasn1@core +libtheora@core +libtirpc@core +libtirpc/glibc-nfs@core +libtirpc/libtirpc@core +libtool@core +liburcu@core +libusb1@core +libusb-compat@core +libvncserver@openembedded-layer +libvorbis@core +libwebp@core +libwnck3@core +libwnck@gnome-layer +libx11@core +libxau@core +libxaw@openembedded-layer +libxcb@core +libxcomposite@core +libxcursor@core +libxdamage@core +libxdmcp@core +libxext@core +libxfce4ui@xfce-layer +libxfce4util@xfce-layer +libxfixes@core +libxfont@core +libxft@core +libxi@core +libxinerama@core +libxkbcommon@core +libxkbfile@core +libxklavier@gnome-layer +libxml2@core +libxml2/libtar@core +libxml2/testtar@core +libxmu@core +libxpm@core +libxrandr@core +libxrender@core +libxres@core +libxshmfence@core +libxslt@core +libxt@core +libxtst@core +libxv@core +lighttpd@core +linux-altera-ltsi@meta-altera +linux-firmware@core +linux-firmware/iwlwifi-19@core +linux-libc-headers@core +lttng-ust@core +lz4@core +m4@core +machine-host@xfce-layer +make@core +.*@meta-de10-nano +mkfontdir@core +mkfontscale@core +mobile-broadband-provider-info@core +mozjs@openembedded-layer +mpfr@core +mtdev@core +ncurses@core +ne10@openembedded-layer +neon@core +netbase@core +nettle@core +nodejs@openembedded-layer +nspr@core +ofono@core +openssh@core +openssl@core +opkg-arch-config@core +opkg@core +opkg-utils@core +orc@core +p11-kit@core +pango@core +patch@core +perl@core +pixman@core +pkgconfig@core +polkit@openembedded-layer +ppp@core +ppp-dialin@core +presentproto@core +procps@core +pulseaudio@core +python3@core +python3-dbus@core +python3-pygobject@core +python3-setuptools@core +python@core +qtbase@qt5-layer +quota@core +randrproto@core +readline/archive@core +readline@core +readline/patch1@core +readline/patch2@core +readline/patch3@core +readline/patch4@core +readline/patch5@core +readline/patch6@core +readline/patch7@core +readline/patch8@core +recordproto@core +renderproto@core +resourceproto@core +rgb@core +rpcbind@core +run-postinsts@core +sbc@core +scrnsaverproto@core +sed@core +shadow@core +shadow-securetty@core +shared-mime-info@core +speexdsp@core +sqlite3@core +startup-notification@core +strace@core +synergy@openembedded-layer +sysfsutils@core +systemd-compat-units@core +systemd@core +systemd-serialgetty@core +thunar-volman@xfce-layer +thunar@xfce-layer +tiff@core +timestamp-service@angstrom-layer +tremor@core +tzdata@core +udisks2@openembedded-layer +update-rc.d@core +upower@openembedded-layer +util-linux@core +util-macros@core +vala@core +videoproto@core +vim@openembedded-layer +volatile-binds@core +vte9@openembedded-layer +webkitgtk@core +wpa-supplicant@core +x11vnc@openembedded-layer +xcb-proto@core +xcb-util@core +xcb-util-image@core +xcb-util-keysyms@core +xcb-util-renderutil@core +xcb-util-wm@core +xcmiscproto@core +xextproto@core +xf86dgaproto@core +xf86-input-evdev@core +xf86-input-keyboard@core +xf86-input-mouse@core +xf86miscproto@core +xf86-video-fbdev@core +xf86vidmodeproto@core +xfce4-dev-tools@xfce-layer +xfce4-notifyd@xfce-layer +xfce4-panel@xfce-layer +xfce4-session@xfce-layer +xfce4-settings@xfce-layer +xfce4-terminal@xfce-layer +xfconf@xfce-layer +xfdesktop@xfce-layer +xfwm4@xfce-layer +xineramaproto@core +xinit@core +xkbcomp@core +xkeyboard-config@core +xproto@core +xrandr@core +xserver-xf86-config@core +xserver-xorg@core +xterm@openembedded-layer +xtrans@core +xz@angstrom-layer +zlib@core diff --git a/recipes-bsp/u-boot/files/STARTUP.BMP b/recipes-bsp/u-boot/files/STARTUP.BMP new file mode 100644 index 0000000..80a9e5f Binary files /dev/null and b/recipes-bsp/u-boot/files/STARTUP.BMP differ diff --git a/recipes-bsp/u-boot/files/STARTUP.BMP.LICENSE b/recipes-bsp/u-boot/files/STARTUP.BMP.LICENSE new file mode 100644 index 0000000..29fcda7 --- /dev/null +++ b/recipes-bsp/u-boot/files/STARTUP.BMP.LICENSE @@ -0,0 +1 @@ +Copyright 2003-2017 Terasic, Inc. All Rights Reserved. diff --git a/recipes-bsp/u-boot/files/v2017.03/0001-arm-socfpga-Move-CONFIG_EXTRA_ENV_SETTINGS-to-common.patch b/recipes-bsp/u-boot/files/v2017.03/0001-arm-socfpga-Move-CONFIG_EXTRA_ENV_SETTINGS-to-common.patch new file mode 100644 index 0000000..fd6b83f --- /dev/null +++ b/recipes-bsp/u-boot/files/v2017.03/0001-arm-socfpga-Move-CONFIG_EXTRA_ENV_SETTINGS-to-common.patch @@ -0,0 +1,102 @@ +From 59d8f9e085deb935565ebcdaaf97ff2dddaae3b8 Mon Sep 17 00:00:00 2001 +From: Dalon Westergreen +Date: Mon, 6 Feb 2017 10:07:14 -0800 +Subject: [PATCH 1/6] arm: socfpga: Move CONFIG_EXTRA_ENV_SETTINGS to common + +Move CONFIG_EXTRA_ENV_SETTINGS to common header and add support +for distro boot. + +Add support for distro_boot in the socfpga common header. + +Signed-off-by: Dalon Westergreen +--- + include/configs/socfpga_common.h | 49 ++++++++++++++++++++++++++++++++++++---- + 1 file changed, 45 insertions(+), 4 deletions(-) + +diff --git a/include/configs/socfpga_common.h b/include/configs/socfpga_common.h +index 8472b52..e0b08ec 100644 +--- a/include/configs/socfpga_common.h ++++ b/include/configs/socfpga_common.h +@@ -65,6 +65,9 @@ + #define CONFIG_SYS_HOSTNAME CONFIG_SYS_BOARD + #endif + ++#define CONFIG_CMD_PXE ++#define CONFIG_MENU ++ + /* + * Cache + */ +@@ -242,13 +245,13 @@ unsigned int cm_get_qspi_controller_clk_hz(void); + * U-Boot environment + */ + #if !defined(CONFIG_ENV_SIZE) +-#define CONFIG_ENV_SIZE 4096 ++#define CONFIG_ENV_SIZE (8*1024) + #endif + + /* Environment for SDMMC boot */ + #if defined(CONFIG_ENV_IS_IN_MMC) && !defined(CONFIG_ENV_OFFSET) +-#define CONFIG_SYS_MMC_ENV_DEV 0 /* device 0 */ +-#define CONFIG_ENV_OFFSET 512 /* just after the MBR */ ++#define CONFIG_SYS_MMC_ENV_DEV 0 /* device 0 */ ++#define CONFIG_ENV_OFFSET (34*512)/* just after the GPT */ + #endif + + /* Environment for QSPI boot */ +@@ -305,8 +308,12 @@ unsigned int cm_get_qspi_controller_clk_hz(void); + /* SPL SDMMC boot support */ + #ifdef CONFIG_SPL_MMC_SUPPORT + #if defined(CONFIG_SPL_FAT_SUPPORT) || defined(CONFIG_SPL_EXT_SUPPORT) +-#define CONFIG_SYS_MMCSD_FS_BOOT_PARTITION 2 + #define CONFIG_SPL_FS_LOAD_PAYLOAD_NAME "u-boot-dtb.img" ++#define CONFIG_SYS_MMCSD_FS_BOOT_PARTITION 1 ++#endif ++#else ++#ifndef CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_PARTITION ++#define CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_PARTITION 1 + #endif + #endif + +@@ -328,4 +335,38 @@ unsigned int cm_get_qspi_controller_clk_hz(void); + */ + #define CONFIG_SPL_STACK CONFIG_SYS_INIT_SP_ADDR + ++/* Extra Environment */ ++#ifndef CONFIG_SPL_BUILD ++#include ++ ++#ifdef CONFIG_CMD_PXE ++#define BOOT_TARGET_DEVICES_PXE(func) func(PXE, pxe, na) ++#else ++#define BOOT_TARGET_DEVICES_PXE(func) ++#endif ++ ++#define BOOT_TARGET_DEVICES(func) \ ++ func(MMC, mmc, 0) \ ++ BOOT_TARGET_DEVICES_PXE(func) \ ++ func(DHCP, dhcp, na) ++ ++#include ++ ++#ifndef CONFIG_EXTRA_ENV_SETTINGS ++#define CONFIG_EXTRA_ENV_SETTINGS \ ++ "verify=n\0" \ ++ "bootimage=" CONFIG_BOOTFILE "\0" \ ++ "fdt_addr=100\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" \ ++ BOOTENV ++ ++#endif ++#endif ++ + #endif /* __CONFIG_SOCFPGA_COMMON_H__ */ +-- +2.7.4 + 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 +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 +--- + 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 +-- +2.7.4 + diff --git a/recipes-bsp/u-boot/files/v2017.03/0003-arm-socfpga-add-support-for-Terasic-DE10-Nano-board.patch b/recipes-bsp/u-boot/files/v2017.03/0003-arm-socfpga-add-support-for-Terasic-DE10-Nano-board.patch new file mode 100644 index 0000000..62110bc --- /dev/null +++ b/recipes-bsp/u-boot/files/v2017.03/0003-arm-socfpga-add-support-for-Terasic-DE10-Nano-board.patch @@ -0,0 +1,1720 @@ +From 20529989acfe244ecd6e21baabc702dabca9ff02 Mon Sep 17 00:00:00 2001 +From: Dalon Westergreen +Date: Wed, 4 Jan 2017 20:47:51 -0800 +Subject: [PATCH 3/6] arm: socfpga: add support for Terasic DE10-Nano board + +Add CycloneV based Terasic DE10 Nano board. The +board is based on the DE0 Nano but has a larger +fpga. + +Signed-off-by: Dalon Westergreen +--- + .gitignore | 3 + + arch/arm/dts/Makefile | 1 + + arch/arm/dts/socfpga_cyclone5_de10_nano.dts | 68 +++ + arch/arm/mach-socfpga/Kconfig | 7 + + board/terasic/de10-nano/MAINTAINERS | 5 + + board/terasic/de10-nano/Makefile | 9 + + board/terasic/de10-nano/qts/iocsr_config.h | 660 ++++++++++++++++++++++++++++ + board/terasic/de10-nano/qts/pinmux_config.h | 219 +++++++++ + board/terasic/de10-nano/qts/pll_config.h | 85 ++++ + board/terasic/de10-nano/qts/sdram_config.h | 344 +++++++++++++++ + board/terasic/de10-nano/socfpga.c | 6 + + configs/socfpga_de10_nano_defconfig | 62 +++ + include/configs/socfpga_de10_nano.h | 101 +++++ + 13 files changed, 1570 insertions(+) + create mode 100644 arch/arm/dts/socfpga_cyclone5_de10_nano.dts + create mode 100644 board/terasic/de10-nano/MAINTAINERS + create mode 100644 board/terasic/de10-nano/Makefile + create mode 100644 board/terasic/de10-nano/qts/iocsr_config.h + create mode 100644 board/terasic/de10-nano/qts/pinmux_config.h + create mode 100644 board/terasic/de10-nano/qts/pll_config.h + create mode 100644 board/terasic/de10-nano/qts/sdram_config.h + create mode 100644 board/terasic/de10-nano/socfpga.c + create mode 100644 configs/socfpga_de10_nano_defconfig + create mode 100644 include/configs/socfpga_de10_nano.h + +diff --git a/.gitignore b/.gitignore +index 7fac5b3..6cc6cd7 100644 +--- a/.gitignore ++++ b/.gitignore +@@ -84,3 +84,6 @@ GTAGS + *.orig + *~ + \#*# ++ ++# DS5 script ++uboot.ds +diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile +index 0fbbb9b..d700ecc 100644 +--- a/arch/arm/dts/Makefile ++++ b/arch/arm/dts/Makefile +@@ -149,6 +149,7 @@ dtb-$(CONFIG_ARCH_SOCFPGA) += \ + socfpga_cyclone5_socdk.dtb \ + socfpga_cyclone5_de0_nano_soc.dtb \ + socfpga_cyclone5_de1_soc.dtb \ ++ socfpga_cyclone5_de10_nano.dtb \ + socfpga_cyclone5_sockit.dtb \ + socfpga_cyclone5_socrates.dtb \ + socfpga_cyclone5_sr1500.dtb \ +diff --git a/arch/arm/dts/socfpga_cyclone5_de10_nano.dts b/arch/arm/dts/socfpga_cyclone5_de10_nano.dts +new file mode 100644 +index 0000000..ee62a50 +--- /dev/null ++++ b/arch/arm/dts/socfpga_cyclone5_de10_nano.dts +@@ -0,0 +1,68 @@ ++/* ++ * Copyright (C) 2017, Intel Corporation ++ * ++ * based on socfpga_cyclone5_de0_nano_soc.dts ++ * ++ * SPDX-License-Identifier: GPL-2.0+ ++ */ ++ ++#include "socfpga_cyclone5.dtsi" ++ ++/ { ++ model = "Terasic DE10-Nano"; ++ compatible = "altr,socfpga-cyclone5", "altr,socfpga"; ++ ++ chosen { ++ bootargs = "console=ttyS0,115200"; ++ }; ++ ++ aliases { ++ ethernet0 = &gmac1; ++ udc0 = &usb1; ++ }; ++ ++ memory { ++ name = "memory"; ++ device_type = "memory"; ++ reg = <0x0 0x40000000>; /* 1GB */ ++ }; ++ ++ soc { ++ u-boot,dm-pre-reloc; ++ }; ++}; ++ ++&gmac1 { ++ status = "okay"; ++ phy-mode = "rgmii"; ++ ++ rxd0-skew-ps = <420>; ++ rxd1-skew-ps = <420>; ++ rxd2-skew-ps = <420>; ++ rxd3-skew-ps = <420>; ++ txen-skew-ps = <0>; ++ txc-skew-ps = <1860>; ++ rxdv-skew-ps = <420>; ++ rxc-skew-ps = <1680>; ++}; ++ ++&gpio0 { ++