summaryrefslogtreecommitdiff
path: root/src/soc/amd
diff options
context:
space:
mode:
authorFelix Held <felix-coreboot@felixheld.de>2021-02-07 20:36:17 +0100
committerPatrick Georgi <pgeorgi@google.com>2021-03-28 16:02:20 +0000
commit2fa96eb33eeefa745b2ac8639e3c9d48fe6778e0 (patch)
treefca43ec766884b30770306a56706c9a98912bc57 /src/soc/amd
parent89d3a2f01e373340b836f68a36c4dd43fedb7808 (diff)
soc/amd/common/gpio: add PAD_NF_SCI pad type
This patch adds a pin configuration macro that supports both switching a pin to its native function and configuring it as a SCI source. This is a preparation to remove the GPIO2 soc_gpio_hook. Signed-off-by: Felix Held <felix-coreboot@felixheld.de> Change-Id: If0da5c010f35fd902f6b8857368daec93c12394a Reviewed-on: https://review.coreboot.org/c/coreboot/+/50373 Reviewed-by: Furquan Shaikh <furquan@google.com> Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Diffstat (limited to 'src/soc/amd')
-rw-r--r--src/soc/amd/common/block/include/amdblocks/gpio_defs.h15
1 files changed, 13 insertions, 2 deletions
diff --git a/src/soc/amd/common/block/include/amdblocks/gpio_defs.h b/src/soc/amd/common/block/include/amdblocks/gpio_defs.h
index c634cd6490..4b25c31aed 100644
--- a/src/soc/amd/common/block/include/amdblocks/gpio_defs.h
+++ b/src/soc/amd/common/block/include/amdblocks/gpio_defs.h
@@ -167,11 +167,16 @@
* PAD_SCI The pin is a SCI source
* pin the pin to be programmed
* pull pull up, pull down or no pull
- * event trigger LEVEL_LOW, LEVEL_HIGH, EDGE_LOW, EDGE_HIGH
+ * event trigger LEVEL_LOW, LEVEL_HIGH, EDGE_LOW, EDGE_HIGH
* PAD_SMI The pin is a SMI source
* pin the pin to be programmed
* pull pull up, pull down or no pull
- * event trigger LEVEL_LOW, LEVEL_HIGH
+ * event trigger LEVEL_LOW, LEVEL_HIGH
+ * PAD_NF_SCI Define native alternate function and confiure SCI source
+ * pin the pin to be programmed
+ * function the native function
+ * pull pull up, pull down or no pull
+ * event trigger LEVEL_LOW, LEVEL_HIGH, EDGE_LOW, EDGE_HIGH
* PAD_WAKE The pin can wake, use after PAD_INT or PAD_SCI
* pin the pin to be programmed
* pull pull up, pull down or no pull
@@ -232,6 +237,12 @@
PAD_PULL(pull) | PAD_TRIGGER(LEVEL_HIGH), \
PAD_FLAG_EVENT_TRIGGER(trigger) | GPIO_FLAG_SMI)
+/* Native function + SCI pad configuration */
+#define PAD_NF_SCI(pin, func, pull, trigger) \
+ PAD_CFG_STRUCT_FLAGS(pin, pin ## _IOMUX_ ## func, \
+ PAD_PULL(pull), \
+ PAD_FLAG_EVENT_TRIGGER(trigger) | GPIO_FLAG_SCI)
+
/* WAKE pad configuration */
#define PAD_WAKE(pin, pull, trigger, type) \
PAD_CFG_STRUCT(pin, pin ## _IOMUX_GPIOxx, \