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
Dinesh A
12/08/2022, 5:17 PM
Yes, your need to over-ride the GPIO 0 to 5 through caravel firmware to get access to user area logic
t
Tim Edwards
12/08/2022, 7:14 PM
@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
Tholin
12/08/2022, 8:40 PM
Alright, got it. Any documentation on this? And are there any further limitations on those pins, like some being only inputs or outputs?
Linen is a search-engine friendly community platform. We offer integrations with existing Slack/Discord communities and make those conversations Google-searchable.