Alexandru Gagniuc (mr.nuke.me@gmail.com) just uploaded a new patch set to gerrit, which you can find at https://review.coreboot.org/13318
-gerrit
commit 023857fdb66ff5dc0c53b93db98c6c058c43dd66 Author: Alexandru Gagniuc alexandrux.gagniuc@intel.com Date: Mon Oct 26 18:04:56 2015 -0700
soc/apollolake/gpio: Add function to configure a list of pads
Change-Id: I90bb600dde3b3632293f00631ada008c1b51d875 Signed-off-by: Alexandru Gagniuc alexandrux.gagniuc@intel.com --- src/soc/intel/apollolake/gpio.c | 7 +++++++ src/soc/intel/apollolake/include/soc/gpio.h | 1 + 2 files changed, 8 insertions(+)
diff --git a/src/soc/intel/apollolake/gpio.c b/src/soc/intel/apollolake/gpio.c index 43e0b9b..3bc64e2 100644 --- a/src/soc/intel/apollolake/gpio.c +++ b/src/soc/intel/apollolake/gpio.c @@ -42,6 +42,7 @@ static const struct pad_community *gpio_get_community(uint16_t pad)
return map; } + void gpio_configure_pad(const struct pad_config *cfg) { const struct pad_community *comm = gpio_get_community(cfg->pad); @@ -49,3 +50,9 @@ void gpio_configure_pad(const struct pad_config *cfg) iosf_write(comm->port, config_offset, cfg->config0); iosf_write(comm->port, config_offset + 4, cfg->config1); } + +void gpio_configure_pads(const struct pad_config *cfg, size_t num_pads) +{ + while (num_pads--) + gpio_configure_pad(cfg + num_pads); +} diff --git a/src/soc/intel/apollolake/include/soc/gpio.h b/src/soc/intel/apollolake/include/soc/gpio.h index 3c8d475..6393d8f 100644 --- a/src/soc/intel/apollolake/include/soc/gpio.h +++ b/src/soc/intel/apollolake/include/soc/gpio.h @@ -56,5 +56,6 @@ struct pad_config { * pad configuration functionality. */ void gpio_configure_pad(const struct pad_config *cfg); +void gpio_configure_pads(const struct pad_config *cfg, size_t num_pads);
#endif /* _SOC_APOLLOLAKE_GPIO_H_ */