soc/intel/common/gpio: distingiush single vs multi acpi devices
Sadly, small core and big core are not aligned with the OS driver's expectation on the number of ACPI devices used for each community. Big core uses a single device while small cores use one ACPI device per community. Allow for this distinction within the common gpio implementation and ensure apollolake is utilizing the new option to retain the correct behavior. Change-Id: I7c7535c36221139ad6c9adde2df10b80eb5c596a Signed-off-by: Aaron Durbin <adurbin@chromium.org> Reviewed-on: https://review.coreboot.org/20588 Reviewed-by: Furquan Shaikh <furquan@google.com> Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Subrata Banik <subrata.banik@intel.com>
This commit is contained in:
parent
2c628f1652
commit
aa2504a10e
|
@ -58,6 +58,7 @@ config CPU_SPECIFIC_OPTIONS
|
|||
select SOC_INTEL_COMMON_BLOCK_CPU
|
||||
select SOC_INTEL_COMMON_BLOCK_FAST_SPI
|
||||
select SOC_INTEL_COMMON_BLOCK_GPIO
|
||||
select SOC_INTEL_COMMON_BLOCK_GPIO_MULTI_ACPI_DEVICES
|
||||
select SOC_INTEL_COMMON_BLOCK_GPIO_ITSS_POL_CFG
|
||||
select SOC_INTEL_COMMON_BLOCK_GPIO_IOSTANDBY
|
||||
select SOC_INTEL_COMMON_BLOCK_ITSS
|
||||
|
|
|
@ -34,3 +34,9 @@ config SOC_INTEL_COMMON_BLOCK_GPIO_LEGACY_MACROS
|
|||
depends on SOC_INTEL_COMMON_BLOCK_GPIO
|
||||
bool
|
||||
default n
|
||||
|
||||
# Indicate if multiple ACPI devices are used for each gpio community.
|
||||
config SOC_INTEL_COMMON_BLOCK_GPIO_MULTI_ACPI_DEVICES
|
||||
depends on SOC_INTEL_COMMON_BLOCK_GPIO
|
||||
bool
|
||||
default n
|
||||
|
|
|
@ -306,7 +306,12 @@ void gpio_set(gpio_t gpio_num, int value)
|
|||
|
||||
uint16_t gpio_acpi_pin(gpio_t gpio_num)
|
||||
{
|
||||
const struct pad_community *comm = gpio_get_community(gpio_num);
|
||||
const struct pad_community *comm;
|
||||
|
||||
if (!IS_ENABLED(CONFIG_SOC_INTEL_COMMON_BLOCK_GPIO_MULTI_ACPI_DEVICES))
|
||||
return gpio_num;
|
||||
|
||||
comm = gpio_get_community(gpio_num);
|
||||
return gpio_num - comm->first_pad;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue