X-Git-Url: https://git.rohieb.name/openwrt.git/blobdiff_plain/015aed13171ff6201459286e15fc5e0686a46907..04f0dfd2d31a2ac3d2fcd389c6c693c524bb8d02:/target/linux/adm5120-2.6/files/arch/mips/adm5120/platform.c diff --git a/target/linux/adm5120-2.6/files/arch/mips/adm5120/platform.c b/target/linux/adm5120-2.6/files/arch/mips/adm5120/platform.c index 8fd89ae7c..50b0d1857 100644 --- a/target/linux/adm5120-2.6/files/arch/mips/adm5120/platform.c +++ b/target/linux/adm5120-2.6/files/arch/mips/adm5120/platform.c @@ -38,12 +38,17 @@ #include #include +static void adm5120_uart_set_mctrl(struct amba_device *dev, void __iomem *base, + unsigned int mctrl); + #if 1 /* * TODO:remove global adm5120_eth* variables when the switch driver will be * converted into a real platform driver */ unsigned int adm5120_eth_num_ports = 6; +EXPORT_SYMBOL_GPL(adm5120_eth_num_ports); + unsigned char adm5120_eth_macs[6][6] = { {'\00', 'A', 'D', 'M', '\x51', '\x20' }, {'\00', 'A', 'D', 'M', '\x51', '\x21' }, @@ -52,9 +57,13 @@ unsigned char adm5120_eth_macs[6][6] = { {'\00', 'A', 'D', 'M', '\x51', '\x24' }, {'\00', 'A', 'D', 'M', '\x51', '\x25' } }; - -EXPORT_SYMBOL_GPL(adm5120_eth_num_ports); EXPORT_SYMBOL_GPL(adm5120_eth_macs); + +unsigned char adm5120_eth_vlans[6] = { + 0x41, 0x42, 0x44, 0x48, 0x50, 0x60 +}; +EXPORT_SYMBOL_GPL(adm5120_eth_vlans); + #else /* Built-in ethernet switch */ struct adm5120_switch_platform_data adm5120_switch_data; @@ -88,7 +97,7 @@ struct resource adm5120_usbc_resources[] = { }; struct platform_device adm5120_usbc_device = { - .name = "adm5120-usbc", + .name = "adm5120-hcd", .id = -1, .num_resources = ARRAY_SIZE(adm5120_usbc_resources), .resource = adm5120_usbc_resources, @@ -109,3 +118,64 @@ struct platform_device adm5120_flash1_device = { .id = 1, .dev.platform_data = &adm5120_flash1_data, }; + +/* NAND flash */ +struct resource adm5120_nand_resource[] = { + [0] = { + .start = ADM5120_SRAM1_BASE, + .end = ADM5120_SRAM1_BASE+ADM5120_MPMC_SIZE-1, + .flags = IORESOURCE_MEM, + }, +}; + +struct adm5120_nand_platform_data adm5120_nand_data; + +struct platform_device adm5120_nand_device = { + .name = "adm5120-nand", + .id = -1, + .dev.platform_data = &adm5120_nand_data, + .num_resources = ARRAY_SIZE(adm5120_nand_resource), + .resource = adm5120_nand_resource, +}; + +/* built-in UARTs */ +struct amba_pl010_data adm5120_uart0_data = { + .set_mctrl = adm5120_uart_set_mctrl +}; + +struct amba_device adm5120_uart0_device = { + .dev = { + .bus_id = "APB:UART0", + .platform_data = &adm5120_uart0_data, + }, + .res = { + .start = ADM5120_UART0_BASE, + .end = ADM5120_UART0_BASE + ADM5120_UART_SIZE - 1, + .flags = IORESOURCE_MEM, + }, + .irq = { ADM5120_IRQ_UART0, -1 }, + .periphid = 0x0041010, +}; + +struct amba_pl010_data adm5120_uart1_data = { + .set_mctrl = adm5120_uart_set_mctrl +}; + +struct amba_device adm5120_uart1_device = { + .dev = { + .bus_id = "APB:UART1", + .platform_data = &adm5120_uart1_data, + }, + .res = { + .start = ADM5120_UART1_BASE, + .end = ADM5120_UART1_BASE + ADM5120_UART_SIZE - 1, + .flags = IORESOURCE_MEM, + }, + .irq = { ADM5120_IRQ_UART1, -1 }, + .periphid = 0x0041010, +}; + +static void adm5120_uart_set_mctrl(struct amba_device *dev, void __iomem *base, + unsigned int mctrl) +{ +}