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:
Furquan Shaikh 2019-05-29 15:48:10 -07:00
parent 695da71e61
commit a1d0928b00
1 changed files with 1 additions and 1 deletions

View File

@ -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);