Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 58844
b: refs/heads/master
c: cefe658
h: refs/heads/master
v: v3
  • Loading branch information
Michael Hennerich authored and Bryan Wu committed Jul 2, 2007
1 parent 7468d7b commit 3b51d74
Show file tree
Hide file tree
Showing 4 changed files with 23 additions and 4 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: e3f2300036b5e0f60cb64063a9686361b6be8555
refs/heads/master: cefe658bca9cf1d4af841c45d170ebd0f881889e
17 changes: 17 additions & 0 deletions trunk/arch/blackfin/mach-bf548/gpio.c
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,7 @@ inline int check_gpio(unsigned short gpio)
{
if (gpio == GPIO_PB15 || gpio == GPIO_PC14 || gpio == GPIO_PC15 \
|| gpio == GPIO_PH14 || gpio == GPIO_PH15 \
|| gpio == GPIO_PJ14 || gpio == GPIO_PJ15 \
|| gpio > MAX_BLACKFIN_GPIOS)
return -EINVAL;
return 0;
Expand Down Expand Up @@ -173,3 +174,19 @@ void gpio_direction_output(unsigned short gpio)
local_irq_restore(flags);
}
EXPORT_SYMBOL(gpio_direction_output);

void gpio_set_value(unsigned short gpio, unsigned short arg)
{
if (arg)
gpio_array[gpio_bank(gpio)]->port_set = gpio_bit(gpio);
else
gpio_array[gpio_bank(gpio)]->port_clear = gpio_bit(gpio);

}
EXPORT_SYMBOL(gpio_set_value);

unsigned short gpio_get_value(unsigned short gpio)
{
return (1 & (gpio_array[gpio_bank(gpio)]->port_data >> gpio_sub_n(gpio)));
}
EXPORT_SYMBOL(gpio_get_value);
4 changes: 3 additions & 1 deletion trunk/include/asm-blackfin/gpio.h
Original file line number Diff line number Diff line change
Expand Up @@ -234,6 +234,7 @@
* MODIFICATION HISTORY :
**************************************************************/

#ifndef BF548_FAMILY
void set_gpio_dir(unsigned short, unsigned short);
void set_gpio_inen(unsigned short, unsigned short);
void set_gpio_polar(unsigned short, unsigned short);
Expand Down Expand Up @@ -268,7 +269,6 @@ unsigned short get_gpiop_maska(unsigned short);
unsigned short get_gpiop_maskb(unsigned short);
unsigned short get_gpiop_data(unsigned short);

#ifndef BF548_FAMILY
struct gpio_port_t {
unsigned short data;
unsigned short dummy1;
Expand Down Expand Up @@ -363,8 +363,10 @@ void gpio_free(unsigned short);
void gpio_set_value(unsigned short gpio, unsigned short arg);
unsigned short gpio_get_value(unsigned short gpio);

#ifndef BF548_FAMILY
#define gpio_get_value(gpio) get_gpio_data(gpio)
#define gpio_set_value(gpio, value) set_gpio_data(gpio, value)
#endif

void gpio_direction_input(unsigned short gpio);
void gpio_direction_output(unsigned short gpio);
Expand Down
4 changes: 2 additions & 2 deletions trunk/include/asm-blackfin/mach-bf548/gpio.h
Original file line number Diff line number Diff line change
Expand Up @@ -187,8 +187,8 @@
#define GPIO_PJ11 155
#define GPIO_PJ12 156
#define GPIO_PJ13 157
#define GPIO_PJ14 158
#define GPIO_PJ15 159
#define GPIO_PJ14 158 /* N/A */
#define GPIO_PJ15 159 /* N/A */

#define MAX_BLACKFIN_GPIOS 160

Expand Down

0 comments on commit 3b51d74

Please sign in to comment.