From d36ef6a51df0d9bb840f091adee8b7bf3424b331 Mon Sep 17 00:00:00 2001 From: Vadim Bendebury Date: Fri, 25 Jul 2014 17:34:42 -0700 Subject: ipq806x: implement GPIO API 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 Original-Signed-off-by: Vadim Bendebury Original-Reviewed-on: https://chromium-review.googlesource.com/210115 Original-Reviewed-by: David Hendricks (cherry picked from commit e951f735001509d135cc61530ed0eecb5fc31a85) Signed-off-by: Marc Jones Change-Id: I8a612dce000931835054086c1b02ebfc43dc57d2 Reviewed-on: http://review.coreboot.org/8718 Tested-by: build bot (Jenkins) Reviewed-by: Stefan Reinauer Reviewed-by: Paul Menzel --- src/soc/qualcomm/ipq806x/spi.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/soc/qualcomm/ipq806x/spi.c') diff --git a/src/soc/qualcomm/ipq806x/spi.c b/src/soc/qualcomm/ipq806x/spi.c index 2c16cb6388..54d54b244f 100644 --- a/src/soc/qualcomm/ipq806x/spi.c +++ b/src/soc/qualcomm/ipq806x/spi.c @@ -279,13 +279,13 @@ static int check_qup_clk_state(unsigned int core_num, int enable) static void CS_change(int port_num, int cs_num, int enable) { unsigned int cs_gpio = cs_gpio_array[port_num][cs_num]; - uint32_t addr = GPIO_IN_OUT_ADDR(cs_gpio); + void *addr = GPIO_IN_OUT_ADDR(cs_gpio); uint32_t val = readl_i(addr); val &= (~(1 << GPIO_OUTPUT)); if (!enable) val |= (1 << GPIO_OUTPUT); - writel_i(val, addr); + writel(val, addr); } /* -- cgit v1.2.3