soc/intel/common/gpio: Add function to get GPIO index in group

The gpio_get_index_in_group function returns the index of the GPIO
within its own group

Signed-off-by: Tim Wawrzynczak <twawrzynczak@chromium.org>
Change-Id: I7f6b312bd1d0388ef799cd127c88b17bad6a3886
Reviewed-on: https://review.coreboot.org/c/coreboot/+/51647
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Furquan Shaikh <furquan@google.com>
This commit is contained in:
Tim Wawrzynczak 2021-03-22 10:40:51 -06:00 committed by Patrick Georgi
parent 5b90c0f158
commit a603e443eb
2 changed files with 12 additions and 0 deletions

View File

@ -668,3 +668,13 @@ void gpio_pm_configure(const uint8_t *misccfg_pm_values, size_t num)
pcr_rmw8(comm->port, GPIO_MISCCFG,
misccfg_pm_mask, misccfg_pm_values[i]);
}
size_t gpio_get_index_in_group(gpio_t pad)
{
const struct pad_community *comm;
size_t pin;
comm = gpio_get_community(pad);
pin = relative_pad_in_comm(comm, pad);
return gpio_within_group(comm, pin);
}

View File

@ -235,5 +235,7 @@ void block_gpio_enable(struct device *dev);
*/
bool gpio_routes_ioapic_irq(unsigned int irq);
size_t gpio_get_index_in_group(gpio_t pad);
#endif
#endif /* _SOC_INTELBLOCKS_GPIO_H_ */