#include <mach/board.h>
#include <mach/rk2818_iomap.h>
#include <mach/iomux.h>
+#include <mach/gpio.h>
#include <linux/mtd/nand.h>
#include <linux/mtd/partitions.h>
#include "devices.h"
+
+
+/* --------------------------------------------------------------------
+ * ÉùÃ÷ÁËrk2818_gpioBankÊý×飬²¢¶¨ÒåÁËGPIO¼Ä´æÆ÷×éIDºÍ¼Ä´æÆ÷»ùµØÖ·¡£
+ * -------------------------------------------------------------------- */
+
+static struct rk2818_gpio_bank rk2818_gpioBank[] = {
+ {
+ .id = AT2818_ID_PIOA,
+ .offset = RK2818_GPIO0_BASE,
+ .clock = NULL,
+ },
+ {
+ .id = AT2818_ID_PIOB,
+ .offset = RK2818_GPIO0_BASE,
+ .clock = NULL,
+ },
+ {
+ .id = AT2818_ID_PIOC,
+ .offset = RK2818_GPIO0_BASE,
+ .clock = NULL,
+ },
+ {
+ .id = AT2818_ID_PIOD,
+ .offset = RK2818_GPIO0_BASE,
+ .clock = NULL,
+ },
+ {
+ .id = AT2818_ID_PIOE,
+ .offset = RK2818_GPIO1_BASE,
+ .clock = NULL,
+ },
+ {
+ .id = AT2818_ID_PIOF,
+ .offset = RK2818_GPIO1_BASE,
+ .clock = NULL,
+ },
+ {
+ .id = AT2818_ID_PIOG,
+ .offset = RK2818_GPIO1_BASE,
+ .clock = NULL,
+ },
+ {
+ .id = AT2818_ID_PIOH,
+ .offset = RK2818_GPIO1_BASE,
+ .clock = NULL,
+ }
+};
+
//IOÓ³É䷽ʽÃèÊö £¬Ã¿¸öΪһ¶ÎÏßÐÔÁ¬ÐøÓ³Éä
static struct map_desc rk2818_io_desc[] __initdata = {
static void __init machine_rk2818_init_irq(void)
{
rk2818_init_irq();
+ rk2818_gpio_init(rk2818_gpioBank, 8);
+ rk2818_gpio_irq_setup();
}
static void __init machine_rk2818_board_init(void)
{
platform_add_devices(devices, ARRAY_SIZE(devices));
+
}
static void __init machine_rk2818_mapio(void)