diff options
Diffstat (limited to 'arch/arm/mach-davinci/dm644x.c')
| -rw-r--r-- | arch/arm/mach-davinci/dm644x.c | 23 | 
1 files changed, 21 insertions, 2 deletions
| diff --git a/arch/arm/mach-davinci/dm644x.c b/arch/arm/mach-davinci/dm644x.c index 5e5b0a7831fb..0608dd776a16 100644 --- a/arch/arm/mach-davinci/dm644x.c +++ b/arch/arm/mach-davinci/dm644x.c @@ -322,7 +322,6 @@ static struct emac_platform_data dm644x_emac_pdata = {  	.ctrl_reg_offset	= DM644X_EMAC_CNTRL_OFFSET,  	.ctrl_mod_reg_offset	= DM644X_EMAC_CNTRL_MOD_OFFSET,  	.ctrl_ram_offset	= DM644X_EMAC_CNTRL_RAM_OFFSET, -	.mdio_reg_offset	= DM644X_EMAC_MDIO_OFFSET,  	.ctrl_ram_size		= DM644X_EMAC_CNTRL_RAM_SIZE,  	.version		= EMAC_VERSION_1,  }; @@ -330,7 +329,7 @@ static struct emac_platform_data dm644x_emac_pdata = {  static struct resource dm644x_emac_resources[] = {  	{  		.start	= DM644X_EMAC_BASE, -		.end	= DM644X_EMAC_BASE + 0x47ff, +		.end	= DM644X_EMAC_BASE + SZ_16K - 1,  		.flags	= IORESOURCE_MEM,  	},  	{ @@ -350,6 +349,21 @@ static struct platform_device dm644x_emac_device = {         .resource	= dm644x_emac_resources,  }; +static struct resource dm644x_mdio_resources[] = { +	{ +		.start	= DM644X_EMAC_MDIO_BASE, +		.end	= DM644X_EMAC_MDIO_BASE + SZ_4K - 1, +		.flags	= IORESOURCE_MEM, +	}, +}; + +static struct platform_device dm644x_mdio_device = { +	.name		= "davinci_mdio", +	.id		= 0, +	.num_resources	= ARRAY_SIZE(dm644x_mdio_resources), +	.resource	= dm644x_mdio_resources, +}; +  /*   * Device specific mux setup   * @@ -776,7 +790,12 @@ static int __init dm644x_init_devices(void)  	clk_add_alias("master", dm644x_ccdc_dev.name, "vpss_master", NULL);  	clk_add_alias("slave", dm644x_ccdc_dev.name, "vpss_slave", NULL);  	platform_device_register(&dm644x_edma_device); + +	platform_device_register(&dm644x_mdio_device);  	platform_device_register(&dm644x_emac_device); +	clk_add_alias(NULL, dev_name(&dm644x_mdio_device.dev), +		      NULL, &dm644x_emac_device.dev); +  	platform_device_register(&dm644x_vpss_device);  	platform_device_register(&dm644x_ccdc_dev);  	platform_device_register(&vpfe_capture_dev); |