diff options
Diffstat (limited to 'arch/arm/mach-omap2/board-am3517evm.c')
| -rw-r--r-- | arch/arm/mach-omap2/board-am3517evm.c | 119 | 
1 files changed, 3 insertions, 116 deletions
diff --git a/arch/arm/mach-omap2/board-am3517evm.c b/arch/arm/mach-omap2/board-am3517evm.c index 4b1cfe32e6b..3645285a3e2 100644 --- a/arch/arm/mach-omap2/board-am3517evm.c +++ b/arch/arm/mach-omap2/board-am3517evm.c @@ -39,124 +39,11 @@  #include <video/omap-panel-generic-dpi.h>  #include <video/omap-panel-dvi.h> +#include "am35xx-emac.h"  #include "mux.h"  #include "control.h"  #include "hsmmc.h" -#define AM35XX_EVM_MDIO_FREQUENCY	(1000000) - -static struct mdio_platform_data am3517_evm_mdio_pdata = { -	.bus_freq	= AM35XX_EVM_MDIO_FREQUENCY, -}; - -static struct resource am3517_mdio_resources[] = { -	{ -		.start  = AM35XX_IPSS_EMAC_BASE + AM35XX_EMAC_MDIO_OFFSET, -		.end    = AM35XX_IPSS_EMAC_BASE + AM35XX_EMAC_MDIO_OFFSET + -			  SZ_4K - 1, -		.flags  = IORESOURCE_MEM, -	}, -}; - -static struct platform_device am3517_mdio_device = { -	.name		= "davinci_mdio", -	.id		= 0, -	.num_resources	= ARRAY_SIZE(am3517_mdio_resources), -	.resource	= am3517_mdio_resources, -	.dev.platform_data = &am3517_evm_mdio_pdata, -}; - -static struct emac_platform_data am3517_evm_emac_pdata = { -	.rmii_en	= 1, -}; - -static struct resource am3517_emac_resources[] = { -	{ -		.start  = AM35XX_IPSS_EMAC_BASE, -		.end    = AM35XX_IPSS_EMAC_BASE + 0x2FFFF, -		.flags  = IORESOURCE_MEM, -	}, -	{ -		.start  = INT_35XX_EMAC_C0_RXTHRESH_IRQ, -		.end    = INT_35XX_EMAC_C0_RXTHRESH_IRQ, -		.flags  = IORESOURCE_IRQ, -	}, -	{ -		.start  = INT_35XX_EMAC_C0_RX_PULSE_IRQ, -		.end    = INT_35XX_EMAC_C0_RX_PULSE_IRQ, -		.flags  = IORESOURCE_IRQ, -	}, -	{ -		.start  = INT_35XX_EMAC_C0_TX_PULSE_IRQ, -		.end    = INT_35XX_EMAC_C0_TX_PULSE_IRQ, -		.flags  = IORESOURCE_IRQ, -	}, -	{ -		.start  = INT_35XX_EMAC_C0_MISC_PULSE_IRQ, -		.end    = INT_35XX_EMAC_C0_MISC_PULSE_IRQ, -		.flags  = IORESOURCE_IRQ, -	}, -}; - -static struct platform_device am3517_emac_device = { -	.name		= "davinci_emac", -	.id		= -1, -	.num_resources	= ARRAY_SIZE(am3517_emac_resources), -	.resource	= am3517_emac_resources, -}; - -static void am3517_enable_ethernet_int(void) -{ -	u32 regval; - -	regval = omap_ctrl_readl(AM35XX_CONTROL_LVL_INTR_CLEAR); -	regval = (regval | AM35XX_CPGMAC_C0_RX_PULSE_CLR | -		AM35XX_CPGMAC_C0_TX_PULSE_CLR | -		AM35XX_CPGMAC_C0_MISC_PULSE_CLR | -		AM35XX_CPGMAC_C0_RX_THRESH_CLR); -	omap_ctrl_writel(regval, AM35XX_CONTROL_LVL_INTR_CLEAR); -	regval = omap_ctrl_readl(AM35XX_CONTROL_LVL_INTR_CLEAR); -} - -static void am3517_disable_ethernet_int(void) -{ -	u32 regval; - -	regval = omap_ctrl_readl(AM35XX_CONTROL_LVL_INTR_CLEAR); -	regval = (regval | AM35XX_CPGMAC_C0_RX_PULSE_CLR | -		AM35XX_CPGMAC_C0_TX_PULSE_CLR); -	omap_ctrl_writel(regval, AM35XX_CONTROL_LVL_INTR_CLEAR); -	regval = omap_ctrl_readl(AM35XX_CONTROL_LVL_INTR_CLEAR); -} - -static void am3517_evm_ethernet_init(struct emac_platform_data *pdata) -{ -	unsigned int regval; - -	pdata->ctrl_reg_offset		= AM35XX_EMAC_CNTRL_OFFSET; -	pdata->ctrl_mod_reg_offset	= AM35XX_EMAC_CNTRL_MOD_OFFSET; -	pdata->ctrl_ram_offset		= AM35XX_EMAC_CNTRL_RAM_OFFSET; -	pdata->ctrl_ram_size		= AM35XX_EMAC_CNTRL_RAM_SIZE; -	pdata->version			= EMAC_VERSION_2; -	pdata->hw_ram_addr		= AM35XX_EMAC_HW_RAM_ADDR; -	pdata->interrupt_enable		= am3517_enable_ethernet_int; -	pdata->interrupt_disable	= am3517_disable_ethernet_int; -	am3517_emac_device.dev.platform_data	= pdata; -	platform_device_register(&am3517_emac_device); -	platform_device_register(&am3517_mdio_device); -	clk_add_alias(NULL, dev_name(&am3517_mdio_device.dev), -		      NULL, &am3517_emac_device.dev); - -	regval = omap_ctrl_readl(AM35XX_CONTROL_IP_SW_RESET); -	regval = regval & (~(AM35XX_CPGMACSS_SW_RST)); -	omap_ctrl_writel(regval, AM35XX_CONTROL_IP_SW_RESET); -	regval = omap_ctrl_readl(AM35XX_CONTROL_IP_SW_RESET); - -	return ; -} - - -  #define LCD_PANEL_PWR		176  #define LCD_PANEL_BKLIGHT_PWR	182  #define LCD_PANEL_PWM		181 @@ -498,13 +385,13 @@ static void __init am3517_evm_init(void)  	i2c_register_board_info(1, am3517evm_i2c1_boardinfo,  				ARRAY_SIZE(am3517evm_i2c1_boardinfo));  	/*Ethernet*/ -	am3517_evm_ethernet_init(&am3517_evm_emac_pdata); +	am35xx_emac_init(AM35XX_DEFAULT_MDIO_FREQUENCY, 1);  	/* MUSB */  	am3517_evm_musb_init();  	/* MMC init function */ -	omap2_hsmmc_init(mmc); +	omap_hsmmc_init(mmc);  }  MACHINE_START(OMAP3517EVM, "OMAP3517/AM3517 EVM")  |