Here is an RV32IMA RISC-V processor that can boot and run uLinux.
You need to flash the bootloader, dtb, and the Linux image onto the NOR flash. It was tested on the ICE40 with the same design at 35MHz. There is a divider register located at 0x10_000_010. With the upper 16 bits, the CLINT can be configured, and with the lower 16 bits, the UART can be configured.
# | Input | Output | Bidirectional |
---|---|---|---|
0 | led[0] | ce0 | |
1 | led[1] | sio0_si_mosi_i | |
2 | led[2] | sio1_so_miso_o | |
3 | uart_rx | led[3] | sio2_o |
4 | uart_tx | sio3_o | |
5 | led[4] | sclk_ram | |
6 | led[5] | ce1 | |
7 | led[6] | sclk_nor |