diff options
Diffstat (limited to 'target/linux/adm5120/files/arch')
-rw-r--r-- | target/linux/adm5120/files/arch/mips/adm5120/board.c | 3 | ||||
-rw-r--r-- | target/linux/adm5120/files/arch/mips/adm5120/platform.c | 18 |
2 files changed, 19 insertions, 2 deletions
diff --git a/target/linux/adm5120/files/arch/mips/adm5120/board.c b/target/linux/adm5120/files/arch/mips/adm5120/board.c index 1d0cc6618..5f809a16e 100644 --- a/target/linux/adm5120/files/arch/mips/adm5120/board.c +++ b/target/linux/adm5120/files/arch/mips/adm5120/board.c @@ -98,6 +98,9 @@ static int __init adm5120_board_setup(void) amba_device_register(&adm5120_uart0_device, &iomem_resource); amba_device_register(&adm5120_uart1_device, &iomem_resource); + /* register built-in ethernet switch */ + platform_device_register(&adm5120_switch_device); + /* setup PCI irq map */ adm5120_pci_set_irq_map(board->pci_nr_irqs, board->pci_irq_map); diff --git a/target/linux/adm5120/files/arch/mips/adm5120/platform.c b/target/linux/adm5120/files/arch/mips/adm5120/platform.c index 175e1a5d8..6250ab603 100644 --- a/target/linux/adm5120/files/arch/mips/adm5120/platform.c +++ b/target/linux/adm5120/files/arch/mips/adm5120/platform.c @@ -61,16 +61,30 @@ unsigned char adm5120_eth_vlans[6] = { 0x41, 0x42, 0x44, 0x48, 0x50, 0x60 }; EXPORT_SYMBOL_GPL(adm5120_eth_vlans); +#endif -#else /* Built-in ethernet switch */ +struct resource adm5120_switch_resources[] = { + [0] = { + .start = ADM5120_SWITCH_BASE, + .end = ADM5120_SWITCH_BASE+ADM5120_SWITCH_SIZE-1, + .flags = IORESOURCE_MEM, + }, + [1] = { + .start = ADM5120_IRQ_SWITCH, + .end = ADM5120_IRQ_SWITCH, + .flags = IORESOURCE_IRQ, + }, +}; + struct adm5120_switch_platform_data adm5120_switch_data; struct platform_device adm5120_switch_device = { .name = "adm5120-switch", .id = -1, + .num_resources = ARRAY_SIZE(adm5120_switch_resources), + .resource = adm5120_switch_resources, .dev.platform_data = &adm5120_switch_data, }; -#endif /* USB Host Controller */ struct resource adm5120_hcd_resources[] = { |