Hello everyone. I need some advice. It says in the...
# caravel
t
Hello everyone. I need some advice. It says in the user_defines.v that GPIO 0 through 5 are fixed on power-on. But they can still be used if the flash firmware is set appropriately, correct? I need to know for sure, because I need all 38 I/O pins for my design.
d
Yes, your need to over-ride the GPIO 0 to 5 through caravel firmware to get access to user area logic
t
@Tholin: You can use all 38 GPIO. The thing you cannot change is the default configuration of pads 0 to 4 on power-up. Note that that requirement does not prevent you from changing the configuration of pads 0 to 4 after power-up. It is necessary to have pads 1-4 properly configured for use with the housekeeping SPI to be able to program the flash chip; otherwise, you could render the board inoperable. (GPIO 0 is, similarly, reserved for SoC debug) (GPIO 5 is not restricted). To allow GPIO 0 to 4 to be controlled by the user project, you will need at least a simple program running on the SPI flash to configure the GPIOs after startup. To prevent the FTDI from attempting to drive those signals, you will need to run the program
hkstop.py
(found in the caravel_board repository) and keep it actively running while you are testing your project.
t
Alright, got it. Any documentation on this? And are there any further limitations on those pins, like some being only inputs or outputs?
t
Those are the only limitations.