Add a GPIO controller and use it to drive the shield I/O pins on the Arty
authorPaul Mackerras <paulus@ozlabs.org>
Tue, 23 Feb 2021 10:44:04 +0000 (21:44 +1100)
committerPaul Mackerras <paulus@ozlabs.org>
Wed, 24 Feb 2021 01:46:01 +0000 (12:46 +1100)
commitf06ffcf9b7715f5537c1bfed985c322ec629f413
treeabf082cf2fa5ea742debb26e258c2256e737a841
parent6523acc74344b95e7cceb83611fb8cb2a030c1a3
Add a GPIO controller and use it to drive the shield I/O pins on the Arty

This adds a GPIO controller which provides 32 bits of I/O.  The
registers are modelled on the set used by the gpio-ftgpio010.c driver
in the Linux kernel.  Currently there is no interrupt capability
implemented, though an interrupt line from the GPIO subsystem to the
XICS has been connected.

For the Arty A7 board, GPIO lines 0 to 13 are connected to the pins
labelled IO0 to IO13 on the "shield" connector, GPIO lines 14 to 29
connect to IO26 to IO41, GPIO line 30 connects to the pin labelled A
(aka IO42), and GPIO line 31 is connected to LED 7.

Signed-off-by: Paul Mackerras <paulus@ozlabs.org>
Makefile
fpga/arty_a7.xdc
fpga/top-arty.vhdl
gpio.vhdl [new file with mode: 0644]
microwatt.core
soc.vhdl