Browse Source

add experimental support for the Cellvision NFS-101U device

SVN-Revision: 10307
Gabor Juhos 18 years ago
parent
commit
43a86a8863

+ 26 - 0
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

+ 3 - 0
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),