diff options
Diffstat (limited to 'src/soc/amd/common/block/include/amdblocks/acpimmio.h')
-rw-r--r-- | src/soc/amd/common/block/include/amdblocks/acpimmio.h | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/src/soc/amd/common/block/include/amdblocks/acpimmio.h b/src/soc/amd/common/block/include/amdblocks/acpimmio.h index d3deff1153..2775b52116 100644 --- a/src/soc/amd/common/block/include/amdblocks/acpimmio.h +++ b/src/soc/amd/common/block/include/amdblocks/acpimmio.h @@ -353,6 +353,28 @@ static inline void gpio_100_write32(uint8_t reg, uint32_t value) } /* New GPIO banks configuration registers */ + +static inline void *gpio_ctrl_ptr(uint8_t gpio_num) +{ + return acpimmio_gpio0 + gpio_num * sizeof(uint32_t); +} + +static inline uint32_t gpio_read32(uint8_t gpio_num) +{ + return read32(gpio_ctrl_ptr(gpio_num)); +} + +static inline void gpio_write32(uint8_t gpio_num, uint32_t value) +{ + write32(gpio_ctrl_ptr(gpio_num), value); +} + +static inline void gpio_write32_rb(uint8_t gpio_num, uint32_t value) +{ + write32(gpio_ctrl_ptr(gpio_num), value); + read32(gpio_ctrl_ptr(gpio_num)); +} + /* GPIO bank 0 */ static inline uint8_t gpio0_read8(uint8_t reg) { |