update rk29 gpio
authorlhh <lhh@rock-chips.com>
Tue, 16 Nov 2010 02:19:44 +0000 (10:19 +0800)
committerlhh <lhh@rock-chips.com>
Tue, 16 Nov 2010 02:19:44 +0000 (10:19 +0800)
arch/arm/mach-rk29/devices.c
arch/arm/mach-rk29/gpio.c
arch/arm/mach-rk29/include/mach/dma.h
arch/arm/mach-rk29/rk29-pl330.c
drivers/mmc/host/rk2818-sdmmc.h
drivers/serial/Kconfig

index 2ca57c781a3e66e93bea01f9c53584137026dbee..c505683e082d41bb7cd8dc16c9390a78626f7518 100755 (executable)
@@ -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[] = {
index d15853866aca01ecb0164a53d9577b6577115ce7..4ba962238508e5c0af4323dbbc43db6c37b58341 100755 (executable)
@@ -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;
 
        //ÆÁ±ÎÖжÏ6»ò7
        desc->chip->mask(irq);
+       if(desc->chip->ack)
+               desc->chip->ack(irq);
        //¶ÁÈ¡µ±Ç°ÖжÏ״̬£¬¼´²éѯ¾ßÌåÊÇGPIOµÄÄĸöPINÒýÆðµÄÖжÏ
        isr = rk29_gpio_read(gpioRegBase,GPIO_INT_STATUS);
        if (!isr) {
index cfd9e14d359f9a10e488f19d63213f67ea30af07..bf2ba7e9e2ff436caaa919c4da3b31acd1f04ce6 100644 (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 );
 
 
 
index 44d393d9459b5f72f84ddf542f33b8a62b8b9e06..1970e2fbec329815d70d5cc29ffc47fa252a7d0a 100644 (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))
index 2422958b6fe65a06e2ca8c2993724f2573a7c27d..19069a0a3c560f74dd1fe650cafebab5e2dd32a9 100755 (executable)
 
 /* 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
index 326b5c9f6171693a35cdb3253689977b313db4d5..f6bac01cd1416c7ce77be090c08464cac8fe8774 100644 (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