void __init orion_ge00_init(struct mv643xx_eth_platform_data *eth_data, unsigned long mapbase, unsigned long irq, unsigned long irq_err, unsigned int tx_csum_limit) { fill_resources(&orion_ge00_shared, orion_ge00_shared_resources, mapbase + 0x2000, SZ_16K - 1, NO_IRQ); fill_resources(&orion_ge_mvmdio, orion_ge_mvmdio_resources, mapbase + 0x2004, 0x84 - 1, irq_err); orion_ge00_shared_data.tx_csum_limit = tx_csum_limit; ge_complete(&orion_ge00_shared_data, orion_ge00_resources, irq, &orion_ge00_shared, &orion_ge_mvmdio, eth_data, &orion_ge00); }
void __init orion_ehci_2_init(unsigned long mapbase, unsigned long irq) { fill_resources(&orion_ehci_2, orion_ehci_2_resources, mapbase, SZ_4K - 1, irq); platform_device_register(&orion_ehci_2); }
void __init orion_spi_1_init(unsigned long mapbase, unsigned long tclk) { orion_spi_1_plat_data.tclk = tclk; fill_resources(&orion_spi_1, &orion_spi_1_resources, mapbase, SZ_512 - 1, NO_IRQ); platform_device_register(&orion_spi_1); }
void __init orion_i2c_1_init(unsigned long mapbase, unsigned long irq, unsigned long freq_m) { orion_i2c_1_pdata.freq_m = freq_m; fill_resources(&orion_i2c_1, orion_i2c_1_resources, mapbase, SZ_32 - 1, irq); platform_device_register(&orion_i2c_1); }
void __init orion_sata_init(struct mv_sata_platform_data *sata_data, unsigned long mapbase, unsigned long irq) { orion_sata.dev.platform_data = sata_data; fill_resources(&orion_sata, orion_sata_resources, mapbase, 0x5000 - 1, irq); platform_device_register(&orion_sata); }
void __init orion_ehci_init(unsigned long mapbase, unsigned long irq, enum orion_ehci_phy_ver phy_version) { orion_ehci_data.phy_version = phy_version; fill_resources(&orion_ehci, orion_ehci_resources, mapbase, SZ_4K - 1, irq); platform_device_register(&orion_ehci); }
void __init orion_ehci_2_init(struct mbus_dram_target_info *mbus_dram_info, unsigned long mapbase, unsigned long irq) { orion_ehci_data.dram = mbus_dram_info; fill_resources(&orion_ehci_2, orion_ehci_2_resources, mapbase, SZ_4K - 1, irq); platform_device_register(&orion_ehci_2); }
void __init orion_ge11_init(struct mv643xx_eth_platform_data *eth_data, unsigned long mapbase, unsigned long irq, unsigned long irq_err) { fill_resources(&orion_ge11_shared, orion_ge11_shared_resources, mapbase + 0x2000, SZ_16K - 1, irq_err); ge_complete(&orion_ge11_shared_data, orion_ge11_resources, irq, &orion_ge11_shared, eth_data, &orion_ge11); }
void __init orion_sata_init(struct mv_sata_platform_data *sata_data, struct mbus_dram_target_info *mbus_dram_info, unsigned long mapbase, unsigned long irq) { sata_data->dram = mbus_dram_info; orion_sata.dev.platform_data = sata_data; fill_resources(&orion_sata, orion_sata_resources, mapbase, 0x5000 - 1, irq); platform_device_register(&orion_sata); }
void __init orion_ehci_init(struct mbus_dram_target_info *mbus_dram_info, unsigned long mapbase, unsigned long irq, enum orion_ehci_phy_ver phy_version) { orion_ehci_data.dram = mbus_dram_info; orion_ehci_data.phy_version = phy_version; fill_resources(&orion_ehci, orion_ehci_resources, mapbase, SZ_4K - 1, irq); platform_device_register(&orion_ehci); }
void __init orion_crypto_init(unsigned long mapbase, unsigned long srambase, unsigned long sram_size, unsigned long irq) { fill_resources(&orion_crypto, orion_crypto_resources, mapbase, 0xffff, irq); orion_crypto.num_resources = 3; orion_crypto_resources[2].start = srambase; orion_crypto_resources[2].end = srambase + sram_size - 1; platform_device_register(&orion_crypto); }
void __init orion_ge11_init(struct mv643xx_eth_platform_data *eth_data, struct mbus_dram_target_info *mbus_dram_info, unsigned long mapbase, unsigned long irq, unsigned long irq_err, int tclk) { fill_resources(&orion_ge11_shared, orion_ge11_shared_resources, mapbase + 0x2000, SZ_16K - 1, irq_err); ge_complete(&orion_ge11_shared_data, mbus_dram_info, tclk, orion_ge11_resources, irq, &orion_ge11_shared, eth_data, &orion_ge11); }
static void fill_resources_irq(struct platform_device *device, struct resource *resources, resource_size_t mapbase, resource_size_t size, unsigned int irq) { fill_resources(device, resources, mapbase, size); device->num_resources++; resources[1].flags = IORESOURCE_IRQ; resources[1].start = irq; resources[1].end = irq; }
void __init orion_ge01_init(struct mv643xx_eth_platform_data *eth_data, unsigned long mapbase, unsigned long irq, unsigned int tx_csum_limit) { fill_resources(&orion_ge01_shared, orion_ge01_shared_resources, mapbase + 0x2000, SZ_16K - 1); orion_ge01_shared_data.tx_csum_limit = tx_csum_limit; ge_complete(&orion_ge01_shared_data, orion_ge01_resources, irq, &orion_ge01_shared, NULL, eth_data, &orion_ge01); }
/***************************************************************************** * UART ****************************************************************************/ static void __init uart_complete( struct platform_device *orion_uart, struct plat_serial8250_port *data, struct resource *resources, unsigned int membase, resource_size_t mapbase, unsigned int irq, unsigned int uartclk) { data->mapbase = mapbase; data->membase = (void __iomem *)membase; data->irq = irq; data->uartclk = uartclk; orion_uart->dev.platform_data = data; fill_resources(orion_uart, resources, mapbase, 0xff, irq); platform_device_register(orion_uart); }
void __init orion_spi_1_init(unsigned long mapbase) { fill_resources(&orion_spi_1, &orion_spi_1_resources, mapbase, SZ_512 - 1, NO_IRQ); platform_device_register(&orion_spi_1); }