summaryrefslogtreecommitdiffstats
path: root/target
diff options
context:
space:
mode:
authorjuhosg <juhosg@3c298f89-4303-0410-b956-a3cf2f4a3e73>2008-01-29 08:37:40 +0000
committerjuhosg <juhosg@3c298f89-4303-0410-b956-a3cf2f4a3e73>2008-01-29 08:37:40 +0000
commitd974268ae2ada97790a37c5634a5d744a08941a4 (patch)
treefdc373687491e64b28a1aa88297521f5da56e0d3 /target
parent5c7b26807e41a49c65d84a2d42bdb98639b5fac4 (diff)
[adm5120] add experimental support for the Cellvision NFS-101U device
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@10307 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'target')
-rw-r--r--target/linux/adm5120/files/arch/mips/adm5120/boards/cellvision.c26
-rw-r--r--target/linux/adm5120/files/arch/mips/adm5120/prom.c3
2 files changed, 29 insertions, 0 deletions
diff --git a/target/linux/adm5120/files/arch/mips/adm5120/boards/cellvision.c b/target/linux/adm5120/files/arch/mips/adm5120/boards/cellvision.c
index 178c87ff9..3e68fa52a 100644
--- a/target/linux/adm5120/files/arch/mips/adm5120/boards/cellvision.c
+++ b/target/linux/adm5120/files/arch/mips/adm5120/boards/cellvision.c
@@ -120,6 +120,23 @@ static void __init cas7xx_setup(void)
/* TODO: setup mac address */
}
+static void __init nfs_setup(void)
+{
+ gpio_request(ADM5120_GPIO_PIN5, NULL); /* for flash A20 line */
+ gpio_direction_output(ADM5120_GPIO_PIN5, 0);
+
+ /* setup data for flash0 device */
+ adm5120_flash0_data.switch_bank = switch_bank_gpio5;
+ adm5120_flash0_data.nr_parts = ARRAY_SIZE(cas6xx_partitions);
+ adm5120_flash0_data.parts = cas6xx_partitions;
+
+ /* TODO: setup mac address */
+}
+
+unsigned char nfs_vlans[6] = { /* TODO: not tested */
+ 0x41, 0x42, 0x44, 0x48, 0x50, 0x00
+};
+
/*--------------------------------------------------------------------------*/
ADM5120_BOARD_START(CAS630, "Cellvision CAS-630/630W")
@@ -170,3 +187,12 @@ ADM5120_BOARD_START(CAS861, "Cellvision CAS-861/861W")
.devices = cas7xx_devices,
/* TODO: PCI IRQ map */
ADM5120_BOARD_END
+
+ADM5120_BOARD_START(NFS101U, "Cellvision NFS-101U/101WU")
+ .board_setup = nfs_setup,
+ .eth_num_ports = 5,
+ .eth_vlans = nfs_vlans,
+ .num_devices = ARRAY_SIZE(cas6xx_devices),
+ .devices = cas6xx_devices,
+ /* TODO: PCI IRQ map */
+ADM5120_BOARD_END
diff --git a/target/linux/adm5120/files/arch/mips/adm5120/prom.c b/target/linux/adm5120/files/arch/mips/adm5120/prom.c
index 786668b8d..186b861b4 100644
--- a/target/linux/adm5120/files/arch/mips/adm5120/prom.c
+++ b/target/linux/adm5120/files/arch/mips/adm5120/prom.c
@@ -54,15 +54,18 @@ static struct board_desc common_boards[] __initdata = {
/* Cellvision/SparkLAN boards */
DEFBOARD("CAS-630", MACH_ADM5120_CAS630),
DEFBOARD("CAS-670", MACH_ADM5120_CAS670),
+ DEFBOARD("CAS-700", MACH_ADM5120_CAS700),
DEFBOARD("CAS-771", MACH_ADM5120_CAS771),
DEFBOARD("CAS-790", MACH_ADM5120_CAS790),
DEFBOARD("CAS-861", MACH_ADM5120_CAS861),
+ DEFBOARD("NFS-101U", MACH_ADM5120_NFS101U),
/* Compex boards */
DEFBOARD("WP54G-WRT", MACH_ADM5120_WP54G_WRT),
/* Edimax boards */
DEFBOARD("BR-6104K", MACH_ADM5120_BR6104K),
DEFBOARD("BR-6104KP", MACH_ADM5120_BR6104K),
DEFBOARD("BR-6104WG", MACH_ADM5120_BR61x4WG),
+ DEFBOARD("BR-6114WG", MACH_ADM5120_BR61x4WG),
/* Infineon boards */
DEFBOARD("EASY 5120P-ATA", MACH_ADM5120_EASY5120PATA),
DEFBOARD("EASY 5120-RT", MACH_ADM5120_EASY5120RT),