Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 730ee9f3 authored by Lennert Buytenhek's avatar Lennert Buytenhek Committed by Russell King
Browse files

[ARM] 3879/1: ep93xx: instantiate platform devices for ep93xx ethernet



Instantiate platform devices for the ep93xx ethernet driver in a
couple of ep93xx board support files.

Signed-off-by: default avatarLennert Buytenhek <buytenh@wantstofly.org>
Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
parent 2552fc27
Loading
Loading
Loading
Loading
+30 −0
Original line number Diff line number Diff line
@@ -44,10 +44,40 @@ static struct platform_device edb9315a_flash = {
	.resource	= &edb9315a_flash_resource,
};

static struct ep93xx_eth_data edb9315a_eth_data = {
	.phy_id			= 1,
};

static struct resource edb9315a_eth_resource[] = {
	{
		.start	= EP93XX_ETHERNET_PHYS_BASE,
		.end	= EP93XX_ETHERNET_PHYS_BASE + 0xffff,
		.flags	= IORESOURCE_MEM,
	}, {
		.start	= IRQ_EP93XX_ETHERNET,
		.end	= IRQ_EP93XX_ETHERNET,
		.flags	= IORESOURCE_IRQ,
	}
};

static struct platform_device edb9315a_eth_device = {
	.name		= "ep93xx-eth",
	.id		= -1,
	.dev		= {
		.platform_data	= &edb9315a_eth_data,
	},
	.num_resources	= 2,
	.resource	= edb9315a_eth_resource,
};

static void __init edb9315a_init_machine(void)
{
	ep93xx_init_devices();
	platform_device_register(&edb9315a_flash);

	memcpy(edb9315a_eth_data.dev_addr,
		(void *)(EP93XX_ETHERNET_BASE + 0x50), 6);
	platform_device_register(&edb9315a_eth_device);
}

MACHINE_START(EDB9315A, "Cirrus Logic EDB9315A Evaluation Board")
+27 −0
Original line number Diff line number Diff line
@@ -43,10 +43,37 @@ static struct platform_device gesbc9312_flash = {
	.resource	= &gesbc9312_flash_resource,
};

static struct ep93xx_eth_data gesbc9312_eth_data = {
	.phy_id			= 1,
};

static struct resource gesbc9312_eth_resource[] = {
	{
		.start	= EP93XX_ETHERNET_PHYS_BASE,
		.end	= EP93XX_ETHERNET_PHYS_BASE + 0xffff,
		.flags	= IORESOURCE_MEM,
	}, {
		.start	= IRQ_EP93XX_ETHERNET,
		.end	= IRQ_EP93XX_ETHERNET,
		.flags	= IORESOURCE_IRQ,
	}
};

static struct platform_device gesbc9312_eth_device = {
	.name		= "ep93xx-eth",
	.id		= -1,
	.dev		= {
		.platform_data	= &gesbc9312_eth_data,
	},
	.num_resources	= 2,
	.resource	= gesbc9312_eth_resource,
};

static void __init gesbc9312_init_machine(void)
{
	ep93xx_init_devices();
	platform_device_register(&gesbc9312_flash);
	platform_device_register(&gesbc9312_eth_device);
}

MACHINE_START(GESBC9312, "Glomation GESBC-9312-sx")
+30 −0
Original line number Diff line number Diff line
@@ -157,12 +157,42 @@ static struct platform_device ts72xx_rtc_device = {
	.num_resources		= 0,
};

static struct ep93xx_eth_data ts72xx_eth_data = {
	.phy_id			= 1,
};

static struct resource ts72xx_eth_resource[] = {
	{
		.start	= EP93XX_ETHERNET_PHYS_BASE,
		.end	= EP93XX_ETHERNET_PHYS_BASE + 0xffff,
		.flags	= IORESOURCE_MEM,
	}, {
		.start	= IRQ_EP93XX_ETHERNET,
		.end	= IRQ_EP93XX_ETHERNET,
		.flags	= IORESOURCE_IRQ,
	}
};

static struct platform_device ts72xx_eth_device = {
	.name		= "ep93xx-eth",
	.id		= -1,
	.dev		= {
		.platform_data	= &ts72xx_eth_data,
	},
	.num_resources	= 2,
	.resource	= ts72xx_eth_resource,
};

static void __init ts72xx_init_machine(void)
{
	ep93xx_init_devices();
	if (board_is_ts7200())
		platform_device_register(&ts72xx_flash);
	platform_device_register(&ts72xx_rtc_device);

	memcpy(ts72xx_eth_data.dev_addr,
		(void *)(EP93XX_ETHERNET_BASE + 0x50), 6);
	platform_device_register(&ts72xx_eth_device);
}

MACHINE_START(TS72XX, "Technologic Systems TS-72xx SBC")