summaryrefslogtreecommitdiff
path: root/target/linux/adm5120/files/arch
diff options
context:
space:
mode:
authorGabor Juhos <juhosg@openwrt.org>2007-12-11 09:00:06 +0000
committerGabor Juhos <juhosg@openwrt.org>2007-12-11 09:00:06 +0000
commitbb6c1aa770389f296e5efe41a5bf258c98e52284 (patch)
treea0d61b91fa004735999dee5ae20c7503baff0838 /target/linux/adm5120/files/arch
parent71f1ca2cba29516d42f9685293bf72f6b8295398 (diff)
downloadmtk-20170518-bb6c1aa770389f296e5efe41a5bf258c98e52284.zip
mtk-20170518-bb6c1aa770389f296e5efe41a5bf258c98e52284.tar.gz
mtk-20170518-bb6c1aa770389f296e5efe41a5bf258c98e52284.tar.bz2
new experimental driver for the CF slot on the RouterBOARD 153
SVN-Revision: 9707
Diffstat (limited to 'target/linux/adm5120/files/arch')
-rw-r--r--target/linux/adm5120/files/arch/mips/adm5120/boards/mikrotik.c18
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 1ca1514..102fa56 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");