nios2: add gpio_is_valid
Signed-off-by: Thomas Chou <thomas@wytron.com.tw> Signed-off-by: Scott McNutt <smcnutt@psyent.com>
This commit is contained in:
parent
85debefaf2
commit
d8a593c68b
|
@ -52,6 +52,11 @@ static inline void gpio_set_value(unsigned gpio, int value)
|
|||
{
|
||||
writel(value ? 3 : 2, CONFIG_SYS_GPIO_BASE + (gpio << 2));
|
||||
}
|
||||
|
||||
static inline int gpio_is_valid(int number)
|
||||
{
|
||||
return ((unsigned)number) < CONFIG_SYS_GPIO_WIDTH;
|
||||
}
|
||||
#else
|
||||
extern int gpio_request(unsigned gpio, const char *label);
|
||||
extern int gpio_free(unsigned gpio);
|
||||
|
@ -59,6 +64,7 @@ extern int gpio_direction_input(unsigned gpio);
|
|||
extern int gpio_direction_output(unsigned gpio, int value);
|
||||
extern int gpio_get_value(unsigned gpio);
|
||||
extern void gpio_set_value(unsigned gpio, int value);
|
||||
extern int gpio_is_valid(int number);
|
||||
#endif /* CONFIG_SYS_GPIO_BASE */
|
||||
|
||||
#endif /* _ASM_NIOS2_GPIO_H_ */
|
||||
|
|
|
@ -50,6 +50,7 @@
|
|||
|
||||
/* led_pio.s1 is a altera_avalon_pio */
|
||||
#define LED_PIO_BASE 0x82120870
|
||||
#define LED_PIO_WIDTH 8
|
||||
|
||||
/* high_res_timer.s1 is a altera_avalon_timer */
|
||||
#define CONFIG_SYS_TIMER_BASE 0x82120820
|
||||
|
|
|
@ -10,6 +10,7 @@
|
|||
#ifndef CONFIG_SYS_GPIO_BASE
|
||||
|
||||
#define ALTERA_PIO_BASE LED_PIO_BASE
|
||||
#define ALTERA_PIO_WIDTH LED_PIO_WIDTH
|
||||
#define ALTERA_PIO_DATA (ALTERA_PIO_BASE + 0)
|
||||
#define ALTERA_PIO_DIR (ALTERA_PIO_BASE + 4)
|
||||
static u32 pio_data_reg;
|
||||
|
@ -62,4 +63,9 @@ void gpio_set_value(unsigned gpio, int value)
|
|||
pio_data_reg &= ~mask;
|
||||
writel(pio_data_reg, ALTERA_PIO_DATA);
|
||||
}
|
||||
|
||||
int gpio_is_valid(int number)
|
||||
{
|
||||
return ((unsigned)number) < ALTERA_PIO_WIDTH;
|
||||
}
|
||||
#endif
|
||||
|
|
Loading…
Reference in New Issue