UPSTREAM: soc/intel/gpio_defs: add a new macro for pad config

Adds PAD_CFG_NF_BUF_IOSSTATE_IOSTERM macro to configure native function,
iosstate, iosterm and disable input/output buffer. This is used in the
pad configurations for the Kontron COMe-mAL10 module board [1].

[1] https://review.coreboot.org/c/coreboot/+/39133

BUG=none
BRANCH=none
TEST=none

Change-Id: I05a3a3f38125fd6cbc2e0233892ae82d0bf96a56
Signed-off-by: Patrick Georgi <pgeorgi@google.com>
Original-Commit-Id: 3a02147d227b16f6b6adb0c4b4529cade902f27c
Original-Change-Id: I7aa4d4dee34bd46a064079c576ed64525fd489e6
Original-Signed-off-by: Maxim Polyakov <max.senia.poliak@gmail.com>
Original-Reviewed-on: https://review.coreboot.org/c/coreboot/+/38813
Original-Reviewed-by: Angel Pons <th3fanbus@gmail.com>
Original-Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/coreboot/+/2084470
Reviewed-by: Patrick Georgi <pgeorgi@chromium.org>
Commit-Queue: Patrick Georgi <pgeorgi@chromium.org>
Tested-by: Patrick Georgi <pgeorgi@chromium.org>
diff --git a/src/soc/intel/common/block/include/intelblocks/gpio_defs.h b/src/soc/intel/common/block/include/intelblocks/gpio_defs.h
index 3e9250e..dda0247 100644
--- a/src/soc/intel/common/block/include/intelblocks/gpio_defs.h
+++ b/src/soc/intel/common/block/include/intelblocks/gpio_defs.h
@@ -226,6 +226,11 @@
 	_PAD_CFG_STRUCT(pad, PAD_RESET(rst) | PAD_FUNC(func), PAD_PULL(pull) | \
 		PAD_IOSSTATE(iosstate) | PAD_IOSTERM(iosterm))
 
+/* Configure native function, iosstate, iosterm and disable input/output buffer */
+#define PAD_CFG_NF_BUF_IOSSTATE_IOSTERM(pad, pull, rst, func, bufdis, iosstate, iosterm) \
+	_PAD_CFG_STRUCT(pad, PAD_RESET(rst) | PAD_BUF(bufdis) | PAD_FUNC(func), \
+		PAD_PULL(pull) | PAD_IOSSTATE(iosstate) | PAD_IOSTERM(iosterm))
+
 /* General purpose output, no pullup/down. */
 #define PAD_CFG_GPO(pad, val, rst)	\
 	_PAD_CFG_STRUCT(pad,		\