Add implementation of the GPIO API defined in src/include/gpiolib.h. Also, clean up the GPIO driver, make it use pointers instead of integers for register address.
This requires a touch in the SPI driver, where the CS GPIO is toggled and in the board function where it enables USB interface.
BUG=chrome-os-partner:30489 TEST=tested with the following patches, observed proto0 properly read the board ID.
Original-Change-Id: I0962947c6bb32a854ca300752d259a48e9e7b4eb
d36ef6a ipq806x: implement GPIO API
src/mainboard/google/storm/mainboard.c | 1 +
src/soc/qualcomm/ipq806x/gpio.c | 97 ++++++++++++++----------------
src/soc/qualcomm/ipq806x/include/gpio.h | 5 +-
src/soc/qualcomm/ipq806x/include/iomap.h | 4 +-
src/soc/qualcomm/ipq806x/spi.c | 4 +-
5 files changed, 53 insertions(+), 58 deletions(-)
Upstream: review.coreboot.org