soc/intel/common/block/gpio: Fix the mask for gpio_pm_configure
gpio_pm_configure clears out all the bits related to PM configuration in MISCCFG register and sets only the bits requested by mainboard. The mask as it is set currently results in preserving all PM bits instead of clearing them. This change updates the mask to ensure that the PM bits are cleared before setting the ones requested by mainboard. Change-Id: I5b8c04952775dc1e94fa229328be2f3c1102a468 Signed-off-by: Furquan Shaikh <furquan@google.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/33099 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Subrata Banik <subrata.banik@intel.com> Reviewed-by: Paul Fagerburg <pfagerburg@chromium.org> Reviewed-by: Tim Wawrzynczak <twawrzynczak@chromium.org>
This commit is contained in:
parent
695da71e61
commit
a1d0928b00
|
@ -615,7 +615,7 @@ void gpio_pm_configure(const uint8_t *misccfg_pm_values, size_t num)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
size_t gpio_communities;
|
size_t gpio_communities;
|
||||||
uint8_t misccfg_pm_mask = MISCCFG_ENABLE_GPIO_PM_CONFIG;
|
const uint8_t misccfg_pm_mask = ~MISCCFG_ENABLE_GPIO_PM_CONFIG;
|
||||||
const struct pad_community *comm;
|
const struct pad_community *comm;
|
||||||
|
|
||||||
comm = soc_gpio_get_community(&gpio_communities);
|
comm = soc_gpio_get_community(&gpio_communities);
|
||||||
|
|
Loading…
Reference in New Issue