1
0
mirror of git://projects.qi-hardware.com/openwrt-xburst.git synced 2025-04-21 12:27:27 +03:00

[ramips] fix GPIOLIB support

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@17446 3c298f89-4303-0410-b956-a3cf2f4a3e73
This commit is contained in:
juhosg
2009-08-31 08:29:19 +00:00
parent 8e82554c4f
commit 7c54f57e7e
8 changed files with 278 additions and 42 deletions

View File

@@ -1,5 +1,5 @@
/*
* Ralink RT288x GPIO API definitions
* Ralink SoC GPIO API support
*
* Copyright (C) 2008-2009 Gabor Juhos <juhosg@openwrt.org>
* Copyright (C) 2008 Imre Kaloz <kaloz@openwrt.org>
@@ -10,43 +10,15 @@
*
*/
#ifndef __ASM_MACH_RT288X_GPIO_H
#define __ASM_MACH_RT288X_GPIO_H
#ifndef __ASM_MACH_RALINK_GPIO_H
#define __ASM_MACH_RALINK_GPIO_H
#define ARCH_NR_GPIOS 64
#define ARCH_NR_GPIOS 128
#include <asm-generic/gpio.h>
#include <asm/mach-ralink/rt288x.h>
extern void __rt288x_gpio_set_value(unsigned gpio, int value);
extern int __rt288x_gpio_get_value(unsigned gpio);
static inline int gpio_to_irq(unsigned gpio)
{
return RT288X_GPIO_IRQ(gpio);
}
static inline int irq_to_gpio(unsigned irq)
{
return irq - RT288X_GPIO_IRQ_BASE;
}
static inline int gpio_get_value(unsigned gpio)
{
if (gpio < RT288X_GPIO_COUNT)
return __rt288x_gpio_get_value(gpio);
return __gpio_get_value(gpio);
}
static inline void gpio_set_value(unsigned gpio, int value)
{
if (gpio < RT288X_GPIO_COUNT)
__rt288x_gpio_set_value(gpio, value);
else
__gpio_set_value(gpio, value);
}
#define gpio_get_value __gpio_get_value
#define gpio_set_value __gpio_set_value
#define gpio_cansleep __gpio_cansleep
#define gpio_to_irq __gpio_to_irq
#endif /* __ASM_MACH_RT288X_GPIO_H */
#endif /* __ASM_MACH_RALINK_GPIO_H */

View File

@@ -0,0 +1,20 @@
/*
* Ralink RT288x specific SOC defines
*
* Copyright (C) 2009 Gabor Juhos <juhosg@openwrt.org>
*
* This program is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 as published
* by the Free Software Foundation.
*/
#ifndef __RT288X_RALINK_SOC_H
#define __RT288X_RALINK_SOC_H
#define RALINK_SOC_GPIO_BASE 0x300600
#define RALINK_SOC_GPIO0_COUNT 24
#define RALINK_SOC_GPIO1_COUNT 16
#define RALINK_SOC_GPIO2_COUNT 32
#endif /* __RT288X_RALINK_SOC_H */

View File

@@ -16,7 +16,6 @@
#define RT2880_SYSC_BASE 0x00300000
#define RT2880_TIMER_BASE 0x00300100
#define RT2880_INTC_BASE 0x00300200
#define RT2880_MEMC_BASE 0x00300300
#define RT2880_UART0_BASE 0x00300500
#define RT2880_PIO_BASE 0x00300600

View File

@@ -0,0 +1,20 @@
/*
* Ralink RT305x specific SOC defines
*
* Copyright (C) 2009 Gabor Juhos <juhosg@openwrt.org>
*
* This program is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 as published
* by the Free Software Foundation.
*/
#ifndef __RT288X_RALINK_SOC_H
#define __RT288X_RALINK_SOC_H
#define RALINK_SOC_GPIO_BASE 0x10000600
#define RALINK_SOC_GPIO0_COUNT 24
#define RALINK_SOC_GPIO1_COUNT 16
#define RALINK_SOC_GPIO2_COUNT 12
#endif /* __RT288X_RALINK_SOC_H */

View File

@@ -20,7 +20,6 @@
#define RT305X_MEMC_BASE 0x10000300
#define RT305X_PCM_BASE 0x10000400
#define RT305X_UART0_BASE 0x10000500
#define RT305X_PIO_BASE 0x10000600
#define RT305X_GDMA_BASE 0x10000700
#define RT305X_NANDC_BASE 0x10000800
#define RT305X_I2C_BASE 0x10000900