diff options
| -rw-r--r-- | arch/arm/mach-mx2/mxt_td60.c | 24 | ||||
| -rw-r--r-- | arch/arm/mach-mx25/clock.c | 2 | ||||
| -rw-r--r-- | arch/arm/mach-mx25/devices.c | 19 | ||||
| -rw-r--r-- | arch/arm/mach-mx25/devices.h | 1 | ||||
| -rw-r--r-- | arch/arm/mach-mx25/mx25pdk.c | 46 | ||||
| -rw-r--r-- | arch/arm/mach-mx3/Kconfig | 3 | ||||
| -rw-r--r-- | arch/arm/mach-mx3/mm.c | 5 | ||||
| -rw-r--r-- | arch/arm/mach-mx3/mx31ads.c | 5 | ||||
| -rw-r--r-- | arch/arm/mach-mx3/mx31lite.c | 9 | ||||
| -rw-r--r-- | arch/arm/mach-mx3/mx31moboard-devboard.c | 2 | ||||
| -rw-r--r-- | arch/arm/mach-mx3/mx31moboard-marxbot.c | 2 | ||||
| -rw-r--r-- | arch/arm/mach-mx3/mx31moboard.c | 7 | ||||
| -rw-r--r-- | arch/arm/mach-mx3/mx31pdk.c | 5 | ||||
| -rw-r--r-- | arch/arm/mach-mx3/pcm037.c | 32 | ||||
| -rw-r--r-- | arch/arm/plat-mxc/include/mach/iomux-mx25.h | 58 | ||||
| -rw-r--r-- | arch/arm/plat-mxc/include/mach/mx25.h | 4 | 
16 files changed, 143 insertions, 81 deletions
| diff --git a/arch/arm/mach-mx2/mxt_td60.c b/arch/arm/mach-mx2/mxt_td60.c index 03dbbdc98955..8bcc1a5b8829 100644 --- a/arch/arm/mach-mx2/mxt_td60.c +++ b/arch/arm/mach-mx2/mxt_td60.c @@ -58,21 +58,6 @@ static unsigned int mxt_td60_pins[] __initdata = {  	PE9_PF_UART3_RXD,  	PE10_PF_UART3_CTS,  	PE11_PF_UART3_RTS, -	/* UART3 */ -	PB26_AF_UART4_RTS, -	PB28_AF_UART4_TXD, -	PB29_AF_UART4_CTS, -	PB31_AF_UART4_RXD, -	/* UART4 */ -	PB18_AF_UART5_TXD, -	PB19_AF_UART5_RXD, -	PB20_AF_UART5_CTS, -	PB21_AF_UART5_RTS, -	/* UART5 */ -	PB10_AF_UART6_TXD, -	PB12_AF_UART6_CTS, -	PB11_AF_UART6_RXD, -	PB13_AF_UART6_RTS,  	/* FEC */  	PD0_AIN_FEC_TXD0,  	PD1_AIN_FEC_TXD1, @@ -261,12 +246,6 @@ static struct imxuart_platform_data uart_pdata[] = {  		.flags = IMXUART_HAVE_RTSCTS,  	}, {  		.flags = IMXUART_HAVE_RTSCTS, -	}, { -		.flags = IMXUART_HAVE_RTSCTS, -	}, { -		.flags = IMXUART_HAVE_RTSCTS, -	}, { -		.flags = IMXUART_HAVE_RTSCTS,  	},  }; @@ -278,9 +257,6 @@ static void __init mxt_td60_board_init(void)  	mxc_register_device(&mxc_uart_device0, &uart_pdata[0]);  	mxc_register_device(&mxc_uart_device1, &uart_pdata[1]);  	mxc_register_device(&mxc_uart_device2, &uart_pdata[2]); -	mxc_register_device(&mxc_uart_device3, &uart_pdata[3]); -	mxc_register_device(&mxc_uart_device4, &uart_pdata[4]); -	mxc_register_device(&mxc_uart_device5, &uart_pdata[5]);  	mxc_register_device(&mxc_nand_device, &mxt_td60_nand_board_info);  	i2c_register_board_info(0, mxt_td60_i2c_devices, diff --git a/arch/arm/mach-mx25/clock.c b/arch/arm/mach-mx25/clock.c index ef26951a5275..6e838b857712 100644 --- a/arch/arm/mach-mx25/clock.c +++ b/arch/arm/mach-mx25/clock.c @@ -173,6 +173,7 @@ DEFINE_CLOCK(pwm4_clk,	 0, CCM_CGCR2,  2, get_rate_ipg, NULL);  DEFINE_CLOCK(kpp_clk,	 0, CCM_CGCR1, 28, get_rate_ipg, NULL);  DEFINE_CLOCK(tsc_clk,	 0, CCM_CGCR2, 13, get_rate_ipg, NULL);  DEFINE_CLOCK(i2c_clk,	 0, CCM_CGCR0,  6, get_rate_i2c, NULL); +DEFINE_CLOCK(fec_clk,	 0, CCM_CGCR0, 23, get_rate_ipg, NULL);  #define _REGISTER_CLOCK(d, n, c)	\  	{				\ @@ -204,6 +205,7 @@ static struct clk_lookup lookups[] = {  	_REGISTER_CLOCK("imx-i2c.0", NULL, i2c_clk)  	_REGISTER_CLOCK("imx-i2c.1", NULL, i2c_clk)  	_REGISTER_CLOCK("imx-i2c.2", NULL, i2c_clk) +	_REGISTER_CLOCK("fec.0", NULL, fec_clk)  };  int __init mx25_clocks_init(unsigned long fref) diff --git a/arch/arm/mach-mx25/devices.c b/arch/arm/mach-mx25/devices.c index 63511de3a559..9fdeea1c083b 100644 --- a/arch/arm/mach-mx25/devices.c +++ b/arch/arm/mach-mx25/devices.c @@ -419,3 +419,22 @@ int __init mxc_register_gpios(void)  	return mxc_gpio_init(imx_gpio_ports, ARRAY_SIZE(imx_gpio_ports));  } +static struct resource mx25_fec_resources[] = { +	{ +		.start	= MX25_FEC_BASE_ADDR, +		.end	= MX25_FEC_BASE_ADDR + 0xfff, +		.flags	= IORESOURCE_MEM, +	}, +	{ +		.start	= MX25_INT_FEC, +		.end	= MX25_INT_FEC, +		.flags	= IORESOURCE_IRQ, +	}, +}; + +struct platform_device mx25_fec_device = { +	.name	= "fec", +	.id	= 0, +	.num_resources	= ARRAY_SIZE(mx25_fec_resources), +	.resource	= mx25_fec_resources, +}; diff --git a/arch/arm/mach-mx25/devices.h b/arch/arm/mach-mx25/devices.h index fe6bf88ad1dd..fe5420fcd11f 100644 --- a/arch/arm/mach-mx25/devices.h +++ b/arch/arm/mach-mx25/devices.h @@ -17,3 +17,4 @@ extern struct platform_device mxc_keypad_device;  extern struct platform_device mxc_i2c_device0;  extern struct platform_device mxc_i2c_device1;  extern struct platform_device mxc_i2c_device2; +extern struct platform_device mx25_fec_device; diff --git a/arch/arm/mach-mx25/mx25pdk.c b/arch/arm/mach-mx25/mx25pdk.c index d23ae571c03f..921bc99ea231 100644 --- a/arch/arm/mach-mx25/mx25pdk.c +++ b/arch/arm/mach-mx25/mx25pdk.c @@ -18,10 +18,11 @@  #include <linux/types.h>  #include <linux/init.h> +#include <linux/delay.h>  #include <linux/clk.h>  #include <linux/irq.h>  #include <linux/gpio.h> -#include <linux/smsc911x.h> +#include <linux/fec.h>  #include <linux/platform_device.h>  #include <mach/hardware.h> @@ -35,16 +36,57 @@  #include <mach/mx25.h>  #include <mach/mxc_nand.h>  #include "devices.h" -#include <mach/iomux-v3.h> +#include <mach/iomux.h>  static struct imxuart_platform_data uart_pdata = {  	.flags = IMXUART_HAVE_RTSCTS,  }; +static struct pad_desc mx25pdk_pads[] = { +	MX25_PAD_FEC_MDC__FEC_MDC, +	MX25_PAD_FEC_MDIO__FEC_MDIO, +	MX25_PAD_FEC_TDATA0__FEC_TDATA0, +	MX25_PAD_FEC_TDATA1__FEC_TDATA1, +	MX25_PAD_FEC_TX_EN__FEC_TX_EN, +	MX25_PAD_FEC_RDATA0__FEC_RDATA0, +	MX25_PAD_FEC_RDATA1__FEC_RDATA1, +	MX25_PAD_FEC_RX_DV__FEC_RX_DV, +	MX25_PAD_FEC_TX_CLK__FEC_TX_CLK, +	MX25_PAD_A17__GPIO_2_3, /* FEC_EN, GPIO 35 */ +	MX25_PAD_D12__GPIO_4_8, /* FEC_RESET_B, GPIO 104 */ +}; + +static struct fec_platform_data mx25_fec_pdata = { +        .phy    = PHY_INTERFACE_MODE_RMII, +}; + +#define FEC_ENABLE_GPIO		35 +#define FEC_RESET_B_GPIO	104 + +static void __init mx25pdk_fec_reset(void) +{ +	gpio_request(FEC_ENABLE_GPIO, "FEC PHY enable"); +	gpio_request(FEC_RESET_B_GPIO, "FEC PHY reset"); + +	gpio_direction_output(FEC_ENABLE_GPIO, 0);  /* drop PHY power */ +	gpio_direction_output(FEC_RESET_B_GPIO, 0); /* assert reset */ +	udelay(2); + +	/* turn on PHY power and lift reset */ +	gpio_set_value(FEC_ENABLE_GPIO, 1); +	gpio_set_value(FEC_RESET_B_GPIO, 1); +} +  static void __init mx25pdk_init(void)  { +	mxc_iomux_v3_setup_multiple_pads(mx25pdk_pads, +			ARRAY_SIZE(mx25pdk_pads)); +  	mxc_register_device(&mxc_uart_device0, &uart_pdata);  	mxc_register_device(&mxc_usbh2, NULL); + +	mx25pdk_fec_reset(); +	mxc_register_device(&mx25_fec_device, &mx25_fec_pdata);  }  static void __init mx25pdk_timer_init(void) diff --git a/arch/arm/mach-mx3/Kconfig b/arch/arm/mach-mx3/Kconfig index ea8ed109a7c2..28294416b0af 100644 --- a/arch/arm/mach-mx3/Kconfig +++ b/arch/arm/mach-mx3/Kconfig @@ -49,6 +49,7 @@ config MACH_PCM037_EET  config MACH_MX31LITE  	bool "Support MX31 LITEKIT (LogicPD)"  	select ARCH_MX31 +	select MXC_ULPI if USB_ULPI  	help  	  Include support for MX31 LITEKIT platform. This includes specific  	  configurations for the board and its peripherals. @@ -63,7 +64,7 @@ config MACH_MX31_3DS  config MACH_MX31MOBOARD  	bool "Support mx31moboard platforms (EPFL Mobots group)"  	select ARCH_MX31 -	select MXC_ULPI +	select MXC_ULPI if USB_ULPI  	help  	  Include support for mx31moboard platform. This includes specific  	  configurations for the board and its peripherals. diff --git a/arch/arm/mach-mx3/mm.c b/arch/arm/mach-mx3/mm.c index bedf5b8d976a..6858a4f9806c 100644 --- a/arch/arm/mach-mx3/mm.c +++ b/arch/arm/mach-mx3/mm.c @@ -65,6 +65,11 @@ static struct map_desc mxc_io_desc[] __initdata = {  		.pfn		= __phys_to_pfn(AIPS2_BASE_ADDR),  		.length		= AIPS2_SIZE,  		.type		= MT_DEVICE_NONSHARED +	}, { +		.virtual = SPBA0_BASE_ADDR_VIRT, +		.pfn = __phys_to_pfn(SPBA0_BASE_ADDR), +		.length = SPBA0_SIZE, +		.type = MT_DEVICE_NONSHARED  	},  }; diff --git a/arch/arm/mach-mx3/mx31ads.c b/arch/arm/mach-mx3/mx31ads.c index 0497c152be18..3e7bafa2ddbb 100644 --- a/arch/arm/mach-mx3/mx31ads.c +++ b/arch/arm/mach-mx3/mx31ads.c @@ -494,11 +494,6 @@ static void mxc_init_i2c(void)   */  static struct map_desc mx31ads_io_desc[] __initdata = {  	{ -		.virtual	= SPBA0_BASE_ADDR_VIRT, -		.pfn		= __phys_to_pfn(SPBA0_BASE_ADDR), -		.length		= SPBA0_SIZE, -		.type		= MT_DEVICE_NONSHARED -	}, {  		.virtual	= CS4_BASE_ADDR_VIRT,  		.pfn		= __phys_to_pfn(CS4_BASE_ADDR),  		.length		= CS4_SIZE / 2, diff --git a/arch/arm/mach-mx3/mx31lite.c b/arch/arm/mach-mx3/mx31lite.c index def6b6736594..789b20d1730f 100644 --- a/arch/arm/mach-mx3/mx31lite.c +++ b/arch/arm/mach-mx3/mx31lite.c @@ -135,6 +135,7 @@ static struct spi_board_info mc13783_spi_dev __initdata = {   * USB   */ +#if defined(CONFIG_USB_ULPI)  #define USB_PAD_CFG (PAD_CTL_DRV_MAX | PAD_CTL_SRE_FAST | PAD_CTL_HYS_CMOS | \  			PAD_CTL_ODE_CMOS | PAD_CTL_100K_PU) @@ -180,6 +181,7 @@ static struct mxc_usbh_platform_data usbh2_pdata = {  	.portsc = MXC_EHCI_MODE_ULPI | MXC_EHCI_UTMI_8BIT,  	.flags  = MXC_EHCI_POWER_PINS_ENABLED,  }; +#endif  /*   * NOR flash @@ -212,11 +214,6 @@ static struct platform_device physmap_flash_device = {   */  static struct map_desc mx31lite_io_desc[] __initdata = {  	{ -		.virtual = SPBA0_BASE_ADDR_VIRT, -		.pfn = __phys_to_pfn(SPBA0_BASE_ADDR), -		.length = SPBA0_SIZE, -		.type = MT_DEVICE_NONSHARED -	}, {  		.virtual = CS4_BASE_ADDR_VIRT,  		.pfn = __phys_to_pfn(CS4_BASE_ADDR),  		.length = CS4_SIZE, @@ -261,11 +258,13 @@ static void __init mxc_board_init(void)  	mxc_register_device(&mxc_spi_device1, &spi1_pdata);  	spi_register_board_info(&mc13783_spi_dev, 1); +#if defined(CONFIG_USB_ULPI)  	/* USB */  	usbh2_pdata.otg = otg_ulpi_create(&mxc_ulpi_access_ops,  				USB_OTG_DRV_VBUS | USB_OTG_DRV_VBUS_EXT);  	mxc_register_device(&mxc_usbh2, &usbh2_pdata); +#endif  	/* SMSC9117 IRQ pin */  	ret = gpio_request(IOMUX_TO_GPIO(MX31_PIN_SFS6), "sms9117-irq"); diff --git a/arch/arm/mach-mx3/mx31moboard-devboard.c b/arch/arm/mach-mx3/mx31moboard-devboard.c index 8fc624f141cb..438428eaf769 100644 --- a/arch/arm/mach-mx3/mx31moboard-devboard.c +++ b/arch/arm/mach-mx3/mx31moboard-devboard.c @@ -179,7 +179,7 @@ static int __init devboard_usbh1_init(void)  	usbh1_pdata.otg = otg; -	return mxc_register_device(&mx31_usbh1, &usbh1_pdata); +	return mxc_register_device(&mxc_usbh1, &usbh1_pdata);  }  /* diff --git a/arch/arm/mach-mx3/mx31moboard-marxbot.c b/arch/arm/mach-mx3/mx31moboard-marxbot.c index 85184a35e674..1f44b9ccbb0f 100644 --- a/arch/arm/mach-mx3/mx31moboard-marxbot.c +++ b/arch/arm/mach-mx3/mx31moboard-marxbot.c @@ -294,7 +294,7 @@ static int __init marxbot_usbh1_init(void)  	usbh1_pdata.otg = otg; -	return mxc_register_device(&mx31_usbh1, &usbh1_pdata); +	return mxc_register_device(&mxc_usbh1, &usbh1_pdata);  }  /* diff --git a/arch/arm/mach-mx3/mx31moboard.c b/arch/arm/mach-mx3/mx31moboard.c index b70529145936..cfd605d078ec 100644 --- a/arch/arm/mach-mx3/mx31moboard.c +++ b/arch/arm/mach-mx3/mx31moboard.c @@ -346,6 +346,8 @@ static struct fsl_usb2_platform_data usb_pdata = {  	.phy_mode	= FSL_USB2_PHY_ULPI,  }; +#if defined(CONFIG_USB_ULPI) +  #define USBH2_EN_B IOMUX_TO_GPIO(MX31_PIN_SCK6)  static int moboard_usbh2_hw_init(struct platform_device *pdev) @@ -392,8 +394,11 @@ static int __init moboard_usbh2_init(void)  	usbh2_pdata.otg = otg_ulpi_create(&mxc_ulpi_access_ops,  			USB_OTG_DRV_VBUS | USB_OTG_DRV_VBUS_EXT); -	return mxc_register_device(&mx31_usbh2, &usbh2_pdata); +	return mxc_register_device(&mxc_usbh2, &usbh2_pdata);  } +#else +static inline int moboard_usbh2_init(void) { return 0; } +#endif  static struct gpio_led mx31moboard_leds[] = { diff --git a/arch/arm/mach-mx3/mx31pdk.c b/arch/arm/mach-mx3/mx31pdk.c index 0f7a2f06bc2d..18715f1aa7eb 100644 --- a/arch/arm/mach-mx3/mx31pdk.c +++ b/arch/arm/mach-mx3/mx31pdk.c @@ -211,11 +211,6 @@ static int __init mx31pdk_init_expio(void)   */  static struct map_desc mx31pdk_io_desc[] __initdata = {  	{ -		.virtual = SPBA0_BASE_ADDR_VIRT, -		.pfn = __phys_to_pfn(SPBA0_BASE_ADDR), -		.length = SPBA0_SIZE, -		.type = MT_DEVICE_NONSHARED, -	}, {  		.virtual = CS5_BASE_ADDR_VIRT,  		.pfn = __phys_to_pfn(CS5_BASE_ADDR),  		.length = CS5_SIZE, diff --git a/arch/arm/mach-mx3/pcm037.c b/arch/arm/mach-mx3/pcm037.c index 6cbaabedf386..5be396917c99 100644 --- a/arch/arm/mach-mx3/pcm037.c +++ b/arch/arm/mach-mx3/pcm037.c @@ -322,16 +322,25 @@ static int pcm037_camera_power(struct device *dev, int on)  	return 0;  } -static struct i2c_board_info pcm037_i2c_2_devices[] = { +static struct i2c_board_info pcm037_i2c_camera[] = {  	{  		I2C_BOARD_INFO("mt9t031", 0x5d), +	}, { +		I2C_BOARD_INFO("mt9v022", 0x48),  	},  }; -static struct soc_camera_link iclink = { +static struct soc_camera_link iclink_mt9v022 = { +	.bus_id		= 0,		/* Must match with the camera ID */ +	.board_info	= &pcm037_i2c_camera[1], +	.i2c_adapter_id	= 2, +	.module_name	= "mt9v022", +}; + +static struct soc_camera_link iclink_mt9t031 = {  	.bus_id		= 0,		/* Must match with the camera ID */  	.power		= pcm037_camera_power, -	.board_info	= &pcm037_i2c_2_devices[0], +	.board_info	= &pcm037_i2c_camera[0],  	.i2c_adapter_id	= 2,  	.module_name	= "mt9t031",  }; @@ -345,11 +354,19 @@ static struct i2c_board_info pcm037_i2c_devices[] = {  	}  }; -static struct platform_device pcm037_camera = { +static struct platform_device pcm037_mt9t031 = {  	.name	= "soc-camera-pdrv",  	.id	= 0,  	.dev	= { -		.platform_data = &iclink, +		.platform_data = &iclink_mt9t031, +	}, +}; + +static struct platform_device pcm037_mt9v022 = { +	.name	= "soc-camera-pdrv", +	.id	= 1, +	.dev	= { +		.platform_data = &iclink_mt9v022,  	},  }; @@ -449,7 +466,8 @@ static int __init pcm037_camera_alloc_dma(const size_t buf_size)  static struct platform_device *devices[] __initdata = {  	&pcm037_flash,  	&pcm037_sram_device, -	&pcm037_camera, +	&pcm037_mt9t031, +	&pcm037_mt9v022,  };  static struct ipu_platform_data mx3_ipu_data = { @@ -599,7 +617,7 @@ static void __init mxc_board_init(void)  	if (!ret)  		gpio_direction_output(IOMUX_TO_GPIO(MX31_PIN_CSI_D5), 1);  	else -		iclink.power = NULL; +		iclink_mt9t031.power = NULL;  	if (!pcm037_camera_alloc_dma(4 * 1024 * 1024))  		mxc_register_device(&mx3_camera, &camera_pdata); diff --git a/arch/arm/plat-mxc/include/mach/iomux-mx25.h b/arch/arm/plat-mxc/include/mach/iomux-mx25.h index 810c47f56e77..9af494f0ab3d 100644 --- a/arch/arm/plat-mxc/include/mach/iomux-mx25.h +++ b/arch/arm/plat-mxc/include/mach/iomux-mx25.h @@ -58,19 +58,19 @@  #define MX25_PAD_A18__A18		IOMUX_PAD(0x23c, 0x020, 0x10, 0, 0, NO_PAD_CTRL)  #define MX25_PAD_A18__GPIO_2_4		IOMUX_PAD(0x23c, 0x020, 0x15, 0, 0, NO_PAD_CTRL) -#define MX25_PAD_A18__FEC_COL		IOMUX_PAD(0x23c, 0x020, 0x17, 0x504, 0, NO_PAD_CTL) +#define MX25_PAD_A18__FEC_COL		IOMUX_PAD(0x23c, 0x020, 0x17, 0x504, 0, NO_PAD_CTRL)  #define MX25_PAD_A19__A19		IOMUX_PAD(0x240, 0x024, 0x10, 0, 0, NO_PAD_CTRL) -#define MX25_PAD_A19__FEC_RX_ER		IOMUX_PAD(0x240, 0x024, 0x17, 0x518, 0, NO_PAD_CTL) +#define MX25_PAD_A19__FEC_RX_ER		IOMUX_PAD(0x240, 0x024, 0x17, 0x518, 0, NO_PAD_CTRL)  #define MX25_PAD_A19__GPIO_2_5		IOMUX_PAD(0x240, 0x024, 0x15, 0, 0, NO_PAD_CTRL)  #define MX25_PAD_A20__A20		IOMUX_PAD(0x244, 0x028, 0x10, 0, 0, NO_PAD_CTRL)  #define MX25_PAD_A20__GPIO_2_6		IOMUX_PAD(0x244, 0x028, 0x15, 0, 0, NO_PAD_CTRL) -#define MX25_PAD_A20__FEC_RDATA2	IOMUX_PAD(0x244, 0x028, 0x17, 0x50c, 0, NO_PAD_CTL) +#define MX25_PAD_A20__FEC_RDATA2	IOMUX_PAD(0x244, 0x028, 0x17, 0x50c, 0, NO_PAD_CTRL)  #define MX25_PAD_A21__A21		IOMUX_PAD(0x248, 0x02c, 0x10, 0, 0, NO_PAD_CTRL)  #define MX25_PAD_A21__GPIO_2_7		IOMUX_PAD(0x248, 0x02c, 0x15, 0, 0, NO_PAD_CTRL) -#define MX25_PAD_A21__FEC_RDATA3	IOMUX_PAD(0x248, 0x02c, 0x17, 0x510, 0, NO_PAD_CTL) +#define MX25_PAD_A21__FEC_RDATA3	IOMUX_PAD(0x248, 0x02c, 0x17, 0x510, 0, NO_PAD_CTRL)  #define MX25_PAD_A22__A22		IOMUX_PAD(0x000, 0x030, 0x10, 0, 0, NO_PAD_CTRL)  #define MX25_PAD_A22__GPIO_2_8		IOMUX_PAD(0x000, 0x030, 0x15, 0, 0, NO_PAD_CTRL) @@ -80,11 +80,11 @@  #define MX25_PAD_A24__A24		IOMUX_PAD(0x250, 0x038, 0x10, 0, 0, NO_PAD_CTRL)  #define MX25_PAD_A24__GPIO_2_10		IOMUX_PAD(0x250, 0x038, 0x15, 0, 0, NO_PAD_CTRL) -#define MX25_PAD_A24__FEC_RX_CLK	IOMUX_PAD(0x250, 0x038, 0x17, 0x514, 0, NO_PAD_CTL) +#define MX25_PAD_A24__FEC_RX_CLK	IOMUX_PAD(0x250, 0x038, 0x17, 0x514, 0, NO_PAD_CTRL)  #define MX25_PAD_A25__A25		IOMUX_PAD(0x254, 0x03c, 0x10, 0, 0, NO_PAD_CTRL)  #define MX25_PAD_A25__GPIO_2_11		IOMUX_PAD(0x254, 0x03c, 0x15, 0, 0, NO_PAD_CTRL) -#define MX25_PAD_A25__FEC_CRS		IOMUX_PAD(0x254, 0x03c, 0x17, 0x508, 0, NO_PAD_CTL) +#define MX25_PAD_A25__FEC_CRS		IOMUX_PAD(0x254, 0x03c, 0x17, 0x508, 0, NO_PAD_CTRL)  #define MX25_PAD_EB0__EB0		IOMUX_PAD(0x258, 0x040, 0x10, 0, 0, NO_PAD_CTRL)  #define MX25_PAD_EB0__AUD4_TXD		IOMUX_PAD(0x258, 0x040, 0x14, 0x464, 0, NO_PAD_CTRL) @@ -112,7 +112,7 @@  #define MX25_PAD_CS5__UART5_RTS		IOMUX_PAD(0x268, 0x058, 0x13, 0x574, 0, NO_PAD_CTRL)  #define MX25_PAD_CS5__GPIO_3_21		IOMUX_PAD(0x268, 0x058, 0x15, 0, 0, NO_PAD_CTRL) -#define MX25_PAD_NF_CE0__NF_CE0		IOMUX_PAD(0x26c, 0x05c, 0x10, 0, 0, NO_PAD_CTL) +#define MX25_PAD_NF_CE0__NF_CE0		IOMUX_PAD(0x26c, 0x05c, 0x10, 0, 0, NO_PAD_CTRL)  #define MX25_PAD_NF_CE0__GPIO_3_22	IOMUX_PAD(0x26c, 0x05c, 0x15, 0, 0, NO_PAD_CTRL)  #define MX25_PAD_ECB__ECB		IOMUX_PAD(0x270, 0x060, 0x10, 0, 0, NO_PAD_CTRL) @@ -229,28 +229,28 @@  #define MX25_PAD_LD7__GPIO_1_21		IOMUX_PAD(0x2dc, 0x0e4, 0x15, 0, 0, NO_PAD_CTRL)  #define MX25_PAD_LD8__LD8		IOMUX_PAD(0x2e0, 0x0e8, 0x10, 0, 0, NO_PAD_CTRL) -#define MX25_PAD_LD8__FEC_TX_ERR	IOMUX_PAD(0x2e0, 0x0e8, 0x15, 0, 0, NO_PAD_CTL) +#define MX25_PAD_LD8__FEC_TX_ERR	IOMUX_PAD(0x2e0, 0x0e8, 0x15, 0, 0, NO_PAD_CTRL)  #define MX25_PAD_LD9__LD9		IOMUX_PAD(0x2e4, 0x0ec, 0x10, 0, 0, NO_PAD_CTRL) -#define MX25_PAD_LD9__FEC_COL		IOMUX_PAD(0x2e4, 0x0ec, 0x15, 0x504, 1, NO_PAD_CTL) +#define MX25_PAD_LD9__FEC_COL		IOMUX_PAD(0x2e4, 0x0ec, 0x15, 0x504, 1, NO_PAD_CTRL)  #define MX25_PAD_LD10__LD10		IOMUX_PAD(0x2e8, 0x0f0, 0x10, 0, 0, NO_PAD_CTRL) -#define MX25_PAD_LD10__FEC_RX_ER	IOMUX_PAD(0x2e8, 0x0f0, 0x15, 0x518, 1, NO_PAD_CTL) +#define MX25_PAD_LD10__FEC_RX_ER	IOMUX_PAD(0x2e8, 0x0f0, 0x15, 0x518, 1, NO_PAD_CTRL)  #define MX25_PAD_LD11__LD11		IOMUX_PAD(0x2ec, 0x0f4, 0x10, 0, 0, NO_PAD_CTRL) -#define MX25_PAD_LD11__FEC_RDATA2	IOMUX_PAD(0x2ec, 0x0f4, 0x15, 0x50c, 1, NO_PAD_CTL) +#define MX25_PAD_LD11__FEC_RDATA2	IOMUX_PAD(0x2ec, 0x0f4, 0x15, 0x50c, 1, NO_PAD_CTRL)  #define MX25_PAD_LD12__LD12		IOMUX_PAD(0x2f0, 0x0f8, 0x10, 0, 0, NO_PAD_CTRL) -#define MX25_PAD_LD12__FEC_RDATA3	IOMUX_PAD(0x2f0, 0x0f8, 0x15, 0x510, 1, NO_PAD_CTL) +#define MX25_PAD_LD12__FEC_RDATA3	IOMUX_PAD(0x2f0, 0x0f8, 0x15, 0x510, 1, NO_PAD_CTRL)  #define MX25_PAD_LD13__LD13		IOMUX_PAD(0x2f4, 0x0fc, 0x10, 0, 0, NO_PAD_CTRL) -#define MX25_PAD_LD13__FEC_TDATA2	IOMUX_PAD(0x2f4, 0x0fc, 0x15, 0, 0, NO_PAD_CTL) +#define MX25_PAD_LD13__FEC_TDATA2	IOMUX_PAD(0x2f4, 0x0fc, 0x15, 0, 0, NO_PAD_CTRL)  #define MX25_PAD_LD14__LD14		IOMUX_PAD(0x2f8, 0x100, 0x10, 0, 0, NO_PAD_CTRL) -#define MX25_PAD_LD14__FEC_TDATA3	IOMUX_PAD(0x2f8, 0x100, 0x15, 0, 0, NO_PAD_CTL) +#define MX25_PAD_LD14__FEC_TDATA3	IOMUX_PAD(0x2f8, 0x100, 0x15, 0, 0, NO_PAD_CTRL)  #define MX25_PAD_LD15__LD15		IOMUX_PAD(0x2fc, 0x104, 0x10, 0, 0, NO_PAD_CTRL) -#define MX25_PAD_LD15__FEC_RX_CLK	IOMUX_PAD(0x2fc, 0x104, 0x15, 0x514, 1, NO_PAD_CTL) +#define MX25_PAD_LD15__FEC_RX_CLK	IOMUX_PAD(0x2fc, 0x104, 0x15, 0x514, 1, NO_PAD_CTRL)  #define MX25_PAD_HSYNC__HSYNC		IOMUX_PAD(0x300, 0x108, 0x10, 0, 0, NO_PAD_CTRL)  #define MX25_PAD_HSYNC__GPIO_1_22	IOMUX_PAD(0x300, 0x108, 0x15, 0, 0, NO_PAD_CTRL) @@ -265,7 +265,7 @@  #define MX25_PAD_OE_ACD__GPIO_1_25	IOMUX_PAD(0x30c, 0x114, 0x15, 0, 0, NO_PAD_CTRL)  #define MX25_PAD_CONTRAST__CONTRAST	IOMUX_PAD(0x310, 0x118, 0x10, 0, 0, NO_PAD_CTRL) -#define MX25_PAD_CONTRAST__FEC_CRS	IOMUX_PAD(0x310, 0x118, 0x15, 0x508, 1, NO_PAD_CTL) +#define MX25_PAD_CONTRAST__FEC_CRS	IOMUX_PAD(0x310, 0x118, 0x15, 0x508, 1, NO_PAD_CTRL)  #define MX25_PAD_PWM__PWM		IOMUX_PAD(0x314, 0x11c, 0x10, 0, 0, NO_PAD_CTRL)  #define MX25_PAD_PWM__GPIO_1_26		IOMUX_PAD(0x314, 0x11c, 0x15, 0, 0, NO_PAD_CTRL) @@ -354,19 +354,19 @@  #define MX25_PAD_UART2_TXD__GPIO_4_27	IOMUX_PAD(0x37c, 0x184, 0x15, 0, 0, NO_PAD_CTRL)  #define MX25_PAD_UART2_RTS__UART2_RTS	IOMUX_PAD(0x380, 0x188, 0x10, 0, 0, NO_PAD_CTRL) -#define MX25_PAD_UART2_RTS__FEC_COL	IOMUX_PAD(0x380, 0x188, 0x12, 0x504, 2, NO_PAD_CTL) +#define MX25_PAD_UART2_RTS__FEC_COL	IOMUX_PAD(0x380, 0x188, 0x12, 0x504, 2, NO_PAD_CTRL)  #define MX25_PAD_UART2_RTS__GPIO_4_28	IOMUX_PAD(0x380, 0x188, 0x15, 0, 0, NO_PAD_CTRL) -#define MX25_PAD_UART2_CTS__FEC_RX_ER	IOMUX_PAD(0x384, 0x18c, 0x12, 0x518, 2, NO_PAD_CTL) +#define MX25_PAD_UART2_CTS__FEC_RX_ER	IOMUX_PAD(0x384, 0x18c, 0x12, 0x518, 2, NO_PAD_CTRL)  #define MX25_PAD_UART2_CTS__UART2_CTS	IOMUX_PAD(0x384, 0x18c, 0x10, 0, 0, NO_PAD_CTRL)  #define MX25_PAD_UART2_CTS__GPIO_4_29	IOMUX_PAD(0x384, 0x18c, 0x15, 0, 0, NO_PAD_CTRL)  #define MX25_PAD_SD1_CMD__SD1_CMD	IOMUX_PAD(0x388, 0x190, 0x10, 0, 0, PAD_CTL_PUS_47K_UP) -#define MX25_PAD_SD1_CMD__FEC_RDATA2	IOMUX_PAD(0x388, 0x190, 0x12, 0x50c, 2, NO_PAD_CTL) +#define MX25_PAD_SD1_CMD__FEC_RDATA2	IOMUX_PAD(0x388, 0x190, 0x12, 0x50c, 2, NO_PAD_CTRL)  #define MX25_PAD_SD1_CMD__GPIO_2_23	IOMUX_PAD(0x388, 0x190, 0x15, 0, 0, NO_PAD_CTRL)  #define MX25_PAD_SD1_CLK__SD1_CLK	IOMUX_PAD(0x38c, 0x194, 0x10, 0, 0, PAD_CTL_PUS_47K_UP) -#define MX25_PAD_SD1_CLK__FEC_RDATA3	IOMUX_PAD(0x38c, 0x194, 0x12, 0x510, 2, NO_PAD_CTL) +#define MX25_PAD_SD1_CLK__FEC_RDATA3	IOMUX_PAD(0x38c, 0x194, 0x12, 0x510, 2, NO_PAD_CTRL)  #define MX25_PAD_SD1_CLK__GPIO_2_24	IOMUX_PAD(0x38c, 0x194, 0x15, 0, 0, NO_PAD_CTRL)  #define MX25_PAD_SD1_DATA0__SD1_DATA0	IOMUX_PAD(0x390, 0x198, 0x10, 0, 0, PAD_CTL_PUS_47K_UP) @@ -377,11 +377,11 @@  #define MX25_PAD_SD1_DATA1__GPIO_2_26	IOMUX_PAD(0x394, 0x19c, 0x15, 0, 0, NO_PAD_CTRL)  #define MX25_PAD_SD1_DATA2__SD1_DATA2	IOMUX_PAD(0x398, 0x1a0, 0x10, 0, 0, PAD_CTL_PUS_47K_UP) -#define MX25_PAD_SD1_DATA2__FEC_RX_CLK	IOMUX_PAD(0x398, 0x1a0, 0x15, 0x514, 2, NO_PAD_CTL) +#define MX25_PAD_SD1_DATA2__FEC_RX_CLK	IOMUX_PAD(0x398, 0x1a0, 0x15, 0x514, 2, NO_PAD_CTRL)  #define MX25_PAD_SD1_DATA2__GPIO_2_27	IOMUX_PAD(0x398, 0x1a0, 0x15, 0, 0, NO_PAD_CTRL)  #define MX25_PAD_SD1_DATA3__SD1_DATA3	IOMUX_PAD(0x39c, 0x1a4, 0x10, 0, 0, PAD_CTL_PUS_47K_UP) -#define MX25_PAD_SD1_DATA3__FEC_CRS	IOMUX_PAD(0x39c, 0x1a4, 0x10, 0x508, 2, NO_PAD_CTL) +#define MX25_PAD_SD1_DATA3__FEC_CRS	IOMUX_PAD(0x39c, 0x1a4, 0x10, 0x508, 2, NO_PAD_CTRL)  #define MX25_PAD_SD1_DATA3__GPIO_2_28	IOMUX_PAD(0x39c, 0x1a4, 0x15, 0, 0, NO_PAD_CTRL)  #define MX25_PAD_KPP_ROW0__KPP_ROW0	IOMUX_PAD(0x3a0, 0x1a8, 0x10, 0, 0, PAD_CTL_PKE) @@ -410,7 +410,7 @@  #define MX25_PAD_KPP_COL3__KPP_COL3	IOMUX_PAD(0x3bc, 0x1c4, 0x10, 0, 0, PAD_CTL_PKE | PAD_CTL_ODE)  #define MX25_PAD_KPP_COL3__GPIO_3_4	IOMUX_PAD(0x3bc, 0x1c4, 0x15, 0, 0, NO_PAD_CTRL) -#define MX25_PAD_FEC_MDC__FEC_MDC	IOMUX_PAD(0x3c0, 0x1c8, 0x10, 0, 0, NO_PAD_CTL) +#define MX25_PAD_FEC_MDC__FEC_MDC	IOMUX_PAD(0x3c0, 0x1c8, 0x10, 0, 0, NO_PAD_CTRL)  #define MX25_PAD_FEC_MDC__AUD4_TXD	IOMUX_PAD(0x3c0, 0x1c8, 0x12, 0x464, 1, NO_PAD_CTRL)  #define MX25_PAD_FEC_MDC__GPIO_3_5	IOMUX_PAD(0x3c0, 0x1c8, 0x15, 0, 0, NO_PAD_CTRL) @@ -418,23 +418,23 @@  #define MX25_PAD_FEC_MDIO__AUD4_RXD	IOMUX_PAD(0x3c4, 0x1cc, 0x12, 0x460, 1, NO_PAD_CTRL)  #define MX25_PAD_FEC_MDIO__GPIO_3_6	IOMUX_PAD(0x3c4, 0x1cc, 0x15, 0, 0, NO_PAD_CTRL) -#define MX25_PAD_FEC_TDATA0__FEC_TDATA0	IOMUX_PAD(0x3c8, 0x1d0, 0x10, 0, 0, NO_PAD_CTL) +#define MX25_PAD_FEC_TDATA0__FEC_TDATA0	IOMUX_PAD(0x3c8, 0x1d0, 0x10, 0, 0, NO_PAD_CTRL)  #define MX25_PAD_FEC_TDATA0__GPIO_3_7	IOMUX_PAD(0x3c8, 0x1d0, 0x15, 0, 0, NO_PAD_CTRL) -#define MX25_PAD_FEC_TDATA1__FEC_TDATA1	IOMUX_PAD(0x3cc, 0x1d4, 0x10, 0, 0, NO_PAD_CTL) +#define MX25_PAD_FEC_TDATA1__FEC_TDATA1	IOMUX_PAD(0x3cc, 0x1d4, 0x10, 0, 0, NO_PAD_CTRL)  #define MX25_PAD_FEC_TDATA1__AUD4_TXFS	IOMUX_PAD(0x3cc, 0x1d4, 0x12, 0x474, 1, NO_PAD_CTRL)  #define MX25_PAD_FEC_TDATA1__GPIO_3_8	IOMUX_PAD(0x3cc, 0x1d4, 0x15, 0, 0, NO_PAD_CTRL) -#define MX25_PAD_FEC_TX_EN__FEC_TX_EN	IOMUX_PAD(0x3d0, 0x1d8, 0x10, 0, 0, NO_PAD_CTL) +#define MX25_PAD_FEC_TX_EN__FEC_TX_EN	IOMUX_PAD(0x3d0, 0x1d8, 0x10, 0, 0, NO_PAD_CTRL)  #define MX25_PAD_FEC_TX_EN__GPIO_3_9   	IOMUX_PAD(0x3d0, 0x1d8, 0x15, 0, 0, NO_PAD_CTRL) -#define MX25_PAD_FEC_RDATA0__FEC_RDATA0	IOMUX_PAD(0x3d4, 0x1dc, 0x10, 0, 0, PAD_CTL_PUS_100K_DOWN | NO_PAD_CTL) +#define MX25_PAD_FEC_RDATA0__FEC_RDATA0	IOMUX_PAD(0x3d4, 0x1dc, 0x10, 0, 0, PAD_CTL_PUS_100K_DOWN | NO_PAD_CTRL)  #define MX25_PAD_FEC_RDATA0__GPIO_3_10	IOMUX_PAD(0x3d4, 0x1dc, 0x15, 0, 0, NO_PAD_CTRL) -#define MX25_PAD_FEC_RDATA1__FEC_RDATA1	IOMUX_PAD(0x3d8, 0x1e0, 0x10, 0, 0, PAD_CTL_PUS_100K_DOWN | NO_PAD_CTL) +#define MX25_PAD_FEC_RDATA1__FEC_RDATA1	IOMUX_PAD(0x3d8, 0x1e0, 0x10, 0, 0, PAD_CTL_PUS_100K_DOWN | NO_PAD_CTRL)  #define MX25_PAD_FEC_RDATA1__GPIO_3_11	IOMUX_PAD(0x3d8, 0x1e0, 0x15, 0, 0, NO_PAD_CTRL) -#define MX25_PAD_FEC_RX_DV__FEC_RX_DV	IOMUX_PAD(0x3dc, 0x1e4, 0x10, 0, 0, PAD_CTL_PUS_100K_DOWN | NO_PAD_CTL) +#define MX25_PAD_FEC_RX_DV__FEC_RX_DV	IOMUX_PAD(0x3dc, 0x1e4, 0x10, 0, 0, PAD_CTL_PUS_100K_DOWN | NO_PAD_CTRL)  #define MX25_PAD_FEC_RX_DV__CAN2_RX	IOMUX_PAD(0x3dc, 0x1e4, 0x14, 0x484, 0, PAD_CTL_PUS_22K_UP)  #define MX25_PAD_FEC_RX_DV__GPIO_3_12	IOMUX_PAD(0x3dc, 0x1e4, 0x15, 0, 0, NO_PAD_CTRL) diff --git a/arch/arm/plat-mxc/include/mach/mx25.h b/arch/arm/plat-mxc/include/mach/mx25.h index 91e738144804..854e2dc58481 100644 --- a/arch/arm/plat-mxc/include/mach/mx25.h +++ b/arch/arm/plat-mxc/include/mach/mx25.h @@ -41,4 +41,8 @@  #define UART1_BASE_ADDR			0x43f90000  #define UART2_BASE_ADDR			0x43f94000 +#define MX25_FEC_BASE_ADDR		0x50038000 + +#define MX25_INT_FEC	57 +  #endif /* __MACH_MX25_H__ */ | 
