New bootloader: Uses SPI to interface with SD card
Created by: JacobPease
- Added initial spi code to fpga/zsbl
- Added tentative spi_send_byte function.
- Added inital spi based sd card code. Working on CRC7 code that works.
- Corrected the CRC7 code with the right sequence of instructions.
- Removed the old SDC. Added a second SPI peripheral that now will be used to control the SD card. SPI peripheral now outputs SPICLK. Removed references to the now non-existent external SDC in uncore. Removed all of the AXI Xilinx IP.
- Added new SDC clock constraint.
- Added sd_cmd and utility SPI functions.
- Added uart print functions and the Wally banner. SD card can now be initialized. Removed old code from boot.c
- Removed references to card_type.
- Progress made on implementing new disk read function.
- Added sd_read64 to help with block reads and crc checking.
- Added some minor error checking to gpt.c.
- Initial pass on SPI based bootloader code finished.
- Fixed syntax bugs. inline functions are now static and in the spi.h header.
- Fixed verilog bugs.
- Added uart header to gpt.c.
- Initialized UART with Arty frequency and baud rate. Will make this dynamic in the future
- Masked lower byte when writing to DLL.
- Removed old axi IP from fpga Makefile. Added sed for data.mem file loaded into uncore ram.
- Commented out references to old axi IP from wally.tcl.
- Fixed SDCCLK name discrepency.
- Added ability to split boot.memfile into boot.mem and data.mem.
- Changed formatting and added new UART divsor calculation from OpenSBI.
- Added carriage returns to line feed characters. UART messages print properly now.
- Added extra UART macros and functions for code readability and the ability to print decimal numbers.
- Cleaned up code formatting a bit and added ability to set the SD card clock speed.
- Added function to set SPI clock speed.
- Updated formatting of gpt.c and boot.c.
- Added functions to read registers and print information on failure. Also added a getTime function for a pretty boot display.
- New bootloader now works. Added special print functions and print messages. sdclk is set to 3MHz after initialization currently.
- Added preload pointing to data.mem in ram1p1rwbe.sv
- Updated wally source files for zsbl testing.
- Removed HSELEXTSDC and fixed SD card pin definitions.
- Added file necessary to split boot.mem into boot.mem and data.mem.
- SD card is now mountable on the fpga. The relevant files have been added. The most important changes are in the buildroot linux configuration and device tree.
- Removed line referring to local file in wally.tcl.