Using the Quartus Project here: https://github.com/jgibbard/de10_nano_clean/tree/with_fpga_leds_and_uart
Follow the instructions here: https://gibbard.me/linux_debian_de10_2025/ but do the following things differently:
Before building the kernel make the following modification to the device tree:
gedit linux/arch/arm/boot/dts/socfpga_cyclone5_de0_nano_soc.dts
Following under the leds device but still within the main {} brackets:
uart_altr: uart@ff200000 {
compatible = "altr,uart-1.0";
reg = <0xff200000 0x20>;
clock-frequency = <50000000>;
interrupt-parent = <&intc>;
interrupts = <0 40 4>;
};
gpio_altr: gpio@ff200020 {
compatible = "altr,pio-1.0";
reg = <0xff200020 0x20>;
altr,ngpio = <8>;
#gpio-cells = <2>;
gpio-controller;
};
Then add the folling in the bottom section of the file (outside of the main {} brackets:
&fpga_bridge0 {
status = "okay";
bridge-enable = <1>;
};
Enable the following option:
Device Drivers -> Character Devices -> Serial Devices -> Altera UART Support
This is needed when programming the FPGA using quartus on Linux
sudo nano /etc/udev/rules.d/92-usbblaster.rules
Add the following:
# USB-Blaster
SUBSYSTEM=="usb", ATTRS{idVendor}=="09fb", ATTRS{idProduct}=="6001", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="09fb", ATTRS{idProduct}=="6002", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="09fb", ATTRS{idProduct}=="6003", MODE="0666"
# USB-Blaster II
SUBSYSTEM=="usb", ATTRS{idVendor}=="09fb", ATTRS{idProduct}=="6010", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="09fb", ATTRS{idProduct}=="6810", MODE="0666"