diff options
author | Stefano Babic <sbabic@denx.de> | 2014-05-15 10:27:32 +0200 |
---|---|---|
committer | Stefano Babic <sbabic@denx.de> | 2014-05-15 10:27:32 +0200 |
commit | e7f9350525d73233d4eaf1793f8fe618e9fd4910 (patch) | |
tree | 153366c61e17af4ecdd9f10be520f707d525157d /arch/blackfin/cpu | |
parent | 50c8d66d33651d7fca6a082a1eea6e537401a2f4 (diff) | |
parent | d2a3e911390f9fc4d8c0ee4b3c7fc75f4fd3fd19 (diff) | |
download | u-boot-imx-e7f9350525d73233d4eaf1793f8fe618e9fd4910.zip u-boot-imx-e7f9350525d73233d4eaf1793f8fe618e9fd4910.tar.gz u-boot-imx-e7f9350525d73233d4eaf1793f8fe618e9fd4910.tar.bz2 |
Merge branch 'master' of git://git.denx.de/u-boot-arm
Diffstat (limited to 'arch/blackfin/cpu')
-rw-r--r-- | arch/blackfin/cpu/gpio.c | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/arch/blackfin/cpu/gpio.c b/arch/blackfin/cpu/gpio.c index 86da706..4b4cf93 100644 --- a/arch/blackfin/cpu/gpio.c +++ b/arch/blackfin/cpu/gpio.c @@ -759,6 +759,54 @@ void bfin_reset_boot_spi_cs(unsigned short pin) udelay(1); } +int name_to_gpio(const char *name) +{ + int port_base; + + if (tolower(*name) == 'p') { + ++name; + + switch (tolower(*name)) { +#ifdef GPIO_PA0 + case 'a': port_base = GPIO_PA0; break; +#endif +#ifdef GPIO_PB0 + case 'b': port_base = GPIO_PB0; break; +#endif +#ifdef GPIO_PC0 + case 'c': port_base = GPIO_PC0; break; +#endif +#ifdef GPIO_PD0 + case 'd': port_base = GPIO_PD0; break; +#endif +#ifdef GPIO_PE0 + case 'e': port_base = GPIO_PE0; break; +#endif +#ifdef GPIO_PF0 + case 'f': port_base = GPIO_PF0; break; +#endif +#ifdef GPIO_PG0 + case 'g': port_base = GPIO_PG0; break; +#endif +#ifdef GPIO_PH0 + case 'h': port_base = GPIO_PH0; break; +#endif +#ifdef GPIO_PI0 + case 'i': port_base = GPIO_PI0; break; +#endif +#ifdef GPIO_PJ + case 'j': port_base = GPIO_PJ0; break; +#endif + default: return -1; + } + + ++name; + } else + port_base = 0; + + return port_base + simple_strtoul(name, NULL, 10); +} + void gpio_labels(void) { int c, gpio; |