diff options
author | Yidi Lin <yidilin@chromium.org> | 2024-09-05 12:22:36 +0800 |
---|---|---|
committer | Felix Held <felix-coreboot@felixheld.de> | 2024-09-09 12:58:55 +0000 |
commit | 56e0ceb2c784133b170452486192afee67739a4d (patch) | |
tree | 336f4c982b5820c1813d5234e48f2e517179891a /src/soc/mediatek/common/include | |
parent | b23382c54b3f33133c12e2ce8fe826f306761b1d (diff) |
soc/mediatek/common: Move common GPIO definitions to gpio_defs.h
BUG=none
TEST=emerge-{asurada, cherry, corsola, geralt, rauru} coreboot
Change-Id: If35dcc4d88732f92c7c43a5eed0478ec52cf1802
Signed-off-by: Yidi Lin <yidilin@chromium.org>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/84221
Reviewed-by: Yu-Ping Wu <yupingso@google.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Diffstat (limited to 'src/soc/mediatek/common/include')
-rw-r--r-- | src/soc/mediatek/common/include/soc/gpio_defs.h | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/src/soc/mediatek/common/include/soc/gpio_defs.h b/src/soc/mediatek/common/include/soc/gpio_defs.h new file mode 100644 index 0000000000..3df624ce7f --- /dev/null +++ b/src/soc/mediatek/common/include/soc/gpio_defs.h @@ -0,0 +1,44 @@ +/* SPDX-License-Identifier: GPL-2.0-only */ + +#ifndef SOC_MEDIATEK_COMMON_GPIO_DEFS_H +#define SOC_MEDIATEK_COMMON_GPIO_DEFS_H + +#include <types.h> + +enum { + MAX_GPIO_REG_BITS = 32, + MAX_GPIO_MODE_PER_REG = 8, + GPIO_MODE_BITS = 4, +}; + +#define GPIO(name) ((gpio_t){ \ + .id = PAD_##name##_ID, \ + .flag = PAD_##name##_FLAG, \ + .bit = PAD_##name##_BIT, \ + .base = PAD_##name##_BASE, \ + .offset = PAD_##name##_OFFSET \ + }) + +#define PIN(id, name, flag, bit, base, offset, \ + func1, func2, func3, func4, func5, func6, func7) \ + PAD_##name##_ID = id, \ + PAD_##name##_FLAG = flag, \ + PAD_##name##_BIT = bit, \ + PAD_##name##_BASE = base, \ + PAD_##name##_OFFSET = offset, \ + PAD_##name##_FUNC_##func1 = 1, \ + PAD_##name##_FUNC_##func2 = 2, \ + PAD_##name##_FUNC_##func3 = 3, \ + PAD_##name##_FUNC_##func4 = 4, \ + PAD_##name##_FUNC_##func5 = 5, \ + PAD_##name##_FUNC_##func6 = 6, \ + PAD_##name##_FUNC_##func7 = 7 + +struct gpio_val_regs { + uint32_t val; + uint32_t set; + uint32_t rst; + uint32_t align; +}; + +#endif |