|
|
|
@ -27,13 +27,11 @@ |
|
|
|
|
#include <asm/arch/hardware.h> |
|
|
|
|
#include <asm/arch/davinci_misc.h> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
static struct gpio_registry { |
|
|
|
|
int is_registered; |
|
|
|
|
char name[GPIO_NAME_SIZE]; |
|
|
|
|
} gpio_registry[MAX_NUM_GPIOS]; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#define pinmux(x) (&davinci_syscfg_regs->pinmux[x]) |
|
|
|
|
|
|
|
|
|
static const struct pinmux_config gpio_pinmux[] = { |
|
|
|
@ -183,8 +181,6 @@ static const struct pinmux_config gpio_pinmux[] = { |
|
|
|
|
{ pinmux(18), 8, 2 }, |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
int gpio_request(int gp, const char *label) |
|
|
|
|
{ |
|
|
|
|
if (gp >= MAX_NUM_GPIOS) |
|
|
|
@ -202,13 +198,11 @@ int gpio_request(int gp, const char *label) |
|
|
|
|
return 0; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void gpio_free(int gp) |
|
|
|
|
{ |
|
|
|
|
gpio_registry[gp].is_registered = 0; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void gpio_toggle_value(int gp) |
|
|
|
|
{ |
|
|
|
|
struct davinci_gpio *bank; |
|
|
|
@ -217,7 +211,6 @@ void gpio_toggle_value(int gp) |
|
|
|
|
gpio_set_value(gp, !gpio_get_value(gp)); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
int gpio_direction_input(int gp) |
|
|
|
|
{ |
|
|
|
|
struct davinci_gpio *bank; |
|
|
|
@ -227,7 +220,6 @@ int gpio_direction_input(int gp) |
|
|
|
|
return 0; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
int gpio_direction_output(int gp, int value) |
|
|
|
|
{ |
|
|
|
|
struct davinci_gpio *bank; |
|
|
|
@ -238,7 +230,6 @@ int gpio_direction_output(int gp, int value) |
|
|
|
|
return 0; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
int gpio_get_value(int gp) |
|
|
|
|
{ |
|
|
|
|
struct davinci_gpio *bank; |
|
|
|
@ -249,7 +240,6 @@ int gpio_get_value(int gp) |
|
|
|
|
return ip ? 1 : 0; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void gpio_set_value(int gp, int value) |
|
|
|
|
{ |
|
|
|
|
struct davinci_gpio *bank; |
|
|
|
@ -262,7 +252,6 @@ void gpio_set_value(int gp, int value) |
|
|
|
|
bank->clr_data = 1U << GPIO_BIT(gp); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void gpio_info(void) |
|
|
|
|
{ |
|
|
|
|
int gp, dir, val; |
|
|
|
|