diff --git a/makefiles/in_chroot/install.sh b/makefiles/in_chroot/install.sh index 46405274..7741f727 100755 --- a/makefiles/in_chroot/install.sh +++ b/makefiles/in_chroot/install.sh @@ -112,17 +112,21 @@ systemctl enable NetworkManager # build raw2dng cdmake software/misc-tools-utilities/raw2dng -# download prebuilt fpga binaries & select the default binary +# copy prebuilt fpga binaries & select the default binary # also convert the bitstreams to the format expected by the linux kernel mkdir -p /opt/bitstreams/ -BITSTREAMS="BETA/cmv_hdmi3_dual_60.bit BETA/cmv_hdmi3_dual_30.bit BETA/ICSP/icsp.bit check_pin10.bit check_pin20.bit" -for bit in $BITSTREAMS; do +for bit in peripherals/bitstreams/*.bit; do NAME=$(basename $bit) - (cd /opt/bitstreams && wget --no-verbose http://vserver.13thfloor.at/Stuff/AXIOM/$bit -O $NAME) + ln -sf $(pwd)/$bit /opt/bitstreams ./makefiles/in_chroot/to_raw_bitstream.py -f /opt/bitstreams/$NAME /opt/bitstreams/"$(basename ${NAME%.bit}).bin" ln -sf /opt/bitstreams/"${NAME%.bit}.bin" /lib/firmware done -ln -sf /opt/bitstreams/cmv_hdmi3_dual_60.bin /lib/firmware/axiom-fpga-main.bin + +if [[ $DEVICE == 'micro' ]]; then + ln -sf /opt/bitstreams/micro_main.bin /lib/firmware/axiom_fpga_main.bin +else + ln -sf /opt/bitstreams/cmv_hdmi3_dual_60.bin /lib/firmware/axiom_fpga_main.bin +fi cp software/scripts/axiom_start.service /etc/systemd/system/ if [[ $DEVICE == 'micro' ]]; then diff --git a/peripherals/bitstreams/README.md b/peripherals/bitstreams/README.md new file mode 100644 index 00000000..0e2ef6ea --- /dev/null +++ b/peripherals/bitstreams/README.md @@ -0,0 +1,13 @@ +# bitstreams +Unfortunately building the gateware in a automated fashion is currently quite hard, as it needs vivado. +Until nextpnr, yosys and ghdl are ready to build this gateware or we have switched to a nmigen based gateware, this folder will hold verious perbuilt bitstreams + +## contents +### micro_main.bit +This bitstream is for the AXIOM Micro r2, it reads out the AR0330 sensor and writes the sensor into a ringbuffer in the DDR3 RAM connected to the zynq. From there the data can sent away over ethernet. +### cmv_hdmi3_dual_60.bit +This bitstream is for the AXIOM Beta, it reads out the cmv12k sensor and outputs 1920x1080@60Hz HDMI on both plugin modules. +### cmv_hdmi3_dual_30.bit +This bitstream is for the AXIOM Beta, it reads out the cmv12k sensor and outputs 1920x1080@30Hz HDMI on both plugin modules. +### icsp.bit, check_pin10.bit, check_pin20.bit +These bitstreams are used for the initial bringup of a AXIOM Beta. diff --git a/peripherals/bitstreams/check_pin10.bit b/peripherals/bitstreams/check_pin10.bit new file mode 100644 index 00000000..aa152ba2 Binary files /dev/null and b/peripherals/bitstreams/check_pin10.bit differ diff --git a/peripherals/bitstreams/check_pin20.bit b/peripherals/bitstreams/check_pin20.bit new file mode 100644 index 00000000..a899d659 Binary files /dev/null and b/peripherals/bitstreams/check_pin20.bit differ diff --git a/peripherals/bitstreams/cmv_hdmi3_dual_30.bit b/peripherals/bitstreams/cmv_hdmi3_dual_30.bit new file mode 100644 index 00000000..56978067 Binary files /dev/null and b/peripherals/bitstreams/cmv_hdmi3_dual_30.bit differ diff --git a/peripherals/bitstreams/cmv_hdmi3_dual_60.bit b/peripherals/bitstreams/cmv_hdmi3_dual_60.bit new file mode 100644 index 00000000..191c3236 Binary files /dev/null and b/peripherals/bitstreams/cmv_hdmi3_dual_60.bit differ diff --git a/peripherals/bitstreams/icsp.bit b/peripherals/bitstreams/icsp.bit new file mode 100644 index 00000000..8bd40960 Binary files /dev/null and b/peripherals/bitstreams/icsp.bit differ diff --git a/peripherals/bitstreams/micro_main.bit b/peripherals/bitstreams/micro_main.bit new file mode 100644 index 00000000..0fe90b9d Binary files /dev/null and b/peripherals/bitstreams/micro_main.bit differ diff --git a/software/scripts/axiom_start.sh b/software/scripts/axiom_start.sh index b768daa1..a1dd2d66 100755 --- a/software/scripts/axiom_start.sh +++ b/software/scripts/axiom_start.sh @@ -6,7 +6,7 @@ axiom_fclk_init.sh axiom_zynq_info.sh -echo axiom-fpga-main.bin > /sys/class/fpga_manager/fpga0/firmware +echo axiom_fpga_main.bin > /sys/class/fpga_manager/fpga0/firmware axiom_mem_reg -4 0xF8006210 0x00001 axiom_mem_reg -4 0xF8006214 0x00001