coreboot/src/soc/intel
Subrata Banik 7e8a0e61e7 soc/intel/common/gpio: Rework PAD config macro to add lock support
This patch extends `struct pad_config` to add new variable for gpio
lock action.

Additionally, it creates new GPIO PAD configuration macros that perform
GPIO pad configuration and pad lock configuration as well.

List of new macros are:
1. PAD_CFG_NF_LOCK
2. PAD_CFG_GPO_LOCK
3. PAD_CFG_GPI_LOCK
4. PAD_CFG_GPI_TRIG_OWN_LOCK
5. PAD_CFG_GPI_GPIO_DRIVER_LOCK
6. PAD_CFG_GPI_INT_LOCK
7. PAD_CFG_GPI_APIC_LOCK
8. PAD_CFG_GPI_IRQ_WAKE_LOCK

Mainboard users can use the above macros to lock the PAD after
configuration.

So far on IA chipset, the default GPIO pad lock configuration reset
type is POWERGOOD hence, it's recommended as per GPIO BWG (doc: 630603)
to configure the GPP PAD reset type the same as lock configuration
reset type to avoid GPP reset value misconfiguration issue.

BUG=b:211573253, b:211950520

Signed-off-by: Subrata Banik <subratabanik@google.com>
Change-Id: Ibf8b0a845005ad545266d995449d0aa711f45a61
Reviewed-on: https://review.coreboot.org/c/coreboot/+/60774
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: EricR Lai <ericr_lai@compal.corp-partner.google.com>
Reviewed-by: Nick Vaccaro <nvaccaro@google.com>
2022-01-26 08:29:35 +00:00
..
alderlake soc/intel/adl: Replace dt HeciEnabled by HECI1 disable config 2022-01-25 16:12:33 +00:00
apollolake soc/intel/common/cpu: Use SoC overrides to get CPU privilege level 2022-01-19 09:57:47 +00:00
baytrail src: Use 'stdint.h' when appropriate 2022-01-01 14:58:44 +00:00
braswell Rename ECAM-specific MMCONF Kconfigs 2021-11-10 17:24:16 +00:00
broadwell sb/intel: Use bool for PCIe coalescing option 2022-01-04 11:48:19 +00:00
cannonlake soc/intel/common/cpu: Use SoC overrides to get CPU privilege level 2022-01-19 09:57:47 +00:00
common soc/intel/common/gpio: Rework PAD config macro to add lock support 2022-01-26 08:29:35 +00:00
denverton_ns soc/intel/common/cpu: Use SoC overrides to get CPU privilege level 2022-01-19 09:57:47 +00:00
elkhartlake soc/intel/ehl: Add Kconfig option to disable reset on TCO expiration 2022-01-25 16:15:30 +00:00
icelake soc/intel/icl: Rework on HECI1 disable configs 2022-01-21 16:01:54 +00:00
jasperlake soc/intel/common/cpu: Use SoC overrides to get CPU privilege level 2022-01-19 09:57:47 +00:00
quark Rename ECAM-specific MMCONF Kconfigs 2021-11-10 17:24:16 +00:00
skylake soc/intel/common/cpu: Use SoC overrides to get CPU privilege level 2022-01-19 09:57:47 +00:00
tigerlake soc/intel/common/cpu: Use SoC overrides to get CPU privilege level 2022-01-19 09:57:47 +00:00
xeon_sp soc/intel/common/cpu: Use SoC overrides to get CPU privilege level 2022-01-19 09:57:47 +00:00
Kconfig
Makefile.inc soc/intel/common/cse: Add support for stitching CSE components 2021-10-19 16:09:08 +00:00