diff options
author | juhosg <juhosg@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2007-12-11 09:00:06 +0000 |
---|---|---|
committer | juhosg <juhosg@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2007-12-11 09:00:06 +0000 |
commit | a7f49cd3e861f1c192081a543a711fde8d7c1f08 (patch) | |
tree | 51fa815473f502715554aa9220d1b822d777dd93 /target/linux/adm5120/files/arch/mips | |
parent | c0d490d3c5d11147130b51b65bb1188a0b60878a (diff) |
[adm5120] new experimental driver for the CF slot on the RouterBOARD 153
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@9707 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'target/linux/adm5120/files/arch/mips')
-rw-r--r-- | target/linux/adm5120/files/arch/mips/adm5120/boards/mikrotik.c | 18 |
1 files changed, 8 insertions, 10 deletions
diff --git a/target/linux/adm5120/files/arch/mips/adm5120/boards/mikrotik.c b/target/linux/adm5120/files/arch/mips/adm5120/boards/mikrotik.c index 1ca151412..102fa5615 100644 --- a/target/linux/adm5120/files/arch/mips/adm5120/boards/mikrotik.c +++ b/target/linux/adm5120/files/arch/mips/adm5120/boards/mikrotik.c @@ -42,8 +42,8 @@ #include <adm5120_nand.h> #include <adm5120_board.h> #include <adm5120_platform.h> -#include <adm5120_cf.h> #include <adm5120_info.h> + #include <prom/routerboot.h> #define RB1XX_NAND_CHIP_DELAY 25 @@ -127,8 +127,8 @@ static struct resource rb150_nand_resource[] = { static struct resource rb153_cf_resources[] = { { .name = "cf_membase", - .start = ADM5120_EXTIO0_BASE, - .end = ADM5120_EXTIO0_BASE + ADM5120_MPMC_SIZE-1 , + .start = ADM5120_EXTIO1_BASE, + .end = ADM5120_EXTIO1_BASE + ADM5120_EXTIO1_SIZE-1 , .flags = IORESOURCE_MEM }, { .name = "cf_irq", @@ -138,16 +138,11 @@ static struct resource rb153_cf_resources[] = { } }; -static struct cf_device rb153_cf_data = { - .gpio_pin = ADM5120_GPIO_PIN4 -}; - static struct platform_device rb153_cf_device = { - .name = "rb153-cf", + .name = "pata-rb153-cf", .id = -1, .resource = rb153_cf_resources, .num_resources = ARRAY_SIZE(rb153_cf_resources), - .dev.platform_data = &rb153_cf_data, }; static struct platform_device *rb153_devices[] __initdata = { @@ -223,7 +218,7 @@ static void rb150_nand_cmd_ctrl(struct mtd_info *mtd, int cmd, static void __init rb1xx_mac_setup(void) { int i, j; - + for (i = 0; i < rb_hs.mac_count; i++) { for (j = 0; j < RB_MAC_SIZE; j++) adm5120_eth_macs[i][j] = rb_hs.macs[i][j]; @@ -247,6 +242,9 @@ static void __init rb1xx_flash_setup(void) static void __init rb153_cf_setup(void) { + /* enable CSX1:INTX1 on GPIO 3:4 for the CF slot */ + adm5120_gpio_csx1_enable(); + gpio_request(RB153_GPIO_CF_RDY, "cf-ready"); gpio_direction_input(RB153_GPIO_CF_RDY); gpio_request(RB153_GPIO_CF_WT, "cf-wait"); |