X-Git-Url: http://git.openwrt.org/?a=blobdiff_plain;f=target%2Flinux%2Fadm5120%2Ffiles%2Farch%2Fmips%2Fadm5120%2Fboards%2Fedimax.c;fp=target%2Flinux%2Fadm5120%2Ffiles%2Farch%2Fmips%2Fadm5120%2Fboards%2Fedimax.c;h=e53e8361371e81009f35f6e32c613ed616a17839;hb=6c13ef511d834ab65df4c230a76315807321a392;hp=6b7e7e696a7b3e1ab1377772c3c727020991b28f;hpb=d3933485ccc51a2740b90c7c8a36400b19f342cf;p=openwrt%2Fsvn-archive%2Farchive.git diff --git a/target/linux/adm5120/files/arch/mips/adm5120/boards/edimax.c b/target/linux/adm5120/files/arch/mips/adm5120/boards/edimax.c index 6b7e7e696a..e53e836137 100644 --- a/target/linux/adm5120/files/arch/mips/adm5120/boards/edimax.c +++ b/target/linux/adm5120/files/arch/mips/adm5120/boards/edimax.c @@ -30,9 +30,14 @@ #include #include +#include #include -static struct mtd_partition br6104k_partitions[] = { +static struct adm5120_pci_irq br61xx_pci_irqs[] __initdata = { + PCIIRQ(2, 0, 1, ADM5120_IRQ_PCI0), +}; + +static struct mtd_partition br61xx_partitions[] = { { .name = "admboot", .offset = 0, @@ -54,31 +59,48 @@ static struct platform_device *br6104k_devices[] __initdata = { &adm5120_hcd_device, }; -static void __init br6104k_setup(void) { +static struct platform_device *br61x4wg_devices[] __initdata = { + &adm5120_flash0_device, +}; + +static void __init br61xx_setup(void) { /* setup data for flash0 device */ - adm5120_flash0_data.nr_parts = ARRAY_SIZE(br6104k_partitions); - adm5120_flash0_data.parts = br6104k_partitions; + adm5120_flash0_data.nr_parts = ARRAY_SIZE(br61xx_partitions); + adm5120_flash0_data.parts = br61xx_partitions; /* TODO: setup mac addresses, if possible */ } -unsigned char br6104k_vlans[6] = { +unsigned char br61xx_vlans[6] = { 0x41, 0x42, 0x44, 0x48, 0x50, 0x00 }; static struct adm5120_board br6104k_board __initdata = { .mach_type = MACH_ADM5120_BR6104K, - .name = "Edimax BR-6104K", - .board_setup = br6104k_setup, + .name = "Edimax BR-6104K/6104KP", + .board_setup = br61xx_setup, .eth_num_ports = 5, - .eth_vlans = br6104k_vlans, + .eth_vlans = br61xx_vlans, .num_devices = ARRAY_SIZE(br6104k_devices), .devices = br6104k_devices, }; +static struct adm5120_board br61x4wg_board __initdata = { + .mach_type = MACH_ADM5120_BR61x4WG, + .name = "Edimax BR-6104WG/6114WG", + .board_setup = br61xx_setup, + .eth_num_ports = 5, + .eth_vlans = br61xx_vlans, + .num_devices = ARRAY_SIZE(br61x4wg_devices), + .devices = br61x4wg_devices, + .pci_nr_irqs = ARRAY_SIZE(br61xx_pci_irqs), + .pci_irq_map = br61xx_pci_irqs, +}; + static int __init register_boards(void) { adm5120_board_register(&br6104k_board); + adm5120_board_register(&br61x4wg_board); return 0; }