From 43a86a8863c1ef486b0487cf65e78c6dd19a6281 Mon Sep 17 00:00:00 2001 From: Gabor Juhos Date: Tue, 29 Jan 2008 08:37:40 +0000 Subject: [PATCH] add experimental support for the Cellvision NFS-101U device SVN-Revision: 10307 --- .../arch/mips/adm5120/boards/cellvision.c | 26 +++++++++++++++++++ .../adm5120/files/arch/mips/adm5120/prom.c | 3 +++ 2 files changed, 29 insertions(+) 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 178c87ff9b..3e68fa52ab 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 786668b8d0..186b861b43 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),