diff --git a/chip/lm4/gpio.c b/chip/lm4/gpio.c index 09be616771..fedfedc6e8 100644 --- a/chip/lm4/gpio.c +++ b/chip/lm4/gpio.c @@ -182,6 +182,12 @@ void gpio_set_alternate_function(int port, int mask, int func) } +const char *gpio_get_name(enum gpio_signal signal) +{ + return gpio_list[signal].name; +} + + int gpio_get_level(enum gpio_signal signal) { return LM4_GPIO_DATA(gpio_list[signal].port, diff --git a/chip/stm32/gpio-stm32l15x.c b/chip/stm32/gpio-stm32l15x.c index 55eaa22171..cd07e61361 100644 --- a/chip/stm32/gpio-stm32l15x.c +++ b/chip/stm32/gpio-stm32l15x.c @@ -127,6 +127,12 @@ void gpio_set_alternate_function(int port, int mask, int func) } +const char *gpio_get_name(enum gpio_signal signal) +{ + return gpio_list[signal].name; +} + + int gpio_get_level(enum gpio_signal signal) { return !!(STM32_GPIO_IDR_OFF(gpio_list[signal].port) & diff --git a/include/gpio.h b/include/gpio.h index 23cd1e9537..b3bd4258f4 100644 --- a/include/gpio.h +++ b/include/gpio.h @@ -62,6 +62,14 @@ int gpio_pre_init(void); /* Gets the current value of a signal (0=low, 1=hi). */ int gpio_get_level(enum gpio_signal signal); +/** + * Returns the name of a given GPIO signal. + * + * @param signal Signal to return. + * @returns name of the given signal + */ +const char *gpio_get_name(enum gpio_signal signal); + /* Sets the current value of a signal. Returns error if the signal is * not supported or is an input signal. */ int gpio_set_level(enum gpio_signal signal, int value);