update rk29 gpio

This commit is contained in:
lhh
2010-11-16 10:19:44 +08:00
parent e94c69a05c
commit 8a23eeba81
6 changed files with 36 additions and 11 deletions

View File

@@ -134,6 +134,7 @@ struct platform_device rk29_device_i2c3 = {
#ifdef CONFIG_SDMMC0_RK29
#ifndef CONFIG_EMMC_RK29
static struct resource resources_sdmmc0[] = {
{
.start = IRQ_SDMMC,
@@ -141,11 +142,25 @@ static struct resource resources_sdmmc0[] = {
.flags = IORESOURCE_IRQ,
},
{
.start = RK29_SDMMC0_PHYS,
.start = RK29_SDMMC0_PHYS,
.end = RK29_SDMMC0_PHYS + RK29_SDMMC0_SIZE -1,
.flags = IORESOURCE_MEM,
}
};
#else
static struct resource resources_sdmmc0[] = {
{
.start = IRQ_EMMC,
.end = IRQ_EMMC,
.flags = IORESOURCE_IRQ,
},
{
.start = RK29_EMMC_PHYS,
.end = RK29_EMMC_PHYS + RK29_EMMC_SIZE -1,
.flags = IORESOURCE_MEM,
}
};
#endif
#endif
#ifdef CONFIG_SDMMC1_RK29
static struct resource resources_sdmmc1[] = {

View File

@@ -500,11 +500,13 @@ static void gpio_irq_handler(unsigned irq, struct irq_desc *desc)
unsigned char __iomem *gpioRegBase;
u32 isr;
rk29_gpio = get_irq_chip_data(irq+14);
rk29_gpio = get_irq_chip_data(irq+13);
gpioRegBase = rk29_gpio->regbase;
//<2F><><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD>6<EFBFBD><36>7
desc->chip->mask(irq);
if(desc->chip->ack)
desc->chip->ack(irq);
//<2F><>ȡ<EFBFBD><C8A1>ǰ<EFBFBD>ж<EFBFBD>״̬<D7B4><CCAC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѯ<EFBFBD><D1AF><EFBFBD><EFBFBD><EFBFBD><EFBFBD>GPIO<49><4F><EFBFBD>ĸ<EFBFBD>PIN<49><4E><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD>
isr = rk29_gpio_read(gpioRegBase,GPIO_INT_STATUS);
if (!isr) {

View File

@@ -41,19 +41,15 @@ struct rk29_dma_client {
char *name;
};
struct rk29_dma_chan;
/* rk29_dma_cbfn_t
*
* buffer callback routine type
*/
typedef void (*rk29_dma_cbfn_t)(struct rk29_dma_chan *,
void *buf, int size,
typedef void (*rk29_dma_cbfn_t)(void *buf, int size,
enum rk29_dma_buffresult result);
typedef int (*rk29_dma_opfn_t)(struct rk29_dma_chan *,
enum rk29_chan_op );
typedef int (*rk29_dma_opfn_t)(enum rk29_chan_op );

View File

@@ -410,7 +410,7 @@ static inline void _finish_off(struct rk29_pl330_xfer *xfer,
/* Do callback */
if (ch->callback_fn)
ch->callback_fn(NULL, xfer->token, xfer->px.bytes, res);
ch->callback_fn(xfer->token, xfer->px.bytes, res);
/* Force Free or if buffer is not needed anymore */
if (ffree || !(ch->options & RK29_DMAF_CIRCULAR))

View File

@@ -126,7 +126,7 @@
/* Specifies how often in millisecs to poll for card removal-insertion changes
* when the timer switch is open */
#define RK_SDMMC0_SWITCH_POLL_DELAY 3500
#define RK_SDMMC0_SWITCH_POLL_DELAY 35
#endif

View File

@@ -1512,6 +1512,10 @@ config UART0_RK29
bool "RockChip rk29 serial port 0 support"
depends on SERIAL_RK29
config UART0_CTS_RTS_RK29
bool "RockChip rk29 serial port 0 cts rts support"
depends on UART0_RK29
config UART1_RK29
bool "RockChip rk29 serial port 1 support"
depends on SERIAL_RK29
@@ -1520,10 +1524,18 @@ config UART2_RK29
bool "RockChip rk29 serial port 2 support"
depends on SERIAL_RK29
config UART2_CTS_RTS_RK29
bool "RockChip rk29 serial port 2 cts rts support"
depends on UART2_RK29
config UART3_RK29
bool "RockChip rk29 serial port 3 support"
depends on SERIAL_RK29
config UART3_CTS_RTS_RK29
bool "RockChip rk29 serial port 3 cts rts support"
depends on UART3_RK29
config SERIAL_RK29_CONSOLE
bool "Rockchip rk29 serial console support"
depends on SERIAL_RK29=y