Example #1
0
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);
}
Example #8
0
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);
}
Example #13
0
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;
}
Example #14
0
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);
}
Example #16
0
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);
}