diff options
Diffstat (limited to 'src/mainboard/pcengines/apu2/gpio_ftns.c')
-rw-r--r-- | src/mainboard/pcengines/apu2/gpio_ftns.c | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/src/mainboard/pcengines/apu2/gpio_ftns.c b/src/mainboard/pcengines/apu2/gpio_ftns.c index 1969a885b8..c249c2da5c 100644 --- a/src/mainboard/pcengines/apu2/gpio_ftns.c +++ b/src/mainboard/pcengines/apu2/gpio_ftns.c @@ -7,8 +7,10 @@ #include <FchPlatform.h> #include "gpio_ftns.h" -static u32 gpio_read_wrapper(u32 gpio) +static u32 gpio_read_wrapper(u32 iomux_gpio) { + u32 gpio = iomux_gpio << 2; + if (gpio < 0x100) return gpio0_read32(gpio & 0xff); else if (gpio >= 0x100 && gpio < 0x200) @@ -19,8 +21,10 @@ static u32 gpio_read_wrapper(u32 gpio) die("Invalid GPIO"); } -static void gpio_write_wrapper(u32 gpio, u32 setting) +static void gpio_write_wrapper(u32 iomux_gpio, u32 setting) { + u32 gpio = iomux_gpio << 2; + if (gpio < 0x100) gpio0_write32(gpio & 0xff, setting); else if (gpio >= 0x100 && gpio < 0x200) @@ -29,7 +33,7 @@ static void gpio_write_wrapper(u32 gpio, u32 setting) gpio2_write32(gpio & 0xff, setting); } -void configure_gpio(u8 iomux_gpio, u8 iomux_ftn, u32 gpio, u32 setting) +void configure_gpio(u32 gpio, u8 iomux_ftn, u32 setting) { u32 bdata; @@ -43,7 +47,7 @@ void configure_gpio(u8 iomux_gpio, u8 iomux_ftn, u32 gpio, u32 setting) | GPIO_PULL_UP_ENABLE | GPIO_PULL_DOWN_ENABLE)); gpio_write_wrapper(gpio, bdata); - iomux_write8(iomux_gpio, iomux_ftn & 0x3); + iomux_write8(gpio, iomux_ftn & 0x3); } u8 read_gpio(u32 gpio) |