diff options
Diffstat (limited to 'arch/arm/plat-mxc')
102 files changed, 0 insertions, 13961 deletions
diff --git a/arch/arm/plat-mxc/3ds_debugboard.c b/arch/arm/plat-mxc/3ds_debugboard.c deleted file mode 100644 index 639c54a0799..00000000000 --- a/arch/arm/plat-mxc/3ds_debugboard.c +++ /dev/null @@ -1,202 +0,0 @@ -/* - * Copyright 2008-2009 Freescale Semiconductor, Inc. All Rights Reserved. - * Copyright (C) 2010 Jason Wang <jason77.wang@gmail.com> - * - * The code contained herein is licensed under the GNU General Public - * License. You may obtain a copy of the GNU General Public License - * Version 2 or later at the following locations: - * - * http://www.opensource.org/licenses/gpl-license.html - * http://www.gnu.org/copyleft/gpl.html - */ - -#include <linux/interrupt.h> -#include <linux/irq.h> -#include <linux/io.h> -#include <linux/platform_device.h> -#include <linux/gpio.h> -#include <linux/smsc911x.h> - -#include <mach/hardware.h> - -/* LAN9217 ethernet base address */ -#define LAN9217_BASE_ADDR(n)	(n + 0x0) -/* External UART */ -#define UARTA_BASE_ADDR(n)	(n + 0x8000) -#define UARTB_BASE_ADDR(n)	(n + 0x10000) - -#define BOARD_IO_ADDR(n)	(n + 0x20000) -/* LED switchs */ -#define LED_SWITCH_REG		0x00 -/* buttons */ -#define SWITCH_BUTTONS_REG	0x08 -/* status, interrupt */ -#define INTR_STATUS_REG	0x10 -#define INTR_MASK_REG		0x38 -#define INTR_RESET_REG		0x20 -/* magic word for debug CPLD */ -#define MAGIC_NUMBER1_REG	0x40 -#define MAGIC_NUMBER2_REG	0x48 -/* CPLD code version */ -#define CPLD_CODE_VER_REG	0x50 -/* magic word for debug CPLD */ -#define MAGIC_NUMBER3_REG	0x58 -/* module reset register*/ -#define MODULE_RESET_REG	0x60 -/* CPU ID and Personality ID */ -#define MCU_BOARD_ID_REG	0x68 - -#define MXC_IRQ_TO_EXPIO(irq)   ((irq) - MXC_BOARD_IRQ_START) -#define MXC_IRQ_TO_GPIO(irq)	((irq) - MXC_INTERNAL_IRQS) - -#define MXC_EXP_IO_BASE		(MXC_BOARD_IRQ_START) -#define MXC_MAX_EXP_IO_LINES	16 - -/* interrupts like external uart , external ethernet etc*/ -#define EXPIO_INT_ENET		(MXC_BOARD_IRQ_START + 0) -#define EXPIO_INT_XUART_A	(MXC_BOARD_IRQ_START + 1) -#define EXPIO_INT_XUART_B	(MXC_BOARD_IRQ_START + 2) -#define EXPIO_INT_BUTTON_A	(MXC_BOARD_IRQ_START + 3) -#define EXPIO_INT_BUTTON_B	(MXC_BOARD_IRQ_START + 4) - -static void __iomem *brd_io; -static void expio_ack_irq(u32 irq); - -static struct resource smsc911x_resources[] = { -	{ -		.flags = IORESOURCE_MEM, -	} , { -		.start = EXPIO_INT_ENET, -		.end = EXPIO_INT_ENET, -		.flags = IORESOURCE_IRQ, -	}, -}; - -static struct smsc911x_platform_config smsc911x_config = { -	.irq_polarity = SMSC911X_IRQ_POLARITY_ACTIVE_LOW, -	.flags = SMSC911X_USE_32BIT | SMSC911X_FORCE_INTERNAL_PHY, -}; - -static struct platform_device smsc_lan9217_device = { -	.name = "smsc911x", -	.id = 0, -	.dev = { -		.platform_data = &smsc911x_config, -	}, -	.num_resources = ARRAY_SIZE(smsc911x_resources), -	.resource = smsc911x_resources, -}; - -static void mxc_expio_irq_handler(u32 irq, struct irq_desc *desc) -{ -	u32 imr_val; -	u32 int_valid; -	u32 expio_irq; - -	desc->chip->mask(irq);	/* irq = gpio irq number */ - -	imr_val = __raw_readw(brd_io + INTR_MASK_REG); -	int_valid = __raw_readw(brd_io + INTR_STATUS_REG) & ~imr_val; - -	expio_irq = MXC_BOARD_IRQ_START; -	for (; int_valid != 0; int_valid >>= 1, expio_irq++) { -		struct irq_desc *d; -		if ((int_valid & 1) == 0) -			continue; -		d = irq_desc + expio_irq; -		if (unlikely(!(d->handle_irq))) -			pr_err("\nEXPIO irq: %d unhandled\n", expio_irq); -		else -			d->handle_irq(expio_irq, d); -	} - -	desc->chip->ack(irq); -	desc->chip->unmask(irq); -} - -/* - * Disable an expio pin's interrupt by setting the bit in the imr. - * Irq is an expio virtual irq number - */ -static void expio_mask_irq(u32 irq) -{ -	u16 reg; -	u32 expio = MXC_IRQ_TO_EXPIO(irq); - -	reg = __raw_readw(brd_io + INTR_MASK_REG); -	reg |= (1 << expio); -	__raw_writew(reg, brd_io + INTR_MASK_REG); -} - -static void expio_ack_irq(u32 irq) -{ -	u32 expio = MXC_IRQ_TO_EXPIO(irq); - -	__raw_writew(1 << expio, brd_io + INTR_RESET_REG); -	__raw_writew(0, brd_io + INTR_RESET_REG); -	expio_mask_irq(irq); -} - -static void expio_unmask_irq(u32 irq) -{ -	u16 reg; -	u32 expio = MXC_IRQ_TO_EXPIO(irq); - -	reg = __raw_readw(brd_io + INTR_MASK_REG); -	reg &= ~(1 << expio); -	__raw_writew(reg, brd_io + INTR_MASK_REG); -} - -static struct irq_chip expio_irq_chip = { -	.ack = expio_ack_irq, -	.mask = expio_mask_irq, -	.unmask = expio_unmask_irq, -}; - -int __init mxc_expio_init(u32 base, u32 p_irq) -{ -	int i; - -	brd_io = ioremap(BOARD_IO_ADDR(base), SZ_4K); -	if (brd_io == NULL) -		return -ENOMEM; - -	if ((__raw_readw(brd_io + MAGIC_NUMBER1_REG) != 0xAAAA) || -	    (__raw_readw(brd_io + MAGIC_NUMBER2_REG) != 0x5555) || -	    (__raw_readw(brd_io + MAGIC_NUMBER3_REG) != 0xCAFE)) { -		pr_info("3-Stack Debug board not detected\n"); -		iounmap(brd_io); -		brd_io = NULL; -		return -ENODEV; -	} - -	pr_info("3-Stack Debug board detected, rev = 0x%04X\n", -		readw(brd_io + CPLD_CODE_VER_REG)); - -	/* -	 * Configure INT line as GPIO input -	 */ -	gpio_request(MXC_IRQ_TO_GPIO(p_irq), "expio_pirq"); -	gpio_direction_input(MXC_IRQ_TO_GPIO(p_irq)); - -	/* disable the interrupt and clear the status */ -	__raw_writew(0, brd_io + INTR_MASK_REG); -	__raw_writew(0xFFFF, brd_io + INTR_RESET_REG); -	__raw_writew(0, brd_io + INTR_RESET_REG); -	__raw_writew(0x1F, brd_io + INTR_MASK_REG); -	for (i = MXC_EXP_IO_BASE; -	     i < (MXC_EXP_IO_BASE + MXC_MAX_EXP_IO_LINES); i++) { -		set_irq_chip(i, &expio_irq_chip); -		set_irq_handler(i, handle_level_irq); -		set_irq_flags(i, IRQF_VALID); -	} -	set_irq_type(p_irq, IRQF_TRIGGER_LOW); -	set_irq_chained_handler(p_irq, mxc_expio_irq_handler); - -	/* Register Lan device on the debugboard */ -	smsc911x_resources[0].start = LAN9217_BASE_ADDR(base); -	smsc911x_resources[0].end = LAN9217_BASE_ADDR(base) + 0x100 - 1; -	platform_device_register(&smsc_lan9217_device); - -	return 0; -} diff --git a/arch/arm/plat-mxc/Kconfig b/arch/arm/plat-mxc/Kconfig deleted file mode 100644 index 64e3a64520e..00000000000 --- a/arch/arm/plat-mxc/Kconfig +++ /dev/null @@ -1,129 +0,0 @@ -if ARCH_MXC - -source "arch/arm/plat-mxc/devices/Kconfig" - -menu "Freescale MXC Implementations" - -choice -	prompt "Freescale CPU family:" -	default ARCH_MX3 - -config ARCH_MX1 -	bool "MX1-based" -	select SOC_IMX1 -	help -	  This enables support for systems based on the Freescale i.MX1 family - -config ARCH_MX2 -	bool "MX2-based" -	help -	  This enables support for systems based on the Freescale i.MX2 family - -config ARCH_MX25 -	bool "MX25-based" -	select CPU_ARM926T -	select ARCH_MXC_IOMUX_V3 -	select HAVE_FB_IMX -	select ARCH_MXC_AUDMUX_V2 -	help -	  This enables support for systems based on the Freescale i.MX25 family - -config ARCH_MX3 -	bool "MX3-based" -	select CPU_V6 -	help -	  This enables support for systems based on the Freescale i.MX3 family - -config ARCH_MXC91231 -	bool "MXC91231-based" -	select CPU_V6 -	help -	  This enables support for systems based on the Freescale MXC91231 family - -config ARCH_MX5 -	bool "MX5-based" -	select CPU_V7 -	select ARM_L1_CACHE_SHIFT_6 -	help -	  This enables support for systems based on the Freescale i.MX51 family - -endchoice - -source "arch/arm/mach-imx/Kconfig" -source "arch/arm/mach-mx3/Kconfig" -source "arch/arm/mach-mx25/Kconfig" -source "arch/arm/mach-mxc91231/Kconfig" -source "arch/arm/mach-mx5/Kconfig" - -endmenu - -config MXC_IRQ_PRIOR -	bool "Use IRQ priority" -	help -	  Select this if you want to use prioritized IRQ handling. -	  This feature prevents higher priority ISR to be interrupted -	  by lower priority IRQ even IRQF_DISABLED flag is not set. -	  This may be useful in embedded applications, where are strong -	  requirements for timing. -	  Say N here, unless you have a specialized requirement. - -config MXC_TZIC -	bool "Enable TrustZone Interrupt Controller" -	depends on ARCH_MX51 -	help -	  This will be automatically selected for all processors -	  containing this interrupt controller. -	  Say N here only if you are really sure. - -config MXC_PWM -	tristate "Enable PWM driver" -	select HAVE_PWM -	help -	  Enable support for the i.MX PWM controller(s). - -config MXC_DEBUG_BOARD -	bool "Enable MXC debug board(for 3-stack)" -	help -	  The debug board is an integral part of the MXC 3-stack(PDK) -	  platforms, it can be attached or removed from the peripheral -	  board. On debug board, several debug devices(ethernet, UART, -	  buttons, LEDs and JTAG) are implemented. Between the MCU and -	  these devices, a CPLD is added as a bridge which performs -	  data/address de-multiplexing and decode, signal level shift, -	  interrupt control and various board functions. - -config HAVE_EPIT -	bool - -config MXC_USE_EPIT -	bool "Use EPIT instead of GPT" -	depends on HAVE_EPIT -	help -	  Use EPIT as the system timer on systems that have it. Normally you -	  don't have a reason to do so as the EPIT has the same features and -	  uses the same clocks as the GPT. Anyway, on some systems the GPT -	  may be in use for other purposes. - -config MXC_ULPI -	bool - -config ARCH_HAS_RNGA -	bool - -config IMX_HAVE_IOMUX_V1 -	bool - -config ARCH_MXC_IOMUX_V3 -	bool - -config ARCH_MXC_AUDMUX_V1 -	bool - -config ARCH_MXC_AUDMUX_V2 -	bool - -config IRAM_ALLOC -	bool -	select GENERIC_ALLOCATOR - -endif diff --git a/arch/arm/plat-mxc/Makefile b/arch/arm/plat-mxc/Makefile deleted file mode 100644 index 37267095278..00000000000 --- a/arch/arm/plat-mxc/Makefile +++ /dev/null @@ -1,27 +0,0 @@ -# -# Makefile for the linux kernel. -# - -# Common support -obj-y := irq.o clock.o gpio.o time.o devices.o cpu.o system.o - -# MX51 uses the TZIC interrupt controller, older platforms use AVIC (irq.o) -obj-$(CONFIG_MXC_TZIC) += tzic.o - -obj-$(CONFIG_IMX_HAVE_IOMUX_V1) += iomux-v1.o -obj-$(CONFIG_ARCH_MXC_IOMUX_V3) += iomux-v3.o -obj-$(CONFIG_IRAM_ALLOC) += iram_alloc.o -obj-$(CONFIG_MXC_PWM)  += pwm.o -obj-$(CONFIG_USB_EHCI_MXC) += ehci.o -obj-$(CONFIG_MXC_ULPI) += ulpi.o -obj-$(CONFIG_MXC_USE_EPIT) += epit.o -obj-$(CONFIG_ARCH_MXC_AUDMUX_V1) += audmux-v1.o -obj-$(CONFIG_ARCH_MXC_AUDMUX_V2) += audmux-v2.o -obj-$(CONFIG_MXC_DEBUG_BOARD) += 3ds_debugboard.o -obj-$(CONFIG_CPU_FREQ_IMX)    += cpufreq.o -ifdef CONFIG_SND_IMX_SOC -obj-y += ssi-fiq.o -obj-y += ssi-fiq-ksym.o -endif - -obj-y += devices/ diff --git a/arch/arm/plat-mxc/audmux-v1.c b/arch/arm/plat-mxc/audmux-v1.c deleted file mode 100644 index 1180bef7664..00000000000 --- a/arch/arm/plat-mxc/audmux-v1.c +++ /dev/null @@ -1,64 +0,0 @@ -/* - * Copyright 2009 Pengutronix, Sascha Hauer <s.hauer@pengutronix.de> - * - * Initial development of this code was funded by - * Phytec Messtechnik GmbH, http://www.phytec.de - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the - * GNU General Public License for more details. - */ - -#include <linux/module.h> -#include <linux/err.h> -#include <linux/io.h> -#include <linux/clk.h> -#include <mach/audmux.h> -#include <mach/hardware.h> - -static void __iomem *audmux_base; - -static unsigned char port_mapping[] = { -	0x0, 0x4, 0x8, 0x10, 0x14, 0x1c, -}; - -int mxc_audmux_v1_configure_port(unsigned int port, unsigned int pcr) -{ -	if (!audmux_base) { -		printk("%s: not configured\n", __func__); -		return -ENOSYS; -	} - -	if (port >= ARRAY_SIZE(port_mapping)) -		return -EINVAL; - -	writel(pcr, audmux_base + port_mapping[port]); - -	return 0; -} -EXPORT_SYMBOL_GPL(mxc_audmux_v1_configure_port); - -static int mxc_audmux_v1_init(void) -{ -#ifdef CONFIG_MACH_MX21 -	if (cpu_is_mx21()) -		audmux_base = MX21_IO_ADDRESS(MX21_AUDMUX_BASE_ADDR); -	else -#endif -#ifdef CONFIG_MACH_MX27 -	if (cpu_is_mx27()) -		audmux_base = MX27_IO_ADDRESS(MX27_AUDMUX_BASE_ADDR); -	else -#endif -		(void)0; -	 -	return 0; -} - -postcore_initcall(mxc_audmux_v1_init); diff --git a/arch/arm/plat-mxc/audmux-v2.c b/arch/arm/plat-mxc/audmux-v2.c deleted file mode 100644 index 0be1ac7f421..00000000000 --- a/arch/arm/plat-mxc/audmux-v2.c +++ /dev/null @@ -1,229 +0,0 @@ -/* - * Copyright 2009 Pengutronix, Sascha Hauer <s.hauer@pengutronix.de> - * - * Initial development of this code was funded by - * Phytec Messtechnik GmbH, http://www.phytec.de - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the - * GNU General Public License for more details. - */ - -#include <linux/module.h> -#include <linux/err.h> -#include <linux/io.h> -#include <linux/clk.h> -#include <linux/debugfs.h> -#include <linux/slab.h> -#include <mach/audmux.h> -#include <mach/hardware.h> - -static struct clk *audmux_clk; -static void __iomem *audmux_base; - -#define MXC_AUDMUX_V2_PTCR(x)		((x) * 8) -#define MXC_AUDMUX_V2_PDCR(x)		((x) * 8 + 4) - -#ifdef CONFIG_DEBUG_FS -static struct dentry *audmux_debugfs_root; - -static int audmux_open_file(struct inode *inode, struct file *file) -{ -	file->private_data = inode->i_private; -	return 0; -} - -/* There is an annoying discontinuity in the SSI numbering with regard - * to the Linux number of the devices */ -static const char *audmux_port_string(int port) -{ -	switch (port) { -	case MX31_AUDMUX_PORT1_SSI0: -		return "imx-ssi.0"; -	case MX31_AUDMUX_PORT2_SSI1: -		return "imx-ssi.1"; -	case MX31_AUDMUX_PORT3_SSI_PINS_3: -		return "SSI3"; -	case MX31_AUDMUX_PORT4_SSI_PINS_4: -		return "SSI4"; -	case MX31_AUDMUX_PORT5_SSI_PINS_5: -		return "SSI5"; -	case MX31_AUDMUX_PORT6_SSI_PINS_6: -		return "SSI6"; -	default: -		return "UNKNOWN"; -	} -} - -static ssize_t audmux_read_file(struct file *file, char __user *user_buf, -				size_t count, loff_t *ppos) -{ -	ssize_t ret; -	char *buf = kmalloc(PAGE_SIZE, GFP_KERNEL); -	int port = (int)file->private_data; -	u32 pdcr, ptcr; - -	if (!buf) -		return -ENOMEM; - -	if (audmux_clk) -		clk_enable(audmux_clk); - -	ptcr = readl(audmux_base + MXC_AUDMUX_V2_PTCR(port)); -	pdcr = readl(audmux_base + MXC_AUDMUX_V2_PDCR(port)); - -	if (audmux_clk) -		clk_disable(audmux_clk); - -	ret = snprintf(buf, PAGE_SIZE, "PDCR: %08x\nPTCR: %08x\n", -		       pdcr, ptcr); - -	if (ptcr & MXC_AUDMUX_V2_PTCR_TFSDIR) -		ret += snprintf(buf + ret, PAGE_SIZE - ret, -				"TxFS output from %s, ", -				audmux_port_string((ptcr >> 27) & 0x7)); -	else -		ret += snprintf(buf + ret, PAGE_SIZE - ret, -				"TxFS input, "); - -	if (ptcr & MXC_AUDMUX_V2_PTCR_TCLKDIR) -		ret += snprintf(buf + ret, PAGE_SIZE - ret, -				"TxClk output from %s", -				audmux_port_string((ptcr >> 22) & 0x7)); -	else -		ret += snprintf(buf + ret, PAGE_SIZE - ret, -				"TxClk input"); - -	ret += snprintf(buf + ret, PAGE_SIZE - ret, "\n"); - -	if (ptcr & MXC_AUDMUX_V2_PTCR_SYN) { -		ret += snprintf(buf + ret, PAGE_SIZE - ret, -				"Port is symmetric"); -	} else { -		if (ptcr & MXC_AUDMUX_V2_PTCR_RFSDIR) -			ret += snprintf(buf + ret, PAGE_SIZE - ret, -					"RxFS output from %s, ", -					audmux_port_string((ptcr >> 17) & 0x7)); -		else -			ret += snprintf(buf + ret, PAGE_SIZE - ret, -					"RxFS input, "); - -		if (ptcr & MXC_AUDMUX_V2_PTCR_RCLKDIR) -			ret += snprintf(buf + ret, PAGE_SIZE - ret, -					"RxClk output from %s", -					audmux_port_string((ptcr >> 12) & 0x7)); -		else -			ret += snprintf(buf + ret, PAGE_SIZE - ret, -					"RxClk input"); -	} - -	ret += snprintf(buf + ret, PAGE_SIZE - ret, -			"\nData received from %s\n", -			audmux_port_string((pdcr >> 13) & 0x7)); - -	ret = simple_read_from_buffer(user_buf, count, ppos, buf, ret); - -	kfree(buf); - -	return ret; -} - -static const struct file_operations audmux_debugfs_fops = { -	.open = audmux_open_file, -	.read = audmux_read_file, -	.llseek = default_llseek, -}; - -static void audmux_debugfs_init(void) -{ -	int i; -	char buf[20]; - -	audmux_debugfs_root = debugfs_create_dir("audmux", NULL); -	if (!audmux_debugfs_root) { -		pr_warning("Failed to create AUDMUX debugfs root\n"); -		return; -	} - -	for (i = 1; i < 8; i++) { -		snprintf(buf, sizeof(buf), "ssi%d", i); -		if (!debugfs_create_file(buf, 0444, audmux_debugfs_root, -					 (void *)i, &audmux_debugfs_fops)) -			pr_warning("Failed to create AUDMUX port %d debugfs file\n", -				   i); -	} -} -#else -static inline void audmux_debugfs_init(void) -{ -} -#endif - -int mxc_audmux_v2_configure_port(unsigned int port, unsigned int ptcr, -		unsigned int pdcr) -{ -	if (!audmux_base) -		return -ENOSYS; - -	if (audmux_clk) -		clk_enable(audmux_clk); - -	writel(ptcr, audmux_base + MXC_AUDMUX_V2_PTCR(port)); -	writel(pdcr, audmux_base + MXC_AUDMUX_V2_PDCR(port)); - -	if (audmux_clk) -		clk_disable(audmux_clk); - -	return 0; -} -EXPORT_SYMBOL_GPL(mxc_audmux_v2_configure_port); - -static int mxc_audmux_v2_init(void) -{ -	int ret; -#if defined(CONFIG_ARCH_MX5) -	if (cpu_is_mx51()) { -		audmux_base = MX51_IO_ADDRESS(MX51_AUDMUX_BASE_ADDR); -		ret = 0; -		return ret; -	} -#endif -#if defined(CONFIG_ARCH_MX3) -	if (cpu_is_mx31()) -		audmux_base = MX31_IO_ADDRESS(MX31_AUDMUX_BASE_ADDR); - -	else if (cpu_is_mx35()) { -		audmux_clk = clk_get(NULL, "audmux"); -		if (IS_ERR(audmux_clk)) { -			ret = PTR_ERR(audmux_clk); -			printk(KERN_ERR "%s: cannot get clock: %d\n", __func__, -					ret); -			return ret; -		} -		audmux_base = MX35_IO_ADDRESS(MX35_AUDMUX_BASE_ADDR); -	} -#endif -#if defined(CONFIG_ARCH_MX25) -	if (cpu_is_mx25()) { -		audmux_clk = clk_get(NULL, "audmux"); -		if (IS_ERR(audmux_clk)) { -			ret = PTR_ERR(audmux_clk); -			printk(KERN_ERR "%s: cannot get clock: %d\n", __func__, -					ret); -			return ret; -		} -		audmux_base = MX25_IO_ADDRESS(MX25_AUDMUX_BASE_ADDR); -	} -#endif -	audmux_debugfs_init(); - -	return 0; -} - -postcore_initcall(mxc_audmux_v2_init); diff --git a/arch/arm/plat-mxc/clock.c b/arch/arm/plat-mxc/clock.c deleted file mode 100644 index 2ed3ab173ad..00000000000 --- a/arch/arm/plat-mxc/clock.c +++ /dev/null @@ -1,246 +0,0 @@ -/* - * Based on arch/arm/plat-omap/clock.c - * - * Copyright (C) 2004 - 2005 Nokia corporation - * Written by Tuukka Tikkanen <tuukka.tikkanen@elektrobit.com> - * Modified for omap shared clock framework by Tony Lindgren <tony@atomide.com> - * Copyright 2007 Freescale Semiconductor, Inc. All Rights Reserved. - * Copyright 2008 Juergen Beisert, kernel@pengutronix.de - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, - * MA  02110-1301, USA. - */ - -/* #define DEBUG */ - -#include <linux/clk.h> -#include <linux/err.h> -#include <linux/errno.h> -#include <linux/init.h> -#include <linux/io.h> -#include <linux/kernel.h> -#include <linux/list.h> -#include <linux/module.h> -#include <linux/mutex.h> -#include <linux/platform_device.h> -#include <linux/proc_fs.h> -#include <linux/semaphore.h> -#include <linux/string.h> - -#include <mach/clock.h> -#include <mach/hardware.h> - -static LIST_HEAD(clocks); -static DEFINE_MUTEX(clocks_mutex); - -/*------------------------------------------------------------------------- - * Standard clock functions defined in include/linux/clk.h - *-------------------------------------------------------------------------*/ - -static void __clk_disable(struct clk *clk) -{ -	if (clk == NULL || IS_ERR(clk)) -		return; -	WARN_ON(!clk->usecount); - -	if (!(--clk->usecount)) { -		if (clk->disable) -			clk->disable(clk); -		__clk_disable(clk->parent); -		__clk_disable(clk->secondary); -	} -} - -static int __clk_enable(struct clk *clk) -{ -	if (clk == NULL || IS_ERR(clk)) -		return -EINVAL; - -	if (clk->usecount++ == 0) { -		__clk_enable(clk->parent); -		__clk_enable(clk->secondary); - -		if (clk->enable) -			clk->enable(clk); -	} -	return 0; -} - -/* This function increments the reference count on the clock and enables the - * clock if not already enabled. The parent clock tree is recursively enabled - */ -int clk_enable(struct clk *clk) -{ -	int ret = 0; - -	if (clk == NULL || IS_ERR(clk)) -		return -EINVAL; - -	mutex_lock(&clocks_mutex); -	ret = __clk_enable(clk); -	mutex_unlock(&clocks_mutex); - -	return ret; -} -EXPORT_SYMBOL(clk_enable); - -/* This function decrements the reference count on the clock and disables - * the clock when reference count is 0. The parent clock tree is - * recursively disabled - */ -void clk_disable(struct clk *clk) -{ -	if (clk == NULL || IS_ERR(clk)) -		return; - -	mutex_lock(&clocks_mutex); -	__clk_disable(clk); -	mutex_unlock(&clocks_mutex); -} -EXPORT_SYMBOL(clk_disable); - -/* Retrieve the *current* clock rate. If the clock itself - * does not provide a special calculation routine, ask - * its parent and so on, until one is able to return - * a valid clock rate - */ -unsigned long clk_get_rate(struct clk *clk) -{ -	if (clk == NULL || IS_ERR(clk)) -		return 0UL; - -	if (clk->get_rate) -		return clk->get_rate(clk); - -	return clk_get_rate(clk->parent); -} -EXPORT_SYMBOL(clk_get_rate); - -/* Round the requested clock rate to the nearest supported - * rate that is less than or equal to the requested rate. - * This is dependent on the clock's current parent. - */ -long clk_round_rate(struct clk *clk, unsigned long rate) -{ -	if (clk == NULL || IS_ERR(clk) || !clk->round_rate) -		return 0; - -	return clk->round_rate(clk, rate); -} -EXPORT_SYMBOL(clk_round_rate); - -/* Set the clock to the requested clock rate. The rate must - * match a supported rate exactly based on what clk_round_rate returns - */ -int clk_set_rate(struct clk *clk, unsigned long rate) -{ -	int ret = -EINVAL; - -	if (clk == NULL || IS_ERR(clk) || clk->set_rate == NULL || rate == 0) -		return ret; - -	mutex_lock(&clocks_mutex); -	ret = clk->set_rate(clk, rate); -	mutex_unlock(&clocks_mutex); - -	return ret; -} -EXPORT_SYMBOL(clk_set_rate); - -/* Set the clock's parent to another clock source */ -int clk_set_parent(struct clk *clk, struct clk *parent) -{ -	int ret = -EINVAL; -	struct clk *old; - -	if (clk == NULL || IS_ERR(clk) || parent == NULL || -	    IS_ERR(parent) || clk->set_parent == NULL) -		return ret; - -	if (clk->usecount) -		clk_enable(parent); - -	mutex_lock(&clocks_mutex); -	ret = clk->set_parent(clk, parent); -	if (ret == 0) { -		old = clk->parent; -		clk->parent = parent; -	} else { -		old = parent; -	} -	mutex_unlock(&clocks_mutex); - -	if (clk->usecount) -		clk_disable(old); - -	return ret; -} -EXPORT_SYMBOL(clk_set_parent); - -/* Retrieve the clock's parent clock source */ -struct clk *clk_get_parent(struct clk *clk) -{ -	struct clk *ret = NULL; - -	if (clk == NULL || IS_ERR(clk)) -		return ret; - -	return clk->parent; -} -EXPORT_SYMBOL(clk_get_parent); - -/* - * Get the resulting clock rate from a PLL register value and the input - * frequency. PLLs with this register layout can at least be found on - * MX1, MX21, MX27 and MX31 - * - *                  mfi + mfn / (mfd + 1) - *  f = 2 * f_ref * -------------------- - *                        pd + 1 - */ -unsigned long mxc_decode_pll(unsigned int reg_val, u32 freq) -{ -	long long ll; -	int mfn_abs; -	unsigned int mfi, mfn, mfd, pd; - -	mfi = (reg_val >> 10) & 0xf; -	mfn = reg_val & 0x3ff; -	mfd = (reg_val >> 16) & 0x3ff; -	pd =  (reg_val >> 26) & 0xf; - -	mfi = mfi <= 5 ? 5 : mfi; - -	mfn_abs = mfn; - -	/* On all i.MXs except i.MX1 and i.MX21 mfn is a 10bit -	 * 2's complements number -	 */ -	if (!cpu_is_mx1() && !cpu_is_mx21() && mfn >= 0x200) -		mfn_abs = 0x400 - mfn; - -	freq *= 2; -	freq /= pd + 1; - -	ll = (unsigned long long)freq * mfn_abs; - -	do_div(ll, mfd + 1); - -	if (!cpu_is_mx1() && !cpu_is_mx21() && mfn >= 0x200) -		ll = -ll; - -	ll = (freq * mfi) + ll; - -	return ll; -} diff --git a/arch/arm/plat-mxc/cpu.c b/arch/arm/plat-mxc/cpu.c deleted file mode 100644 index 386e0d52cf5..00000000000 --- a/arch/arm/plat-mxc/cpu.c +++ /dev/null @@ -1,11 +0,0 @@ - -#include <linux/module.h> - -unsigned int __mxc_cpu_type; -EXPORT_SYMBOL(__mxc_cpu_type); - -void mxc_set_cpu_type(unsigned int type) -{ -	__mxc_cpu_type = type; -} - diff --git a/arch/arm/plat-mxc/cpufreq.c b/arch/arm/plat-mxc/cpufreq.c deleted file mode 100644 index 039538e6879..00000000000 --- a/arch/arm/plat-mxc/cpufreq.c +++ /dev/null @@ -1,206 +0,0 @@ -/* - * Copyright (C) 2010 Freescale Semiconductor, Inc. All Rights Reserved. - */ - -/* - * The code contained herein is licensed under the GNU General Public - * License. You may obtain a copy of the GNU General Public License - * Version 2 or later at the following locations: - * - * http://www.opensource.org/licenses/gpl-license.html - * http://www.gnu.org/copyleft/gpl.html - */ - -/* - * A driver for the Freescale Semiconductor i.MXC CPUfreq module. - * The CPUFREQ driver is for controling CPU frequency. It allows you to change - * the CPU clock speed on the fly. - */ - -#include <linux/cpufreq.h> -#include <linux/clk.h> -#include <linux/err.h> -#include <linux/slab.h> -#include <mach/hardware.h> -#include <mach/clock.h> - -#define CLK32_FREQ	32768 -#define NANOSECOND	(1000 * 1000 * 1000) - -struct cpu_op *(*get_cpu_op)(int *op); - -static int cpu_freq_khz_min; -static int cpu_freq_khz_max; - -static struct clk *cpu_clk; -static struct cpufreq_frequency_table *imx_freq_table; - -static int cpu_op_nr; -static struct cpu_op *cpu_op_tbl; - -static int set_cpu_freq(int freq) -{ -	int ret = 0; -	int org_cpu_rate; - -	org_cpu_rate = clk_get_rate(cpu_clk); -	if (org_cpu_rate == freq) -		return ret; - -	ret = clk_set_rate(cpu_clk, freq); -	if (ret != 0) { -		printk(KERN_DEBUG "cannot set CPU clock rate\n"); -		return ret; -	} - -	return ret; -} - -static int mxc_verify_speed(struct cpufreq_policy *policy) -{ -	if (policy->cpu != 0) -		return -EINVAL; - -	return cpufreq_frequency_table_verify(policy, imx_freq_table); -} - -static unsigned int mxc_get_speed(unsigned int cpu) -{ -	if (cpu) -		return 0; - -	return clk_get_rate(cpu_clk) / 1000; -} - -static int mxc_set_target(struct cpufreq_policy *policy, -			  unsigned int target_freq, unsigned int relation) -{ -	struct cpufreq_freqs freqs; -	int freq_Hz; -	int ret = 0; -	unsigned int index; - -	cpufreq_frequency_table_target(policy, imx_freq_table, -			target_freq, relation, &index); -	freq_Hz = imx_freq_table[index].frequency * 1000; - -	freqs.old = clk_get_rate(cpu_clk) / 1000; -	freqs.new = freq_Hz / 1000; -	freqs.cpu = 0; -	freqs.flags = 0; -	cpufreq_notify_transition(&freqs, CPUFREQ_PRECHANGE); - -	ret = set_cpu_freq(freq_Hz); - -	cpufreq_notify_transition(&freqs, CPUFREQ_POSTCHANGE); - -	return ret; -} - -static int __init mxc_cpufreq_init(struct cpufreq_policy *policy) -{ -	int ret; -	int i; - -	printk(KERN_INFO "i.MXC CPU frequency driver\n"); - -	if (policy->cpu != 0) -		return -EINVAL; - -	if (!get_cpu_op) -		return -EINVAL; - -	cpu_clk = clk_get(NULL, "cpu_clk"); -	if (IS_ERR(cpu_clk)) { -		printk(KERN_ERR "%s: failed to get cpu clock\n", __func__); -		return PTR_ERR(cpu_clk); -	} - -	cpu_op_tbl = get_cpu_op(&cpu_op_nr); - -	cpu_freq_khz_min = cpu_op_tbl[0].cpu_rate / 1000; -	cpu_freq_khz_max = cpu_op_tbl[0].cpu_rate / 1000; - -	imx_freq_table = kmalloc( -		sizeof(struct cpufreq_frequency_table) * (cpu_op_nr + 1), -			GFP_KERNEL); -	if (!imx_freq_table) { -		ret = -ENOMEM; -		goto err1; -	} - -	for (i = 0; i < cpu_op_nr; i++) { -		imx_freq_table[i].index = i; -		imx_freq_table[i].frequency = cpu_op_tbl[i].cpu_rate / 1000; - -		if ((cpu_op_tbl[i].cpu_rate / 1000) < cpu_freq_khz_min) -			cpu_freq_khz_min = cpu_op_tbl[i].cpu_rate / 1000; - -		if ((cpu_op_tbl[i].cpu_rate / 1000) > cpu_freq_khz_max) -			cpu_freq_khz_max = cpu_op_tbl[i].cpu_rate / 1000; -	} - -	imx_freq_table[i].index = i; -	imx_freq_table[i].frequency = CPUFREQ_TABLE_END; - -	policy->cur = clk_get_rate(cpu_clk) / 1000; -	policy->governor = CPUFREQ_DEFAULT_GOVERNOR; -	policy->min = policy->cpuinfo.min_freq = cpu_freq_khz_min; -	policy->max = policy->cpuinfo.max_freq = cpu_freq_khz_max; - -	/* Manual states, that PLL stabilizes in two CLK32 periods */ -	policy->cpuinfo.transition_latency = 2 * NANOSECOND / CLK32_FREQ; - -	ret = cpufreq_frequency_table_cpuinfo(policy, imx_freq_table); - -	if (ret < 0) { -		printk(KERN_ERR "%s: failed to register i.MXC CPUfreq \ -				with error code %d\n", __func__, ret); -		goto err; -	} - -	cpufreq_frequency_table_get_attr(imx_freq_table, policy->cpu); -	return 0; -err: -	kfree(imx_freq_table); -err1: -	clk_put(cpu_clk); -	return ret; -} - -static int mxc_cpufreq_exit(struct cpufreq_policy *policy) -{ -	cpufreq_frequency_table_put_attr(policy->cpu); - -	set_cpu_freq(cpu_freq_khz_max * 1000); -	clk_put(cpu_clk); -	kfree(imx_freq_table); -	return 0; -} - -static struct cpufreq_driver mxc_driver = { -	.flags = CPUFREQ_STICKY, -	.verify = mxc_verify_speed, -	.target = mxc_set_target, -	.get = mxc_get_speed, -	.init = mxc_cpufreq_init, -	.exit = mxc_cpufreq_exit, -	.name = "imx", -}; - -static int __devinit mxc_cpufreq_driver_init(void) -{ -	return cpufreq_register_driver(&mxc_driver); -} - -static void mxc_cpufreq_driver_exit(void) -{ -	cpufreq_unregister_driver(&mxc_driver); -} - -module_init(mxc_cpufreq_driver_init); -module_exit(mxc_cpufreq_driver_exit); - -MODULE_AUTHOR("Freescale Semiconductor Inc. Yong Shen <yong.shen@linaro.org>"); -MODULE_DESCRIPTION("CPUfreq driver for i.MX"); -MODULE_LICENSE("GPL"); diff --git a/arch/arm/plat-mxc/devices.c b/arch/arm/plat-mxc/devices.c deleted file mode 100644 index 735776d8495..00000000000 --- a/arch/arm/plat-mxc/devices.c +++ /dev/null @@ -1,70 +0,0 @@ -/* - * Copyright 2008 Sascha Hauer, kernel@pengutronix.de - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, - * Boston, MA  02110-1301, USA. - */ - -#include <linux/kernel.h> -#include <linux/init.h> -#include <linux/err.h> -#include <linux/platform_device.h> -#include <mach/common.h> - -int __init mxc_register_device(struct platform_device *pdev, void *data) -{ -	int ret; - -	pdev->dev.platform_data = data; - -	ret = platform_device_register(pdev); -	if (ret) -		pr_debug("Unable to register platform device '%s': %d\n", -			 pdev->name, ret); - -	return ret; -} - -struct platform_device *__init imx_add_platform_device(const char *name, int id, -		const struct resource *res, unsigned int num_resources, -		const void *data, size_t size_data) -{ -	int ret = -ENOMEM; -	struct platform_device *pdev; - -	pdev = platform_device_alloc(name, id); -	if (!pdev) -		goto err; - -	if (res) { -		ret = platform_device_add_resources(pdev, res, num_resources); -		if (ret) -			goto err; -	} - -	if (data) { -		ret = platform_device_add_data(pdev, data, size_data); -		if (ret) -			goto err; -	} - -	ret = platform_device_add(pdev); -	if (ret) { -err: -		platform_device_put(pdev); -		return ERR_PTR(ret); -	} - -	return pdev; -} diff --git a/arch/arm/plat-mxc/devices/Kconfig b/arch/arm/plat-mxc/devices/Kconfig deleted file mode 100644 index 9aa6f3ea901..00000000000 --- a/arch/arm/plat-mxc/devices/Kconfig +++ /dev/null @@ -1,29 +0,0 @@ -config IMX_HAVE_PLATFORM_ESDHC -	bool - -config IMX_HAVE_PLATFORM_FEC -	bool -	default y if ARCH_MX25 || SOC_IMX27 || ARCH_MX35 || ARCH_MX51 - -config IMX_HAVE_PLATFORM_FLEXCAN -	select HAVE_CAN_FLEXCAN if CAN -	bool - -config IMX_HAVE_PLATFORM_GPIO_KEYS -	bool -	default y if ARCH_MX51 -	 -config IMX_HAVE_PLATFORM_IMX_I2C -	bool - -config IMX_HAVE_PLATFORM_IMX_SSI -	bool - -config IMX_HAVE_PLATFORM_IMX_UART -	bool - -config IMX_HAVE_PLATFORM_MXC_NAND -	bool - -config IMX_HAVE_PLATFORM_SPI_IMX -	bool diff --git a/arch/arm/plat-mxc/devices/Makefile b/arch/arm/plat-mxc/devices/Makefile deleted file mode 100644 index 45aefeb283b..00000000000 --- a/arch/arm/plat-mxc/devices/Makefile +++ /dev/null @@ -1,10 +0,0 @@ -obj-$(CONFIG_IMX_HAVE_PLATFORM_ESDHC) += platform-esdhc.o -obj-$(CONFIG_IMX_HAVE_PLATFORM_FEC) += platform-fec.o -obj-$(CONFIG_IMX_HAVE_PLATFORM_FLEXCAN) += platform-flexcan.o -obj-$(CONFIG_IMX_HAVE_PLATFORM_GPIO_KEYS) += platform-gpio_keys.o -obj-y += platform-imx-dma.o -obj-$(CONFIG_IMX_HAVE_PLATFORM_IMX_I2C) += platform-imx-i2c.o -obj-$(CONFIG_IMX_HAVE_PLATFORM_IMX_SSI) += platform-imx-ssi.o -obj-$(CONFIG_IMX_HAVE_PLATFORM_IMX_UART) += platform-imx-uart.o -obj-$(CONFIG_IMX_HAVE_PLATFORM_MXC_NAND) += platform-mxc_nand.o -obj-$(CONFIG_IMX_HAVE_PLATFORM_SPI_IMX) +=  platform-spi_imx.o diff --git a/arch/arm/plat-mxc/devices/platform-esdhc.c b/arch/arm/plat-mxc/devices/platform-esdhc.c deleted file mode 100644 index 2605bfa0dfb..00000000000 --- a/arch/arm/plat-mxc/devices/platform-esdhc.c +++ /dev/null @@ -1,71 +0,0 @@ -/* - * Copyright (C) 2010 Pengutronix, Wolfram Sang <w.sang@pengutronix.de> - * - * This program is free software; you can redistribute it and/or modify it under - * the terms of the GNU General Public License version 2 as published by the - * Free Software Foundation. - */ - -#include <mach/hardware.h> -#include <mach/devices-common.h> -#include <mach/esdhc.h> - -#define imx_esdhc_imx_data_entry_single(soc, _id, hwid) \ -	{								\ -		.id = _id,						\ -		.iobase = soc ## _ESDHC ## hwid ## _BASE_ADDR,	\ -		.irq = soc ## _INT_ESDHC ## hwid,			\ -	} - -#define imx_esdhc_imx_data_entry(soc, id, hwid)	\ -	[id] = imx_esdhc_imx_data_entry_single(soc, id, hwid) - -#ifdef CONFIG_ARCH_MX25 -const struct imx_esdhc_imx_data imx25_esdhc_data[] __initconst = { -#define imx25_esdhc_data_entry(_id, _hwid)				\ -	imx_esdhc_imx_data_entry(MX25, _id, _hwid) -	imx25_esdhc_data_entry(0, 1), -	imx25_esdhc_data_entry(1, 2), -}; -#endif /* ifdef CONFIG_ARCH_MX25 */ - -#ifdef CONFIG_ARCH_MX35 -const struct imx_esdhc_imx_data imx35_esdhc_data[] __initconst = { -#define imx35_esdhc_data_entry(_id, _hwid)                           \ -	imx_esdhc_imx_data_entry(MX35, _id, _hwid) -	imx35_esdhc_data_entry(0, 1), -	imx35_esdhc_data_entry(1, 2), -	imx35_esdhc_data_entry(2, 3), -}; -#endif /* ifdef CONFIG_ARCH_MX35 */ - -#ifdef CONFIG_ARCH_MX51 -const struct imx_esdhc_imx_data imx51_esdhc_data[] __initconst = { -#define imx51_esdhc_data_entry(_id, _hwid)				\ -	imx_esdhc_imx_data_entry(MX51, _id, _hwid) -	imx51_esdhc_data_entry(0, 1), -	imx51_esdhc_data_entry(1, 2), -	imx51_esdhc_data_entry(2, 3), -	imx51_esdhc_data_entry(3, 4), -}; -#endif /* ifdef CONFIG_ARCH_MX51 */ - -struct platform_device *__init imx_add_esdhc( -		const struct imx_esdhc_imx_data *data, -		const struct esdhc_platform_data *pdata) -{ -	struct resource res[] = { -		{ -			.start = data->iobase, -			.end = data->iobase + SZ_16K - 1, -			.flags = IORESOURCE_MEM, -		}, { -			.start = data->irq, -			.end = data->irq, -			.flags = IORESOURCE_IRQ, -		}, -	}; - -	return imx_add_platform_device("sdhci-esdhc-imx", data->id, res, -			ARRAY_SIZE(res), pdata, sizeof(*pdata)); -} diff --git a/arch/arm/plat-mxc/devices/platform-fec.c b/arch/arm/plat-mxc/devices/platform-fec.c deleted file mode 100644 index 11d087f4e21..00000000000 --- a/arch/arm/plat-mxc/devices/platform-fec.c +++ /dev/null @@ -1,58 +0,0 @@ -/* - * Copyright (C) 2010 Pengutronix - * Uwe Kleine-Koenig <u.kleine-koenig@pengutronix.de> - * - * This program is free software; you can redistribute it and/or modify it under - * the terms of the GNU General Public License version 2 as published by the - * Free Software Foundation. - */ -#include <asm/sizes.h> -#include <mach/hardware.h> -#include <mach/devices-common.h> - -#define imx_fec_data_entry_single(soc)					\ -	{								\ -		.iobase = soc ## _FEC_BASE_ADDR,			\ -		.irq = soc ## _INT_FEC,					\ -	} - -#ifdef CONFIG_ARCH_MX25 -const struct imx_fec_data imx25_fec_data __initconst = -	imx_fec_data_entry_single(MX25); -#endif /* ifdef CONFIG_ARCH_MX25 */ - -#ifdef CONFIG_SOC_IMX27 -const struct imx_fec_data imx27_fec_data __initconst = -	imx_fec_data_entry_single(MX27); -#endif /* ifdef CONFIG_SOC_IMX27 */ - -#ifdef CONFIG_ARCH_MX35 -const struct imx_fec_data imx35_fec_data __initconst = -	imx_fec_data_entry_single(MX35); -#endif - -#ifdef CONFIG_ARCH_MX51 -const struct imx_fec_data imx51_fec_data __initconst = -	imx_fec_data_entry_single(MX51); -#endif - -struct platform_device *__init imx_add_fec( -		const struct imx_fec_data *data, -		const struct fec_platform_data *pdata) -{ -	struct resource res[] = { -		{ -			.start = data->iobase, -			.end = data->iobase + SZ_4K, -			.flags = IORESOURCE_MEM, -		}, { -			.start = data->irq, -			.end = data->irq, -			.flags = IORESOURCE_IRQ, -		}, -	}; - -	return imx_add_platform_device("fec", 0 /* -1? */, -			res, ARRAY_SIZE(res), -			pdata, sizeof(*pdata)); -} diff --git a/arch/arm/plat-mxc/devices/platform-flexcan.c b/arch/arm/plat-mxc/devices/platform-flexcan.c deleted file mode 100644 index 5e97a01f14f..00000000000 --- a/arch/arm/plat-mxc/devices/platform-flexcan.c +++ /dev/null @@ -1,30 +0,0 @@ -/* - * Copyright (C) 2010 Pengutronix, Marc Kleine-Budde <kernel@pengutronix.de> - * - * This program is free software; you can redistribute it and/or modify it under - * the terms of the GNU General Public License version 2 as published by the - * Free Software Foundation. - */ - -#include <mach/devices-common.h> - -struct platform_device *__init imx_add_flexcan(int id, -		resource_size_t iobase, resource_size_t iosize, -		resource_size_t irq, -		const struct flexcan_platform_data *pdata) -{ -	struct resource res[] = { -		{ -			.start = iobase, -			.end = iobase + iosize - 1, -			.flags = IORESOURCE_MEM, -		}, { -			.start = irq, -			.end = irq, -			.flags = IORESOURCE_IRQ, -		}, -	}; - -	return imx_add_platform_device("flexcan", id, res, ARRAY_SIZE(res), -			pdata, sizeof(*pdata)); -} diff --git a/arch/arm/plat-mxc/devices/platform-gpio_keys.c b/arch/arm/plat-mxc/devices/platform-gpio_keys.c deleted file mode 100644 index 1c53a532ea0..00000000000 --- a/arch/arm/plat-mxc/devices/platform-gpio_keys.c +++ /dev/null @@ -1,27 +0,0 @@ -/* - * Copyright (C) 2010 Freescale Semiconductor, Inc. All Rights Reserved. - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, - * Boston, MA  02110-1301, USA. - */ -#include <asm/sizes.h> -#include <mach/hardware.h> -#include <mach/devices-common.h> - -struct platform_device *__init imx_add_gpio_keys( -		const struct gpio_keys_platform_data *pdata) -{ -	return imx_add_platform_device("gpio-keys", -1, NULL, -		 0, pdata, sizeof(*pdata)); -} diff --git a/arch/arm/plat-mxc/devices/platform-imx-dma.c b/arch/arm/plat-mxc/devices/platform-imx-dma.c deleted file mode 100644 index 02d98901805..00000000000 --- a/arch/arm/plat-mxc/devices/platform-imx-dma.c +++ /dev/null @@ -1,129 +0,0 @@ -/* - * Copyright (C) 2010 Pengutronix - * Uwe Kleine-Koenig <u.kleine-koenig@pengutronix.de> - * - * This program is free software; you can redistribute it and/or modify it under - * the terms of the GNU General Public License version 2 as published by the - * Free Software Foundation. - */ -#include <linux/compiler.h> -#include <linux/err.h> -#include <linux/init.h> - -#include <mach/hardware.h> -#include <mach/devices-common.h> -#ifdef SDMA_IS_MERGED -#include <mach/sdma.h> -#else -struct sdma_platform_data { -	int sdma_version; -	char *cpu_name; -	int to_version; -}; -#endif - -struct imx_imx_sdma_data { -	resource_size_t iobase; -	resource_size_t irq; -	struct sdma_platform_data pdata; -}; - -#define imx_imx_sdma_data_entry_single(soc, _sdma_version, _cpu_name, _to_version)\ -	{								\ -		.iobase = soc ## _SDMA ## _BASE_ADDR,			\ -		.irq = soc ## _INT_SDMA,				\ -		.pdata = {						\ -			.sdma_version = _sdma_version,			\ -			.cpu_name = _cpu_name,				\ -			.to_version = _to_version,			\ -		},							\ -	} - -#ifdef CONFIG_ARCH_MX25 -const struct imx_imx_sdma_data imx25_imx_sdma_data __initconst = -	imx_imx_sdma_data_entry_single(MX25, 1, "imx25", 0); -#endif /* ifdef CONFIG_ARCH_MX25 */ - -#ifdef CONFIG_ARCH_MX31 -struct imx_imx_sdma_data imx31_imx_sdma_data __initdata = -	imx_imx_sdma_data_entry_single(MX31, 1, "imx31", 0); -#endif /* ifdef CONFIG_ARCH_MX31 */ - -#ifdef CONFIG_ARCH_MX35 -struct imx_imx_sdma_data imx35_imx_sdma_data __initdata = -	imx_imx_sdma_data_entry_single(MX35, 2, "imx35", 0); -#endif /* ifdef CONFIG_ARCH_MX35 */ - -#ifdef CONFIG_ARCH_MX51 -const struct imx_imx_sdma_data imx51_imx_sdma_data __initconst = -	imx_imx_sdma_data_entry_single(MX51, 2, "imx51", 0); -#endif /* ifdef CONFIG_ARCH_MX51 */ - -static struct platform_device __init __maybe_unused *imx_add_imx_sdma( -		const struct imx_imx_sdma_data *data) -{ -	struct resource res[] = { -		{ -			.start = data->iobase, -			.end = data->iobase + SZ_4K - 1, -			.flags = IORESOURCE_MEM, -		}, { -			.start = data->irq, -			.end = data->irq, -			.flags = IORESOURCE_IRQ, -		}, -	}; - -	return imx_add_platform_device("imx-sdma", -1, -			res, ARRAY_SIZE(res), -			&data->pdata, sizeof(data->pdata)); -} - -static struct platform_device __init __maybe_unused *imx_add_imx_dma(void) -{ -	return imx_add_platform_device("imx-dma", -1, NULL, 0, NULL, 0); -} - -static int __init imxXX_add_imx_dma(void) -{ -	struct platform_device *ret; - -#if defined(CONFIG_SOC_IMX21) || defined(CONFIG_SOC_IMX27) -	if (cpu_is_mx21() || cpu_is_mx27()) -		ret = imx_add_imx_dma(); -	else -#endif - -#if defined(CONFIG_ARCH_MX25) -	if (cpu_is_mx25()) -		ret = imx_add_imx_sdma(&imx25_imx_sdma_data); -	else -#endif - -#if defined(CONFIG_ARCH_MX31) -	if (cpu_is_mx31()) { -		imx31_imx_sdma_data.pdata.to_version = mx31_revision() >> 4; -		ret = imx_add_imx_sdma(&imx31_imx_sdma_data); -	} else -#endif - -#if defined(CONFIG_ARCH_MX35) -	if (cpu_is_mx35()) { -		imx35_imx_sdma_data.pdata.to_version = mx35_revision() >> 4; -		ret = imx_add_imx_sdma(&imx35_imx_sdma_data); -	} else -#endif - -#if defined(CONFIG_ARCH_MX51) -	if (cpu_is_mx51()) -		ret = imx_add_imx_sdma(&imx51_imx_sdma_data); -	else -#endif -		ret = ERR_PTR(-ENODEV); - -	if (IS_ERR(ret)) -		return PTR_ERR(ret); - -	return 0; -} -arch_initcall(imxXX_add_imx_dma); diff --git a/arch/arm/plat-mxc/devices/platform-imx-i2c.c b/arch/arm/plat-mxc/devices/platform-imx-i2c.c deleted file mode 100644 index 679588453aa..00000000000 --- a/arch/arm/plat-mxc/devices/platform-imx-i2c.c +++ /dev/null @@ -1,100 +0,0 @@ -/* - * Copyright (C) 2009-2010 Pengutronix - * Uwe Kleine-Koenig <u.kleine-koenig@pengutronix.de> - * - * This program is free software; you can redistribute it and/or modify it under - * the terms of the GNU General Public License version 2 as published by the - * Free Software Foundation. - */ -#include <mach/hardware.h> -#include <mach/devices-common.h> - -#define imx_imx_i2c_data_entry_single(soc, _id, _hwid, _size)		\ -	{								\ -		.id = _id,						\ -		.iobase = soc ## _I2C ## _hwid ## _BASE_ADDR,		\ -		.iosize = _size,					\ -		.irq = soc ## _INT_I2C ## _hwid,			\ -	} - -#define imx_imx_i2c_data_entry(soc, _id, _hwid, _size)			\ -	[_id] = imx_imx_i2c_data_entry_single(soc, _id, _hwid, _size) - -#ifdef CONFIG_SOC_IMX1 -const struct imx_imx_i2c_data imx1_imx_i2c_data __initconst = -	imx_imx_i2c_data_entry_single(MX1, 0, , SZ_4K); -#endif /* ifdef CONFIG_SOC_IMX1 */ - -#ifdef CONFIG_SOC_IMX21 -const struct imx_imx_i2c_data imx21_imx_i2c_data __initconst = -	imx_imx_i2c_data_entry_single(MX21, 0, , SZ_4K); -#endif /* ifdef CONFIG_SOC_IMX21 */ - -#ifdef CONFIG_ARCH_MX25 -const struct imx_imx_i2c_data imx25_imx_i2c_data[] __initconst = { -#define imx25_imx_i2c_data_entry(_id, _hwid)				\ -	imx_imx_i2c_data_entry(MX25, _id, _hwid, SZ_16K) -	imx25_imx_i2c_data_entry(0, 1), -	imx25_imx_i2c_data_entry(1, 2), -	imx25_imx_i2c_data_entry(2, 3), -}; -#endif /* ifdef CONFIG_ARCH_MX25 */ - -#ifdef CONFIG_SOC_IMX27 -const struct imx_imx_i2c_data imx27_imx_i2c_data[] __initconst = { -#define imx27_imx_i2c_data_entry(_id, _hwid)				\ -	imx_imx_i2c_data_entry(MX27, _id, _hwid, SZ_4K) -	imx27_imx_i2c_data_entry(0, 1), -	imx27_imx_i2c_data_entry(1, 2), -}; -#endif /* ifdef CONFIG_SOC_IMX27 */ - -#ifdef CONFIG_ARCH_MX31 -const struct imx_imx_i2c_data imx31_imx_i2c_data[] __initconst = { -#define imx31_imx_i2c_data_entry(_id, _hwid)				\ -	imx_imx_i2c_data_entry(MX31, _id, _hwid, SZ_4K) -	imx31_imx_i2c_data_entry(0, 1), -	imx31_imx_i2c_data_entry(1, 2), -	imx31_imx_i2c_data_entry(2, 3), -}; -#endif /* ifdef CONFIG_ARCH_MX31 */ - -#ifdef CONFIG_ARCH_MX35 -const struct imx_imx_i2c_data imx35_imx_i2c_data[] __initconst = { -#define imx35_imx_i2c_data_entry(_id, _hwid)				\ -	imx_imx_i2c_data_entry(MX35, _id, _hwid, SZ_4K) -	imx35_imx_i2c_data_entry(0, 1), -	imx35_imx_i2c_data_entry(1, 2), -	imx35_imx_i2c_data_entry(2, 3), -}; -#endif /* ifdef CONFIG_ARCH_MX35 */ - -#ifdef CONFIG_ARCH_MX51 -const struct imx_imx_i2c_data imx51_imx_i2c_data[] __initconst = { -#define imx51_imx_i2c_data_entry(_id, _hwid)				\ -	imx_imx_i2c_data_entry(MX51, _id, _hwid, SZ_4K) -	imx51_imx_i2c_data_entry(0, 1), -	imx51_imx_i2c_data_entry(1, 2), -}; -#endif /* ifdef CONFIG_ARCH_MX51 */ - -struct platform_device *__init imx_add_imx_i2c( -		const struct imx_imx_i2c_data *data, -		const struct imxi2c_platform_data *pdata) -{ -	struct resource res[] = { -		{ -			.start = data->iobase, -			.end = data->iobase + data->iosize - 1, -			.flags = IORESOURCE_MEM, -		}, { -			.start = data->irq, -			.end = data->irq, -			.flags = IORESOURCE_IRQ, -		}, -	}; - -	return imx_add_platform_device("imx-i2c", data->id, -			res, ARRAY_SIZE(res), -			pdata, sizeof(*pdata)); -} diff --git a/arch/arm/plat-mxc/devices/platform-imx-ssi.c b/arch/arm/plat-mxc/devices/platform-imx-ssi.c deleted file mode 100644 index 38a7a0b8f2f..00000000000 --- a/arch/arm/plat-mxc/devices/platform-imx-ssi.c +++ /dev/null @@ -1,107 +0,0 @@ -/* - * Copyright (C) 2010 Pengutronix - * Uwe Kleine-Koenig <u.kleine-koenig@pengutronix.de> - * - * This program is free software; you can redistribute it and/or modify it under - * the terms of the GNU General Public License version 2 as published by the - * Free Software Foundation. - */ -#include <mach/hardware.h> -#include <mach/devices-common.h> - -#define imx_imx_ssi_data_entry(soc, _id, _hwid, _size)			\ -	[_id] = {							\ -		.id = _id,						\ -		.iobase = soc ## _SSI ## _hwid ## _BASE_ADDR,		\ -		.iosize = _size,					\ -		.irq = soc ## _INT_SSI ## _hwid,			\ -		.dmatx0 = soc ## _DMA_REQ_SSI ## _hwid ## _TX0,		\ -		.dmarx0 = soc ## _DMA_REQ_SSI ## _hwid ## _RX0,		\ -		.dmatx1 = soc ## _DMA_REQ_SSI ## _hwid ## _TX1,		\ -		.dmarx1 = soc ## _DMA_REQ_SSI ## _hwid ## _RX1,		\ -	} - -#ifdef CONFIG_SOC_IMX21 -const struct imx_imx_ssi_data imx21_imx_ssi_data[] __initconst = { -#define imx21_imx_ssi_data_entry(_id, _hwid)				\ -	imx_imx_ssi_data_entry(MX21, _id, _hwid, SZ_4K) -	imx21_imx_ssi_data_entry(0, 1), -	imx21_imx_ssi_data_entry(1, 2), -}; -#endif /* ifdef CONFIG_SOC_IMX21 */ - -#ifdef CONFIG_ARCH_MX25 -const struct imx_imx_ssi_data imx25_imx_ssi_data[] __initconst = { -#define imx25_imx_ssi_data_entry(_id, _hwid)				\ -	imx_imx_ssi_data_entry(MX25, _id, _hwid, SZ_4K) -	imx25_imx_ssi_data_entry(0, 1), -	imx25_imx_ssi_data_entry(1, 2), -}; -#endif /* ifdef CONFIG_ARCH_MX25 */ - -#ifdef CONFIG_SOC_IMX27 -const struct imx_imx_ssi_data imx27_imx_ssi_data[] __initconst = { -#define imx27_imx_ssi_data_entry(_id, _hwid)				\ -	imx_imx_ssi_data_entry(MX27, _id, _hwid, SZ_4K) -	imx27_imx_ssi_data_entry(0, 1), -	imx27_imx_ssi_data_entry(1, 2), -}; -#endif /* ifdef CONFIG_SOC_IMX27 */ - -#ifdef CONFIG_ARCH_MX31 -const struct imx_imx_ssi_data imx31_imx_ssi_data[] __initconst = { -#define imx31_imx_ssi_data_entry(_id, _hwid)				\ -	imx_imx_ssi_data_entry(MX31, _id, _hwid, SZ_4K) -	imx31_imx_ssi_data_entry(0, 1), -	imx31_imx_ssi_data_entry(1, 2), -}; -#endif /* ifdef CONFIG_ARCH_MX31 */ - -#ifdef CONFIG_ARCH_MX35 -const struct imx_imx_ssi_data imx35_imx_ssi_data[] __initconst = { -#define imx35_imx_ssi_data_entry(_id, _hwid)				\ -	imx_imx_ssi_data_entry(MX35, _id, _hwid, SZ_4K) -	imx35_imx_ssi_data_entry(0, 1), -	imx35_imx_ssi_data_entry(1, 2), -}; -#endif /* ifdef CONFIG_ARCH_MX35 */ - -#ifdef CONFIG_ARCH_MX51 -const struct imx_imx_ssi_data imx51_imx_ssi_data[] __initconst = { -#define imx51_imx_ssi_data_entry(_id, _hwid)				\ -	imx_imx_ssi_data_entry(MX51, _id, _hwid, SZ_4K) -	imx51_imx_ssi_data_entry(0, 1), -	imx51_imx_ssi_data_entry(1, 2), -}; -#endif /* ifdef CONFIG_ARCH_MX51 */ - -struct platform_device *__init imx_add_imx_ssi( -		const struct imx_imx_ssi_data *data, -		const struct imx_ssi_platform_data *pdata) -{ -	struct resource res[] = { -		{ -			.start = data->iobase, -			.end = data->iobase + data->iosize - 1, -			.flags = IORESOURCE_MEM, -		}, { -			.start = data->irq, -			.end = data->irq, -			.flags = IORESOURCE_IRQ, -		}, -#define DMARES(_name) {							\ -	.name = #_name,							\ -	.start = data->dma ## _name,					\ -	.end = data->dma ## _name,					\ -	.flags = IORESOURCE_DMA,					\ -} -		DMARES(tx0), -		DMARES(rx0), -		DMARES(tx1), -		DMARES(rx1), -	}; - -	return imx_add_platform_device("imx-ssi", data->id, -			res, ARRAY_SIZE(res), -			pdata, sizeof(*pdata)); -} diff --git a/arch/arm/plat-mxc/devices/platform-imx-uart.c b/arch/arm/plat-mxc/devices/platform-imx-uart.c deleted file mode 100644 index 2039640adf2..00000000000 --- a/arch/arm/plat-mxc/devices/platform-imx-uart.c +++ /dev/null @@ -1,153 +0,0 @@ -/* - * Copyright (C) 2009-2010 Pengutronix - * Uwe Kleine-Koenig <u.kleine-koenig@pengutronix.de> - * - * This program is free software; you can redistribute it and/or modify it under - * the terms of the GNU General Public License version 2 as published by the - * Free Software Foundation. - */ -#include <mach/hardware.h> -#include <mach/devices-common.h> - -#define imx_imx_uart_3irq_data_entry(soc, _id, _hwid, _size)		\ -	[_id] = {							\ -		.id = _id,						\ -		.iobase = soc ## _UART ## _hwid ## _BASE_ADDR,		\ -		.iosize = _size,					\ -		.irqrx = soc ## _INT_UART ## _hwid ## RX,		\ -		.irqtx = soc ## _INT_UART ## _hwid ## TX,		\ -		.irqrts = soc ## _INT_UART ## _hwid ## RTS,		\ -	} - -#define imx_imx_uart_1irq_data_entry(soc, _id, _hwid, _size)		\ -	[_id] = {							\ -		.id = _id,						\ -		.iobase = soc ## _UART ## _hwid ## _BASE_ADDR,		\ -		.iosize = _size,					\ -		.irq = soc ## _INT_UART ## _hwid,			\ -	} - -#ifdef CONFIG_SOC_IMX1 -const struct imx_imx_uart_3irq_data imx1_imx_uart_data[] __initconst = { -#define imx1_imx_uart_data_entry(_id, _hwid)				\ -	imx_imx_uart_3irq_data_entry(MX1, _id, _hwid, 0xd0) -	imx1_imx_uart_data_entry(0, 1), -	imx1_imx_uart_data_entry(1, 2), -}; -#endif /* ifdef CONFIG_SOC_IMX1 */ - -#ifdef CONFIG_SOC_IMX21 -const struct imx_imx_uart_1irq_data imx21_imx_uart_data[] __initconst = { -#define imx21_imx_uart_data_entry(_id, _hwid)				\ -	imx_imx_uart_1irq_data_entry(MX21, _id, _hwid, SZ_4K) -	imx21_imx_uart_data_entry(0, 1), -	imx21_imx_uart_data_entry(1, 2), -	imx21_imx_uart_data_entry(2, 3), -	imx21_imx_uart_data_entry(3, 4), -}; -#endif - -#ifdef CONFIG_ARCH_MX25 -const struct imx_imx_uart_1irq_data imx25_imx_uart_data[] __initconst = { -#define imx25_imx_uart_data_entry(_id, _hwid)				\ -	imx_imx_uart_1irq_data_entry(MX25, _id, _hwid, SZ_16K) -	imx25_imx_uart_data_entry(0, 1), -	imx25_imx_uart_data_entry(1, 2), -	imx25_imx_uart_data_entry(2, 3), -	imx25_imx_uart_data_entry(3, 4), -	imx25_imx_uart_data_entry(4, 5), -}; -#endif /* ifdef CONFIG_ARCH_MX25 */ - -#ifdef CONFIG_SOC_IMX27 -const struct imx_imx_uart_1irq_data imx27_imx_uart_data[] __initconst = { -#define imx27_imx_uart_data_entry(_id, _hwid)				\ -	imx_imx_uart_1irq_data_entry(MX27, _id, _hwid, SZ_4K) -	imx27_imx_uart_data_entry(0, 1), -	imx27_imx_uart_data_entry(1, 2), -	imx27_imx_uart_data_entry(2, 3), -	imx27_imx_uart_data_entry(3, 4), -	imx27_imx_uart_data_entry(4, 5), -	imx27_imx_uart_data_entry(5, 6), -}; -#endif /* ifdef CONFIG_SOC_IMX27 */ - -#ifdef CONFIG_ARCH_MX31 -const struct imx_imx_uart_1irq_data imx31_imx_uart_data[] __initconst = { -#define imx31_imx_uart_data_entry(_id, _hwid)				\ -	imx_imx_uart_1irq_data_entry(MX31, _id, _hwid, SZ_4K) -	imx31_imx_uart_data_entry(0, 1), -	imx31_imx_uart_data_entry(1, 2), -	imx31_imx_uart_data_entry(2, 3), -	imx31_imx_uart_data_entry(3, 4), -	imx31_imx_uart_data_entry(4, 5), -}; -#endif /* ifdef CONFIG_ARCH_MX31 */ - -#ifdef CONFIG_ARCH_MX35 -const struct imx_imx_uart_1irq_data imx35_imx_uart_data[] __initconst = { -#define imx35_imx_uart_data_entry(_id, _hwid)				\ -	imx_imx_uart_1irq_data_entry(MX31, _id, _hwid, SZ_16K) -	imx35_imx_uart_data_entry(0, 1), -	imx35_imx_uart_data_entry(1, 2), -	imx35_imx_uart_data_entry(2, 3), -}; -#endif /* ifdef CONFIG_ARCH_MX35 */ - -#ifdef CONFIG_ARCH_MX51 -const struct imx_imx_uart_1irq_data imx51_imx_uart_data[] __initconst = { -#define imx51_imx_uart_data_entry(_id, _hwid)				\ -	imx_imx_uart_1irq_data_entry(MX51, _id, _hwid, SZ_4K) -	imx51_imx_uart_data_entry(0, 1), -	imx51_imx_uart_data_entry(1, 2), -	imx51_imx_uart_data_entry(2, 3), -}; -#endif /* ifdef CONFIG_ARCH_MX51 */ - -struct platform_device *__init imx_add_imx_uart_3irq( -		const struct imx_imx_uart_3irq_data *data, -		const struct imxuart_platform_data *pdata) -{ -	struct resource res[] = { -		{ -			.start = data->iobase, -			.end = data->iobase + data->iosize - 1, -			.flags = IORESOURCE_MEM, -		}, { -			.start = data->irqrx, -			.end = data->irqrx, -			.flags = IORESOURCE_IRQ, -		}, { -			.start = data->irqtx, -			.end = data->irqtx, -			.flags = IORESOURCE_IRQ, -		}, { -			.start = data->irqrts, -			.end = data->irqrx, -			.flags = IORESOURCE_IRQ, -		}, -	}; - -	return imx_add_platform_device("imx-uart", data->id, res, -			ARRAY_SIZE(res), pdata, sizeof(*pdata)); -} - -struct platform_device *__init imx_add_imx_uart_1irq( -		const struct imx_imx_uart_1irq_data *data, -		const struct imxuart_platform_data *pdata) -{ -	struct resource res[] = { -		{ -			.start = data->iobase, -			.end = data->iobase + data->iosize - 1, -			.flags = IORESOURCE_MEM, -		}, { -			.start = data->irq, -			.end = data->irq, -			.flags = IORESOURCE_IRQ, -		}, -	}; - -	return imx_add_platform_device("imx-uart", data->id, res, ARRAY_SIZE(res), -			pdata, sizeof(*pdata)); -} diff --git a/arch/arm/plat-mxc/devices/platform-mxc_nand.c b/arch/arm/plat-mxc/devices/platform-mxc_nand.c deleted file mode 100644 index 3fdcc32e3d6..00000000000 --- a/arch/arm/plat-mxc/devices/platform-mxc_nand.c +++ /dev/null @@ -1,83 +0,0 @@ -/* - * Copyright (C) 2009-2010 Pengutronix - * Uwe Kleine-Koenig <u.kleine-koenig@pengutronix.de> - * - * This program is free software; you can redistribute it and/or modify it under - * the terms of the GNU General Public License version 2 as published by the - * Free Software Foundation. - */ -#include <asm/sizes.h> -#include <mach/hardware.h> -#include <mach/devices-common.h> - -#define imx_mxc_nand_data_entry_single(soc, _size)			\ -	{								\ -		.iobase = soc ## _NFC_BASE_ADDR,			\ -		.iosize = _size,					\ -		.irq = soc ## _INT_NFC					\ -	} - -#define imx_mxc_nandv3_data_entry_single(soc, _size)			\ -	{								\ -		.id = -1,						\ -		.iobase = soc ## _NFC_BASE_ADDR,			\ -		.iosize = _size,					\ -		.axibase = soc ## _NFC_AXI_BASE_ADDR,			\ -		.irq = soc ## _INT_NFC					\ -	} - -#ifdef CONFIG_SOC_IMX21 -const struct imx_mxc_nand_data imx21_mxc_nand_data __initconst = -	imx_mxc_nand_data_entry_single(MX21, SZ_4K); -#endif /* ifdef CONFIG_SOC_IMX21 */ - -#ifdef CONFIG_ARCH_MX25 -const struct imx_mxc_nand_data imx25_mxc_nand_data __initconst = -	imx_mxc_nand_data_entry_single(MX25, SZ_8K); -#endif /* ifdef CONFIG_ARCH_MX25 */ - -#ifdef CONFIG_SOC_IMX27 -const struct imx_mxc_nand_data imx27_mxc_nand_data __initconst = -	imx_mxc_nand_data_entry_single(MX27, SZ_4K); -#endif /* ifdef CONFIG_SOC_IMX27 */ - -#ifdef CONFIG_ARCH_MX31 -const struct imx_mxc_nand_data imx31_mxc_nand_data __initconst = -	imx_mxc_nand_data_entry_single(MX31, SZ_4K); -#endif - -#ifdef CONFIG_ARCH_MX35 -const struct imx_mxc_nand_data imx35_mxc_nand_data __initconst = -	imx_mxc_nand_data_entry_single(MX35, SZ_8K); -#endif - -#ifdef CONFIG_ARCH_MX51 -const struct imx_mxc_nand_data imx51_mxc_nand_data __initconst = -	imx_mxc_nandv3_data_entry_single(MX51, SZ_16K); -#endif - -struct platform_device *__init imx_add_mxc_nand( -		const struct imx_mxc_nand_data *data, -		const struct mxc_nand_platform_data *pdata) -{ -	/* AXI has to come first, that's how the mxc_nand driver expect it */ -	struct resource res[] = { -		{ -			.start = data->axibase, -			.end = data->axibase + SZ_16K - 1, -			.flags = IORESOURCE_MEM, -		}, { -			.start = data->iobase, -			.end = data->iobase + data->iosize - 1, -			.flags = IORESOURCE_MEM, -		}, { -			.start = data->irq, -			.end = data->irq, -			.flags = IORESOURCE_IRQ, -		}, -	}; -	return imx_add_platform_device("mxc_nand", data->id, -			res + !data->axibase, -			ARRAY_SIZE(res) - !data->axibase, -			pdata, sizeof(*pdata)); -} diff --git a/arch/arm/plat-mxc/devices/platform-spi_imx.c b/arch/arm/plat-mxc/devices/platform-spi_imx.c deleted file mode 100644 index e48340ec331..00000000000 --- a/arch/arm/plat-mxc/devices/platform-spi_imx.c +++ /dev/null @@ -1,101 +0,0 @@ -/* - * Copyright (C) 2009-2010 Pengutronix - * Uwe Kleine-Koenig <u.kleine-koenig@pengutronix.de> - * - * This program is free software; you can redistribute it and/or modify it under - * the terms of the GNU General Public License version 2 as published by the - * Free Software Foundation. - */ -#include <mach/hardware.h> -#include <mach/devices-common.h> - -#define imx_spi_imx_data_entry_single(soc, type, _devid, _id, hwid, _size) \ -	{								\ -		.devid = _devid,					\ -		.id = _id,						\ -		.iobase = soc ## _ ## type ## hwid ## _BASE_ADDR,	\ -		.iosize = _size,					\ -		.irq = soc ## _INT_ ## type ## hwid,			\ -	} - -#define imx_spi_imx_data_entry(soc, type, devid, id, hwid, size)	\ -	[id] = imx_spi_imx_data_entry_single(soc, type, devid, id, hwid, size) - -#ifdef CONFIG_SOC_IMX21 -const struct imx_spi_imx_data imx21_cspi_data[] __initconst = { -#define imx21_cspi_data_entry(_id, _hwid)                            \ -	imx_spi_imx_data_entry(MX21, CSPI, "imx21-cspi", _id, _hwid, SZ_4K) -	imx21_cspi_data_entry(0, 1), -	imx21_cspi_data_entry(1, 2), -#endif - -#ifdef CONFIG_ARCH_MX25 -const struct imx_spi_imx_data imx25_cspi_data[] __initconst = { -#define imx25_cspi_data_entry(_id, _hwid)				\ -	imx_spi_imx_data_entry(MX25, CSPI, "imx25-cspi", _id, _hwid, SZ_16K) -	imx25_cspi_data_entry(0, 1), -	imx25_cspi_data_entry(1, 2), -	imx25_cspi_data_entry(2, 3), -}; -#endif /* ifdef CONFIG_ARCH_MX25 */ - -#ifdef CONFIG_SOC_IMX27 -const struct imx_spi_imx_data imx27_cspi_data[] __initconst = { -#define imx27_cspi_data_entry(_id, _hwid)				\ -	imx_spi_imx_data_entry(MX27, CSPI, "imx27-cspi", _id, _hwid, SZ_4K) -	imx27_cspi_data_entry(0, 1), -	imx27_cspi_data_entry(1, 2), -	imx27_cspi_data_entry(2, 3), -}; -#endif /* ifdef CONFIG_SOC_IMX27 */ - -#ifdef CONFIG_ARCH_MX31 -const struct imx_spi_imx_data imx31_cspi_data[] __initconst = { -#define imx31_cspi_data_entry(_id, _hwid)				\ -	imx_spi_imx_data_entry(MX31, CSPI, "imx31-cspi", _id, _hwid, SZ_4K) -	imx31_cspi_data_entry(0, 1), -	imx31_cspi_data_entry(1, 2), -	imx31_cspi_data_entry(2, 3), -}; -#endif /* ifdef CONFIG_ARCH_MX31 */ - -#ifdef CONFIG_ARCH_MX35 -const struct imx_spi_imx_data imx35_cspi_data[] __initconst = { -#define imx35_cspi_data_entry(_id, _hwid)                           \ -	imx_spi_imx_data_entry(MX35, CSPI, "imx35-cspi", _id, _hwid, SZ_4K) -	imx35_cspi_data_entry(0, 1), -	imx35_cspi_data_entry(1, 2), -}; -#endif /* ifdef CONFIG_ARCH_MX35 */ - -#ifdef CONFIG_ARCH_MX51 -const struct imx_spi_imx_data imx51_cspi_data __initconst = -	imx_spi_imx_data_entry_single(MX51, CSPI, "imx51-cspi", 0, , SZ_4K); - -const struct imx_spi_imx_data imx51_ecspi_data[] __initconst = { -#define imx51_ecspi_data_entry(_id, _hwid)				\ -	imx_spi_imx_data_entry(MX51, ECSPI, "imx51-ecspi", _id, _hwid, SZ_4K) -	imx51_ecspi_data_entry(0, 1), -	imx51_ecspi_data_entry(1, 2), -}; -#endif /* ifdef CONFIG_ARCH_MX51 */ - -struct platform_device *__init imx_add_spi_imx( -		const struct imx_spi_imx_data *data, -		const struct spi_imx_master *pdata) -{ -	struct resource res[] = { -		{ -			.start = data->iobase, -			.end = data->iobase + data->iosize - 1, -			.flags = IORESOURCE_MEM, -		}, { -			.start = data->irq, -			.end = data->irq, -			.flags = IORESOURCE_IRQ, -		}, -	}; - -	return imx_add_platform_device(data->devid, data->id, -			res, ARRAY_SIZE(res), pdata, sizeof(*pdata)); -} diff --git a/arch/arm/plat-mxc/ehci.c b/arch/arm/plat-mxc/ehci.c deleted file mode 100644 index 9915607683d..00000000000 --- a/arch/arm/plat-mxc/ehci.c +++ /dev/null @@ -1,330 +0,0 @@ -/* - * Copyright (c) 2009 Daniel Mack <daniel@caiaq.de> - * Copyright (C) 2010 Freescale Semiconductor, Inc. - * - * This program is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License as published by the - * Free Software Foundation; either version 2 of the License, or (at your - * option) any later version. - * - * This program is distributed in the hope that it will be useful, but - * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY - * or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License - * for more details. - */ - -#include <linux/platform_device.h> -#include <linux/io.h> - -#include <mach/hardware.h> -#include <mach/mxc_ehci.h> - -#define USBCTRL_OTGBASE_OFFSET	0x600 - -#define MX31_OTG_SIC_SHIFT	29 -#define MX31_OTG_SIC_MASK	(0x3 << MX31_OTG_SIC_SHIFT) -#define MX31_OTG_PM_BIT		(1 << 24) - -#define MX31_H2_SIC_SHIFT	21 -#define MX31_H2_SIC_MASK	(0x3 << MX31_H2_SIC_SHIFT) -#define MX31_H2_PM_BIT		(1 << 16) -#define MX31_H2_DT_BIT		(1 << 5) - -#define MX31_H1_SIC_SHIFT	13 -#define MX31_H1_SIC_MASK	(0x3 << MX31_H1_SIC_SHIFT) -#define MX31_H1_PM_BIT		(1 << 8) -#define MX31_H1_DT_BIT		(1 << 4) - -#define MX35_OTG_SIC_SHIFT	29 -#define MX35_OTG_SIC_MASK	(0x3 << MX35_OTG_SIC_SHIFT) -#define MX35_OTG_PM_BIT		(1 << 24) - -#define MX35_H1_SIC_SHIFT	21 -#define MX35_H1_SIC_MASK	(0x3 << MX35_H1_SIC_SHIFT) -#define MX35_H1_PM_BIT		(1 << 8) -#define MX35_H1_IPPUE_UP_BIT	(1 << 7) -#define MX35_H1_IPPUE_DOWN_BIT	(1 << 6) -#define MX35_H1_TLL_BIT		(1 << 5) -#define MX35_H1_USBTE_BIT	(1 << 4) - -#define MXC_OTG_OFFSET		0 -#define MXC_H1_OFFSET		0x200 - -/* USB_CTRL */ -#define MXC_OTG_UCTRL_OWIE_BIT		(1 << 27)	/* OTG wakeup intr enable */ -#define MXC_OTG_UCTRL_OPM_BIT		(1 << 24)	/* OTG power mask */ -#define MXC_H1_UCTRL_H1UIE_BIT		(1 << 12)	/* Host1 ULPI interrupt enable */ -#define MXC_H1_UCTRL_H1WIE_BIT		(1 << 11)	/* HOST1 wakeup intr enable */ -#define MXC_H1_UCTRL_H1PM_BIT		(1 <<  8)		/* HOST1 power mask */ - -/* USB_PHY_CTRL_FUNC */ -#define MXC_OTG_PHYCTRL_OC_DIS_BIT	(1 << 8)	/* OTG Disable Overcurrent Event */ -#define MXC_H1_OC_DIS_BIT			(1 << 5)	/* UH1 Disable Overcurrent Event */ - -#define MXC_USBCMD_OFFSET			0x140 - -/* USBCMD */ -#define MXC_UCMD_ITC_NO_THRESHOLD_MASK	(~(0xff << 16))	/* Interrupt Threshold Control */ - -int mxc_initialize_usb_hw(int port, unsigned int flags) -{ -	unsigned int v; -#if defined(CONFIG_ARCH_MX25) -	if (cpu_is_mx25()) { -		v = readl(MX25_IO_ADDRESS(MX25_OTG_BASE_ADDR + -				     USBCTRL_OTGBASE_OFFSET)); - -		switch (port) { -		case 0:	/* OTG port */ -			v &= ~(MX35_OTG_SIC_MASK | MX35_OTG_PM_BIT); -			v |= (flags & MXC_EHCI_INTERFACE_MASK) -					<< MX35_OTG_SIC_SHIFT; -			if (!(flags & MXC_EHCI_POWER_PINS_ENABLED)) -				v |= MX35_OTG_PM_BIT; - -			break; -		case 1: /* H1 port */ -			v &= ~(MX35_H1_SIC_MASK | MX35_H1_PM_BIT | MX35_H1_TLL_BIT | -				MX35_H1_USBTE_BIT | MX35_H1_IPPUE_DOWN_BIT | MX35_H1_IPPUE_UP_BIT); -			v |= (flags & MXC_EHCI_INTERFACE_MASK) -						<< MX35_H1_SIC_SHIFT; -			if (!(flags & MXC_EHCI_POWER_PINS_ENABLED)) -				v |= MX35_H1_PM_BIT; - -			if (!(flags & MXC_EHCI_TTL_ENABLED)) -				v |= MX35_H1_TLL_BIT; - -			if (flags & MXC_EHCI_INTERNAL_PHY) -				v |= MX35_H1_USBTE_BIT; - -			if (flags & MXC_EHCI_IPPUE_DOWN) -				v |= MX35_H1_IPPUE_DOWN_BIT; - -			if (flags & MXC_EHCI_IPPUE_UP) -				v |= MX35_H1_IPPUE_UP_BIT; - -			break; -		default: -			return -EINVAL; -		} - -		writel(v, MX25_IO_ADDRESS(MX25_OTG_BASE_ADDR + -				     USBCTRL_OTGBASE_OFFSET)); -		return 0; -	} -#endif /* CONFIG_ARCH_MX25 */ -#if defined(CONFIG_ARCH_MX3) -	if (cpu_is_mx31()) { -		v = readl(MX31_IO_ADDRESS(MX31_OTG_BASE_ADDR + -				     USBCTRL_OTGBASE_OFFSET)); - -		switch (port) { -		case 0:	/* OTG port */ -			v &= ~(MX31_OTG_SIC_MASK | MX31_OTG_PM_BIT); -			v |= (flags & MXC_EHCI_INTERFACE_MASK) -					<< MX31_OTG_SIC_SHIFT; -			if (!(flags & MXC_EHCI_POWER_PINS_ENABLED)) -				v |= MX31_OTG_PM_BIT; - -			break; -		case 1: /* H1 port */ -			v &= ~(MX31_H1_SIC_MASK | MX31_H1_PM_BIT | MX31_H1_DT_BIT); -			v |= (flags & MXC_EHCI_INTERFACE_MASK) -						<< MX31_H1_SIC_SHIFT; -			if (!(flags & MXC_EHCI_POWER_PINS_ENABLED)) -				v |= MX31_H1_PM_BIT; - -			if (!(flags & MXC_EHCI_TTL_ENABLED)) -				v |= MX31_H1_DT_BIT; - -			break; -		case 2:	/* H2 port */ -			v &= ~(MX31_H2_SIC_MASK | MX31_H2_PM_BIT | MX31_H2_DT_BIT); -			v |= (flags & MXC_EHCI_INTERFACE_MASK) -						<< MX31_H2_SIC_SHIFT; -			if (!(flags & MXC_EHCI_POWER_PINS_ENABLED)) -				v |= MX31_H2_PM_BIT; - -			if (!(flags & MXC_EHCI_TTL_ENABLED)) -				v |= MX31_H2_DT_BIT; - -			break; -		default: -			return -EINVAL; -		} - -		writel(v, MX31_IO_ADDRESS(MX31_OTG_BASE_ADDR + -				     USBCTRL_OTGBASE_OFFSET)); -		return 0; -	} - -	if (cpu_is_mx35()) { -		v = readl(MX35_IO_ADDRESS(MX35_OTG_BASE_ADDR + -				     USBCTRL_OTGBASE_OFFSET)); - -		switch (port) { -		case 0:	/* OTG port */ -			v &= ~(MX35_OTG_SIC_MASK | MX35_OTG_PM_BIT); -			v |= (flags & MXC_EHCI_INTERFACE_MASK) -					<< MX35_OTG_SIC_SHIFT; -			if (!(flags & MXC_EHCI_POWER_PINS_ENABLED)) -				v |= MX35_OTG_PM_BIT; - -			break; -		case 1: /* H1 port */ -			v &= ~(MX35_H1_SIC_MASK | MX35_H1_PM_BIT | MX35_H1_TLL_BIT | -				MX35_H1_USBTE_BIT | MX35_H1_IPPUE_DOWN_BIT | MX35_H1_IPPUE_UP_BIT); -			v |= (flags & MXC_EHCI_INTERFACE_MASK) -						<< MX35_H1_SIC_SHIFT; -			if (!(flags & MXC_EHCI_POWER_PINS_ENABLED)) -				v |= MX35_H1_PM_BIT; - -			if (!(flags & MXC_EHCI_TTL_ENABLED)) -				v |= MX35_H1_TLL_BIT; - -			if (flags & MXC_EHCI_INTERNAL_PHY) -				v |= MX35_H1_USBTE_BIT; - -			if (flags & MXC_EHCI_IPPUE_DOWN) -				v |= MX35_H1_IPPUE_DOWN_BIT; - -			if (flags & MXC_EHCI_IPPUE_UP) -				v |= MX35_H1_IPPUE_UP_BIT; - -			break; -		default: -			return -EINVAL; -		} - -		writel(v, MX35_IO_ADDRESS(MX35_OTG_BASE_ADDR + -				     USBCTRL_OTGBASE_OFFSET)); -		return 0; -	} -#endif /* CONFIG_ARCH_MX3 */ -#ifdef CONFIG_MACH_MX27 -	if (cpu_is_mx27()) { -		/* On i.MX27 we can use the i.MX31 USBCTRL bits, they -		 * are identical -		 */ -		v = readl(MX27_IO_ADDRESS(MX27_OTG_BASE_ADDR + -				     USBCTRL_OTGBASE_OFFSET)); -		switch (port) { -		case 0:	/* OTG port */ -			v &= ~(MX31_OTG_SIC_MASK | MX31_OTG_PM_BIT); -			v |= (flags & MXC_EHCI_INTERFACE_MASK) -					<< MX31_OTG_SIC_SHIFT; -			if (!(flags & MXC_EHCI_POWER_PINS_ENABLED)) -				v |= MX31_OTG_PM_BIT; -			break; -		case 1: /* H1 port */ -			v &= ~(MX31_H1_SIC_MASK | MX31_H1_PM_BIT | MX31_H1_DT_BIT); -			v |= (flags & MXC_EHCI_INTERFACE_MASK) -						<< MX31_H1_SIC_SHIFT; -			if (!(flags & MXC_EHCI_POWER_PINS_ENABLED)) -				v |= MX31_H1_PM_BIT; - -			if (!(flags & MXC_EHCI_TTL_ENABLED)) -				v |= MX31_H1_DT_BIT; - -			break; -		case 2:	/* H2 port */ -			v &= ~(MX31_H2_SIC_MASK | MX31_H2_PM_BIT | MX31_H2_DT_BIT); -			v |= (flags & MXC_EHCI_INTERFACE_MASK) -						<< MX31_H2_SIC_SHIFT; -			if (!(flags & MXC_EHCI_POWER_PINS_ENABLED)) -				v |= MX31_H2_PM_BIT; - -			if (!(flags & MXC_EHCI_TTL_ENABLED)) -				v |= MX31_H2_DT_BIT; - -			break; -		default: -			return -EINVAL; -		} -		writel(v, MX27_IO_ADDRESS(MX27_OTG_BASE_ADDR + -				     USBCTRL_OTGBASE_OFFSET)); -		return 0; -	} -#endif /* CONFIG_MACH_MX27 */ -#ifdef CONFIG_ARCH_MX51 -	if (cpu_is_mx51()) { -		void __iomem *usb_base; -		void __iomem *usbotg_base; -		void __iomem *usbother_base; -		int ret = 0; - -		usb_base = ioremap(MX51_OTG_BASE_ADDR, SZ_4K); - -		switch (port) { -		case 0:	/* OTG port */ -			usbotg_base = usb_base + MXC_OTG_OFFSET; -			break; -		case 1:	/* Host 1 port */ -			usbotg_base = usb_base + MXC_H1_OFFSET; -			break; -		default: -			printk(KERN_ERR"%s no such port %d\n", __func__, port); -			ret = -ENOENT; -			goto error; -		} -		usbother_base = usb_base + MX5_USBOTHER_REGS_OFFSET; - -		switch (port) { -		case 0:	/*OTG port */ -			if (flags & MXC_EHCI_INTERNAL_PHY) { -				v = __raw_readl(usbother_base + MXC_USB_PHY_CTR_FUNC_OFFSET); - -				if (flags & MXC_EHCI_POWER_PINS_ENABLED) -					v |= (MXC_OTG_PHYCTRL_OC_DIS_BIT | MXC_OTG_UCTRL_OPM_BIT); /* OC/USBPWR is not used */ -				else -					v &= ~(MXC_OTG_PHYCTRL_OC_DIS_BIT | MXC_OTG_UCTRL_OPM_BIT); /* OC/USBPWR is used */ -				__raw_writel(v, usbother_base + MXC_USB_PHY_CTR_FUNC_OFFSET); - -				v = __raw_readl(usbother_base + MXC_USBCTRL_OFFSET); -				if (flags & MXC_EHCI_WAKEUP_ENABLED) -					v |= MXC_OTG_UCTRL_OWIE_BIT;/* OTG wakeup enable */ -				else -					v &= ~MXC_OTG_UCTRL_OWIE_BIT;/* OTG wakeup disable */ -				__raw_writel(v, usbother_base + MXC_USBCTRL_OFFSET); -			} -			break; -		case 1:	/* Host 1 */ -			/*Host ULPI */ -			v = __raw_readl(usbother_base + MXC_USBCTRL_OFFSET); -			if (flags & MXC_EHCI_WAKEUP_ENABLED) -				v &= ~(MXC_H1_UCTRL_H1WIE_BIT | MXC_H1_UCTRL_H1UIE_BIT);/* HOST1 wakeup/ULPI intr disable */ -			else -				v &= ~(MXC_H1_UCTRL_H1WIE_BIT | MXC_H1_UCTRL_H1UIE_BIT);/* HOST1 wakeup/ULPI intr disable */ - -			if (flags & MXC_EHCI_POWER_PINS_ENABLED) -				v &= ~MXC_H1_UCTRL_H1PM_BIT; /* HOST1 power mask used*/ -			else -				v |= MXC_H1_UCTRL_H1PM_BIT; /* HOST1 power mask used*/ -			__raw_writel(v, usbother_base + MXC_USBCTRL_OFFSET); - -			v = __raw_readl(usbother_base + MXC_USB_PHY_CTR_FUNC_OFFSET); -			if (flags & MXC_EHCI_POWER_PINS_ENABLED) -				v &= ~MXC_H1_OC_DIS_BIT; /* OC is used */ -			else -				v |= MXC_H1_OC_DIS_BIT; /* OC is not used */ -			__raw_writel(v, usbother_base + MXC_USB_PHY_CTR_FUNC_OFFSET); - -			v = __raw_readl(usbotg_base + MXC_USBCMD_OFFSET); -			if (flags & MXC_EHCI_ITC_NO_THRESHOLD) -				/* Interrupt Threshold Control:Immediate (no threshold) */ -				v &= MXC_UCMD_ITC_NO_THRESHOLD_MASK; -			__raw_writel(v, usbotg_base + MXC_USBCMD_OFFSET); -			break; -		} - -error: -		iounmap(usb_base); -		return ret; -	} -#endif -	printk(KERN_WARNING -		"%s() unable to setup USBCONTROL for this CPU\n", __func__); -	return -EINVAL; -} -EXPORT_SYMBOL(mxc_initialize_usb_hw); - diff --git a/arch/arm/plat-mxc/epit.c b/arch/arm/plat-mxc/epit.c deleted file mode 100644 index ee9582f4972..00000000000 --- a/arch/arm/plat-mxc/epit.c +++ /dev/null @@ -1,242 +0,0 @@ -/* - *  linux/arch/arm/plat-mxc/epit.c - * - *  Copyright (C) 2010 Sascha Hauer <s.hauer@pengutronix.de> - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, - * MA 02110-1301, USA. - */ - -#define EPITCR		0x00 -#define EPITSR		0x04 -#define EPITLR		0x08 -#define EPITCMPR	0x0c -#define EPITCNR		0x10 - -#define EPITCR_EN			(1 << 0) -#define EPITCR_ENMOD			(1 << 1) -#define EPITCR_OCIEN			(1 << 2) -#define EPITCR_RLD			(1 << 3) -#define EPITCR_PRESC(x)			(((x) & 0xfff) << 4) -#define EPITCR_SWR			(1 << 16) -#define EPITCR_IOVW			(1 << 17) -#define EPITCR_DBGEN			(1 << 18) -#define EPITCR_WAITEN			(1 << 19) -#define EPITCR_RES			(1 << 20) -#define EPITCR_STOPEN			(1 << 21) -#define EPITCR_OM_DISCON		(0 << 22) -#define EPITCR_OM_TOGGLE		(1 << 22) -#define EPITCR_OM_CLEAR			(2 << 22) -#define EPITCR_OM_SET			(3 << 22) -#define EPITCR_CLKSRC_OFF		(0 << 24) -#define EPITCR_CLKSRC_PERIPHERAL	(1 << 24) -#define EPITCR_CLKSRC_REF_HIGH		(1 << 24) -#define EPITCR_CLKSRC_REF_LOW		(3 << 24) - -#define EPITSR_OCIF			(1 << 0) - -#include <linux/interrupt.h> -#include <linux/irq.h> -#include <linux/clockchips.h> -#include <linux/clk.h> - -#include <mach/hardware.h> -#include <asm/mach/time.h> -#include <mach/common.h> - -static struct clock_event_device clockevent_epit; -static enum clock_event_mode clockevent_mode = CLOCK_EVT_MODE_UNUSED; - -static void __iomem *timer_base; - -static inline void epit_irq_disable(void) -{ -	u32 val; - -	val = __raw_readl(timer_base + EPITCR); -	val &= ~EPITCR_OCIEN; -	__raw_writel(val, timer_base + EPITCR); -} - -static inline void epit_irq_enable(void) -{ -	u32 val; - -	val = __raw_readl(timer_base + EPITCR); -	val |= EPITCR_OCIEN; -	__raw_writel(val, timer_base + EPITCR); -} - -static void epit_irq_acknowledge(void) -{ -	__raw_writel(EPITSR_OCIF, timer_base + EPITSR); -} - -static cycle_t epit_read(struct clocksource *cs) -{ -	return 0 - __raw_readl(timer_base + EPITCNR); -} - -static struct clocksource clocksource_epit = { -	.name		= "epit", -	.rating		= 200, -	.read		= epit_read, -	.mask		= CLOCKSOURCE_MASK(32), -	.shift		= 20, -	.flags		= CLOCK_SOURCE_IS_CONTINUOUS, -}; - -static int __init epit_clocksource_init(struct clk *timer_clk) -{ -	unsigned int c = clk_get_rate(timer_clk); - -	clocksource_epit.mult = clocksource_hz2mult(c, -					clocksource_epit.shift); -	clocksource_register(&clocksource_epit); - -	return 0; -} - -/* clock event */ - -static int epit_set_next_event(unsigned long evt, -			      struct clock_event_device *unused) -{ -	unsigned long tcmp; - -	tcmp = __raw_readl(timer_base + EPITCNR); - -	__raw_writel(tcmp - evt, timer_base + EPITCMPR); - -	return 0; -} - -static void epit_set_mode(enum clock_event_mode mode, -				struct clock_event_device *evt) -{ -	unsigned long flags; - -	/* -	 * The timer interrupt generation is disabled at least -	 * for enough time to call epit_set_next_event() -	 */ -	local_irq_save(flags); - -	/* Disable interrupt in GPT module */ -	epit_irq_disable(); - -	if (mode != clockevent_mode) { -		/* Set event time into far-far future */ - -		/* Clear pending interrupt */ -		epit_irq_acknowledge(); -	} - -	/* Remember timer mode */ -	clockevent_mode = mode; -	local_irq_restore(flags); - -	switch (mode) { -	case CLOCK_EVT_MODE_PERIODIC: -		printk(KERN_ERR "epit_set_mode: Periodic mode is not " -				"supported for i.MX EPIT\n"); -		break; -	case CLOCK_EVT_MODE_ONESHOT: -	/* -	 * Do not put overhead of interrupt enable/disable into -	 * epit_set_next_event(), the core has about 4 minutes -	 * to call epit_set_next_event() or shutdown clock after -	 * mode switching -	 */ -		local_irq_save(flags); -		epit_irq_enable(); -		local_irq_restore(flags); -		break; -	case CLOCK_EVT_MODE_SHUTDOWN: -	case CLOCK_EVT_MODE_UNUSED: -	case CLOCK_EVT_MODE_RESUME: -		/* Left event sources disabled, no more interrupts appear */ -		break; -	} -} - -/* - * IRQ handler for the timer - */ -static irqreturn_t epit_timer_interrupt(int irq, void *dev_id) -{ -	struct clock_event_device *evt = &clockevent_epit; - -	epit_irq_acknowledge(); - -	evt->event_handler(evt); - -	return IRQ_HANDLED; -} - -static struct irqaction epit_timer_irq = { -	.name		= "i.MX EPIT Timer Tick", -	.flags		= IRQF_DISABLED | IRQF_TIMER | IRQF_IRQPOLL, -	.handler	= epit_timer_interrupt, -}; - -static struct clock_event_device clockevent_epit = { -	.name		= "epit", -	.features	= CLOCK_EVT_FEAT_ONESHOT, -	.shift		= 32, -	.set_mode	= epit_set_mode, -	.set_next_event	= epit_set_next_event, -	.rating		= 200, -}; - -static int __init epit_clockevent_init(struct clk *timer_clk) -{ -	unsigned int c = clk_get_rate(timer_clk); - -	clockevent_epit.mult = div_sc(c, NSEC_PER_SEC, -					clockevent_epit.shift); -	clockevent_epit.max_delta_ns = -			clockevent_delta2ns(0xfffffffe, &clockevent_epit); -	clockevent_epit.min_delta_ns = -			clockevent_delta2ns(0x800, &clockevent_epit); - -	clockevent_epit.cpumask = cpumask_of(0); - -	clockevents_register_device(&clockevent_epit); - -	return 0; -} - -void __init epit_timer_init(struct clk *timer_clk, void __iomem *base, int irq) -{ -	clk_enable(timer_clk); - -	timer_base = base; - -	/* -	 * Initialise to a known state (all timers off, and timing reset) -	 */ -	__raw_writel(0x0, timer_base + EPITCR); - -	__raw_writel(0xffffffff, timer_base + EPITLR); -	__raw_writel(EPITCR_EN | EPITCR_CLKSRC_REF_HIGH | EPITCR_WAITEN, -			timer_base + EPITCR); - -	/* init and register the timer to the framework */ -	epit_clocksource_init(timer_clk); -	epit_clockevent_init(timer_clk); - -	/* Make irqs happen */ -	setup_irq(irq, &epit_timer_irq); -} diff --git a/arch/arm/plat-mxc/gpio.c b/arch/arm/plat-mxc/gpio.c deleted file mode 100644 index 9c3e36232b5..00000000000 --- a/arch/arm/plat-mxc/gpio.c +++ /dev/null @@ -1,351 +0,0 @@ -/* - * MXC GPIO support. (c) 2008 Daniel Mack <daniel@caiaq.de> - * Copyright 2008 Juergen Beisert, kernel@pengutronix.de - * - * Based on code from Freescale, - * Copyright (C) 2004-2010 Freescale Semiconductor, Inc. All Rights Reserved. - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA. - */ - -#include <linux/init.h> -#include <linux/interrupt.h> -#include <linux/io.h> -#include <linux/irq.h> -#include <linux/gpio.h> -#include <mach/hardware.h> -#include <asm-generic/bug.h> - -static struct mxc_gpio_port *mxc_gpio_ports; -static int gpio_table_size; - -#define cpu_is_mx1_mx2()	(cpu_is_mx1() || cpu_is_mx2()) - -#define GPIO_DR		(cpu_is_mx1_mx2() ? 0x1c : 0x00) -#define GPIO_GDIR	(cpu_is_mx1_mx2() ? 0x00 : 0x04) -#define GPIO_PSR	(cpu_is_mx1_mx2() ? 0x24 : 0x08) -#define GPIO_ICR1	(cpu_is_mx1_mx2() ? 0x28 : 0x0C) -#define GPIO_ICR2	(cpu_is_mx1_mx2() ? 0x2C : 0x10) -#define GPIO_IMR	(cpu_is_mx1_mx2() ? 0x30 : 0x14) -#define GPIO_ISR	(cpu_is_mx1_mx2() ? 0x34 : 0x18) - -#define GPIO_INT_LOW_LEV	(cpu_is_mx1_mx2() ? 0x3 : 0x0) -#define GPIO_INT_HIGH_LEV	(cpu_is_mx1_mx2() ? 0x2 : 0x1) -#define GPIO_INT_RISE_EDGE	(cpu_is_mx1_mx2() ? 0x0 : 0x2) -#define GPIO_INT_FALL_EDGE	(cpu_is_mx1_mx2() ? 0x1 : 0x3) -#define GPIO_INT_NONE		0x4 - -/* Note: This driver assumes 32 GPIOs are handled in one register */ - -static void _clear_gpio_irqstatus(struct mxc_gpio_port *port, u32 index) -{ -	__raw_writel(1 << index, port->base + GPIO_ISR); -} - -static void _set_gpio_irqenable(struct mxc_gpio_port *port, u32 index, -				int enable) -{ -	u32 l; - -	l = __raw_readl(port->base + GPIO_IMR); -	l = (l & (~(1 << index))) | (!!enable << index); -	__raw_writel(l, port->base + GPIO_IMR); -} - -static void gpio_ack_irq(u32 irq) -{ -	u32 gpio = irq_to_gpio(irq); -	_clear_gpio_irqstatus(&mxc_gpio_ports[gpio / 32], gpio & 0x1f); -} - -static void gpio_mask_irq(u32 irq) -{ -	u32 gpio = irq_to_gpio(irq); -	_set_gpio_irqenable(&mxc_gpio_ports[gpio / 32], gpio & 0x1f, 0); -} - -static void gpio_unmask_irq(u32 irq) -{ -	u32 gpio = irq_to_gpio(irq); -	_set_gpio_irqenable(&mxc_gpio_ports[gpio / 32], gpio & 0x1f, 1); -} - -static int mxc_gpio_get(struct gpio_chip *chip, unsigned offset); - -static int gpio_set_irq_type(u32 irq, u32 type) -{ -	u32 gpio = irq_to_gpio(irq); -	struct mxc_gpio_port *port = &mxc_gpio_ports[gpio / 32]; -	u32 bit, val; -	int edge; -	void __iomem *reg = port->base; - -	port->both_edges &= ~(1 << (gpio & 31)); -	switch (type) { -	case IRQ_TYPE_EDGE_RISING: -		edge = GPIO_INT_RISE_EDGE; -		break; -	case IRQ_TYPE_EDGE_FALLING: -		edge = GPIO_INT_FALL_EDGE; -		break; -	case IRQ_TYPE_EDGE_BOTH: -		val = mxc_gpio_get(&port->chip, gpio & 31); -		if (val) { -			edge = GPIO_INT_LOW_LEV; -			pr_debug("mxc: set GPIO %d to low trigger\n", gpio); -		} else { -			edge = GPIO_INT_HIGH_LEV; -			pr_debug("mxc: set GPIO %d to high trigger\n", gpio); -		} -		port->both_edges |= 1 << (gpio & 31); -		break; -	case IRQ_TYPE_LEVEL_LOW: -		edge = GPIO_INT_LOW_LEV; -		break; -	case IRQ_TYPE_LEVEL_HIGH: -		edge = GPIO_INT_HIGH_LEV; -		break; -	default: -		return -EINVAL; -	} - -	reg += GPIO_ICR1 + ((gpio & 0x10) >> 2); /* lower or upper register */ -	bit = gpio & 0xf; -	val = __raw_readl(reg) & ~(0x3 << (bit << 1)); -	__raw_writel(val | (edge << (bit << 1)), reg); -	_clear_gpio_irqstatus(port, gpio & 0x1f); - -	return 0; -} - -static void mxc_flip_edge(struct mxc_gpio_port *port, u32 gpio) -{ -	void __iomem *reg = port->base; -	u32 bit, val; -	int edge; - -	reg += GPIO_ICR1 + ((gpio & 0x10) >> 2); /* lower or upper register */ -	bit = gpio & 0xf; -	val = __raw_readl(reg); -	edge = (val >> (bit << 1)) & 3; -	val &= ~(0x3 << (bit << 1)); -	if (edge == GPIO_INT_HIGH_LEV) { -		edge = GPIO_INT_LOW_LEV; -		pr_debug("mxc: switch GPIO %d to low trigger\n", gpio); -	} else if (edge == GPIO_INT_LOW_LEV) { -		edge = GPIO_INT_HIGH_LEV; -		pr_debug("mxc: switch GPIO %d to high trigger\n", gpio); -	} else { -		pr_err("mxc: invalid configuration for GPIO %d: %x\n", -		       gpio, edge); -		return; -	} -	__raw_writel(val | (edge << (bit << 1)), reg); -} - -/* handle 32 interrupts in one status register */ -static void mxc_gpio_irq_handler(struct mxc_gpio_port *port, u32 irq_stat) -{ -	u32 gpio_irq_no_base = port->virtual_irq_start; - -	while (irq_stat != 0) { -		int irqoffset = fls(irq_stat) - 1; - -		if (port->both_edges & (1 << irqoffset)) -			mxc_flip_edge(port, irqoffset); - -		generic_handle_irq(gpio_irq_no_base + irqoffset); - -		irq_stat &= ~(1 << irqoffset); -	} -} - -/* MX1 and MX3 has one interrupt *per* gpio port */ -static void mx3_gpio_irq_handler(u32 irq, struct irq_desc *desc) -{ -	u32 irq_stat; -	struct mxc_gpio_port *port = (struct mxc_gpio_port *)get_irq_data(irq); - -	irq_stat = __raw_readl(port->base + GPIO_ISR) & -			__raw_readl(port->base + GPIO_IMR); - -	mxc_gpio_irq_handler(port, irq_stat); -} - -/* MX2 has one interrupt *for all* gpio ports */ -static void mx2_gpio_irq_handler(u32 irq, struct irq_desc *desc) -{ -	int i; -	u32 irq_msk, irq_stat; -	struct mxc_gpio_port *port = (struct mxc_gpio_port *)get_irq_data(irq); - -	/* walk through all interrupt status registers */ -	for (i = 0; i < gpio_table_size; i++) { -		irq_msk = __raw_readl(port[i].base + GPIO_IMR); -		if (!irq_msk) -			continue; - -		irq_stat = __raw_readl(port[i].base + GPIO_ISR) & irq_msk; -		if (irq_stat) -			mxc_gpio_irq_handler(&port[i], irq_stat); -	} -} - -/* - * Set interrupt number "irq" in the GPIO as a wake-up source. - * While system is running, all registered GPIO interrupts need to have - * wake-up enabled. When system is suspended, only selected GPIO interrupts - * need to have wake-up enabled. - * @param  irq          interrupt source number - * @param  enable       enable as wake-up if equal to non-zero - * @return       This function returns 0 on success. - */ -static int gpio_set_wake_irq(u32 irq, u32 enable) -{ -	u32 gpio = irq_to_gpio(irq); -	u32 gpio_idx = gpio & 0x1F; -	struct mxc_gpio_port *port = &mxc_gpio_ports[gpio / 32]; - -	if (enable) { -		if (port->irq_high && (gpio_idx >= 16)) -			enable_irq_wake(port->irq_high); -		else -			enable_irq_wake(port->irq); -	} else { -		if (port->irq_high && (gpio_idx >= 16)) -			disable_irq_wake(port->irq_high); -		else -			disable_irq_wake(port->irq); -	} - -	return 0; -} - -static struct irq_chip gpio_irq_chip = { -	.ack = gpio_ack_irq, -	.mask = gpio_mask_irq, -	.unmask = gpio_unmask_irq, -	.set_type = gpio_set_irq_type, -	.set_wake = gpio_set_wake_irq, -}; - -static void _set_gpio_direction(struct gpio_chip *chip, unsigned offset, -				int dir) -{ -	struct mxc_gpio_port *port = -		container_of(chip, struct mxc_gpio_port, chip); -	u32 l; -	unsigned long flags; - -	spin_lock_irqsave(&port->lock, flags); -	l = __raw_readl(port->base + GPIO_GDIR); -	if (dir) -		l |= 1 << offset; -	else -		l &= ~(1 << offset); -	__raw_writel(l, port->base + GPIO_GDIR); -	spin_unlock_irqrestore(&port->lock, flags); -} - -static void mxc_gpio_set(struct gpio_chip *chip, unsigned offset, int value) -{ -	struct mxc_gpio_port *port = -		container_of(chip, struct mxc_gpio_port, chip); -	void __iomem *reg = port->base + GPIO_DR; -	u32 l; -	unsigned long flags; - -	spin_lock_irqsave(&port->lock, flags); -	l = (__raw_readl(reg) & (~(1 << offset))) | (!!value << offset); -	__raw_writel(l, reg); -	spin_unlock_irqrestore(&port->lock, flags); -} - -static int mxc_gpio_get(struct gpio_chip *chip, unsigned offset) -{ -	struct mxc_gpio_port *port = -		container_of(chip, struct mxc_gpio_port, chip); - -	return (__raw_readl(port->base + GPIO_PSR) >> offset) & 1; -} - -static int mxc_gpio_direction_input(struct gpio_chip *chip, unsigned offset) -{ -	_set_gpio_direction(chip, offset, 0); -	return 0; -} - -static int mxc_gpio_direction_output(struct gpio_chip *chip, -				     unsigned offset, int value) -{ -	mxc_gpio_set(chip, offset, value); -	_set_gpio_direction(chip, offset, 1); -	return 0; -} - -int __init mxc_gpio_init(struct mxc_gpio_port *port, int cnt) -{ -	int i, j; - -	/* save for local usage */ -	mxc_gpio_ports = port; -	gpio_table_size = cnt; - -	printk(KERN_INFO "MXC GPIO hardware\n"); - -	for (i = 0; i < cnt; i++) { -		/* disable the interrupt and clear the status */ -		__raw_writel(0, port[i].base + GPIO_IMR); -		__raw_writel(~0, port[i].base + GPIO_ISR); -		for (j = port[i].virtual_irq_start; -			j < port[i].virtual_irq_start + 32; j++) { -			set_irq_chip(j, &gpio_irq_chip); -			set_irq_handler(j, handle_level_irq); -			set_irq_flags(j, IRQF_VALID); -		} - -		/* register gpio chip */ -		port[i].chip.direction_input = mxc_gpio_direction_input; -		port[i].chip.direction_output = mxc_gpio_direction_output; -		port[i].chip.get = mxc_gpio_get; -		port[i].chip.set = mxc_gpio_set; -		port[i].chip.base = i * 32; -		port[i].chip.ngpio = 32; - -		spin_lock_init(&port[i].lock); - -		/* its a serious configuration bug when it fails */ -		BUG_ON( gpiochip_add(&port[i].chip) < 0 ); - -		if (cpu_is_mx1() || cpu_is_mx3() || cpu_is_mx25() || cpu_is_mx51()) { -			/* setup one handler for each entry */ -			set_irq_chained_handler(port[i].irq, mx3_gpio_irq_handler); -			set_irq_data(port[i].irq, &port[i]); -			if (port[i].irq_high) { -				/* setup handler for GPIO 16 to 31 */ -				set_irq_chained_handler(port[i].irq_high, -						mx3_gpio_irq_handler); -				set_irq_data(port[i].irq_high, &port[i]); -			} -		} -	} - -	if (cpu_is_mx2()) { -		/* setup one handler for all GPIO interrupts */ -		set_irq_chained_handler(port[0].irq, mx2_gpio_irq_handler); -		set_irq_data(port[0].irq, port); -	} - -	return 0; -} diff --git a/arch/arm/plat-mxc/include/mach/3ds_debugboard.h b/arch/arm/plat-mxc/include/mach/3ds_debugboard.h deleted file mode 100644 index a384fdd49c6..00000000000 --- a/arch/arm/plat-mxc/include/mach/3ds_debugboard.h +++ /dev/null @@ -1,18 +0,0 @@ -/* - * Copyright 2008-2009 Freescale Semiconductor, Inc. All Rights Reserved. - * - * - * The code contained herein is licensed under the GNU General Public - * License. You may obtain a copy of the GNU General Public License - * Version 2 or later at the following locations: - * - * http://www.opensource.org/licenses/gpl-license.html - * http://www.gnu.org/copyleft/gpl.html - */ - -#ifndef __ASM_ARCH_MXC_3DS_DB_H__ -#define __ASM_ARCH_MXC_3DS_DB_H__ - -extern int __init mxc_expio_init(u32 base, u32 p_irq); - -#endif /* __ASM_ARCH_MXC_3DS_DB_H__ */ diff --git a/arch/arm/plat-mxc/include/mach/audmux.h b/arch/arm/plat-mxc/include/mach/audmux.h deleted file mode 100644 index 5cd6466964a..00000000000 --- a/arch/arm/plat-mxc/include/mach/audmux.h +++ /dev/null @@ -1,52 +0,0 @@ -#ifndef __MACH_AUDMUX_H -#define __MACH_AUDMUX_H - -#define MX27_AUDMUX_HPCR1_SSI0		0 -#define MX27_AUDMUX_HPCR2_SSI1		1 -#define MX27_AUDMUX_HPCR3_SSI_PINS_4	2 -#define MX27_AUDMUX_PPCR1_SSI_PINS_1	3 -#define MX27_AUDMUX_PPCR2_SSI_PINS_2	4 -#define MX27_AUDMUX_PPCR3_SSI_PINS_3	5 - -#define MX31_AUDMUX_PORT1_SSI0		0 -#define MX31_AUDMUX_PORT2_SSI1		1 -#define MX31_AUDMUX_PORT3_SSI_PINS_3	2 -#define MX31_AUDMUX_PORT4_SSI_PINS_4	3 -#define MX31_AUDMUX_PORT5_SSI_PINS_5	4 -#define MX31_AUDMUX_PORT6_SSI_PINS_6	5 - -/* Register definitions for the i.MX21/27 Digital Audio Multiplexer */ -#define MXC_AUDMUX_V1_PCR_INMMASK(x)	((x) & 0xff) -#define MXC_AUDMUX_V1_PCR_INMEN		(1 << 8) -#define MXC_AUDMUX_V1_PCR_TXRXEN	(1 << 10) -#define MXC_AUDMUX_V1_PCR_SYN		(1 << 12) -#define MXC_AUDMUX_V1_PCR_RXDSEL(x)	(((x) & 0x7) << 13) -#define MXC_AUDMUX_V1_PCR_RFCSEL(x)	(((x) & 0xf) << 20) -#define MXC_AUDMUX_V1_PCR_RCLKDIR	(1 << 24) -#define MXC_AUDMUX_V1_PCR_RFSDIR	(1 << 25) -#define MXC_AUDMUX_V1_PCR_TFCSEL(x)	(((x) & 0xf) << 26) -#define MXC_AUDMUX_V1_PCR_TCLKDIR	(1 << 30) -#define MXC_AUDMUX_V1_PCR_TFSDIR	(1 << 31) - -/* Register definitions for the i.MX25/31/35 Digital Audio Multiplexer */ -#define MXC_AUDMUX_V2_PTCR_TFSDIR	(1 << 31) -#define MXC_AUDMUX_V2_PTCR_TFSEL(x)	(((x) & 0xf) << 27) -#define MXC_AUDMUX_V2_PTCR_TCLKDIR	(1 << 26) -#define MXC_AUDMUX_V2_PTCR_TCSEL(x)	(((x) & 0xf) << 22) -#define MXC_AUDMUX_V2_PTCR_RFSDIR	(1 << 21) -#define MXC_AUDMUX_V2_PTCR_RFSEL(x)	(((x) & 0xf) << 17) -#define MXC_AUDMUX_V2_PTCR_RCLKDIR	(1 << 16) -#define MXC_AUDMUX_V2_PTCR_RCSEL(x)	(((x) & 0xf) << 12) -#define MXC_AUDMUX_V2_PTCR_SYN		(1 << 11) - -#define MXC_AUDMUX_V2_PDCR_RXDSEL(x)	(((x) & 0x7) << 13) -#define MXC_AUDMUX_V2_PDCR_TXRXEN	(1 << 12) -#define MXC_AUDMUX_V2_PDCR_MODE(x)	(((x) & 0x3) << 8) -#define MXC_AUDMUX_V2_PDCR_INMMASK(x)	((x) & 0xff) - -int mxc_audmux_v1_configure_port(unsigned int port, unsigned int pcr); - -int mxc_audmux_v2_configure_port(unsigned int port, unsigned int ptcr, -		unsigned int pdcr); - -#endif /* __MACH_AUDMUX_H */ diff --git a/arch/arm/plat-mxc/include/mach/board-mx31ads.h b/arch/arm/plat-mxc/include/mach/board-mx31ads.h deleted file mode 100644 index 94b60dd4713..00000000000 --- a/arch/arm/plat-mxc/include/mach/board-mx31ads.h +++ /dev/null @@ -1,33 +0,0 @@ -/* - * Copyright 2005-2007 Freescale Semiconductor, Inc. All Rights Reserved. - */ - -/* - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2 as - * published by the Free Software Foundation. - */ - -#ifndef __ASM_ARCH_MXC_BOARD_MX31ADS_H__ -#define __ASM_ARCH_MXC_BOARD_MX31ADS_H__ - -#include <mach/hardware.h> - -/* - * These symbols are used by drivers/net/cs89x0.c. - * This is ugly as hell, but we have to provide them until - * someone fixed the driver. - */ - -/* Base address of PBC controller */ -#define PBC_BASE_ADDRESS        MX31_CS4_BASE_ADDR_VIRT -/* Offsets for the PBC Controller register */ - -/* Ethernet Controller IO base address */ -#define PBC_CS8900A_IOBASE      0x020000 - -#define MXC_EXP_IO_BASE		(MXC_BOARD_IRQ_START) - -#define EXPIO_INT_ENET_INT	(MXC_EXP_IO_BASE + 8) - -#endif /* __ASM_ARCH_MXC_BOARD_MX31ADS_H__ */ diff --git a/arch/arm/plat-mxc/include/mach/board-mx31lilly.h b/arch/arm/plat-mxc/include/mach/board-mx31lilly.h deleted file mode 100644 index 0df71bfefbb..00000000000 --- a/arch/arm/plat-mxc/include/mach/board-mx31lilly.h +++ /dev/null @@ -1,41 +0,0 @@ -/* - * Copyright (C) 2009 Daniel Mack <daniel@caiaq.de> - * - * Based on code for mobots boards, - *   Copyright (C) 2009 Valentin Longchamp, EPFL Mobots group - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, - * MA 02110-1301, USA. - */ - -#ifndef __ASM_ARCH_MXC_BOARD_MX31LILLY_H__ -#define __ASM_ARCH_MXC_BOARD_MX31LILLY_H__ - -#ifndef __ASSEMBLY__ - -enum mx31lilly_boards { -	MX31LILLY_NOBOARD	= 0, -	MX31LILLY_DB		= 1, -}; - -/* - * This CPU module needs a baseboard to work. After basic initializing - * its own devices, it calls the baseboard's init function. - */ - -extern void mx31lilly_db_init(void); - -#endif - -#endif /* __ASM_ARCH_MXC_BOARD_MX31LILLY_H__ */ diff --git a/arch/arm/plat-mxc/include/mach/board-mx31lite.h b/arch/arm/plat-mxc/include/mach/board-mx31lite.h deleted file mode 100644 index c1ad0ae807c..00000000000 --- a/arch/arm/plat-mxc/include/mach/board-mx31lite.h +++ /dev/null @@ -1,42 +0,0 @@ -/* - * Copyright 2007 Freescale Semiconductor, Inc. All Rights Reserved. - * Copyright (C) 2009 Daniel Mack <daniel@caiaq.de> - * - * Based on code for mobots boards, - *   Copyright (C) 2009 Valentin Longchamp, EPFL Mobots group - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, - * MA 02110-1301, USA. - */ - -#ifndef __ASM_ARCH_MXC_BOARD_MX31LITE_H__ -#define __ASM_ARCH_MXC_BOARD_MX31LITE_H__ - -#ifndef __ASSEMBLY__ - -enum mx31lite_boards { -	MX31LITE_NOBOARD	= 0, -	MX31LITE_DB		= 1, -}; - -/* - * This CPU module needs a baseboard to work. After basic initializing - * its own devices, it calls the baseboard's init function. - */ - -extern void mx31lite_db_init(void); - -#endif - -#endif /* __ASM_ARCH_MXC_BOARD_MX31LITE_H__ */ diff --git a/arch/arm/plat-mxc/include/mach/board-mx31moboard.h b/arch/arm/plat-mxc/include/mach/board-mx31moboard.h deleted file mode 100644 index de14543891c..00000000000 --- a/arch/arm/plat-mxc/include/mach/board-mx31moboard.h +++ /dev/null @@ -1,43 +0,0 @@ -/* - * Copyright (C) 2009 Valentin Longchamp, EPFL Mobots group - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, - * MA 02110-1301, USA. - */ - -#ifndef __ASM_ARCH_MXC_BOARD_MX31MOBOARD_H__ -#define __ASM_ARCH_MXC_BOARD_MX31MOBOARD_H__ - -#ifndef __ASSEMBLY__ - -enum mx31moboard_boards { -	MX31NOBOARD	= 0, -	MX31DEVBOARD	= 1, -	MX31MARXBOT	= 2, -	MX31SMARTBOT	= 3, -	MX31EYEBOT	= 4, -}; - -/* - * This CPU module needs a baseboard to work. After basic initializing - * its own devices, it calls the baseboard's init function. - */ - -extern void mx31moboard_devboard_init(void); -extern void mx31moboard_marxbot_init(void); -extern void mx31moboard_smartbot_init(int board); - -#endif - -#endif /* __ASM_ARCH_MXC_BOARD_MX31MOBOARD_H__ */ diff --git a/arch/arm/plat-mxc/include/mach/board-pcm038.h b/arch/arm/plat-mxc/include/mach/board-pcm038.h deleted file mode 100644 index 6f371e35753..00000000000 --- a/arch/arm/plat-mxc/include/mach/board-pcm038.h +++ /dev/null @@ -1,36 +0,0 @@ -/* - * Copyright (C) 2008 Juergen Beisert (kernel@pengutronix.de) - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, - * MA 02110-1301, USA. - */ - -#ifndef __ASM_ARCH_MXC_BOARD_PCM038_H__ -#define __ASM_ARCH_MXC_BOARD_PCM038_H__ - -#ifndef __ASSEMBLY__ -/* - * This CPU module needs a baseboard to work. After basic initializing - * its own devices, it calls the baseboard's init function. - * TODO: Add your own baseboard init function and call it from - * inside pcm038_init(). - * - * This example here is for the development board. Refer pcm970-baseboard.c - */ - -extern void pcm970_baseboard_init(void); - -#endif - -#endif /* __ASM_ARCH_MXC_BOARD_PCM038_H__ */ diff --git a/arch/arm/plat-mxc/include/mach/clkdev.h b/arch/arm/plat-mxc/include/mach/clkdev.h deleted file mode 100644 index 04b37a89801..00000000000 --- a/arch/arm/plat-mxc/include/mach/clkdev.h +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef __ASM_MACH_CLKDEV_H -#define __ASM_MACH_CLKDEV_H - -#define __clk_get(clk) ({ 1; }) -#define __clk_put(clk) do { } while (0) - -#endif diff --git a/arch/arm/plat-mxc/include/mach/clock.h b/arch/arm/plat-mxc/include/mach/clock.h deleted file mode 100644 index 753a5988d85..00000000000 --- a/arch/arm/plat-mxc/include/mach/clock.h +++ /dev/null @@ -1,66 +0,0 @@ -/* - * Copyright 2005-2007 Freescale Semiconductor, Inc. All Rights Reserved. - * Copyright 2008 Juergen Beisert, kernel@pengutronix.de - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, - * MA  02110-1301, USA. - */ - -#ifndef __ASM_ARCH_MXC_CLOCK_H__ -#define __ASM_ARCH_MXC_CLOCK_H__ - -#ifndef __ASSEMBLY__ -#include <linux/list.h> - -struct module; - -struct clk { -	int id; -	/* Source clock this clk depends on */ -	struct clk *parent; -	/* Secondary clock to enable/disable with this clock */ -	struct clk *secondary; -	/* Reference count of clock enable/disable */ -	__s8 usecount; -	/* Register bit position for clock's enable/disable control. */ -	u8 enable_shift; -	/* Register address for clock's enable/disable control. */ -	void __iomem *enable_reg; -	u32 flags; -	/* get the current clock rate (always a fresh value) */ -	unsigned long (*get_rate) (struct clk *); -	/* Function ptr to set the clock to a new rate. The rate must match a -	   supported rate returned from round_rate. Leave blank if clock is not -	   programmable */ -	int (*set_rate) (struct clk *, unsigned long); -	/* Function ptr to round the requested clock rate to the nearest -	   supported rate that is less than or equal to the requested rate. */ -	unsigned long (*round_rate) (struct clk *, unsigned long); -	/* Function ptr to enable the clock. Leave blank if clock can not -	   be gated. */ -	int (*enable) (struct clk *); -	/* Function ptr to disable the clock. Leave blank if clock can not -	   be gated. */ -	void (*disable) (struct clk *); -	/* Function ptr to set the parent clock of the clock. */ -	int (*set_parent) (struct clk *, struct clk *); -}; - -int clk_register(struct clk *clk); -void clk_unregister(struct clk *clk); - -unsigned long mxc_decode_pll(unsigned int pll, u32 f_ref); - -#endif /* __ASSEMBLY__ */ -#endif /* __ASM_ARCH_MXC_CLOCK_H__ */ diff --git a/arch/arm/plat-mxc/include/mach/common.h b/arch/arm/plat-mxc/include/mach/common.h deleted file mode 100644 index 7a1e1f89ff0..00000000000 --- a/arch/arm/plat-mxc/include/mach/common.h +++ /dev/null @@ -1,54 +0,0 @@ -/* - * Copyright 2004-2007 Freescale Semiconductor, Inc. All Rights Reserved. - */ - -/* - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2 as - * published by the Free Software Foundation. - */ - -#ifndef __ASM_ARCH_MXC_COMMON_H__ -#define __ASM_ARCH_MXC_COMMON_H__ - -struct platform_device; -struct clk; - -extern void mx1_map_io(void); -extern void mx21_map_io(void); -extern void mx25_map_io(void); -extern void mx27_map_io(void); -extern void mx31_map_io(void); -extern void mx35_map_io(void); -extern void mx51_map_io(void); -extern void mxc91231_map_io(void); -extern void mxc_init_irq(void __iomem *); -extern void tzic_init_irq(void __iomem *); -extern void mx1_init_irq(void); -extern void mx21_init_irq(void); -extern void mx25_init_irq(void); -extern void mx27_init_irq(void); -extern void mx31_init_irq(void); -extern void mx35_init_irq(void); -extern void mx51_init_irq(void); -extern void mxc91231_init_irq(void); -extern void epit_timer_init(struct clk *timer_clk, void __iomem *base, int irq); -extern void mxc_timer_init(struct clk *timer_clk, void __iomem *, int); -extern int mx1_clocks_init(unsigned long fref); -extern int mx21_clocks_init(unsigned long lref, unsigned long fref); -extern int mx25_clocks_init(void); -extern int mx27_clocks_init(unsigned long fref); -extern int mx31_clocks_init(unsigned long fref); -extern int mx35_clocks_init(void); -extern int mx51_clocks_init(unsigned long ckil, unsigned long osc, -			unsigned long ckih1, unsigned long ckih2); -extern int mxc91231_clocks_init(unsigned long fref); -extern int mxc_register_gpios(void); -extern int mxc_register_device(struct platform_device *pdev, void *data); -extern void mxc_set_cpu_type(unsigned int type); -extern void mxc_arch_reset_init(void __iomem *); -extern void mxc91231_power_off(void); -extern void mxc91231_arch_reset(int, const char *); -extern void mxc91231_prepare_idle(void); - -#endif diff --git a/arch/arm/plat-mxc/include/mach/debug-macro.S b/arch/arm/plat-mxc/include/mach/debug-macro.S deleted file mode 100644 index d56213fb901..00000000000 --- a/arch/arm/plat-mxc/include/mach/debug-macro.S +++ /dev/null @@ -1,81 +0,0 @@ -/* arch/arm/mach-imx/include/mach/debug-macro.S - * - * Debugging macro include header - * - *  Copyright (C) 1994-1999 Russell King - *  Moved from linux/arch/arm/kernel/debug.S by Ben Dooks - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2 as - * published by the Free Software Foundation. - * - */ -#define IMX_NEEDS_DEPRECATED_SYMBOLS - -#ifdef CONFIG_ARCH_MX1 -#include <mach/mx1.h> -#define UART_PADDR	UART1_BASE_ADDR -#define UART_VADDR	IO_ADDRESS(UART1_BASE_ADDR) -#endif - -#ifdef CONFIG_ARCH_MX25 -#ifdef UART_PADDR -#error "CONFIG_DEBUG_LL is incompatible with multiple archs" -#endif -#include <mach/mx25.h> -#define UART_PADDR	MX25_UART1_BASE_ADDR -#define UART_VADDR	MX25_AIPS1_IO_ADDRESS(MX25_UART1_BASE_ADDR) -#endif - -#ifdef CONFIG_ARCH_MX2 -#ifdef UART_PADDR -#error "CONFIG_DEBUG_LL is incompatible with multiple archs" -#endif -#include <mach/mx2x.h> -#define UART_PADDR	UART1_BASE_ADDR -#define UART_VADDR	AIPI_IO_ADDRESS(UART1_BASE_ADDR) -#endif - -#ifdef CONFIG_ARCH_MX3 -#ifdef UART_PADDR -#error "CONFIG_DEBUG_LL is incompatible with multiple archs" -#endif -#include <mach/mx3x.h> -#define UART_PADDR	UART1_BASE_ADDR -#define UART_VADDR	AIPS1_IO_ADDRESS(UART1_BASE_ADDR) -#endif - -#ifdef CONFIG_ARCH_MX5 -#ifdef UART_PADDR -#error "CONFIG_DEBUG_LL is incompatible with multiple archs" -#endif -#include <mach/mx51.h> -#define UART_PADDR	MX51_UART1_BASE_ADDR -#define UART_VADDR	MX51_AIPS1_IO_ADDRESS(MX51_UART1_BASE_ADDR) -#endif - -#ifdef CONFIG_ARCH_MXC91231 -#ifdef UART_PADDR -#error "CONFIG_DEBUG_LL is incompatible with multiple archs" -#endif -#include <mach/mxc91231.h> -#define UART_PADDR	MXC91231_UART2_BASE_ADDR -#define UART_VADDR	MXC91231_IO_ADDRESS(MXC91231_UART2_BASE_ADDR) -#endif -		.macro	addruart, rp, rv -		ldr	\rp, =UART_PADDR	@ physical -		ldr	\rv, =UART_VADDR	@ virtual -		.endm - -		.macro	senduart,rd,rx -		str	\rd, [\rx, #0x40]	@ TXDATA -		.endm - -		.macro	waituart,rd,rx -		.endm - -		.macro	busyuart,rd,rx -1002:		ldr	\rd, [\rx, #0x98]	@ SR2 -		tst	\rd, #1 << 3		@ TXDC -		beq	1002b			@ wait until transmit done -		.endm diff --git a/arch/arm/plat-mxc/include/mach/devices-common.h b/arch/arm/plat-mxc/include/mach/devices-common.h deleted file mode 100644 index 8c6896fd1e5..00000000000 --- a/arch/arm/plat-mxc/include/mach/devices-common.h +++ /dev/null @@ -1,122 +0,0 @@ -/* - * Copyright (C) 2009-2010 Pengutronix - * Uwe Kleine-Koenig <u.kleine-koenig@pengutronix.de> - * - * This program is free software; you can redistribute it and/or modify it under - * the terms of the GNU General Public License version 2 as published by the - * Free Software Foundation. - */ -#include <linux/kernel.h> -#include <linux/platform_device.h> -#include <linux/init.h> - -struct platform_device *imx_add_platform_device(const char *name, int id, -		const struct resource *res, unsigned int num_resources, -		const void *data, size_t size_data); - -#include <linux/fec.h> -struct imx_fec_data { -	resource_size_t iobase; -	resource_size_t irq; -}; -struct platform_device *__init imx_add_fec( -		const struct imx_fec_data *data, -		const struct fec_platform_data *pdata); - -#include <linux/can/platform/flexcan.h> -struct platform_device *__init imx_add_flexcan(int id, -		resource_size_t iobase, resource_size_t iosize, -		resource_size_t irq, -		const struct flexcan_platform_data *pdata); - -#include <linux/gpio_keys.h> -struct platform_device *__init imx_add_gpio_keys( -		const struct gpio_keys_platform_data *pdata); - -#include <mach/i2c.h> -struct imx_imx_i2c_data { -	int id; -	resource_size_t iobase; -	resource_size_t iosize; -	resource_size_t irq; -}; -struct platform_device *__init imx_add_imx_i2c( -		const struct imx_imx_i2c_data *data, -		const struct imxi2c_platform_data *pdata); - -#include <mach/ssi.h> -struct imx_imx_ssi_data { -	int id; -	resource_size_t iobase; -	resource_size_t iosize; -	resource_size_t irq; -	resource_size_t dmatx0; -	resource_size_t dmarx0; -	resource_size_t dmatx1; -	resource_size_t dmarx1; -}; -struct platform_device *__init imx_add_imx_ssi( -		const struct imx_imx_ssi_data *data, -		const struct imx_ssi_platform_data *pdata); - -#include <mach/imx-uart.h> -struct imx_imx_uart_3irq_data { -	int id; -	resource_size_t iobase; -	resource_size_t iosize; -	resource_size_t irqrx; -	resource_size_t irqtx; -	resource_size_t irqrts; -}; -struct platform_device *__init imx_add_imx_uart_3irq( -		const struct imx_imx_uart_3irq_data *data, -		const struct imxuart_platform_data *pdata); - -struct imx_imx_uart_1irq_data { -	int id; -	resource_size_t iobase; -	resource_size_t iosize; -	resource_size_t irq; -}; -struct platform_device *__init imx_add_imx_uart_1irq( -		const struct imx_imx_uart_1irq_data *data, -		const struct imxuart_platform_data *pdata); - -#include <mach/mxc_nand.h> -struct imx_mxc_nand_data { -	/* -	 * id is traditionally 0, but -1 is more appropriate.  We use -1 for new -	 * machines but don't change existing devices as the nand device usually -	 * appears in the kernel command line to pass its partitioning. -	 */ -	int id; -	resource_size_t iobase; -	resource_size_t iosize; -	resource_size_t axibase; -	resource_size_t irq; -}; -struct platform_device *__init imx_add_mxc_nand( -		const struct imx_mxc_nand_data *data, -		const struct mxc_nand_platform_data *pdata); - -#include <mach/spi.h> -struct imx_spi_imx_data { -	const char *devid; -	int id; -	resource_size_t iobase; -	resource_size_t iosize; -	int irq; -}; -struct platform_device *__init imx_add_spi_imx( -		const struct imx_spi_imx_data *data, -		const struct spi_imx_master *pdata); - -#include <mach/esdhc.h> -struct imx_esdhc_imx_data { -	int id; -	resource_size_t iobase; -	resource_size_t irq; -}; -struct platform_device *__init imx_add_esdhc( -		const struct imx_esdhc_imx_data *data, -		const struct esdhc_platform_data *pdata); diff --git a/arch/arm/plat-mxc/include/mach/dma.h b/arch/arm/plat-mxc/include/mach/dma.h deleted file mode 100644 index ef7751546f5..00000000000 --- a/arch/arm/plat-mxc/include/mach/dma.h +++ /dev/null @@ -1,67 +0,0 @@ -/* - * Copyright 2004-2009 Freescale Semiconductor, Inc. All Rights Reserved. - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2 as - * published by the Free Software Foundation. - */ - -#ifndef __ASM_ARCH_MXC_DMA_H__ -#define __ASM_ARCH_MXC_DMA_H__ - -#include <linux/scatterlist.h> -#include <linux/device.h> -#include <linux/dmaengine.h> - -/* - * This enumerates peripheral types. Used for SDMA. - */ -enum sdma_peripheral_type { -	IMX_DMATYPE_SSI,	/* MCU domain SSI */ -	IMX_DMATYPE_SSI_SP,	/* Shared SSI */ -	IMX_DMATYPE_MMC,	/* MMC */ -	IMX_DMATYPE_SDHC,	/* SDHC */ -	IMX_DMATYPE_UART,	/* MCU domain UART */ -	IMX_DMATYPE_UART_SP,	/* Shared UART */ -	IMX_DMATYPE_FIRI,	/* FIRI */ -	IMX_DMATYPE_CSPI,	/* MCU domain CSPI */ -	IMX_DMATYPE_CSPI_SP,	/* Shared CSPI */ -	IMX_DMATYPE_SIM,	/* SIM */ -	IMX_DMATYPE_ATA,	/* ATA */ -	IMX_DMATYPE_CCM,	/* CCM */ -	IMX_DMATYPE_EXT,	/* External peripheral */ -	IMX_DMATYPE_MSHC,	/* Memory Stick Host Controller */ -	IMX_DMATYPE_MSHC_SP,	/* Shared Memory Stick Host Controller */ -	IMX_DMATYPE_DSP,	/* DSP */ -	IMX_DMATYPE_MEMORY,	/* Memory */ -	IMX_DMATYPE_FIFO_MEMORY,/* FIFO type Memory */ -	IMX_DMATYPE_SPDIF,	/* SPDIF */ -	IMX_DMATYPE_IPU_MEMORY,	/* IPU Memory */ -	IMX_DMATYPE_ASRC,	/* ASRC */ -	IMX_DMATYPE_ESAI,	/* ESAI */ -}; - -enum imx_dma_prio { -	DMA_PRIO_HIGH = 0, -	DMA_PRIO_MEDIUM = 1, -	DMA_PRIO_LOW = 2 -}; - -struct imx_dma_data { -	int dma_request; /* DMA request line */ -	enum sdma_peripheral_type peripheral_type; -	int priority; -}; - -static inline int imx_dma_is_ipu(struct dma_chan *chan) -{ -	return !strcmp(dev_name(chan->device->dev), "ipu-core"); -} - -static inline int imx_dma_is_general_purpose(struct dma_chan *chan) -{ -	return !strcmp(dev_name(chan->device->dev), "imx-sdma") || -		!strcmp(dev_name(chan->device->dev), "imx-dma"); -} - -#endif diff --git a/arch/arm/plat-mxc/include/mach/entry-macro.S b/arch/arm/plat-mxc/include/mach/entry-macro.S deleted file mode 100644 index aeb08697726..00000000000 --- a/arch/arm/plat-mxc/include/mach/entry-macro.S +++ /dev/null @@ -1,84 +0,0 @@ -/* - *  Copyright (C) 2007 Lennert Buytenhek <buytenh@wantstofly.org> - *  Copyright 2004-2009 Freescale Semiconductor, Inc. All Rights Reserved. - */ - -/* - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2 as - * published by the Free Software Foundation. - */ - -#include <mach/hardware.h> - -#define AVIC_NIMASK	0x04 - -	@ this macro disables fast irq (not implemented) -	.macro	disable_fiq -	.endm - -	.macro  get_irqnr_preamble, base, tmp -#ifndef CONFIG_MXC_TZIC -	ldr	\base, =avic_base -	ldr	\base, [\base] -#ifdef CONFIG_MXC_IRQ_PRIOR -	ldr	r4, [\base, #AVIC_NIMASK] -#endif -#elif defined CONFIG_MXC_TZIC -	ldr	\base, =tzic_base -	ldr	\base, [\base] -#endif /* CONFIG_MXC_TZIC */ -	.endm - -	.macro  arch_ret_to_user, tmp1, tmp2 -	.endm - -	@ this macro checks which interrupt occured -	@ and returns its number in irqnr -	@ and returns if an interrupt occured in irqstat -	.macro	get_irqnr_and_base, irqnr, irqstat, base, tmp -#ifndef CONFIG_MXC_TZIC -	@ Load offset & priority of the highest priority -	@ interrupt pending from AVIC_NIVECSR -	ldr	\irqstat, [\base, #0x40] -	@ Shift to get the decoded IRQ number, using ASR so -	@ 'no interrupt pending' becomes 0xffffffff -	mov	\irqnr, \irqstat, asr #16 -	@ set zero flag if IRQ + 1 == 0 -	adds	\tmp, \irqnr, #1 -#ifdef CONFIG_MXC_IRQ_PRIOR -	bicne	\tmp, \irqstat, #0xFFFFFFE0 -	strne	\tmp, [\base, #AVIC_NIMASK] -	streq	r4, [\base, #AVIC_NIMASK] -#endif -#elif defined CONFIG_MXC_TZIC -	@ Load offset & priority of the highest priority -	@ interrupt pending. -	@ 0xD80 is HIPND0 register -	mov     \irqnr, #0 -	mov     \irqstat, #0x0D80 -1000: -	ldr     \tmp,   [\irqstat, \base] -	cmp     \tmp, #0 -	bne     1001f -	addeq   \irqnr, \irqnr, #32 -	addeq   \irqstat, \irqstat, #4 -	cmp     \irqnr, #128 -	blo     1000b -	b       2001f -1001:	mov     \irqstat, #1 -1002:	tst     \tmp, \irqstat -	bne     2002f -	movs    \tmp, \tmp, lsr #1 -	addne   \irqnr, \irqnr, #1 -	bne     1002b -2001: -	mov  \irqnr, #0 -2002: -	movs \irqnr, \irqnr -#endif -	.endm - -	@ irq priority table (not used) -	.macro	irq_prio_table -	.endm diff --git a/arch/arm/plat-mxc/include/mach/esdhc.h b/arch/arm/plat-mxc/include/mach/esdhc.h deleted file mode 100644 index a48a9aaa56b..00000000000 --- a/arch/arm/plat-mxc/include/mach/esdhc.h +++ /dev/null @@ -1,16 +0,0 @@ -/* - * Copyright 2010 Wolfram Sang <w.sang@pengutronix.de> - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; version 2 - * of the License. - */ - -#ifndef __ASM_ARCH_IMX_ESDHC_H -#define __ASM_ARCH_IMX_ESDHC_H - -struct esdhc_platform_data { -	unsigned int wp_gpio;	/* write protect pin */ -}; -#endif /* __ASM_ARCH_IMX_ESDHC_H */ diff --git a/arch/arm/plat-mxc/include/mach/eukrea-baseboards.h b/arch/arm/plat-mxc/include/mach/eukrea-baseboards.h deleted file mode 100644 index a21d3313f99..00000000000 --- a/arch/arm/plat-mxc/include/mach/eukrea-baseboards.h +++ /dev/null @@ -1,50 +0,0 @@ -/* - * Copyright (C) 2010 Eric Benard - eric@eukrea.com - * - * Based on board-pcm038.h which is : - * Copyright (C) 2008 Juergen Beisert (kernel@pengutronix.de) - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, - * MA 02110-1301, USA. - */ - -#ifndef __MACH_EUKREA_BASEBOARDS_H__ -#define __MACH_EUKREA_BASEBOARDS_H__ - -#ifndef __ASSEMBLY__ -/* - * This CPU module needs a baseboard to work. After basic initializing - * its own devices, it calls baseboard's init function. - * TODO: Add your own baseboard init function and call it from - * inside eukrea_cpuimx25_init() eukrea_cpuimx27_init() - * eukrea_cpuimx35_init() eukrea_cpuimx51_init() - * or eukrea_cpuimx51sd_init(). - * - * This example here is for the development board. Refer - * mach-mx25/eukrea_mbimxsd-baseboard.c for cpuimx25 - * mach-imx/eukrea_mbimx27-baseboard.c for cpuimx27 - * mach-mx3/eukrea_mbimxsd-baseboard.c for cpuimx35 - * mach-mx5/eukrea_mbimx51-baseboard.c for cpuimx51 - * mach-mx5/eukrea_mbimxsd-baseboard.c for cpuimx51sd - */ - -extern void eukrea_mbimxsd25_baseboard_init(void); -extern void eukrea_mbimx27_baseboard_init(void); -extern void eukrea_mbimxsd35_baseboard_init(void); -extern void eukrea_mbimx51_baseboard_init(void); -extern void eukrea_mbimxsd51_baseboard_init(void); - -#endif - -#endif /* __MACH_EUKREA_BASEBOARDS_H__ */ diff --git a/arch/arm/plat-mxc/include/mach/gpio.h b/arch/arm/plat-mxc/include/mach/gpio.h deleted file mode 100644 index af33b74f569..00000000000 --- a/arch/arm/plat-mxc/include/mach/gpio.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Copyright 2007 Freescale Semiconductor, Inc. All Rights Reserved. - * Copyright 2008 Juergen Beisert, kernel@pengutronix.de - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA. - */ - -#ifndef __ASM_ARCH_MXC_GPIO_H__ -#define __ASM_ARCH_MXC_GPIO_H__ - -#include <linux/spinlock.h> -#include <mach/hardware.h> -#include <asm-generic/gpio.h> - -/* use gpiolib dispatchers */ -#define gpio_get_value		__gpio_get_value -#define gpio_set_value		__gpio_set_value -#define gpio_cansleep		__gpio_cansleep - -#define gpio_to_irq(gpio)	(MXC_GPIO_IRQ_START + (gpio)) -#define irq_to_gpio(irq)	((irq) - MXC_GPIO_IRQ_START) - -struct mxc_gpio_port { -	void __iomem *base; -	int irq; -	int irq_high; -	int virtual_irq_start; -	struct gpio_chip chip; -	u32 both_edges; -	spinlock_t lock; -}; - -int mxc_gpio_init(struct mxc_gpio_port*, int); - -#endif diff --git a/arch/arm/plat-mxc/include/mach/hardware.h b/arch/arm/plat-mxc/include/mach/hardware.h deleted file mode 100644 index ebadf4ac43f..00000000000 --- a/arch/arm/plat-mxc/include/mach/hardware.h +++ /dev/null @@ -1,64 +0,0 @@ -/* - * Copyright 2004-2007 Freescale Semiconductor, Inc. All Rights Reserved. - * Copyright 2008 Juergen Beisert, kernel@pengutronix.de - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, - * MA  02110-1301, USA. - */ - -#ifndef __ASM_ARCH_MXC_HARDWARE_H__ -#define __ASM_ARCH_MXC_HARDWARE_H__ - -#include <asm/sizes.h> - -#define IMX_IO_ADDRESS(addr, module)					\ -	((void __force __iomem *)					\ -	 (((unsigned long)((addr) - (module ## _BASE_ADDR)) < module ## _SIZE) ?\ -	 (addr) - (module ## _BASE_ADDR) + (module ## _BASE_ADDR_VIRT) : 0)) - -#ifdef CONFIG_ARCH_MX5 -#include <mach/mx51.h> -#endif - -#ifdef CONFIG_ARCH_MX3 -#include <mach/mx3x.h> -#include <mach/mx31.h> -#include <mach/mx35.h> -#endif - -#ifdef CONFIG_ARCH_MX2 -# include <mach/mx2x.h> -# ifdef CONFIG_MACH_MX21 -#  include <mach/mx21.h> -# endif -# ifdef CONFIG_MACH_MX27 -#  include <mach/mx27.h> -# endif -#endif - -#ifdef CONFIG_ARCH_MX1 -# include <mach/mx1.h> -#endif - -#ifdef CONFIG_ARCH_MX25 -# include <mach/mx25.h> -#endif - -#ifdef CONFIG_ARCH_MXC91231 -# include <mach/mxc91231.h> -#endif - -#include <mach/mxc.h> - -#endif /* __ASM_ARCH_MXC_HARDWARE_H__ */ diff --git a/arch/arm/plat-mxc/include/mach/i2c.h b/arch/arm/plat-mxc/include/mach/i2c.h deleted file mode 100644 index 4a5dc5c6d8e..00000000000 --- a/arch/arm/plat-mxc/include/mach/i2c.h +++ /dev/null @@ -1,25 +0,0 @@ -/* - * i2c.h - i.MX I2C driver header file - * - * Copyright (c) 2008, Darius Augulis <augulis.darius@gmail.com> - * - * This file is released under the GPLv2 - */ - -#ifndef __ASM_ARCH_I2C_H_ -#define __ASM_ARCH_I2C_H_ - -/** - * struct imxi2c_platform_data - structure of platform data for MXC I2C driver - * @init:	Initialise gpio's and other board specific things - * @exit:	Free everything initialised by @init - * @bitrate:	Bus speed measured in Hz - * - **/ -struct imxi2c_platform_data { -	int (*init)(struct device *dev); -	void (*exit)(struct device *dev); -	int bitrate; -}; - -#endif /* __ASM_ARCH_I2C_H_ */ diff --git a/arch/arm/plat-mxc/include/mach/iim.h b/arch/arm/plat-mxc/include/mach/iim.h deleted file mode 100644 index 315bffadafd..00000000000 --- a/arch/arm/plat-mxc/include/mach/iim.h +++ /dev/null @@ -1,77 +0,0 @@ -/* - * Copyright 2004-2007 Freescale Semiconductor, Inc. All Rights Reserved. - * Copyright 2008 Juergen Beisert, kernel@pengutronix.de - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, - * MA  02110-1301, USA. - */ - -#ifndef __ASM_ARCH_MXC_IIM_H__ -#define __ASM_ARCH_MXC_IIM_H__ - -/* Register offsets */ -#define MXC_IIMSTAT             0x0000 -#define MXC_IIMSTATM            0x0004 -#define MXC_IIMERR              0x0008 -#define MXC_IIMEMASK            0x000C -#define MXC_IIMFCTL             0x0010 -#define MXC_IIMUA               0x0014 -#define MXC_IIMLA               0x0018 -#define MXC_IIMSDAT             0x001C -#define MXC_IIMPREV             0x0020 -#define MXC_IIMSREV             0x0024 -#define MXC_IIMPRG_P            0x0028 -#define MXC_IIMSCS0             0x002C -#define MXC_IIMSCS1             0x0030 -#define MXC_IIMSCS2             0x0034 -#define MXC_IIMSCS3             0x0038 -#define MXC_IIMFBAC0            0x0800 -#define MXC_IIMJAC              0x0804 -#define MXC_IIMHWV1             0x0808 -#define MXC_IIMHWV2             0x080C -#define MXC_IIMHAB0             0x0810 -#define MXC_IIMHAB1             0x0814 -/* Definitions for i.MX27 TO2 */ -#define MXC_IIMMAC              0x0814 -#define MXC_IIMPREV_FUSE        0x0818 -#define MXC_IIMSREV_FUSE        0x081C -#define MXC_IIMSJC_CHALL_0      0x0820 -#define MXC_IIMSJC_CHALL_7      0x083C -#define MXC_IIMFB0UC17          0x0840 -#define MXC_IIMFB0UC255         0x0BFC -#define MXC_IIMFBAC1            0x0C00 -/* Definitions for i.MX27 TO2 */ -#define MXC_IIMSUID             0x0C04 -#define MXC_IIMKEY0             0x0C04 -#define MXC_IIMKEY20            0x0C54 -#define MXC_IIMSJC_RESP_0       0x0C58 -#define MXC_IIMSJC_RESP_7       0x0C74 -#define MXC_IIMFB1UC30          0x0C78 -#define MXC_IIMFB1UC255         0x0FFC - -/* Bit definitions */ - -#define MXC_IIMHWV1_WLOCK               (0x1 << 7) -#define MXC_IIMHWV1_MCU_ENDIAN          (0x1 << 6) -#define MXC_IIMHWV1_DSP_ENDIAN          (0x1 << 5) -#define MXC_IIMHWV1_BOOT_INT            (0x1 << 4) -#define MXC_IIMHWV1_SCC_DISABLE         (0x1 << 3) -#define MXC_IIMHWV1_HANTRO_DISABLE      (0x1 << 2) -#define MXC_IIMHWV1_MEMSTICK_DIS        (0x1 << 1) - -#define MXC_IIMHWV2_WLOCK               (0x1 << 7) -#define MXC_IIMHWV2_BP_SDMA             (0x1 << 6) -#define MXC_IIMHWV2_SCM_DCM             (0x1 << 5) - -#endif /* __ASM_ARCH_MXC_IIM_H__ */ diff --git a/arch/arm/plat-mxc/include/mach/imx-uart.h b/arch/arm/plat-mxc/include/mach/imx-uart.h deleted file mode 100644 index 4adec9b154d..00000000000 --- a/arch/arm/plat-mxc/include/mach/imx-uart.h +++ /dev/null @@ -1,35 +0,0 @@ -/* - * Copyright (C) 2008 by Sascha Hauer <kernel@pengutronix.de> - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, - * MA 02110-1301, USA. - */ - -#ifndef ASMARM_ARCH_UART_H -#define ASMARM_ARCH_UART_H - -#define IMXUART_HAVE_RTSCTS (1<<0) -#define IMXUART_IRDA        (1<<1) - -struct imxuart_platform_data { -	int (*init)(struct platform_device *pdev); -	void (*exit)(struct platform_device *pdev); -	unsigned int flags; -	void (*irda_enable)(int enable); -	unsigned int irda_inv_rx:1; -	unsigned int irda_inv_tx:1; -	unsigned short transceiver_delay; -}; - -#endif diff --git a/arch/arm/plat-mxc/include/mach/imxfb.h b/arch/arm/plat-mxc/include/mach/imxfb.h deleted file mode 100644 index 5263506b7dd..00000000000 --- a/arch/arm/plat-mxc/include/mach/imxfb.h +++ /dev/null @@ -1,81 +0,0 @@ -/* - * This structure describes the machine which we are running on. - */ - -#include <linux/fb.h> - -#define PCR_TFT		(1 << 31) -#define PCR_COLOR	(1 << 30) -#define PCR_PBSIZ_1	(0 << 28) -#define PCR_PBSIZ_2	(1 << 28) -#define PCR_PBSIZ_4	(2 << 28) -#define PCR_PBSIZ_8	(3 << 28) -#define PCR_BPIX_1	(0 << 25) -#define PCR_BPIX_2	(1 << 25) -#define PCR_BPIX_4	(2 << 25) -#define PCR_BPIX_8	(3 << 25) -#define PCR_BPIX_12	(4 << 25) -#define PCR_BPIX_16	(5 << 25) -#define PCR_BPIX_18	(6 << 25) -#define PCR_PIXPOL	(1 << 24) -#define PCR_FLMPOL	(1 << 23) -#define PCR_LPPOL	(1 << 22) -#define PCR_CLKPOL	(1 << 21) -#define PCR_OEPOL	(1 << 20) -#define PCR_SCLKIDLE	(1 << 19) -#define PCR_END_SEL	(1 << 18) -#define PCR_END_BYTE_SWAP (1 << 17) -#define PCR_REV_VS	(1 << 16) -#define PCR_ACD_SEL	(1 << 15) -#define PCR_ACD(x)	(((x) & 0x7f) << 8) -#define PCR_SCLK_SEL	(1 << 7) -#define PCR_SHARP	(1 << 6) -#define PCR_PCD(x)	((x) & 0x3f) - -#define PWMR_CLS(x)	(((x) & 0x1ff) << 16) -#define PWMR_LDMSK	(1 << 15) -#define PWMR_SCR1	(1 << 10) -#define PWMR_SCR0	(1 << 9) -#define PWMR_CC_EN	(1 << 8) -#define PWMR_PW(x)	((x) & 0xff) - -#define LSCR1_PS_RISE_DELAY(x)    (((x) & 0x7f) << 26) -#define LSCR1_CLS_RISE_DELAY(x)   (((x) & 0x3f) << 16) -#define LSCR1_REV_TOGGLE_DELAY(x) (((x) & 0xf) << 8) -#define LSCR1_GRAY2(x)            (((x) & 0xf) << 4) -#define LSCR1_GRAY1(x)            (((x) & 0xf)) - -#define DMACR_BURST	(1 << 31) -#define DMACR_HM(x)	(((x) & 0xf) << 16) -#define DMACR_TM(x)	((x) & 0xf) - -struct imx_fb_videomode { -	struct fb_videomode mode; -	u32 pcr; -	unsigned char	bpp; -}; - -struct imx_fb_platform_data { -	struct imx_fb_videomode *mode; -	int		num_modes; - -	u_int		cmap_greyscale:1, -			cmap_inverse:1, -			cmap_static:1, -			unused:29; - -	u_int		pwmr; -	u_int		lscr1; -	u_int		dmacr; - -	u_char * fixed_screen_cpu; -	dma_addr_t fixed_screen_dma; - -	int (*init)(struct platform_device *); -	void (*exit)(struct platform_device *); - -	void (*lcd_power)(int); -	void (*backlight_power)(int); -}; - -void set_imx_fb_info(struct imx_fb_platform_data *); diff --git a/arch/arm/plat-mxc/include/mach/io.h b/arch/arm/plat-mxc/include/mach/io.h deleted file mode 100644 index b4f2de76946..00000000000 --- a/arch/arm/plat-mxc/include/mach/io.h +++ /dev/null @@ -1,42 +0,0 @@ -/* - *  Copyright 2004-2007 Freescale Semiconductor, Inc. All Rights Reserved. - */ - -/* - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2 as - * published by the Free Software Foundation. - */ - -#ifndef __ASM_ARCH_MXC_IO_H__ -#define __ASM_ARCH_MXC_IO_H__ - -/* Allow IO space to be anywhere in the memory */ -#define IO_SPACE_LIMIT 0xffffffff - -#ifdef CONFIG_ARCH_MX3 -#define __arch_ioremap __mx3_ioremap -#define __arch_iounmap __iounmap - -static inline void __iomem * -__mx3_ioremap(unsigned long phys_addr, size_t size, unsigned int mtype) -{ -	if (mtype == MT_DEVICE) { -		/* Access all peripherals below 0x80000000 as nonshared device -		 * but leave l2cc alone. -		 */ -		if ((phys_addr < 0x80000000) && ((phys_addr < 0x30000000) || -			(phys_addr >= 0x30000000 + SZ_1M))) -			mtype = MT_DEVICE_NONSHARED; -	} - -	return __arm_ioremap(phys_addr, size, mtype); -} -#endif - -/* io address mapping macro */ -#define __io(a)		__typesafe_io(a) - -#define __mem_pci(a)	(a) - -#endif diff --git a/arch/arm/plat-mxc/include/mach/iomux-mx1.h b/arch/arm/plat-mxc/include/mach/iomux-mx1.h deleted file mode 100644 index 6b1507cf378..00000000000 --- a/arch/arm/plat-mxc/include/mach/iomux-mx1.h +++ /dev/null @@ -1,155 +0,0 @@ -/* - * Copyright (C) 2008 by Sascha Hauer <kernel@pengutronix.de> - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, - * MA 02110-1301, USA. - */ -#ifndef __MACH_IOMUX_MX1_H__ -#define __MACH_IOMUX_MX1_H__ - -#include <mach/iomux-v1.h> - -#define PA0_AIN_SPI2_CLK	(GPIO_PORTA | GPIO_AIN | GPIO_OUT | 0) -#define PA0_AF_ETMTRACESYNC	(GPIO_PORTA | GPIO_AF | 0) -#define PA1_AOUT_SPI2_RXD	(GPIO_PORTA | GPIO_AOUT | GPIO_IN | 1) -#define PA1_PF_TIN		(GPIO_PORTA | GPIO_PF | 1) -#define PA2_PF_PWM0		(GPIO_PORTA | GPIO_PF | GPIO_OUT | 2) -#define PA3_PF_CSI_MCLK		(GPIO_PORTA | GPIO_PF | 3) -#define PA4_PF_CSI_D0		(GPIO_PORTA | GPIO_PF | 4) -#define PA5_PF_CSI_D1		(GPIO_PORTA | GPIO_PF | 5) -#define PA6_PF_CSI_D2		(GPIO_PORTA | GPIO_PF | 6) -#define PA7_PF_CSI_D3		(GPIO_PORTA | GPIO_PF | 7) -#define PA8_PF_CSI_D4		(GPIO_PORTA | GPIO_PF | 8) -#define PA9_PF_CSI_D5		(GPIO_PORTA | GPIO_PF | 9) -#define PA10_PF_CSI_D6		(GPIO_PORTA | GPIO_PF | 10) -#define PA11_PF_CSI_D7		(GPIO_PORTA | GPIO_PF | 11) -#define PA12_PF_CSI_VSYNC	(GPIO_PORTA | GPIO_PF | 12) -#define PA13_PF_CSI_HSYNC	(GPIO_PORTA | GPIO_PF | 13) -#define PA14_PF_CSI_PIXCLK	(GPIO_PORTA | GPIO_PF | 14) -#define PA15_PF_I2C_SDA		(GPIO_PORTA | GPIO_PF | GPIO_OUT | 15) -#define PA16_PF_I2C_SCL		(GPIO_PORTA | GPIO_PF | GPIO_OUT | 16) -#define PA17_AF_ETMTRACEPKT4	(GPIO_PORTA | GPIO_AF | 17) -#define PA17_AIN_SPI2_SS	(GPIO_PORTA | GPIO_AIN | GPIO_OUT | 17) -#define PA18_AF_ETMTRACEPKT5	(GPIO_PORTA | GPIO_AF | 18) -#define PA19_AF_ETMTRACEPKT6	(GPIO_PORTA | GPIO_AF | 19) -#define PA20_AF_ETMTRACEPKT7	(GPIO_PORTA | GPIO_AF | 20) -#define PA21_PF_A0		(GPIO_PORTA | GPIO_PF | 21) -#define PA22_PF_CS4		(GPIO_PORTA | GPIO_PF | 22) -#define PA23_PF_CS5		(GPIO_PORTA | GPIO_PF | 23) -#define PA24_PF_A16		(GPIO_PORTA | GPIO_PF | 24) -#define PA24_AF_ETMTRACEPKT0	(GPIO_PORTA | GPIO_AF | 24) -#define PA25_PF_A17		(GPIO_PORTA | GPIO_PF | 25) -#define PA25_AF_ETMTRACEPKT1	(GPIO_PORTA | GPIO_AF | 25) -#define PA26_PF_A18		(GPIO_PORTA | GPIO_PF | 26) -#define PA26_AF_ETMTRACEPKT2	(GPIO_PORTA | GPIO_AF | 26) -#define PA27_PF_A19		(GPIO_PORTA | GPIO_PF | 27) -#define PA27_AF_ETMTRACEPKT3	(GPIO_PORTA | GPIO_AF | 27) -#define PA28_PF_A20		(GPIO_PORTA | GPIO_PF | 28) -#define PA28_AF_ETMPIPESTAT0	(GPIO_PORTA | GPIO_AF | 28) -#define PA29_PF_A21		(GPIO_PORTA | GPIO_PF | 29) -#define PA29_AF_ETMPIPESTAT1	(GPIO_PORTA | GPIO_AF | 29) -#define PA30_PF_A22		(GPIO_PORTA | GPIO_PF | 30) -#define PA30_AF_ETMPIPESTAT2	(GPIO_PORTA | GPIO_AF | 30) -#define PA31_PF_A23		(GPIO_PORTA | GPIO_PF | 31) -#define PA31_AF_ETMTRACECLK	(GPIO_PORTA | GPIO_AF | 31) -#define PB8_PF_SD_DAT0		(GPIO_PORTB | GPIO_PF | GPIO_PUEN | 8) -#define PB8_AF_MS_PIO		(GPIO_PORTB | GPIO_AF | 8) -#define PB9_PF_SD_DAT1		(GPIO_PORTB | GPIO_PF | GPIO_PUEN | 9) -#define PB9_AF_MS_PI1		(GPIO_PORTB | GPIO_AF | 9) -#define PB10_PF_SD_DAT2		(GPIO_PORTB | GPIO_PF | GPIO_PUEN | 10) -#define PB10_AF_MS_SCLKI	(GPIO_PORTB | GPIO_AF | 10) -#define PB11_PF_SD_DAT3		(GPIO_PORTB | GPIO_PF | 11) -#define PB11_AF_MS_SDIO		(GPIO_PORTB | GPIO_AF | 11) -#define PB12_PF_SD_CLK		(GPIO_PORTB | GPIO_PF | 12) -#define PB12_AF_MS_SCLK0	(GPIO_PORTB | GPIO_AF | 12) -#define PB13_PF_SD_CMD		(GPIO_PORTB | GPIO_PF | GPIO_PUEN | 13) -#define PB13_AF_MS_BS		(GPIO_PORTB | GPIO_AF | 13) -#define PB14_AF_SSI_RXFS	(GPIO_PORTB | GPIO_AF | 14) -#define PB15_AF_SSI_RXCLK	(GPIO_PORTB | GPIO_AF | 15) -#define PB16_AF_SSI_RXDAT	(GPIO_PORTB | GPIO_AF | GPIO_IN | 16) -#define PB17_AF_SSI_TXDAT	(GPIO_PORTB | GPIO_AF | GPIO_OUT | 17) -#define PB18_AF_SSI_TXFS	(GPIO_PORTB | GPIO_AF | 18) -#define PB19_AF_SSI_TXCLK	(GPIO_PORTB | GPIO_AF | 19) -#define PB20_PF_USBD_AFE	(GPIO_PORTB | GPIO_PF | 20) -#define PB21_PF_USBD_OE		(GPIO_PORTB | GPIO_PF | 21) -#define PB22_PF_USBD_RCV	(GPIO_PORTB | GPIO_PF | 22) -#define PB23_PF_USBD_SUSPND	(GPIO_PORTB | GPIO_PF | 23) -#define PB24_PF_USBD_VP		(GPIO_PORTB | GPIO_PF | 24) -#define PB25_PF_USBD_VM		(GPIO_PORTB | GPIO_PF | 25) -#define PB26_PF_USBD_VPO	(GPIO_PORTB | GPIO_PF | 26) -#define PB27_PF_USBD_VMO	(GPIO_PORTB | GPIO_PF | 27) -#define PB28_PF_UART2_CTS	(GPIO_PORTB | GPIO_PF | GPIO_OUT | 28) -#define PB29_PF_UART2_RTS	(GPIO_PORTB | GPIO_PF | GPIO_IN | 29) -#define PB30_PF_UART2_TXD	(GPIO_PORTB | GPIO_PF | GPIO_OUT | 30) -#define PB31_PF_UART2_RXD	(GPIO_PORTB | GPIO_PF | GPIO_IN | 31) -#define PC3_PF_SSI_RXFS		(GPIO_PORTC | GPIO_PF | 3) -#define PC4_PF_SSI_RXCLK	(GPIO_PORTC | GPIO_PF | 4) -#define PC5_PF_SSI_RXDAT	(GPIO_PORTC | GPIO_PF | GPIO_IN | 5) -#define PC6_PF_SSI_TXDAT	(GPIO_PORTC | GPIO_PF | GPIO_OUT | 6) -#define PC7_PF_SSI_TXFS		(GPIO_PORTC | GPIO_PF | 7) -#define PC8_PF_SSI_TXCLK	(GPIO_PORTC | GPIO_PF | 8) -#define PC9_PF_UART1_CTS	(GPIO_PORTC | GPIO_PF | GPIO_OUT | 9) -#define PC10_PF_UART1_RTS	(GPIO_PORTC | GPIO_PF | GPIO_IN | 10) -#define PC11_PF_UART1_TXD	(GPIO_PORTC | GPIO_PF | GPIO_OUT | 11) -#define PC12_PF_UART1_RXD	(GPIO_PORTC | GPIO_PF | GPIO_IN | 12) -#define PC13_PF_SPI1_SPI_RDY	(GPIO_PORTC | GPIO_PF | 13) -#define PC14_PF_SPI1_SCLK	(GPIO_PORTC | GPIO_PF | 14) -#define PC15_PF_SPI1_SS		(GPIO_PORTC | GPIO_PF | 15) -#define PC16_PF_SPI1_MISO	(GPIO_PORTC | GPIO_PF | 16) -#define PC17_PF_SPI1_MOSI	(GPIO_PORTC | GPIO_PF | 17) -#define PC24_BIN_UART3_RI	(GPIO_PORTC | GPIO_BIN | GPIO_OUT | 24) -#define PC25_BIN_UART3_DSR	(GPIO_PORTC | GPIO_BIN | GPIO_OUT | 25) -#define PC26_AOUT_UART3_DTR	(GPIO_PORTC | GPIO_AOUT | GPIO_IN | 26) -#define PC27_BIN_UART3_DCD	(GPIO_PORTC | GPIO_BIN | GPIO_OUT | 27) -#define PC28_BIN_UART3_CTS	(GPIO_PORTC | GPIO_BIN | GPIO_OUT | 28) -#define PC29_AOUT_UART3_RTS	(GPIO_PORTC | GPIO_AOUT | GPIO_IN | 29) -#define PC30_BIN_UART3_TX	(GPIO_PORTC | GPIO_BIN | 30) -#define PC31_AOUT_UART3_RX	(GPIO_PORTC | GPIO_AOUT | GPIO_IN | 31) -#define PD6_PF_LSCLK		(GPIO_PORTD | GPIO_PF | GPIO_OUT | 6) -#define PD7_PF_REV		(GPIO_PORTD | GPIO_PF | 7) -#define PD7_AF_UART2_DTR	(GPIO_PORTD | GPIO_AF | GPIO_IN | 7) -#define PD7_AIN_SPI2_SCLK	(GPIO_PORTD | GPIO_AIN | 7) -#define PD8_PF_CLS		(GPIO_PORTD | GPIO_PF | 8) -#define PD8_AF_UART2_DCD	(GPIO_PORTD | GPIO_AF | GPIO_OUT | 8) -#define PD8_AIN_SPI2_SS		(GPIO_PORTD | GPIO_AIN | 8) -#define PD9_PF_PS		(GPIO_PORTD | GPIO_PF | 9) -#define PD9_AF_UART2_RI		(GPIO_PORTD | GPIO_AF | GPIO_OUT | 9) -#define PD9_AOUT_SPI2_RXD	(GPIO_PORTD | GPIO_AOUT | GPIO_IN | 9) -#define PD10_PF_SPL_SPR		(GPIO_PORTD | GPIO_PF | GPIO_OUT | 10) -#define PD10_AF_UART2_DSR	(GPIO_PORTD | GPIO_AF | GPIO_OUT | 10) -#define PD10_AIN_SPI2_TXD	(GPIO_PORTD | GPIO_AIN | GPIO_OUT | 10) -#define PD11_PF_CONTRAST	(GPIO_PORTD | GPIO_PF | GPIO_OUT | 11) -#define PD12_PF_ACD_OE		(GPIO_PORTD | GPIO_PF | GPIO_OUT | 12) -#define PD13_PF_LP_HSYNC	(GPIO_PORTD | GPIO_PF | GPIO_OUT | 13) -#define PD14_PF_FLM_VSYNC	(GPIO_PORTD | GPIO_PF | GPIO_OUT | 14) -#define PD15_PF_LD0		(GPIO_PORTD | GPIO_PF | GPIO_OUT | 15) -#define PD16_PF_LD1		(GPIO_PORTD | GPIO_PF | GPIO_OUT | 16) -#define PD17_PF_LD2		(GPIO_PORTD | GPIO_PF | GPIO_OUT | 17) -#define PD18_PF_LD3		(GPIO_PORTD | GPIO_PF | GPIO_OUT | 18) -#define PD19_PF_LD4		(GPIO_PORTD | GPIO_PF | GPIO_OUT | 19) -#define PD20_PF_LD5		(GPIO_PORTD | GPIO_PF | GPIO_OUT | 20) -#define PD21_PF_LD6		(GPIO_PORTD | GPIO_PF | GPIO_OUT | 21) -#define PD22_PF_LD7		(GPIO_PORTD | GPIO_PF | GPIO_OUT | 22) -#define PD23_PF_LD8		(GPIO_PORTD | GPIO_PF | GPIO_OUT | 23) -#define PD24_PF_LD9		(GPIO_PORTD | GPIO_PF | GPIO_OUT | 24) -#define PD25_PF_LD10		(GPIO_PORTD | GPIO_PF | GPIO_OUT | 25) -#define PD26_PF_LD11		(GPIO_PORTD | GPIO_PF | GPIO_OUT | 26) -#define PD27_PF_LD12		(GPIO_PORTD | GPIO_PF | GPIO_OUT | 27) -#define PD28_PF_LD13		(GPIO_PORTD | GPIO_PF | GPIO_OUT | 28) -#define PD29_PF_LD14		(GPIO_PORTD | GPIO_PF | GPIO_OUT | 29) -#define PD30_PF_LD15		(GPIO_PORTD | GPIO_PF | GPIO_OUT | 30) -#define PD31_PF_TMR2OUT		(GPIO_PORTD | GPIO_PF | 31) -#define PD31_BIN_SPI2_TXD	(GPIO_PORTD | GPIO_BIN | 31) - -#endif /* ifndef __MACH_IOMUX_MX1_H__ */ diff --git a/arch/arm/plat-mxc/include/mach/iomux-mx21.h b/arch/arm/plat-mxc/include/mach/iomux-mx21.h deleted file mode 100644 index 1495dfda783..00000000000 --- a/arch/arm/plat-mxc/include/mach/iomux-mx21.h +++ /dev/null @@ -1,122 +0,0 @@ -/* - * Copyright (C) 2009 by Holger Schurig <hs4233@mail.mn-solutions.de> - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, - * MA 02110-1301, USA. - */ -#ifndef __MACH_IOMUX_MX21_H__ -#define __MACH_IOMUX_MX21_H__ - -#include <mach/iomux-mx2x.h> -#include <mach/iomux-v1.h> - -/* Primary GPIO pin functions */ - -#define PB22_PF_USBH1_BYP	(GPIO_PORTB | GPIO_PF | 22) -#define PB25_PF_USBH1_ON	(GPIO_PORTB | GPIO_PF | 25) -#define PC5_PF_USBOTG_SDA	(GPIO_PORTC | GPIO_PF | 5) -#define PC6_PF_USBOTG_SCL	(GPIO_PORTC | GPIO_PF | 6) -#define PC7_PF_USBOTG_ON	(GPIO_PORTC | GPIO_PF | 7) -#define PC8_PF_USBOTG_FS	(GPIO_PORTC | GPIO_PF | 8) -#define PC9_PF_USBOTG_OE	(GPIO_PORTC | GPIO_PF | 9) -#define PC10_PF_USBOTG_TXDM	(GPIO_PORTC | GPIO_PF | 10) -#define PC11_PF_USBOTG_TXDP	(GPIO_PORTC | GPIO_PF | 11) -#define PC12_PF_USBOTG_RXDM	(GPIO_PORTC | GPIO_PF | 12) -#define PC13_PF_USBOTG_RXDP	(GPIO_PORTC | GPIO_PF | 13) -#define PC16_PF_SAP_FS		(GPIO_PORTC | GPIO_PF | 16) -#define PC17_PF_SAP_RXD		(GPIO_PORTC | GPIO_PF | 17) -#define PC18_PF_SAP_TXD		(GPIO_PORTC | GPIO_PF | 18) -#define PC19_PF_SAP_CLK		(GPIO_PORTC | GPIO_PF | 19) -#define PE0_PF_TEST_WB2		(GPIO_PORTE | GPIO_PF | 0) -#define PE1_PF_TEST_WB1		(GPIO_PORTE | GPIO_PF | 1) -#define PE2_PF_TEST_WB0		(GPIO_PORTE | GPIO_PF | 2) -#define PF1_PF_NFCE		(GPIO_PORTF | GPIO_PF | 1) -#define PF3_PF_NFCLE		(GPIO_PORTF | GPIO_PF | 3) -#define PF7_PF_NFIO0		(GPIO_PORTF | GPIO_PF | 7) -#define PF8_PF_NFIO1		(GPIO_PORTF | GPIO_PF | 8) -#define PF9_PF_NFIO2		(GPIO_PORTF | GPIO_PF | 9) -#define PF10_PF_NFIO3		(GPIO_PORTF | GPIO_PF | 10) -#define PF11_PF_NFIO4		(GPIO_PORTF | GPIO_PF | 11) -#define PF12_PF_NFIO5		(GPIO_PORTF | GPIO_PF | 12) -#define PF13_PF_NFIO6		(GPIO_PORTF | GPIO_PF | 13) -#define PF14_PF_NFIO7		(GPIO_PORTF | GPIO_PF | 14) -#define PF16_PF_RES		(GPIO_PORTF | GPIO_PF | 16) - -/* Alternate GPIO pin functions */ - -#define PA5_AF_BMI_CLK_CS	(GPIO_PORTA | GPIO_AF | 5) -#define PA6_AF_BMI_D0		(GPIO_PORTA | GPIO_AF | 6) -#define PA7_AF_BMI_D1		(GPIO_PORTA | GPIO_AF | 7) -#define PA8_AF_BMI_D2		(GPIO_PORTA | GPIO_AF | 8) -#define PA9_AF_BMI_D3		(GPIO_PORTA | GPIO_AF | 9) -#define PA10_AF_BMI_D4		(GPIO_PORTA | GPIO_AF | 10) -#define PA11_AF_BMI_D5		(GPIO_PORTA | GPIO_AF | 11) -#define PA12_AF_BMI_D6		(GPIO_PORTA | GPIO_AF | 12) -#define PA13_AF_BMI_D7		(GPIO_PORTA | GPIO_AF | 13) -#define PA14_AF_BMI_D8		(GPIO_PORTA | GPIO_AF | 14) -#define PA15_AF_BMI_D9		(GPIO_PORTA | GPIO_AF | 15) -#define PA16_AF_BMI_D10		(GPIO_PORTA | GPIO_AF | 16) -#define PA17_AF_BMI_D11		(GPIO_PORTA | GPIO_AF | 17) -#define PA18_AF_BMI_D12		(GPIO_PORTA | GPIO_AF | 18) -#define PA19_AF_BMI_D13		(GPIO_PORTA | GPIO_AF | 19) -#define PA20_AF_BMI_D14		(GPIO_PORTA | GPIO_AF | 20) -#define PA21_AF_BMI_D15		(GPIO_PORTA | GPIO_AF | 21) -#define PA22_AF_BMI_READ_REQ	(GPIO_PORTA | GPIO_AF | 22) -#define PA23_AF_BMI_WRITE	(GPIO_PORTA | GPIO_AF | 23) -#define PA29_AF_BMI_RX_FULL	(GPIO_PORTA | GPIO_AF | 29) -#define PA30_AF_BMI_READ	(GPIO_PORTA | GPIO_AF | 30) - -/* AIN GPIO pin functions */ - -#define PC14_AIN_SYS_CLK	(GPIO_PORTC | GPIO_AIN | GPIO_OUT | 14) -#define PD21_AIN_USBH2_FS	(GPIO_PORTD | GPIO_AIN | GPIO_OUT | 21) -#define PD22_AIN_USBH2_OE	(GPIO_PORTD | GPIO_AIN | GPIO_OUT | 22) -#define PD23_AIN_USBH2_TXDM	(GPIO_PORTD | GPIO_AIN | GPIO_OUT | 23) -#define PD24_AIN_USBH2_TXDP	(GPIO_PORTD | GPIO_AIN | GPIO_OUT | 24) -#define PE8_AIN_IR_TXD		(GPIO_PORTE | GPIO_AIN | GPIO_OUT | 8) -#define PF0_AIN_PC_RST		(GPIO_PORTF | GPIO_AIN | GPIO_OUT | 0) -#define PF1_AIN_PC_CE1		(GPIO_PORTF | GPIO_AIN | GPIO_OUT | 1) -#define PF2_AIN_PC_CE2		(GPIO_PORTF | GPIO_AIN | GPIO_OUT | 2) -#define PF3_AIN_PC_POE		(GPIO_PORTF | GPIO_AIN | GPIO_OUT | 3) -#define PF4_AIN_PC_OE		(GPIO_PORTF | GPIO_AIN | GPIO_OUT | 4) -#define PF5_AIN_PC_RW		(GPIO_PORTF | GPIO_AIN | GPIO_OUT | 5) - -/* BIN GPIO pin functions */ - -#define PC14_BIN_SYS_CLK	(GPIO_PORTC | GPIO_BIN | GPIO_OUT | 14) -#define PD27_BIN_EXT_DMA_GRANT	(GPIO_PORTD | GPIO_BIN | GPIO_OUT | 27) - -/* CIN GPIO pin functions */ - -#define PB26_CIN_USBH1_RXDAT	(GPIO_PORTB | GPIO_CIN | GPIO_OUT | 26) - -/* AOUT GPIO pin functions */ - -#define PA29_AOUT_BMI_WAIT	(GPIO_PORTA | GPIO_AOUT | GPIO_IN | 29) -#define PD19_AOUT_USBH2_RXDM	(GPIO_PORTD | GPIO_AOUT | GPIO_IN | 19) -#define PD20_AOUT_USBH2_RXDP	(GPIO_PORTD | GPIO_AOUT | GPIO_IN | 20) -#define PD25_AOUT_EXT_DMAREQ	(GPIO_PORTD | GPIO_AOUT | GPIO_IN | 25) -#define PD26_AOUT_USBOTG_RXDAT	(GPIO_PORTD | GPIO_AOUT | GPIO_IN | 26) -#define PE9_AOUT_IR_RXD		(GPIO_PORTE | GPIO_AOUT | GPIO_IN | 9) -#define PF6_AOUT_PC_BVD2	(GPIO_PORTF | GPIO_AOUT | GPIO_IN | 6) -#define PF7_AOUT_PC_BVD1	(GPIO_PORTF | GPIO_AOUT | GPIO_IN | 7) -#define PF8_AOUT_PC_VS2		(GPIO_PORTF | GPIO_AOUT | GPIO_IN | 8) -#define PF9_AOUT_PC_VS1		(GPIO_PORTF | GPIO_AOUT | GPIO_IN | 9) -#define PF10_AOUT_PC_WP		(GPIO_PORTF | GPIO_AOUT | GPIO_IN | 10) -#define PF11_AOUT_PC_READY	(GPIO_PORTF | GPIO_AOUT | GPIO_IN | 11) -#define PF12_AOUT_PC_WAIT	(GPIO_PORTF | GPIO_AOUT | GPIO_IN | 12) -#define PF13_AOUT_PC_CD2	(GPIO_PORTF | GPIO_AOUT | GPIO_IN | 13) -#define PF14_AOUT_PC_CD1	(GPIO_PORTF | GPIO_AOUT | GPIO_IN | 14) - -#endif /* ifndef __MACH_IOMUX_MX21_H__ */ diff --git a/arch/arm/plat-mxc/include/mach/iomux-mx25.h b/arch/arm/plat-mxc/include/mach/iomux-mx25.h deleted file mode 100644 index d7f52c91f82..00000000000 --- a/arch/arm/plat-mxc/include/mach/iomux-mx25.h +++ /dev/null @@ -1,517 +0,0 @@ -/* - * arch/arm/plat-mxc/include/mach/iomux-mx25.h - * - * Copyright (C) 2009 by Lothar Wassmann <LW@KARO-electronics.de> - * - * based on arch/arm/mach-mx25/mx25_pins.h - *    Copyright 2008 Freescale Semiconductor, Inc. All Rights Reserved. - * and - * arch/arm/plat-mxc/include/mach/iomux-mx35.h - *    Copyright (C) 2009 by Jan Weitzel Phytec Messtechnik GmbH <armlinux@phytec.de> - * - * The code contained herein is licensed under the GNU General Public - * License. You may obtain a copy of the GNU General Public License - * Version 2 or later at the following locations: - * - * http://www.opensource.org/licenses/gpl-license.html - * http://www.gnu.org/copyleft/gpl.html - */ -#ifndef __MACH_IOMUX_MX25_H__ -#define __MACH_IOMUX_MX25_H__ - -#include <mach/iomux-v3.h> - -/* - * IOMUX/PAD Bit field definitions - */ - -#define MX25_PAD_A10__A10		IOMUX_PAD(0x000, 0x008, 0x00, 0, 0, NO_PAD_CTRL) -#define MX25_PAD_A10__GPIO_4_0		IOMUX_PAD(0x000, 0x008, 0x05, 0, 0, NO_PAD_CTRL) - -#define MX25_PAD_A13__A13		IOMUX_PAD(0x22C, 0x00c, 0x00, 0, 0, NO_PAD_CTRL) -#define MX25_PAD_A13__GPIO_4_1		IOMUX_PAD(0x22C, 0x00c, 0x05, 0, 0, NO_PAD_CTRL) - -#define MX25_PAD_A14__A14		IOMUX_PAD(0x230, 0x010, 0x10, 0, 0, NO_PAD_CTRL) -#define MX25_PAD_A14__GPIO_2_0		IOMUX_PAD(0x230, 0x010, 0x15, 0, 0, NO_PAD_CTRL) - -#define MX25_PAD_A15__A15		IOMUX_PAD(0x234, 0x014, 0x10, 0, 0, NO_PAD_CTRL) -#define MX25_PAD_A15__GPIO_2_1		IOMUX_PAD(0x234, 0x014, 0x15, 0, 0, NO_PAD_CTRL) - -#define MX25_PAD_A16__A16		IOMUX_PAD(0x000, 0x018, 0x10, 0, 0, NO_PAD_CTRL) -#define MX25_PAD_A16__GPIO_2_2		IOMUX_PAD(0x000, 0x018, 0x15, 0, 0, NO_PAD_CTRL) - -#define MX25_PAD_A17__A17		IOMUX_PAD(0x238, 0x01c, 0x10, 0, 0, NO_PAD_CTRL) -#define MX25_PAD_A17__GPIO_2_3		IOMUX_PAD(0x238, 0x01c, 0x15, 0, 0, NO_PAD_CTRL) - -#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_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_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_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_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) - -#define MX25_PAD_A23__A23		IOMUX_PAD(0x24c, 0x034, 0x10, 0, 0, NO_PAD_CTRL) -#define MX25_PAD_A23__GPIO_2_9		IOMUX_PAD(0x24c, 0x034, 0x15, 0, 0, NO_PAD_CTRL) - -#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_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_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) -#define MX25_PAD_EB0__GPIO_2_12		IOMUX_PAD(0x258, 0x040, 0x15, 0, 0, NO_PAD_CTRL) - -#define MX25_PAD_EB1__EB1		IOMUX_PAD(0x25c, 0x044, 0x10, 0, 0, NO_PAD_CTRL) -#define MX25_PAD_EB1__AUD4_RXD		IOMUX_PAD(0x25c, 0x044, 0x14, 0x460, 0, NO_PAD_CTRL) -#define MX25_PAD_EB1__GPIO_2_13		IOMUX_PAD(0x25c, 0x044, 0x15, 0, 0, NO_PAD_CTRL) - -#define MX25_PAD_OE__OE			IOMUX_PAD(0x260, 0x048, 0x10, 0, 0, NO_PAD_CTRL) -#define MX25_PAD_OE__AUD4_TXC		IOMUX_PAD(0x260, 0x048, 0x14, 0, 0, NO_PAD_CTRL) -#define MX25_PAD_OE__GPIO_2_14		IOMUX_PAD(0x260, 0x048, 0x15, 0, 0, NO_PAD_CTRL) - -#define MX25_PAD_CS0__CS0		IOMUX_PAD(0x000, 0x04c, 0x00, 0, 0, NO_PAD_CTRL) -#define MX25_PAD_CS0__GPIO_4_2		IOMUX_PAD(0x000, 0x04c, 0x05, 0, 0, NO_PAD_CTRL) - -#define MX25_PAD_CS1__CS1		IOMUX_PAD(0x000, 0x050, 0x00, 0, 0, NO_PAD_CTRL) -#define MX25_PAD_CS1__GPIO_4_3		IOMUX_PAD(0x000, 0x050, 0x05, 0, 0, NO_PAD_CTRL) - -#define MX25_PAD_CS4__CS4		IOMUX_PAD(0x264, 0x054, 0x10, 0, 0, NO_PAD_CTRL) -#define MX25_PAD_CS4__UART5_CTS		IOMUX_PAD(0x264, 0x054, 0x13, 0, 0, NO_PAD_CTRL) -#define MX25_PAD_CS4__GPIO_3_20		IOMUX_PAD(0x264, 0x054, 0x15, 0, 0, NO_PAD_CTRL) - -#define MX25_PAD_CS5__CS5		IOMUX_PAD(0x268, 0x058, 0x10, 0, 0, NO_PAD_CTRL) -#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_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) -#define MX25_PAD_ECB__UART5_TXD_MUX	IOMUX_PAD(0x270, 0x060, 0x13, 0, 0, NO_PAD_CTRL) -#define MX25_PAD_ECB__GPIO_3_23		IOMUX_PAD(0x270, 0x060, 0x15, 0, 0, NO_PAD_CTRL) - -#define MX25_PAD_LBA__LBA		IOMUX_PAD(0x274, 0x064, 0x10, 0, 0, NO_PAD_CTRL) -#define MX25_PAD_LBA__UART5_RXD_MUX	IOMUX_PAD(0x274, 0x064, 0x13, 0x578, 0, NO_PAD_CTRL) -#define MX25_PAD_LBA__GPIO_3_24		IOMUX_PAD(0x274, 0x064, 0x15, 0, 0, NO_PAD_CTRL) - -#define MX25_PAD_BCLK__BCLK		IOMUX_PAD(0x000, 0x068, 0x00, 0, 0, NO_PAD_CTRL) -#define MX25_PAD_BCLK__GPIO_4_4		IOMUX_PAD(0x000, 0x068, 0x05, 0, 0, NO_PAD_CTRL) - -#define MX25_PAD_RW__RW			IOMUX_PAD(0x278, 0x06c, 0x10, 0, 0, NO_PAD_CTRL) -#define MX25_PAD_RW__AUD4_TXFS		IOMUX_PAD(0x278, 0x06c, 0x14, 0x474, 0, NO_PAD_CTRL) -#define MX25_PAD_RW__GPIO_3_25		IOMUX_PAD(0x278, 0x06c, 0x15, 0, 0, NO_PAD_CTRL) - -#define MX25_PAD_NFWE_B__NFWE_B		IOMUX_PAD(0x000, 0x070, 0x10, 0, 0, NO_PAD_CTRL) -#define MX25_PAD_NFWE_B__GPIO_3_26	IOMUX_PAD(0x000, 0x070, 0x15, 0, 0, NO_PAD_CTRL) - -#define MX25_PAD_NFRE_B__NFRE_B		IOMUX_PAD(0x000, 0x074, 0x10, 0, 0, NO_PAD_CTRL) -#define MX25_PAD_NFRE_B__GPIO_3_27	IOMUX_PAD(0x000, 0x074, 0x15, 0, 0, NO_PAD_CTRL) - -#define MX25_PAD_NFALE__NFALE		IOMUX_PAD(0x000, 0x078, 0x10, 0, 0, NO_PAD_CTRL) -#define MX25_PAD_NFALE__GPIO_3_28	IOMUX_PAD(0x000, 0x078, 0x15, 0, 0, NO_PAD_CTRL) - -#define MX25_PAD_NFCLE__NFCLE		IOMUX_PAD(0x000, 0x07c, 0x10, 0, 0, NO_PAD_CTRL) -#define MX25_PAD_NFCLE__GPIO_3_29	IOMUX_PAD(0x000, 0x07c, 0x15, 0, 0, NO_PAD_CTRL) - -#define MX25_PAD_NFWP_B__NFWP_B		IOMUX_PAD(0x000, 0x080, 0x10, 0, 0, NO_PAD_CTRL) -#define MX25_PAD_NFWP_B__GPIO_3_30	IOMUX_PAD(0x000, 0x080, 0x15, 0, 0, NO_PAD_CTRL) - -#define MX25_PAD_NFRB__NFRB		IOMUX_PAD(0x27c, 0x084, 0x10, 0, 0, PAD_CTL_PKE) -#define MX25_PAD_NFRB__GPIO_3_31	IOMUX_PAD(0x27c, 0x084, 0x15, 0, 0, NO_PAD_CTRL) - -#define MX25_PAD_D15__D15		IOMUX_PAD(0x280, 0x088, 0x00, 0, 0, NO_PAD_CTRL) -#define MX25_PAD_D15__LD16		IOMUX_PAD(0x280, 0x088, 0x01, 0, 0, NO_PAD_CTRL) -#define MX25_PAD_D15__GPIO_4_5		IOMUX_PAD(0x280, 0x088, 0x05, 0, 0, NO_PAD_CTRL) - -#define MX25_PAD_D14__D14		IOMUX_PAD(0x284, 0x08c, 0x00, 0, 0, NO_PAD_CTRL) -#define MX25_PAD_D14__LD17		IOMUX_PAD(0x284, 0x08c, 0x01, 0, 0, NO_PAD_CTRL) -#define MX25_PAD_D14__GPIO_4_6		IOMUX_PAD(0x284, 0x08c, 0x05, 0, 0, NO_PAD_CTRL) - -#define MX25_PAD_D13__D13		IOMUX_PAD(0x288, 0x090, 0x00, 0, 0, NO_PAD_CTRL) -#define MX25_PAD_D13__LD18		IOMUX_PAD(0x288, 0x090, 0x01, 0, 0, NO_PAD_CTRL) -#define MX25_PAD_D13__GPIO_4_7		IOMUX_PAD(0x288, 0x090, 0x05, 0, 0, NO_PAD_CTRL) - -#define MX25_PAD_D12__D12		IOMUX_PAD(0x28c, 0x094, 0x00, 0, 0, NO_PAD_CTRL) -#define MX25_PAD_D12__GPIO_4_8		IOMUX_PAD(0x28c, 0x094, 0x05, 0, 0, NO_PAD_CTRL) - -#define MX25_PAD_D11__D11		IOMUX_PAD(0x290, 0x098, 0x00, 0, 0, NO_PAD_CTRL) -#define MX25_PAD_D11__GPIO_4_9		IOMUX_PAD(0x290, 0x098, 0x05, 0, 0, NO_PAD_CTRL) - -#define MX25_PAD_D10__D10		IOMUX_PAD(0x294, 0x09c, 0x00, 0, 0, NO_PAD_CTRL) -#define MX25_PAD_D10__GPIO_4_10		IOMUX_PAD(0x294, 0x09c, 0x05, 0, 0, NO_PAD_CTRL) -#define MX25_PAD_D10__USBOTG_OC		IOMUX_PAD(0x294, 0x09c, 0x06, 0x57c, 0, PAD_CTL_PUS_100K_UP) - -#define MX25_PAD_D9__D9			IOMUX_PAD(0x298, 0x0a0, 0x00, 0, 0, NO_PAD_CTRL) -#define MX25_PAD_D9__GPIO_4_11		IOMUX_PAD(0x298, 0x0a0, 0x05, 0, 0, NO_PAD_CTRL) -#define MX25_PAD_D9__USBH2_PWR		IOMUX_PAD(0x298, 0x0a0, 0x06, 0, 0, PAD_CTL_PKE) - -#define MX25_PAD_D8__D8			IOMUX_PAD(0x29c, 0x0a4, 0x00, 0, 0, NO_PAD_CTRL) -#define MX25_PAD_D8__GPIO_4_12		IOMUX_PAD(0x29c, 0x0a4, 0x05, 0, 0, NO_PAD_CTRL) -#define MX25_PAD_D8__USBH2_OC		IOMUX_PAD(0x29c, 0x0a4, 0x06, 0x580, 0, PAD_CTL_PUS_100K_UP) - -#define MX25_PAD_D7__D7			IOMUX_PAD(0x2a0, 0x0a8, 0x00, 0, 0, NO_PAD_CTRL) -#define MX25_PAD_D7__GPIO_4_13		IOMUX_PAD(0x2a0, 0x0a8, 0x05, 0, 0, NO_PAD_CTRL) - -#define MX25_PAD_D6__D6			IOMUX_PAD(0x2a4, 0x0ac, 0x00, 0, 0, NO_PAD_CTRL) -#define MX25_PAD_D6__GPIO_4_14		IOMUX_PAD(0x2a4, 0x0ac, 0x05, 0, 0, NO_PAD_CTRL) - -#define MX25_PAD_D5__D5			IOMUX_PAD(0x2a8, 0x0b0, 0x00, 0, 0, NO_PAD_CTRL) -#define MX25_PAD_D5__GPIO_4_15		IOMUX_PAD(0x2a8, 0x0b0, 0x05, 0, 0, NO_PAD_CTRL) - -#define MX25_PAD_D4__D4			IOMUX_PAD(0x2ac, 0x0b4, 0x00, 0, 0, NO_PAD_CTRL) -#define MX25_PAD_D4__GPIO_4_16		IOMUX_PAD(0x2ac, 0x0b4, 0x05, 0, 0, NO_PAD_CTRL) - -#define MX25_PAD_D3__D3			IOMUX_PAD(0x2b0, 0x0b8, 0x00, 0, 0, NO_PAD_CTRL) -#define MX25_PAD_D3__GPIO_4_17		IOMUX_PAD(0x2b0, 0x0b8, 0x05, 0, 0, NO_PAD_CTRL) - -#define MX25_PAD_D2__D2			IOMUX_PAD(0x2b4, 0x0bc, 0x00, 0, 0, NO_PAD_CTRL) -#define MX25_PAD_D2__GPIO_4_18		IOMUX_PAD(0x2b4, 0x0bc, 0x05, 0, 0, NO_PAD_CTRL) - -#define MX25_PAD_D1__D1			IOMUX_PAD(0x2b8, 0x0c0, 0x00, 0, 0, NO_PAD_CTRL) -#define MX25_PAD_D1__GPIO_4_19		IOMUX_PAD(0x2b8, 0x0c0, 0x05, 0, 0, NO_PAD_CTRL) - -#define MX25_PAD_D0__D0			IOMUX_PAD(0x2bc, 0x0c4, 0x00, 0, 0, NO_PAD_CTRL) -#define MX25_PAD_D0__GPIO_4_20		IOMUX_PAD(0x2bc, 0x0c4, 0x05, 0, 0, NO_PAD_CTRL) - -#define MX25_PAD_LD0__LD0		IOMUX_PAD(0x2c0, 0x0c8, 0x10, 0, 0, NO_PAD_CTRL) -#define MX25_PAD_LD0__CSI_D0		IOMUX_PAD(0x2c0, 0x0c8, 0x12, 0x488, 0, NO_PAD_CTRL) -#define MX25_PAD_LD0__GPIO_2_15		IOMUX_PAD(0x2c0, 0x0c8, 0x15, 0, 0, NO_PAD_CTRL) - -#define MX25_PAD_LD1__LD1		IOMUX_PAD(0x2c4, 0x0cc, 0x10, 0, 0, NO_PAD_CTRL) -#define MX25_PAD_LD1__CSI_D1		IOMUX_PAD(0x2c4, 0x0cc, 0x12, 0x48c, 0, NO_PAD_CTRL) -#define MX25_PAD_LD1__GPIO_2_16		IOMUX_PAD(0x2c4, 0x0cc, 0x15, 0, 0, NO_PAD_CTRL) - -#define MX25_PAD_LD2__LD2		IOMUX_PAD(0x2c8, 0x0d0, 0x10, 0, 0, NO_PAD_CTRL) -#define MX25_PAD_LD2__GPIO_2_17		IOMUX_PAD(0x2c8, 0x0d0, 0x15, 0, 0, NO_PAD_CTRL) - -#define MX25_PAD_LD3__LD3		IOMUX_PAD(0x2cc, 0x0d4, 0x10, 0, 0, NO_PAD_CTRL) -#define MX25_PAD_LD3__GPIO_2_18		IOMUX_PAD(0x2cc, 0x0d4, 0x15, 0, 0, NO_PAD_CTRL) - -#define MX25_PAD_LD4__LD4		IOMUX_PAD(0x2d0, 0x0d8, 0x10, 0, 0, NO_PAD_CTRL) -#define MX25_PAD_LD4__GPIO_2_19		IOMUX_PAD(0x2d0, 0x0d8, 0x15, 0, 0, NO_PAD_CTRL) - -#define MX25_PAD_LD5__LD5		IOMUX_PAD(0x2d4, 0x0dc, 0x10, 0, 0, NO_PAD_CTRL) -#define MX25_PAD_LD5__GPIO_1_19		IOMUX_PAD(0x2d4, 0x0dc, 0x15, 0, 0, NO_PAD_CTRL) - -#define MX25_PAD_LD6__LD6		IOMUX_PAD(0x2d8, 0x0e0, 0x10, 0, 0, NO_PAD_CTRL) -#define MX25_PAD_LD6__GPIO_1_20		IOMUX_PAD(0x2d8, 0x0e0, 0x15, 0, 0, NO_PAD_CTRL) - -#define MX25_PAD_LD7__LD7		IOMUX_PAD(0x2dc, 0x0e4, 0x10, 0, 0, NO_PAD_CTRL) -#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_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_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_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_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_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_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_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_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) - -#define MX25_PAD_VSYNC__VSYNC		IOMUX_PAD(0x304, 0x10c, 0x10, 0, 0, NO_PAD_CTRL) -#define MX25_PAD_VSYNC__GPIO_1_23	IOMUX_PAD(0x304, 0x10c, 0x15, 0, 0, NO_PAD_CTRL) - -#define MX25_PAD_LSCLK__LSCLK		IOMUX_PAD(0x308, 0x110, 0x10, 0, 0, NO_PAD_CTRL) -#define MX25_PAD_LSCLK__GPIO_1_24	IOMUX_PAD(0x308, 0x110, 0x15, 0, 0, NO_PAD_CTRL) - -#define MX25_PAD_OE_ACD__OE_ACD		IOMUX_PAD(0x30c, 0x114, 0x10, 0, 0, NO_PAD_CTRL) -#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__PWM4_PWMO	IOMUX_PAD(0x310, 0x118, 0x14, 0, 0, NO_PAD_CTRL) -#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) -#define MX25_PAD_PWM__USBH2_OC		IOMUX_PAD(0x314, 0x11c, 0x16, 0x580, 1, PAD_CTL_PUS_100K_UP) - -#define MX25_PAD_CSI_D2__CSI_D2		IOMUX_PAD(0x318, 0x120, 0x10, 0, 0, NO_PAD_CTRL) -#define MX25_PAD_CSI_D2__UART5_RXD_MUX	IOMUX_PAD(0x318, 0x120, 0x11, 0x578, 1, NO_PAD_CTRL) -#define MX25_PAD_CSI_D2__GPIO_1_27	IOMUX_PAD(0x318, 0x120, 0x15, 0, 0, NO_PAD_CTRL) - -#define MX25_PAD_CSI_D3__CSI_D3		IOMUX_PAD(0x31c, 0x124, 0x10, 0, 0, NO_PAD_CTRL) -#define MX25_PAD_CSI_D3__GPIO_1_28	IOMUX_PAD(0x31c, 0x124, 0x15, 0, 0, NO_PAD_CTRL) - -#define MX25_PAD_CSI_D4__CSI_D4		IOMUX_PAD(0x320, 0x128, 0x10, 0, 0, NO_PAD_CTRL) -#define MX25_PAD_CSI_D4__UART5_RTS	IOMUX_PAD(0x320, 0x128, 0x11, 0x574, 1, NO_PAD_CTRL) -#define MX25_PAD_CSI_D4__GPIO_1_29	IOMUX_PAD(0x320, 0x128, 0x15, 0, 0, NO_PAD_CTRL) - -#define MX25_PAD_CSI_D5__CSI_D5		IOMUX_PAD(0x324, 0x12c, 0x10, 0, 0, NO_PAD_CTRL) -#define MX25_PAD_CSI_D5__GPIO_1_30	IOMUX_PAD(0x324, 0x12c, 0x15, 0, 0, NO_PAD_CTRL) - -#define MX25_PAD_CSI_D6__CSI_D6		IOMUX_PAD(0x328, 0x130, 0x10, 0, 0, NO_PAD_CTRL) -#define MX25_PAD_CSI_D6__GPIO_1_31	IOMUX_PAD(0x328, 0x130, 0x15, 0, 0, NO_PAD_CTRL) - -#define MX25_PAD_CSI_D7__CSI_D7		IOMUX_PAD(0x32c, 0x134, 0x10, 0, 0, NO_PAD_CTRL) -#define MX25_PAD_CSI_D7__GPIO_1_6	IOMUX_PAD(0x32c, 0x134, 0x15, 0, 0, NO_PAD_CTRL) - -#define MX25_PAD_CSI_D8__CSI_D8		IOMUX_PAD(0x330, 0x138, 0x10, 0, 0, NO_PAD_CTRL) -#define MX25_PAD_CSI_D8__GPIO_1_7	IOMUX_PAD(0x330, 0x138, 0x15, 0, 0, NO_PAD_CTRL) - -#define MX25_PAD_CSI_D9__CSI_D9		IOMUX_PAD(0x334, 0x13c, 0x10, 0, 0, NO_PAD_CTRL) -#define MX25_PAD_CSI_D9__GPIO_4_21	IOMUX_PAD(0x334, 0x13c, 0x15, 0, 0, NO_PAD_CTRL) - -#define MX25_PAD_CSI_MCLK__CSI_MCLK	IOMUX_PAD(0x338, 0x140, 0x10, 0, 0, NO_PAD_CTRL) -#define MX25_PAD_CSI_MCLK__GPIO_1_8	IOMUX_PAD(0x338, 0x140, 0x15, 0, 0, NO_PAD_CTRL) - -#define MX25_PAD_CSI_VSYNC__CSI_VSYNC	IOMUX_PAD(0x33c, 0x144, 0x10, 0, 0, NO_PAD_CTRL) -#define MX25_PAD_CSI_VSYNC__GPIO_1_9	IOMUX_PAD(0x33c, 0x144, 0x15, 0, 0, NO_PAD_CTRL) - -#define MX25_PAD_CSI_HSYNC__CSI_HSYNC	IOMUX_PAD(0x340, 0x148, 0x10, 0, 0, NO_PAD_CTRL) -#define MX25_PAD_CSI_HSYNC__GPIO_1_10	IOMUX_PAD(0x340, 0x148, 0x15, 0, 0, NO_PAD_CTRL) - -#define MX25_PAD_CSI_PIXCLK__CSI_PIXCLK	IOMUX_PAD(0x344, 0x14c, 0x10, 0, 0, NO_PAD_CTRL) -#define MX25_PAD_CSI_PIXCLK__GPIO_1_11	IOMUX_PAD(0x344, 0x14c, 0x15, 0, 0, NO_PAD_CTRL) - -#define MX25_PAD_I2C1_CLK__I2C1_CLK	IOMUX_PAD(0x348, 0x150, 0x10, 0, 0, NO_PAD_CTRL) -#define MX25_PAD_I2C1_CLK__GPIO_1_12	IOMUX_PAD(0x348, 0x150, 0x15, 0, 0, NO_PAD_CTRL) - -#define MX25_PAD_I2C1_DAT__I2C1_DAT	IOMUX_PAD(0x34c, 0x154, 0x10, 0, 0, NO_PAD_CTRL) -#define MX25_PAD_I2C1_DAT__GPIO_1_13	IOMUX_PAD(0x34c, 0x154, 0x15, 0, 0, NO_PAD_CTRL) - -#define MX25_PAD_CSPI1_MOSI__CSPI1_MOSI	IOMUX_PAD(0x350, 0x158, 0x10, 0, 0, NO_PAD_CTRL) -#define MX25_PAD_CSPI1_MOSI__GPIO_1_14	IOMUX_PAD(0x350, 0x158, 0x15, 0, 0, NO_PAD_CTRL) - -#define MX25_PAD_CSPI1_MISO__CSPI1_MISO	IOMUX_PAD(0x354, 0x15c, 0x10, 0, 0, NO_PAD_CTRL) -#define MX25_PAD_CSPI1_MISO__GPIO_1_15	IOMUX_PAD(0x354, 0x15c, 0x15, 0, 0, NO_PAD_CTRL) - -#define MX25_PAD_CSPI1_SS0__CSPI1_SS0	IOMUX_PAD(0x358, 0x160, 0x10, 0, 0, NO_PAD_CTRL) -#define MX25_PAD_CSPI1_SS0__GPIO_1_16	IOMUX_PAD(0x358, 0x160, 0x15, 0, 0, NO_PAD_CTRL) - -#define MX25_PAD_CSPI1_SS1__CSPI1_SS1	IOMUX_PAD(0x35c, 0x164, 0x10, 0, 0, NO_PAD_CTRL) -#define MX25_PAD_CSPI1_SS1__GPIO_1_17	IOMUX_PAD(0x35c, 0x164, 0x15, 0, 0, NO_PAD_CTRL) - -#define MX25_PAD_CSPI1_SCLK__CSPI1_SCLK	IOMUX_PAD(0x360, 0x168, 0x10, 0, 0, NO_PAD_CTRL) -#define MX25_PAD_CSPI1_SCLK__GPIO_1_18	IOMUX_PAD(0x360, 0x168, 0x15, 0, 0, NO_PAD_CTRL) - -#define MX25_PAD_CSPI1_RDY__CSPI1_RDY	IOMUX_PAD(0x364, 0x16c, 0x10, 0, 0, PAD_CTL_PKE) -#define MX25_PAD_CSPI1_RDY__GPIO_2_22	IOMUX_PAD(0x364, 0x16c, 0x15, 0, 0, NO_PAD_CTRL) - -#define MX25_PAD_UART1_RXD__UART1_RXD	IOMUX_PAD(0x368, 0x170, 0x10, 0, 0, PAD_CTL_PUS_100K_DOWN) -#define MX25_PAD_UART1_RXD__GPIO_4_22	IOMUX_PAD(0x368, 0x170, 0x15, 0, 0, NO_PAD_CTRL) - -#define MX25_PAD_UART1_TXD__UART1_TXD	IOMUX_PAD(0x36c, 0x174, 0x10, 0, 0, NO_PAD_CTRL) -#define MX25_PAD_UART1_TXD__GPIO_4_23	IOMUX_PAD(0x36c, 0x174, 0x15, 0, 0, NO_PAD_CTRL) - -#define MX25_PAD_UART1_RTS__UART1_RTS	IOMUX_PAD(0x370, 0x178, 0x10, 0, 0, PAD_CTL_PUS_100K_UP) -#define MX25_PAD_UART1_RTS__CSI_D0	IOMUX_PAD(0x370, 0x178, 0x11, 0x488, 1, NO_PAD_CTRL) -#define MX25_PAD_UART1_RTS__GPIO_4_24	IOMUX_PAD(0x370, 0x178, 0x15, 0, 0, NO_PAD_CTRL) - -#define MX25_PAD_UART1_CTS__UART1_CTS	IOMUX_PAD(0x374, 0x17c, 0x10, 0, 0, PAD_CTL_PUS_100K_UP) -#define MX25_PAD_UART1_CTS__CSI_D1	IOMUX_PAD(0x374, 0x17c, 0x11, 0x48c, 1, NO_PAD_CTRL) -#define MX25_PAD_UART1_CTS__GPIO_4_25	IOMUX_PAD(0x374, 0x17c, 0x15, 0, 0, NO_PAD_CTRL) - -#define MX25_PAD_UART2_RXD__UART2_RXD	IOMUX_PAD(0x378, 0x180, 0x10, 0, 0, NO_PAD_CTRL) -#define MX25_PAD_UART2_RXD__GPIO_4_26	IOMUX_PAD(0x378, 0x180, 0x15, 0, 0, NO_PAD_CTRL) - -#define MX25_PAD_UART2_TXD__UART2_TXD	IOMUX_PAD(0x37c, 0x184, 0x10, 0, 0, NO_PAD_CTRL) -#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_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_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_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_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) -#define MX25_PAD_SD1_DATA0__GPIO_2_25	IOMUX_PAD(0x390, 0x198, 0x15, 0, 0, NO_PAD_CTRL) - -#define MX25_PAD_SD1_DATA1__SD1_DATA1	IOMUX_PAD(0x394, 0x19c, 0x10, 0, 0, PAD_CTL_PUS_47K_UP) -#define MX25_PAD_SD1_DATA1__AUD7_RXD	IOMUX_PAD(0x394, 0x19c, 0x13, 0x478, 0, NO_PAD_CTRL) -#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_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_CTRL) -#define MX25_PAD_SD1_DATA3__GPIO_2_28	IOMUX_PAD(0x39c, 0x1a4, 0x15, 0, 0, NO_PAD_CTRL) - -#define KPP_CTL_ROW	(PAD_CTL_PKE | PAD_CTL_PUE | PAD_CTL_PUS_100K_UP) -#define KPP_CTL_COL	(PAD_CTL_PKE | PAD_CTL_PUE | PAD_CTL_PUS_100K_UP | PAD_CTL_ODE) - -#define MX25_PAD_KPP_ROW0__KPP_ROW0	IOMUX_PAD(0x3a0, 0x1a8, 0x10, 0, 0, KPP_CTL_ROW) -#define MX25_PAD_KPP_ROW0__GPIO_2_29	IOMUX_PAD(0x3a0, 0x1a8, 0x15, 0, 0, NO_PAD_CTRL) - -#define MX25_PAD_KPP_ROW1__KPP_ROW1	IOMUX_PAD(0x3a4, 0x1ac, 0x10, 0, 0, KPP_CTL_ROW) -#define MX25_PAD_KPP_ROW1__GPIO_2_30	IOMUX_PAD(0x3a4, 0x1ac, 0x15, 0, 0, NO_PAD_CTRL) - -#define MX25_PAD_KPP_ROW2__KPP_ROW2	IOMUX_PAD(0x3a8, 0x1b0, 0x10, 0, 0, KPP_CTL_ROW) -#define MX25_PAD_KPP_ROW2__CSI_D0	IOMUX_PAD(0x3a8, 0x1b0, 0x13, 0x488, 2, NO_PAD_CTRL) -#define MX25_PAD_KPP_ROW2__GPIO_2_31	IOMUX_PAD(0x3a8, 0x1b0, 0x15, 0, 0, NO_PAD_CTRL) - -#define MX25_PAD_KPP_ROW3__KPP_ROW3	IOMUX_PAD(0x3ac, 0x1b4, 0x10, 0, 0, KPP_CTL_ROW) -#define MX25_PAD_KPP_ROW3__CSI_LD1	IOMUX_PAD(0x3ac, 0x1b4, 0x13, 0x48c, 2, NO_PAD_CTRL) -#define MX25_PAD_KPP_ROW3__GPIO_3_0	IOMUX_PAD(0x3ac, 0x1b4, 0x15, 0, 0, NO_PAD_CTRL) - -#define MX25_PAD_KPP_COL0__KPP_COL0	IOMUX_PAD(0x3b0, 0x1b8, 0x10, 0, 0, KPP_CTL_COL) -#define MX25_PAD_KPP_COL0__UART4_RXD_MUX IOMUX_PAD(0x3b0, 0x1b8, 0x11, 0x570, 1, NO_PAD_CTRL) -#define MX25_PAD_KPP_COL0__AUD5_TXD	IOMUX_PAD(0x3b0, 0x1b8, 0x12, 0, 0, PAD_CTL_PKE | PAD_CTL_PUS_100K_UP) -#define MX25_PAD_KPP_COL0__GPIO_3_1	IOMUX_PAD(0x3b0, 0x1b8, 0x15, 0, 0, NO_PAD_CTRL) - -#define MX25_PAD_KPP_COL1__KPP_COL1	IOMUX_PAD(0x3b4, 0x1bc, 0x10, 0, 0, KPP_CTL_COL) -#define MX25_PAD_KPP_COL1__UART4_TXD_MUX IOMUX_PAD(0x3b4, 0x1bc, 0x11, 0, 0, NO_PAD_CTRL) -#define MX25_PAD_KPP_COL1__AUD5_RXD	IOMUX_PAD(0x3b4, 0x1bc, 0x12, 0, 0, PAD_CTL_PKE | PAD_CTL_PUS_100K_UP) -#define MX25_PAD_KPP_COL1__GPIO_3_2	IOMUX_PAD(0x3b4, 0x1bc, 0x15, 0, 0, NO_PAD_CTRL) - -#define MX25_PAD_KPP_COL2__KPP_COL2	IOMUX_PAD(0x3b8, 0x1c0, 0x10, 0, 0, KPP_CTL_COL) -#define MX25_PAD_KPP_COL2__UART4_RTS	IOMUX_PAD(0x3b8, 0x1c0, 0x11, 0, 0, NO_PAD_CTRL) -#define MX25_PAD_KPP_COL2__AUD5_TXC	IOMUX_PAD(0x3b8, 0x1c0, 0x12, 0, 0, PAD_CTL_PKE | PAD_CTL_PUS_100K_UP) -#define MX25_PAD_KPP_COL2__GPIO_3_3	IOMUX_PAD(0x3b8, 0x1c0, 0x15, 0, 0, NO_PAD_CTRL) - -#define MX25_PAD_KPP_COL3__KPP_COL3	IOMUX_PAD(0x3bc, 0x1c4, 0x10, 0, 0, KPP_CTL_COL) -#define MX25_PAD_KPP_COL3__UART4_CTS	IOMUX_PAD(0x3bc, 0x1c4, 0x11, 0, 0, NO_PAD_CTRL) -#define MX25_PAD_KPP_COL3__AUD5_TXFS	IOMUX_PAD(0x3bc, 0x1c4, 0x12, 0, 0, PAD_CTL_PKE | PAD_CTL_PUS_100K_UP) -#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_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) - -#define MX25_PAD_FEC_MDIO__FEC_MDIO	IOMUX_PAD(0x3c4, 0x1cc, 0x10, 0, 0, PAD_CTL_HYS | PAD_CTL_PUS_22K_UP) -#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_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_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_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_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_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_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) - -#define MX25_PAD_FEC_TX_CLK__FEC_TX_CLK	IOMUX_PAD(0x3e0, 0x1e8, 0x10, 0, 0, PAD_CTL_HYS | PAD_CTL_PUS_100K_DOWN) -#define MX25_PAD_FEC_TX_CLK__GPIO_3_13	IOMUX_PAD(0x3e0, 0x1e8, 0x15, 0, 0, NO_PAD_CTRL) - -#define MX25_PAD_RTCK__RTCK		IOMUX_PAD(0x3e4, 0x1ec, 0x10, 0, 0, NO_PAD_CTRL) -#define MX25_PAD_RTCK__OWIRE		IOMUX_PAD(0x3e4, 0x1ec, 0x11, 0, 0, NO_PAD_CTRL) -#define MX25_PAD_RTCK__GPIO_3_14	IOMUX_PAD(0x3e4, 0x1ec, 0x15, 0, 0, NO_PAD_CTRL) - -#define MX25_PAD_DE_B__DE_B		IOMUX_PAD(0x3ec, 0x1f0, 0x10, 0, 0, NO_PAD_CTRL) -#define MX25_PAD_DE_B__GPIO_2_20	IOMUX_PAD(0x3ec, 0x1f0, 0x15, 0, 0, NO_PAD_CTRL) - -#define MX25_PAD_TDO__TDO		IOMUX_PAD(0x3e8, 0x000, 0x00, 0, 0, NO_PAD_CTRL) - -#define MX25_PAD_GPIO_A__GPIO_A		IOMUX_PAD(0x3f0, 0x1f4, 0x10, 0, 0, NO_PAD_CTRL) -#define MX25_PAD_GPIO_A__CAN1_TX	IOMUX_PAD(0x3f0, 0x1f4, 0x16, 0, 0, PAD_CTL_PUS_22K_UP) -#define MX25_PAD_GPIO_A__USBOTG_PWR	IOMUX_PAD(0x3f0, 0x1f4, 0x12, 0, 0, PAD_CTL_PKE) - -#define MX25_PAD_GPIO_B__GPIO_B		IOMUX_PAD(0x3f4, 0x1f8, 0x10, 0, 0, NO_PAD_CTRL) -#define MX25_PAD_GPIO_B__CAN1_RX	IOMUX_PAD(0x3f4, 0x1f8, 0x16, 0x480, 1, PAD_CTL_PUS_22K) -#define MX25_PAD_GPIO_B__USBOTG_OC	IOMUX_PAD(0x3f4, 0x1f8, 0x12, 0x57c, 1, PAD_CTL_PUS_100K_UP) - -#define MX25_PAD_GPIO_C__GPIO_C		IOMUX_PAD(0x3f8, 0x1fc, 0x10, 0, 0, NO_PAD_CTRL) -#define MX25_PAD_GPIO_C__CAN2_TX	IOMUX_PAD(0x3f8, 0x1fc, 0x16, 0, 0, PAD_CTL_PUS_22K_UP) - -#define MX25_PAD_GPIO_D__GPIO_D		IOMUX_PAD(0x3fc, 0x200, 0x10, 0, 0, NO_PAD_CTRL) -#define MX25_PAD_GPIO_E__LD16		IOMUX_PAD(0x400, 0x204, 0x02, 0, 0, NO_PAD_CTRL) -#define MX25_PAD_GPIO_D__CAN2_RX	IOMUX_PAD(0x3fc, 0x200, 0x16, 0x484, 1, PAD_CTL_PUS_22K_UP) - -#define MX25_PAD_GPIO_E__GPIO_E		IOMUX_PAD(0x400, 0x204, 0x10, 0, 0, NO_PAD_CTRL) -#define MX25_PAD_GPIO_F__LD17		IOMUX_PAD(0x404, 0x208, 0x02, 0, 0, NO_PAD_CTRL) -#define MX25_PAD_GPIO_E__AUD7_TXD	IOMUX_PAD(0x400, 0x204, 0x14, 0, 0, NO_PAD_CTRL) - -#define MX25_PAD_GPIO_F__GPIO_F		IOMUX_PAD(0x404, 0x208, 0x10, 0, 0, NO_PAD_CTRL) -#define MX25_PAD_GPIO_F__AUD7_TXC	IOMUX_PAD(0x404, 0x208, 0x14, 0, 0, NO_PAD_CTRL) - -#define MX25_PAD_EXT_ARMCLK__EXT_ARMCLK	IOMUX_PAD(0x000, 0x20c, 0x10, 0, 0, NO_PAD_CTRL) -#define MX25_PAD_EXT_ARMCLK__GPIO_3_15	IOMUX_PAD(0x000, 0x20c, 0x15, 0, 0, NO_PAD_CTRL) - -#define MX25_PAD_UPLL_BYPCLK__UPLL_BYPCLK IOMUX_PAD(0x000, 0x210, 0x10, 0, 0, NO_PAD_CTRL) -#define MX25_PAD_UPLL_BYPCLK__GPIO_3_16	IOMUX_PAD(0x000, 0x210, 0x15, 0, 0, NO_PAD_CTRL) - -#define MX25_PAD_VSTBY_REQ__VSTBY_REQ	IOMUX_PAD(0x408, 0x214, 0x10, 0, 0, NO_PAD_CTRL) -#define MX25_PAD_VSTBY_REQ__AUD7_TXFS	IOMUX_PAD(0x408, 0x214, 0x14, 0, 0, NO_PAD_CTRL) -#define MX25_PAD_VSTBY_REQ__GPIO_3_17	IOMUX_PAD(0x408, 0x214, 0x15, 0, 0, NO_PAD_CTRL) -#define MX25_PAD_VSTBY_ACK__VSTBY_ACK	IOMUX_PAD(0x40c, 0x218, 0x10, 0, 0, NO_PAD_CTRL) -#define MX25_PAD_VSTBY_ACK__GPIO_3_18	IOMUX_PAD(0x40c, 0x218, 0x15, 0, 0, NO_PAD_CTRL) - -#define MX25_PAD_POWER_FAIL__POWER_FAIL	IOMUX_PAD(0x410, 0x21c, 0x10, 0, 0, NO_PAD_CTRL) -#define MX25_PAD_POWER_FAIL__AUD7_RXD	IOMUX_PAD(0x410, 0x21c, 0x14, 0x478, 1, NO_PAD_CTRL) -#define MX25_PAD_POWER_FAIL__GPIO_3_19	IOMUX_PAD(0x410, 0x21c, 0x15, 0, 0, NO_PAD_CTRL) - -#define MX25_PAD_CLKO__CLKO		IOMUX_PAD(0x414, 0x220, 0x10, 0, 0, NO_PAD_CTRL) -#define MX25_PAD_CLKO__GPIO_2_21	IOMUX_PAD(0x414, 0x220, 0x15, 0, 0, NO_PAD_CTRL) - -#define MX25_PAD_BOOT_MODE0__BOOT_MODE0	IOMUX_PAD(0x000, 0x224, 0x00, 0, 0, NO_PAD_CTRL) -#define MX25_PAD_BOOT_MODE0__GPIO_4_30	IOMUX_PAD(0x000, 0x224, 0x05, 0, 0, NO_PAD_CTRL) -#define MX25_PAD_BOOT_MODE1__BOOT_MODE1	IOMUX_PAD(0x000, 0x228, 0x00, 0, 0, NO_PAD_CTRL) -#define MX25_PAD_BOOT_MODE1__GPIO_4_31	IOMUX_PAD(0x000, 0x228, 0x05, 0, 0, NO_PAD_CTRL) - -#define MX25_PAD_CTL_GRP_DVS_MISC	IOMUX_PAD(0x418, 0x000, 0, 0, 0, NO_PAD_CTRL) -#define MX25_PAD_CTL_GRP_DSE_FEC	IOMUX_PAD(0x41c, 0x000, 0, 0, 0, NO_PAD_CTRL) -#define MX25_PAD_CTL_GRP_DVS_JTAG	IOMUX_PAD(0x420, 0x000, 0, 0, 0, NO_PAD_CTRL) -#define MX25_PAD_CTL_GRP_DSE_NFC	IOMUX_PAD(0x424, 0x000, 0, 0, 0, NO_PAD_CTRL) -#define MX25_PAD_CTL_GRP_DSE_CSI	IOMUX_PAD(0x428, 0x000, 0, 0, 0, NO_PAD_CTRL) -#define MX25_PAD_CTL_GRP_DSE_WEIM	IOMUX_PAD(0x42c, 0x000, 0, 0, 0, NO_PAD_CTRL) -#define MX25_PAD_CTL_GRP_DSE_DDR	IOMUX_PAD(0x430, 0x000, 0, 0, 0, NO_PAD_CTRL) -#define MX25_PAD_CTL_GRP_DVS_CRM	IOMUX_PAD(0x434, 0x000, 0, 0, 0, NO_PAD_CTRL) -#define MX25_PAD_CTL_GRP_DSE_KPP	IOMUX_PAD(0x438, 0x000, 0, 0, 0, NO_PAD_CTRL) -#define MX25_PAD_CTL_GRP_DSE_SDHC1	IOMUX_PAD(0x43c, 0x000, 0, 0, 0, NO_PAD_CTRL) -#define MX25_PAD_CTL_GRP_DSE_LCD	IOMUX_PAD(0x440, 0x000, 0, 0, 0, NO_PAD_CTRL) -#define MX25_PAD_CTL_GRP_DSE_UART	IOMUX_PAD(0x444, 0x000, 0, 0, 0, NO_PAD_CTRL) -#define MX25_PAD_CTL_GRP_DVS_NFC	IOMUX_PAD(0x448, 0x000, 0, 0, 0, NO_PAD_CTRL) -#define MX25_PAD_CTL_GRP_DVS_CSI	IOMUX_PAD(0x44c, 0x000, 0, 0, 0, NO_PAD_CTRL) -#define MX25_PAD_CTL_GRP_DSE_CSPI1	IOMUX_PAD(0x450, 0x000, 0, 0, 0, NO_PAD_CTRL) -#define MX25_PAD_CTL_GRP_DDRTYPE	IOMUX_PAD(0x454, 0x000, 0, 0, 0, NO_PAD_CTRL) -#define MX25_PAD_CTL_GRP_DVS_SDHC1	IOMUX_PAD(0x458, 0x000, 0, 0, 0, NO_PAD_CTRL) -#define MX25_PAD_CTL_GRP_DVS_LCD	IOMUX_PAD(0x45c, 0x000, 0, 0, 0, NO_PAD_CTRL) - -#endif /* __MACH_IOMUX_MX25_H__ */ diff --git a/arch/arm/plat-mxc/include/mach/iomux-mx27.h b/arch/arm/plat-mxc/include/mach/iomux-mx27.h deleted file mode 100644 index d9f9a6e32d8..00000000000 --- a/arch/arm/plat-mxc/include/mach/iomux-mx27.h +++ /dev/null @@ -1,205 +0,0 @@ -/* - * Copyright (C) 2008 by Sascha Hauer <kernel@pengutronix.de> - * Copyright (C) 2009 by Holger Schurig <hs4233@mail.mn-solutions.de> - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, - * MA 02110-1301, USA. - */ -#ifndef __MACH_IOMUX_MX27_H__ -#define __MACH_IOMUX_MX27_H__ - -#include <mach/iomux-mx2x.h> -#include <mach/iomux-v1.h> - -/* Primary GPIO pin functions */ - -#define PA0_PF_USBH2_CLK	(GPIO_PORTA | GPIO_PF | 0) -#define PA1_PF_USBH2_DIR	(GPIO_PORTA | GPIO_PF | 1) -#define PA2_PF_USBH2_DATA7	(GPIO_PORTA | GPIO_PF | 2) -#define PA3_PF_USBH2_NXT	(GPIO_PORTA | GPIO_PF | 3) -#define PA4_PF_USBH2_STP	(GPIO_PORTA | GPIO_PF | 4) -#define PB22_PF_USBH1_SUSP	(GPIO_PORTB | GPIO_PF | 22) -#define PB25_PF_USBH1_RCV	(GPIO_PORTB | GPIO_PF | 25) -#define PC5_PF_I2C2_SDA		(GPIO_PORTC | GPIO_PF | GPIO_IN | 5) -#define PC6_PF_I2C2_SCL		(GPIO_PORTC | GPIO_PF | GPIO_IN | 6) -#define PC7_PF_USBOTG_DATA5	(GPIO_PORTC | GPIO_PF | GPIO_OUT | 7) -#define PC8_PF_USBOTG_DATA6	(GPIO_PORTC | GPIO_PF | GPIO_OUT | 8) -#define PC9_PF_USBOTG_DATA0	(GPIO_PORTC | GPIO_PF | GPIO_OUT | 9) -#define PC10_PF_USBOTG_DATA2	(GPIO_PORTC | GPIO_PF | GPIO_OUT | 10) -#define PC11_PF_USBOTG_DATA1	(GPIO_PORTC | GPIO_PF | GPIO_OUT | 11) -#define PC12_PF_USBOTG_DATA4	(GPIO_PORTC | GPIO_PF | GPIO_OUT | 12) -#define PC13_PF_USBOTG_DATA3	(GPIO_PORTC | GPIO_PF | GPIO_OUT | 13) -#define PC16_PF_SSI4_FS		(GPIO_PORTC | GPIO_PF | GPIO_IN | 16) -#define PC17_PF_SSI4_RXD	(GPIO_PORTC | GPIO_PF | GPIO_IN | 17) -#define PC18_PF_SSI4_TXD	(GPIO_PORTC | GPIO_PF | GPIO_IN | 18) -#define PC19_PF_SSI4_CLK	(GPIO_PORTC | GPIO_PF | GPIO_IN | 19) -#define PD0_PF_SD3_CMD		(GPIO_PORTD | GPIO_PF | 0) -#define PD1_PF_SD3_CLK		(GPIO_PORTD | GPIO_PF | 1) -#define PD2_PF_ATA_DATA0	(GPIO_PORTD | GPIO_PF | 2) -#define PD3_PF_ATA_DATA1	(GPIO_PORTD | GPIO_PF | 3) -#define PD4_PF_ATA_DATA2	(GPIO_PORTD | GPIO_PF | 4) -#define PD5_PF_ATA_DATA3	(GPIO_PORTD | GPIO_PF | 5) -#define PD6_PF_ATA_DATA4	(GPIO_PORTD | GPIO_PF | 6) -#define PD7_PF_ATA_DATA5	(GPIO_PORTD | GPIO_PF | 7) -#define PD8_PF_ATA_DATA6	(GPIO_PORTD | GPIO_PF | 8) -#define PD9_PF_ATA_DATA7	(GPIO_PORTD | GPIO_PF | 9) -#define PD10_PF_ATA_DATA8	(GPIO_PORTD | GPIO_PF | 10) -#define PD11_PF_ATA_DATA9	(GPIO_PORTD | GPIO_PF | 11) -#define PD12_PF_ATA_DATA10	(GPIO_PORTD | GPIO_PF | 12) -#define PD13_PF_ATA_DATA11	(GPIO_PORTD | GPIO_PF | 13) -#define PD14_PF_ATA_DATA12	(GPIO_PORTD | GPIO_PF | 14) -#define PD15_PF_ATA_DATA13	(GPIO_PORTD | GPIO_PF | 15) -#define PD16_PF_ATA_DATA14	(GPIO_PORTD | GPIO_PF | 16) -#define PE0_PF_USBOTG_NXT	(GPIO_PORTE | GPIO_PF | GPIO_OUT | 0) -#define PE1_PF_USBOTG_STP	(GPIO_PORTE | GPIO_PF | GPIO_OUT | 1) -#define PE2_PF_USBOTG_DIR	(GPIO_PORTE | GPIO_PF | GPIO_OUT | 2) -#define PE24_PF_USBOTG_CLK	(GPIO_PORTE | GPIO_PF | GPIO_OUT | 24) -#define PE25_PF_USBOTG_DATA7	(GPIO_PORTE | GPIO_PF | GPIO_OUT | 25) -#define PF1_PF_NFCLE		(GPIO_PORTF | GPIO_PF | 1) -#define PF3_PF_NFCE		(GPIO_PORTF | GPIO_PF | 3) -#define PF7_PF_PC_POE		(GPIO_PORTF | GPIO_PF | 7) -#define PF8_PF_PC_RW		(GPIO_PORTF | GPIO_PF | 8) -#define PF9_PF_PC_IOIS16	(GPIO_PORTF | GPIO_PF | 9) -#define PF10_PF_PC_RST		(GPIO_PORTF | GPIO_PF | 10) -#define PF11_PF_PC_BVD2		(GPIO_PORTF | GPIO_PF | 11) -#define PF12_PF_PC_BVD1		(GPIO_PORTF | GPIO_PF | 12) -#define PF13_PF_PC_VS2		(GPIO_PORTF | GPIO_PF | 13) -#define PF14_PF_PC_VS1		(GPIO_PORTF | GPIO_PF | 14) -#define PF16_PF_PC_PWRON	(GPIO_PORTF | GPIO_PF | 16) -#define PF17_PF_PC_READY	(GPIO_PORTF | GPIO_PF | 17) -#define PF18_PF_PC_WAIT		(GPIO_PORTF | GPIO_PF | 18) -#define PF19_PF_PC_CD2		(GPIO_PORTF | GPIO_PF | 19) -#define PF20_PF_PC_CD1		(GPIO_PORTF | GPIO_PF | 20) -#define PF23_PF_ATA_DATA15	(GPIO_PORTF | GPIO_PF | 23) - -/* Alternate GPIO pin functions */ - -#define PB4_AF_MSHC_DATA0	(GPIO_PORTB | GPIO_AF | GPIO_OUT | 4) -#define PB5_AF_MSHC_DATA1	(GPIO_PORTB | GPIO_AF | GPIO_OUT | 5) -#define PB6_AF_MSHC_DATA2	(GPIO_PORTB | GPIO_AF | GPIO_OUT | 6) -#define PB7_AF_MSHC_DATA4	(GPIO_PORTB | GPIO_AF | GPIO_OUT | 7) -#define PB8_AF_MSHC_BS		(GPIO_PORTB | GPIO_AF | GPIO_OUT | 8) -#define PB9_AF_MSHC_SCLK	(GPIO_PORTB | GPIO_AF | GPIO_OUT | 9) -#define PB10_AF_UART6_TXD	(GPIO_PORTB | GPIO_AF | GPIO_OUT | 10) -#define PB11_AF_UART6_RXD	(GPIO_PORTB | GPIO_AF | GPIO_IN | 11) -#define PB12_AF_UART6_CTS	(GPIO_PORTB | GPIO_AF | GPIO_OUT | 12) -#define PB13_AF_UART6_RTS	(GPIO_PORTB | GPIO_AF | GPIO_IN | 13) -#define PB18_AF_UART5_TXD	(GPIO_PORTB | GPIO_AF | GPIO_OUT | 18) -#define PB19_AF_UART5_RXD	(GPIO_PORTB | GPIO_AF | GPIO_IN | 19) -#define PB20_AF_UART5_CTS	(GPIO_PORTB | GPIO_AF | GPIO_OUT | 20) -#define PB21_AF_UART5_RTS	(GPIO_PORTB | GPIO_AF | GPIO_IN | 21) -#define PC8_AF_FEC_MDIO		(GPIO_PORTC | GPIO_AF | GPIO_IN | 8) -#define PC24_AF_GPT5_TOUT	(GPIO_PORTC | GPIO_AF | 24) -#define PC25_AF_GPT5_TIN	(GPIO_PORTC | GPIO_AF | 25) -#define PC26_AF_GPT4_TOUT	(GPIO_PORTC | GPIO_AF | 26) -#define PC27_AF_GPT4_TIN	(GPIO_PORTC | GPIO_AF | 27) -#define PD1_AF_ETMTRACE_PKT15	(GPIO_PORTD | GPIO_AF | 1) -#define PD6_AF_ETMTRACE_PKT14	(GPIO_PORTD | GPIO_AF | 6) -#define PD7_AF_ETMTRACE_PKT13	(GPIO_PORTD | GPIO_AF | 7) -#define PD9_AF_ETMTRACE_PKT12	(GPIO_PORTD | GPIO_AF | 9) -#define PD2_AF_SD3_D0		(GPIO_PORTD | GPIO_AF | 2) -#define PD3_AF_SD3_D1		(GPIO_PORTD | GPIO_AF | 3) -#define PD4_AF_SD3_D2		(GPIO_PORTD | GPIO_AF | 4) -#define PD5_AF_SD3_D3		(GPIO_PORTD | GPIO_AF | 5) -#define PD8_AF_FEC_MDIO		(GPIO_PORTD | GPIO_AF | GPIO_IN | 8) -#define PD10_AF_ETMTRACE_PKT11	(GPIO_PORTD | GPIO_AF | 10) -#define PD11_AF_ETMTRACE_PKT10	(GPIO_PORTD | GPIO_AF | 11) -#define PD12_AF_ETMTRACE_PKT9	(GPIO_PORTD | GPIO_AF | 12) -#define PD13_AF_ETMTRACE_PKT8	(GPIO_PORTD | GPIO_AF | 13) -#define PD14_AF_ETMTRACE_PKT7	(GPIO_PORTD | GPIO_AF | 14) -#define PD15_AF_ETMTRACE_PKT6	(GPIO_PORTD | GPIO_AF | 15) -#define PD16_AF_ETMTRACE_PKT5	(GPIO_PORTD | GPIO_AF | 16) -#define PF1_AF_ETMTRACE_PKT0	(GPIO_PORTF | GPIO_AF | 1) -#define PF3_AF_ETMTRACE_PKT2	(GPIO_PORTF | GPIO_AF | 3) -#define PF5_AF_ETMPIPESTAT11	(GPIO_PORTF | GPIO_AF | 5) -#define PF7_AF_ATA_BUFFER_EN	(GPIO_PORTF | GPIO_AF | 7) -#define PF8_AF_ATA_IORDY	(GPIO_PORTF | GPIO_AF | 8) -#define PF9_AF_ATA_INTRQ	(GPIO_PORTF | GPIO_AF | 9) -#define PF10_AF_ATA_RESET	(GPIO_PORTF | GPIO_AF | 10) -#define PF11_AF_ATA_DMACK	(GPIO_PORTF | GPIO_AF | 11) -#define PF12_AF_ATA_DMAREQ	(GPIO_PORTF | GPIO_AF | 12) -#define PF13_AF_ATA_DA0		(GPIO_PORTF | GPIO_AF | 13) -#define PF14_AF_ATA_DA1		(GPIO_PORTF | GPIO_AF | 14) -#define PF15_AF_ETMTRACE_SYNC	(GPIO_PORTF | GPIO_AF | 15) -#define PF16_AF_ATA_DA2		(GPIO_PORTF | GPIO_AF | 16) -#define PF17_AF_ATA_CS0		(GPIO_PORTF | GPIO_AF | 17) -#define PF18_AF_ATA_CS1		(GPIO_PORTF | GPIO_AF | 18) -#define PF19_AF_ATA_DIOW	(GPIO_PORTF | GPIO_AF | 19) -#define PF20_AF_ATA_DIOR	(GPIO_PORTF | GPIO_AF | 20) -#define PF22_AF_ETMTRACE_CLK	(GPIO_PORTF | GPIO_AF | 22) -#define PF23_AF_ETMTRACE_PKT4	(GPIO_PORTF | GPIO_AF | 23) - -/* AIN GPIO pin functions */ - -#define PC14_AIN_SSI1_MCLK	(GPIO_PORTC | GPIO_AIN | GPIO_OUT | 14) -#define PC15_AIN_GPT6_TOUT	(GPIO_PORTC | GPIO_AIN | GPIO_OUT | 15) -#define PD0_AIN_FEC_TXD0	(GPIO_PORTD | GPIO_AIN | GPIO_OUT | 0) -#define PD1_AIN_FEC_TXD1	(GPIO_PORTD | GPIO_AIN | GPIO_OUT | 1) -#define PD2_AIN_FEC_TXD2	(GPIO_PORTD | GPIO_AIN | GPIO_OUT | 2) -#define PD3_AIN_FEC_TXD3	(GPIO_PORTD | GPIO_AIN | GPIO_OUT | 3) -#define PD9_AIN_FEC_MDC		(GPIO_PORTD | GPIO_AIN | GPIO_OUT | 9) -#define PD16_AIN_FEC_TX_ER	(GPIO_PORTD | GPIO_AIN | GPIO_OUT | 16) -#define PD27_AIN_EXT_DMA_GRANT	(GPIO_PORTD | GPIO_AIN | GPIO_OUT | 27) -#define PF23_AIN_FEC_TX_EN	(GPIO_PORTF | GPIO_AIN | GPIO_OUT | 23) - -/* BIN GPIO pin functions */ - -#define PC14_BIN_SSI2_MCLK	(GPIO_PORTC | GPIO_BIN | GPIO_OUT | 14) - -/* CIN GPIO pin functions */ - -#define PD2_CIN_SLCDC1_DAT0	(GPIO_PORTD | GPIO_CIN | GPIO_OUT | 2) -#define PD3_CIN_SLCDC1_DAT1	(GPIO_PORTD | GPIO_CIN | GPIO_OUT | 3) -#define PD4_CIN_SLCDC1_DAT2	(GPIO_PORTD | GPIO_CIN | GPIO_OUT | 4) -#define PD5_CIN_SLCDC1_DAT3	(GPIO_PORTD | GPIO_CIN | GPIO_OUT | 5) -#define PD6_CIN_SLCDC1_DAT4	(GPIO_PORTD | GPIO_CIN | GPIO_OUT | 6) -#define PD7_CIN_SLCDC1_DAT5	(GPIO_PORTD | GPIO_CIN | GPIO_OUT | 7) -#define PD8_CIN_SLCDC1_DAT6	(GPIO_PORTD | GPIO_CIN | GPIO_OUT | 8) -#define PD9_CIN_SLCDC1_DAT7	(GPIO_PORTD | GPIO_CIN | GPIO_OUT | 9) -#define PD10_CIN_SLCDC1_DAT8	(GPIO_PORTD | GPIO_CIN | GPIO_OUT | 10) -#define PD11_CIN_SLCDC1_DAT9	(GPIO_PORTD | GPIO_CIN | GPIO_OUT | 11) -#define PD12_CIN_SLCDC1_DAT10	(GPIO_PORTD | GPIO_CIN | GPIO_OUT | 12) -#define PD13_CIN_SLCDC1_DAT11	(GPIO_PORTD | GPIO_CIN | GPIO_OUT | 13) -#define PD14_CIN_SLCDC1_DAT12	(GPIO_PORTD | GPIO_CIN | GPIO_OUT | 14) -#define PD15_CIN_SLCDC1_DAT13	(GPIO_PORTD | GPIO_CIN | GPIO_OUT | 15) -#define PD16_CIN_SLCDC1_DAT14	(GPIO_PORTD | GPIO_CIN | GPIO_OUT | 16) -#define PD23_CIN_SLCDC1_DAT15	(GPIO_PORTD | GPIO_CIN | GPIO_OUT | 23) -#define PF27_CIN_EXT_DMA_GRANT	(GPIO_PORTF | GPIO_CIN | GPIO_OUT | 27) -/* LCDC_TESTx on PBxx omitted, because it's not clear what they do */ - -/* AOUT GPIO pin functions */ - -#define PC14_AOUT_GPT6_TIN	(GPIO_PORTC | GPIO_AOUT | GPIO_IN | 14) -#define PD4_AOUT_FEC_RX_ER	(GPIO_PORTD | GPIO_AOUT | GPIO_IN | 4) -#define PD5_AOUT_FEC_RXD1	(GPIO_PORTD | GPIO_AOUT | GPIO_IN | 5) -#define PD6_AOUT_FEC_RXD2	(GPIO_PORTD | GPIO_AOUT | GPIO_IN | 6) -#define PD7_AOUT_FEC_RXD3	(GPIO_PORTD | GPIO_AOUT | GPIO_IN | 7) -#define PD10_AOUT_FEC_CRS	(GPIO_PORTD | GPIO_AOUT | GPIO_IN | 10) -#define PD11_AOUT_FEC_TX_CLK	(GPIO_PORTD | GPIO_AOUT | GPIO_IN | 11) -#define PD12_AOUT_FEC_RXD0	(GPIO_PORTD | GPIO_AOUT | GPIO_IN | 12) -#define PD13_AOUT_FEC_RX_DV	(GPIO_PORTD | GPIO_AOUT | GPIO_IN | 13) -#define PD14_AOUT_FEC_RX_CLK	(GPIO_PORTD | GPIO_AOUT | GPIO_IN | 14) -#define PD15_AOUT_FEC_COL	(GPIO_PORTD | GPIO_AOUT | GPIO_IN | 15) - -/* BOUT GPIO pin functions */ - -#define PC17_BOUT_PC_IOIS16	(GPIO_PORTC | GPIO_BOUT | GPIO_IN | 17) -#define PC18_BOUT_PC_BVD2	(GPIO_PORTC | GPIO_BOUT | GPIO_IN | 18) -#define PC19_BOUT_PC_BVD1	(GPIO_PORTC | GPIO_BOUT | GPIO_IN | 19) -#define PC28_BOUT_PC_BVD2	(GPIO_PORTC | GPIO_BOUT | GPIO_IN | 28) -#define PC29_BOUT_PC_VS1	(GPIO_PORTC | GPIO_BOUT | GPIO_IN | 29) -#define PC30_BOUT_PC_READY	(GPIO_PORTC | GPIO_BOUT | GPIO_IN | 30) -#define PC31_BOUT_PC_WAIT	(GPIO_PORTC | GPIO_BOUT | GPIO_IN | 31) - -#endif /* __MACH_IOMUX_MX27_H__ */ diff --git a/arch/arm/plat-mxc/include/mach/iomux-mx2x.h b/arch/arm/plat-mxc/include/mach/iomux-mx2x.h deleted file mode 100644 index c4f116d214f..00000000000 --- a/arch/arm/plat-mxc/include/mach/iomux-mx2x.h +++ /dev/null @@ -1,230 +0,0 @@ -/* - * Copyright (C) 2008 by Sascha Hauer <kernel@pengutronix.de> - * Copyright (C) 2009 by Holger Schurig <hs4233@mail.mn-solutions.de> - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, - * MA 02110-1301, USA. - */ -#ifndef __MACH_IOMUX_MX2x_H__ -#define __MACH_IOMUX_MX2x_H__ - -/* Primary GPIO pin functions */ - -#define PA5_PF_LSCLK		(GPIO_PORTA | GPIO_PF | GPIO_OUT | 5) -#define PA6_PF_LD0		(GPIO_PORTA | GPIO_PF | GPIO_OUT | 6) -#define PA7_PF_LD1		(GPIO_PORTA | GPIO_PF | GPIO_OUT | 7) -#define PA8_PF_LD2		(GPIO_PORTA | GPIO_PF | GPIO_OUT | 8) -#define PA9_PF_LD3		(GPIO_PORTA | GPIO_PF | GPIO_OUT | 9) -#define PA10_PF_LD4		(GPIO_PORTA | GPIO_PF | GPIO_OUT | 10) -#define PA11_PF_LD5		(GPIO_PORTA | GPIO_PF | GPIO_OUT | 11) -#define PA12_PF_LD6		(GPIO_PORTA | GPIO_PF | GPIO_OUT | 12) -#define PA13_PF_LD7		(GPIO_PORTA | GPIO_PF | GPIO_OUT | 13) -#define PA14_PF_LD8		(GPIO_PORTA | GPIO_PF | GPIO_OUT | 14) -#define PA15_PF_LD9		(GPIO_PORTA | GPIO_PF | GPIO_OUT | 15) -#define PA16_PF_LD10		(GPIO_PORTA | GPIO_PF | GPIO_OUT | 16) -#define PA17_PF_LD11		(GPIO_PORTA | GPIO_PF | GPIO_OUT | 17) -#define PA18_PF_LD12		(GPIO_PORTA | GPIO_PF | GPIO_OUT | 18) -#define PA19_PF_LD13		(GPIO_PORTA | GPIO_PF | GPIO_OUT | 19) -#define PA20_PF_LD14		(GPIO_PORTA | GPIO_PF | GPIO_OUT | 20) -#define PA21_PF_LD15		(GPIO_PORTA | GPIO_PF | GPIO_OUT | 21) -#define PA22_PF_LD16		(GPIO_PORTA | GPIO_PF | GPIO_OUT | 22) -#define PA23_PF_LD17		(GPIO_PORTA | GPIO_PF | GPIO_OUT | 23) -#define PA24_PF_REV		(GPIO_PORTA | GPIO_PF | GPIO_OUT | 24) -#define PA25_PF_CLS		(GPIO_PORTA | GPIO_PF | GPIO_OUT | 25) -#define PA26_PF_PS		(GPIO_PORTA | GPIO_PF | GPIO_OUT | 26) -#define PA27_PF_SPL_SPR		(GPIO_PORTA | GPIO_PF | GPIO_OUT | 27) -#define PA28_PF_HSYNC		(GPIO_PORTA | GPIO_PF | GPIO_OUT | 28) -#define PA29_PF_VSYNC		(GPIO_PORTA | GPIO_PF | GPIO_OUT | 29) -#define PA30_PF_CONTRAST	(GPIO_PORTA | GPIO_PF | GPIO_OUT | 30) -#define PA31_PF_OE_ACD		(GPIO_PORTA | GPIO_PF | GPIO_OUT | 31) -#define PB4_PF_SD2_D0		(GPIO_PORTB | GPIO_PF | 4) -#define PB5_PF_SD2_D1		(GPIO_PORTB | GPIO_PF | 5) -#define PB6_PF_SD2_D2		(GPIO_PORTB | GPIO_PF | 6) -#define PB7_PF_SD2_D3		(GPIO_PORTB | GPIO_PF | 7) -#define PB8_PF_SD2_CMD		(GPIO_PORTB | GPIO_PF | 8) -#define PB9_PF_SD2_CLK		(GPIO_PORTB | GPIO_PF | 9) -#define PB10_PF_CSI_D0		(GPIO_PORTB | GPIO_PF | GPIO_OUT | 10) -#define PB11_PF_CSI_D1		(GPIO_PORTB | GPIO_PF | GPIO_OUT | 11) -#define PB12_PF_CSI_D2		(GPIO_PORTB | GPIO_PF | GPIO_OUT | 12) -#define PB13_PF_CSI_D3		(GPIO_PORTB | GPIO_PF | GPIO_OUT | 13) -#define PB14_PF_CSI_D4		(GPIO_PORTB | GPIO_PF | GPIO_OUT | 14) -#define PB15_PF_CSI_MCLK	(GPIO_PORTB | GPIO_PF | GPIO_OUT | 15) -#define PB16_PF_CSI_PIXCLK	(GPIO_PORTB | GPIO_PF | GPIO_OUT | 16) -#define PB17_PF_CSI_D5		(GPIO_PORTB | GPIO_PF | GPIO_OUT | 17) -#define PB18_PF_CSI_D6		(GPIO_PORTB | GPIO_PF | GPIO_OUT | 18) -#define PB19_PF_CSI_D7		(GPIO_PORTB | GPIO_PF | GPIO_OUT | 19) -#define PB20_PF_CSI_VSYNC	(GPIO_PORTB | GPIO_PF | GPIO_OUT | 20) -#define PB21_PF_CSI_HSYNC	(GPIO_PORTB | GPIO_PF | GPIO_OUT | 21) -#define PB23_PF_USB_PWR		(GPIO_PORTB | GPIO_PF | 23) -#define PB24_PF_USB_OC		(GPIO_PORTB | GPIO_PF | 24) -#define PB26_PF_USBH1_FS	(GPIO_PORTB | GPIO_PF | 26) -#define PB27_PF_USBH1_OE	(GPIO_PORTB | GPIO_PF | 27) -#define PB28_PF_USBH1_TXDM	(GPIO_PORTB | GPIO_PF | 28) -#define PB29_PF_USBH1_TXDP	(GPIO_PORTB | GPIO_PF | 29) -#define PB30_PF_USBH1_RXDM	(GPIO_PORTB | GPIO_PF | 30) -#define PB31_PF_USBH1_RXDP	(GPIO_PORTB | GPIO_PF | 31) -#define PC14_PF_TOUT		(GPIO_PORTC | GPIO_PF | 14) -#define PC15_PF_TIN		(GPIO_PORTC | GPIO_PF | 15) -#define PC20_PF_SSI1_FS		(GPIO_PORTC | GPIO_PF | GPIO_IN | 20) -#define PC21_PF_SSI1_RXD	(GPIO_PORTC | GPIO_PF | GPIO_IN | 21) -#define PC22_PF_SSI1_TXD	(GPIO_PORTC | GPIO_PF | GPIO_IN | 22) -#define PC23_PF_SSI1_CLK	(GPIO_PORTC | GPIO_PF | GPIO_IN | 23) -#define PC24_PF_SSI2_FS		(GPIO_PORTC | GPIO_PF | GPIO_IN | 24) -#define PC25_PF_SSI2_RXD	(GPIO_PORTC | GPIO_PF | GPIO_IN | 25) -#define PC26_PF_SSI2_TXD	(GPIO_PORTC | GPIO_PF | GPIO_IN | 26) -#define PC27_PF_SSI2_CLK	(GPIO_PORTC | GPIO_PF | GPIO_IN | 27) -#define PC28_PF_SSI3_FS		(GPIO_PORTC | GPIO_PF | GPIO_IN | 28) -#define PC29_PF_SSI3_RXD	(GPIO_PORTC | GPIO_PF | GPIO_IN | 29) -#define PC30_PF_SSI3_TXD	(GPIO_PORTC | GPIO_PF | GPIO_IN | 30) -#define PC31_PF_SSI3_CLK	(GPIO_PORTC | GPIO_PF | GPIO_IN | 31) -#define PD17_PF_I2C_DATA	(GPIO_PORTD | GPIO_PF | GPIO_OUT | 17) -#define PD18_PF_I2C_CLK		(GPIO_PORTD | GPIO_PF | GPIO_OUT | 18) -#define PD19_PF_CSPI2_SS2	(GPIO_PORTD | GPIO_PF | 19) -#define PD20_PF_CSPI2_SS1	(GPIO_PORTD | GPIO_PF | 20) -#define PD21_PF_CSPI2_SS0	(GPIO_PORTD | GPIO_PF | 21) -#define PD22_PF_CSPI2_SCLK	(GPIO_PORTD | GPIO_PF | 22) -#define PD23_PF_CSPI2_MISO	(GPIO_PORTD | GPIO_PF | 23) -#define PD24_PF_CSPI2_MOSI	(GPIO_PORTD | GPIO_PF | 24) -#define PD25_PF_CSPI1_RDY	(GPIO_PORTD | GPIO_PF | GPIO_OUT | 25) -#define PD26_PF_CSPI1_SS2	(GPIO_PORTD | GPIO_PF | GPIO_OUT | 26) -#define PD27_PF_CSPI1_SS1	(GPIO_PORTD | GPIO_PF | GPIO_OUT | 27) -#define PD28_PF_CSPI1_SS0	(GPIO_PORTD | GPIO_PF | GPIO_OUT | 28) -#define PD29_PF_CSPI1_SCLK	(GPIO_PORTD | GPIO_PF | GPIO_OUT | 29) -#define PD30_PF_CSPI1_MISO	(GPIO_PORTD | GPIO_PF | GPIO_IN | 30) -#define PD31_PF_CSPI1_MOSI	(GPIO_PORTD | GPIO_PF | GPIO_OUT | 31) -#define PE3_PF_UART2_CTS	(GPIO_PORTE | GPIO_PF | GPIO_OUT | 3) -#define PE4_PF_UART2_RTS	(GPIO_PORTE | GPIO_PF | GPIO_IN | 4) -#define PE5_PF_PWMO		(GPIO_PORTE | GPIO_PF | 5) -#define PE6_PF_UART2_TXD	(GPIO_PORTE | GPIO_PF | GPIO_OUT | 6) -#define PE7_PF_UART2_RXD	(GPIO_PORTE | GPIO_PF | GPIO_IN | 7) -#define PE8_PF_UART3_TXD	(GPIO_PORTE | GPIO_PF | GPIO_OUT | 8) -#define PE9_PF_UART3_RXD	(GPIO_PORTE | GPIO_PF | GPIO_IN | 9) -#define PE10_PF_UART3_CTS	(GPIO_PORTE | GPIO_PF | GPIO_OUT | 10) -#define PE11_PF_UART3_RTS	(GPIO_PORTE | GPIO_PF | GPIO_IN | 11) -#define PE12_PF_UART1_TXD	(GPIO_PORTE | GPIO_PF | GPIO_OUT | 12) -#define PE13_PF_UART1_RXD	(GPIO_PORTE | GPIO_PF | GPIO_IN | 13) -#define PE14_PF_UART1_CTS	(GPIO_PORTE | GPIO_PF | GPIO_OUT | 14) -#define PE15_PF_UART1_RTS	(GPIO_PORTE | GPIO_PF | GPIO_IN | 15) -#define PE16_PF_RTCK		(GPIO_PORTE | GPIO_PF | GPIO_OUT | 16) -#define PE17_PF_RESET_OUT	(GPIO_PORTE | GPIO_PF | 17) -#define PE18_PF_SD1_D0		(GPIO_PORTE | GPIO_PF | 18) -#define PE19_PF_SD1_D1		(GPIO_PORTE | GPIO_PF | 19) -#define PE20_PF_SD1_D2		(GPIO_PORTE | GPIO_PF | 20) -#define PE21_PF_SD1_D3		(GPIO_PORTE | GPIO_PF | 21) -#define PE22_PF_SD1_CMD		(GPIO_PORTE | GPIO_PF | 22) -#define PE23_PF_SD1_CLK		(GPIO_PORTE | GPIO_PF | 23) -#define PF0_PF_NRFB		(GPIO_PORTF | GPIO_PF | 0) -#define PF2_PF_NFWP		(GPIO_PORTF | GPIO_PF | 2) -#define PF4_PF_NFALE		(GPIO_PORTF | GPIO_PF | 4) -#define PF5_PF_NFRE		(GPIO_PORTF | GPIO_PF | 5) -#define PF6_PF_NFWE		(GPIO_PORTF | GPIO_PF | 6) -#define PF15_PF_CLKO		(GPIO_PORTF | GPIO_PF | 15) -#define PF21_PF_CS4		(GPIO_PORTF | GPIO_PF | 21) -#define PF22_PF_CS5		(GPIO_PORTF | GPIO_PF | 22) - -/* Alternate GPIO pin functions */ - -#define PB26_AF_UART4_RTS	(GPIO_PORTB | GPIO_AF | GPIO_IN | 26) -#define PB28_AF_UART4_TXD	(GPIO_PORTB | GPIO_AF | GPIO_OUT | 28) -#define PB29_AF_UART4_CTS	(GPIO_PORTB | GPIO_AF | GPIO_OUT | 29) -#define PB31_AF_UART4_RXD	(GPIO_PORTB | GPIO_AF | GPIO_IN | 31) -#define PC28_AF_SLCDC2_D0	(GPIO_PORTC | GPIO_AF | 28) -#define PC29_AF_SLCDC2_RS	(GPIO_PORTC | GPIO_AF | 29) -#define PC30_AF_SLCDC2_CS	(GPIO_PORTC | GPIO_AF | 30) -#define PC31_AF_SLCDC2_CLK	(GPIO_PORTC | GPIO_AF | 31) -#define PD19_AF_USBH2_DATA4	(GPIO_PORTD | GPIO_AF | 19) -#define PD20_AF_USBH2_DATA3	(GPIO_PORTD | GPIO_AF | 20) -#define PD21_AF_USBH2_DATA6	(GPIO_PORTD | GPIO_AF | 21) -#define PD22_AF_USBH2_DATA0	(GPIO_PORTD | GPIO_AF | 22) -#define PD23_AF_USBH2_DATA2	(GPIO_PORTD | GPIO_AF | 23) -#define PD24_AF_USBH2_DATA1	(GPIO_PORTD | GPIO_AF | 24) -#define PD26_AF_USBH2_DATA5	(GPIO_PORTD | GPIO_AF | 26) -#define PE0_AF_KP_COL6		(GPIO_PORTE | GPIO_AF | 0) -#define PE1_AF_KP_ROW6		(GPIO_PORTE | GPIO_AF | 1) -#define PE2_AF_KP_ROW7		(GPIO_PORTE | GPIO_AF | 2) -#define PE3_AF_KP_COL7		(GPIO_PORTE | GPIO_AF | 3) -#define PE4_AF_KP_ROW7		(GPIO_PORTE | GPIO_AF | 4) -#define PE6_AF_KP_COL6		(GPIO_PORTE | GPIO_AF | 6) -#define PE7_AF_KP_ROW6		(GPIO_PORTE | GPIO_AF | 7) -#define PE16_AF_OWIRE		(GPIO_PORTE | GPIO_AF | 16) -#define PE18_AF_CSPI3_MISO	(GPIO_PORTE | GPIO_AF | GPIO_IN | 18) -#define PE21_AF_CSPI3_SS	(GPIO_PORTE | GPIO_AF | GPIO_OUT | 21) -#define PE22_AF_CSPI3_MOSI	(GPIO_PORTE | GPIO_AF | GPIO_OUT | 22) -#define PE23_AF_CSPI3_SCLK	(GPIO_PORTE | GPIO_AF | GPIO_OUT | 23) - -/* AIN GPIO pin functions */ - -#define PA6_AIN_SLCDC1_DAT0	(GPIO_PORTA | GPIO_AIN | GPIO_OUT | 6) -#define PA7_AIN_SLCDC1_DAT1	(GPIO_PORTA | GPIO_AIN | GPIO_OUT | 7) -#define PA8_AIN_SLCDC1_DAT2	(GPIO_PORTA | GPIO_AIN | GPIO_OUT | 8) -#define PA0_AIN_SLCDC1_DAT3	(GPIO_PORTA | GPIO_AIN | GPIO_OUT | 0) -#define PA11_AIN_SLCDC1_DAT5	(GPIO_PORTA | GPIO_AIN | GPIO_OUT | 11) -#define PA13_AIN_SLCDC1_DAT7	(GPIO_PORTA | GPIO_AIN | GPIO_OUT | 13) -#define PA15_AIN_SLCDC1_DAT9	(GPIO_PORTA | GPIO_AIN | GPIO_OUT | 15) -#define PA17_AIN_SLCDC1_DAT11	(GPIO_PORTA | GPIO_AIN | GPIO_OUT | 17) -#define PA19_AIN_SLCDC1_DAT13	(GPIO_PORTA | GPIO_AIN | GPIO_OUT | 19) -#define PA21_AIN_SLCDC1_DAT15	(GPIO_PORTA | GPIO_AIN | GPIO_OUT | 21) -#define PA22_AIN_EXT_DMAGRANT	(GPIO_PORTA | GPIO_AIN | GPIO_OUT | 22) -#define PA24_AIN_SLCDC1_D0	(GPIO_PORTA | GPIO_AIN | GPIO_OUT | 24) -#define PA25_AIN_SLCDC1_RS	(GPIO_PORTA | GPIO_AIN | GPIO_OUT | 25) -#define PA26_AIN_SLCDC1_CS	(GPIO_PORTA | GPIO_AIN | GPIO_OUT | 26) -#define PA27_AIN_SLCDC1_CLK	(GPIO_PORTA | GPIO_AIN | GPIO_OUT | 27) -#define PB6_AIN_SLCDC1_D0	(GPIO_PORTB | GPIO_AIN | GPIO_OUT | 6) -#define PB7_AIN_SLCDC1_RS	(GPIO_PORTB | GPIO_AIN | GPIO_OUT | 7) -#define PB8_AIN_SLCDC1_CS	(GPIO_PORTB | GPIO_AIN | GPIO_OUT | 8) -#define PB9_AIN_SLCDC1_CLK	(GPIO_PORTB | GPIO_AIN | GPIO_OUT | 9) -#define PB25_AIN_SLCDC1_DAT0	(GPIO_PORTB | GPIO_AIN | GPIO_OUT | 25) -#define PB26_AIN_SLCDC1_DAT1	(GPIO_PORTB | GPIO_AIN | GPIO_OUT | 26) -#define PB27_AIN_SLCDC1_DAT2	(GPIO_PORTB | GPIO_AIN | GPIO_OUT | 27) -#define PB28_AIN_SLCDC1_DAT3	(GPIO_PORTB | GPIO_AIN | GPIO_OUT | 28) -#define PB29_AIN_SLCDC1_DAT4	(GPIO_PORTB | GPIO_AIN | GPIO_OUT | 29) -#define PB30_AIN_SLCDC1_DAT5	(GPIO_PORTB | GPIO_AIN | GPIO_OUT | 30) -#define PB31_AIN_SLCDC1_DAT6	(GPIO_PORTB | GPIO_AIN | GPIO_OUT | 31) -#define PC5_AIN_SLCDC1_DAT7	(GPIO_PORTC | GPIO_AIN | GPIO_OUT | 5) -#define PC6_AIN_SLCDC1_DAT8	(GPIO_PORTC | GPIO_AIN | GPIO_OUT | 6) -#define PC7_AIN_SLCDC1_DAT9	(GPIO_PORTC | GPIO_AIN | GPIO_OUT | 7) -#define PC8_AIN_SLCDC1_DAT10	(GPIO_PORTC | GPIO_AIN | GPIO_OUT | 8) -#define PC9_AIN_SLCDC1_DAT11	(GPIO_PORTC | GPIO_AIN | GPIO_OUT | 9) -#define PC10_AIN_SLCDC1_DAT12	(GPIO_PORTC | GPIO_AIN | GPIO_OUT | 10) -#define PC11_AIN_SLCDC1_DAT13	(GPIO_PORTC | GPIO_AIN | GPIO_OUT | 11) -#define PC12_AIN_SLCDC1_DAT14	(GPIO_PORTC | GPIO_AIN | GPIO_OUT | 12) -#define PC13_AIN_SLCDC1_DAT15	(GPIO_PORTC | GPIO_AIN | GPIO_OUT | 13) -#define PE5_AIN_PC_SPKOUT	(GPIO_PORTE | GPIO_AIN | GPIO_OUT | 5) - -/* BIN GPIO pin functions */ - -#define PE5_BIN_TOUT2		(GPIO_PORTE | GPIO_BIN | GPIO_OUT | 5) - -/* CIN GPIO pin functions */ - -#define PA14_CIN_SLCDC1_DAT0	(GPIO_PORTA | GPIO_CIN | GPIO_OUT | 14) -#define PA15_CIN_SLCDC1_DAT1	(GPIO_PORTA | GPIO_CIN | GPIO_OUT | 15) -#define PA16_CIN_SLCDC1_DAT2	(GPIO_PORTA | GPIO_CIN | GPIO_OUT | 16) -#define PA17_CIN_SLCDC1_DAT3	(GPIO_PORTA | GPIO_CIN | GPIO_OUT | 17) -#define PA18_CIN_SLCDC1_DAT4	(GPIO_PORTA | GPIO_CIN | GPIO_OUT | 18) -#define PA19_CIN_SLCDC1_DAT5	(GPIO_PORTA | GPIO_CIN | GPIO_OUT | 19) -#define PA20_CIN_SLCDC1_DAT6	(GPIO_PORTA | GPIO_CIN | GPIO_OUT | 20) -#define PA21_CIN_SLCDC1_DAT7	(GPIO_PORTA | GPIO_CIN | GPIO_OUT | 21) -#define PB30_CIN_UART4_CTS	(GPIO_PORTB | GPIO_CIN | GPIO_OUT | 30) -#define PE5_CIN_TOUT3		(GPIO_PORTE | GPIO_CIN | GPIO_OUT | 5) - -/* AOUT GPIO pin functions */ - -#define PB29_AOUT_UART4_RXD	(GPIO_PORTB | GPIO_AOUT | GPIO_IN | 29) -#define PB31_AOUT_UART4_RTS	(GPIO_PORTB | GPIO_AOUT | GPIO_IN | 31) -#define PC8_AOUT_USBOTG_TXR_INT (GPIO_PORTC | GPIO_AOUT | GPIO_IN | 8) -#define PC15_AOUT_WKGD		(GPIO_PORTC | GPIO_AOUT | GPIO_IN | 15) -#define PF21_AOUT_DTACK		(GPIO_PORTF | GPIO_AOUT | GPIO_IN | 21) - -#endif /* ifndef __MACH_IOMUX_MX2x_H__ */ diff --git a/arch/arm/plat-mxc/include/mach/iomux-mx3.h b/arch/arm/plat-mxc/include/mach/iomux-mx3.h deleted file mode 100644 index cbaed295a2b..00000000000 --- a/arch/arm/plat-mxc/include/mach/iomux-mx3.h +++ /dev/null @@ -1,750 +0,0 @@ -/* - * Copyright 2004-2006 Freescale Semiconductor, Inc. All Rights Reserved. - * Copyright (C) 2008 by Sascha Hauer <kernel@pengutronix.de> - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, - * MA 02110-1301, USA. - */ -#ifndef __MACH_IOMUX_MX3_H__ -#define __MACH_IOMUX_MX3_H__ - -#include <linux/types.h> -/* - * various IOMUX output functions - */ - -#define	IOMUX_OCONFIG_GPIO (0 << 4)	/* used as GPIO */ -#define	IOMUX_OCONFIG_FUNC (1 << 4)	/* used as function */ -#define	IOMUX_OCONFIG_ALT1 (2 << 4)	/* used as alternate function 1 */ -#define	IOMUX_OCONFIG_ALT2 (3 << 4)	/* used as alternate function 2 */ -#define	IOMUX_OCONFIG_ALT3 (4 << 4)	/* used as alternate function 3 */ -#define	IOMUX_OCONFIG_ALT4 (5 << 4)	/* used as alternate function 4 */ -#define	IOMUX_OCONFIG_ALT5 (6 << 4)	/* used as alternate function 5 */ -#define	IOMUX_OCONFIG_ALT6 (7 << 4)	/* used as alternate function 6 */ -#define	IOMUX_ICONFIG_NONE  0		/* not configured for input */ -#define	IOMUX_ICONFIG_GPIO  1		/* used as GPIO */ -#define	IOMUX_ICONFIG_FUNC  2		/* used as function */ -#define	IOMUX_ICONFIG_ALT1  4		/* used as alternate function 1 */ -#define	IOMUX_ICONFIG_ALT2  8		/* used as alternate function 2 */ - -#define IOMUX_CONFIG_GPIO (IOMUX_OCONFIG_GPIO | IOMUX_ICONFIG_GPIO) -#define IOMUX_CONFIG_FUNC (IOMUX_OCONFIG_FUNC | IOMUX_ICONFIG_FUNC) -#define IOMUX_CONFIG_ALT1 (IOMUX_OCONFIG_ALT1 | IOMUX_ICONFIG_ALT1) -#define IOMUX_CONFIG_ALT2 (IOMUX_OCONFIG_ALT2 | IOMUX_ICONFIG_ALT2) - -/* - * various IOMUX pad functions - */ -enum iomux_pad_config { -	PAD_CTL_NOLOOPBACK	= 0x0 << 9, -	PAD_CTL_LOOPBACK	= 0x1 << 9, -	PAD_CTL_PKE_NONE	= 0x0 << 8, -	PAD_CTL_PKE_ENABLE	= 0x1 << 8, -	PAD_CTL_PUE_KEEPER	= 0x0 << 7, -	PAD_CTL_PUE_PUD		= 0x1 << 7, -	PAD_CTL_100K_PD		= 0x0 << 5, -	PAD_CTL_100K_PU		= 0x1 << 5, -	PAD_CTL_47K_PU		= 0x2 << 5, -	PAD_CTL_22K_PU		= 0x3 << 5, -	PAD_CTL_HYS_CMOS	= 0x0 << 4, -	PAD_CTL_HYS_SCHMITZ	= 0x1 << 4, -	PAD_CTL_ODE_CMOS	= 0x0 << 3, -	PAD_CTL_ODE_OpenDrain	= 0x1 << 3, -	PAD_CTL_DRV_NORMAL	= 0x0 << 1, -	PAD_CTL_DRV_HIGH	= 0x1 << 1, -	PAD_CTL_DRV_MAX		= 0x2 << 1, -	PAD_CTL_SRE_SLOW	= 0x0 << 0, -	PAD_CTL_SRE_FAST	= 0x1 << 0 -}; - -/* - * various IOMUX general purpose functions - */ -enum iomux_gp_func { -	MUX_PGP_FIRI			= 1 << 0, -	MUX_DDR_MODE			= 1 << 1, -	MUX_PGP_CSPI_BB			= 1 << 2, -	MUX_PGP_ATA_1			= 1 << 3, -	MUX_PGP_ATA_2			= 1 << 4, -	MUX_PGP_ATA_3			= 1 << 5, -	MUX_PGP_ATA_4			= 1 << 6, -	MUX_PGP_ATA_5			= 1 << 7, -	MUX_PGP_ATA_6			= 1 << 8, -	MUX_PGP_ATA_7			= 1 << 9, -	MUX_PGP_ATA_8			= 1 << 10, -	MUX_PGP_UH2			= 1 << 11, -	MUX_SDCTL_CSD0_SEL		= 1 << 12, -	MUX_SDCTL_CSD1_SEL		= 1 << 13, -	MUX_CSPI1_UART3			= 1 << 14, -	MUX_EXTDMAREQ2_MBX_SEL		= 1 << 15, -	MUX_TAMPER_DETECT_EN		= 1 << 16, -	MUX_PGP_USB_4WIRE		= 1 << 17, -	MUX_PGP_USB_COMMON		= 1 << 18, -	MUX_SDHC_MEMSTICK1		= 1 << 19, -	MUX_SDHC_MEMSTICK2		= 1 << 20, -	MUX_PGP_SPLL_BYP		= 1 << 21, -	MUX_PGP_UPLL_BYP		= 1 << 22, -	MUX_PGP_MSHC1_CLK_SEL		= 1 << 23, -	MUX_PGP_MSHC2_CLK_SEL		= 1 << 24, -	MUX_CSPI3_UART5_SEL		= 1 << 25, -	MUX_PGP_ATA_9			= 1 << 26, -	MUX_PGP_USB_SUSPEND		= 1 << 27, -	MUX_PGP_USB_OTG_LOOPBACK	= 1 << 28, -	MUX_PGP_USB_HS1_LOOPBACK	= 1 << 29, -	MUX_PGP_USB_HS2_LOOPBACK	= 1 << 30, -	MUX_CLKO_DDR_MODE		= 1 << 31, -}; - -/* - * setups a single pin: - * 	- reserves the pin so that it is not claimed by another driver - * 	- setups the iomux according to the configuration - * 	- if the pin is configured as a GPIO, we claim it through kernel gpiolib - */ -int mxc_iomux_alloc_pin(const unsigned int pin, const char *label); -/* - * setups mutliple pins - * convenient way to call the above function with tables - */ -int mxc_iomux_setup_multiple_pins(unsigned int *pin_list, unsigned count, -		const char *label); - -/* - * releases a single pin: - * 	- make it available for a future use by another driver - * 	- frees the GPIO if the pin was configured as GPIO - * 	- DOES NOT reconfigure the IOMUX in its reset state - */ -void mxc_iomux_release_pin(const unsigned int pin); -/* - * releases multiple pins - * convenvient way to call the above function with tables - */ -void mxc_iomux_release_multiple_pins(unsigned int *pin_list, int count); - -/* - * This function enables/disables the general purpose function for a particular - * signal. - */ -void mxc_iomux_set_gpr(enum iomux_gp_func, bool en); - -/* - * This function only configures the iomux hardware. - * It is called by the setup functions and should not be called directly anymore. - * It is here visible for backward compatibility - */ -int mxc_iomux_mode(unsigned int pin_mode); - -#define IOMUX_PADNUM_MASK	0x1ff -#define IOMUX_GPIONUM_SHIFT	9 -#define IOMUX_GPIONUM_MASK	(0xff << IOMUX_GPIONUM_SHIFT) -#define IOMUX_MODE_SHIFT	17 -#define IOMUX_MODE_MASK	(0xff << IOMUX_MODE_SHIFT) - -#define IOMUX_PIN(gpionum, padnum) \ -	(((gpionum << IOMUX_GPIONUM_SHIFT) & IOMUX_GPIONUM_MASK) | \ -	 (padnum & IOMUX_PADNUM_MASK)) - -#define IOMUX_MODE(pin, mode) (pin | mode << IOMUX_MODE_SHIFT) - -#define IOMUX_TO_GPIO(iomux_pin) \ -	((iomux_pin & IOMUX_GPIONUM_MASK) >> IOMUX_GPIONUM_SHIFT) -#define IOMUX_TO_IRQ(iomux_pin) \ -	(((iomux_pin & IOMUX_GPIONUM_MASK) >> IOMUX_GPIONUM_SHIFT) + \ -	MXC_GPIO_IRQ_START) - -/* - * This enumeration is constructed based on the Section - * "sw_pad_ctl & sw_mux_ctl details" of the MX31 IC Spec. Each enumerated - * value is constructed based on the rules described above. - */ - -enum iomux_pins { -	MX31_PIN_TTM_PAD	= IOMUX_PIN(0xff,   0), -	MX31_PIN_CSPI3_SPI_RDY	= IOMUX_PIN(0xff,   1), -	MX31_PIN_CSPI3_SCLK	= IOMUX_PIN(0xff,   2), -	MX31_PIN_CSPI3_MISO	= IOMUX_PIN(0xff,   3), -	MX31_PIN_CSPI3_MOSI	= IOMUX_PIN(0xff,   4), -	MX31_PIN_CLKSS		= IOMUX_PIN(0xff,   5), -	MX31_PIN_CE_CONTROL	= IOMUX_PIN(0xff,   6), -	MX31_PIN_ATA_RESET_B	= IOMUX_PIN(95,     7), -	MX31_PIN_ATA_DMACK	= IOMUX_PIN(94,     8), -	MX31_PIN_ATA_DIOW	= IOMUX_PIN(93,     9), -	MX31_PIN_ATA_DIOR	= IOMUX_PIN(92,    10), -	MX31_PIN_ATA_CS1	= IOMUX_PIN(91,    11), -	MX31_PIN_ATA_CS0	= IOMUX_PIN(90,    12), -	MX31_PIN_SD1_DATA3	= IOMUX_PIN(63,    13), -	MX31_PIN_SD1_DATA2	= IOMUX_PIN(62,    14), -	MX31_PIN_SD1_DATA1	= IOMUX_PIN(61,    15), -	MX31_PIN_SD1_DATA0	= IOMUX_PIN(60,    16), -	MX31_PIN_SD1_CLK	= IOMUX_PIN(59,    17), -	MX31_PIN_SD1_CMD	= IOMUX_PIN(58,    18), -	MX31_PIN_D3_SPL		= IOMUX_PIN(0xff,  19), -	MX31_PIN_D3_CLS		= IOMUX_PIN(0xff,  20), -	MX31_PIN_D3_REV		= IOMUX_PIN(0xff,  21), -	MX31_PIN_CONTRAST	= IOMUX_PIN(0xff,  22), -	MX31_PIN_VSYNC3		= IOMUX_PIN(0xff,  23), -	MX31_PIN_READ		= IOMUX_PIN(0xff,  24), -	MX31_PIN_WRITE		= IOMUX_PIN(0xff,  25), -	MX31_PIN_PAR_RS		= IOMUX_PIN(0xff,  26), -	MX31_PIN_SER_RS		= IOMUX_PIN(89,    27), -	MX31_PIN_LCS1		= IOMUX_PIN(88,    28), -	MX31_PIN_LCS0		= IOMUX_PIN(87,    29), -	MX31_PIN_SD_D_CLK	= IOMUX_PIN(86,    30), -	MX31_PIN_SD_D_IO	= IOMUX_PIN(85,    31), -	MX31_PIN_SD_D_I		= IOMUX_PIN(84,    32), -	MX31_PIN_DRDY0		= IOMUX_PIN(0xff,  33), -	MX31_PIN_FPSHIFT	= IOMUX_PIN(0xff,  34), -	MX31_PIN_HSYNC		= IOMUX_PIN(0xff,  35), -	MX31_PIN_VSYNC0		= IOMUX_PIN(0xff,  36), -	MX31_PIN_LD17		= IOMUX_PIN(0xff,  37), -	MX31_PIN_LD16		= IOMUX_PIN(0xff,  38), -	MX31_PIN_LD15		= IOMUX_PIN(0xff,  39), -	MX31_PIN_LD14		= IOMUX_PIN(0xff,  40), -	MX31_PIN_LD13		= IOMUX_PIN(0xff,  41), -	MX31_PIN_LD12		= IOMUX_PIN(0xff,  42), -	MX31_PIN_LD11		= IOMUX_PIN(0xff,  43), -	MX31_PIN_LD10		= IOMUX_PIN(0xff,  44), -	MX31_PIN_LD9		= IOMUX_PIN(0xff,  45), -	MX31_PIN_LD8		= IOMUX_PIN(0xff,  46), -	MX31_PIN_LD7		= IOMUX_PIN(0xff,  47), -	MX31_PIN_LD6		= IOMUX_PIN(0xff,  48), -	MX31_PIN_LD5		= IOMUX_PIN(0xff,  49), -	MX31_PIN_LD4		= IOMUX_PIN(0xff,  50), -	MX31_PIN_LD3		= IOMUX_PIN(0xff,  51), -	MX31_PIN_LD2		= IOMUX_PIN(0xff,  52), -	MX31_PIN_LD1		= IOMUX_PIN(0xff,  53), -	MX31_PIN_LD0		= IOMUX_PIN(0xff,  54), -	MX31_PIN_USBH2_DATA1	= IOMUX_PIN(0xff,  55), -	MX31_PIN_USBH2_DATA0	= IOMUX_PIN(0xff,  56), -	MX31_PIN_USBH2_NXT	= IOMUX_PIN(0xff,  57), -	MX31_PIN_USBH2_STP	= IOMUX_PIN(0xff,  58), -	MX31_PIN_USBH2_DIR	= IOMUX_PIN(0xff,  59), -	MX31_PIN_USBH2_CLK	= IOMUX_PIN(0xff,  60), -	MX31_PIN_USBOTG_DATA7	= IOMUX_PIN(0xff,  61), -	MX31_PIN_USBOTG_DATA6	= IOMUX_PIN(0xff,  62), -	MX31_PIN_USBOTG_DATA5	= IOMUX_PIN(0xff,  63), -	MX31_PIN_USBOTG_DATA4	= IOMUX_PIN(0xff,  64), -	MX31_PIN_USBOTG_DATA3	= IOMUX_PIN(0xff,  65), -	MX31_PIN_USBOTG_DATA2	= IOMUX_PIN(0xff,  66), -	MX31_PIN_USBOTG_DATA1	= IOMUX_PIN(0xff,  67), -	MX31_PIN_USBOTG_DATA0	= IOMUX_PIN(0xff,  68), -	MX31_PIN_USBOTG_NXT	= IOMUX_PIN(0xff,  69), -	MX31_PIN_USBOTG_STP	= IOMUX_PIN(0xff,  70), -	MX31_PIN_USBOTG_DIR	= IOMUX_PIN(0xff,  71), -	MX31_PIN_USBOTG_CLK	= IOMUX_PIN(0xff,  72), -	MX31_PIN_USB_BYP	= IOMUX_PIN(31,    73), -	MX31_PIN_USB_OC		= IOMUX_PIN(30,    74), -	MX31_PIN_USB_PWR	= IOMUX_PIN(29,    75), -	MX31_PIN_SJC_MOD	= IOMUX_PIN(0xff,  76), -	MX31_PIN_DE_B		= IOMUX_PIN(0xff,  77), -	MX31_PIN_TRSTB		= IOMUX_PIN(0xff,  78), -	MX31_PIN_TDO		= IOMUX_PIN(0xff,  79), -	MX31_PIN_TDI		= IOMUX_PIN(0xff,  80), -	MX31_PIN_TMS		= IOMUX_PIN(0xff,  81), -	MX31_PIN_TCK		= IOMUX_PIN(0xff,  82), -	MX31_PIN_RTCK		= IOMUX_PIN(0xff,  83), -	MX31_PIN_KEY_COL7	= IOMUX_PIN(57,    84), -	MX31_PIN_KEY_COL6	= IOMUX_PIN(56,    85), -	MX31_PIN_KEY_COL5	= IOMUX_PIN(55,    86), -	MX31_PIN_KEY_COL4	= IOMUX_PIN(54,    87), -	MX31_PIN_KEY_COL3	= IOMUX_PIN(0xff,  88), -	MX31_PIN_KEY_COL2	= IOMUX_PIN(0xff,  89), -	MX31_PIN_KEY_COL1	= IOMUX_PIN(0xff,  90), -	MX31_PIN_KEY_COL0	= IOMUX_PIN(0xff,  91), -	MX31_PIN_KEY_ROW7	= IOMUX_PIN(53,    92), -	MX31_PIN_KEY_ROW6	= IOMUX_PIN(52,    93), -	MX31_PIN_KEY_ROW5	= IOMUX_PIN(51,    94), -	MX31_PIN_KEY_ROW4	= IOMUX_PIN(50,    95), -	MX31_PIN_KEY_ROW3	= IOMUX_PIN(0xff,  96), -	MX31_PIN_KEY_ROW2	= IOMUX_PIN(0xff,  97), -	MX31_PIN_KEY_ROW1	= IOMUX_PIN(0xff,  98), -	MX31_PIN_KEY_ROW0	= IOMUX_PIN(0xff,  99), -	MX31_PIN_BATT_LINE	= IOMUX_PIN(49,   100), -	MX31_PIN_CTS2		= IOMUX_PIN(0xff, 101), -	MX31_PIN_RTS2		= IOMUX_PIN(0xff, 102), -	MX31_PIN_TXD2		= IOMUX_PIN(28,   103), -	MX31_PIN_RXD2		= IOMUX_PIN(27,   104), -	MX31_PIN_DTR_DCE2	= IOMUX_PIN(48,   105), -	MX31_PIN_DCD_DTE1	= IOMUX_PIN(47,   106), -	MX31_PIN_RI_DTE1	= IOMUX_PIN(46,   107), -	MX31_PIN_DSR_DTE1	= IOMUX_PIN(45,   108), -	MX31_PIN_DTR_DTE1	= IOMUX_PIN(44,   109), -	MX31_PIN_DCD_DCE1	= IOMUX_PIN(43,   110), -	MX31_PIN_RI_DCE1	= IOMUX_PIN(42,   111), -	MX31_PIN_DSR_DCE1	= IOMUX_PIN(41,   112), -	MX31_PIN_DTR_DCE1	= IOMUX_PIN(40,   113), -	MX31_PIN_CTS1		= IOMUX_PIN(39,   114), -	MX31_PIN_RTS1		= IOMUX_PIN(38,   115), -	MX31_PIN_TXD1		= IOMUX_PIN(37,   116), -	MX31_PIN_RXD1		= IOMUX_PIN(36,   117), -	MX31_PIN_CSPI2_SPI_RDY	= IOMUX_PIN(0xff, 118), -	MX31_PIN_CSPI2_SCLK	= IOMUX_PIN(0xff, 119), -	MX31_PIN_CSPI2_SS2	= IOMUX_PIN(0xff, 120), -	MX31_PIN_CSPI2_SS1	= IOMUX_PIN(0xff, 121), -	MX31_PIN_CSPI2_SS0	= IOMUX_PIN(0xff, 122), -	MX31_PIN_CSPI2_MISO	= IOMUX_PIN(0xff, 123), -	MX31_PIN_CSPI2_MOSI	= IOMUX_PIN(0xff, 124), -	MX31_PIN_CSPI1_SPI_RDY	= IOMUX_PIN(0xff, 125), -	MX31_PIN_CSPI1_SCLK	= IOMUX_PIN(0xff, 126), -	MX31_PIN_CSPI1_SS2	= IOMUX_PIN(0xff, 127), -	MX31_PIN_CSPI1_SS1	= IOMUX_PIN(0xff, 128), -	MX31_PIN_CSPI1_SS0	= IOMUX_PIN(0xff, 129), -	MX31_PIN_CSPI1_MISO	= IOMUX_PIN(0xff, 130), -	MX31_PIN_CSPI1_MOSI	= IOMUX_PIN(0xff, 131), -	MX31_PIN_SFS6		= IOMUX_PIN(26,   132), -	MX31_PIN_SCK6		= IOMUX_PIN(25,   133), -	MX31_PIN_SRXD6		= IOMUX_PIN(24,   134), -	MX31_PIN_STXD6		= IOMUX_PIN(23,   135), -	MX31_PIN_SFS5		= IOMUX_PIN(0xff, 136), -	MX31_PIN_SCK5		= IOMUX_PIN(0xff, 137), -	MX31_PIN_SRXD5		= IOMUX_PIN(22,   138), -	MX31_PIN_STXD5		= IOMUX_PIN(21,   139), -	MX31_PIN_SFS4		= IOMUX_PIN(0xff, 140), -	MX31_PIN_SCK4		= IOMUX_PIN(0xff, 141), -	MX31_PIN_SRXD4		= IOMUX_PIN(20,   142), -	MX31_PIN_STXD4		= IOMUX_PIN(19,   143), -	MX31_PIN_SFS3		= IOMUX_PIN(0xff, 144), -	MX31_PIN_SCK3		= IOMUX_PIN(0xff, 145), -	MX31_PIN_SRXD3		= IOMUX_PIN(18,   146), -	MX31_PIN_STXD3		= IOMUX_PIN(17,   147), -	MX31_PIN_I2C_DAT	= IOMUX_PIN(0xff, 148), -	MX31_PIN_I2C_CLK	= IOMUX_PIN(0xff, 149), -	MX31_PIN_CSI_PIXCLK	= IOMUX_PIN(83,   150), -	MX31_PIN_CSI_HSYNC	= IOMUX_PIN(82,   151), -	MX31_PIN_CSI_VSYNC	= IOMUX_PIN(81,   152), -	MX31_PIN_CSI_MCLK	= IOMUX_PIN(80,   153), -	MX31_PIN_CSI_D15	= IOMUX_PIN(79,   154), -	MX31_PIN_CSI_D14	= IOMUX_PIN(78,   155), -	MX31_PIN_CSI_D13	= IOMUX_PIN(77,   156), -	MX31_PIN_CSI_D12	= IOMUX_PIN(76,   157), -	MX31_PIN_CSI_D11	= IOMUX_PIN(75,   158), -	MX31_PIN_CSI_D10	= IOMUX_PIN(74,   159), -	MX31_PIN_CSI_D9		= IOMUX_PIN(73,   160), -	MX31_PIN_CSI_D8		= IOMUX_PIN(72,   161), -	MX31_PIN_CSI_D7		= IOMUX_PIN(71,   162), -	MX31_PIN_CSI_D6		= IOMUX_PIN(70,   163), -	MX31_PIN_CSI_D5		= IOMUX_PIN(69,   164), -	MX31_PIN_CSI_D4		= IOMUX_PIN(68,   165), -	MX31_PIN_M_GRANT	= IOMUX_PIN(0xff, 166), -	MX31_PIN_M_REQUEST	= IOMUX_PIN(0xff, 167), -	MX31_PIN_PC_POE		= IOMUX_PIN(0xff, 168), -	MX31_PIN_PC_RW_B	= IOMUX_PIN(0xff, 169), -	MX31_PIN_IOIS16		= IOMUX_PIN(0xff, 170), -	MX31_PIN_PC_RST		= IOMUX_PIN(0xff, 171), -	MX31_PIN_PC_BVD2	= IOMUX_PIN(0xff, 172), -	MX31_PIN_PC_BVD1	= IOMUX_PIN(0xff, 173), -	MX31_PIN_PC_VS2		= IOMUX_PIN(0xff, 174), -	MX31_PIN_PC_VS1		= IOMUX_PIN(0xff, 175), -	MX31_PIN_PC_PWRON	= IOMUX_PIN(0xff, 176), -	MX31_PIN_PC_READY	= IOMUX_PIN(0xff, 177), -	MX31_PIN_PC_WAIT_B	= IOMUX_PIN(0xff, 178), -	MX31_PIN_PC_CD2_B	= IOMUX_PIN(0xff, 179), -	MX31_PIN_PC_CD1_B	= IOMUX_PIN(0xff, 180), -	MX31_PIN_D0		= IOMUX_PIN(0xff, 181), -	MX31_PIN_D1		= IOMUX_PIN(0xff, 182), -	MX31_PIN_D2		= IOMUX_PIN(0xff, 183), -	MX31_PIN_D3		= IOMUX_PIN(0xff, 184), -	MX31_PIN_D4		= IOMUX_PIN(0xff, 185), -	MX31_PIN_D5		= IOMUX_PIN(0xff, 186), -	MX31_PIN_D6		= IOMUX_PIN(0xff, 187), -	MX31_PIN_D7		= IOMUX_PIN(0xff, 188), -	MX31_PIN_D8		= IOMUX_PIN(0xff, 189), -	MX31_PIN_D9		= IOMUX_PIN(0xff, 190), -	MX31_PIN_D10		= IOMUX_PIN(0xff, 191), -	MX31_PIN_D11		= IOMUX_PIN(0xff, 192), -	MX31_PIN_D12		= IOMUX_PIN(0xff, 193), -	MX31_PIN_D13		= IOMUX_PIN(0xff, 194), -	MX31_PIN_D14		= IOMUX_PIN(0xff, 195), -	MX31_PIN_D15		= IOMUX_PIN(0xff, 196), -	MX31_PIN_NFRB		= IOMUX_PIN(16,   197), -	MX31_PIN_NFCE_B		= IOMUX_PIN(15,   198), -	MX31_PIN_NFWP_B		= IOMUX_PIN(14,   199), -	MX31_PIN_NFCLE		= IOMUX_PIN(13,   200), -	MX31_PIN_NFALE		= IOMUX_PIN(12,   201), -	MX31_PIN_NFRE_B		= IOMUX_PIN(11,   202), -	MX31_PIN_NFWE_B		= IOMUX_PIN(10,   203), -	MX31_PIN_SDQS3		= IOMUX_PIN(0xff, 204), -	MX31_PIN_SDQS2		= IOMUX_PIN(0xff, 205), -	MX31_PIN_SDQS1		= IOMUX_PIN(0xff, 206), -	MX31_PIN_SDQS0		= IOMUX_PIN(0xff, 207), -	MX31_PIN_SDCLK_B	= IOMUX_PIN(0xff, 208), -	MX31_PIN_SDCLK		= IOMUX_PIN(0xff, 209), -	MX31_PIN_SDCKE1		= IOMUX_PIN(0xff, 210), -	MX31_PIN_SDCKE0		= IOMUX_PIN(0xff, 211), -	MX31_PIN_SDWE		= IOMUX_PIN(0xff, 212), -	MX31_PIN_CAS		= IOMUX_PIN(0xff, 213), -	MX31_PIN_RAS		= IOMUX_PIN(0xff, 214), -	MX31_PIN_RW		= IOMUX_PIN(0xff, 215), -	MX31_PIN_BCLK		= IOMUX_PIN(0xff, 216), -	MX31_PIN_LBA		= IOMUX_PIN(0xff, 217), -	MX31_PIN_ECB		= IOMUX_PIN(0xff, 218), -	MX31_PIN_CS5		= IOMUX_PIN(0xff, 219), -	MX31_PIN_CS4		= IOMUX_PIN(0xff, 220), -	MX31_PIN_CS3		= IOMUX_PIN(0xff, 221), -	MX31_PIN_CS2		= IOMUX_PIN(0xff, 222), -	MX31_PIN_CS1		= IOMUX_PIN(0xff, 223), -	MX31_PIN_CS0		= IOMUX_PIN(0xff, 224), -	MX31_PIN_OE		= IOMUX_PIN(0xff, 225), -	MX31_PIN_EB1		= IOMUX_PIN(0xff, 226), -	MX31_PIN_EB0		= IOMUX_PIN(0xff, 227), -	MX31_PIN_DQM3		= IOMUX_PIN(0xff, 228), -	MX31_PIN_DQM2		= IOMUX_PIN(0xff, 229), -	MX31_PIN_DQM1		= IOMUX_PIN(0xff, 230), -	MX31_PIN_DQM0		= IOMUX_PIN(0xff, 231), -	MX31_PIN_SD31		= IOMUX_PIN(0xff, 232), -	MX31_PIN_SD30		= IOMUX_PIN(0xff, 233), -	MX31_PIN_SD29		= IOMUX_PIN(0xff, 234), -	MX31_PIN_SD28		= IOMUX_PIN(0xff, 235), -	MX31_PIN_SD27		= IOMUX_PIN(0xff, 236), -	MX31_PIN_SD26		= IOMUX_PIN(0xff, 237), -	MX31_PIN_SD25		= IOMUX_PIN(0xff, 238), -	MX31_PIN_SD24		= IOMUX_PIN(0xff, 239), -	MX31_PIN_SD23		= IOMUX_PIN(0xff, 240), -	MX31_PIN_SD22		= IOMUX_PIN(0xff, 241), -	MX31_PIN_SD21		= IOMUX_PIN(0xff, 242), -	MX31_PIN_SD20		= IOMUX_PIN(0xff, 243), -	MX31_PIN_SD19		= IOMUX_PIN(0xff, 244), -	MX31_PIN_SD18		= IOMUX_PIN(0xff, 245), -	MX31_PIN_SD17		= IOMUX_PIN(0xff, 246), -	MX31_PIN_SD16		= IOMUX_PIN(0xff, 247), -	MX31_PIN_SD15		= IOMUX_PIN(0xff, 248), -	MX31_PIN_SD14		= IOMUX_PIN(0xff, 249), -	MX31_PIN_SD13		= IOMUX_PIN(0xff, 250), -	MX31_PIN_SD12		= IOMUX_PIN(0xff, 251), -	MX31_PIN_SD11		= IOMUX_PIN(0xff, 252), -	MX31_PIN_SD10		= IOMUX_PIN(0xff, 253), -	MX31_PIN_SD9		= IOMUX_PIN(0xff, 254), -	MX31_PIN_SD8		= IOMUX_PIN(0xff, 255), -	MX31_PIN_SD7		= IOMUX_PIN(0xff, 256), -	MX31_PIN_SD6		= IOMUX_PIN(0xff, 257), -	MX31_PIN_SD5		= IOMUX_PIN(0xff, 258), -	MX31_PIN_SD4		= IOMUX_PIN(0xff, 259), -	MX31_PIN_SD3		= IOMUX_PIN(0xff, 260), -	MX31_PIN_SD2		= IOMUX_PIN(0xff, 261), -	MX31_PIN_SD1		= IOMUX_PIN(0xff, 262), -	MX31_PIN_SD0		= IOMUX_PIN(0xff, 263), -	MX31_PIN_SDBA0		= IOMUX_PIN(0xff, 264), -	MX31_PIN_SDBA1		= IOMUX_PIN(0xff, 265), -	MX31_PIN_A25		= IOMUX_PIN(0xff, 266), -	MX31_PIN_A24		= IOMUX_PIN(0xff, 267), -	MX31_PIN_A23		= IOMUX_PIN(0xff, 268), -	MX31_PIN_A22		= IOMUX_PIN(0xff, 269), -	MX31_PIN_A21		= IOMUX_PIN(0xff, 270), -	MX31_PIN_A20		= IOMUX_PIN(0xff, 271), -	MX31_PIN_A19		= IOMUX_PIN(0xff, 272), -	MX31_PIN_A18		= IOMUX_PIN(0xff, 273), -	MX31_PIN_A17		= IOMUX_PIN(0xff, 274), -	MX31_PIN_A16		= IOMUX_PIN(0xff, 275), -	MX31_PIN_A14		= IOMUX_PIN(0xff, 276), -	MX31_PIN_A15		= IOMUX_PIN(0xff, 277), -	MX31_PIN_A13		= IOMUX_PIN(0xff, 278), -	MX31_PIN_A12		= IOMUX_PIN(0xff, 279), -	MX31_PIN_A11		= IOMUX_PIN(0xff, 280), -	MX31_PIN_MA10		= IOMUX_PIN(0xff, 281), -	MX31_PIN_A10		= IOMUX_PIN(0xff, 282), -	MX31_PIN_A9		= IOMUX_PIN(0xff, 283), -	MX31_PIN_A8		= IOMUX_PIN(0xff, 284), -	MX31_PIN_A7		= IOMUX_PIN(0xff, 285), -	MX31_PIN_A6		= IOMUX_PIN(0xff, 286), -	MX31_PIN_A5		= IOMUX_PIN(0xff, 287), -	MX31_PIN_A4		= IOMUX_PIN(0xff, 288), -	MX31_PIN_A3		= IOMUX_PIN(0xff, 289), -	MX31_PIN_A2		= IOMUX_PIN(0xff, 290), -	MX31_PIN_A1		= IOMUX_PIN(0xff, 291), -	MX31_PIN_A0		= IOMUX_PIN(0xff, 292), -	MX31_PIN_VPG1		= IOMUX_PIN(0xff, 293), -	MX31_PIN_VPG0		= IOMUX_PIN(0xff, 294), -	MX31_PIN_DVFS1		= IOMUX_PIN(0xff, 295), -	MX31_PIN_DVFS0		= IOMUX_PIN(0xff, 296), -	MX31_PIN_VSTBY		= IOMUX_PIN(0xff, 297), -	MX31_PIN_POWER_FAIL	= IOMUX_PIN(0xff, 298), -	MX31_PIN_CKIL		= IOMUX_PIN(0xff, 299), -	MX31_PIN_BOOT_MODE4	= IOMUX_PIN(0xff, 300), -	MX31_PIN_BOOT_MODE3	= IOMUX_PIN(0xff, 301), -	MX31_PIN_BOOT_MODE2	= IOMUX_PIN(0xff, 302), -	MX31_PIN_BOOT_MODE1	= IOMUX_PIN(0xff, 303), -	MX31_PIN_BOOT_MODE0	= IOMUX_PIN(0xff, 304), -	MX31_PIN_CLKO		= IOMUX_PIN(0xff, 305), -	MX31_PIN_POR_B		= IOMUX_PIN(0xff, 306), -	MX31_PIN_RESET_IN_B	= IOMUX_PIN(0xff, 307), -	MX31_PIN_CKIH		= IOMUX_PIN(0xff, 308), -	MX31_PIN_SIMPD0		= IOMUX_PIN(35,   309), -	MX31_PIN_SRX0		= IOMUX_PIN(34,   310), -	MX31_PIN_STX0		= IOMUX_PIN(33,   311), -	MX31_PIN_SVEN0		= IOMUX_PIN(32,   312), -	MX31_PIN_SRST0		= IOMUX_PIN(67,   313), -	MX31_PIN_SCLK0		= IOMUX_PIN(66,   314), -	MX31_PIN_GPIO3_1	= IOMUX_PIN(65,   315), -	MX31_PIN_GPIO3_0	= IOMUX_PIN(64,   316), -	MX31_PIN_GPIO1_6	= IOMUX_PIN( 6,   317), -	MX31_PIN_GPIO1_5	= IOMUX_PIN( 5,   318), -	MX31_PIN_GPIO1_4	= IOMUX_PIN( 4,   319), -	MX31_PIN_GPIO1_3	= IOMUX_PIN( 3,   320), -	MX31_PIN_GPIO1_2	= IOMUX_PIN( 2,   321), -	MX31_PIN_GPIO1_1	= IOMUX_PIN( 1,   322), -	MX31_PIN_GPIO1_0	= IOMUX_PIN( 0,   323), -	MX31_PIN_PWMO		= IOMUX_PIN( 9,   324), -	MX31_PIN_WATCHDOG_RST	= IOMUX_PIN(0xff, 325), -	MX31_PIN_COMPARE	= IOMUX_PIN( 8,   326), -	MX31_PIN_CAPTURE	= IOMUX_PIN( 7,   327), -}; - -#define PIN_MAX 327 -#define NB_PORTS 12 /* NB_PINS/32, we chose 32 pins per "PORT" */ - -/* - * Convenience values for use with mxc_iomux_mode() - * - * Format here is MX31_PIN_(pin name)__(function) - */ -#define MX31_PIN_CSPI3_MOSI__RXD3	IOMUX_MODE(MX31_PIN_CSPI3_MOSI, IOMUX_CONFIG_ALT1) -#define MX31_PIN_CSPI3_MISO__TXD3	IOMUX_MODE(MX31_PIN_CSPI3_MISO, IOMUX_CONFIG_ALT1) -#define MX31_PIN_CSPI3_SCLK__RTS3	IOMUX_MODE(MX31_PIN_CSPI3_SCLK, IOMUX_CONFIG_ALT1) -#define MX31_PIN_CSPI3_SPI_RDY__CTS3	IOMUX_MODE(MX31_PIN_CSPI3_SPI_RDY, IOMUX_CONFIG_ALT1) -#define MX31_PIN_CTS1__CTS1		IOMUX_MODE(MX31_PIN_CTS1, IOMUX_CONFIG_FUNC) -#define MX31_PIN_RTS1__RTS1		IOMUX_MODE(MX31_PIN_RTS1, IOMUX_CONFIG_FUNC) -#define MX31_PIN_TXD1__TXD1		IOMUX_MODE(MX31_PIN_TXD1, IOMUX_CONFIG_FUNC) -#define MX31_PIN_RXD1__RXD1		IOMUX_MODE(MX31_PIN_RXD1, IOMUX_CONFIG_FUNC) -#define MX31_PIN_DCD_DCE1__DCD_DCE1	IOMUX_MODE(MX31_PIN_DCD_DCE1, IOMUX_CONFIG_FUNC) -#define MX31_PIN_RI_DCE1__RI_DCE1	IOMUX_MODE(MX31_PIN_RI_DCE1, IOMUX_CONFIG_FUNC) -#define MX31_PIN_DSR_DCE1__DSR_DCE1	IOMUX_MODE(MX31_PIN_DSR_DCE1, IOMUX_CONFIG_FUNC) -#define MX31_PIN_DTR_DCE1__DTR_DCE1	IOMUX_MODE(MX31_PIN_DTR_DCE1, IOMUX_CONFIG_FUNC) -#define MX31_PIN_CTS2__CTS2		IOMUX_MODE(MX31_PIN_CTS2, IOMUX_CONFIG_FUNC) -#define MX31_PIN_RTS2__RTS2		IOMUX_MODE(MX31_PIN_RTS2, IOMUX_CONFIG_FUNC) -#define MX31_PIN_TXD2__TXD2		IOMUX_MODE(MX31_PIN_TXD2, IOMUX_CONFIG_FUNC) -#define MX31_PIN_RXD2__RXD2		IOMUX_MODE(MX31_PIN_RXD2, IOMUX_CONFIG_FUNC) -#define MX31_PIN_DCD_DTE1__DCD_DTE2	IOMUX_MODE(MX31_PIN_DCD_DTE1, IOMUX_CONFIG_ALT1) -#define MX31_PIN_RI_DTE1__RI_DTE2	IOMUX_MODE(MX31_PIN_RI_DTE1, IOMUX_CONFIG_ALT1) -#define MX31_PIN_DSR_DTE1__DSR_DTE2	IOMUX_MODE(MX31_PIN_DSR_DTE1, IOMUX_CONFIG_ALT1) -#define MX31_PIN_DTR_DTE1__DTR_DTE2	IOMUX_MODE(MX31_PIN_DTR_DTE1, IOMUX_OCONFIG_ALT3 | IOMUX_ICONFIG_NONE) -#define MX31_PIN_PC_RST__CTS5		IOMUX_MODE(MX31_PIN_PC_RST, IOMUX_CONFIG_ALT2) -#define MX31_PIN_PC_VS2__RTS5		IOMUX_MODE(MX31_PIN_PC_VS2, IOMUX_CONFIG_ALT2) -#define MX31_PIN_PC_BVD2__TXD5		IOMUX_MODE(MX31_PIN_PC_BVD2, IOMUX_CONFIG_ALT2) -#define MX31_PIN_PC_BVD1__RXD5		IOMUX_MODE(MX31_PIN_PC_BVD1, IOMUX_CONFIG_ALT2) -#define MX31_PIN_CSPI1_MOSI__MOSI	IOMUX_MODE(MX31_PIN_CSPI1_MOSI, IOMUX_CONFIG_FUNC) -#define MX31_PIN_CSPI1_MISO__MISO	IOMUX_MODE(MX31_PIN_CSPI1_MISO, IOMUX_CONFIG_FUNC) -#define MX31_PIN_CSPI1_SCLK__SCLK	IOMUX_MODE(MX31_PIN_CSPI1_SCLK, IOMUX_CONFIG_FUNC) -#define MX31_PIN_CSPI1_SPI_RDY__SPI_RDY	IOMUX_MODE(MX31_PIN_CSPI1_SPI_RDY, IOMUX_CONFIG_FUNC) -#define MX31_PIN_CSPI1_SS0__SS0		IOMUX_MODE(MX31_PIN_CSPI1_SS0, IOMUX_CONFIG_FUNC) -#define MX31_PIN_CSPI1_SS1__SS1		IOMUX_MODE(MX31_PIN_CSPI1_SS1, IOMUX_CONFIG_FUNC) -#define MX31_PIN_CSPI1_SS2__SS2		IOMUX_MODE(MX31_PIN_CSPI1_SS2, IOMUX_CONFIG_FUNC) -#define MX31_PIN_CSPI2_MOSI__MOSI	IOMUX_MODE(MX31_PIN_CSPI2_MOSI, IOMUX_CONFIG_FUNC) -#define MX31_PIN_CSPI2_MOSI__SCL	IOMUX_MODE(MX31_PIN_CSPI2_MOSI, IOMUX_CONFIG_ALT1) -#define MX31_PIN_CSPI2_MISO__MISO	IOMUX_MODE(MX31_PIN_CSPI2_MISO, IOMUX_CONFIG_FUNC) -#define MX31_PIN_CSPI2_MISO__SDA	IOMUX_MODE(MX31_PIN_CSPI2_MISO, IOMUX_CONFIG_ALT1) -#define MX31_PIN_CSPI2_SCLK__SCLK	IOMUX_MODE(MX31_PIN_CSPI2_SCLK, IOMUX_CONFIG_FUNC) -#define MX31_PIN_CSPI2_SPI_RDY__SPI_RDY	IOMUX_MODE(MX31_PIN_CSPI2_SPI_RDY, IOMUX_CONFIG_FUNC) -#define MX31_PIN_CSPI2_SS0__SS0		IOMUX_MODE(MX31_PIN_CSPI2_SS0, IOMUX_CONFIG_FUNC) -#define MX31_PIN_CSPI2_SS1__SS1		IOMUX_MODE(MX31_PIN_CSPI2_SS1, IOMUX_CONFIG_FUNC) -#define MX31_PIN_CSPI2_SS2__SS2		IOMUX_MODE(MX31_PIN_CSPI2_SS2, IOMUX_CONFIG_FUNC) -#define MX31_PIN_CSPI3_MOSI__MOSI	IOMUX_MODE(MX31_PIN_CSPI3_MOSI, IOMUX_CONFIG_FUNC) -#define MX31_PIN_CSPI3_MISO__MISO	IOMUX_MODE(MX31_PIN_CSPI3_MISO, IOMUX_CONFIG_FUNC) -#define MX31_PIN_CSPI3_SCLK__SCLK	IOMUX_MODE(MX31_PIN_CSPI3_SCLK, IOMUX_CONFIG_FUNC) -#define MX31_PIN_CSPI3_SPI_RDY__SPI_RDY	IOMUX_MODE(MX31_PIN_CSPI3_SPI_RDY, IOMUX_CONFIG_FUNC) -#define MX31_PIN_BATT_LINE__OWIRE	IOMUX_MODE(MX31_PIN_BATT_LINE, IOMUX_CONFIG_FUNC) -#define MX31_PIN_CS4__CS4		IOMUX_MODE(MX31_PIN_CS4, IOMUX_CONFIG_FUNC) -#define MX31_PIN_SD1_DATA3__SD1_DATA3	IOMUX_MODE(MX31_PIN_SD1_DATA3, IOMUX_CONFIG_FUNC) -#define MX31_PIN_SD1_DATA2__SD1_DATA2	IOMUX_MODE(MX31_PIN_SD1_DATA2, IOMUX_CONFIG_FUNC) -#define MX31_PIN_SD1_DATA1__SD1_DATA1	IOMUX_MODE(MX31_PIN_SD1_DATA1, IOMUX_CONFIG_FUNC) -#define MX31_PIN_SD1_DATA0__SD1_DATA0	IOMUX_MODE(MX31_PIN_SD1_DATA0, IOMUX_CONFIG_FUNC) -#define MX31_PIN_SD1_CLK__SD1_CLK	IOMUX_MODE(MX31_PIN_SD1_CLK, IOMUX_CONFIG_FUNC) -#define MX31_PIN_SD1_CMD__SD1_CMD	IOMUX_MODE(MX31_PIN_SD1_CMD, IOMUX_CONFIG_FUNC) -#define MX31_PIN_ATA_CS0__GPIO3_26	IOMUX_MODE(MX31_PIN_ATA_CS0, IOMUX_CONFIG_GPIO) -#define MX31_PIN_ATA_CS1__GPIO3_27	IOMUX_MODE(MX31_PIN_ATA_CS1, IOMUX_CONFIG_GPIO) -#define MX31_PIN_PC_PWRON__SD2_DATA3	IOMUX_MODE(MX31_PIN_PC_PWRON, IOMUX_CONFIG_ALT1) -#define MX31_PIN_PC_VS1__SD2_DATA2	IOMUX_MODE(MX31_PIN_PC_VS1, IOMUX_CONFIG_ALT1) -#define MX31_PIN_PC_READY__SD2_DATA1	IOMUX_MODE(MX31_PIN_PC_READY, IOMUX_CONFIG_ALT1) -#define MX31_PIN_PC_WAIT_B__SD2_DATA0	IOMUX_MODE(MX31_PIN_PC_WAIT_B, IOMUX_CONFIG_ALT1) -#define MX31_PIN_PC_CD2_B__SD2_CLK	IOMUX_MODE(MX31_PIN_PC_CD2_B, IOMUX_CONFIG_ALT1) -#define MX31_PIN_PC_CD1_B__SD2_CMD	IOMUX_MODE(MX31_PIN_PC_CD1_B, IOMUX_CONFIG_ALT1) -#define MX31_PIN_ATA_DIOR__GPIO3_28	IOMUX_MODE(MX31_PIN_ATA_DIOR, IOMUX_CONFIG_GPIO) -#define MX31_PIN_ATA_DIOW__GPIO3_29	IOMUX_MODE(MX31_PIN_ATA_DIOW, IOMUX_CONFIG_GPIO) -#define MX31_PIN_LD0__LD0		IOMUX_MODE(MX31_PIN_LD0, IOMUX_CONFIG_FUNC) -#define MX31_PIN_LD1__LD1		IOMUX_MODE(MX31_PIN_LD1, IOMUX_CONFIG_FUNC) -#define MX31_PIN_LD2__LD2		IOMUX_MODE(MX31_PIN_LD2, IOMUX_CONFIG_FUNC) -#define MX31_PIN_LD3__LD3		IOMUX_MODE(MX31_PIN_LD3, IOMUX_CONFIG_FUNC) -#define MX31_PIN_LD4__LD4		IOMUX_MODE(MX31_PIN_LD4, IOMUX_CONFIG_FUNC) -#define MX31_PIN_LD5__LD5		IOMUX_MODE(MX31_PIN_LD5, IOMUX_CONFIG_FUNC) -#define MX31_PIN_LD6__LD6		IOMUX_MODE(MX31_PIN_LD6, IOMUX_CONFIG_FUNC) -#define MX31_PIN_LD7__LD7		IOMUX_MODE(MX31_PIN_LD7, IOMUX_CONFIG_FUNC) -#define MX31_PIN_LD8__LD8		IOMUX_MODE(MX31_PIN_LD8, IOMUX_CONFIG_FUNC) -#define MX31_PIN_LD9__LD9		IOMUX_MODE(MX31_PIN_LD9, IOMUX_CONFIG_FUNC) -#define MX31_PIN_LD10__LD10		IOMUX_MODE(MX31_PIN_LD10, IOMUX_CONFIG_FUNC) -#define MX31_PIN_LD11__LD11		IOMUX_MODE(MX31_PIN_LD11, IOMUX_CONFIG_FUNC) -#define MX31_PIN_LD12__LD12		IOMUX_MODE(MX31_PIN_LD12, IOMUX_CONFIG_FUNC) -#define MX31_PIN_LD13__LD13		IOMUX_MODE(MX31_PIN_LD13, IOMUX_CONFIG_FUNC) -#define MX31_PIN_LD14__LD14		IOMUX_MODE(MX31_PIN_LD14, IOMUX_CONFIG_FUNC) -#define MX31_PIN_LD15__LD15		IOMUX_MODE(MX31_PIN_LD15, IOMUX_CONFIG_FUNC) -#define MX31_PIN_LD16__LD16		IOMUX_MODE(MX31_PIN_LD16, IOMUX_CONFIG_FUNC) -#define MX31_PIN_LD17__LD17		IOMUX_MODE(MX31_PIN_LD17, IOMUX_CONFIG_FUNC) -#define MX31_PIN_VSYNC3__VSYNC3		IOMUX_MODE(MX31_PIN_VSYNC3, IOMUX_CONFIG_FUNC) -#define MX31_PIN_HSYNC__HSYNC		IOMUX_MODE(MX31_PIN_HSYNC, IOMUX_CONFIG_FUNC) -#define MX31_PIN_FPSHIFT__FPSHIFT	IOMUX_MODE(MX31_PIN_FPSHIFT, IOMUX_CONFIG_FUNC) -#define MX31_PIN_DRDY0__DRDY0		IOMUX_MODE(MX31_PIN_DRDY0, IOMUX_CONFIG_FUNC) -#define MX31_PIN_D3_REV__D3_REV		IOMUX_MODE(MX31_PIN_D3_REV, IOMUX_CONFIG_FUNC) -#define MX31_PIN_CONTRAST__CONTRAST	IOMUX_MODE(MX31_PIN_CONTRAST, IOMUX_CONFIG_FUNC) -#define MX31_PIN_D3_SPL__D3_SPL		IOMUX_MODE(MX31_PIN_D3_SPL, IOMUX_CONFIG_FUNC) -#define MX31_PIN_D3_CLS__D3_CLS		IOMUX_MODE(MX31_PIN_D3_CLS, IOMUX_CONFIG_FUNC) -#define MX31_PIN_LCS0__GPI03_23		IOMUX_MODE(MX31_PIN_LCS0, IOMUX_CONFIG_GPIO) -#define MX31_PIN_GPIO1_1__GPIO          IOMUX_MODE(MX31_PIN_GPIO1_1, IOMUX_CONFIG_GPIO) -#define MX31_PIN_I2C_CLK__SCL		IOMUX_MODE(MX31_PIN_I2C_CLK, IOMUX_CONFIG_FUNC) -#define MX31_PIN_I2C_DAT__SDA		IOMUX_MODE(MX31_PIN_I2C_DAT, IOMUX_CONFIG_FUNC) -#define MX31_PIN_DCD_DTE1__I2C2_SDA	IOMUX_MODE(MX31_PIN_DCD_DTE1, IOMUX_CONFIG_ALT2) -#define MX31_PIN_RI_DTE1__I2C2_SCL	IOMUX_MODE(MX31_PIN_RI_DTE1, IOMUX_CONFIG_ALT2) -#define MX31_PIN_CSPI2_SS2__I2C3_SDA	IOMUX_MODE(MX31_PIN_CSPI2_SS2, IOMUX_CONFIG_ALT1) -#define MX31_PIN_CSPI2_SCLK__I2C3_SCL	IOMUX_MODE(MX31_PIN_CSPI2_SCLK, IOMUX_CONFIG_ALT1) -#define MX31_PIN_CSI_D4__CSI_D4		IOMUX_MODE(MX31_PIN_CSI_D4, IOMUX_CONFIG_FUNC) -#define MX31_PIN_CSI_D5__CSI_D5		IOMUX_MODE(MX31_PIN_CSI_D5, IOMUX_CONFIG_FUNC) -#define MX31_PIN_CSI_D6__CSI_D6		IOMUX_MODE(MX31_PIN_CSI_D6, IOMUX_CONFIG_FUNC) -#define MX31_PIN_CSI_D7__CSI_D7		IOMUX_MODE(MX31_PIN_CSI_D7, IOMUX_CONFIG_FUNC) -#define MX31_PIN_CSI_D8__CSI_D8		IOMUX_MODE(MX31_PIN_CSI_D8, IOMUX_CONFIG_FUNC) -#define MX31_PIN_CSI_D9__CSI_D9		IOMUX_MODE(MX31_PIN_CSI_D9, IOMUX_CONFIG_FUNC) -#define MX31_PIN_CSI_D10__CSI_D10	IOMUX_MODE(MX31_PIN_CSI_D10, IOMUX_CONFIG_FUNC) -#define MX31_PIN_CSI_D11__CSI_D11	IOMUX_MODE(MX31_PIN_CSI_D11, IOMUX_CONFIG_FUNC) -#define MX31_PIN_CSI_D12__CSI_D12	IOMUX_MODE(MX31_PIN_CSI_D12, IOMUX_CONFIG_FUNC) -#define MX31_PIN_CSI_D13__CSI_D13	IOMUX_MODE(MX31_PIN_CSI_D13, IOMUX_CONFIG_FUNC) -#define MX31_PIN_CSI_D14__CSI_D14	IOMUX_MODE(MX31_PIN_CSI_D14, IOMUX_CONFIG_FUNC) -#define MX31_PIN_CSI_D15__CSI_D15	IOMUX_MODE(MX31_PIN_CSI_D15, IOMUX_CONFIG_FUNC) -#define MX31_PIN_CSI_HSYNC__CSI_HSYNC	IOMUX_MODE(MX31_PIN_CSI_HSYNC, IOMUX_CONFIG_FUNC) -#define MX31_PIN_CSI_MCLK__CSI_MCLK	IOMUX_MODE(MX31_PIN_CSI_MCLK, IOMUX_CONFIG_FUNC) -#define MX31_PIN_CSI_PIXCLK__CSI_PIXCLK	IOMUX_MODE(MX31_PIN_CSI_PIXCLK, IOMUX_CONFIG_FUNC) -#define MX31_PIN_CSI_VSYNC__CSI_VSYNC	IOMUX_MODE(MX31_PIN_CSI_VSYNC, IOMUX_CONFIG_FUNC) -#define MX31_PIN_GPIO3_0__GPIO3_0	IOMUX_MODE(MX31_PIN_GPIO3_0, IOMUX_CONFIG_GPIO) -#define MX31_PIN_GPIO3_1__GPIO3_1	IOMUX_MODE(MX31_PIN_GPIO3_1, IOMUX_CONFIG_GPIO) -#define MX31_PIN_TXD2__GPIO1_28		IOMUX_MODE(MX31_PIN_TXD2, IOMUX_CONFIG_GPIO) -#define MX31_PIN_CSI_D4__GPIO3_4	IOMUX_MODE(MX31_PIN_CSI_D4, IOMUX_CONFIG_GPIO) -#define MX31_PIN_CSI_D5__GPIO3_5	IOMUX_MODE(MX31_PIN_CSI_D5, IOMUX_CONFIG_GPIO) -#define MX31_PIN_USBOTG_DATA0__USBOTG_DATA0	IOMUX_MODE(MX31_PIN_USBOTG_DATA0, IOMUX_CONFIG_FUNC) -#define MX31_PIN_USBOTG_DATA1__USBOTG_DATA1	IOMUX_MODE(MX31_PIN_USBOTG_DATA1, IOMUX_CONFIG_FUNC) -#define MX31_PIN_USBOTG_DATA2__USBOTG_DATA2	IOMUX_MODE(MX31_PIN_USBOTG_DATA2, IOMUX_CONFIG_FUNC) -#define MX31_PIN_USBOTG_DATA3__USBOTG_DATA3	IOMUX_MODE(MX31_PIN_USBOTG_DATA3, IOMUX_CONFIG_FUNC) -#define MX31_PIN_USBOTG_DATA4__USBOTG_DATA4	IOMUX_MODE(MX31_PIN_USBOTG_DATA4, IOMUX_CONFIG_FUNC) -#define MX31_PIN_USBOTG_DATA5__USBOTG_DATA5	IOMUX_MODE(MX31_PIN_USBOTG_DATA5, IOMUX_CONFIG_FUNC) -#define MX31_PIN_USBOTG_DATA6__USBOTG_DATA6	IOMUX_MODE(MX31_PIN_USBOTG_DATA6, IOMUX_CONFIG_FUNC) -#define MX31_PIN_USBOTG_DATA7__USBOTG_DATA7	IOMUX_MODE(MX31_PIN_USBOTG_DATA7, IOMUX_CONFIG_FUNC) -#define MX31_PIN_USBOTG_CLK__USBOTG_CLK		IOMUX_MODE(MX31_PIN_USBOTG_CLK, IOMUX_CONFIG_FUNC) -#define MX31_PIN_USBOTG_DIR__USBOTG_DIR		IOMUX_MODE(MX31_PIN_USBOTG_DIR, IOMUX_CONFIG_FUNC) -#define MX31_PIN_USBOTG_NXT__USBOTG_NXT		IOMUX_MODE(MX31_PIN_USBOTG_NXT, IOMUX_CONFIG_FUNC) -#define MX31_PIN_USBOTG_STP__USBOTG_STP		IOMUX_MODE(MX31_PIN_USBOTG_STP, IOMUX_CONFIG_FUNC) -#define MX31_PIN_CSPI1_MOSI__USBH1_RXDM		IOMUX_MODE(MX31_PIN_CSPI1_MOSI, IOMUX_CONFIG_ALT1) -#define MX31_PIN_CSPI1_MISO__USBH1_RXDP		IOMUX_MODE(MX31_PIN_CSPI1_MISO, IOMUX_CONFIG_ALT1) -#define MX31_PIN_CSPI1_SS0__USBH1_TXDM		IOMUX_MODE(MX31_PIN_CSPI1_SS0, IOMUX_CONFIG_ALT1) -#define MX31_PIN_CSPI1_SS1__USBH1_TXDP		IOMUX_MODE(MX31_PIN_CSPI1_SS1, IOMUX_CONFIG_ALT1) -#define MX31_PIN_CSPI1_SS2__USBH1_RCV		IOMUX_MODE(MX31_PIN_CSPI1_SS2, IOMUX_CONFIG_ALT1) -#define MX31_PIN_CSPI1_SCLK__USBH1_OEB		IOMUX_MODE(MX31_PIN_CSPI1_SCLK, IOMUX_CONFIG_ALT1) -#define MX31_PIN_CSPI1_SPI_RDY__USBH1_FS	IOMUX_MODE(MX31_PIN_CSPI1_SPI_RDY, IOMUX_CONFIG_ALT1) -#define MX31_PIN_SFS6__USBH1_SUSPEND	IOMUX_MODE(MX31_PIN_SFS6, IOMUX_CONFIG_FUNC) -#define MX31_PIN_NFRE_B__GPIO1_11	IOMUX_MODE(MX31_PIN_NFRE_B, IOMUX_CONFIG_GPIO) -#define MX31_PIN_NFALE__GPIO1_12	IOMUX_MODE(MX31_PIN_NFALE, IOMUX_CONFIG_GPIO) -#define MX31_PIN_USBH2_DATA0__USBH2_DATA0	IOMUX_MODE(MX31_PIN_USBH2_DATA0, IOMUX_CONFIG_FUNC) -#define MX31_PIN_USBH2_DATA1__USBH2_DATA1	IOMUX_MODE(MX31_PIN_USBH2_DATA1, IOMUX_CONFIG_FUNC) -#define MX31_PIN_STXD3__USBH2_DATA2	IOMUX_MODE(MX31_PIN_STXD3, IOMUX_CONFIG_FUNC) -#define MX31_PIN_SRXD3__USBH2_DATA3	IOMUX_MODE(MX31_PIN_SRXD3, IOMUX_CONFIG_FUNC) -#define MX31_PIN_SCK3__USBH2_DATA4	IOMUX_MODE(MX31_PIN_SCK3, IOMUX_CONFIG_FUNC) -#define MX31_PIN_SFS3__USBH2_DATA5	IOMUX_MODE(MX31_PIN_SFS3, IOMUX_CONFIG_FUNC) -#define MX31_PIN_STXD6__USBH2_DATA6	IOMUX_MODE(MX31_PIN_STXD6, IOMUX_CONFIG_FUNC) -#define MX31_PIN_SRXD6__USBH2_DATA7	IOMUX_MODE(MX31_PIN_SRXD6, IOMUX_CONFIG_FUNC) -#define MX31_PIN_USBH2_CLK__USBH2_CLK		IOMUX_MODE(MX31_PIN_USBH2_CLK, IOMUX_CONFIG_FUNC) -#define MX31_PIN_USBH2_DIR__USBH2_DIR		IOMUX_MODE(MX31_PIN_USBH2_DIR, IOMUX_CONFIG_FUNC) -#define MX31_PIN_USBH2_NXT__USBH2_NXT		IOMUX_MODE(MX31_PIN_USBH2_NXT, IOMUX_CONFIG_FUNC) -#define MX31_PIN_USBH2_STP__USBH2_STP		IOMUX_MODE(MX31_PIN_USBH2_STP, IOMUX_CONFIG_FUNC) -#define MX31_PIN_SCK6__GPIO1_25		IOMUX_MODE(MX31_PIN_SCK6, IOMUX_CONFIG_GPIO) -#define MX31_PIN_USB_OC__GPIO1_30	IOMUX_MODE(MX31_PIN_USB_OC, IOMUX_CONFIG_GPIO) -#define MX31_PIN_I2C_DAT__I2C1_SDA	IOMUX_MODE(MX31_PIN_I2C_DAT, IOMUX_CONFIG_FUNC) -#define MX31_PIN_I2C_CLK__I2C1_SCL	IOMUX_MODE(MX31_PIN_I2C_CLK, IOMUX_CONFIG_FUNC) -#define MX31_PIN_DCD_DTE1__I2C2_SDA	IOMUX_MODE(MX31_PIN_DCD_DTE1, IOMUX_CONFIG_ALT2) -#define MX31_PIN_RI_DTE1__I2C2_SCL	IOMUX_MODE(MX31_PIN_RI_DTE1, IOMUX_CONFIG_ALT2) -#define MX31_PIN_ATA_CS0__GPIO3_26	IOMUX_MODE(MX31_PIN_ATA_CS0, IOMUX_CONFIG_GPIO) -#define MX31_PIN_ATA_CS1__GPIO3_27	IOMUX_MODE(MX31_PIN_ATA_CS1, IOMUX_CONFIG_GPIO) -#define MX31_PIN_PC_PWRON__SD2_DATA3	IOMUX_MODE(MX31_PIN_PC_PWRON, IOMUX_CONFIG_ALT1) -#define MX31_PIN_PC_VS1__SD2_DATA2	IOMUX_MODE(MX31_PIN_PC_VS1, IOMUX_CONFIG_ALT1) -#define MX31_PIN_PC_READY__SD2_DATA1	IOMUX_MODE(MX31_PIN_PC_READY, IOMUX_CONFIG_ALT1) -#define MX31_PIN_PC_WAIT_B__SD2_DATA0	IOMUX_MODE(MX31_PIN_PC_WAIT_B, IOMUX_CONFIG_ALT1) -#define MX31_PIN_PC_CD2_B__SD2_CLK	IOMUX_MODE(MX31_PIN_PC_CD2_B, IOMUX_CONFIG_ALT1) -#define MX31_PIN_PC_CD1_B__SD2_CMD	IOMUX_MODE(MX31_PIN_PC_CD1_B, IOMUX_CONFIG_ALT1) -#define MX31_PIN_ATA_DIOR__GPIO3_28	IOMUX_MODE(MX31_PIN_ATA_DIOR, IOMUX_CONFIG_GPIO) -#define MX31_PIN_ATA_DIOW__GPIO3_29	IOMUX_MODE(MX31_PIN_ATA_DIOW, IOMUX_CONFIG_GPIO) -#define MX31_PIN_CSI_D4__CSI_D4		IOMUX_MODE(MX31_PIN_CSI_D4, IOMUX_CONFIG_FUNC) -#define MX31_PIN_CSI_D5__CSI_D5		IOMUX_MODE(MX31_PIN_CSI_D5, IOMUX_CONFIG_FUNC) -#define MX31_PIN_CSI_D6__CSI_D6		IOMUX_MODE(MX31_PIN_CSI_D6, IOMUX_CONFIG_FUNC) -#define MX31_PIN_CSI_D7__CSI_D7		IOMUX_MODE(MX31_PIN_CSI_D7, IOMUX_CONFIG_FUNC) -#define MX31_PIN_CSI_D8__CSI_D8		IOMUX_MODE(MX31_PIN_CSI_D8, IOMUX_CONFIG_FUNC) -#define MX31_PIN_CSI_D9__CSI_D9		IOMUX_MODE(MX31_PIN_CSI_D9, IOMUX_CONFIG_FUNC) -#define MX31_PIN_CSI_D10__CSI_D10	IOMUX_MODE(MX31_PIN_CSI_D10, IOMUX_CONFIG_FUNC) -#define MX31_PIN_CSI_D11__CSI_D11	IOMUX_MODE(MX31_PIN_CSI_D11, IOMUX_CONFIG_FUNC) -#define MX31_PIN_CSI_D12__CSI_D12	IOMUX_MODE(MX31_PIN_CSI_D12, IOMUX_CONFIG_FUNC) -#define MX31_PIN_CSI_D13__CSI_D13	IOMUX_MODE(MX31_PIN_CSI_D13, IOMUX_CONFIG_FUNC) -#define MX31_PIN_CSI_D14__CSI_D14	IOMUX_MODE(MX31_PIN_CSI_D14, IOMUX_CONFIG_FUNC) -#define MX31_PIN_CSI_D15__CSI_D15	IOMUX_MODE(MX31_PIN_CSI_D15, IOMUX_CONFIG_FUNC) -#define MX31_PIN_CSI_HSYNC__CSI_HSYNC	IOMUX_MODE(MX31_PIN_CSI_HSYNC, IOMUX_CONFIG_FUNC) -#define MX31_PIN_CSI_MCLK__CSI_MCLK	IOMUX_MODE(MX31_PIN_CSI_MCLK, IOMUX_CONFIG_FUNC) -#define MX31_PIN_CSI_PIXCLK__CSI_PIXCLK	IOMUX_MODE(MX31_PIN_CSI_PIXCLK, IOMUX_CONFIG_FUNC) -#define MX31_PIN_CSI_VSYNC__CSI_VSYNC	IOMUX_MODE(MX31_PIN_CSI_VSYNC, IOMUX_CONFIG_FUNC) -#define MX31_PIN_GPIO3_0__GPIO3_0	IOMUX_MODE(MX31_PIN_GPIO3_0, IOMUX_CONFIG_GPIO) -#define MX31_PIN_GPIO3_1__GPIO3_1	IOMUX_MODE(MX31_PIN_GPIO3_1, IOMUX_CONFIG_GPIO) -#define MX31_PIN_TXD2__GPIO1_28		IOMUX_MODE(MX31_PIN_TXD2, IOMUX_CONFIG_GPIO) -#define MX31_PIN_GPIO1_0__GPIO1_0	IOMUX_MODE(MX31_PIN_GPIO1_0, IOMUX_CONFIG_GPIO) -#define MX31_PIN_SVEN0__GPIO2_0		IOMUX_MODE(MX31_PIN_SVEN0, IOMUX_CONFIG_GPIO) -#define MX31_PIN_STX0__GPIO2_1		IOMUX_MODE(MX31_PIN_STX0, IOMUX_CONFIG_GPIO) -#define MX31_PIN_SRX0__GPIO2_2		IOMUX_MODE(MX31_PIN_SRX0, IOMUX_CONFIG_GPIO) -#define MX31_PIN_SIMPD0__GPIO2_3	IOMUX_MODE(MX31_PIN_SIMPD0, IOMUX_CONFIG_GPIO) -#define MX31_PIN_DTR_DCE1__GPIO2_8	IOMUX_MODE(MX31_PIN_DTR_DCE1, IOMUX_CONFIG_GPIO) -#define MX31_PIN_DSR_DCE1__GPIO2_9	IOMUX_MODE(MX31_PIN_DSR_DCE1, IOMUX_CONFIG_GPIO) -#define MX31_PIN_RI_DCE1__GPIO2_10	IOMUX_MODE(MX31_PIN_RI_DCE1, IOMUX_CONFIG_GPIO) -#define MX31_PIN_DCD_DCE1__GPIO2_11	IOMUX_MODE(MX31_PIN_DCD_DCE1, IOMUX_CONFIG_GPIO) -#define MX31_PIN_STXD5__GPIO1_21	IOMUX_MODE(MX31_PIN_STXD5, IOMUX_CONFIG_GPIO) -#define MX31_PIN_SRXD5__GPIO1_22	IOMUX_MODE(MX31_PIN_SRXD5, IOMUX_CONFIG_GPIO) -#define MX31_PIN_GPIO1_3__GPIO1_3	IOMUX_MODE(MX31_PIN_GPIO1_3, IOMUX_CONFIG_GPIO) -#define MX31_PIN_CSPI2_SS1__CSPI3_SS1	IOMUX_MODE(MX31_PIN_CSPI2_SS1, IOMUX_CONFIG_ALT1) -#define MX31_PIN_RTS1__GPIO2_6		IOMUX_MODE(MX31_PIN_RTS1, IOMUX_CONFIG_GPIO) -#define MX31_PIN_CTS1__GPIO2_7		IOMUX_MODE(MX31_PIN_CTS1, IOMUX_CONFIG_GPIO) -#define MX31_PIN_LCS0__GPIO3_23		IOMUX_MODE(MX31_PIN_LCS0, IOMUX_CONFIG_GPIO) -#define MX31_PIN_STXD4__STXD4		IOMUX_MODE(MX31_PIN_STXD4, IOMUX_CONFIG_FUNC) -#define MX31_PIN_SRXD4__SRXD4		IOMUX_MODE(MX31_PIN_SRXD4, IOMUX_CONFIG_FUNC) -#define MX31_PIN_SCK4__SCK4		IOMUX_MODE(MX31_PIN_SCK4, IOMUX_CONFIG_FUNC) -#define MX31_PIN_SFS4__SFS4		IOMUX_MODE(MX31_PIN_SFS4, IOMUX_CONFIG_FUNC) -#define MX31_PIN_STXD5__STXD5		IOMUX_MODE(MX31_PIN_STXD5, IOMUX_CONFIG_FUNC) -#define MX31_PIN_SRXD5__SRXD5		IOMUX_MODE(MX31_PIN_SRXD5, IOMUX_CONFIG_FUNC) -#define MX31_PIN_SCK5__SCK5		IOMUX_MODE(MX31_PIN_SCK5, IOMUX_CONFIG_FUNC) -#define MX31_PIN_SFS5__SFS5		IOMUX_MODE(MX31_PIN_SFS5, IOMUX_CONFIG_FUNC) -#define MX31_PIN_KEY_ROW0_KEY_ROW0	IOMUX_MODE(MX31_PIN_KEY_ROW0, IOMUX_CONFIG_FUNC) -#define MX31_PIN_KEY_ROW1_KEY_ROW1	IOMUX_MODE(MX31_PIN_KEY_ROW1, IOMUX_CONFIG_FUNC) -#define MX31_PIN_KEY_ROW2_KEY_ROW2	IOMUX_MODE(MX31_PIN_KEY_ROW2, IOMUX_CONFIG_FUNC) -#define MX31_PIN_KEY_ROW3_KEY_ROW3	IOMUX_MODE(MX31_PIN_KEY_ROW3, IOMUX_CONFIG_FUNC) -#define MX31_PIN_KEY_ROW4_KEY_ROW4	IOMUX_MODE(MX31_PIN_KEY_ROW4, IOMUX_CONFIG_FUNC) -#define MX31_PIN_KEY_ROW5_KEY_ROW5	IOMUX_MODE(MX31_PIN_KEY_ROW5, IOMUX_CONFIG_FUNC) -#define MX31_PIN_KEY_ROW6_KEY_ROW6	IOMUX_MODE(MX31_PIN_KEY_ROW6, IOMUX_CONFIG_FUNC) -#define MX31_PIN_KEY_ROW7_KEY_ROW7	IOMUX_MODE(MX31_PIN_KEY_ROW7, IOMUX_CONFIG_FUNC) -#define MX31_PIN_KEY_COL0_KEY_COL0	IOMUX_MODE(MX31_PIN_KEY_COL0, IOMUX_CONFIG_FUNC) -#define MX31_PIN_KEY_COL1_KEY_COL1	IOMUX_MODE(MX31_PIN_KEY_COL1, IOMUX_CONFIG_FUNC) -#define MX31_PIN_KEY_COL2_KEY_COL2	IOMUX_MODE(MX31_PIN_KEY_COL2, IOMUX_CONFIG_FUNC) -#define MX31_PIN_KEY_COL3_KEY_COL3	IOMUX_MODE(MX31_PIN_KEY_COL3, IOMUX_CONFIG_FUNC) -#define MX31_PIN_KEY_COL4_KEY_COL4	IOMUX_MODE(MX31_PIN_KEY_COL4, IOMUX_CONFIG_FUNC) -#define MX31_PIN_KEY_COL5_KEY_COL5	IOMUX_MODE(MX31_PIN_KEY_COL5, IOMUX_CONFIG_FUNC) -#define MX31_PIN_KEY_COL6_KEY_COL6	IOMUX_MODE(MX31_PIN_KEY_COL6, IOMUX_CONFIG_FUNC) -#define MX31_PIN_KEY_COL7_KEY_COL7	IOMUX_MODE(MX31_PIN_KEY_COL7, IOMUX_CONFIG_FUNC) - - -/* - * XXX: The SS0, SS1, SS2, SS3 lines of spi3 are multiplexed with cspi2_ss0, - * cspi2_ss1, cspi1_ss0 cspi1_ss1 - */ - -/* - * This function configures the pad value for a IOMUX pin. - */ -void mxc_iomux_set_pad(enum iomux_pins, u32); - -#endif /* ifndef __MACH_IOMUX_MX3_H__ */ diff --git a/arch/arm/plat-mxc/include/mach/iomux-mx35.h b/arch/arm/plat-mxc/include/mach/iomux-mx35.h deleted file mode 100644 index 2a24bae1b87..00000000000 --- a/arch/arm/plat-mxc/include/mach/iomux-mx35.h +++ /dev/null @@ -1,1267 +0,0 @@ -/* - * Copyright (C) 2009 by Jan Weitzel Phytec Messtechnik GmbH <armlinux@phytec.de> - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option, NO_PAD_CTRL) any later version. - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, - * MA 02110-1301, USA. - */ - -#ifndef __MACH_IOMUX_MX35_H__ -#define __MACH_IOMUX_MX35_H__ - -#include <mach/iomux-v3.h> - -/* - * The naming convention for the pad modes is MX35_PAD_<padname>__<padmode> - * If <padname> or <padmode> refers to a GPIO, it is named - * GPIO_<unit>_<num> see also iomux-v3.h - */ - -/*									  PAD    MUX   ALT INPSE PATH */ -#define MX35_PAD_CAPTURE__GPT_CAPIN1				IOMUX_PAD(0x328, 0x004, 0, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_CAPTURE__GPT_CMPOUT2				IOMUX_PAD(0x328, 0x004, 1, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_CAPTURE__CSPI2_SS1				IOMUX_PAD(0x328, 0x004, 2, 0x7f4, 0, NO_PAD_CTRL) -#define MX35_PAD_CAPTURE__EPIT1_EPITO				IOMUX_PAD(0x328, 0x004, 3, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_CAPTURE__CCM_CLK32K				IOMUX_PAD(0x328, 0x004, 4, 0x7d0, 0, NO_PAD_CTRL) -#define MX35_PAD_CAPTURE__GPIO1_4				IOMUX_PAD(0x328, 0x004, 5, 0x850, 0, NO_PAD_CTRL) - -#define MX35_PAD_COMPARE__GPT_CMPOUT1				IOMUX_PAD(0x32c, 0x008, 0, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_COMPARE__GPT_CAPIN2				IOMUX_PAD(0x32c, 0x008, 1, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_COMPARE__GPT_CMPOUT3				IOMUX_PAD(0x32c, 0x008, 2, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_COMPARE__EPIT2_EPITO				IOMUX_PAD(0x32c, 0x008, 3, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_COMPARE__GPIO1_5				IOMUX_PAD(0x32c, 0x008, 5, 0x854, 0, NO_PAD_CTRL) -#define MX35_PAD_COMPARE__SDMA_EXTDMA_2				IOMUX_PAD(0x32c, 0x008, 7, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_WDOG_RST__WDOG_WDOG_B				IOMUX_PAD(0x330, 0x00c, 0, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_WDOG_RST__IPU_FLASH_STROBE			IOMUX_PAD(0x330, 0x00c, 3, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_WDOG_RST__GPIO1_6				IOMUX_PAD(0x330, 0x00c, 5, 0x858, 0, NO_PAD_CTRL) - -#define MX35_PAD_GPIO1_0__GPIO1_0				IOMUX_PAD(0x334, 0x010, 0, 0x82c, 0, NO_PAD_CTRL) -#define MX35_PAD_GPIO1_0__CCM_PMIC_RDY				IOMUX_PAD(0x334, 0x010, 1, 0x7d4, 0, NO_PAD_CTRL) -#define MX35_PAD_GPIO1_0__OWIRE_LINE				IOMUX_PAD(0x334, 0x010, 2, 0x990, 0, NO_PAD_CTRL) -#define MX35_PAD_GPIO1_0__SDMA_EXTDMA_0				IOMUX_PAD(0x334, 0x010, 7, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_GPIO1_1__GPIO1_1				IOMUX_PAD(0x338, 0x014, 0, 0x838, 0, NO_PAD_CTRL) -#define MX35_PAD_GPIO1_1__PWM_PWMO				IOMUX_PAD(0x338, 0x014, 2, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_GPIO1_1__CSPI1_SS2				IOMUX_PAD(0x338, 0x014, 3, 0x7d8, 0, NO_PAD_CTRL) -#define MX35_PAD_GPIO1_1__SCC_TAMPER_DETECT			IOMUX_PAD(0x338, 0x014, 6, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_GPIO1_1__SDMA_EXTDMA_1				IOMUX_PAD(0x338, 0x014, 7, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_GPIO2_0__GPIO2_0				IOMUX_PAD(0x33c, 0x018, 0, 0x868, 0, NO_PAD_CTRL) -#define MX35_PAD_GPIO2_0__USB_TOP_USBOTG_CLK			IOMUX_PAD(0x33c, 0x018, 1, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_GPIO3_0__GPIO3_0				IOMUX_PAD(0x340, 0x01c, 0, 0x8e8, 0, NO_PAD_CTRL) -#define MX35_PAD_GPIO3_0__USB_TOP_USBH2_CLK			IOMUX_PAD(0x340, 0x01c, 1, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_RESET_IN_B__CCM_RESET_IN_B			IOMUX_PAD(0x344, 0x0,   0, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_POR_B__CCM_POR_B				IOMUX_PAD(0x348, 0x0,   0, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_CLKO__CCM_CLKO					IOMUX_PAD(0x34c, 0x020, 0, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_CLKO__GPIO1_8					IOMUX_PAD(0x34c, 0x020, 5, 0x860, 0, NO_PAD_CTRL) - -#define MX35_PAD_BOOT_MODE0__CCM_BOOT_MODE_0			IOMUX_PAD(0x350, 0x0,   0, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_BOOT_MODE1__CCM_BOOT_MODE_1			IOMUX_PAD(0x354, 0x0,   0, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_CLK_MODE0__CCM_CLK_MODE_0			IOMUX_PAD(0x358, 0x0,   0, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_CLK_MODE1__CCM_CLK_MODE_1			IOMUX_PAD(0x35c, 0x0,   0, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_POWER_FAIL__CCM_DSM_WAKEUP_INT_26		IOMUX_PAD(0x360, 0x0,   0, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_VSTBY__CCM_VSTBY				IOMUX_PAD(0x364, 0x024, 0, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_VSTBY__GPIO1_7					IOMUX_PAD(0x364, 0x024, 5, 0x85c, 0, NO_PAD_CTRL) - -#define MX35_PAD_A0__EMI_EIM_DA_L_0				IOMUX_PAD(0x368, 0x028, 0, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_A1__EMI_EIM_DA_L_1				IOMUX_PAD(0x36c, 0x02c, 0, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_A2__EMI_EIM_DA_L_2				IOMUX_PAD(0x370, 0x030, 0, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_A3__EMI_EIM_DA_L_3				IOMUX_PAD(0x374, 0x034, 0, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_A4__EMI_EIM_DA_L_4				IOMUX_PAD(0x378, 0x038, 0, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_A5__EMI_EIM_DA_L_5				IOMUX_PAD(0x37c, 0x03c, 0, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_A6__EMI_EIM_DA_L_6				IOMUX_PAD(0x380, 0x040, 0, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_A7__EMI_EIM_DA_L_7				IOMUX_PAD(0x384, 0x044, 0, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_A8__EMI_EIM_DA_H_8				IOMUX_PAD(0x388, 0x048, 0, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_A9__EMI_EIM_DA_H_9				IOMUX_PAD(0x38c, 0x04c, 0, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_A10__EMI_EIM_DA_H_10				IOMUX_PAD(0x390, 0x050, 0, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_MA10__EMI_MA10					IOMUX_PAD(0x394, 0x054, 0, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_A11__EMI_EIM_DA_H_11				IOMUX_PAD(0x398, 0x058, 0, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_A12__EMI_EIM_DA_H_12				IOMUX_PAD(0x39c, 0x05c, 0, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_A13__EMI_EIM_DA_H_13				IOMUX_PAD(0x3a0, 0x060, 0, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_A14__EMI_EIM_DA_H2_14				IOMUX_PAD(0x3a4, 0x064, 0, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_A15__EMI_EIM_DA_H2_15				IOMUX_PAD(0x3a8, 0x068, 0, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_A16__EMI_EIM_A_16				IOMUX_PAD(0x3ac, 0x06c, 0, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_A17__EMI_EIM_A_17				IOMUX_PAD(0x3b0, 0x070, 0, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_A18__EMI_EIM_A_18				IOMUX_PAD(0x3b4, 0x074, 0, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_A19__EMI_EIM_A_19				IOMUX_PAD(0x3b8, 0x078, 0, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_A20__EMI_EIM_A_20				IOMUX_PAD(0x3bc, 0x07c, 0, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_A21__EMI_EIM_A_21				IOMUX_PAD(0x3c0, 0x080, 0, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_A22__EMI_EIM_A_22				IOMUX_PAD(0x3c4, 0x084, 0, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_A23__EMI_EIM_A_23				IOMUX_PAD(0x3c8, 0x088, 0, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_A24__EMI_EIM_A_24				IOMUX_PAD(0x3cc, 0x08c, 0, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_A25__EMI_EIM_A_25				IOMUX_PAD(0x3d0, 0x090, 0, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_SDBA1__EMI_EIM_SDBA1				IOMUX_PAD(0x3d4, 0x0,   0, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_SDBA0__EMI_EIM_SDBA0				IOMUX_PAD(0x3d8, 0x0,   0, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_SD0__EMI_DRAM_D_0				IOMUX_PAD(0x3dc, 0x0,   0, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_SD1__EMI_DRAM_D_1				IOMUX_PAD(0x3e0, 0x0,   0, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_SD2__EMI_DRAM_D_2				IOMUX_PAD(0x3e4, 0x0,   0, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_SD3__EMI_DRAM_D_3				IOMUX_PAD(0x3e8, 0x0,   0, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_SD4__EMI_DRAM_D_4				IOMUX_PAD(0x3ec, 0x0,   0, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_SD5__EMI_DRAM_D_5				IOMUX_PAD(0x3f0, 0x0,   0, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_SD6__EMI_DRAM_D_6				IOMUX_PAD(0x3f4, 0x0,   0, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_SD7__EMI_DRAM_D_7				IOMUX_PAD(0x3f8, 0x0,   0, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_SD8__EMI_DRAM_D_8				IOMUX_PAD(0x3fc, 0x0,   0, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_SD9__EMI_DRAM_D_9				IOMUX_PAD(0x400, 0x0,   0, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_SD10__EMI_DRAM_D_10				IOMUX_PAD(0x404, 0x0,   0, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_SD11__EMI_DRAM_D_11				IOMUX_PAD(0x408, 0x0,   0, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_SD12__EMI_DRAM_D_12				IOMUX_PAD(0x40c, 0x0,   0, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_SD13__EMI_DRAM_D_13				IOMUX_PAD(0x410, 0x0,   0, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_SD14__EMI_DRAM_D_14				IOMUX_PAD(0x414, 0x0,   0, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_SD15__EMI_DRAM_D_15				IOMUX_PAD(0x418, 0x0,   0, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_SD16__EMI_DRAM_D_16				IOMUX_PAD(0x41c, 0x0,   0, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_SD17__EMI_DRAM_D_17				IOMUX_PAD(0x420, 0x0,   0, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_SD18__EMI_DRAM_D_18				IOMUX_PAD(0x424, 0x0,   0, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_SD19__EMI_DRAM_D_19				IOMUX_PAD(0x428, 0x0,   0, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_SD20__EMI_DRAM_D_20				IOMUX_PAD(0x42c, 0x0,   0, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_SD21__EMI_DRAM_D_21				IOMUX_PAD(0x430, 0x0,   0, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_SD22__EMI_DRAM_D_22				IOMUX_PAD(0x434, 0x0,   0, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_SD23__EMI_DRAM_D_23				IOMUX_PAD(0x438, 0x0,   0, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_SD24__EMI_DRAM_D_24				IOMUX_PAD(0x43c, 0x0,   0, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_SD25__EMI_DRAM_D_25				IOMUX_PAD(0x440, 0x0,   0, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_SD26__EMI_DRAM_D_26				IOMUX_PAD(0x444, 0x0,   0, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_SD27__EMI_DRAM_D_27				IOMUX_PAD(0x448, 0x0,   0, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_SD28__EMI_DRAM_D_28				IOMUX_PAD(0x44c, 0x0,   0, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_SD29__EMI_DRAM_D_29				IOMUX_PAD(0x450, 0x0,   0, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_SD30__EMI_DRAM_D_30				IOMUX_PAD(0x454, 0x0,   0, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_SD31__EMI_DRAM_D_31				IOMUX_PAD(0x458, 0x0,   0, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_DQM0__EMI_DRAM_DQM_0				IOMUX_PAD(0x45c, 0x0,   0, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_DQM1__EMI_DRAM_DQM_1				IOMUX_PAD(0x460, 0x0,   0, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_DQM2__EMI_DRAM_DQM_2				IOMUX_PAD(0x464, 0x0,   0, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_DQM3__EMI_DRAM_DQM_3				IOMUX_PAD(0x468, 0x0,   0, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_EB0__EMI_EIM_EB0_B				IOMUX_PAD(0x46c, 0x094, 0, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_EB1__EMI_EIM_EB1_B				IOMUX_PAD(0x470, 0x098, 0, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_OE__EMI_EIM_OE					IOMUX_PAD(0x474, 0x09c, 0, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_CS0__EMI_EIM_CS0				IOMUX_PAD(0x478, 0x0a0, 0, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_CS1__EMI_EIM_CS1				IOMUX_PAD(0x47c, 0x0a4, 0, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_CS1__EMI_NANDF_CE3				IOMUX_PAD(0x47c, 0x0a4, 3, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_CS2__EMI_EIM_CS2				IOMUX_PAD(0x480, 0x0a8, 0, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_CS3__EMI_EIM_CS3				IOMUX_PAD(0x484, 0x0ac, 0, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_CS4__EMI_EIM_CS4				IOMUX_PAD(0x488, 0x0b0, 0, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_CS4__EMI_DTACK_B				IOMUX_PAD(0x488, 0x0b0, 1, 0x800, 0, NO_PAD_CTRL) -#define MX35_PAD_CS4__EMI_NANDF_CE1				IOMUX_PAD(0x488, 0x0b0, 3, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_CS4__GPIO1_20					IOMUX_PAD(0x488, 0x0b0, 5, 0x83c, 0, NO_PAD_CTRL) - -#define MX35_PAD_CS5__EMI_EIM_CS5				IOMUX_PAD(0x48c, 0x0b4, 0, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_CS5__CSPI2_SS2					IOMUX_PAD(0x48c, 0x0b4, 1, 0x7f8, 0, NO_PAD_CTRL) -#define MX35_PAD_CS5__CSPI1_SS2					IOMUX_PAD(0x48c, 0x0b4, 2, 0x7d8, 1, NO_PAD_CTRL) -#define MX35_PAD_CS5__EMI_NANDF_CE2				IOMUX_PAD(0x48c, 0x0b4, 3, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_CS5__GPIO1_21					IOMUX_PAD(0x48c, 0x0b4, 5, 0x840, 0, NO_PAD_CTRL) - -#define MX35_PAD_NF_CE0__EMI_NANDF_CE0				IOMUX_PAD(0x490, 0x0b8, 0, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_NF_CE0__GPIO1_22				IOMUX_PAD(0x490, 0x0b8, 5, 0x844, 0, NO_PAD_CTRL) - -#define MX35_PAD_ECB__EMI_EIM_ECB				IOMUX_PAD(0x494, 0x0,   0, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_LBA__EMI_EIM_LBA				IOMUX_PAD(0x498, 0x0bc, 0, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_BCLK__EMI_EIM_BCLK				IOMUX_PAD(0x49c, 0x0c0, 0, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_RW__EMI_EIM_RW					IOMUX_PAD(0x4a0, 0x0c4, 0, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_RAS__EMI_DRAM_RAS				IOMUX_PAD(0x4a4, 0x0,   0, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_CAS__EMI_DRAM_CAS				IOMUX_PAD(0x4a8, 0x0,   0, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_SDWE__EMI_DRAM_SDWE				IOMUX_PAD(0x4ac, 0x0,   0, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_SDCKE0__EMI_DRAM_SDCKE_0			IOMUX_PAD(0x4b0, 0x0,   0, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_SDCKE1__EMI_DRAM_SDCKE_1			IOMUX_PAD(0x4b4, 0x0,   0, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_SDCLK__EMI_DRAM_SDCLK				IOMUX_PAD(0x4b8, 0x0,   0, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_SDQS0__EMI_DRAM_SDQS_0				IOMUX_PAD(0x4bc, 0x0,   0, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_SDQS1__EMI_DRAM_SDQS_1				IOMUX_PAD(0x4c0, 0x0,   0, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_SDQS2__EMI_DRAM_SDQS_2				IOMUX_PAD(0x4c4, 0x0,   0, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_SDQS3__EMI_DRAM_SDQS_3				IOMUX_PAD(0x4c8, 0x0,   0, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_NFWE_B__EMI_NANDF_WE_B				IOMUX_PAD(0x4cc, 0x0c8, 0, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_NFWE_B__USB_TOP_USBH2_DATA_3			IOMUX_PAD(0x4cc, 0x0c8, 1, 0x9d8, 0, NO_PAD_CTRL) -#define MX35_PAD_NFWE_B__IPU_DISPB_D0_VSYNC			IOMUX_PAD(0x4cc, 0x0c8, 2, 0x924, 0, NO_PAD_CTRL) -#define MX35_PAD_NFWE_B__GPIO2_18				IOMUX_PAD(0x4cc, 0x0c8, 5, 0x88c, 0, NO_PAD_CTRL) -#define MX35_PAD_NFWE_B__ARM11P_TOP_TRACE_0			IOMUX_PAD(0x4cc, 0x0c8, 7, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_NFRE_B__EMI_NANDF_RE_B				IOMUX_PAD(0x4d0, 0x0cc, 0, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_NFRE_B__USB_TOP_USBH2_DIR			IOMUX_PAD(0x4d0, 0x0cc, 1, 0x9ec, 0, NO_PAD_CTRL) -#define MX35_PAD_NFRE_B__IPU_DISPB_BCLK				IOMUX_PAD(0x4d0, 0x0cc, 2, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_NFRE_B__GPIO2_19				IOMUX_PAD(0x4d0, 0x0cc, 5, 0x890, 0, NO_PAD_CTRL) -#define MX35_PAD_NFRE_B__ARM11P_TOP_TRACE_1			IOMUX_PAD(0x4d0, 0x0cc, 7, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_NFALE__EMI_NANDF_ALE				IOMUX_PAD(0x4d4, 0x0d0, 0, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_NFALE__USB_TOP_USBH2_STP			IOMUX_PAD(0x4d4, 0x0d0, 1, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_NFALE__IPU_DISPB_CS0				IOMUX_PAD(0x4d4, 0x0d0, 2, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_NFALE__GPIO2_20				IOMUX_PAD(0x4d4, 0x0d0, 5, 0x898, 0, NO_PAD_CTRL) -#define MX35_PAD_NFALE__ARM11P_TOP_TRACE_2			IOMUX_PAD(0x4d4, 0x0d0, 7, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_NFCLE__EMI_NANDF_CLE				IOMUX_PAD(0x4d8, 0x0d4, 0, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_NFCLE__USB_TOP_USBH2_NXT			IOMUX_PAD(0x4d8, 0x0d4, 1, 0x9f0, 0, NO_PAD_CTRL) -#define MX35_PAD_NFCLE__IPU_DISPB_PAR_RS			IOMUX_PAD(0x4d8, 0x0d4, 2, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_NFCLE__GPIO2_21				IOMUX_PAD(0x4d8, 0x0d4, 5, 0x89c, 0, NO_PAD_CTRL) -#define MX35_PAD_NFCLE__ARM11P_TOP_TRACE_3			IOMUX_PAD(0x4d8, 0x0d4, 7, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_NFWP_B__EMI_NANDF_WP_B				IOMUX_PAD(0x4dc, 0x0d8, 0, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_NFWP_B__USB_TOP_USBH2_DATA_7			IOMUX_PAD(0x4dc, 0x0d8, 1, 0x9e8, 0, NO_PAD_CTRL) -#define MX35_PAD_NFWP_B__IPU_DISPB_WR				IOMUX_PAD(0x4dc, 0x0d8, 2, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_NFWP_B__GPIO2_22				IOMUX_PAD(0x4dc, 0x0d8, 5, 0x8a0, 0, NO_PAD_CTRL) -#define MX35_PAD_NFWP_B__ARM11P_TOP_TRCTL			IOMUX_PAD(0x4dc, 0x0d8, 7, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_NFRB__EMI_NANDF_RB				IOMUX_PAD(0x4e0, 0x0dc, 0, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_NFRB__IPU_DISPB_RD				IOMUX_PAD(0x4e0, 0x0dc, 2, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_NFRB__GPIO2_23					IOMUX_PAD(0x4e0, 0x0dc, 5, 0x8a4, 0, NO_PAD_CTRL) -#define MX35_PAD_NFRB__ARM11P_TOP_TRCLK				IOMUX_PAD(0x4e0, 0x0dc, 7, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_D15__EMI_EIM_D_15				IOMUX_PAD(0x4e4, 0x0,   0, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_D14__EMI_EIM_D_14				IOMUX_PAD(0x4e8, 0x0,   0, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_D13__EMI_EIM_D_13				IOMUX_PAD(0x4ec, 0x0,   0, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_D12__EMI_EIM_D_12				IOMUX_PAD(0x4f0, 0x0,   0, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_D11__EMI_EIM_D_11				IOMUX_PAD(0x4f4, 0x0,   0, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_D10__EMI_EIM_D_10				IOMUX_PAD(0x4f8, 0x0,   0, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_D9__EMI_EIM_D_9				IOMUX_PAD(0x4fc, 0x0,   0, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_D8__EMI_EIM_D_8				IOMUX_PAD(0x500, 0x0,   0, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_D7__EMI_EIM_D_7				IOMUX_PAD(0x504, 0x0,   0, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_D6__EMI_EIM_D_6				IOMUX_PAD(0x508, 0x0,   0, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_D5__EMI_EIM_D_5				IOMUX_PAD(0x50c, 0x0,   0, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_D4__EMI_EIM_D_4				IOMUX_PAD(0x510, 0x0,   0, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_D3__EMI_EIM_D_3				IOMUX_PAD(0x514, 0x0,   0, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_D2__EMI_EIM_D_2				IOMUX_PAD(0x518, 0x0,   0, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_D1__EMI_EIM_D_1				IOMUX_PAD(0x51c, 0x0,   0, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_D0__EMI_EIM_D_0				IOMUX_PAD(0x520, 0x0,   0, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_CSI_D8__IPU_CSI_D_8				IOMUX_PAD(0x524, 0x0e0, 0, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_CSI_D8__KPP_COL_0				IOMUX_PAD(0x524, 0x0e0, 1, 0x950, 0, NO_PAD_CTRL) -#define MX35_PAD_CSI_D8__GPIO1_20				IOMUX_PAD(0x524, 0x0e0, 5, 0x83c, 1, NO_PAD_CTRL) -#define MX35_PAD_CSI_D8__ARM11P_TOP_EVNTBUS_13			IOMUX_PAD(0x524, 0x0e0, 7, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_CSI_D9__IPU_CSI_D_9				IOMUX_PAD(0x528, 0x0e4, 0, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_CSI_D9__KPP_COL_1				IOMUX_PAD(0x528, 0x0e4, 1, 0x954, 0, NO_PAD_CTRL) -#define MX35_PAD_CSI_D9__GPIO1_21				IOMUX_PAD(0x528, 0x0e4, 5, 0x840, 1, NO_PAD_CTRL) -#define MX35_PAD_CSI_D9__ARM11P_TOP_EVNTBUS_14			IOMUX_PAD(0x528, 0x0e4, 7, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_CSI_D10__IPU_CSI_D_10				IOMUX_PAD(0x52c, 0x0e8, 0, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_CSI_D10__KPP_COL_2				IOMUX_PAD(0x52c, 0x0e8, 1, 0x958, 0, NO_PAD_CTRL) -#define MX35_PAD_CSI_D10__GPIO1_22				IOMUX_PAD(0x52c, 0x0e8, 5, 0x844, 1, NO_PAD_CTRL) -#define MX35_PAD_CSI_D10__ARM11P_TOP_EVNTBUS_15			IOMUX_PAD(0x52c, 0x0e8, 7, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_CSI_D11__IPU_CSI_D_11				IOMUX_PAD(0x530, 0x0ec, 0, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_CSI_D11__KPP_COL_3				IOMUX_PAD(0x530, 0x0ec, 1, 0x95c, 0, NO_PAD_CTRL) -#define MX35_PAD_CSI_D11__GPIO1_23				IOMUX_PAD(0x530, 0x0ec, 5, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_CSI_D12__IPU_CSI_D_12				IOMUX_PAD(0x534, 0x0f0, 0, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_CSI_D12__KPP_ROW_0				IOMUX_PAD(0x534, 0x0f0, 1, 0x970, 0, NO_PAD_CTRL) -#define MX35_PAD_CSI_D12__GPIO1_24				IOMUX_PAD(0x534, 0x0f0, 5, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_CSI_D13__IPU_CSI_D_13				IOMUX_PAD(0x538, 0x0f4, 0, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_CSI_D13__KPP_ROW_1				IOMUX_PAD(0x538, 0x0f4, 1, 0x974, 0, NO_PAD_CTRL) -#define MX35_PAD_CSI_D13__GPIO1_25				IOMUX_PAD(0x538, 0x0f4, 5, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_CSI_D14__IPU_CSI_D_14				IOMUX_PAD(0x53c, 0x0f8, 0, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_CSI_D14__KPP_ROW_2				IOMUX_PAD(0x53c, 0x0f8, 1, 0x978, 0, NO_PAD_CTRL) -#define MX35_PAD_CSI_D14__GPIO1_26				IOMUX_PAD(0x53c, 0x0f8, 5, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_CSI_D15__IPU_CSI_D_15				IOMUX_PAD(0x540, 0x0fc, 0, 0x97c, 0, NO_PAD_CTRL) -#define MX35_PAD_CSI_D15__KPP_ROW_3				IOMUX_PAD(0x540, 0x0fc, 1, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_CSI_D15__GPIO1_27				IOMUX_PAD(0x540, 0x0fc, 5, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_CSI_MCLK__IPU_CSI_MCLK				IOMUX_PAD(0x544, 0x100, 0, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_CSI_MCLK__GPIO1_28				IOMUX_PAD(0x544, 0x100, 5, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_CSI_VSYNC__IPU_CSI_VSYNC			IOMUX_PAD(0x548, 0x104, 0, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_CSI_VSYNC__GPIO1_29				IOMUX_PAD(0x548, 0x104, 5, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_CSI_HSYNC__IPU_CSI_HSYNC			IOMUX_PAD(0x54c, 0x108, 0, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_CSI_HSYNC__GPIO1_30				IOMUX_PAD(0x54c, 0x108, 5, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_CSI_PIXCLK__IPU_CSI_PIXCLK			IOMUX_PAD(0x550, 0x10c, 0, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_CSI_PIXCLK__GPIO1_31				IOMUX_PAD(0x550, 0x10c, 5, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_I2C1_CLK__I2C1_SCL				IOMUX_PAD(0x554, 0x110, 0, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_I2C1_CLK__GPIO2_24				IOMUX_PAD(0x554, 0x110, 5, 0x8a8, 0, NO_PAD_CTRL) -#define MX35_PAD_I2C1_CLK__CCM_USB_BYP_CLK			IOMUX_PAD(0x554, 0x110, 6, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_I2C1_DAT__I2C1_SDA				IOMUX_PAD(0x558, 0x114, 0, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_I2C1_DAT__GPIO2_25				IOMUX_PAD(0x558, 0x114, 5, 0x8ac, 0, NO_PAD_CTRL) - -#define MX35_PAD_I2C2_CLK__I2C2_SCL				IOMUX_PAD(0x55c, 0x118, 0, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_I2C2_CLK__CAN1_TXCAN				IOMUX_PAD(0x55c, 0x118, 1, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_I2C2_CLK__USB_TOP_USBH2_PWR			IOMUX_PAD(0x55c, 0x118, 2, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_I2C2_CLK__GPIO2_26				IOMUX_PAD(0x55c, 0x118, 5, 0x8b0, 0, NO_PAD_CTRL) -#define MX35_PAD_I2C2_CLK__SDMA_DEBUG_BUS_DEVICE_2		IOMUX_PAD(0x55c, 0x118, 6, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_I2C2_DAT__I2C2_SDA				IOMUX_PAD(0x560, 0x11c, 0, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_I2C2_DAT__CAN1_RXCAN				IOMUX_PAD(0x560, 0x11c, 1, 0x7c8, 0, NO_PAD_CTRL) -#define MX35_PAD_I2C2_DAT__USB_TOP_USBH2_OC			IOMUX_PAD(0x560, 0x11c, 2, 0x9f4, 0, NO_PAD_CTRL) -#define MX35_PAD_I2C2_DAT__GPIO2_27				IOMUX_PAD(0x560, 0x11c, 5, 0x8b4, 0, NO_PAD_CTRL) -#define MX35_PAD_I2C2_DAT__SDMA_DEBUG_BUS_DEVICE_3		IOMUX_PAD(0x560, 0x11c, 6, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_STXD4__AUDMUX_AUD4_TXD				IOMUX_PAD(0x564, 0x120, 0, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_STXD4__GPIO2_28				IOMUX_PAD(0x564, 0x120, 5, 0x8b8, 0, NO_PAD_CTRL) -#define MX35_PAD_STXD4__ARM11P_TOP_ARM_COREASID0		IOMUX_PAD(0x564, 0x120, 7, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_SRXD4__AUDMUX_AUD4_RXD				IOMUX_PAD(0x568, 0x124, 0, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_SRXD4__GPIO2_29				IOMUX_PAD(0x568, 0x124, 5, 0x8bc, 0, NO_PAD_CTRL) -#define MX35_PAD_SRXD4__ARM11P_TOP_ARM_COREASID1		IOMUX_PAD(0x568, 0x124, 7, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_SCK4__AUDMUX_AUD4_TXC				IOMUX_PAD(0x56c, 0x128, 0, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_SCK4__GPIO2_30					IOMUX_PAD(0x56c, 0x128, 5, 0x8c4, 0, NO_PAD_CTRL) -#define MX35_PAD_SCK4__ARM11P_TOP_ARM_COREASID2			IOMUX_PAD(0x56c, 0x128, 7, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_STXFS4__AUDMUX_AUD4_TXFS			IOMUX_PAD(0x570, 0x12c, 0, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_STXFS4__GPIO2_31				IOMUX_PAD(0x570, 0x12c, 5, 0x8c8, 0, NO_PAD_CTRL) -#define MX35_PAD_STXFS4__ARM11P_TOP_ARM_COREASID3		IOMUX_PAD(0x570, 0x12c, 7, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_STXD5__AUDMUX_AUD5_TXD				IOMUX_PAD(0x574, 0x130, 0, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_STXD5__SPDIF_SPDIF_OUT1			IOMUX_PAD(0x574, 0x130, 1, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_STXD5__CSPI2_MOSI				IOMUX_PAD(0x574, 0x130, 2, 0x7ec, 0, NO_PAD_CTRL) -#define MX35_PAD_STXD5__GPIO1_0					IOMUX_PAD(0x574, 0x130, 5, 0x82c, 1, NO_PAD_CTRL) -#define MX35_PAD_STXD5__ARM11P_TOP_ARM_COREASID4		IOMUX_PAD(0x574, 0x130, 7, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_SRXD5__AUDMUX_AUD5_RXD				IOMUX_PAD(0x578, 0x134, 0, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_SRXD5__SPDIF_SPDIF_IN1				IOMUX_PAD(0x578, 0x134, 1, 0x998, 0, NO_PAD_CTRL) -#define MX35_PAD_SRXD5__CSPI2_MISO				IOMUX_PAD(0x578, 0x134, 2, 0x7e8, 0, NO_PAD_CTRL) -#define MX35_PAD_SRXD5__GPIO1_1					IOMUX_PAD(0x578, 0x134, 5, 0x838, 1, NO_PAD_CTRL) -#define MX35_PAD_SRXD5__ARM11P_TOP_ARM_COREASID5		IOMUX_PAD(0x578, 0x134, 7, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_SCK5__AUDMUX_AUD5_TXC				IOMUX_PAD(0x57c, 0x138, 0, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_SCK5__SPDIF_SPDIF_EXTCLK			IOMUX_PAD(0x57c, 0x138, 1, 0x994, 0, NO_PAD_CTRL) -#define MX35_PAD_SCK5__CSPI2_SCLK				IOMUX_PAD(0x57c, 0x138, 2, 0x7e0, 0, NO_PAD_CTRL) -#define MX35_PAD_SCK5__GPIO1_2					IOMUX_PAD(0x57c, 0x138, 5, 0x848, 0, NO_PAD_CTRL) -#define MX35_PAD_SCK5__ARM11P_TOP_ARM_COREASID6			IOMUX_PAD(0x57c, 0x138, 7, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_STXFS5__AUDMUX_AUD5_TXFS			IOMUX_PAD(0x580, 0x13c, 0, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_STXFS5__CSPI2_RDY				IOMUX_PAD(0x580, 0x13c, 2, 0x7e4, 0, NO_PAD_CTRL) -#define MX35_PAD_STXFS5__GPIO1_3				IOMUX_PAD(0x580, 0x13c, 5, 0x84c, 0, NO_PAD_CTRL) -#define MX35_PAD_STXFS5__ARM11P_TOP_ARM_COREASID7		IOMUX_PAD(0x580, 0x13c, 7, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_SCKR__ESAI_SCKR				IOMUX_PAD(0x584, 0x140, 0, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_SCKR__GPIO1_4					IOMUX_PAD(0x584, 0x140, 5, 0x850, 1, NO_PAD_CTRL) -#define MX35_PAD_SCKR__ARM11P_TOP_EVNTBUS_10			IOMUX_PAD(0x584, 0x140, 7, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_FSR__ESAI_FSR					IOMUX_PAD(0x588, 0x144, 0, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_FSR__GPIO1_5					IOMUX_PAD(0x588, 0x144, 5, 0x854, 1, NO_PAD_CTRL) -#define MX35_PAD_FSR__ARM11P_TOP_EVNTBUS_11			IOMUX_PAD(0x588, 0x144, 7, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_HCKR__ESAI_HCKR				IOMUX_PAD(0x58c, 0x148, 0, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_HCKR__AUDMUX_AUD5_RXFS				IOMUX_PAD(0x58c, 0x148, 1, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_HCKR__CSPI2_SS0				IOMUX_PAD(0x58c, 0x148, 2, 0x7f0, 0, NO_PAD_CTRL) -#define MX35_PAD_HCKR__IPU_FLASH_STROBE				IOMUX_PAD(0x58c, 0x148, 3, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_HCKR__GPIO1_6					IOMUX_PAD(0x58c, 0x148, 5, 0x858, 1, NO_PAD_CTRL) -#define MX35_PAD_HCKR__ARM11P_TOP_EVNTBUS_12			IOMUX_PAD(0x58c, 0x148, 7, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_SCKT__ESAI_SCKT				IOMUX_PAD(0x590, 0x14c, 0, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_SCKT__GPIO1_7					IOMUX_PAD(0x590, 0x14c, 5, 0x85c, 1, NO_PAD_CTRL) -#define MX35_PAD_SCKT__IPU_CSI_D_0				IOMUX_PAD(0x590, 0x14c, 6, 0x930, 0, NO_PAD_CTRL) -#define MX35_PAD_SCKT__KPP_ROW_2				IOMUX_PAD(0x590, 0x14c, 7, 0x978, 1, NO_PAD_CTRL) - -#define MX35_PAD_FST__ESAI_FST					IOMUX_PAD(0x594, 0x150, 0, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_FST__GPIO1_8					IOMUX_PAD(0x594, 0x150, 5, 0x860, 1, NO_PAD_CTRL) -#define MX35_PAD_FST__IPU_CSI_D_1				IOMUX_PAD(0x594, 0x150, 6, 0x934, 0, NO_PAD_CTRL) -#define MX35_PAD_FST__KPP_ROW_3					IOMUX_PAD(0x594, 0x150, 7, 0x97c, 1, NO_PAD_CTRL) - -#define MX35_PAD_HCKT__ESAI_HCKT				IOMUX_PAD(0x598, 0x154, 0, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_HCKT__AUDMUX_AUD5_RXC				IOMUX_PAD(0x598, 0x154, 1, 0x7a8, 0, NO_PAD_CTRL) -#define MX35_PAD_HCKT__GPIO1_9					IOMUX_PAD(0x598, 0x154, 5, 0x864, 0, NO_PAD_CTRL) -#define MX35_PAD_HCKT__IPU_CSI_D_2				IOMUX_PAD(0x598, 0x154, 6, 0x938, 0, NO_PAD_CTRL) -#define MX35_PAD_HCKT__KPP_COL_3				IOMUX_PAD(0x598, 0x154, 7, 0x95c, 1, NO_PAD_CTRL) - -#define MX35_PAD_TX5_RX0__ESAI_TX5_RX0				IOMUX_PAD(0x59c, 0x158, 0, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_TX5_RX0__AUDMUX_AUD4_RXC			IOMUX_PAD(0x59c, 0x158, 1, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_TX5_RX0__CSPI2_SS2				IOMUX_PAD(0x59c, 0x158, 2, 0x7f8, 1, NO_PAD_CTRL) -#define MX35_PAD_TX5_RX0__CAN2_TXCAN				IOMUX_PAD(0x59c, 0x158, 3, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_TX5_RX0__UART2_DTR				IOMUX_PAD(0x59c, 0x158, 4, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_TX5_RX0__GPIO1_10				IOMUX_PAD(0x59c, 0x158, 5, 0x830, 0, NO_PAD_CTRL) -#define MX35_PAD_TX5_RX0__EMI_M3IF_CHOSEN_MASTER_0		IOMUX_PAD(0x59c, 0x158, 7, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_TX4_RX1__ESAI_TX4_RX1				IOMUX_PAD(0x5a0, 0x15c, 0, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_TX4_RX1__AUDMUX_AUD4_RXFS			IOMUX_PAD(0x5a0, 0x15c, 1, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_TX4_RX1__CSPI2_SS3				IOMUX_PAD(0x5a0, 0x15c, 2, 0x7fc, 0, NO_PAD_CTRL) -#define MX35_PAD_TX4_RX1__CAN2_RXCAN				IOMUX_PAD(0x5a0, 0x15c, 3, 0x7cc, 0, NO_PAD_CTRL) -#define MX35_PAD_TX4_RX1__UART2_DSR				IOMUX_PAD(0x5a0, 0x15c, 4, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_TX4_RX1__GPIO1_11				IOMUX_PAD(0x5a0, 0x15c, 5, 0x834, 0, NO_PAD_CTRL) -#define MX35_PAD_TX4_RX1__IPU_CSI_D_3				IOMUX_PAD(0x5a0, 0x15c, 6, 0x93c, 0, NO_PAD_CTRL) -#define MX35_PAD_TX4_RX1__KPP_ROW_0				IOMUX_PAD(0x5a0, 0x15c, 7, 0x970, 1, NO_PAD_CTRL) - -#define MX35_PAD_TX3_RX2__ESAI_TX3_RX2				IOMUX_PAD(0x5a4, 0x160, 0, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_TX3_RX2__I2C3_SCL				IOMUX_PAD(0x5a4, 0x160, 1, 0x91c, 0, NO_PAD_CTRL) -#define MX35_PAD_TX3_RX2__EMI_NANDF_CE1				IOMUX_PAD(0x5a4, 0x160, 3, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_TX3_RX2__GPIO1_12				IOMUX_PAD(0x5a4, 0x160, 5, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_TX3_RX2__IPU_CSI_D_4				IOMUX_PAD(0x5a4, 0x160, 6, 0x940, 0, NO_PAD_CTRL) -#define MX35_PAD_TX3_RX2__KPP_ROW_1				IOMUX_PAD(0x5a4, 0x160, 7, 0x974, 1, NO_PAD_CTRL) - -#define MX35_PAD_TX2_RX3__ESAI_TX2_RX3				IOMUX_PAD(0x5a8, 0x164, 0, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_TX2_RX3__I2C3_SDA				IOMUX_PAD(0x5a8, 0x164, 1, 0x920, 0, NO_PAD_CTRL) -#define MX35_PAD_TX2_RX3__EMI_NANDF_CE2				IOMUX_PAD(0x5a8, 0x164, 3, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_TX2_RX3__GPIO1_13				IOMUX_PAD(0x5a8, 0x164, 5, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_TX2_RX3__IPU_CSI_D_5				IOMUX_PAD(0x5a8, 0x164, 6, 0x944, 0, NO_PAD_CTRL) -#define MX35_PAD_TX2_RX3__KPP_COL_0				IOMUX_PAD(0x5a8, 0x164, 7, 0x950, 1, NO_PAD_CTRL) - -#define MX35_PAD_TX1__ESAI_TX1					IOMUX_PAD(0x5ac, 0x168, 0, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_TX1__CCM_PMIC_RDY				IOMUX_PAD(0x5ac, 0x168, 1, 0x7d4, 1, NO_PAD_CTRL) -#define MX35_PAD_TX1__CSPI1_SS2					IOMUX_PAD(0x5ac, 0x168, 2, 0x7d8, 2, NO_PAD_CTRL) -#define MX35_PAD_TX1__EMI_NANDF_CE3				IOMUX_PAD(0x5ac, 0x168, 3, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_TX1__UART2_RI					IOMUX_PAD(0x5ac, 0x168, 4, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_TX1__GPIO1_14					IOMUX_PAD(0x5ac, 0x168, 5, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_TX1__IPU_CSI_D_6				IOMUX_PAD(0x5ac, 0x168, 6, 0x948, 0, NO_PAD_CTRL) -#define MX35_PAD_TX1__KPP_COL_1					IOMUX_PAD(0x5ac, 0x168, 7, 0x954, 1, NO_PAD_CTRL) - -#define MX35_PAD_TX0__ESAI_TX0					IOMUX_PAD(0x5b0, 0x16c, 0, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_TX0__SPDIF_SPDIF_EXTCLK			IOMUX_PAD(0x5b0, 0x16c, 1, 0x994, 1, NO_PAD_CTRL) -#define MX35_PAD_TX0__CSPI1_SS3					IOMUX_PAD(0x5b0, 0x16c, 2, 0x7dc, 0, NO_PAD_CTRL) -#define MX35_PAD_TX0__EMI_DTACK_B				IOMUX_PAD(0x5b0, 0x16c, 3, 0x800, 1, NO_PAD_CTRL) -#define MX35_PAD_TX0__UART2_DCD					IOMUX_PAD(0x5b0, 0x16c, 4, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_TX0__GPIO1_15					IOMUX_PAD(0x5b0, 0x16c, 5, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_TX0__IPU_CSI_D_7				IOMUX_PAD(0x5b0, 0x16c, 6, 0x94c, 0, NO_PAD_CTRL) -#define MX35_PAD_TX0__KPP_COL_2					IOMUX_PAD(0x5b0, 0x16c, 7, 0x958, 1, NO_PAD_CTRL) - -#define MX35_PAD_CSPI1_MOSI__CSPI1_MOSI				IOMUX_PAD(0x5b4, 0x170, 0, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_CSPI1_MOSI__GPIO1_16				IOMUX_PAD(0x5b4, 0x170, 5, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_CSPI1_MOSI__ECT_CTI_TRIG_OUT1_2		IOMUX_PAD(0x5b4, 0x170, 7, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_CSPI1_MISO__CSPI1_MISO				IOMUX_PAD(0x5b8, 0x174, 0, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_CSPI1_MISO__GPIO1_17				IOMUX_PAD(0x5b8, 0x174, 5, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_CSPI1_MISO__ECT_CTI_TRIG_OUT1_3		IOMUX_PAD(0x5b8, 0x174, 7, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_CSPI1_SS0__CSPI1_SS0				IOMUX_PAD(0x5bc, 0x178, 0, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_CSPI1_SS0__OWIRE_LINE				IOMUX_PAD(0x5bc, 0x178, 1, 0x990, 1, NO_PAD_CTRL) -#define MX35_PAD_CSPI1_SS0__CSPI2_SS3				IOMUX_PAD(0x5bc, 0x178, 2, 0x7fc, 1, NO_PAD_CTRL) -#define MX35_PAD_CSPI1_SS0__GPIO1_18				IOMUX_PAD(0x5bc, 0x178, 5, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_CSPI1_SS0__ECT_CTI_TRIG_OUT1_4			IOMUX_PAD(0x5bc, 0x178, 7, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_CSPI1_SS1__CSPI1_SS1				IOMUX_PAD(0x5c0, 0x17c, 0, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_CSPI1_SS1__PWM_PWMO				IOMUX_PAD(0x5c0, 0x17c, 1, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_CSPI1_SS1__CCM_CLK32K				IOMUX_PAD(0x5c0, 0x17c, 2, 0x7d0, 1, NO_PAD_CTRL) -#define MX35_PAD_CSPI1_SS1__GPIO1_19				IOMUX_PAD(0x5c0, 0x17c, 5, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_CSPI1_SS1__IPU_DIAGB_29			IOMUX_PAD(0x5c0, 0x17c, 6, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_CSPI1_SS1__ECT_CTI_TRIG_OUT1_5			IOMUX_PAD(0x5c0, 0x17c, 7, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_CSPI1_SCLK__CSPI1_SCLK				IOMUX_PAD(0x5c4, 0x180, 0, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_CSPI1_SCLK__GPIO3_4				IOMUX_PAD(0x5c4, 0x180, 5, 0x904, 0, NO_PAD_CTRL) -#define MX35_PAD_CSPI1_SCLK__IPU_DIAGB_30			IOMUX_PAD(0x5c4, 0x180, 6, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_CSPI1_SCLK__EMI_M3IF_CHOSEN_MASTER_1		IOMUX_PAD(0x5c4, 0x180, 7, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_CSPI1_SPI_RDY__CSPI1_RDY			IOMUX_PAD(0x5c8, 0x184, 0, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_CSPI1_SPI_RDY__GPIO3_5				IOMUX_PAD(0x5c8, 0x184, 5, 0x908, 0, NO_PAD_CTRL) -#define MX35_PAD_CSPI1_SPI_RDY__IPU_DIAGB_31			IOMUX_PAD(0x5c8, 0x184, 6, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_CSPI1_SPI_RDY__EMI_M3IF_CHOSEN_MASTER_2	IOMUX_PAD(0x5c8, 0x184, 7, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_RXD1__UART1_RXD_MUX				IOMUX_PAD(0x5cc, 0x188, 0, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_RXD1__CSPI2_MOSI				IOMUX_PAD(0x5cc, 0x188, 1, 0x7ec, 1, NO_PAD_CTRL) -#define MX35_PAD_RXD1__KPP_COL_4				IOMUX_PAD(0x5cc, 0x188, 4, 0x960, 0, NO_PAD_CTRL) -#define MX35_PAD_RXD1__GPIO3_6					IOMUX_PAD(0x5cc, 0x188, 5, 0x90c, 0, NO_PAD_CTRL) -#define MX35_PAD_RXD1__ARM11P_TOP_EVNTBUS_16			IOMUX_PAD(0x5cc, 0x188, 7, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_TXD1__UART1_TXD_MUX				IOMUX_PAD(0x5d0, 0x18c, 0, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_TXD1__CSPI2_MISO				IOMUX_PAD(0x5d0, 0x18c, 1, 0x7e8, 1, NO_PAD_CTRL) -#define MX35_PAD_TXD1__KPP_COL_5				IOMUX_PAD(0x5d0, 0x18c, 4, 0x964, 0, NO_PAD_CTRL) -#define MX35_PAD_TXD1__GPIO3_7					IOMUX_PAD(0x5d0, 0x18c, 5, 0x910, 0, NO_PAD_CTRL) -#define MX35_PAD_TXD1__ARM11P_TOP_EVNTBUS_17			IOMUX_PAD(0x5d0, 0x18c, 7, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_RTS1__UART1_RTS				IOMUX_PAD(0x5d4, 0x190, 0, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_RTS1__CSPI2_SCLK				IOMUX_PAD(0x5d4, 0x190, 1, 0x7e0, 1, NO_PAD_CTRL) -#define MX35_PAD_RTS1__I2C3_SCL					IOMUX_PAD(0x5d4, 0x190, 2, 0x91c, 1, NO_PAD_CTRL) -#define MX35_PAD_RTS1__IPU_CSI_D_0				IOMUX_PAD(0x5d4, 0x190, 3, 0x930, 1, NO_PAD_CTRL) -#define MX35_PAD_RTS1__KPP_COL_6				IOMUX_PAD(0x5d4, 0x190, 4, 0x968, 0, NO_PAD_CTRL) -#define MX35_PAD_RTS1__GPIO3_8					IOMUX_PAD(0x5d4, 0x190, 5, 0x914, 0, NO_PAD_CTRL) -#define MX35_PAD_RTS1__EMI_NANDF_CE1				IOMUX_PAD(0x5d4, 0x190, 6, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_RTS1__ARM11P_TOP_EVNTBUS_18			IOMUX_PAD(0x5d4, 0x190, 7, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_CTS1__UART1_CTS				IOMUX_PAD(0x5d8, 0x194, 0, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_CTS1__CSPI2_RDY				IOMUX_PAD(0x5d8, 0x194, 1, 0x7e4, 1, NO_PAD_CTRL) -#define MX35_PAD_CTS1__I2C3_SDA					IOMUX_PAD(0x5d8, 0x194, 2, 0x920, 1, NO_PAD_CTRL) -#define MX35_PAD_CTS1__IPU_CSI_D_1				IOMUX_PAD(0x5d8, 0x194, 3, 0x934, 1, NO_PAD_CTRL) -#define MX35_PAD_CTS1__KPP_COL_7				IOMUX_PAD(0x5d8, 0x194, 4, 0x96c, 0, NO_PAD_CTRL) -#define MX35_PAD_CTS1__GPIO3_9					IOMUX_PAD(0x5d8, 0x194, 5, 0x918, 0, NO_PAD_CTRL) -#define MX35_PAD_CTS1__EMI_NANDF_CE2				IOMUX_PAD(0x5d8, 0x194, 6, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_CTS1__ARM11P_TOP_EVNTBUS_19			IOMUX_PAD(0x5d8, 0x194, 7, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_RXD2__UART2_RXD_MUX				IOMUX_PAD(0x5dc, 0x198, 0, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_RXD2__KPP_ROW_4				IOMUX_PAD(0x5dc, 0x198, 4, 0x980, 0, NO_PAD_CTRL) -#define MX35_PAD_RXD2__GPIO3_10					IOMUX_PAD(0x5dc, 0x198, 5, 0x8ec, 0, NO_PAD_CTRL) - -#define MX35_PAD_TXD2__UART2_TXD_MUX				IOMUX_PAD(0x5e0, 0x19c, 0, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_TXD2__SPDIF_SPDIF_EXTCLK			IOMUX_PAD(0x5e0, 0x19c, 1, 0x994, 2, NO_PAD_CTRL) -#define MX35_PAD_TXD2__KPP_ROW_5				IOMUX_PAD(0x5e0, 0x19c, 4, 0x984, 0, NO_PAD_CTRL) -#define MX35_PAD_TXD2__GPIO3_11					IOMUX_PAD(0x5e0, 0x19c, 5, 0x8f0, 0, NO_PAD_CTRL) - -#define MX35_PAD_RTS2__UART2_RTS				IOMUX_PAD(0x5e4, 0x1a0, 0, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_RTS2__SPDIF_SPDIF_IN1				IOMUX_PAD(0x5e4, 0x1a0, 1, 0x998, 1, NO_PAD_CTRL) -#define MX35_PAD_RTS2__CAN2_RXCAN				IOMUX_PAD(0x5e4, 0x1a0, 2, 0x7cc, 1, NO_PAD_CTRL) -#define MX35_PAD_RTS2__IPU_CSI_D_2				IOMUX_PAD(0x5e4, 0x1a0, 3, 0x938, 1, NO_PAD_CTRL) -#define MX35_PAD_RTS2__KPP_ROW_6				IOMUX_PAD(0x5e4, 0x1a0, 4, 0x988, 0, NO_PAD_CTRL) -#define MX35_PAD_RTS2__GPIO3_12					IOMUX_PAD(0x5e4, 0x1a0, 5, 0x8f4, 0, NO_PAD_CTRL) -#define MX35_PAD_RTS2__AUDMUX_AUD5_RXC				IOMUX_PAD(0x5e4, 0x1a0, 6, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_RTS2__UART3_RXD_MUX				IOMUX_PAD(0x5e4, 0x1a0, 7, 0x9a0, 0, NO_PAD_CTRL) - -#define MX35_PAD_CTS2__UART2_CTS				IOMUX_PAD(0x5e8, 0x1a4, 0, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_CTS2__SPDIF_SPDIF_OUT1				IOMUX_PAD(0x5e8, 0x1a4, 1, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_CTS2__CAN2_TXCAN				IOMUX_PAD(0x5e8, 0x1a4, 2, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_CTS2__IPU_CSI_D_3				IOMUX_PAD(0x5e8, 0x1a4, 3, 0x93c, 1, NO_PAD_CTRL) -#define MX35_PAD_CTS2__KPP_ROW_7				IOMUX_PAD(0x5e8, 0x1a4, 4, 0x98c, 0, NO_PAD_CTRL) -#define MX35_PAD_CTS2__GPIO3_13					IOMUX_PAD(0x5e8, 0x1a4, 5, 0x8f8, 0, NO_PAD_CTRL) -#define MX35_PAD_CTS2__AUDMUX_AUD5_RXFS				IOMUX_PAD(0x5e8, 0x1a4, 6, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_CTS2__UART3_TXD_MUX				IOMUX_PAD(0x5e8, 0x1a4, 7, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_RTCK__ARM11P_TOP_RTCK				IOMUX_PAD(0x5ec, 0x0,   0, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_TCK__SJC_TCK					IOMUX_PAD(0x5f0, 0x0,   0, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_TMS__SJC_TMS					IOMUX_PAD(0x5f4, 0x0,   0, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_TDI__SJC_TDI					IOMUX_PAD(0x5f8, 0x0,   0, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_TDO__SJC_TDO					IOMUX_PAD(0x5fc, 0x0,   0, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_TRSTB__SJC_TRSTB				IOMUX_PAD(0x600, 0x0,   0, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_DE_B__SJC_DE_B					IOMUX_PAD(0x604, 0x0,   0, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_SJC_MOD__SJC_MOD				IOMUX_PAD(0x608, 0x0,   0, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_USBOTG_PWR__USB_TOP_USBOTG_PWR			IOMUX_PAD(0x60c, 0x1a8, 0, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_USBOTG_PWR__USB_TOP_USBH2_PWR			IOMUX_PAD(0x60c, 0x1a8, 1, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_USBOTG_PWR__GPIO3_14				IOMUX_PAD(0x60c, 0x1a8, 5, 0x8fc, 0, NO_PAD_CTRL) - -#define MX35_PAD_USBOTG_OC__USB_TOP_USBOTG_OC			IOMUX_PAD(0x610, 0x1ac, 0, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_USBOTG_OC__USB_TOP_USBH2_OC			IOMUX_PAD(0x610, 0x1ac, 1, 0x9f4, 1, NO_PAD_CTRL) -#define MX35_PAD_USBOTG_OC__GPIO3_15				IOMUX_PAD(0x610, 0x1ac, 5, 0x900, 0, NO_PAD_CTRL) - -#define MX35_PAD_LD0__IPU_DISPB_DAT_0				IOMUX_PAD(0x614, 0x1b0, 0, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_LD0__GPIO2_0					IOMUX_PAD(0x614, 0x1b0, 5, 0x868, 1, NO_PAD_CTRL) -#define MX35_PAD_LD0__SDMA_SDMA_DEBUG_PC_0			IOMUX_PAD(0x614, 0x1b0, 6, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_LD1__IPU_DISPB_DAT_1				IOMUX_PAD(0x618, 0x1b4, 0, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_LD1__GPIO2_1					IOMUX_PAD(0x618, 0x1b4, 5, 0x894, 0, NO_PAD_CTRL) -#define MX35_PAD_LD1__SDMA_SDMA_DEBUG_PC_1			IOMUX_PAD(0x618, 0x1b4, 6, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_LD2__IPU_DISPB_DAT_2				IOMUX_PAD(0x61c, 0x1b8, 0, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_LD2__GPIO2_2					IOMUX_PAD(0x61c, 0x1b8, 5, 0x8c0, 0, NO_PAD_CTRL) -#define MX35_PAD_LD2__SDMA_SDMA_DEBUG_PC_2			IOMUX_PAD(0x61c, 0x1b8, 6, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_LD3__IPU_DISPB_DAT_3				IOMUX_PAD(0x620, 0x1bc, 0, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_LD3__GPIO2_3					IOMUX_PAD(0x620, 0x1bc, 5, 0x8cc, 0, NO_PAD_CTRL) -#define MX35_PAD_LD3__SDMA_SDMA_DEBUG_PC_3			IOMUX_PAD(0x620, 0x1bc, 6, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_LD4__IPU_DISPB_DAT_4				IOMUX_PAD(0x624, 0x1c0, 0, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_LD4__GPIO2_4					IOMUX_PAD(0x624, 0x1c0, 5, 0x8d0, 0, NO_PAD_CTRL) -#define MX35_PAD_LD4__SDMA_SDMA_DEBUG_PC_4			IOMUX_PAD(0x624, 0x1c0, 6, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_LD5__IPU_DISPB_DAT_5				IOMUX_PAD(0x628, 0x1c4, 0, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_LD5__GPIO2_5					IOMUX_PAD(0x628, 0x1c4, 5, 0x8d4, 0, NO_PAD_CTRL) -#define MX35_PAD_LD5__SDMA_SDMA_DEBUG_PC_5			IOMUX_PAD(0x628, 0x1c4, 6, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_LD6__IPU_DISPB_DAT_6				IOMUX_PAD(0x62c, 0x1c8, 0, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_LD6__GPIO2_6					IOMUX_PAD(0x62c, 0x1c8, 5, 0x8d8, 0, NO_PAD_CTRL) -#define MX35_PAD_LD6__SDMA_SDMA_DEBUG_PC_6			IOMUX_PAD(0x62c, 0x1c8, 6, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_LD7__IPU_DISPB_DAT_7				IOMUX_PAD(0x630, 0x1cc, 0, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_LD7__GPIO2_7					IOMUX_PAD(0x630, 0x1cc, 5, 0x8dc, 0, NO_PAD_CTRL) -#define MX35_PAD_LD7__SDMA_SDMA_DEBUG_PC_7			IOMUX_PAD(0x630, 0x1cc, 6, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_LD8__IPU_DISPB_DAT_8				IOMUX_PAD(0x634, 0x1d0, 0, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_LD8__GPIO2_8					IOMUX_PAD(0x634, 0x1d0, 5, 0x8e0, 0, NO_PAD_CTRL) -#define MX35_PAD_LD8__SDMA_SDMA_DEBUG_PC_8			IOMUX_PAD(0x634, 0x1d0, 6, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_LD9__IPU_DISPB_DAT_9				IOMUX_PAD(0x638, 0x1d4, 0, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_LD9__GPIO2_9					IOMUX_PAD(0x638, 0x1d4, 5, 0x8e4, 0, NO_PAD_CTRL) -#define MX35_PAD_LD9__SDMA_SDMA_DEBUG_PC_9			IOMUX_PAD(0x638, 0x1d4, 6, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_LD10__IPU_DISPB_DAT_10				IOMUX_PAD(0x63c, 0x1d8, 0, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_LD10__GPIO2_10					IOMUX_PAD(0x63c, 0x1d8, 5, 0x86c, 0, NO_PAD_CTRL) -#define MX35_PAD_LD10__SDMA_SDMA_DEBUG_PC_10			IOMUX_PAD(0x63c, 0x1d8, 6, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_LD11__IPU_DISPB_DAT_11				IOMUX_PAD(0x640, 0x1dc, 0, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_LD11__GPIO2_11					IOMUX_PAD(0x640, 0x1dc, 5, 0x870, 0, NO_PAD_CTRL) -#define MX35_PAD_LD11__SDMA_SDMA_DEBUG_PC_11			IOMUX_PAD(0x640, 0x1dc, 6, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_LD11__ARM11P_TOP_TRACE_4			IOMUX_PAD(0x640, 0x1dc, 7, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_LD12__IPU_DISPB_DAT_12				IOMUX_PAD(0x644, 0x1e0, 0, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_LD12__GPIO2_12					IOMUX_PAD(0x644, 0x1e0, 5, 0x874, 0, NO_PAD_CTRL) -#define MX35_PAD_LD12__SDMA_SDMA_DEBUG_PC_12			IOMUX_PAD(0x644, 0x1e0, 6, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_LD12__ARM11P_TOP_TRACE_5			IOMUX_PAD(0x644, 0x1e0, 7, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_LD13__IPU_DISPB_DAT_13				IOMUX_PAD(0x648, 0x1e4, 0, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_LD13__GPIO2_13					IOMUX_PAD(0x648, 0x1e4, 5, 0x878, 0, NO_PAD_CTRL) -#define MX35_PAD_LD13__SDMA_SDMA_DEBUG_PC_13			IOMUX_PAD(0x648, 0x1e4, 6, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_LD13__ARM11P_TOP_TRACE_6			IOMUX_PAD(0x648, 0x1e4, 7, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_LD14__IPU_DISPB_DAT_14				IOMUX_PAD(0x64c, 0x1e8, 0, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_LD14__GPIO2_14					IOMUX_PAD(0x64c, 0x1e8, 5, 0x87c, 0, NO_PAD_CTRL) -#define MX35_PAD_LD14__SDMA_SDMA_DEBUG_EVENT_CHANNEL_0		IOMUX_PAD(0x64c, 0x1e8, 6, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_LD14__ARM11P_TOP_TRACE_7			IOMUX_PAD(0x64c, 0x1e8, 7, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_LD15__IPU_DISPB_DAT_15				IOMUX_PAD(0x650, 0x1ec, 0, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_LD15__GPIO2_15					IOMUX_PAD(0x650, 0x1ec, 5, 0x880, 0, NO_PAD_CTRL) -#define MX35_PAD_LD15__SDMA_SDMA_DEBUG_EVENT_CHANNEL_1		IOMUX_PAD(0x650, 0x1ec, 6, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_LD15__ARM11P_TOP_TRACE_8			IOMUX_PAD(0x650, 0x1ec, 7, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_LD16__IPU_DISPB_DAT_16				IOMUX_PAD(0x654, 0x1f0, 0, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_LD16__IPU_DISPB_D12_VSYNC			IOMUX_PAD(0x654, 0x1f0, 2, 0x928, 0, NO_PAD_CTRL) -#define MX35_PAD_LD16__GPIO2_16					IOMUX_PAD(0x654, 0x1f0, 5, 0x884, 0, NO_PAD_CTRL) -#define MX35_PAD_LD16__SDMA_SDMA_DEBUG_EVENT_CHANNEL_2		IOMUX_PAD(0x654, 0x1f0, 6, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_LD16__ARM11P_TOP_TRACE_9			IOMUX_PAD(0x654, 0x1f0, 7, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_LD17__IPU_DISPB_DAT_17				IOMUX_PAD(0x658, 0x1f4, 0, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_LD17__IPU_DISPB_CS2				IOMUX_PAD(0x658, 0x1f4, 2, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_LD17__GPIO2_17					IOMUX_PAD(0x658, 0x1f4, 5, 0x888, 0, NO_PAD_CTRL) -#define MX35_PAD_LD17__SDMA_SDMA_DEBUG_EVENT_CHANNEL_3		IOMUX_PAD(0x658, 0x1f4, 6, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_LD17__ARM11P_TOP_TRACE_10			IOMUX_PAD(0x658, 0x1f4, 7, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_LD18__IPU_DISPB_DAT_18				IOMUX_PAD(0x65c, 0x1f8, 0, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_LD18__IPU_DISPB_D0_VSYNC			IOMUX_PAD(0x65c, 0x1f8, 1, 0x924, 1, NO_PAD_CTRL) -#define MX35_PAD_LD18__IPU_DISPB_D12_VSYNC			IOMUX_PAD(0x65c, 0x1f8, 2, 0x928, 1, NO_PAD_CTRL) -#define MX35_PAD_LD18__ESDHC3_CMD				IOMUX_PAD(0x65c, 0x1f8, 3, 0x818, 0, NO_PAD_CTRL) -#define MX35_PAD_LD18__USB_TOP_USBOTG_DATA_3			IOMUX_PAD(0x65c, 0x1f8, 4, 0x9b0, 0, NO_PAD_CTRL) -#define MX35_PAD_LD18__GPIO3_24					IOMUX_PAD(0x65c, 0x1f8, 5, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_LD18__SDMA_SDMA_DEBUG_EVENT_CHANNEL_4		IOMUX_PAD(0x65c, 0x1f8, 6, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_LD18__ARM11P_TOP_TRACE_11			IOMUX_PAD(0x65c, 0x1f8, 7, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_LD19__IPU_DISPB_DAT_19				IOMUX_PAD(0x660, 0x1fc, 0, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_LD19__IPU_DISPB_BCLK				IOMUX_PAD(0x660, 0x1fc, 1, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_LD19__IPU_DISPB_CS1				IOMUX_PAD(0x660, 0x1fc, 2, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_LD19__ESDHC3_CLK				IOMUX_PAD(0x660, 0x1fc, 3, 0x814, 0, NO_PAD_CTRL) -#define MX35_PAD_LD19__USB_TOP_USBOTG_DIR			IOMUX_PAD(0x660, 0x1fc, 4, 0x9c4, 0, NO_PAD_CTRL) -#define MX35_PAD_LD19__GPIO3_25					IOMUX_PAD(0x660, 0x1fc, 5, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_LD19__SDMA_SDMA_DEBUG_EVENT_CHANNEL_5		IOMUX_PAD(0x660, 0x1fc, 6, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_LD19__ARM11P_TOP_TRACE_12			IOMUX_PAD(0x660, 0x1fc, 7, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_LD20__IPU_DISPB_DAT_20				IOMUX_PAD(0x664, 0x200, 0, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_LD20__IPU_DISPB_CS0				IOMUX_PAD(0x664, 0x200, 1, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_LD20__IPU_DISPB_SD_CLK				IOMUX_PAD(0x664, 0x200, 2, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_LD20__ESDHC3_DAT0				IOMUX_PAD(0x664, 0x200, 3, 0x81c, 0, NO_PAD_CTRL) -#define MX35_PAD_LD20__GPIO3_26					IOMUX_PAD(0x664, 0x200, 5, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_LD20__SDMA_SDMA_DEBUG_CORE_STATUS_3		IOMUX_PAD(0x664, 0x200, 6, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_LD20__ARM11P_TOP_TRACE_13			IOMUX_PAD(0x664, 0x200, 7, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_LD21__IPU_DISPB_DAT_21				IOMUX_PAD(0x668, 0x204, 0, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_LD21__IPU_DISPB_PAR_RS				IOMUX_PAD(0x668, 0x204, 1, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_LD21__IPU_DISPB_SER_RS				IOMUX_PAD(0x668, 0x204, 2, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_LD21__ESDHC3_DAT1				IOMUX_PAD(0x668, 0x204, 3, 0x820, 0, NO_PAD_CTRL) -#define MX35_PAD_LD21__USB_TOP_USBOTG_STP			IOMUX_PAD(0x668, 0x204, 4, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_LD21__GPIO3_27					IOMUX_PAD(0x668, 0x204, 5, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_LD21__SDMA_DEBUG_EVENT_CHANNEL_SEL		IOMUX_PAD(0x668, 0x204, 6, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_LD21__ARM11P_TOP_TRACE_14			IOMUX_PAD(0x668, 0x204, 7, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_LD22__IPU_DISPB_DAT_22				IOMUX_PAD(0x66c, 0x208, 0, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_LD22__IPU_DISPB_WR				IOMUX_PAD(0x66c, 0x208, 1, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_LD22__IPU_DISPB_SD_D_I				IOMUX_PAD(0x66c, 0x208, 2, 0x92c, 0, NO_PAD_CTRL) -#define MX35_PAD_LD22__ESDHC3_DAT2				IOMUX_PAD(0x66c, 0x208, 3, 0x824, 0, NO_PAD_CTRL) -#define MX35_PAD_LD22__USB_TOP_USBOTG_NXT			IOMUX_PAD(0x66c, 0x208, 4, 0x9c8, 0, NO_PAD_CTRL) -#define MX35_PAD_LD22__GPIO3_28					IOMUX_PAD(0x66c, 0x208, 5, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_LD22__SDMA_DEBUG_BUS_ERROR			IOMUX_PAD(0x66c, 0x208, 6, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_LD22__ARM11P_TOP_TRCTL				IOMUX_PAD(0x66c, 0x208, 7, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_LD23__IPU_DISPB_DAT_23				IOMUX_PAD(0x670, 0x20c, 0, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_LD23__IPU_DISPB_RD				IOMUX_PAD(0x670, 0x20c, 1, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_LD23__IPU_DISPB_SD_D_IO			IOMUX_PAD(0x670, 0x20c, 2, 0x92c, 1, NO_PAD_CTRL) -#define MX35_PAD_LD23__ESDHC3_DAT3				IOMUX_PAD(0x670, 0x20c, 3, 0x828, 0, NO_PAD_CTRL) -#define MX35_PAD_LD23__USB_TOP_USBOTG_DATA_7			IOMUX_PAD(0x670, 0x20c, 4, 0x9c0, 0, NO_PAD_CTRL) -#define MX35_PAD_LD23__GPIO3_29					IOMUX_PAD(0x670, 0x20c, 5, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_LD23__SDMA_DEBUG_MATCHED_DMBUS			IOMUX_PAD(0x670, 0x20c, 6, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_LD23__ARM11P_TOP_TRCLK				IOMUX_PAD(0x670, 0x20c, 7, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_D3_HSYNC__IPU_DISPB_D3_HSYNC			IOMUX_PAD(0x674, 0x210, 0, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_D3_HSYNC__IPU_DISPB_SD_D_IO			IOMUX_PAD(0x674, 0x210, 2, 0x92c, 2, NO_PAD_CTRL) -#define MX35_PAD_D3_HSYNC__GPIO3_30				IOMUX_PAD(0x674, 0x210, 5, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_D3_HSYNC__SDMA_DEBUG_RTBUFFER_WRITE		IOMUX_PAD(0x674, 0x210, 6, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_D3_HSYNC__ARM11P_TOP_TRACE_15			IOMUX_PAD(0x674, 0x210, 7, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_D3_FPSHIFT__IPU_DISPB_D3_CLK			IOMUX_PAD(0x678, 0x214, 0, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_D3_FPSHIFT__IPU_DISPB_SD_CLK			IOMUX_PAD(0x678, 0x214, 2, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_D3_FPSHIFT__GPIO3_31				IOMUX_PAD(0x678, 0x214, 5, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_D3_FPSHIFT__SDMA_SDMA_DEBUG_CORE_STATUS_0	IOMUX_PAD(0x678, 0x214, 6, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_D3_FPSHIFT__ARM11P_TOP_TRACE_16		IOMUX_PAD(0x678, 0x214, 7, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_D3_DRDY__IPU_DISPB_D3_DRDY			IOMUX_PAD(0x67c, 0x218, 0, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_D3_DRDY__IPU_DISPB_SD_D_O			IOMUX_PAD(0x67c, 0x218, 2, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_D3_DRDY__GPIO1_0				IOMUX_PAD(0x67c, 0x218, 5, 0x82c, 2, NO_PAD_CTRL) -#define MX35_PAD_D3_DRDY__SDMA_SDMA_DEBUG_CORE_STATUS_1		IOMUX_PAD(0x67c, 0x218, 6, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_D3_DRDY__ARM11P_TOP_TRACE_17			IOMUX_PAD(0x67c, 0x218, 7, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_CONTRAST__IPU_DISPB_CONTR			IOMUX_PAD(0x680, 0x21c, 0, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_CONTRAST__GPIO1_1				IOMUX_PAD(0x680, 0x21c, 5, 0x838, 2, NO_PAD_CTRL) -#define MX35_PAD_CONTRAST__SDMA_SDMA_DEBUG_CORE_STATUS_2	IOMUX_PAD(0x680, 0x21c, 6, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_CONTRAST__ARM11P_TOP_TRACE_18			IOMUX_PAD(0x680, 0x21c, 7, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_D3_VSYNC__IPU_DISPB_D3_VSYNC			IOMUX_PAD(0x684, 0x220, 0, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_D3_VSYNC__IPU_DISPB_CS1			IOMUX_PAD(0x684, 0x220, 2, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_D3_VSYNC__GPIO1_2				IOMUX_PAD(0x684, 0x220, 5, 0x848, 1, NO_PAD_CTRL) -#define MX35_PAD_D3_VSYNC__SDMA_DEBUG_YIELD			IOMUX_PAD(0x684, 0x220, 6, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_D3_VSYNC__ARM11P_TOP_TRACE_19			IOMUX_PAD(0x684, 0x220, 7, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_D3_REV__IPU_DISPB_D3_REV			IOMUX_PAD(0x688, 0x224, 0, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_D3_REV__IPU_DISPB_SER_RS			IOMUX_PAD(0x688, 0x224, 2, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_D3_REV__GPIO1_3				IOMUX_PAD(0x688, 0x224, 5, 0x84c, 1, NO_PAD_CTRL) -#define MX35_PAD_D3_REV__SDMA_DEBUG_BUS_RWB			IOMUX_PAD(0x688, 0x224, 6, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_D3_REV__ARM11P_TOP_TRACE_20			IOMUX_PAD(0x688, 0x224, 7, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_D3_CLS__IPU_DISPB_D3_CLS			IOMUX_PAD(0x68c, 0x228, 0, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_D3_CLS__IPU_DISPB_CS2				IOMUX_PAD(0x68c, 0x228, 2, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_D3_CLS__GPIO1_4				IOMUX_PAD(0x68c, 0x228, 5, 0x850, 2, NO_PAD_CTRL) -#define MX35_PAD_D3_CLS__SDMA_DEBUG_BUS_DEVICE_0		IOMUX_PAD(0x68c, 0x228, 6, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_D3_CLS__ARM11P_TOP_TRACE_21			IOMUX_PAD(0x68c, 0x228, 7, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_D3_SPL__IPU_DISPB_D3_SPL			IOMUX_PAD(0x690, 0x22c, 0, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_D3_SPL__IPU_DISPB_D12_VSYNC			IOMUX_PAD(0x690, 0x22c, 2, 0x928, 2, NO_PAD_CTRL) -#define MX35_PAD_D3_SPL__GPIO1_5				IOMUX_PAD(0x690, 0x22c, 5, 0x854, 2, NO_PAD_CTRL) -#define MX35_PAD_D3_SPL__SDMA_DEBUG_BUS_DEVICE_1		IOMUX_PAD(0x690, 0x22c, 6, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_D3_SPL__ARM11P_TOP_TRACE_22			IOMUX_PAD(0x690, 0x22c, 7, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_SD1_CMD__ESDHC1_CMD				IOMUX_PAD(0x694, 0x230, 0, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_SD1_CMD__MSHC_SCLK				IOMUX_PAD(0x694, 0x230, 1, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_SD1_CMD__IPU_DISPB_D0_VSYNC			IOMUX_PAD(0x694, 0x230, 3, 0x924, 2, NO_PAD_CTRL) -#define MX35_PAD_SD1_CMD__USB_TOP_USBOTG_DATA_4			IOMUX_PAD(0x694, 0x230, 4, 0x9b4, 0, NO_PAD_CTRL) -#define MX35_PAD_SD1_CMD__GPIO1_6				IOMUX_PAD(0x694, 0x230, 5, 0x858, 2, NO_PAD_CTRL) -#define MX35_PAD_SD1_CMD__ARM11P_TOP_TRCTL			IOMUX_PAD(0x694, 0x230, 7, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_SD1_CLK__ESDHC1_CLK				IOMUX_PAD(0x698, 0x234, 0, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_SD1_CLK__MSHC_BS				IOMUX_PAD(0x698, 0x234, 1, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_SD1_CLK__IPU_DISPB_BCLK			IOMUX_PAD(0x698, 0x234, 3, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_SD1_CLK__USB_TOP_USBOTG_DATA_5			IOMUX_PAD(0x698, 0x234, 4, 0x9b8, 0, NO_PAD_CTRL) -#define MX35_PAD_SD1_CLK__GPIO1_7				IOMUX_PAD(0x698, 0x234, 5, 0x85c, 2, NO_PAD_CTRL) -#define MX35_PAD_SD1_CLK__ARM11P_TOP_TRCLK			IOMUX_PAD(0x698, 0x234, 7, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_SD1_DATA0__ESDHC1_DAT0				IOMUX_PAD(0x69c, 0x238, 0, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_SD1_DATA0__MSHC_DATA_0				IOMUX_PAD(0x69c, 0x238, 1, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_SD1_DATA0__IPU_DISPB_CS0			IOMUX_PAD(0x69c, 0x238, 3, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_SD1_DATA0__USB_TOP_USBOTG_DATA_6		IOMUX_PAD(0x69c, 0x238, 4, 0x9bc, 0, NO_PAD_CTRL) -#define MX35_PAD_SD1_DATA0__GPIO1_8				IOMUX_PAD(0x69c, 0x238, 5, 0x860, 2, NO_PAD_CTRL) -#define MX35_PAD_SD1_DATA0__ARM11P_TOP_TRACE_23			IOMUX_PAD(0x69c, 0x238, 7, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_SD1_DATA1__ESDHC1_DAT1				IOMUX_PAD(0x6a0, 0x23c, 0, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_SD1_DATA1__MSHC_DATA_1				IOMUX_PAD(0x6a0, 0x23c, 1, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_SD1_DATA1__IPU_DISPB_PAR_RS			IOMUX_PAD(0x6a0, 0x23c, 3, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_SD1_DATA1__USB_TOP_USBOTG_DATA_0		IOMUX_PAD(0x6a0, 0x23c, 4, 0x9a4, 0, NO_PAD_CTRL) -#define MX35_PAD_SD1_DATA1__GPIO1_9				IOMUX_PAD(0x6a0, 0x23c, 5, 0x864, 1, NO_PAD_CTRL) -#define MX35_PAD_SD1_DATA1__ARM11P_TOP_TRACE_24			IOMUX_PAD(0x6a0, 0x23c, 7, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_SD1_DATA2__ESDHC1_DAT2				IOMUX_PAD(0x6a4, 0x240, 0, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_SD1_DATA2__MSHC_DATA_2				IOMUX_PAD(0x6a4, 0x240, 1, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_SD1_DATA2__IPU_DISPB_WR			IOMUX_PAD(0x6a4, 0x240, 3, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_SD1_DATA2__USB_TOP_USBOTG_DATA_1		IOMUX_PAD(0x6a4, 0x240, 4, 0x9a8, 0, NO_PAD_CTRL) -#define MX35_PAD_SD1_DATA2__GPIO1_10				IOMUX_PAD(0x6a4, 0x240, 5, 0x830, 1, NO_PAD_CTRL) -#define MX35_PAD_SD1_DATA2__ARM11P_TOP_TRACE_25			IOMUX_PAD(0x6a4, 0x240, 7, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_SD1_DATA3__ESDHC1_DAT3				IOMUX_PAD(0x6a8, 0x244, 0, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_SD1_DATA3__MSHC_DATA_3				IOMUX_PAD(0x6a8, 0x244, 1, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_SD1_DATA3__IPU_DISPB_RD			IOMUX_PAD(0x6a8, 0x244, 3, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_SD1_DATA3__USB_TOP_USBOTG_DATA_2		IOMUX_PAD(0x6a8, 0x244, 4, 0x9ac, 0, NO_PAD_CTRL) -#define MX35_PAD_SD1_DATA3__GPIO1_11				IOMUX_PAD(0x6a8, 0x244, 5, 0x834, 1, NO_PAD_CTRL) -#define MX35_PAD_SD1_DATA3__ARM11P_TOP_TRACE_26			IOMUX_PAD(0x6a8, 0x244, 7, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_SD2_CMD__ESDHC2_CMD				IOMUX_PAD(0x6ac, 0x248, 0, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_SD2_CMD__I2C3_SCL				IOMUX_PAD(0x6ac, 0x248, 1, 0x91c, 2, NO_PAD_CTRL) -#define MX35_PAD_SD2_CMD__ESDHC1_DAT4				IOMUX_PAD(0x6ac, 0x248, 2, 0x804, 0, NO_PAD_CTRL) -#define MX35_PAD_SD2_CMD__IPU_CSI_D_2				IOMUX_PAD(0x6ac, 0x248, 3, 0x938, 2, NO_PAD_CTRL) -#define MX35_PAD_SD2_CMD__USB_TOP_USBH2_DATA_4			IOMUX_PAD(0x6ac, 0x248, 4, 0x9dc, 0, NO_PAD_CTRL) -#define MX35_PAD_SD2_CMD__GPIO2_0				IOMUX_PAD(0x6ac, 0x248, 5, 0x868, 2, NO_PAD_CTRL) -#define MX35_PAD_SD2_CMD__SPDIF_SPDIF_OUT1			IOMUX_PAD(0x6ac, 0x248, 6, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_SD2_CMD__IPU_DISPB_D12_VSYNC			IOMUX_PAD(0x6ac, 0x248, 7, 0x928, 3, NO_PAD_CTRL) - -#define MX35_PAD_SD2_CLK__ESDHC2_CLK				IOMUX_PAD(0x6b0, 0x24c, 0, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_SD2_CLK__I2C3_SDA				IOMUX_PAD(0x6b0, 0x24c, 1, 0x920, 2, NO_PAD_CTRL) -#define MX35_PAD_SD2_CLK__ESDHC1_DAT5				IOMUX_PAD(0x6b0, 0x24c, 2, 0x808, 0, NO_PAD_CTRL) -#define MX35_PAD_SD2_CLK__IPU_CSI_D_3				IOMUX_PAD(0x6b0, 0x24c, 3, 0x93c, 2, NO_PAD_CTRL) -#define MX35_PAD_SD2_CLK__USB_TOP_USBH2_DATA_5			IOMUX_PAD(0x6b0, 0x24c, 4, 0x9e0, 0, NO_PAD_CTRL) -#define MX35_PAD_SD2_CLK__GPIO2_1				IOMUX_PAD(0x6b0, 0x24c, 5, 0x894, 1, NO_PAD_CTRL) -#define MX35_PAD_SD2_CLK__SPDIF_SPDIF_IN1			IOMUX_PAD(0x6b0, 0x24c, 6, 0x998, 2, NO_PAD_CTRL) -#define MX35_PAD_SD2_CLK__IPU_DISPB_CS2				IOMUX_PAD(0x6b0, 0x24c, 7, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_SD2_DATA0__ESDHC2_DAT0				IOMUX_PAD(0x6b4, 0x250, 0, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_SD2_DATA0__UART3_RXD_MUX			IOMUX_PAD(0x6b4, 0x250, 1, 0x9a0, 1, NO_PAD_CTRL) -#define MX35_PAD_SD2_DATA0__ESDHC1_DAT6				IOMUX_PAD(0x6b4, 0x250, 2, 0x80c, 0, NO_PAD_CTRL) -#define MX35_PAD_SD2_DATA0__IPU_CSI_D_4				IOMUX_PAD(0x6b4, 0x250, 3, 0x940, 1, NO_PAD_CTRL) -#define MX35_PAD_SD2_DATA0__USB_TOP_USBH2_DATA_6		IOMUX_PAD(0x6b4, 0x250, 4, 0x9e4, 0, NO_PAD_CTRL) -#define MX35_PAD_SD2_DATA0__GPIO2_2				IOMUX_PAD(0x6b4, 0x250, 5, 0x8c0, 1, NO_PAD_CTRL) -#define MX35_PAD_SD2_DATA0__SPDIF_SPDIF_EXTCLK			IOMUX_PAD(0x6b4, 0x250, 6, 0x994, 3, NO_PAD_CTRL) - -#define MX35_PAD_SD2_DATA1__ESDHC2_DAT1				IOMUX_PAD(0x6b8, 0x254, 0, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_SD2_DATA1__UART3_TXD_MUX			IOMUX_PAD(0x6b8, 0x254, 1, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_SD2_DATA1__ESDHC1_DAT7				IOMUX_PAD(0x6b8, 0x254, 2, 0x810, 0, NO_PAD_CTRL) -#define MX35_PAD_SD2_DATA1__IPU_CSI_D_5				IOMUX_PAD(0x6b8, 0x254, 3, 0x944, 1, NO_PAD_CTRL) -#define MX35_PAD_SD2_DATA1__USB_TOP_USBH2_DATA_0		IOMUX_PAD(0x6b8, 0x254, 4, 0x9cc, 0, NO_PAD_CTRL) -#define MX35_PAD_SD2_DATA1__GPIO2_3				IOMUX_PAD(0x6b8, 0x254, 5, 0x8cc, 1, NO_PAD_CTRL) - -#define MX35_PAD_SD2_DATA2__ESDHC2_DAT2				IOMUX_PAD(0x6bc, 0x258, 0, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_SD2_DATA2__UART3_RTS				IOMUX_PAD(0x6bc, 0x258, 1, 0x99c, 0, NO_PAD_CTRL) -#define MX35_PAD_SD2_DATA2__CAN1_RXCAN				IOMUX_PAD(0x6bc, 0x258, 2, 0x7c8, 1, NO_PAD_CTRL) -#define MX35_PAD_SD2_DATA2__IPU_CSI_D_6				IOMUX_PAD(0x6bc, 0x258, 3, 0x948, 1, NO_PAD_CTRL) -#define MX35_PAD_SD2_DATA2__USB_TOP_USBH2_DATA_1		IOMUX_PAD(0x6bc, 0x258, 4, 0x9d0, 0, NO_PAD_CTRL) -#define MX35_PAD_SD2_DATA2__GPIO2_4				IOMUX_PAD(0x6bc, 0x258, 5, 0x8d0, 1, NO_PAD_CTRL) - -#define MX35_PAD_SD2_DATA3__ESDHC2_DAT3				IOMUX_PAD(0x6c0, 0x25c, 0, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_SD2_DATA3__UART3_CTS				IOMUX_PAD(0x6c0, 0x25c, 1, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_SD2_DATA3__CAN1_TXCAN				IOMUX_PAD(0x6c0, 0x25c, 2, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_SD2_DATA3__IPU_CSI_D_7				IOMUX_PAD(0x6c0, 0x25c, 3, 0x94c, 1, NO_PAD_CTRL) -#define MX35_PAD_SD2_DATA3__USB_TOP_USBH2_DATA_2		IOMUX_PAD(0x6c0, 0x25c, 4, 0x9d4, 0, NO_PAD_CTRL) -#define MX35_PAD_SD2_DATA3__GPIO2_5				IOMUX_PAD(0x6c0, 0x25c, 5, 0x8d4, 1, NO_PAD_CTRL) - -#define MX35_PAD_ATA_CS0__ATA_CS0				IOMUX_PAD(0x6c4, 0x260, 0, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_ATA_CS0__CSPI1_SS3				IOMUX_PAD(0x6c4, 0x260, 1, 0x7dc, 1, NO_PAD_CTRL) -#define MX35_PAD_ATA_CS0__IPU_DISPB_CS1				IOMUX_PAD(0x6c4, 0x260, 3, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_ATA_CS0__GPIO2_6				IOMUX_PAD(0x6c4, 0x260, 5, 0x8d8, 1, NO_PAD_CTRL) -#define MX35_PAD_ATA_CS0__IPU_DIAGB_0				IOMUX_PAD(0x6c4, 0x260, 6, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_ATA_CS0__ARM11P_TOP_MAX1_HMASTER_0		IOMUX_PAD(0x6c4, 0x260, 7, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_ATA_CS1__ATA_CS1				IOMUX_PAD(0x6c8, 0x264, 0, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_ATA_CS1__IPU_DISPB_CS2				IOMUX_PAD(0x6c8, 0x264, 3, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_ATA_CS1__CSPI2_SS0				IOMUX_PAD(0x6c8, 0x264, 4, 0x7f0, 1, NO_PAD_CTRL) -#define MX35_PAD_ATA_CS1__GPIO2_7				IOMUX_PAD(0x6c8, 0x264, 5, 0x8dc, 1, NO_PAD_CTRL) -#define MX35_PAD_ATA_CS1__IPU_DIAGB_1				IOMUX_PAD(0x6c8, 0x264, 6, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_ATA_CS1__ARM11P_TOP_MAX1_HMASTER_1		IOMUX_PAD(0x6c8, 0x264, 7, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_ATA_DIOR__ATA_DIOR				IOMUX_PAD(0x6cc, 0x268, 0, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_ATA_DIOR__ESDHC3_DAT0				IOMUX_PAD(0x6cc, 0x268, 1, 0x81c, 1, NO_PAD_CTRL) -#define MX35_PAD_ATA_DIOR__USB_TOP_USBOTG_DIR			IOMUX_PAD(0x6cc, 0x268, 2, 0x9c4, 1, NO_PAD_CTRL) -#define MX35_PAD_ATA_DIOR__IPU_DISPB_BE0			IOMUX_PAD(0x6cc, 0x268, 3, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_ATA_DIOR__CSPI2_SS1				IOMUX_PAD(0x6cc, 0x268, 4, 0x7f4, 1, NO_PAD_CTRL) -#define MX35_PAD_ATA_DIOR__GPIO2_8				IOMUX_PAD(0x6cc, 0x268, 5, 0x8e0, 1, NO_PAD_CTRL) -#define MX35_PAD_ATA_DIOR__IPU_DIAGB_2				IOMUX_PAD(0x6cc, 0x268, 6, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_ATA_DIOR__ARM11P_TOP_MAX1_HMASTER_2		IOMUX_PAD(0x6cc, 0x268, 7, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_ATA_DIOW__ATA_DIOW				IOMUX_PAD(0x6d0, 0x26c, 0, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_ATA_DIOW__ESDHC3_DAT1				IOMUX_PAD(0x6d0, 0x26c, 1, 0x820, 1, NO_PAD_CTRL) -#define MX35_PAD_ATA_DIOW__USB_TOP_USBOTG_STP			IOMUX_PAD(0x6d0, 0x26c, 2, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_ATA_DIOW__IPU_DISPB_BE1			IOMUX_PAD(0x6d0, 0x26c, 3, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_ATA_DIOW__CSPI2_MOSI				IOMUX_PAD(0x6d0, 0x26c, 4, 0x7ec, 2, NO_PAD_CTRL) -#define MX35_PAD_ATA_DIOW__GPIO2_9				IOMUX_PAD(0x6d0, 0x26c, 5, 0x8e4, 1, NO_PAD_CTRL) -#define MX35_PAD_ATA_DIOW__IPU_DIAGB_3				IOMUX_PAD(0x6d0, 0x26c, 6, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_ATA_DIOW__ARM11P_TOP_MAX1_HMASTER_3		IOMUX_PAD(0x6d0, 0x26c, 7, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_ATA_DMACK__ATA_DMACK				IOMUX_PAD(0x6d4, 0x270, 0, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_ATA_DMACK__ESDHC3_DAT2				IOMUX_PAD(0x6d4, 0x270, 1, 0x824, 1, NO_PAD_CTRL) -#define MX35_PAD_ATA_DMACK__USB_TOP_USBOTG_NXT			IOMUX_PAD(0x6d4, 0x270, 2, 0x9c8, 1, NO_PAD_CTRL) -#define MX35_PAD_ATA_DMACK__CSPI2_MISO				IOMUX_PAD(0x6d4, 0x270, 4, 0x7e8, 2, NO_PAD_CTRL) -#define MX35_PAD_ATA_DMACK__GPIO2_10				IOMUX_PAD(0x6d4, 0x270, 5, 0x86c, 1, NO_PAD_CTRL) -#define MX35_PAD_ATA_DMACK__IPU_DIAGB_4				IOMUX_PAD(0x6d4, 0x270, 6, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_ATA_DMACK__ARM11P_TOP_MAX0_HMASTER_0		IOMUX_PAD(0x6d4, 0x270, 7, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_ATA_RESET_B__ATA_RESET_B			IOMUX_PAD(0x6d8, 0x274, 0, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_ATA_RESET_B__ESDHC3_DAT3			IOMUX_PAD(0x6d8, 0x274, 1, 0x828, 1, NO_PAD_CTRL) -#define MX35_PAD_ATA_RESET_B__USB_TOP_USBOTG_DATA_0		IOMUX_PAD(0x6d8, 0x274, 2, 0x9a4, 1, NO_PAD_CTRL) -#define MX35_PAD_ATA_RESET_B__IPU_DISPB_SD_D_O			IOMUX_PAD(0x6d8, 0x274, 3, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_ATA_RESET_B__CSPI2_RDY				IOMUX_PAD(0x6d8, 0x274, 4, 0x7e4, 2, NO_PAD_CTRL) -#define MX35_PAD_ATA_RESET_B__GPIO2_11				IOMUX_PAD(0x6d8, 0x274, 5, 0x870, 1, NO_PAD_CTRL) -#define MX35_PAD_ATA_RESET_B__IPU_DIAGB_5			IOMUX_PAD(0x6d8, 0x274, 6, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_ATA_RESET_B__ARM11P_TOP_MAX0_HMASTER_1		IOMUX_PAD(0x6d8, 0x274, 7, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_ATA_IORDY__ATA_IORDY				IOMUX_PAD(0x6dc, 0x278, 0, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_ATA_IORDY__ESDHC3_DAT4				IOMUX_PAD(0x6dc, 0x278, 1, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_ATA_IORDY__USB_TOP_USBOTG_DATA_1		IOMUX_PAD(0x6dc, 0x278, 2, 0x9a8, 1, NO_PAD_CTRL) -#define MX35_PAD_ATA_IORDY__IPU_DISPB_SD_D_IO			IOMUX_PAD(0x6dc, 0x278, 3, 0x92c, 3, NO_PAD_CTRL) -#define MX35_PAD_ATA_IORDY__ESDHC2_DAT4				IOMUX_PAD(0x6dc, 0x278, 4, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_ATA_IORDY__GPIO2_12				IOMUX_PAD(0x6dc, 0x278, 5, 0x874, 1, NO_PAD_CTRL) -#define MX35_PAD_ATA_IORDY__IPU_DIAGB_6				IOMUX_PAD(0x6dc, 0x278, 6, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_ATA_IORDY__ARM11P_TOP_MAX0_HMASTER_2		IOMUX_PAD(0x6dc, 0x278, 7, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_ATA_DATA0__ATA_DATA_0				IOMUX_PAD(0x6e0, 0x27c, 0, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_ATA_DATA0__ESDHC3_DAT5				IOMUX_PAD(0x6e0, 0x27c, 1, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_ATA_DATA0__USB_TOP_USBOTG_DATA_2		IOMUX_PAD(0x6e0, 0x27c, 2, 0x9ac, 1, NO_PAD_CTRL) -#define MX35_PAD_ATA_DATA0__IPU_DISPB_D12_VSYNC			IOMUX_PAD(0x6e0, 0x27c, 3, 0x928, 4, NO_PAD_CTRL) -#define MX35_PAD_ATA_DATA0__ESDHC2_DAT5				IOMUX_PAD(0x6e0, 0x27c, 4, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_ATA_DATA0__GPIO2_13				IOMUX_PAD(0x6e0, 0x27c, 5, 0x878, 1, NO_PAD_CTRL) -#define MX35_PAD_ATA_DATA0__IPU_DIAGB_7				IOMUX_PAD(0x6e0, 0x27c, 6, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_ATA_DATA0__ARM11P_TOP_MAX0_HMASTER_3		IOMUX_PAD(0x6e0, 0x27c, 7, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_ATA_DATA1__ATA_DATA_1				IOMUX_PAD(0x6e4, 0x280, 0, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_ATA_DATA1__ESDHC3_DAT6				IOMUX_PAD(0x6e4, 0x280, 1, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_ATA_DATA1__USB_TOP_USBOTG_DATA_3		IOMUX_PAD(0x6e4, 0x280, 2, 0x9b0, 1, NO_PAD_CTRL) -#define MX35_PAD_ATA_DATA1__IPU_DISPB_SD_CLK			IOMUX_PAD(0x6e4, 0x280, 3, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_ATA_DATA1__ESDHC2_DAT6				IOMUX_PAD(0x6e4, 0x280, 4, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_ATA_DATA1__GPIO2_14				IOMUX_PAD(0x6e4, 0x280, 5, 0x87c, 1, NO_PAD_CTRL) -#define MX35_PAD_ATA_DATA1__IPU_DIAGB_8				IOMUX_PAD(0x6e4, 0x280, 6, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_ATA_DATA1__ARM11P_TOP_TRACE_27			IOMUX_PAD(0x6e4, 0x280, 7, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_ATA_DATA2__ATA_DATA_2				IOMUX_PAD(0x6e8, 0x284, 0, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_ATA_DATA2__ESDHC3_DAT7				IOMUX_PAD(0x6e8, 0x284, 1, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_ATA_DATA2__USB_TOP_USBOTG_DATA_4		IOMUX_PAD(0x6e8, 0x284, 2, 0x9b4, 1, NO_PAD_CTRL) -#define MX35_PAD_ATA_DATA2__IPU_DISPB_SER_RS			IOMUX_PAD(0x6e8, 0x284, 3, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_ATA_DATA2__ESDHC2_DAT7				IOMUX_PAD(0x6e8, 0x284, 4, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_ATA_DATA2__GPIO2_15				IOMUX_PAD(0x6e8, 0x284, 5, 0x880, 1, NO_PAD_CTRL) -#define MX35_PAD_ATA_DATA2__IPU_DIAGB_9				IOMUX_PAD(0x6e8, 0x284, 6, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_ATA_DATA2__ARM11P_TOP_TRACE_28			IOMUX_PAD(0x6e8, 0x284, 7, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_ATA_DATA3__ATA_DATA_3				IOMUX_PAD(0x6e8, 0x288, 0, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_ATA_DATA3__ESDHC3_CLK				IOMUX_PAD(0x6e8, 0x288, 1, 0x814, 1, NO_PAD_CTRL) -#define MX35_PAD_ATA_DATA3__USB_TOP_USBOTG_DATA_5		IOMUX_PAD(0x6e8, 0x288, 2, 0x9b8, 1, NO_PAD_CTRL) -#define MX35_PAD_ATA_DATA3__CSPI2_SCLK				IOMUX_PAD(0x6e8, 0x288, 4, 0x7e0, 2, NO_PAD_CTRL) -#define MX35_PAD_ATA_DATA3__GPIO2_16				IOMUX_PAD(0x6e8, 0x288, 5, 0x884, 1, NO_PAD_CTRL) -#define MX35_PAD_ATA_DATA3__IPU_DIAGB_10			IOMUX_PAD(0x6e8, 0x288, 6, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_ATA_DATA3__ARM11P_TOP_TRACE_29			IOMUX_PAD(0x6e8, 0x288, 7, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_ATA_DATA4__ATA_DATA_4				IOMUX_PAD(0x6f0, 0x28c, 0, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_ATA_DATA4__ESDHC3_CMD				IOMUX_PAD(0x6f0, 0x28c, 1, 0x818, 1, NO_PAD_CTRL) -#define MX35_PAD_ATA_DATA4__USB_TOP_USBOTG_DATA_6		IOMUX_PAD(0x6f0, 0x28c, 2, 0x9bc, 1, NO_PAD_CTRL) -#define MX35_PAD_ATA_DATA4__GPIO2_17				IOMUX_PAD(0x6f0, 0x28c, 5, 0x888, 1, NO_PAD_CTRL) -#define MX35_PAD_ATA_DATA4__IPU_DIAGB_11			IOMUX_PAD(0x6f0, 0x28c, 6, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_ATA_DATA4__ARM11P_TOP_TRACE_30			IOMUX_PAD(0x6f0, 0x28c, 7, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_ATA_DATA5__ATA_DATA_5				IOMUX_PAD(0x6f4, 0x290, 0, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_ATA_DATA5__USB_TOP_USBOTG_DATA_7		IOMUX_PAD(0x6f4, 0x290, 2, 0x9c0, 1, NO_PAD_CTRL) -#define MX35_PAD_ATA_DATA5__GPIO2_18				IOMUX_PAD(0x6f4, 0x290, 5, 0x88c, 1, NO_PAD_CTRL) -#define MX35_PAD_ATA_DATA5__IPU_DIAGB_12			IOMUX_PAD(0x6f4, 0x290, 6, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_ATA_DATA5__ARM11P_TOP_TRACE_31			IOMUX_PAD(0x6f4, 0x290, 7, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_ATA_DATA6__ATA_DATA_6				IOMUX_PAD(0x6f8, 0x294, 0, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_ATA_DATA6__CAN1_TXCAN				IOMUX_PAD(0x6f8, 0x294, 1, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_ATA_DATA6__UART1_DTR				IOMUX_PAD(0x6f8, 0x294, 2, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_ATA_DATA6__AUDMUX_AUD6_TXD			IOMUX_PAD(0x6f8, 0x294, 3, 0x7b4, 0, NO_PAD_CTRL) -#define MX35_PAD_ATA_DATA6__GPIO2_19				IOMUX_PAD(0x6f8, 0x294, 5, 0x890, 1, NO_PAD_CTRL) -#define MX35_PAD_ATA_DATA6__IPU_DIAGB_13			IOMUX_PAD(0x6f8, 0x294, 6, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_ATA_DATA7__ATA_DATA_7				IOMUX_PAD(0x6fc, 0x298, 0, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_ATA_DATA7__CAN1_RXCAN				IOMUX_PAD(0x6fc, 0x298, 1, 0x7c8, 2, NO_PAD_CTRL) -#define MX35_PAD_ATA_DATA7__UART1_DSR				IOMUX_PAD(0x6fc, 0x298, 2, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_ATA_DATA7__AUDMUX_AUD6_RXD			IOMUX_PAD(0x6fc, 0x298, 3, 0x7b0, 0, NO_PAD_CTRL) -#define MX35_PAD_ATA_DATA7__GPIO2_20				IOMUX_PAD(0x6fc, 0x298, 5, 0x898, 1, NO_PAD_CTRL) -#define MX35_PAD_ATA_DATA7__IPU_DIAGB_14			IOMUX_PAD(0x6fc, 0x298, 6, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_ATA_DATA8__ATA_DATA_8				IOMUX_PAD(0x700, 0x29c, 0, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_ATA_DATA8__UART3_RTS				IOMUX_PAD(0x700, 0x29c, 1, 0x99c, 1, NO_PAD_CTRL) -#define MX35_PAD_ATA_DATA8__UART1_RI				IOMUX_PAD(0x700, 0x29c, 2, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_ATA_DATA8__AUDMUX_AUD6_TXC			IOMUX_PAD(0x700, 0x29c, 3, 0x7c0, 0, NO_PAD_CTRL) -#define MX35_PAD_ATA_DATA8__GPIO2_21				IOMUX_PAD(0x700, 0x29c, 5, 0x89c, 1, NO_PAD_CTRL) -#define MX35_PAD_ATA_DATA8__IPU_DIAGB_15			IOMUX_PAD(0x700, 0x29c, 6, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_ATA_DATA9__ATA_DATA_9				IOMUX_PAD(0x704, 0x2a0, 0, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_ATA_DATA9__UART3_CTS				IOMUX_PAD(0x704, 0x2a0, 1, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_ATA_DATA9__UART1_DCD				IOMUX_PAD(0x704, 0x2a0, 2, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_ATA_DATA9__AUDMUX_AUD6_TXFS			IOMUX_PAD(0x704, 0x2a0, 3, 0x7c4, 0, NO_PAD_CTRL) -#define MX35_PAD_ATA_DATA9__GPIO2_22				IOMUX_PAD(0x704, 0x2a0, 5, 0x8a0, 1, NO_PAD_CTRL) -#define MX35_PAD_ATA_DATA9__IPU_DIAGB_16			IOMUX_PAD(0x704, 0x2a0, 6, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_ATA_DATA10__ATA_DATA_10			IOMUX_PAD(0x708, 0x2a4, 0, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_ATA_DATA10__UART3_RXD_MUX			IOMUX_PAD(0x708, 0x2a4, 1, 0x9a0, 2, NO_PAD_CTRL) -#define MX35_PAD_ATA_DATA10__AUDMUX_AUD6_RXC			IOMUX_PAD(0x708, 0x2a4, 3, 0x7b8, 0, NO_PAD_CTRL) -#define MX35_PAD_ATA_DATA10__GPIO2_23				IOMUX_PAD(0x708, 0x2a4, 5, 0x8a4, 1, NO_PAD_CTRL) -#define MX35_PAD_ATA_DATA10__IPU_DIAGB_17			IOMUX_PAD(0x708, 0x2a4, 6, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_ATA_DATA11__ATA_DATA_11			IOMUX_PAD(0x70c, 0x2a8, 0, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_ATA_DATA11__UART3_TXD_MUX			IOMUX_PAD(0x70c, 0x2a8, 1, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_ATA_DATA11__AUDMUX_AUD6_RXFS			IOMUX_PAD(0x70c, 0x2a8, 3, 0x7bc, 0, NO_PAD_CTRL) -#define MX35_PAD_ATA_DATA11__GPIO2_24				IOMUX_PAD(0x70c, 0x2a8, 5, 0x8a8, 1, NO_PAD_CTRL) -#define MX35_PAD_ATA_DATA11__IPU_DIAGB_18			IOMUX_PAD(0x70c, 0x2a8, 6, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_ATA_DATA12__ATA_DATA_12			IOMUX_PAD(0x710, 0x2ac, 0, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_ATA_DATA12__I2C3_SCL				IOMUX_PAD(0x710, 0x2ac, 1, 0x91c, 3, NO_PAD_CTRL) -#define MX35_PAD_ATA_DATA12__GPIO2_25				IOMUX_PAD(0x710, 0x2ac, 5, 0x8ac, 1, NO_PAD_CTRL) -#define MX35_PAD_ATA_DATA12__IPU_DIAGB_19			IOMUX_PAD(0x710, 0x2ac, 6, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_ATA_DATA13__ATA_DATA_13			IOMUX_PAD(0x714, 0x2b0, 0, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_ATA_DATA13__I2C3_SDA				IOMUX_PAD(0x714, 0x2b0, 1, 0x920, 3, NO_PAD_CTRL) -#define MX35_PAD_ATA_DATA13__GPIO2_26				IOMUX_PAD(0x714, 0x2b0, 5, 0x8b0, 1, NO_PAD_CTRL) -#define MX35_PAD_ATA_DATA13__IPU_DIAGB_20			IOMUX_PAD(0x714, 0x2b0, 6, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_ATA_DATA14__ATA_DATA_14			IOMUX_PAD(0x718, 0x2b4, 0, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_ATA_DATA14__IPU_CSI_D_0			IOMUX_PAD(0x718, 0x2b4, 1, 0x930, 2, NO_PAD_CTRL) -#define MX35_PAD_ATA_DATA14__KPP_ROW_0				IOMUX_PAD(0x718, 0x2b4, 3, 0x970, 2, NO_PAD_CTRL) -#define MX35_PAD_ATA_DATA14__GPIO2_27				IOMUX_PAD(0x718, 0x2b4, 5, 0x8b4, 1, NO_PAD_CTRL) -#define MX35_PAD_ATA_DATA14__IPU_DIAGB_21			IOMUX_PAD(0x718, 0x2b4, 6, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_ATA_DATA15__ATA_DATA_15			IOMUX_PAD(0x71c, 0x2b8, 0, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_ATA_DATA15__IPU_CSI_D_1			IOMUX_PAD(0x71c, 0x2b8, 1, 0x934, 2, NO_PAD_CTRL) -#define MX35_PAD_ATA_DATA15__KPP_ROW_1				IOMUX_PAD(0x71c, 0x2b8, 3, 0x974, 2, NO_PAD_CTRL) -#define MX35_PAD_ATA_DATA15__GPIO2_28				IOMUX_PAD(0x71c, 0x2b8, 5, 0x8b8, 1, NO_PAD_CTRL) -#define MX35_PAD_ATA_DATA15__IPU_DIAGB_22			IOMUX_PAD(0x71c, 0x2b8, 6, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_ATA_INTRQ__ATA_INTRQ				IOMUX_PAD(0x720, 0x2bc, 0, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_ATA_INTRQ__IPU_CSI_D_2				IOMUX_PAD(0x720, 0x2bc, 1, 0x938, 3, NO_PAD_CTRL) -#define MX35_PAD_ATA_INTRQ__KPP_ROW_2				IOMUX_PAD(0x720, 0x2bc, 3, 0x978, 2, NO_PAD_CTRL) -#define MX35_PAD_ATA_INTRQ__GPIO2_29				IOMUX_PAD(0x720, 0x2bc, 5, 0x8bc, 1, NO_PAD_CTRL) -#define MX35_PAD_ATA_INTRQ__IPU_DIAGB_23			IOMUX_PAD(0x720, 0x2bc, 6, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_ATA_BUFF_EN__ATA_BUFFER_EN			IOMUX_PAD(0x724, 0x2c0, 0, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_ATA_BUFF_EN__IPU_CSI_D_3			IOMUX_PAD(0x724, 0x2c0, 1, 0x93c, 3, NO_PAD_CTRL) -#define MX35_PAD_ATA_BUFF_EN__KPP_ROW_3				IOMUX_PAD(0x724, 0x2c0, 3, 0x97c, 2, NO_PAD_CTRL) -#define MX35_PAD_ATA_BUFF_EN__GPIO2_30				IOMUX_PAD(0x724, 0x2c0, 5, 0x8c4, 1, NO_PAD_CTRL) -#define MX35_PAD_ATA_BUFF_EN__IPU_DIAGB_24			IOMUX_PAD(0x724, 0x2c0, 6, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_ATA_DMARQ__ATA_DMARQ				IOMUX_PAD(0x728, 0x2c4, 0, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_ATA_DMARQ__IPU_CSI_D_4				IOMUX_PAD(0x728, 0x2c4, 1, 0x940, 2, NO_PAD_CTRL) -#define MX35_PAD_ATA_DMARQ__KPP_COL_0				IOMUX_PAD(0x728, 0x2c4, 3, 0x950, 2, NO_PAD_CTRL) -#define MX35_PAD_ATA_DMARQ__GPIO2_31				IOMUX_PAD(0x728, 0x2c4, 5, 0x8c8, 1, NO_PAD_CTRL) -#define MX35_PAD_ATA_DMARQ__IPU_DIAGB_25			IOMUX_PAD(0x728, 0x2c4, 6, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_ATA_DMARQ__ECT_CTI_TRIG_IN1_4			IOMUX_PAD(0x728, 0x2c4, 7, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_ATA_DA0__ATA_DA_0				IOMUX_PAD(0x72c, 0x2c8, 0, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_ATA_DA0__IPU_CSI_D_5				IOMUX_PAD(0x72c, 0x2c8, 1, 0x944, 2, NO_PAD_CTRL) -#define MX35_PAD_ATA_DA0__KPP_COL_1				IOMUX_PAD(0x72c, 0x2c8, 3, 0x954, 2, NO_PAD_CTRL) -#define MX35_PAD_ATA_DA0__GPIO3_0				IOMUX_PAD(0x72c, 0x2c8, 5, 0x8e8, 1, NO_PAD_CTRL) -#define MX35_PAD_ATA_DA0__IPU_DIAGB_26				IOMUX_PAD(0x72c, 0x2c8, 6, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_ATA_DA0__ECT_CTI_TRIG_IN1_5			IOMUX_PAD(0x72c, 0x2c8, 7, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_ATA_DA1__ATA_DA_1				IOMUX_PAD(0x730, 0x2cc, 0, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_ATA_DA1__IPU_CSI_D_6				IOMUX_PAD(0x730, 0x2cc, 1, 0x948, 2, NO_PAD_CTRL) -#define MX35_PAD_ATA_DA1__KPP_COL_2				IOMUX_PAD(0x730, 0x2cc, 3, 0x958, 2, NO_PAD_CTRL) -#define MX35_PAD_ATA_DA1__GPIO3_1				IOMUX_PAD(0x730, 0x2cc, 5, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_ATA_DA1__IPU_DIAGB_27				IOMUX_PAD(0x730, 0x2cc, 6, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_ATA_DA1__ECT_CTI_TRIG_IN1_6			IOMUX_PAD(0x730, 0x2cc, 7, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_ATA_DA2__ATA_DA_2				IOMUX_PAD(0x734, 0x2d0, 0, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_ATA_DA2__IPU_CSI_D_7				IOMUX_PAD(0x734, 0x2d0, 1, 0x94c, 2, NO_PAD_CTRL) -#define MX35_PAD_ATA_DA2__KPP_COL_3				IOMUX_PAD(0x734, 0x2d0, 3, 0x95c, 2, NO_PAD_CTRL) -#define MX35_PAD_ATA_DA2__GPIO3_2				IOMUX_PAD(0x734, 0x2d0, 5, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_ATA_DA2__IPU_DIAGB_28				IOMUX_PAD(0x734, 0x2d0, 6, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_ATA_DA2__ECT_CTI_TRIG_IN1_7			IOMUX_PAD(0x734, 0x2d0, 7, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_MLB_CLK__MLB_MLBCLK				IOMUX_PAD(0x738, 0x2d4, 0, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_MLB_CLK__GPIO3_3				IOMUX_PAD(0x738, 0x2d4, 5, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_MLB_DAT__MLB_MLBDAT				IOMUX_PAD(0x73c, 0x2d8, 0, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_MLB_DAT__GPIO3_4				IOMUX_PAD(0x73c, 0x2d8, 5, 0x904, 1, NO_PAD_CTRL) - -#define MX35_PAD_MLB_SIG__MLB_MLBSIG				IOMUX_PAD(0x740, 0x2dc, 0, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_MLB_SIG__GPIO3_5				IOMUX_PAD(0x740, 0x2dc, 5, 0x908, 1, NO_PAD_CTRL) - -#define MX35_PAD_FEC_TX_CLK__FEC_TX_CLK				IOMUX_PAD(0x744, 0x2e0, 0, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_FEC_TX_CLK__ESDHC1_DAT4			IOMUX_PAD(0x744, 0x2e0, 1, 0x804, 1, NO_PAD_CTRL) -#define MX35_PAD_FEC_TX_CLK__UART3_RXD_MUX			IOMUX_PAD(0x744, 0x2e0, 2, 0x9a0, 3, NO_PAD_CTRL) -#define MX35_PAD_FEC_TX_CLK__USB_TOP_USBH2_DIR			IOMUX_PAD(0x744, 0x2e0, 3, 0x9ec, 1, NO_PAD_CTRL) -#define MX35_PAD_FEC_TX_CLK__CSPI2_MOSI				IOMUX_PAD(0x744, 0x2e0, 4, 0x7ec, 3, NO_PAD_CTRL) -#define MX35_PAD_FEC_TX_CLK__GPIO3_6				IOMUX_PAD(0x744, 0x2e0, 5, 0x90c, 1, NO_PAD_CTRL) -#define MX35_PAD_FEC_TX_CLK__IPU_DISPB_D12_VSYNC		IOMUX_PAD(0x744, 0x2e0, 6, 0x928, 5, NO_PAD_CTRL) -#define MX35_PAD_FEC_TX_CLK__ARM11P_TOP_EVNTBUS_0		IOMUX_PAD(0x744, 0x2e0, 7, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_FEC_RX_CLK__FEC_RX_CLK				IOMUX_PAD(0x748, 0x2e4, 0, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_FEC_RX_CLK__ESDHC1_DAT5			IOMUX_PAD(0x748, 0x2e4, 1, 0x808, 1, NO_PAD_CTRL) -#define MX35_PAD_FEC_RX_CLK__UART3_TXD_MUX			IOMUX_PAD(0x748, 0x2e4, 2, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_FEC_RX_CLK__USB_TOP_USBH2_STP			IOMUX_PAD(0x748, 0x2e4, 3, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_FEC_RX_CLK__CSPI2_MISO				IOMUX_PAD(0x748, 0x2e4, 4, 0x7e8, 3, NO_PAD_CTRL) -#define MX35_PAD_FEC_RX_CLK__GPIO3_7				IOMUX_PAD(0x748, 0x2e4, 5, 0x910, 1, NO_PAD_CTRL) -#define MX35_PAD_FEC_RX_CLK__IPU_DISPB_SD_D_I			IOMUX_PAD(0x748, 0x2e4, 6, 0x92c, 4, NO_PAD_CTRL) -#define MX35_PAD_FEC_RX_CLK__ARM11P_TOP_EVNTBUS_1		IOMUX_PAD(0x748, 0x2e4, 7, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_FEC_RX_DV__FEC_RX_DV				IOMUX_PAD(0x74c, 0x2e8, 0, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_FEC_RX_DV__ESDHC1_DAT6				IOMUX_PAD(0x74c, 0x2e8, 1, 0x80c, 1, NO_PAD_CTRL) -#define MX35_PAD_FEC_RX_DV__UART3_RTS				IOMUX_PAD(0x74c, 0x2e8, 2, 0x99c, 2, NO_PAD_CTRL) -#define MX35_PAD_FEC_RX_DV__USB_TOP_USBH2_NXT			IOMUX_PAD(0x74c, 0x2e8, 3, 0x9f0, 1, NO_PAD_CTRL) -#define MX35_PAD_FEC_RX_DV__CSPI2_SCLK				IOMUX_PAD(0x74c, 0x2e8, 4, 0x7e0, 3, NO_PAD_CTRL) -#define MX35_PAD_FEC_RX_DV__GPIO3_8				IOMUX_PAD(0x74c, 0x2e8, 5, 0x914, 1, NO_PAD_CTRL) -#define MX35_PAD_FEC_RX_DV__IPU_DISPB_SD_CLK			IOMUX_PAD(0x74c, 0x2e8, 6, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_FEC_RX_DV__ARM11P_TOP_EVNTBUS_2		IOMUX_PAD(0x74c, 0x2e8, 7, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_FEC_COL__FEC_COL				IOMUX_PAD(0x750, 0x2ec, 0, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_FEC_COL__ESDHC1_DAT7				IOMUX_PAD(0x750, 0x2ec, 1, 0x810, 1, NO_PAD_CTRL) -#define MX35_PAD_FEC_COL__UART3_CTS				IOMUX_PAD(0x750, 0x2ec, 2, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_FEC_COL__USB_TOP_USBH2_DATA_0			IOMUX_PAD(0x750, 0x2ec, 3, 0x9cc, 1, NO_PAD_CTRL) -#define MX35_PAD_FEC_COL__CSPI2_RDY				IOMUX_PAD(0x750, 0x2ec, 4, 0x7e4, 3, NO_PAD_CTRL) -#define MX35_PAD_FEC_COL__GPIO3_9				IOMUX_PAD(0x750, 0x2ec, 5, 0x918, 1, NO_PAD_CTRL) -#define MX35_PAD_FEC_COL__IPU_DISPB_SER_RS			IOMUX_PAD(0x750, 0x2ec, 6, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_FEC_COL__ARM11P_TOP_EVNTBUS_3			IOMUX_PAD(0x750, 0x2ec, 7, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_FEC_RDATA0__FEC_RDATA_0			IOMUX_PAD(0x754, 0x2f0, 0, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_FEC_RDATA0__PWM_PWMO				IOMUX_PAD(0x754, 0x2f0, 1, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_FEC_RDATA0__UART3_DTR				IOMUX_PAD(0x754, 0x2f0, 2, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_FEC_RDATA0__USB_TOP_USBH2_DATA_1		IOMUX_PAD(0x754, 0x2f0, 3, 0x9d0, 1, NO_PAD_CTRL) -#define MX35_PAD_FEC_RDATA0__CSPI2_SS0				IOMUX_PAD(0x754, 0x2f0, 4, 0x7f0, 2, NO_PAD_CTRL) -#define MX35_PAD_FEC_RDATA0__GPIO3_10				IOMUX_PAD(0x754, 0x2f0, 5, 0x8ec, 1, NO_PAD_CTRL) -#define MX35_PAD_FEC_RDATA0__IPU_DISPB_CS1			IOMUX_PAD(0x754, 0x2f0, 6, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_FEC_RDATA0__ARM11P_TOP_EVNTBUS_4		IOMUX_PAD(0x754, 0x2f0, 7, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_FEC_TDATA0__FEC_TDATA_0			IOMUX_PAD(0x758, 0x2f4, 0, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_FEC_TDATA0__SPDIF_SPDIF_OUT1			IOMUX_PAD(0x758, 0x2f4, 1, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_FEC_TDATA0__UART3_DSR				IOMUX_PAD(0x758, 0x2f4, 2, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_FEC_TDATA0__USB_TOP_USBH2_DATA_2		IOMUX_PAD(0x758, 0x2f4, 3, 0x9d4, 1, NO_PAD_CTRL) -#define MX35_PAD_FEC_TDATA0__CSPI2_SS1				IOMUX_PAD(0x758, 0x2f4, 4, 0x7f4, 2, NO_PAD_CTRL) -#define MX35_PAD_FEC_TDATA0__GPIO3_11				IOMUX_PAD(0x758, 0x2f4, 5, 0x8f0, 1, NO_PAD_CTRL) -#define MX35_PAD_FEC_TDATA0__IPU_DISPB_CS0			IOMUX_PAD(0x758, 0x2f4, 6, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_FEC_TDATA0__ARM11P_TOP_EVNTBUS_5		IOMUX_PAD(0x758, 0x2f4, 7, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_FEC_TX_EN__FEC_TX_EN				IOMUX_PAD(0x75c, 0x2f8, 0, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_FEC_TX_EN__SPDIF_SPDIF_IN1			IOMUX_PAD(0x75c, 0x2f8, 1, 0x998, 3, NO_PAD_CTRL) -#define MX35_PAD_FEC_TX_EN__UART3_RI				IOMUX_PAD(0x75c, 0x2f8, 2, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_FEC_TX_EN__USB_TOP_USBH2_DATA_3		IOMUX_PAD(0x75c, 0x2f8, 3, 0x9d8, 1, NO_PAD_CTRL) -#define MX35_PAD_FEC_TX_EN__GPIO3_12				IOMUX_PAD(0x75c, 0x2f8, 5, 0x8f4, 1, NO_PAD_CTRL) -#define MX35_PAD_FEC_TX_EN__IPU_DISPB_PAR_RS			IOMUX_PAD(0x75c, 0x2f8, 6, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_FEC_TX_EN__ARM11P_TOP_EVNTBUS_6		IOMUX_PAD(0x75c, 0x2f8, 7, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_FEC_MDC__FEC_MDC				IOMUX_PAD(0x760, 0x2fc, 0, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_FEC_MDC__CAN2_TXCAN				IOMUX_PAD(0x760, 0x2fc, 1, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_FEC_MDC__UART3_DCD				IOMUX_PAD(0x760, 0x2fc, 2, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_FEC_MDC__USB_TOP_USBH2_DATA_4			IOMUX_PAD(0x760, 0x2fc, 3, 0x9dc, 1, NO_PAD_CTRL) -#define MX35_PAD_FEC_MDC__GPIO3_13				IOMUX_PAD(0x760, 0x2fc, 5, 0x8f8, 1, NO_PAD_CTRL) -#define MX35_PAD_FEC_MDC__IPU_DISPB_WR				IOMUX_PAD(0x760, 0x2fc, 6, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_FEC_MDC__ARM11P_TOP_EVNTBUS_7			IOMUX_PAD(0x760, 0x2fc, 7, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_FEC_MDIO__FEC_MDIO				IOMUX_PAD(0x764, 0x300, 0, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_FEC_MDIO__CAN2_RXCAN				IOMUX_PAD(0x764, 0x300, 1, 0x7cc, 2, NO_PAD_CTRL) -#define MX35_PAD_FEC_MDIO__USB_TOP_USBH2_DATA_5			IOMUX_PAD(0x764, 0x300, 3, 0x9e0, 1, NO_PAD_CTRL) -#define MX35_PAD_FEC_MDIO__GPIO3_14				IOMUX_PAD(0x764, 0x300, 5, 0x8fc, 1, NO_PAD_CTRL) -#define MX35_PAD_FEC_MDIO__IPU_DISPB_RD				IOMUX_PAD(0x764, 0x300, 6, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_FEC_MDIO__ARM11P_TOP_EVNTBUS_8			IOMUX_PAD(0x764, 0x300, 7, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_FEC_TX_ERR__FEC_TX_ERR				IOMUX_PAD(0x768, 0x304, 0, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_FEC_TX_ERR__OWIRE_LINE				IOMUX_PAD(0x768, 0x304, 1, 0x990, 2, NO_PAD_CTRL) -#define MX35_PAD_FEC_TX_ERR__SPDIF_SPDIF_EXTCLK			IOMUX_PAD(0x768, 0x304, 2, 0x994, 4, NO_PAD_CTRL) -#define MX35_PAD_FEC_TX_ERR__USB_TOP_USBH2_DATA_6		IOMUX_PAD(0x768, 0x304, 3, 0x9e4, 1, NO_PAD_CTRL) -#define MX35_PAD_FEC_TX_ERR__GPIO3_15				IOMUX_PAD(0x768, 0x304, 5, 0x900, 1, NO_PAD_CTRL) -#define MX35_PAD_FEC_TX_ERR__IPU_DISPB_D0_VSYNC			IOMUX_PAD(0x768, 0x304, 6, 0x924, 3, NO_PAD_CTRL) -#define MX35_PAD_FEC_TX_ERR__ARM11P_TOP_EVNTBUS_9		IOMUX_PAD(0x768, 0x304, 7, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_FEC_RX_ERR__FEC_RX_ERR				IOMUX_PAD(0x76c, 0x308, 0, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_FEC_RX_ERR__IPU_CSI_D_0			IOMUX_PAD(0x76c, 0x308, 1, 0x930, 3, NO_PAD_CTRL) -#define MX35_PAD_FEC_RX_ERR__USB_TOP_USBH2_DATA_7		IOMUX_PAD(0x76c, 0x308, 3, 0x9e8, 1, NO_PAD_CTRL) -#define MX35_PAD_FEC_RX_ERR__KPP_COL_4				IOMUX_PAD(0x76c, 0x308, 4, 0x960, 1, NO_PAD_CTRL) -#define MX35_PAD_FEC_RX_ERR__GPIO3_16				IOMUX_PAD(0x76c, 0x308, 5, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_FEC_RX_ERR__IPU_DISPB_SD_D_IO			IOMUX_PAD(0x76c, 0x308, 6, 0x92c, 5, NO_PAD_CTRL) - -#define MX35_PAD_FEC_CRS__FEC_CRS				IOMUX_PAD(0x770, 0x30c, 0, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_FEC_CRS__IPU_CSI_D_1				IOMUX_PAD(0x770, 0x30c, 1, 0x934, 3, NO_PAD_CTRL) -#define MX35_PAD_FEC_CRS__USB_TOP_USBH2_PWR			IOMUX_PAD(0x770, 0x30c, 3, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_FEC_CRS__KPP_COL_5				IOMUX_PAD(0x770, 0x30c, 4, 0x964, 1, NO_PAD_CTRL) -#define MX35_PAD_FEC_CRS__GPIO3_17				IOMUX_PAD(0x770, 0x30c, 5, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_FEC_CRS__IPU_FLASH_STROBE			IOMUX_PAD(0x770, 0x30c, 6, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_FEC_RDATA1__FEC_RDATA_1			IOMUX_PAD(0x774, 0x310, 0, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_FEC_RDATA1__IPU_CSI_D_2			IOMUX_PAD(0x774, 0x310, 1, 0x938, 4, NO_PAD_CTRL) -#define MX35_PAD_FEC_RDATA1__AUDMUX_AUD6_RXC			IOMUX_PAD(0x774, 0x310, 2, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_FEC_RDATA1__USB_TOP_USBH2_OC			IOMUX_PAD(0x774, 0x310, 3, 0x9f4, 2, NO_PAD_CTRL) -#define MX35_PAD_FEC_RDATA1__KPP_COL_6				IOMUX_PAD(0x774, 0x310, 4, 0x968, 1, NO_PAD_CTRL) -#define MX35_PAD_FEC_RDATA1__GPIO3_18				IOMUX_PAD(0x774, 0x310, 5, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_FEC_RDATA1__IPU_DISPB_BE0			IOMUX_PAD(0x774, 0x310, 6, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_FEC_TDATA1__FEC_TDATA_1			IOMUX_PAD(0x778, 0x314, 0, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_FEC_TDATA1__IPU_CSI_D_3			IOMUX_PAD(0x778, 0x314, 1, 0x93c, 4, NO_PAD_CTRL) -#define MX35_PAD_FEC_TDATA1__AUDMUX_AUD6_RXFS			IOMUX_PAD(0x778, 0x314, 2, 0x7bc, 1, NO_PAD_CTRL) -#define MX35_PAD_FEC_TDATA1__KPP_COL_7				IOMUX_PAD(0x778, 0x314, 4, 0x96c, 1, NO_PAD_CTRL) -#define MX35_PAD_FEC_TDATA1__GPIO3_19				IOMUX_PAD(0x778, 0x314, 5, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_FEC_TDATA1__IPU_DISPB_BE1			IOMUX_PAD(0x778, 0x314, 6, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_FEC_RDATA2__FEC_RDATA_2			IOMUX_PAD(0x77c, 0x318, 0, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_FEC_RDATA2__IPU_CSI_D_4			IOMUX_PAD(0x77c, 0x318, 1, 0x940, 3, NO_PAD_CTRL) -#define MX35_PAD_FEC_RDATA2__AUDMUX_AUD6_TXD			IOMUX_PAD(0x77c, 0x318, 2, 0x7b4, 1, NO_PAD_CTRL) -#define MX35_PAD_FEC_RDATA2__KPP_ROW_4				IOMUX_PAD(0x77c, 0x318, 4, 0x980, 1, NO_PAD_CTRL) -#define MX35_PAD_FEC_RDATA2__GPIO3_20				IOMUX_PAD(0x77c, 0x318, 5, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_FEC_TDATA2__FEC_TDATA_2			IOMUX_PAD(0x780, 0x31c, 0, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_FEC_TDATA2__IPU_CSI_D_5			IOMUX_PAD(0x780, 0x31c, 1, 0x944, 3, NO_PAD_CTRL) -#define MX35_PAD_FEC_TDATA2__AUDMUX_AUD6_RXD			IOMUX_PAD(0x780, 0x31c, 2, 0x7b0, 1, NO_PAD_CTRL) -#define MX35_PAD_FEC_TDATA2__KPP_ROW_5				IOMUX_PAD(0x780, 0x31c, 4, 0x984, 1, NO_PAD_CTRL) -#define MX35_PAD_FEC_TDATA2__GPIO3_21				IOMUX_PAD(0x780, 0x31c, 5, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_FEC_RDATA3__FEC_RDATA_3			IOMUX_PAD(0x784, 0x320, 0, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_FEC_RDATA3__IPU_CSI_D_6			IOMUX_PAD(0x784, 0x320, 1, 0x948, 3, NO_PAD_CTRL) -#define MX35_PAD_FEC_RDATA3__AUDMUX_AUD6_TXC			IOMUX_PAD(0x784, 0x320, 2, 0x7c0, 1, NO_PAD_CTRL) -#define MX35_PAD_FEC_RDATA3__KPP_ROW_6				IOMUX_PAD(0x784, 0x320, 4, 0x988, 1, NO_PAD_CTRL) -#define MX35_PAD_FEC_RDATA3__GPIO3_22				IOMUX_PAD(0x784, 0x320, 6, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_FEC_TDATA3__FEC_TDATA_3			IOMUX_PAD(0x788, 0x324, 0, 0x0,   0, NO_PAD_CTRL) -#define MX35_PAD_FEC_TDATA3__IPU_CSI_D_7			IOMUX_PAD(0x788, 0x324, 1, 0x94c, 3, NO_PAD_CTRL) -#define MX35_PAD_FEC_TDATA3__AUDMUX_AUD6_TXFS			IOMUX_PAD(0x788, 0x324, 2, 0x7c4, 1, NO_PAD_CTRL) -#define MX35_PAD_FEC_TDATA3__KPP_ROW_7				IOMUX_PAD(0x788, 0x324, 4, 0x98c, 1, NO_PAD_CTRL) -#define MX35_PAD_FEC_TDATA3__GPIO3_23				IOMUX_PAD(0x788, 0x324, 5, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_EXT_ARMCLK__CCM_EXT_ARMCLK			IOMUX_PAD(0x78c, 0x0,   0, 0x0,   0, NO_PAD_CTRL) - -#define MX35_PAD_TEST_MODE__TCU_TEST_MODE			IOMUX_PAD(0x790, 0x0,   0, 0x0,   0, NO_PAD_CTRL) - - -#endif /* __MACH_IOMUX_MX35_H__ */ diff --git a/arch/arm/plat-mxc/include/mach/iomux-mx51.h b/arch/arm/plat-mxc/include/mach/iomux-mx51.h deleted file mode 100644 index d7a41e9a260..00000000000 --- a/arch/arm/plat-mxc/include/mach/iomux-mx51.h +++ /dev/null @@ -1,387 +0,0 @@ -/* - * Copyright (C) 2009-2010 Amit Kucheria <amit.kucheria@canonical.com> - * Copyright (C) 2010 Freescale Semiconductor, Inc. - * - * The code contained herein is licensed under the GNU General Public - * License. You may obtain a copy of the GNU General Public License - * Version 2 or later at the following locations: - * - * http://www.opensource.org/licenses/gpl-license.html - * http://www.gnu.org/copyleft/gpl.html - */ - -#ifndef __MACH_IOMUX_MX51_H__ -#define __MACH_IOMUX_MX51_H__ - -#include <mach/iomux-v3.h> - -/* - * various IOMUX alternate output functions (1-7) - */ -typedef enum iomux_config { -	IOMUX_CONFIG_ALT0, -	IOMUX_CONFIG_ALT1, -	IOMUX_CONFIG_ALT2, -	IOMUX_CONFIG_ALT3, -	IOMUX_CONFIG_ALT4, -	IOMUX_CONFIG_ALT5, -	IOMUX_CONFIG_ALT6, -	IOMUX_CONFIG_ALT7, -	IOMUX_CONFIG_GPIO,      /* added to help user use GPIO mode */ -	IOMUX_CONFIG_SION = 0x1 << 4,   /* LOOPBACK:MUX SION bit */ -} iomux_pin_cfg_t; - -/* Pad control groupings */ -#define MX51_UART1_PAD_CTRL	(PAD_CTL_HYS | PAD_CTL_PKE | PAD_CTL_PUE | \ -				PAD_CTL_DSE_HIGH) -#define MX51_UART2_PAD_CTRL	(PAD_CTL_PKE | PAD_CTL_PUE | PAD_CTL_DSE_HIGH | \ -				PAD_CTL_SRE_FAST) -#define MX51_UART3_PAD_CTRL	(PAD_CTL_PKE | PAD_CTL_DSE_HIGH | \ -				PAD_CTL_SRE_FAST) -#define MX51_I2C_PAD_CTRL	(PAD_CTL_SRE_FAST | PAD_CTL_ODE | \ -				PAD_CTL_DSE_HIGH | PAD_CTL_PUS_100K_UP | PAD_CTL_HYS) -#define MX51_USBH1_PAD_CTRL	(PAD_CTL_SRE_FAST | PAD_CTL_DSE_HIGH | \ -				PAD_CTL_PUS_100K_UP | PAD_CTL_PUE | \ -				PAD_CTL_PKE | PAD_CTL_HYS) -#define MX51_GPIO_PAD_CTRL		(PAD_CTL_DSE_HIGH | PAD_CTL_PKE | \ -				PAD_CTL_SRE_FAST) -#define MX51_GPIO_PAD_CTRL_2	(PAD_CTL_SRE_FAST | PAD_CTL_DSE_HIGH | \ -					PAD_CTL_PUS_100K_UP) -#define MX51_ECSPI_PAD_CTRL	(PAD_CTL_HYS | PAD_CTL_PKE | PAD_CTL_DSE_HIGH | \ -				PAD_CTL_SRE_FAST) -#define MX51_SDHCI_PAD_CTRL	(PAD_CTL_DSE_HIGH | PAD_CTL_PUS_47K_UP | \ -				PAD_CTL_PKE | PAD_CTL_PUE | PAD_CTL_SRE_FAST | \ -				PAD_CTL_DVS) - -#define MX51_PAD_CTRL_1	(PAD_CTL_SRE_FAST | PAD_CTL_DSE_HIGH | \ -					PAD_CTL_PUE | PAD_CTL_PKE | PAD_CTL_HYS) -#define MX51_PAD_CTRL_2	(PAD_CTL_HYS | PAD_CTL_PKE) -#define MX51_PAD_CTRL_3	(PAD_CTL_PKE | PAD_CTL_PUS_100K_UP) -#define MX51_PAD_CTRL_4	(PAD_CTL_DVS | PAD_CTL_HYS | PAD_CTL_PKE) -#define MX51_PAD_CTRL_5	(PAD_CTL_DVS | PAD_CTL_DSE_HIGH) - -/* - * The naming convention for the pad modes is MX51_PAD_<padname>__<padmode> - * If <padname> or <padmode> refers to a GPIO, it is named GPIO_<unit>_<num> - * See also iomux-v3.h - */ - -/*							  PAD    MUX   ALT INPSE PATH PADCTRL */ -#define MX51_PAD_EIM_DA0__EIM_DA0		IOMUX_PAD(0x7a8, 0x01c, 0, 0x0,   0, NO_PAD_CTRL) -#define MX51_PAD_EIM_DA1__EIM_DA1		IOMUX_PAD(0x7a8, 0x020, 0, 0x0,   0, NO_PAD_CTRL) -#define MX51_PAD_EIM_DA2__EIM_DA2		IOMUX_PAD(0x7a8, 0x024, 0, 0x0,   0, NO_PAD_CTRL) -#define MX51_PAD_EIM_DA3__EIM_DA3		IOMUX_PAD(0x7a8, 0x028, 0, 0x0,   0, NO_PAD_CTRL) -#define MX51_PAD_EIM_DA4__EIM_DA4		IOMUX_PAD(0x7ac, 0x02c, 0, 0x0,   0, NO_PAD_CTRL) -#define MX51_PAD_EIM_DA5__EIM_DA5		IOMUX_PAD(0x7ac, 0x030, 0, 0x0,   0, NO_PAD_CTRL) -#define MX51_PAD_EIM_DA6__EIM_DA6		IOMUX_PAD(0x7ac, 0x034, 0, 0x0,   0, NO_PAD_CTRL) -#define MX51_PAD_EIM_DA7__EIM_DA7		IOMUX_PAD(0x7ac, 0x038, 0, 0x0,   0, NO_PAD_CTRL) -#define MX51_PAD_EIM_DA8__EIM_DA8		IOMUX_PAD(0x7b0, 0x03c, 0, 0x0,   0, NO_PAD_CTRL) -#define MX51_PAD_EIM_DA9__EIM_DA9		IOMUX_PAD(0x7b0, 0x040, 0, 0x0,   0, NO_PAD_CTRL) -#define MX51_PAD_EIM_DA10__EIM_DA10		IOMUX_PAD(0x7b0, 0x044, 0, 0x0,   0, NO_PAD_CTRL) -#define MX51_PAD_EIM_DA11__EIM_DA11		IOMUX_PAD(0x7b0, 0x048, 0, 0x0,   0, NO_PAD_CTRL) -#define MX51_PAD_EIM_DA12__EIM_DA12		IOMUX_PAD(0x7bc, 0x04c, 0, 0x0,   0, NO_PAD_CTRL) -#define MX51_PAD_EIM_DA13__EIM_DA13		IOMUX_PAD(0x7bc, 0x050, 0, 0x0,   0, NO_PAD_CTRL) -#define MX51_PAD_EIM_DA14__EIM_DA14		IOMUX_PAD(0x7bc, 0x054, 0, 0x0,   0, NO_PAD_CTRL) -#define MX51_PAD_EIM_DA15__EIM_DA15		IOMUX_PAD(0x7bc, 0x058, 0, 0x0,   0, NO_PAD_CTRL) -#define MX51_PAD_EIM_D16__GPIO_2_0              IOMUX_PAD(0x3f0, 0x05c, 1, 0x0,   0, NO_PAD_CTRL) -#define MX51_PAD_EIM_D16__I2C1_SDA		IOMUX_PAD(0x3f0, 0x05c, (4 | IOMUX_CONFIG_SION), \ -							0x09b4, 0, MX51_I2C_PAD_CTRL) -#define MX51_PAD_EIM_D17__GPIO_2_1              IOMUX_PAD(0x3f4, 0x060, 1, 0x0,   0, NO_PAD_CTRL) -#define MX51_PAD_EIM_D18__GPIO_2_2              IOMUX_PAD(0x3f8, 0x064, 1, 0x0,   0, NO_PAD_CTRL) -#define MX51_PAD_EIM_D19__GPIO_2_3              IOMUX_PAD(0x3fc, 0x068, 1, 0x0,   0, NO_PAD_CTRL) -#define MX51_PAD_EIM_D19__I2C1_SCL		IOMUX_PAD(0x3fc, 0x068, (4 | IOMUX_CONFIG_SION), \ -							0x09b0, 0, MX51_I2C_PAD_CTRL) -#define MX51_PAD_EIM_D20__GPIO_2_4              IOMUX_PAD(0x400, 0x06c, 1, 0x0,   0, NO_PAD_CTRL) -#define MX51_PAD_EIM_D21__GPIO_2_5		IOMUX_PAD(0x404, 0x070, 1, 0x0,   0, MX51_GPIO_PAD_CTRL) -#define MX51_PAD_EIM_D22__GPIO_2_6              IOMUX_PAD(0x408, 0x074, 1, 0x0,   0, NO_PAD_CTRL) -#define MX51_PAD_EIM_D23__GPIO_2_7              IOMUX_PAD(0x40c, 0x078, 1, 0x0,   0, NO_PAD_CTRL) -#define MX51_PAD_EIM_D24__UART3_CTS             IOMUX_PAD(0x410, 0x07c, 3, 0x0,   0, MX51_UART3_PAD_CTRL) -#define MX51_PAD_EIM_D25__UART3_RXD             IOMUX_PAD(0x414, 0x080, 3, 0x9f4, 0, MX51_UART3_PAD_CTRL) -#define MX51_PAD_EIM_D25__UART2_CTS		IOMUX_PAD(0x414, 0x080, 4, 0x0,   0, MX51_UART2_PAD_CTRL) -#define MX51_PAD_EIM_D26__UART3_TXD             IOMUX_PAD(0x418, 0x084, 3, 0x0,   0, MX51_UART3_PAD_CTRL) -#define MX51_PAD_EIM_D26__UART2_RTS		IOMUX_PAD(0x418, 0x084, 4, 0x9e8, 3, MX51_UART2_PAD_CTRL) -#define MX51_PAD_EIM_D27__UART3_RTS             IOMUX_PAD(0x41c, 0x088, 3, 0x9f0, 3, MX51_UART3_PAD_CTRL) -#define MX51_PAD_EIM_D28__EIM_D28               IOMUX_PAD(0x420, 0x08c, 0, 0x0,   0, NO_PAD_CTRL) -#define MX51_PAD_EIM_D29__EIM_D29               IOMUX_PAD(0x424, 0x090, 0, 0x0,   0, NO_PAD_CTRL) -#define MX51_PAD_EIM_D30__EIM_D30               IOMUX_PAD(0x428, 0x094, 0, 0x0,   0, NO_PAD_CTRL) -#define MX51_PAD_EIM_D31__EIM_D31               IOMUX_PAD(0x42c, 0x09c, 0, 0x0,   0, NO_PAD_CTRL) -#define MX51_PAD_EIM_A16__GPIO_2_10             IOMUX_PAD(0x430, 0x09c, 1, 0x0,   0, NO_PAD_CTRL) -#define MX51_PAD_EIM_A17__GPIO_2_11             IOMUX_PAD(0x434, 0x0a0, 1, 0x0,   0, NO_PAD_CTRL) -#define MX51_PAD_EIM_A18__GPIO_2_12             IOMUX_PAD(0x438, 0x0a4, 1, 0x0,   0, NO_PAD_CTRL) -#define MX51_PAD_EIM_A19__GPIO_2_13             IOMUX_PAD(0x43c, 0x0a8, 1, 0x0,   0, NO_PAD_CTRL) -#define MX51_PAD_EIM_A20__GPIO_2_14             IOMUX_PAD(0x440, 0x0ac, 1, 0x0,   0, NO_PAD_CTRL) -#define MX51_PAD_EIM_A21__GPIO_2_15             IOMUX_PAD(0x444, 0x0b0, 1, 0x0,   0, NO_PAD_CTRL) -#define MX51_PAD_EIM_A22__GPIO_2_16             IOMUX_PAD(0x448, 0x0b4, 1, 0x0,   0, NO_PAD_CTRL) -#define MX51_PAD_EIM_A23__GPIO_2_17             IOMUX_PAD(0x44c, 0x0b8, 1, 0x0,   0, NO_PAD_CTRL) -#define MX51_PAD_EIM_A24__GPIO_2_18             IOMUX_PAD(0x450, 0x0bc, 1, 0x0,   0, NO_PAD_CTRL) -#define MX51_PAD_EIM_A25__GPIO_2_19             IOMUX_PAD(0x454, 0x0c0, 1, 0x0,   0, NO_PAD_CTRL) -#define MX51_PAD_EIM_A26__GPIO_2_20             IOMUX_PAD(0x458, 0x0c4, 1, 0x0,   0, NO_PAD_CTRL) -#define MX51_PAD_EIM_A27__GPIO_2_21             IOMUX_PAD(0x45c, 0x0c8, 1, 0x0,   0, NO_PAD_CTRL) -#define MX51_PAD_EIM_EB0__EIM_EB0               IOMUX_PAD(0x460, 0x0cc, 0, 0x0,   0, NO_PAD_CTRL) -#define MX51_PAD_EIM_EB1__EIM_EB1               IOMUX_PAD(0x464, 0x0d0, 0, 0x0,   0, NO_PAD_CTRL) -#define MX51_PAD_EIM_EB2__GPIO_2_22             IOMUX_PAD(0x468, 0x0d4, 1, 0x0,   0, NO_PAD_CTRL) -#define MX51_PAD_EIM_EB2__FEC_MDIO		IOMUX_PAD(0x468, 0x0d4, 3, 0x0,   0, MX51_PAD_CTRL_1 | PAD_CTL_PUS_22K_UP) -#define MX51_PAD_EIM_EB3__GPIO_2_23             IOMUX_PAD(0x46c, 0x0d8, 1, 0x0,   0, NO_PAD_CTRL) -#define MX51_PAD_EIM_EB3__FEC_RDAT1		IOMUX_PAD(0x46c, 0x0d8, 3, 0x0,   0, MX51_PAD_CTRL_2) -#define MX51_PAD_EIM_OE__GPIO_2_24              IOMUX_PAD(0x470, 0x0dc, 1, 0x0,   0, NO_PAD_CTRL) -#define MX51_PAD_EIM_CS0__GPIO_2_25             IOMUX_PAD(0x474, 0x0e0, 1, 0x0,   0, NO_PAD_CTRL) -#define MX51_PAD_EIM_CS1__GPIO_2_26             IOMUX_PAD(0x478, 0x0e4, 1, 0x0,   0, NO_PAD_CTRL) -#define MX51_PAD_EIM_CS2__GPIO_2_27             IOMUX_PAD(0x47c, 0x0e8, 1, 0x0,   0, NO_PAD_CTRL) -#define MX51_PAD_EIM_CS2__FEC_RDAT2		IOMUX_PAD(0x47c, 0x0e8, 3, 0x0,   0, MX51_PAD_CTRL_2) -#define MX51_PAD_EIM_CS3__GPIO_2_28             IOMUX_PAD(0x480, 0x0ec, 1, 0x0,   0, NO_PAD_CTRL) -#define MX51_PAD_EIM_CS3__FEC_RDAT3		IOMUX_PAD(0x480, 0x0ec, 3, 0x0,   0, MX51_PAD_CTRL_2) -#define MX51_PAD_EIM_CS4__GPIO_2_29             IOMUX_PAD(0x484, 0x0f0, 1, 0x0,   0, NO_PAD_CTRL) -#define MX51_PAD_EIM_CS4__FEC_RX_ER		IOMUX_PAD(0x484, 0x0f0, 3, 0x0,   0, MX51_PAD_CTRL_2) -#define MX51_PAD_EIM_CS5__GPIO_2_30             IOMUX_PAD(0x488, 0x0f4, 1, 0x0,   0, NO_PAD_CTRL) -#define MX51_PAD_EIM_CS5__FEC_CRS		IOMUX_PAD(0x488, 0x0f4, 3, 0x0,   0, MX51_PAD_CTRL_2) -#define MX51_PAD_EIM_DTACK__GPIO_2_31           IOMUX_PAD(0x48c, 0x0f8, 1, 0x0,   0, NO_PAD_CTRL) -#define MX51_PAD_EIM_LBA__GPIO_3_1              IOMUX_PAD(0x494, 0x0FC, 1, 0x0,   0, NO_PAD_CTRL) -#define MX51_PAD_EIM_CRE__GPIO_3_2              IOMUX_PAD(0x4A0, 0x100, 1, 0x0,   0, NO_PAD_CTRL) -#define MX51_PAD_DRAM_CS1__DRAM_CS1             IOMUX_PAD(0x4D0, 0x104, 0, 0x0,   0, NO_PAD_CTRL) -#define MX51_PAD_NANDF_WE_B__GPIO_3_3           IOMUX_PAD(0x4E4, 0x108, 3, 0x0,   0, NO_PAD_CTRL) -#define MX51_PAD_NANDF_RE_B__GPIO_3_4           IOMUX_PAD(0x4E8, 0x10C, 3, 0x0,   0, NO_PAD_CTRL) -#define MX51_PAD_NANDF_ALE__GPIO_3_5            IOMUX_PAD(0x4EC, 0x110, 3, 0x0,   0, NO_PAD_CTRL) -#define MX51_PAD_NANDF_CLE__GPIO_3_6            IOMUX_PAD(0x4F0, 0x114, 3, 0x0,   0, NO_PAD_CTRL) -#define MX51_PAD_NANDF_WP_B__GPIO_3_7           IOMUX_PAD(0x4F4, 0x118, 3, 0x0,   0, NO_PAD_CTRL) -#define MX51_PAD_NANDF_RB0__GPIO_3_8            IOMUX_PAD(0x4F8, 0x11C, 3, 0x0,   0, NO_PAD_CTRL) -#define MX51_PAD_NANDF_RB1__GPIO_3_9            IOMUX_PAD(0x4FC, 0x120, 3, 0x0,   0, NO_PAD_CTRL) -#define MX51_PAD_NANDF_RB2__GPIO_3_10           IOMUX_PAD(0x500, 0x124, 3, 0x0,   0, NO_PAD_CTRL) -#define MX51_PAD_NANDF_RB2__ECSPI2_SCLK         IOMUX_PAD(0x500, 0x124, 2, 0x0,   0, MX51_ECSPI_PAD_CTRL) -#define MX51_PAD_NANDF_RB2__FEC_COL		IOMUX_PAD(0x500, 0x124, 1, 0x0,   0, MX51_PAD_CTRL_2) -#define MX51_PAD_NANDF_RB3__GPIO_3_11           IOMUX_PAD(0x504, 0x128, 3, 0x0,   0, NO_PAD_CTRL) -#define MX51_PAD_NANDF_RB3__ECSPI2_MISO         IOMUX_PAD(0x504, 0x128, 2, 0x0,   0, MX51_ECSPI_PAD_CTRL) -#define MX51_PAD_NANDF_RB3__FEC_RXCLK		IOMUX_PAD(0x504, 0x128, 1, 0x0,   0, MX51_PAD_CTRL_2) -#define MX51_PAD_NANDF_RB6__FEC_RDAT0		IOMUX_PAD(0x5DC, 0x134, 1, 0x0,   0, MX51_PAD_CTRL_4) -#define MX51_PAD_NANDF_RB7__FEC_TDAT0		IOMUX_PAD(0x5E0, 0x138, 1, 0x0,   0, MX51_PAD_CTRL_5) -#define MX51_PAD_GPIO_NAND__GPIO_3_12           IOMUX_PAD(0x514, 0x12C, 3, 0x0,   0, NO_PAD_CTRL) -#define MX51_PAD_NANDF_CS0__GPIO_3_16           IOMUX_PAD(0x518, 0x130, 3, 0x0,   0, NO_PAD_CTRL) -#define MX51_PAD_NANDF_CS1__GPIO_3_17           IOMUX_PAD(0x51C, 0x134, 3, 0x0,   0, NO_PAD_CTRL) -#define MX51_PAD_NANDF_CS2__GPIO_3_18           IOMUX_PAD(0x520, 0x138, 3, 0x0,   0, NO_PAD_CTRL) -#define MX51_PAD_NANDF_CS2__FEC_TX_ER		IOMUX_PAD(0x520, 0x138, 2, 0x0,   0, MX51_PAD_CTRL_5) -#define MX51_PAD_NANDF_CS3__GPIO_3_19           IOMUX_PAD(0x524, 0x13C, 3, 0x0,   0, NO_PAD_CTRL) -#define MX51_PAD_NANDF_CS3__FEC_MDC		IOMUX_PAD(0x524, 0x13C, 2, 0x0,   0, MX51_PAD_CTRL_5) -#define MX51_PAD_NANDF_CS4__GPIO_3_20           IOMUX_PAD(0x528, 0x140, 3, 0x0,   0, NO_PAD_CTRL) -#define MX51_PAD_NANDF_CS4__FEC_TDAT1		IOMUX_PAD(0x528, 0x140, 2, 0x0,   0, MX51_PAD_CTRL_5) -#define MX51_PAD_NANDF_CS5__GPIO_3_21           IOMUX_PAD(0x52C, 0x144, 3, 0x0,   0, NO_PAD_CTRL) -#define MX51_PAD_NANDF_CS5__FEC_TDAT2		IOMUX_PAD(0x52C, 0x144, 2, 0x0,   0, MX51_PAD_CTRL_5) -#define MX51_PAD_NANDF_CS6__GPIO_3_22           IOMUX_PAD(0x530, 0x148, 3, 0x0,   0, NO_PAD_CTRL) -#define MX51_PAD_NANDF_CS6__FEC_TDAT3		IOMUX_PAD(0x530, 0x148, 2, 0x0,   0, MX51_PAD_CTRL_5) -#define MX51_PAD_NANDF_CS7__GPIO_3_23           IOMUX_PAD(0x534, 0x14C, 3, 0x0,   0, NO_PAD_CTRL) -#define MX51_PAD_NANDF_CS7__FEC_TX_EN		IOMUX_PAD(0x534, 0x14C, 1, 0x0,   0, MX51_PAD_CTRL_5) -#define MX51_PAD_NANDF_RDY_INT__GPIO_3_24       IOMUX_PAD(0x538, 0x150, 3, 0x0,   0, NO_PAD_CTRL) -#define MX51_PAD_NANDF_RDY_INT__FEC_TX_CLK	IOMUX_PAD(0x538, 0x150, 1, 0x0,   0, MX51_PAD_CTRL_4) -#define MX51_PAD_NANDF_D15__GPIO_3_25           IOMUX_PAD(0x53C, 0x154, 3, 0x0,   0, NO_PAD_CTRL) -#define MX51_PAD_NANDF_D15__ECSPI2_MOSI         IOMUX_PAD(0x53C, 0x154, 2, 0x0,   0, MX51_ECSPI_PAD_CTRL) -#define MX51_PAD_NANDF_D14__GPIO_3_26           IOMUX_PAD(0x540, 0x158, 3, 0x0,   0, NO_PAD_CTRL) -#define MX51_PAD_NANDF_D13__GPIO_3_27           IOMUX_PAD(0x544, 0x15C, 3, 0x0,   0, NO_PAD_CTRL) -#define MX51_PAD_NANDF_D12__GPIO_3_28           IOMUX_PAD(0x548, 0x160, 3, 0x0,   0, NO_PAD_CTRL) -#define MX51_PAD_NANDF_D11__GPIO_3_29           IOMUX_PAD(0x54C, 0x164, 3, 0x0,   0, NO_PAD_CTRL) -#define MX51_PAD_NANDF_D10__GPIO_3_30           IOMUX_PAD(0x550, 0x168, 3, 0x0,   0, NO_PAD_CTRL) -#define MX51_PAD_NANDF_D9__GPIO_3_31            IOMUX_PAD(0x554, 0x16C, 3, 0x0,   0, NO_PAD_CTRL) -#define MX51_PAD_NANDF_D8__GPIO_4_0             IOMUX_PAD(0x558, 0x170, 3, 0x0,   0, NO_PAD_CTRL) -#define MX51_PAD_NANDF_D7__GPIO_4_1             IOMUX_PAD(0x55C, 0x174, 3, 0x0,   0, NO_PAD_CTRL) -#define MX51_PAD_NANDF_D6__GPIO_4_2             IOMUX_PAD(0x560, 0x178, 3, 0x0,   0, NO_PAD_CTRL) -#define MX51_PAD_NANDF_D5__GPIO_4_3             IOMUX_PAD(0x564, 0x17C, 3, 0x0,   0, NO_PAD_CTRL) -#define MX51_PAD_NANDF_D4__GPIO_4_4             IOMUX_PAD(0x568, 0x180, 3, 0x0,   0, NO_PAD_CTRL) -#define MX51_PAD_NANDF_D3__GPIO_4_5             IOMUX_PAD(0x56C, 0x184, 3, 0x0,   0, NO_PAD_CTRL) -#define MX51_PAD_NANDF_D2__GPIO_4_6             IOMUX_PAD(0x570, 0x188, 3, 0x0,   0, NO_PAD_CTRL) -#define MX51_PAD_NANDF_D1__GPIO_4_7             IOMUX_PAD(0x574, 0x18C, 3, 0x0,   0, NO_PAD_CTRL) -#define MX51_PAD_NANDF_D0__GPIO_4_8             IOMUX_PAD(0x578, 0x190, 3, 0x0,   0, NO_PAD_CTRL) -#define MX51_PAD_CSI1_D8__GPIO_3_12             IOMUX_PAD(0x57C, 0x194, 3, 0x0,   0, NO_PAD_CTRL) -#define MX51_PAD_CSI1_D9__GPIO_3_13             IOMUX_PAD(0x580, 0x198, 3, 0x0,   0, NO_PAD_CTRL) -#define MX51_PAD_CSI1_D10__CSI1_D10             IOMUX_PAD(0x584, 0x19C, 0, 0x0,   0, NO_PAD_CTRL) -#define MX51_PAD_CSI1_D11__CSI1_D11             IOMUX_PAD(0x588, 0x1A0, 0, 0x0,   0, NO_PAD_CTRL) -#define MX51_PAD_CSI1_D12__CSI1_D12             IOMUX_PAD(0x58C, 0x1A4, 0, 0x0,   0, NO_PAD_CTRL) -#define MX51_PAD_CSI1_D13__CSI1_D13             IOMUX_PAD(0x590, 0x1A8, 0, 0x0,   0, NO_PAD_CTRL) -#define MX51_PAD_CSI1_D14__CSI1_D14             IOMUX_PAD(0x594, 0x1AC, 0, 0x0,   0, NO_PAD_CTRL) -#define MX51_PAD_CSI1_D15__CSI1_D15             IOMUX_PAD(0x598, 0x1B0, 0, 0x0,   0, NO_PAD_CTRL) -#define MX51_PAD_CSI1_D16__CSI1_D16             IOMUX_PAD(0x59C, 0x1B4, 0, 0x0,   0, NO_PAD_CTRL) -#define MX51_PAD_CSI1_D17__CSI1_D17             IOMUX_PAD(0x5A0, 0x1B8, 0, 0x0,   0, NO_PAD_CTRL) -#define MX51_PAD_CSI1_D18__CSI1_D18             IOMUX_PAD(0x5A4, 0x1BC, 0, 0x0,   0, NO_PAD_CTRL) -#define MX51_PAD_CSI1_D19__CSI1_D19             IOMUX_PAD(0x5A8, 0x1C0, 0, 0x0,   0, NO_PAD_CTRL) -#define MX51_PAD_CSI1_VSYNC__CSI1_VSYNC         IOMUX_PAD(0x5AC, 0x1C4, 0, 0x0,   0, NO_PAD_CTRL) -#define MX51_PAD_CSI1_HSYNC__CSI1_HSYNC         IOMUX_PAD(0x5B0, 0x1C8, 0, 0x0,   0, NO_PAD_CTRL) -#define MX51_PAD_CSI1_PIXCLK__CSI1_PIXCLK       IOMUX_PAD(0x5B4, 0x000, 0, 0x0,   0, NO_PAD_CTRL) -#define MX51_PAD_CSI1_MCLK__CSI1_MCLK           IOMUX_PAD(0x5B8, 0x000, 0, 0x0,   0, NO_PAD_CTRL) -#define MX51_PAD_CSI1_PKE0__CSI1_PKE0           IOMUX_PAD(0x860, 0x000, 0, 0x0,   0, NO_PAD_CTRL) -#define MX51_PAD_CSI2_D12__GPIO_4_9             IOMUX_PAD(0x5BC, 0x1CC, 3, 0x0,   0, NO_PAD_CTRL) -#define MX51_PAD_CSI2_D13__GPIO_4_10            IOMUX_PAD(0x5C0, 0x1D0, 3, 0x0,   0, NO_PAD_CTRL) -#define MX51_PAD_CSI2_D14__GPIO_4_11            IOMUX_PAD(0x5C4, 0x1D4, 3, 0x0,   0, NO_PAD_CTRL) -#define MX51_PAD_CSI2_D15__GPIO_4_12            IOMUX_PAD(0x5C8, 0x1D8, 3, 0x0,   0, NO_PAD_CTRL) -#define MX51_PAD_CSI2_D16__GPIO_4_11            IOMUX_PAD(0x5CC, 0x1DC, 3, 0x0,   0, NO_PAD_CTRL) -#define MX51_PAD_CSI2_D17__GPIO_4_12            IOMUX_PAD(0x5D0, 0x1E0, 3, 0x0,   0, NO_PAD_CTRL) -#define MX51_PAD_CSI2_D18__GPIO_4_11            IOMUX_PAD(0x5D4, 0x1E4, 3, 0x0,   0, NO_PAD_CTRL) -#define MX51_PAD_CSI2_D19__GPIO_4_12            IOMUX_PAD(0x5D8, 0x1E8, 3, 0x0,   0, NO_PAD_CTRL) -#define MX51_PAD_CSI2_VSYNC__GPIO_4_13          IOMUX_PAD(0x5DC, 0x1EC, 3, 0x0,   0, NO_PAD_CTRL) -#define MX51_PAD_CSI2_HSYNC__GPIO_4_14          IOMUX_PAD(0x5E0, 0x1F0, 3, 0x0,   0, NO_PAD_CTRL) -#define MX51_PAD_CSI2_PIXCLK__GPIO_4_15         IOMUX_PAD(0x5E4, 0x1F4, 3, 0x0,   0, NO_PAD_CTRL) -#define MX51_PAD_I2C1_CLK__GPIO_4_16            IOMUX_PAD(0x5E8, 0x1F8, 3, 0x0,   0, NO_PAD_CTRL) -#define MX51_PAD_I2C1_CLK__HSI2C_CLK		IOMUX_PAD(0x5E8, 0x1F8, 0, 0x0,   0, NO_PAD_CTRL) -#define MX51_PAD_I2C1_DAT__GPIO_4_17            IOMUX_PAD(0x5EC, 0x1FC, 3, 0x0,   0, NO_PAD_CTRL) -#define MX51_PAD_I2C1_DAT__HSI2C_DAT		IOMUX_PAD(0x5EC, 0x1FC, 0, 0x0,   0, NO_PAD_CTRL) -#define MX51_PAD_AUD3_BB_TXD__AUD3_BB_TXD       IOMUX_PAD(0x5F0, 0x200, IOMUX_CONFIG_SION, 0x0,   0, NO_PAD_CTRL) -#define MX51_PAD_AUD3_BB_TXD__GPIO_4_18         IOMUX_PAD(0x5F0, 0x200, 3, 0x0,   0, NO_PAD_CTRL) -#define MX51_PAD_AUD3_BB_RXD__AUD3_BB_RXD       IOMUX_PAD(0x5F4, 0x204, IOMUX_CONFIG_SION, 0x0,   0, NO_PAD_CTRL) -#define MX51_PAD_AUD3_BB_RXD__GPIO_4_19         IOMUX_PAD(0x5F4, 0x204, 3, 0x0,   0, NO_PAD_CTRL) -#define MX51_PAD_AUD3_BB_CK__AUD3_BB_CK         IOMUX_PAD(0x5F8, 0x208, IOMUX_CONFIG_SION, 0x0,   0, NO_PAD_CTRL) -#define MX51_PAD_AUD3_BB_CK__GPIO_4_20          IOMUX_PAD(0x5F8, 0x208, 3, 0x0,   0, NO_PAD_CTRL) -#define MX51_PAD_AUD3_BB_FS__AUD3_BB_FS         IOMUX_PAD(0x5FC, 0x20C, IOMUX_CONFIG_SION, 0x0,   0, NO_PAD_CTRL) -#define MX51_PAD_AUD3_BB_FS__GPIO_4_21          IOMUX_PAD(0x5FC, 0x20C, 3, 0x0,   0, NO_PAD_CTRL) -#define MX51_PAD_CSPI1_MOSI__ECSPI1_MOSI        IOMUX_PAD(0x600, 0x210, 0, 0x0,   0, MX51_ECSPI_PAD_CTRL) -#define MX51_PAD_CSPI1_MOSI__GPIO_4_22          IOMUX_PAD(0x600, 0x210, 3, 0x0,   0, NO_PAD_CTRL) -#define MX51_PAD_CSPI1_MISO__ECSPI1_MISO        IOMUX_PAD(0x604, 0x214, 0, 0x0,   0, MX51_ECSPI_PAD_CTRL) -#define MX51_PAD_CSPI1_MISO__GPIO_4_23          IOMUX_PAD(0x604, 0x214, 3, 0x0,   0, NO_PAD_CTRL) -#define MX51_PAD_CSPI1_SS0__ECSPI1_SS0          IOMUX_PAD(0x608, 0x218, 0, 0x0,   0, MX51_ECSPI_PAD_CTRL) -#define MX51_PAD_CSPI1_SS0__GPIO_4_24           IOMUX_PAD(0x608, 0x218, 3, 0x0,   0, NO_PAD_CTRL) -#define MX51_PAD_CSPI1_SS1__ECSPI1_SS1          IOMUX_PAD(0x60C, 0x21C, 0, 0x0,   0, MX51_ECSPI_PAD_CTRL) -#define MX51_PAD_CSPI1_SS1__GPIO_4_25           IOMUX_PAD(0x60C, 0x21C, 3, 0x0,   0, NO_PAD_CTRL) -#define MX51_PAD_CSPI1_RDY__ECSPI1_RDY          IOMUX_PAD(0x610, 0x220, 0, 0x0,   0, MX51_ECSPI_PAD_CTRL) -#define MX51_PAD_CSPI1_RDY__GPIO_4_26           IOMUX_PAD(0x610, 0x220, 3, 0x0,   0, NO_PAD_CTRL) -#define MX51_PAD_CSPI1_SCLK__ECSPI1_SCLK        IOMUX_PAD(0x614, 0x224, 0, 0x0,   0, MX51_ECSPI_PAD_CTRL) -#define MX51_PAD_CSPI1_SCLK__GPIO_4_27          IOMUX_PAD(0x614, 0x224, 3, 0x0,   0, NO_PAD_CTRL) -#define MX51_PAD_UART1_RXD__UART1_RXD           IOMUX_PAD(0x618, 0x228, 0, 0x9e4, 0, MX51_UART1_PAD_CTRL | PAD_CTL_SRE_FAST) -#define MX51_PAD_UART1_TXD__UART1_TXD           IOMUX_PAD(0x61C, 0x22C, 0, 0x0,   0, MX51_UART1_PAD_CTRL | PAD_CTL_SRE_FAST) -#define MX51_PAD_UART1_RTS__UART1_RTS           IOMUX_PAD(0x620, 0x230, 0, 0x9e0, 0, MX51_UART1_PAD_CTRL) -#define MX51_PAD_UART1_CTS__UART1_CTS           IOMUX_PAD(0x624, 0x234, 0, 0x0,   0, MX51_UART1_PAD_CTRL) -#define MX51_PAD_UART2_RXD__UART2_RXD           IOMUX_PAD(0x628, 0x238, 0, 0x9ec, 2, MX51_UART2_PAD_CTRL) -#define MX51_PAD_UART2_TXD__UART2_TXD           IOMUX_PAD(0x62C, 0x23C, 0, 0x0,   0, MX51_UART2_PAD_CTRL) -#define MX51_PAD_UART3_RXD__UART3_RXD		IOMUX_PAD(0x630, 0x240, 1, 0x9f4, 4, MX51_UART3_PAD_CTRL) -#define MX51_PAD_UART3_RXD__GPIO_1_22           IOMUX_PAD(0x630, 0x240, 3, 0x0,   0, NO_PAD_CTRL) -#define MX51_PAD_UART3_TXD__UART3_TXD		IOMUX_PAD(0x634, 0x244, 1, 0x0,   0, MX51_UART3_PAD_CTRL) -#define MX51_PAD_UART3_TXD__GPIO_1_23           IOMUX_PAD(0x634, 0x244, 3, 0x0,   0, NO_PAD_CTRL) -#define MX51_PAD_OWIRE_LINE__GPIO_1_24          IOMUX_PAD(0x638, 0x248, 3, 0x0,   0, NO_PAD_CTRL) -#define MX51_PAD_KEY_ROW0__KEY_ROW0             IOMUX_PAD(0x63C, 0x24C, 0, 0x0,   0, NO_PAD_CTRL) -#define MX51_PAD_KEY_ROW1__KEY_ROW1             IOMUX_PAD(0x640, 0x250, 0, 0x0,   0, NO_PAD_CTRL) -#define MX51_PAD_KEY_ROW2__KEY_ROW2             IOMUX_PAD(0x644, 0x254, 0, 0x0,   0, NO_PAD_CTRL) -#define MX51_PAD_KEY_ROW3__KEY_ROW3             IOMUX_PAD(0x648, 0x258, 0, 0x0,   0, NO_PAD_CTRL) -#define MX51_PAD_KEY_COL0__KEY_COL0             IOMUX_PAD(0x64C, 0x25C, 0, 0x0,   0, NO_PAD_CTRL) -#define MX51_PAD_KEY_COL1__KEY_COL1             IOMUX_PAD(0x650, 0x260, 0, 0x0,   0, NO_PAD_CTRL) -#define MX51_PAD_KEY_COL2__KEY_COL2             IOMUX_PAD(0x654, 0x264, 0, 0x0,   0, NO_PAD_CTRL) -#define MX51_PAD_KEY_COL3__KEY_COL3             IOMUX_PAD(0x658, 0x268, 0, 0x0,   0, NO_PAD_CTRL) -#define MX51_PAD_KEY_COL4__KEY_COL4             IOMUX_PAD(0x65C, 0x26C, 0, 0x0,   0, NO_PAD_CTRL) -#define MX51_PAD_KEY_COL4__UART3_RTS		IOMUX_PAD(0x65C, 0x26C, 2, 0x9f0, 4, MX51_UART3_PAD_CTRL) -#define MX51_PAD_KEY_COL4__I2C2_SCL		IOMUX_PAD(0x65C, 0x26C, (3 | IOMUX_CONFIG_SION), \ -							0x09b8, 1, MX51_I2C_PAD_CTRL) -#define MX51_PAD_KEY_COL5__KEY_COL5             IOMUX_PAD(0x660, 0x270, 0, 0x0,   0, NO_PAD_CTRL) -#define MX51_PAD_KEY_COL5__UART3_CTS		IOMUX_PAD(0x660, 0x270, 2, 0,     0, MX51_UART3_PAD_CTRL) -#define MX51_PAD_KEY_COL5__I2C2_SDA		IOMUX_PAD(0x660, 0x270, (3 | IOMUX_CONFIG_SION), \ -							0x09bc, 1, MX51_I2C_PAD_CTRL) -#define MX51_PAD_USBH1_CLK__USBH1_CLK           IOMUX_PAD(0x678, 0x278, 0, 0x0,   0, MX51_USBH1_PAD_CTRL) -#define MX51_PAD_USBH1_DIR__USBH1_DIR           IOMUX_PAD(0x67C, 0x27C, 0, 0x0,   0, MX51_USBH1_PAD_CTRL) -#define MX51_PAD_USBH1_STP__USBH1_STP           IOMUX_PAD(0x680, 0x280, 0, 0x0,   0, MX51_USBH1_PAD_CTRL) -#define MX51_PAD_USBH1_STP__GPIO_1_27           IOMUX_PAD(0x680, 0x280, 2, 0x0,   0, MX51_USBH1_PAD_CTRL) -#define MX51_PAD_USBH1_NXT__USBH1_NXT           IOMUX_PAD(0x684, 0x284, 0, 0x0,   0, MX51_USBH1_PAD_CTRL) -#define MX51_PAD_USBH1_DATA0__USBH1_DATA0       IOMUX_PAD(0x688, 0x288, 0, 0x0,   0, MX51_USBH1_PAD_CTRL) -#define MX51_PAD_USBH1_DATA1__USBH1_DATA1       IOMUX_PAD(0x68C, 0x28C, 0, 0x0,   0, MX51_USBH1_PAD_CTRL) -#define MX51_PAD_USBH1_DATA2__USBH1_DATA2       IOMUX_PAD(0x690, 0x290, 0, 0x0,   0, MX51_USBH1_PAD_CTRL) -#define MX51_PAD_USBH1_DATA3__USBH1_DATA3       IOMUX_PAD(0x694, 0x294, 0, 0x0,   0, MX51_USBH1_PAD_CTRL) -#define MX51_PAD_USBH1_DATA4__USBH1_DATA4       IOMUX_PAD(0x698, 0x298, 0, 0x0,   0, MX51_USBH1_PAD_CTRL) -#define MX51_PAD_USBH1_DATA5__USBH1_DATA5       IOMUX_PAD(0x69C, 0x29C, 0, 0x0,   0, MX51_USBH1_PAD_CTRL) -#define MX51_PAD_USBH1_DATA6__USBH1_DATA6       IOMUX_PAD(0x6A0, 0x2A0, 0, 0x0,   0, MX51_USBH1_PAD_CTRL) -#define MX51_PAD_USBH1_DATA7__USBH1_DATA7       IOMUX_PAD(0x6A4, 0x2A4, 0, 0x0,   0, MX51_USBH1_PAD_CTRL) -#define MX51_PAD_DI1_PIN11__GPIO_3_0            IOMUX_PAD(0x6A8, 0x2A8, 4, 0x0,   0, NO_PAD_CTRL) -#define MX51_PAD_DI1_PIN12__GPIO_3_1            IOMUX_PAD(0x6AC, 0x2AC, 4, 0x978, 1, NO_PAD_CTRL) -#define MX51_PAD_DI1_PIN13__GPIO_3_2            IOMUX_PAD(0x6B0, 0x2B0, 4, 0x97c, 1, NO_PAD_CTRL) -#define MX51_PAD_DI1_D0_CS__GPIO_3_3            IOMUX_PAD(0x6B4, 0x2B4, 4, 0x980, 1, NO_PAD_CTRL) -#define MX51_PAD_DI1_D1_CS__GPIO_3_4            IOMUX_PAD(0x6B8, 0x2B8, 4, 0x984, 1, NO_PAD_CTRL) -#define MX51_PAD_DISPB2_SER_DIN__GPIO_3_5       IOMUX_PAD(0x6BC, 0x2BC, 4, 0x988, 1, NO_PAD_CTRL) -#define MX51_PAD_DISPB2_SER_DIO__GPIO_3_6       IOMUX_PAD(0x6C0, 0x2C0, 4, 0x98c, 1, NO_PAD_CTRL) -#define MX51_PAD_DISPB2_SER_CLK__GPIO_3_7       IOMUX_PAD(0x6C4, 0x2C4, 4, 0x990, 1, NO_PAD_CTRL) -#define MX51_PAD_DISPB2_SER_RS__GPIO_3_8        IOMUX_PAD(0x6C8, 0x2C8, 4, 0x994, 1, NO_PAD_CTRL) -#define MX51_PAD_DISP1_DAT0__DISP1_DAT0         IOMUX_PAD(0x6CC, 0x2CC, 0, 0x0,   0, NO_PAD_CTRL) -#define MX51_PAD_DISP1_DAT1__DISP1_DAT1         IOMUX_PAD(0x6D0, 0x2D0, 0, 0x0,   0, NO_PAD_CTRL) -#define MX51_PAD_DISP1_DAT2__DISP1_DAT2         IOMUX_PAD(0x6D4, 0x2D4, 0, 0x0,   0, NO_PAD_CTRL) -#define MX51_PAD_DISP1_DAT3__DISP1_DAT3         IOMUX_PAD(0x6D8, 0x2D8, 0, 0x0,   0, NO_PAD_CTRL) -#define MX51_PAD_DISP1_DAT4__DISP1_DAT4         IOMUX_PAD(0x6DC, 0x2DC, 0, 0x0,   0, NO_PAD_CTRL) -#define MX51_PAD_DISP1_DAT5__DISP1_DAT5         IOMUX_PAD(0x6E0, 0x2E0, 0, 0x0,   0, NO_PAD_CTRL) -#define MX51_PAD_DISP1_DAT6__DISP1_DAT6         IOMUX_PAD(0x6E4, 0x2E4, 0, 0x0,   0, NO_PAD_CTRL) -#define MX51_PAD_DISP1_DAT7__DISP1_DAT7         IOMUX_PAD(0x6E8, 0x2E8, 0, 0x0,   0, NO_PAD_CTRL) -#define MX51_PAD_DISP1_DAT8__DISP1_DAT8         IOMUX_PAD(0x6EC, 0x2EC, 0, 0x0,   0, NO_PAD_CTRL) -#define MX51_PAD_DISP1_DAT9__DISP1_DAT9         IOMUX_PAD(0x6F0, 0x2F0, 0, 0x0,   0, NO_PAD_CTRL) -#define MX51_PAD_DISP1_DAT10__DISP1_DAT10       IOMUX_PAD(0x6F4, 0x2F4, 0, 0x0,   0, NO_PAD_CTRL) -#define MX51_PAD_DISP1_DAT11__DISP1_DAT11       IOMUX_PAD(0x6F8, 0x2F8, 0, 0x0,   0, NO_PAD_CTRL) -#define MX51_PAD_DISP1_DAT12__DISP1_DAT12       IOMUX_PAD(0x6FC, 0x2FC, 0, 0x0,   0, NO_PAD_CTRL) -#define MX51_PAD_DISP1_DAT13__DISP1_DAT13       IOMUX_PAD(0x700, 0x300, 0, 0x0,   0, NO_PAD_CTRL) -#define MX51_PAD_DISP1_DAT14__DISP1_DAT14       IOMUX_PAD(0x704, 0x304, 0, 0x0,   0, NO_PAD_CTRL) -#define MX51_PAD_DISP1_DAT15__DISP1_DAT15       IOMUX_PAD(0x708, 0x308, 0, 0x0,   0, NO_PAD_CTRL) -#define MX51_PAD_DISP1_DAT16__DISP1_DAT16       IOMUX_PAD(0x70C, 0x30C, 0, 0x0,   0, NO_PAD_CTRL) -#define MX51_PAD_DISP1_DAT17__DISP1_DAT17       IOMUX_PAD(0x710, 0x310, 0, 0x0,   0, NO_PAD_CTRL) -#define MX51_PAD_DISP1_DAT18__DISP1_DAT18       IOMUX_PAD(0x714, 0x314, 0, 0x0,   0, NO_PAD_CTRL) -#define MX51_PAD_DISP1_DAT19__DISP1_DAT19       IOMUX_PAD(0x718, 0x318, 0, 0x0,   0, NO_PAD_CTRL) -#define MX51_PAD_DISP1_DAT20__DISP1_DAT20       IOMUX_PAD(0x71C, 0x31C, 0, 0x0,   0, NO_PAD_CTRL) -#define MX51_PAD_DISP1_DAT21__DISP1_DAT21       IOMUX_PAD(0x720, 0x320, 0, 0x0,   0, NO_PAD_CTRL) -#define MX51_PAD_DISP1_DAT22__DISP1_DAT22       IOMUX_PAD(0x724, 0x324, 0, 0x0,   0, NO_PAD_CTRL) -#define MX51_PAD_DISP1_DAT23__DISP1_DAT23       IOMUX_PAD(0x728, 0x328, 0, 0x0,   0, NO_PAD_CTRL) -#define MX51_PAD_DI1_PIN3__DI1_PIN3             IOMUX_PAD(0x72C, 0x32C, 0, 0x0,   0, NO_PAD_CTRL) -#define MX51_PAD_DI1_PIN2__DI1_PIN2             IOMUX_PAD(0x734, 0x330, 0, 0x0,   0, NO_PAD_CTRL) -#define MX51_PAD_DI_GP1__DI_GP1                 IOMUX_PAD(0x73C, 0x334, 0, 0x0,   0, NO_PAD_CTRL) -#define MX51_PAD_DI_GP2__DI_GP2                 IOMUX_PAD(0x740, 0x338, 0, 0x0,   0, NO_PAD_CTRL) -#define MX51_PAD_DI_GP3__DI_GP3                 IOMUX_PAD(0x744, 0x33C, 0, 0x0,   0, NO_PAD_CTRL) -#define MX51_PAD_DI2_PIN4__DI2_PIN4             IOMUX_PAD(0x748, 0x340, 0, 0x0,   0, NO_PAD_CTRL) -#define MX51_PAD_DI2_PIN2__DI2_PIN2             IOMUX_PAD(0x74C, 0x344, 0, 0x0,   0, NO_PAD_CTRL) -#define MX51_PAD_DI2_PIN3__DI2_PIN3             IOMUX_PAD(0x750, 0x348, 0, 0x0,   0, NO_PAD_CTRL) -#define MX51_PAD_DI2_DISP_CLK__DI2_DISP_CLK     IOMUX_PAD(0x754, 0x34C, 0, 0x0,   0, NO_PAD_CTRL) -#define MX51_PAD_DI_GP4__DI_GP4                 IOMUX_PAD(0x758, 0x350, 0, 0x0,   0, NO_PAD_CTRL) -#define MX51_PAD_DISP2_DAT0__DISP2_DAT0         IOMUX_PAD(0x75C, 0x354, 0, 0x0,   0, NO_PAD_CTRL) -#define MX51_PAD_DISP2_DAT1__DISP2_DAT1         IOMUX_PAD(0x760, 0x358, 0, 0x0,   0, NO_PAD_CTRL) -#define MX51_PAD_DISP2_DAT2__DISP2_DAT2         IOMUX_PAD(0x764, 0x35C, 0, 0x0,   0, NO_PAD_CTRL) -#define MX51_PAD_DISP2_DAT3__DISP2_DAT3         IOMUX_PAD(0x768, 0x360, 0, 0x0,   0, NO_PAD_CTRL) -#define MX51_PAD_DISP2_DAT4__DISP2_DAT4         IOMUX_PAD(0x76C, 0x364, 0, 0x0,   0, NO_PAD_CTRL) -#define MX51_PAD_DISP2_DAT5__DISP2_DAT5         IOMUX_PAD(0x770, 0x368, 0, 0x0,   0, NO_PAD_CTRL) -#define MX51_PAD_DISP2_DAT6__GPIO_1_19          IOMUX_PAD(0x774, 0x36C, 5, 0x0,   0, NO_PAD_CTRL) -#define MX51_PAD_DISP2_DAT7__GPIO_1_29          IOMUX_PAD(0x778, 0x370, 5, 0x0,   0, NO_PAD_CTRL) -#define MX51_PAD_DISP2_DAT8__GPIO_1_30          IOMUX_PAD(0x77C, 0x374, 5, 0x0,   0, NO_PAD_CTRL) -#define MX51_PAD_DISP2_DAT9__GPIO_1_31          IOMUX_PAD(0x780, 0x378, 5, 0x0,   0, NO_PAD_CTRL) -#define MX51_PAD_DISP2_DAT10__DISP2_DAT10       IOMUX_PAD(0x784, 0x37C, 0, 0x0,   0, NO_PAD_CTRL) -#define MX51_PAD_DISP2_DAT11__DISP2_DAT11       IOMUX_PAD(0x788, 0x380, 0, 0x0,   0, NO_PAD_CTRL) -#define MX51_PAD_DISP2_DAT12__DISP2_DAT12       IOMUX_PAD(0x78C, 0x384, 0, 0x0,   0, NO_PAD_CTRL) -#define MX51_PAD_DISP2_DAT13__DISP2_DAT13       IOMUX_PAD(0x790, 0x388, 0, 0x0,   0, NO_PAD_CTRL) -#define MX51_PAD_DISP2_DAT14__DISP2_DAT14       IOMUX_PAD(0x794, 0x38C, 0, 0x0,   0, NO_PAD_CTRL) -#define MX51_PAD_DISP2_DAT15__DISP2_DAT15       IOMUX_PAD(0x798, 0x390, 0, 0x0,   0, NO_PAD_CTRL) -#define MX51_PAD_SD1_CMD__SD1_CMD		IOMUX_PAD(0x79C, 0x394, IOMUX_CONFIG_SION, 0x0, 0, \ -							MX51_SDHCI_PAD_CTRL) -#define MX51_PAD_SD1_CMD__AUD5_RXFS             IOMUX_PAD(0x79C, 0x394, 1, 0x8e0, 1, NO_PAD_CTRL) -#define MX51_PAD_SD1_CLK__SD1_CLK		IOMUX_PAD(0x7A0, 0x398, IOMUX_CONFIG_SION, 0x0, 0, \ -							MX51_SDHCI_PAD_CTRL | PAD_CTL_HYS) -#define MX51_PAD_SD1_CLK__AUD5_RXC              IOMUX_PAD(0x7A0, 0x398, 1, 0x8dc, 1, NO_PAD_CTRL) -#define MX51_PAD_SD1_DATA0__SD1_DATA0		IOMUX_PAD(0x7A4, 0x39C, IOMUX_CONFIG_SION, 0x0, 0, \ -							MX51_SDHCI_PAD_CTRL) -#define MX51_PAD_SD1_DATA0__AUD5_TXD            IOMUX_PAD(0x7A4, 0x39C, 1, 0x8d8, 2, NO_PAD_CTRL) -#define MX51_PAD_SD1_DATA1__SD1_DATA1		IOMUX_PAD(0x7A8, 0x3A0, IOMUX_CONFIG_SION, 0x0, 0, \ -							MX51_SDHCI_PAD_CTRL) -#define MX51_PAD_SD1_DATA1__AUD5_RXD            IOMUX_PAD(0x7A8, 0x3A0, 1, 0x8d4, 2, NO_PAD_CTRL) -#define MX51_PAD_SD1_DATA2__SD1_DATA2		IOMUX_PAD(0x7AC, 0x3A4, IOMUX_CONFIG_SION, 0x0, 0, \ -							MX51_SDHCI_PAD_CTRL) -#define MX51_PAD_SD1_DATA2__AUD5_TXC            IOMUX_PAD(0x7AC, 0x3A4, 1, 0x8e4, 2, NO_PAD_CTRL) -#define MX51_PAD_SD1_DATA3__SD1_DATA3		IOMUX_PAD(0x7B0, 0x3A8, IOMUX_CONFIG_SION, 0x0, 0, \ -							MX51_SDHCI_PAD_CTRL) -#define MX51_PAD_SD1_DATA3__AUD5_TXFS           IOMUX_PAD(0x7B0, 0x3A8, 1, 0x8e8, 2, NO_PAD_CTRL) -#define MX51_PAD_SD2_CMD__SD2_CMD		IOMUX_PAD(0x7BC, 0x3B4, IOMUX_CONFIG_SION, 0x0, 1, \ -							MX51_SDHCI_PAD_CTRL) -#define MX51_PAD_SD2_CLK__SD2_CLK		IOMUX_PAD(0x7C0, 0x3B8, IOMUX_CONFIG_SION, 0x0, 0, \ -							MX51_SDHCI_PAD_CTRL | PAD_CTL_HYS) -#define MX51_PAD_SD2_DATA0__SD2_DATA0		IOMUX_PAD(0x7C4, 0x3BC, IOMUX_CONFIG_SION, 0x0, 0, \ -							MX51_SDHCI_PAD_CTRL) -#define MX51_PAD_SD2_DATA1__SD2_DATA1		IOMUX_PAD(0x7C8, 0x3C0, IOMUX_CONFIG_SION, 0x0, 0, \ -							MX51_SDHCI_PAD_CTRL) -#define MX51_PAD_SD2_DATA2__SD2_DATA2		IOMUX_PAD(0x7CC, 0x3C4, IOMUX_CONFIG_SION, 0x0, 0, \ -							MX51_SDHCI_PAD_CTRL) -#define MX51_PAD_SD2_DATA3__SD2_DATA3		IOMUX_PAD(0x7D0, 0x3C8, IOMUX_CONFIG_SION, 0x0, 0, \ -							MX51_SDHCI_PAD_CTRL) -#define MX51_PAD_GPIO_1_0__GPIO_1_0		IOMUX_PAD(0x7B4, 0x3AC, 1, 0x0,   0, MX51_GPIO_PAD_CTRL) -#define MX51_PAD_GPIO_1_1__GPIO_1_1		IOMUX_PAD(0x7B8, 0x3B0, 1, 0x0,   0, MX51_GPIO_PAD_CTRL) -#define MX51_PAD_GPIO_1_2__GPIO_1_2		IOMUX_PAD(0x7D4, 0x3CC, 1, 0x0,   0, MX51_GPIO_PAD_CTRL) -#define MX51_PAD_GPIO_1_2__I2C2_SCL		IOMUX_PAD(0x7D4, 0x3CC, (2 | IOMUX_CONFIG_SION), \ -							0x9b8,   3, MX51_I2C_PAD_CTRL) -#define MX51_PAD_GPIO_1_3__GPIO_1_3		IOMUX_PAD(0x7D8, 0x3D0, 1, 0x0,   0, MX51_GPIO_PAD_CTRL) -#define MX51_PAD_GPIO_1_3__I2C2_SDA		IOMUX_PAD(0x7D8, 0x3D0, (2 | IOMUX_CONFIG_SION), \ -							0x9bc,   3, MX51_I2C_PAD_CTRL) -#define MX51_PAD_PMIC_INT_REQ__PMIC_INT_REQ	IOMUX_PAD(0x7FC, 0x3D4, 0, 0x0,   0, NO_PAD_CTRL) -#define MX51_PAD_GPIO_1_4__GPIO_1_4		IOMUX_PAD(0x804, 0x3D8, 1, 0x0,   0, MX51_GPIO_PAD_CTRL) -#define MX51_PAD_GPIO_1_5__GPIO_1_5		IOMUX_PAD(0x808, 0x3DC, 1, 0x0,   0, MX51_GPIO_PAD_CTRL) -#define MX51_PAD_GPIO_1_6__GPIO_1_6		IOMUX_PAD(0x80C, 0x3E0, 1, 0x0,   0, MX51_GPIO_PAD_CTRL) -#define MX51_PAD_GPIO_1_7__GPIO_1_7		IOMUX_PAD(0x810, 0x3E4, 1, 0x0,   0, MX51_GPIO_PAD_CTRL) -#define MX51_PAD_GPIO_1_8__GPIO_1_8		IOMUX_PAD(0x814, 0x3E8, 1, 0x0,   0, MX51_GPIO_PAD_CTRL) -#define MX51_PAD_GPIO_1_9__GPIO_1_9		IOMUX_PAD(0x818, 0x3EC, 1, 0x0,   0, MX51_GPIO_PAD_CTRL) - -#endif /* __MACH_IOMUX_MX51_H__ */ diff --git a/arch/arm/plat-mxc/include/mach/iomux-mxc91231.h b/arch/arm/plat-mxc/include/mach/iomux-mxc91231.h deleted file mode 100644 index 15d59510f59..00000000000 --- a/arch/arm/plat-mxc/include/mach/iomux-mxc91231.h +++ /dev/null @@ -1,283 +0,0 @@ -/* - * Copyright 2004-2006 Freescale Semiconductor, Inc. All Rights Reserved. - * Copyright (C) 2008 by Sascha Hauer <kernel@pengutronix.de> - * Copyright (C) 2009 by Dmitriy Taychenachev <dimichxp@gmail.com> - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the - * GNU General Public License for more details. - */ - -#ifndef __MACH_IOMUX_MXC91231_H__ -#define __MACH_IOMUX_MXC91231_H__ - -/* - * various IOMUX output functions - */ - -#define	IOMUX_OCONFIG_GPIO (0 << 4)	/* used as GPIO */ -#define	IOMUX_OCONFIG_FUNC (1 << 4)	/* used as function */ -#define	IOMUX_OCONFIG_ALT1 (2 << 4)	/* used as alternate function 1 */ -#define	IOMUX_OCONFIG_ALT2 (3 << 4)	/* used as alternate function 2 */ -#define	IOMUX_OCONFIG_ALT3 (4 << 4)	/* used as alternate function 3 */ -#define	IOMUX_OCONFIG_ALT4 (5 << 4)	/* used as alternate function 4 */ -#define	IOMUX_OCONFIG_ALT5 (6 << 4)	/* used as alternate function 5 */ -#define	IOMUX_OCONFIG_ALT6 (7 << 4)	/* used as alternate function 6 */ -#define	IOMUX_ICONFIG_NONE  0	 	/* not configured for input */ -#define	IOMUX_ICONFIG_GPIO  1		/* used as GPIO */ -#define	IOMUX_ICONFIG_FUNC  2		/* used as function */ -#define	IOMUX_ICONFIG_ALT1  4		/* used as alternate function 1 */ -#define	IOMUX_ICONFIG_ALT2  8		/* used as alternate function 2 */ - -#define IOMUX_CONFIG_GPIO (IOMUX_OCONFIG_GPIO | IOMUX_ICONFIG_GPIO) -#define IOMUX_CONFIG_FUNC (IOMUX_OCONFIG_FUNC | IOMUX_ICONFIG_FUNC) -#define IOMUX_CONFIG_ALT1 (IOMUX_OCONFIG_ALT1 | IOMUX_ICONFIG_ALT1) -#define IOMUX_CONFIG_ALT2 (IOMUX_OCONFIG_ALT2 | IOMUX_ICONFIG_ALT2) - -/* - * setups a single pin: - * 	- reserves the pin so that it is not claimed by another driver - * 	- setups the iomux according to the configuration - * 	- if the pin is configured as a GPIO, we claim it through kernel gpiolib - */ -int mxc_iomux_alloc_pin(const unsigned int pin_mode, const char *label); -/* - * setups mutliple pins - * convenient way to call the above function with tables - */ -int mxc_iomux_setup_multiple_pins(unsigned int *pin_list, unsigned count, -		const char *label); - -/* - * releases a single pin: - * 	- make it available for a future use by another driver - * 	- frees the GPIO if the pin was configured as GPIO - * 	- DOES NOT reconfigure the IOMUX in its reset state - */ -void mxc_iomux_release_pin(const unsigned int pin_mode); -/* - * releases multiple pins - * convenvient way to call the above function with tables - */ -void mxc_iomux_release_multiple_pins(unsigned int *pin_list, int count); - -#define MUX_SIDE_AP		(0) -#define MUX_SIDE_SP		(1) - -#define MUX_SIDE_SHIFT		(26) -#define MUX_SIDE_MASK		(0x1 << MUX_SIDE_SHIFT) - -#define MUX_GPIO_PORT_SHIFT	(23) -#define MUX_GPIO_PORT_MASK	(0x7 << MUX_GPIO_PORT_SHIFT) - -#define MUX_GPIO_PIN_SHIFT	(20) -#define MUX_GPIO_PIN_MASK	(0x1f << MUX_GPIO_PIN_SHIFT) - -#define MUX_REG_SHIFT		(15) -#define MUX_REG_MASK		(0x1f << MUX_REG_SHIFT) - -#define MUX_FIELD_SHIFT		(13) -#define MUX_FIELD_MASK		(0x3 << MUX_FIELD_SHIFT) - -#define MUX_PADGRP_SHIFT	(8) -#define MUX_PADGRP_MASK		(0x1f << MUX_PADGRP_SHIFT) - -#define MUX_PIN_MASK		(0xffffff << 8) - -#define GPIO_PORT_MAX		(3) - -#define IOMUX_PIN(side, gport, gpin, ctlreg, ctlfield, padgrp) \ -	(((side) << MUX_SIDE_SHIFT) |		  \ -	 (gport << MUX_GPIO_PORT_SHIFT) |		\ -	 ((gpin) << MUX_GPIO_PIN_SHIFT) |		\ -	 ((ctlreg) << MUX_REG_SHIFT) |		\ -	 ((ctlfield) << MUX_FIELD_SHIFT) |		\ -	 ((padgrp) << MUX_PADGRP_SHIFT)) - -#define MUX_MODE_OUT_SHIFT	(4) -#define MUX_MODE_IN_SHIFT	(0) -#define MUX_MODE_SHIFT		(0) -#define MUX_MODE_MASK		(0xff << MUX_MODE_SHIFT) - -#define IOMUX_MODE(pin, mode) \ -	(pin | (mode << MUX_MODE_SHIFT)) - -enum iomux_pins { -	/* AP Side pins */ -	MXC91231_PIN_AP_CLE		= IOMUX_PIN(0, 0,  0,  0, 0, 24), -	MXC91231_PIN_AP_ALE		= IOMUX_PIN(0, 0,  1,  0, 1, 24), -	MXC91231_PIN_AP_CE_B		= IOMUX_PIN(0, 0,  2,  0, 2, 24), -	MXC91231_PIN_AP_RE_B		= IOMUX_PIN(0, 0,  3,  0, 3, 24), -	MXC91231_PIN_AP_WE_B		= IOMUX_PIN(0, 0,  4,  1, 0, 24), -	MXC91231_PIN_AP_WP_B		= IOMUX_PIN(0, 0,  5,  1, 1, 24), -	MXC91231_PIN_AP_BSY_B		= IOMUX_PIN(0, 0,  6,  1, 2, 24), -	MXC91231_PIN_AP_U1_TXD		= IOMUX_PIN(0, 0,  7,  1, 3, 28), -	MXC91231_PIN_AP_U1_RXD		= IOMUX_PIN(0, 0,  8,  2, 0, 28), -	MXC91231_PIN_AP_U1_RTS_B	= IOMUX_PIN(0, 0,  9,  2, 1, 28), -	MXC91231_PIN_AP_U1_CTS_B	= IOMUX_PIN(0, 0, 10,  2, 2, 28), -	MXC91231_PIN_AP_AD1_TXD		= IOMUX_PIN(0, 0, 11,  2, 3,  9), -	MXC91231_PIN_AP_AD1_RXD		= IOMUX_PIN(0, 0, 12,  3, 0,  9), -	MXC91231_PIN_AP_AD1_TXC		= IOMUX_PIN(0, 0, 13,  3, 1,  9), -	MXC91231_PIN_AP_AD1_TXFS	= IOMUX_PIN(0, 0, 14,  3, 2,  9), -	MXC91231_PIN_AP_AD2_TXD		= IOMUX_PIN(0, 0, 15,  3, 3,  9), -	MXC91231_PIN_AP_AD2_RXD		= IOMUX_PIN(0, 0, 16,  4, 0,  9), -	MXC91231_PIN_AP_AD2_TXC		= IOMUX_PIN(0, 0, 17,  4, 1,  9), -	MXC91231_PIN_AP_AD2_TXFS	= IOMUX_PIN(0, 0, 18,  4, 2,  9), -	MXC91231_PIN_AP_OWDAT		= IOMUX_PIN(0, 0, 19,  4, 3, 28), -	MXC91231_PIN_AP_IPU_LD17	= IOMUX_PIN(0, 0, 20,  5, 0, 28), -	MXC91231_PIN_AP_IPU_D3_VSYNC	= IOMUX_PIN(0, 0, 21,  5, 1, 28), -	MXC91231_PIN_AP_IPU_D3_HSYNC	= IOMUX_PIN(0, 0, 22,  5, 2, 28), -	MXC91231_PIN_AP_IPU_D3_CLK	= IOMUX_PIN(0, 0, 23,  5, 3, 28), -	MXC91231_PIN_AP_IPU_D3_DRDY	= IOMUX_PIN(0, 0, 24,  6, 0, 28), -	MXC91231_PIN_AP_IPU_D3_CONTR	= IOMUX_PIN(0, 0, 25,  6, 1, 28), -	MXC91231_PIN_AP_IPU_D0_CS	= IOMUX_PIN(0, 0, 26,  6, 2, 28), -	MXC91231_PIN_AP_IPU_LD16	= IOMUX_PIN(0, 0, 27,  6, 3, 28), -	MXC91231_PIN_AP_IPU_D2_CS	= IOMUX_PIN(0, 0, 28,  7, 0, 28), -	MXC91231_PIN_AP_IPU_PAR_RS	= IOMUX_PIN(0, 0, 29,  7, 1, 28), -	MXC91231_PIN_AP_IPU_D3_PS	= IOMUX_PIN(0, 0, 30,  7, 2, 28), -	MXC91231_PIN_AP_IPU_D3_CLS	= IOMUX_PIN(0, 0, 31,  7, 3, 28), -	MXC91231_PIN_AP_IPU_RD		= IOMUX_PIN(0, 1,  0,  8, 0, 28), -	MXC91231_PIN_AP_IPU_WR		= IOMUX_PIN(0, 1,  1,  8, 1, 28), -	MXC91231_PIN_AP_IPU_LD0		= IOMUX_PIN(0, 7,  0,  8, 2, 28), -	MXC91231_PIN_AP_IPU_LD1		= IOMUX_PIN(0, 7,  0,  8, 3, 28), -	MXC91231_PIN_AP_IPU_LD2		= IOMUX_PIN(0, 7,  0,  9, 0, 28), -	MXC91231_PIN_AP_IPU_LD3		= IOMUX_PIN(0, 1,  2,  9, 1, 28), -	MXC91231_PIN_AP_IPU_LD4		= IOMUX_PIN(0, 1,  3,  9, 2, 28), -	MXC91231_PIN_AP_IPU_LD5		= IOMUX_PIN(0, 1,  4,  9, 3, 28), -	MXC91231_PIN_AP_IPU_LD6		= IOMUX_PIN(0, 1,  5, 10, 0, 28), -	MXC91231_PIN_AP_IPU_LD7		= IOMUX_PIN(0, 1,  6, 10, 1, 28), -	MXC91231_PIN_AP_IPU_LD8		= IOMUX_PIN(0, 1,  7, 10, 2, 28), -	MXC91231_PIN_AP_IPU_LD9		= IOMUX_PIN(0, 1,  8, 10, 3, 28), -	MXC91231_PIN_AP_IPU_LD10	= IOMUX_PIN(0, 1,  9, 11, 0, 28), -	MXC91231_PIN_AP_IPU_LD11	= IOMUX_PIN(0, 1, 10, 11, 1, 28), -	MXC91231_PIN_AP_IPU_LD12	= IOMUX_PIN(0, 1, 11, 11, 2, 28), -	MXC91231_PIN_AP_IPU_LD13	= IOMUX_PIN(0, 1, 12, 11, 3, 28), -	MXC91231_PIN_AP_IPU_LD14	= IOMUX_PIN(0, 1, 13, 12, 0, 28), -	MXC91231_PIN_AP_IPU_LD15	= IOMUX_PIN(0, 1, 14, 12, 1, 28), -	MXC91231_PIN_AP_KPROW4		= IOMUX_PIN(0, 7,  0, 12, 2, 10), -	MXC91231_PIN_AP_KPROW5		= IOMUX_PIN(0, 1, 16, 12, 3, 10), -	MXC91231_PIN_AP_GPIO_AP_B17	= IOMUX_PIN(0, 1, 17, 13, 0, 10), -	MXC91231_PIN_AP_GPIO_AP_B18	= IOMUX_PIN(0, 1, 18, 13, 1, 10), -	MXC91231_PIN_AP_KPCOL3		= IOMUX_PIN(0, 1, 19, 13, 2, 11), -	MXC91231_PIN_AP_KPCOL4		= IOMUX_PIN(0, 1, 20, 13, 3, 11), -	MXC91231_PIN_AP_KPCOL5		= IOMUX_PIN(0, 1, 21, 14, 0, 11), -	MXC91231_PIN_AP_GPIO_AP_B22	= IOMUX_PIN(0, 1, 22, 14, 1, 11), -	MXC91231_PIN_AP_GPIO_AP_B23	= IOMUX_PIN(0, 1, 23, 14, 2, 11), -	MXC91231_PIN_AP_CSI_D0		= IOMUX_PIN(0, 1, 24, 14, 3, 21), -	MXC91231_PIN_AP_CSI_D1		= IOMUX_PIN(0, 1, 25, 15, 0, 21), -	MXC91231_PIN_AP_CSI_D2		= IOMUX_PIN(0, 1, 26, 15, 1, 21), -	MXC91231_PIN_AP_CSI_D3		= IOMUX_PIN(0, 1, 27, 15, 2, 21), -	MXC91231_PIN_AP_CSI_D4		= IOMUX_PIN(0, 1, 28, 15, 3, 21), -	MXC91231_PIN_AP_CSI_D5		= IOMUX_PIN(0, 1, 29, 16, 0, 21), -	MXC91231_PIN_AP_CSI_D6		= IOMUX_PIN(0, 1, 30, 16, 1, 21), -	MXC91231_PIN_AP_CSI_D7		= IOMUX_PIN(0, 1, 31, 16, 2, 21), -	MXC91231_PIN_AP_CSI_D8		= IOMUX_PIN(0, 2,  0, 16, 3, 21), -	MXC91231_PIN_AP_CSI_D9		= IOMUX_PIN(0, 2,  1, 17, 0, 21), -	MXC91231_PIN_AP_CSI_MCLK	= IOMUX_PIN(0, 2,  2, 17, 1, 21), -	MXC91231_PIN_AP_CSI_VSYNC	= IOMUX_PIN(0, 2,  3, 17, 2, 21), -	MXC91231_PIN_AP_CSI_HSYNC	= IOMUX_PIN(0, 2,  4, 17, 3, 21), -	MXC91231_PIN_AP_CSI_PIXCLK	= IOMUX_PIN(0, 2,  5, 18, 0, 21), -	MXC91231_PIN_AP_I2CLK		= IOMUX_PIN(0, 2,  6, 18, 1, 12), -	MXC91231_PIN_AP_I2DAT		= IOMUX_PIN(0, 2,  7, 18, 2, 12), -	MXC91231_PIN_AP_GPIO_AP_C8	= IOMUX_PIN(0, 2,  8, 18, 3,  9), -	MXC91231_PIN_AP_GPIO_AP_C9	= IOMUX_PIN(0, 2,  9, 19, 0,  9), -	MXC91231_PIN_AP_GPIO_AP_C10	= IOMUX_PIN(0, 2, 10, 19, 1,  9), -	MXC91231_PIN_AP_GPIO_AP_C11	= IOMUX_PIN(0, 2, 11, 19, 2,  9), -	MXC91231_PIN_AP_GPIO_AP_C12	= IOMUX_PIN(0, 2, 12, 19, 3,  9), -	MXC91231_PIN_AP_GPIO_AP_C13	= IOMUX_PIN(0, 2, 13, 20, 0, 28), -	MXC91231_PIN_AP_GPIO_AP_C14	= IOMUX_PIN(0, 2, 14, 20, 1, 28), -	MXC91231_PIN_AP_GPIO_AP_C15	= IOMUX_PIN(0, 2, 15, 20, 2,  9), -	MXC91231_PIN_AP_GPIO_AP_C16	= IOMUX_PIN(0, 2, 16, 20, 3,  9), -	MXC91231_PIN_AP_GPIO_AP_C17	= IOMUX_PIN(0, 2, 17, 21, 0,  9), -	MXC91231_PIN_AP_ED_INT0		= IOMUX_PIN(0, 2, 18, 21, 1, 22), -	MXC91231_PIN_AP_ED_INT1		= IOMUX_PIN(0, 2, 19, 21, 2, 22), -	MXC91231_PIN_AP_ED_INT2		= IOMUX_PIN(0, 2, 20, 21, 3, 22), -	MXC91231_PIN_AP_ED_INT3		= IOMUX_PIN(0, 2, 21, 22, 0, 22), -	MXC91231_PIN_AP_ED_INT4		= IOMUX_PIN(0, 2, 22, 22, 1, 23), -	MXC91231_PIN_AP_ED_INT5		= IOMUX_PIN(0, 2, 23, 22, 2, 23), -	MXC91231_PIN_AP_ED_INT6		= IOMUX_PIN(0, 2, 24, 22, 3, 23), -	MXC91231_PIN_AP_ED_INT7		= IOMUX_PIN(0, 2, 25, 23, 0, 23), -	MXC91231_PIN_AP_U2_DSR_B	= IOMUX_PIN(0, 2, 26, 23, 1, 28), -	MXC91231_PIN_AP_U2_RI_B		= IOMUX_PIN(0, 2, 27, 23, 2, 28), -	MXC91231_PIN_AP_U2_CTS_B	= IOMUX_PIN(0, 2, 28, 23, 3, 28), -	MXC91231_PIN_AP_U2_DTR_B	= IOMUX_PIN(0, 2, 29, 24, 0, 28), -	MXC91231_PIN_AP_KPROW0		= IOMUX_PIN(0, 7,  0, 24, 1, 10), -	MXC91231_PIN_AP_KPROW1		= IOMUX_PIN(0, 1, 15, 24, 2, 10), -	MXC91231_PIN_AP_KPROW2		= IOMUX_PIN(0, 7,  0, 24, 3, 10), -	MXC91231_PIN_AP_KPROW3		= IOMUX_PIN(0, 7,  0, 25, 0, 10), -	MXC91231_PIN_AP_KPCOL0		= IOMUX_PIN(0, 7,  0, 25, 1, 11), -	MXC91231_PIN_AP_KPCOL1		= IOMUX_PIN(0, 7,  0, 25, 2, 11), -	MXC91231_PIN_AP_KPCOL2		= IOMUX_PIN(0, 7,  0, 25, 3, 11), - -	/* Shared pins */ -	MXC91231_PIN_SP_U3_TXD		= IOMUX_PIN(1, 3,  0,  0, 0, 28), -	MXC91231_PIN_SP_U3_RXD		= IOMUX_PIN(1, 3,  1,  0, 1, 28), -	MXC91231_PIN_SP_U3_RTS_B	= IOMUX_PIN(1, 3,  2,  0, 2, 28), -	MXC91231_PIN_SP_U3_CTS_B	= IOMUX_PIN(1, 3,  3,  0, 3, 28), -	MXC91231_PIN_SP_USB_TXOE_B	= IOMUX_PIN(1, 3,  4,  1, 0, 28), -	MXC91231_PIN_SP_USB_DAT_VP	= IOMUX_PIN(1, 3,  5,  1, 1, 28), -	MXC91231_PIN_SP_USB_SE0_VM	= IOMUX_PIN(1, 3,  6,  1, 2, 28), -	MXC91231_PIN_SP_USB_RXD		= IOMUX_PIN(1, 3,  7,  1, 3, 28), -	MXC91231_PIN_SP_UH2_TXOE_B	= IOMUX_PIN(1, 3,  8,  2, 0, 28), -	MXC91231_PIN_SP_UH2_SPEED	= IOMUX_PIN(1, 3,  9,  2, 1, 28), -	MXC91231_PIN_SP_UH2_SUSPEN	= IOMUX_PIN(1, 3, 10,  2, 2, 28), -	MXC91231_PIN_SP_UH2_TXDP	= IOMUX_PIN(1, 3, 11,  2, 3, 28), -	MXC91231_PIN_SP_UH2_RXDP	= IOMUX_PIN(1, 3, 12,  3, 0, 28), -	MXC91231_PIN_SP_UH2_RXDM	= IOMUX_PIN(1, 3, 13,  3, 1, 28), -	MXC91231_PIN_SP_UH2_OVR		= IOMUX_PIN(1, 3, 14,  3, 2, 28), -	MXC91231_PIN_SP_UH2_PWR		= IOMUX_PIN(1, 3, 15,  3, 3, 28), -	MXC91231_PIN_SP_SD1_DAT0	= IOMUX_PIN(1, 3, 16,  4, 0, 25), -	MXC91231_PIN_SP_SD1_DAT1	= IOMUX_PIN(1, 3, 17,  4, 1, 25), -	MXC91231_PIN_SP_SD1_DAT2	= IOMUX_PIN(1, 3, 18,  4, 2, 25), -	MXC91231_PIN_SP_SD1_DAT3	= IOMUX_PIN(1, 3, 19,  4, 3, 25), -	MXC91231_PIN_SP_SD1_CMD		= IOMUX_PIN(1, 3, 20,  5, 0, 25), -	MXC91231_PIN_SP_SD1_CLK		= IOMUX_PIN(1, 3, 21,  5, 1, 25), -	MXC91231_PIN_SP_SD2_DAT0	= IOMUX_PIN(1, 3, 22,  5, 2, 26), -	MXC91231_PIN_SP_SD2_DAT1	= IOMUX_PIN(1, 3, 23,  5, 3, 26), -	MXC91231_PIN_SP_SD2_DAT2	= IOMUX_PIN(1, 3, 24,  6, 0, 26), -	MXC91231_PIN_SP_SD2_DAT3	= IOMUX_PIN(1, 3, 25,  6, 1, 26), -	MXC91231_PIN_SP_GPIO_SP_A26	= IOMUX_PIN(1, 3, 26,  6, 2, 28), -	MXC91231_PIN_SP_SPI1_CLK	= IOMUX_PIN(1, 3, 27,  6, 3, 13), -	MXC91231_PIN_SP_SPI1_MOSI	= IOMUX_PIN(1, 3, 28,  7, 0, 13), -	MXC91231_PIN_SP_SPI1_MISO	= IOMUX_PIN(1, 3, 29,  7, 1, 13), -	MXC91231_PIN_SP_SPI1_SS0	= IOMUX_PIN(1, 3, 30,  7, 2, 13), -	MXC91231_PIN_SP_SPI1_SS1	= IOMUX_PIN(1, 3, 31,  7, 3, 13), -	MXC91231_PIN_SP_SD2_CMD		= IOMUX_PIN(1, 7,  0,  8, 0, 26), -	MXC91231_PIN_SP_SD2_CLK		= IOMUX_PIN(1, 7,  0,  8, 1, 26), -	MXC91231_PIN_SP_SIM1_RST_B	= IOMUX_PIN(1, 2, 30,  8, 2, 28), -	MXC91231_PIN_SP_SIM1_SVEN	= IOMUX_PIN(1, 7,  0,  8, 3, 28), -	MXC91231_PIN_SP_SIM1_CLK	= IOMUX_PIN(1, 7,  0,  9, 0, 28), -	MXC91231_PIN_SP_SIM1_TRXD	= IOMUX_PIN(1, 7,  0,  9, 1, 28), -	MXC91231_PIN_SP_SIM1_PD		= IOMUX_PIN(1, 2, 31,  9, 2, 28), -	MXC91231_PIN_SP_UH2_TXDM	= IOMUX_PIN(1, 7,  0,  9, 3, 28), -	MXC91231_PIN_SP_UH2_RXD		= IOMUX_PIN(1, 7,  0, 10, 0, 28), -}; - -#define PIN_AP_MAX	(104) -#define PIN_SP_MAX	(41) - -#define PIN_MAX		(PIN_AP_MAX + PIN_SP_MAX) - -/* - * Convenience values for use with mxc_iomux_mode() - * - * Format here is MXC91231_PIN_(pin name)__(function) - */ - -#define MXC91231_PIN_SP_USB_DAT_VP__USB_DAT_VP \ -	IOMUX_MODE(MXC91231_PIN_SP_USB_DAT_VP, IOMUX_CONFIG_FUNC) -#define MXC91231_PIN_SP_USB_SE0_VM__USB_SE0_VM \ -	IOMUX_MODE(MXC91231_PIN_SP_USB_SE0_VM, IOMUX_CONFIG_FUNC) -#define MXC91231_PIN_SP_USB_DAT_VP__RXD2 \ -	IOMUX_MODE(MXC91231_PIN_SP_USB_DAT_VP, IOMUX_CONFIG_ALT1) -#define MXC91231_PIN_SP_USB_SE0_VM__TXD2 \ -	IOMUX_MODE(MXC91231_PIN_SP_USB_SE0_VM, IOMUX_CONFIG_ALT1) - - -#endif /* __MACH_IOMUX_MXC91231_H__ */ diff --git a/arch/arm/plat-mxc/include/mach/iomux-v1.h b/arch/arm/plat-mxc/include/mach/iomux-v1.h deleted file mode 100644 index 884f5753f27..00000000000 --- a/arch/arm/plat-mxc/include/mach/iomux-v1.h +++ /dev/null @@ -1,103 +0,0 @@ -/* - * Copyright (C) 2008 by Sascha Hauer <kernel@pengutronix.de> - * Copyright (C) 2009 by Holger Schurig <hs4233@mail.mn-solutions.de> - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, - * MA 02110-1301, USA. - */ -#ifndef __MACH_IOMUX_V1_H__ -#define __MACH_IOMUX_V1_H__ - -/* -*  GPIO Module and I/O Multiplexer -*  x = 0..3 for reg_A, reg_B, reg_C, reg_D -*/ -#define MXC_DDIR(x)	(0x00 + ((x) << 8)) -#define MXC_OCR1(x)	(0x04 + ((x) << 8)) -#define MXC_OCR2(x)	(0x08 + ((x) << 8)) -#define MXC_ICONFA1(x)	(0x0c + ((x) << 8)) -#define MXC_ICONFA2(x)	(0x10 + ((x) << 8)) -#define MXC_ICONFB1(x)	(0x14 + ((x) << 8)) -#define MXC_ICONFB2(x)	(0x18 + ((x) << 8)) -#define MXC_DR(x)	(0x1c + ((x) << 8)) -#define MXC_GIUS(x)	(0x20 + ((x) << 8)) -#define MXC_SSR(x)	(0x24 + ((x) << 8)) -#define MXC_ICR1(x)	(0x28 + ((x) << 8)) -#define MXC_ICR2(x)	(0x2c + ((x) << 8)) -#define MXC_IMR(x)	(0x30 + ((x) << 8)) -#define MXC_ISR(x)	(0x34 + ((x) << 8)) -#define MXC_GPR(x)	(0x38 + ((x) << 8)) -#define MXC_SWR(x)	(0x3c + ((x) << 8)) -#define MXC_PUEN(x)	(0x40 + ((x) << 8)) - -#define MX1_NUM_GPIO_PORT	4 -#define MX21_NUM_GPIO_PORT	6 -#define MX27_NUM_GPIO_PORT	6 - -#define GPIO_PIN_MASK 0x1f - -#define GPIO_PORT_SHIFT 5 -#define GPIO_PORT_MASK (0x7 << GPIO_PORT_SHIFT) - -#define GPIO_PORTA	(0 << GPIO_PORT_SHIFT) -#define GPIO_PORTB	(1 << GPIO_PORT_SHIFT) -#define GPIO_PORTC	(2 << GPIO_PORT_SHIFT) -#define GPIO_PORTD	(3 << GPIO_PORT_SHIFT) -#define GPIO_PORTE	(4 << GPIO_PORT_SHIFT) -#define GPIO_PORTF	(5 << GPIO_PORT_SHIFT) - -#define GPIO_OUT	(1 << 8) -#define GPIO_IN		(0 << 8) -#define GPIO_PUEN	(1 << 9) - -#define GPIO_PF		(1 << 10) -#define GPIO_AF		(1 << 11) - -#define GPIO_OCR_SHIFT 12 -#define GPIO_OCR_MASK	(3 << GPIO_OCR_SHIFT) -#define GPIO_AIN	(0 << GPIO_OCR_SHIFT) -#define GPIO_BIN	(1 << GPIO_OCR_SHIFT) -#define GPIO_CIN	(2 << GPIO_OCR_SHIFT) -#define GPIO_GPIO	(3 << GPIO_OCR_SHIFT) - -#define GPIO_AOUT_SHIFT	14 -#define GPIO_AOUT_MASK	(3 << GPIO_AOUT_SHIFT) -#define GPIO_AOUT	(0 << GPIO_AOUT_SHIFT) -#define GPIO_AOUT_ISR	(1 << GPIO_AOUT_SHIFT) -#define GPIO_AOUT_0	(2 << GPIO_AOUT_SHIFT) -#define GPIO_AOUT_1	(3 << GPIO_AOUT_SHIFT) - -#define GPIO_BOUT_SHIFT	16 -#define GPIO_BOUT_MASK	(3 << GPIO_BOUT_SHIFT) -#define GPIO_BOUT	(0 << GPIO_BOUT_SHIFT) -#define GPIO_BOUT_ISR	(1 << GPIO_BOUT_SHIFT) -#define GPIO_BOUT_0	(2 << GPIO_BOUT_SHIFT) -#define GPIO_BOUT_1	(3 << GPIO_BOUT_SHIFT) - -/* decode irq number to use with IMR(x), ISR(x) and friends */ -#define IRQ_TO_REG(irq) ((irq - MXC_INTERNAL_IRQS) >> 5) - -#define IRQ_GPIOA(x)  (MXC_GPIO_IRQ_START + x) -#define IRQ_GPIOB(x)  (IRQ_GPIOA(32) + x) -#define IRQ_GPIOC(x)  (IRQ_GPIOB(32) + x) -#define IRQ_GPIOD(x)  (IRQ_GPIOC(32) + x) -#define IRQ_GPIOE(x)  (IRQ_GPIOD(32) + x) -#define IRQ_GPIOF(x)  (IRQ_GPIOE(32) + x) - -extern int mxc_gpio_mode(int gpio_mode); -extern int mxc_gpio_setup_multiple_pins(const int *pin_list, unsigned count, -		const char *label); -extern void mxc_gpio_release_multiple_pins(const int *pin_list, int count); - -#endif /* __MACH_IOMUX_V1_H__ */ diff --git a/arch/arm/plat-mxc/include/mach/iomux-v3.h b/arch/arm/plat-mxc/include/mach/iomux-v3.h deleted file mode 100644 index 0880a4a1aed..00000000000 --- a/arch/arm/plat-mxc/include/mach/iomux-v3.h +++ /dev/null @@ -1,124 +0,0 @@ -/* - * Copyright (C) 2009 by Jan Weitzel Phytec Messtechnik GmbH, - *			<armlinux@phytec.de> - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, - * MA 02110-1301, USA. - */ - -#ifndef __MACH_IOMUX_V3_H__ -#define __MACH_IOMUX_V3_H__ - -/* - *	build IOMUX_PAD structure - * - * This iomux scheme is based around pads, which are the physical balls - * on the processor. - * - * - Each pad has a pad control register (IOMUXC_SW_PAD_CTRL_x) which controls - *   things like driving strength and pullup/pulldown. - * - Each pad can have but not necessarily does have an output routing register - *   (IOMUXC_SW_MUX_CTL_PAD_x). - * - Each pad can have but not necessarily does have an input routing register - *   (IOMUXC_x_SELECT_INPUT) - * - * The three register sets do not have a fixed offset to each other, - * hence we order this table by pad control registers (which all pads - * have) and put the optional i/o routing registers into additional - * fields. - * - * The naming convention for the pad modes is MX35_PAD_<padname>__<padmode> - * If <padname> or <padmode> refers to a GPIO, it is named - * GPIO_<unit>_<num> - * - */ - -struct pad_desc { -	unsigned mux_ctrl_ofs:12; /* IOMUXC_SW_MUX_CTL_PAD offset */ -	unsigned mux_mode:8; -	unsigned pad_ctrl_ofs:12; /* IOMUXC_SW_PAD_CTRL offset */ -#define	NO_PAD_CTRL	(1 << 16) -	unsigned pad_ctrl:17; -	unsigned select_input_ofs:12; /* IOMUXC_SELECT_INPUT offset */ -	unsigned select_input:3; -}; - -#define IOMUX_PAD(_pad_ctrl_ofs, _mux_ctrl_ofs, _mux_mode, _select_input_ofs, \ -		_select_input, _pad_ctrl)				\ -		{							\ -			.mux_ctrl_ofs     = _mux_ctrl_ofs,		\ -			.mux_mode         = _mux_mode,			\ -			.pad_ctrl_ofs     = _pad_ctrl_ofs,		\ -			.pad_ctrl         = _pad_ctrl,			\ -			.select_input_ofs = _select_input_ofs,		\ -			.select_input     = _select_input,		\ -		} - -/* - * Use to set PAD control - */ - -#define PAD_CTL_DVS			(1 << 13) -#define PAD_CTL_HYS			(1 << 8) - -#define PAD_CTL_PKE			(1 << 7) -#define PAD_CTL_PUE			(1 << 6) -#define PAD_CTL_PUS_100K_DOWN		(0 << 4) -#define PAD_CTL_PUS_47K_UP		(1 << 4) -#define PAD_CTL_PUS_100K_UP		(2 << 4) -#define PAD_CTL_PUS_22K_UP		(3 << 4) - -#define PAD_CTL_ODE			(1 << 3) - -#define PAD_CTL_DSE_LOW			(0 << 1) -#define PAD_CTL_DSE_MED			(1 << 1) -#define PAD_CTL_DSE_HIGH		(2 << 1) -#define PAD_CTL_DSE_MAX			(3 << 1) - -#define PAD_CTL_SRE_FAST		(1 << 0) -#define PAD_CTL_SRE_SLOW		(0 << 0) - - -#define MX51_NUM_GPIO_PORT	4 - -#define GPIO_PIN_MASK 0x1f - -#define GPIO_PORT_SHIFT 5 -#define GPIO_PORT_MASK (0x7 << GPIO_PORT_SHIFT) - -#define GPIO_PORTA	(0 << GPIO_PORT_SHIFT) -#define GPIO_PORTB	(1 << GPIO_PORT_SHIFT) -#define GPIO_PORTC	(2 << GPIO_PORT_SHIFT) -#define GPIO_PORTD	(3 << GPIO_PORT_SHIFT) -#define GPIO_PORTE	(4 << GPIO_PORT_SHIFT) -#define GPIO_PORTF	(5 << GPIO_PORT_SHIFT) - -/* - * setups a single pad in the iomuxer - */ -int mxc_iomux_v3_setup_pad(struct pad_desc *pad); - -/* - * setups mutliple pads - * convenient way to call the above function with tables - */ -int mxc_iomux_v3_setup_multiple_pads(struct pad_desc *pad_list, unsigned count); - -/* - * Initialise the iomux controller - */ -void mxc_iomux_v3_init(void __iomem *iomux_v3_base); - -#endif /* __MACH_IOMUX_V3_H__*/ - diff --git a/arch/arm/plat-mxc/include/mach/iomux.h b/arch/arm/plat-mxc/include/mach/iomux.h deleted file mode 100644 index 3d226d7e7be..00000000000 --- a/arch/arm/plat-mxc/include/mach/iomux.h +++ /dev/null @@ -1,26 +0,0 @@ -/* - * Copyright (C) 2010 Uwe Kleine-Koenig, Pengutronix - * - * This program is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 as published by - * the Free Software Foundation. - */ -#ifndef __MACH_IOMUX_H__ -#define __MACH_IOMUX_H__ - -/* This file will go away, please include mach/iomux-mx... directly */ - -#ifdef CONFIG_ARCH_MX1 -#include <mach/iomux-mx1.h> -#endif -#ifdef CONFIG_ARCH_MX2 -#include <mach/iomux-mx2x.h> -#ifdef CONFIG_MACH_MX21 -#include <mach/iomux-mx21.h> -#endif -#ifdef CONFIG_MACH_MX27 -#include <mach/iomux-mx27.h> -#endif -#endif - -#endif /* __MACH_IOMUX_H__ */ diff --git a/arch/arm/plat-mxc/include/mach/ipu.h b/arch/arm/plat-mxc/include/mach/ipu.h deleted file mode 100644 index a9221f1cc1a..00000000000 --- a/arch/arm/plat-mxc/include/mach/ipu.h +++ /dev/null @@ -1,181 +0,0 @@ -/* - * Copyright (C) 2008 - * Guennadi Liakhovetski, DENX Software Engineering, <lg@denx.de> - * - * Copyright (C) 2005-2007 Freescale Semiconductor, Inc. - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2 as - * published by the Free Software Foundation. - */ - -#ifndef _IPU_H_ -#define _IPU_H_ - -#include <linux/types.h> -#include <linux/dmaengine.h> - -/* IPU DMA Controller channel definitions. */ -enum ipu_channel { -	IDMAC_IC_0 = 0,		/* IC (encoding task) to memory */ -	IDMAC_IC_1 = 1,		/* IC (viewfinder task) to memory */ -	IDMAC_ADC_0 = 1, -	IDMAC_IC_2 = 2, -	IDMAC_ADC_1 = 2, -	IDMAC_IC_3 = 3, -	IDMAC_IC_4 = 4, -	IDMAC_IC_5 = 5, -	IDMAC_IC_6 = 6, -	IDMAC_IC_7 = 7,		/* IC (sensor data) to memory */ -	IDMAC_IC_8 = 8, -	IDMAC_IC_9 = 9, -	IDMAC_IC_10 = 10, -	IDMAC_IC_11 = 11, -	IDMAC_IC_12 = 12, -	IDMAC_IC_13 = 13, -	IDMAC_SDC_0 = 14,	/* Background synchronous display data */ -	IDMAC_SDC_1 = 15,	/* Foreground data (overlay) */ -	IDMAC_SDC_2 = 16, -	IDMAC_SDC_3 = 17, -	IDMAC_ADC_2 = 18, -	IDMAC_ADC_3 = 19, -	IDMAC_ADC_4 = 20, -	IDMAC_ADC_5 = 21, -	IDMAC_ADC_6 = 22, -	IDMAC_ADC_7 = 23, -	IDMAC_PF_0 = 24, -	IDMAC_PF_1 = 25, -	IDMAC_PF_2 = 26, -	IDMAC_PF_3 = 27, -	IDMAC_PF_4 = 28, -	IDMAC_PF_5 = 29, -	IDMAC_PF_6 = 30, -	IDMAC_PF_7 = 31, -}; - -/* Order significant! */ -enum ipu_channel_status { -	IPU_CHANNEL_FREE, -	IPU_CHANNEL_INITIALIZED, -	IPU_CHANNEL_READY, -	IPU_CHANNEL_ENABLED, -}; - -#define IPU_CHANNELS_NUM 32 - -enum pixel_fmt { -	/* 1 byte */ -	IPU_PIX_FMT_GENERIC, -	IPU_PIX_FMT_RGB332, -	IPU_PIX_FMT_YUV420P, -	IPU_PIX_FMT_YUV422P, -	IPU_PIX_FMT_YUV420P2, -	IPU_PIX_FMT_YVU422P, -	/* 2 bytes */ -	IPU_PIX_FMT_RGB565, -	IPU_PIX_FMT_RGB666, -	IPU_PIX_FMT_BGR666, -	IPU_PIX_FMT_YUYV, -	IPU_PIX_FMT_UYVY, -	/* 3 bytes */ -	IPU_PIX_FMT_RGB24, -	IPU_PIX_FMT_BGR24, -	/* 4 bytes */ -	IPU_PIX_FMT_GENERIC_32, -	IPU_PIX_FMT_RGB32, -	IPU_PIX_FMT_BGR32, -	IPU_PIX_FMT_ABGR32, -	IPU_PIX_FMT_BGRA32, -	IPU_PIX_FMT_RGBA32, -}; - -enum ipu_color_space { -	IPU_COLORSPACE_RGB, -	IPU_COLORSPACE_YCBCR, -	IPU_COLORSPACE_YUV -}; - -/* - * Enumeration of IPU rotation modes - */ -enum ipu_rotate_mode { -	/* Note the enum values correspond to BAM value */ -	IPU_ROTATE_NONE = 0, -	IPU_ROTATE_VERT_FLIP = 1, -	IPU_ROTATE_HORIZ_FLIP = 2, -	IPU_ROTATE_180 = 3, -	IPU_ROTATE_90_RIGHT = 4, -	IPU_ROTATE_90_RIGHT_VFLIP = 5, -	IPU_ROTATE_90_RIGHT_HFLIP = 6, -	IPU_ROTATE_90_LEFT = 7, -}; - -struct ipu_platform_data { -	unsigned int	irq_base; -}; - -/* - * Enumeration of DI ports for ADC. - */ -enum display_port { -	DISP0, -	DISP1, -	DISP2, -	DISP3 -}; - -struct idmac_video_param { -	unsigned short		in_width; -	unsigned short		in_height; -	uint32_t		in_pixel_fmt; -	unsigned short		out_width; -	unsigned short		out_height; -	uint32_t		out_pixel_fmt; -	unsigned short		out_stride; -	bool			graphics_combine_en; -	bool			global_alpha_en; -	bool			key_color_en; -	enum display_port	disp; -	unsigned short		out_left; -	unsigned short		out_top; -}; - -/* - * Union of initialization parameters for a logical channel. So far only video - * parameters are used. - */ -union ipu_channel_param { -	struct idmac_video_param video; -}; - -struct idmac_tx_desc { -	struct dma_async_tx_descriptor	txd; -	struct scatterlist		*sg;	/* scatterlist for this */ -	unsigned int			sg_len;	/* tx-descriptor. */ -	struct list_head		list; -}; - -struct idmac_channel { -	struct dma_chan		dma_chan; -	dma_cookie_t		completed;	/* last completed cookie	   */ -	union ipu_channel_param	params; -	enum ipu_channel	link;	/* input channel, linked to the output	   */ -	enum ipu_channel_status	status; -	void			*client;	/* Only one client per channel	   */ -	unsigned int		n_tx_desc; -	struct idmac_tx_desc	*desc;		/* allocated tx-descriptors	   */ -	struct scatterlist	*sg[2];	/* scatterlist elements in buffer-0 and -1 */ -	struct list_head	free_list;	/* free tx-descriptors		   */ -	struct list_head	queue;		/* queued tx-descriptors	   */ -	spinlock_t		lock;		/* protects sg[0,1], queue	   */ -	struct mutex		chan_mutex; /* protects status, cookie, free_list  */ -	bool			sec_chan_en; -	int			active_buffer; -	unsigned int		eof_irq; -	char			eof_name[16];	/* EOF IRQ name for request_irq()  */ -}; - -#define to_tx_desc(tx) container_of(tx, struct idmac_tx_desc, txd) -#define to_idmac_chan(c) container_of(c, struct idmac_channel, dma_chan) - -#endif diff --git a/arch/arm/plat-mxc/include/mach/iram.h b/arch/arm/plat-mxc/include/mach/iram.h deleted file mode 100644 index 022690c3370..00000000000 --- a/arch/arm/plat-mxc/include/mach/iram.h +++ /dev/null @@ -1,41 +0,0 @@ -/* - * Copyright (C) 2010 Freescale Semiconductor, Inc. All Rights Reserved. - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, - * MA 02110-1301, USA. - */ -#include <linux/errno.h> - -#ifdef CONFIG_IRAM_ALLOC - -int __init iram_init(unsigned long base, unsigned long size); -void __iomem *iram_alloc(unsigned int size, unsigned long *dma_addr); -void iram_free(unsigned long dma_addr, unsigned int size); - -#else - -static inline int __init iram_init(unsigned long base, unsigned long size) -{ -	return -ENOMEM; -} - -static inline void __iomem *iram_alloc(unsigned int size, unsigned long *dma_addr) -{ -	return NULL; -} - -static inline void iram_free(unsigned long base, unsigned long size) {} - -#endif diff --git a/arch/arm/plat-mxc/include/mach/irqs.h b/arch/arm/plat-mxc/include/mach/irqs.h deleted file mode 100644 index 86781f7b0c0..00000000000 --- a/arch/arm/plat-mxc/include/mach/irqs.h +++ /dev/null @@ -1,72 +0,0 @@ -/* - *  Copyright 2004-2007 Freescale Semiconductor, Inc. All Rights Reserved. - */ - -/* - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2 as - * published by the Free Software Foundation. - */ - -#ifndef __ASM_ARCH_MXC_IRQS_H__ -#define __ASM_ARCH_MXC_IRQS_H__ - -/* - * SoCs with TZIC interrupt controller have 128 IRQs, those with AVIC have 64 - */ -#ifdef CONFIG_MXC_TZIC -#define MXC_INTERNAL_IRQS	128 -#else -#define MXC_INTERNAL_IRQS	64 -#endif - -#define MXC_GPIO_IRQ_START	MXC_INTERNAL_IRQS - -/* these are ordered by size to support multi-SoC kernels */ -#if defined CONFIG_ARCH_MX2 -#define MXC_GPIO_IRQS		(32 * 6) -#elif defined CONFIG_ARCH_MX1 -#define MXC_GPIO_IRQS		(32 * 4) -#elif defined CONFIG_ARCH_MX25 -#define MXC_GPIO_IRQS		(32 * 4) -#elif defined CONFIG_ARCH_MX5 -#define MXC_GPIO_IRQS		(32 * 4) -#elif defined CONFIG_ARCH_MXC91231 -#define MXC_GPIO_IRQS		(32 * 4) -#elif defined CONFIG_ARCH_MX3 -#define MXC_GPIO_IRQS		(32 * 3) -#endif - -/* - * The next 16 interrupts are for board specific purposes.  Since - * the kernel can only run on one machine at a time, we can re-use - * these.  If you need more, increase MXC_BOARD_IRQS, but keep it - * within sensible limits. - */ -#define MXC_BOARD_IRQ_START	(MXC_INTERNAL_IRQS + MXC_GPIO_IRQS) - -#ifdef CONFIG_MACH_MX31ADS_WM1133_EV1 -#define MXC_BOARD_IRQS  80 -#else -#define MXC_BOARD_IRQS	16 -#endif - -#define MXC_IPU_IRQ_START	(MXC_BOARD_IRQ_START + MXC_BOARD_IRQS) - -#ifdef CONFIG_MX3_IPU_IRQS -#define MX3_IPU_IRQS CONFIG_MX3_IPU_IRQS -#else -#define MX3_IPU_IRQS 0 -#endif -/* REVISIT: Add IPU irqs on IMX51 */ - -#define NR_IRQS			(MXC_IPU_IRQ_START + MX3_IPU_IRQS) - -extern int imx_irq_set_priority(unsigned char irq, unsigned char prio); - -/* all normal IRQs can be FIQs */ -#define FIQ_START	0 -/* switch betwean IRQ and FIQ */ -extern int mxc_set_irq_fiq(unsigned int irq, unsigned int type); - -#endif /* __ASM_ARCH_MXC_IRQS_H__ */ diff --git a/arch/arm/plat-mxc/include/mach/memory.h b/arch/arm/plat-mxc/include/mach/memory.h deleted file mode 100644 index 564ec9dbc93..00000000000 --- a/arch/arm/plat-mxc/include/mach/memory.h +++ /dev/null @@ -1,55 +0,0 @@ -/* - * Copyright 2004-2007 Freescale Semiconductor, Inc. All Rights Reserved. - */ - -/* - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2 as - * published by the Free Software Foundation. - */ - -#ifndef __ASM_ARCH_MXC_MEMORY_H__ -#define __ASM_ARCH_MXC_MEMORY_H__ - -#define MX1_PHYS_OFFSET		UL(0x08000000) -#define MX21_PHYS_OFFSET	UL(0xc0000000) -#define MX25_PHYS_OFFSET	UL(0x80000000) -#define MX27_PHYS_OFFSET	UL(0xa0000000) -#define MX3x_PHYS_OFFSET	UL(0x80000000) -#define MX51_PHYS_OFFSET	UL(0x90000000) -#define MXC91231_PHYS_OFFSET	UL(0x90000000) - -#if !defined(CONFIG_RUNTIME_PHYS_OFFSET) -# if defined CONFIG_ARCH_MX1 -#  define PHYS_OFFSET		MX1_PHYS_OFFSET -# elif defined CONFIG_MACH_MX21 -#  define PHYS_OFFSET		MX21_PHYS_OFFSET -# elif defined CONFIG_ARCH_MX25 -#  define PHYS_OFFSET		MX25_PHYS_OFFSET -# elif defined CONFIG_MACH_MX27 -#  define PHYS_OFFSET		MX27_PHYS_OFFSET -# elif defined CONFIG_ARCH_MX3 -#  define PHYS_OFFSET		MX3x_PHYS_OFFSET -# elif defined CONFIG_ARCH_MXC91231 -#  define PHYS_OFFSET		MXC91231_PHYS_OFFSET -# elif defined CONFIG_ARCH_MX5 -#  define PHYS_OFFSET		MX51_PHYS_OFFSET -# endif -#endif - -#if defined(CONFIG_MX3_VIDEO) -/* - * Increase size of DMA-consistent memory region. - * This is required for mx3 camera driver to capture at least two QXGA frames. - */ -#define CONSISTENT_DMA_SIZE SZ_8M - -#elif defined(CONFIG_MX1_VIDEO) || defined(CONFIG_VIDEO_MX2_HOSTSUPPORT) -/* - * Increase size of DMA-consistent memory region. - * This is required for i.MX camera driver to capture at least four VGA frames. - */ -#define CONSISTENT_DMA_SIZE SZ_4M -#endif /* CONFIG_MX1_VIDEO || CONFIG_VIDEO_MX2_HOSTSUPPORT */ - -#endif /* __ASM_ARCH_MXC_MEMORY_H__ */ diff --git a/arch/arm/plat-mxc/include/mach/mmc.h b/arch/arm/plat-mxc/include/mach/mmc.h deleted file mode 100644 index 29115f405af..00000000000 --- a/arch/arm/plat-mxc/include/mach/mmc.h +++ /dev/null @@ -1,39 +0,0 @@ -#ifndef ASMARM_ARCH_MMC_H -#define ASMARM_ARCH_MMC_H - -#include <linux/mmc/host.h> - -struct device; - -/* board specific SDHC data, optional. - * If not present, a writable card with 3,3V is assumed. - */ -struct imxmmc_platform_data { -	/* Return values for the get_ro callback should be: -	 *   0 for a read/write card -	 *   1 for a read-only card -	 *   -ENOSYS when not supported (equal to NULL callback) -	 *   or a negative errno value when something bad happened -	 */ -	int (*get_ro)(struct device *); - -	/* board specific hook to (de)initialize the SD slot. -	 * The board code can call 'handler' on a card detection -	 * change giving data as argument. -	 */ -	int (*init)(struct device *dev, irq_handler_t handler, void *data); -	void (*exit)(struct device *dev, void *data); - -	/* available voltages. If not given, assume -	 * MMC_VDD_32_33 | MMC_VDD_33_34 -	 */ -	unsigned int ocr_avail; - -	/* adjust slot voltage */ -	void (*setpower)(struct device *, unsigned int vdd); - -	/* enable card detect using DAT3 */ -	int dat3_card_detect; -}; - -#endif diff --git a/arch/arm/plat-mxc/include/mach/mx1.h b/arch/arm/plat-mxc/include/mach/mx1.h deleted file mode 100644 index 641b2461823..00000000000 --- a/arch/arm/plat-mxc/include/mach/mx1.h +++ /dev/null @@ -1,297 +0,0 @@ -/* - * Copyright (C) 1997,1998 Russell King - * Copyright (C) 1999 ARM Limited - * Copyright 2004-2007 Freescale Semiconductor, Inc. All Rights Reserved. - * Copyright (c) 2008 Paulius Zaleckas <paulius.zaleckas@teltonika.lt> - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2 as - * published by the Free Software Foundation. - */ - -#ifndef __MACH_MX1_H__ -#define __MACH_MX1_H__ - -#include <mach/vmalloc.h> - -/* - * Memory map - */ -#define MX1_IO_BASE_ADDR	0x00200000 -#define MX1_IO_SIZE		SZ_1M -#define MX1_IO_BASE_ADDR_VIRT	VMALLOC_END - -#define MX1_CS0_PHYS		0x10000000 -#define MX1_CS0_SIZE		0x02000000 - -#define MX1_CS1_PHYS		0x12000000 -#define MX1_CS1_SIZE		0x01000000 - -#define MX1_CS2_PHYS		0x13000000 -#define MX1_CS2_SIZE		0x01000000 - -#define MX1_CS3_PHYS		0x14000000 -#define MX1_CS3_SIZE		0x01000000 - -#define MX1_CS4_PHYS		0x15000000 -#define MX1_CS4_SIZE		0x01000000 - -#define MX1_CS5_PHYS		0x16000000 -#define MX1_CS5_SIZE		0x01000000 - -/* - *  Register BASEs, based on OFFSETs - */ -#define MX1_AIPI1_BASE_ADDR		(0x00000 + MX1_IO_BASE_ADDR) -#define MX1_WDT_BASE_ADDR		(0x01000 + MX1_IO_BASE_ADDR) -#define MX1_TIM1_BASE_ADDR		(0x02000 + MX1_IO_BASE_ADDR) -#define MX1_TIM2_BASE_ADDR		(0x03000 + MX1_IO_BASE_ADDR) -#define MX1_RTC_BASE_ADDR		(0x04000 + MX1_IO_BASE_ADDR) -#define MX1_LCDC_BASE_ADDR		(0x05000 + MX1_IO_BASE_ADDR) -#define MX1_UART1_BASE_ADDR		(0x06000 + MX1_IO_BASE_ADDR) -#define MX1_UART2_BASE_ADDR		(0x07000 + MX1_IO_BASE_ADDR) -#define MX1_PWM_BASE_ADDR		(0x08000 + MX1_IO_BASE_ADDR) -#define MX1_DMA_BASE_ADDR		(0x09000 + MX1_IO_BASE_ADDR) -#define MX1_AIPI2_BASE_ADDR		(0x10000 + MX1_IO_BASE_ADDR) -#define MX1_SIM_BASE_ADDR		(0x11000 + MX1_IO_BASE_ADDR) -#define MX1_USBD_BASE_ADDR		(0x12000 + MX1_IO_BASE_ADDR) -#define MX1_SPI1_BASE_ADDR		(0x13000 + MX1_IO_BASE_ADDR) -#define MX1_MMC_BASE_ADDR		(0x14000 + MX1_IO_BASE_ADDR) -#define MX1_ASP_BASE_ADDR		(0x15000 + MX1_IO_BASE_ADDR) -#define MX1_BTA_BASE_ADDR		(0x16000 + MX1_IO_BASE_ADDR) -#define MX1_I2C_BASE_ADDR		(0x17000 + MX1_IO_BASE_ADDR) -#define MX1_SSI_BASE_ADDR		(0x18000 + MX1_IO_BASE_ADDR) -#define MX1_SPI2_BASE_ADDR		(0x19000 + MX1_IO_BASE_ADDR) -#define MX1_MSHC_BASE_ADDR		(0x1A000 + MX1_IO_BASE_ADDR) -#define MX1_CCM_BASE_ADDR		(0x1B000 + MX1_IO_BASE_ADDR) -#define MX1_SCM_BASE_ADDR		(0x1B804 + MX1_IO_BASE_ADDR) -#define MX1_GPIO_BASE_ADDR		(0x1C000 + MX1_IO_BASE_ADDR) -#define MX1_EIM_BASE_ADDR		(0x20000 + MX1_IO_BASE_ADDR) -#define MX1_SDRAMC_BASE_ADDR		(0x21000 + MX1_IO_BASE_ADDR) -#define MX1_MMA_BASE_ADDR		(0x22000 + MX1_IO_BASE_ADDR) -#define MX1_AVIC_BASE_ADDR		(0x23000 + MX1_IO_BASE_ADDR) -#define MX1_CSI_BASE_ADDR		(0x24000 + MX1_IO_BASE_ADDR) - -/* macro to get at IO space when running virtually */ -#define MX1_IO_ADDRESS(x) (						\ -	IMX_IO_ADDRESS(x, MX1_IO)) - -/* fixed interrput numbers */ -#define MX1_INT_SOFTINT		0 -#define MX1_CSI_INT		6 -#define MX1_DSPA_MAC_INT	7 -#define MX1_DSPA_INT		8 -#define MX1_COMP_INT		9 -#define MX1_MSHC_XINT		10 -#define MX1_GPIO_INT_PORTA	11 -#define MX1_GPIO_INT_PORTB	12 -#define MX1_GPIO_INT_PORTC	13 -#define MX1_LCDC_INT		14 -#define MX1_SIM_INT		15 -#define MX1_SIM_DATA_INT	16 -#define MX1_RTC_INT		17 -#define MX1_RTC_SAMINT		18 -#define MX1_INT_UART2PFERR	19 -#define MX1_INT_UART2RTS	20 -#define MX1_INT_UART2DTR	21 -#define MX1_INT_UART2UARTC	22 -#define MX1_INT_UART2TX		23 -#define MX1_INT_UART2RX		24 -#define MX1_INT_UART1PFERR	25 -#define MX1_INT_UART1RTS	26 -#define MX1_INT_UART1DTR	27 -#define MX1_INT_UART1UARTC	28 -#define MX1_INT_UART1TX		29 -#define MX1_INT_UART1RX		30 -#define MX1_VOICE_DAC_INT	31 -#define MX1_VOICE_ADC_INT	32 -#define MX1_PEN_DATA_INT	33 -#define MX1_PWM_INT		34 -#define MX1_SDHC_INT		35 -#define MX1_INT_I2C		39 -#define MX1_CSPI_INT		41 -#define MX1_SSI_TX_INT		42 -#define MX1_SSI_TX_ERR_INT	43 -#define MX1_SSI_RX_INT		44 -#define MX1_SSI_RX_ERR_INT	45 -#define MX1_TOUCH_INT		46 -#define MX1_USBD_INT0		47 -#define MX1_USBD_INT1		48 -#define MX1_USBD_INT2		49 -#define MX1_USBD_INT3		50 -#define MX1_USBD_INT4		51 -#define MX1_USBD_INT5		52 -#define MX1_USBD_INT6		53 -#define MX1_BTSYS_INT		55 -#define MX1_BTTIM_INT		56 -#define MX1_BTWUI_INT		57 -#define MX1_TIM2_INT		58 -#define MX1_TIM1_INT		59 -#define MX1_DMA_ERR		60 -#define MX1_DMA_INT		61 -#define MX1_GPIO_INT_PORTD	62 -#define MX1_WDT_INT		63 - -/* DMA */ -#define MX1_DMA_REQ_UART3_T		2 -#define MX1_DMA_REQ_UART3_R		3 -#define MX1_DMA_REQ_SSI2_T		4 -#define MX1_DMA_REQ_SSI2_R		5 -#define MX1_DMA_REQ_CSI_STAT		6 -#define MX1_DMA_REQ_CSI_R		7 -#define MX1_DMA_REQ_MSHC		8 -#define MX1_DMA_REQ_DSPA_DCT_DOUT	9 -#define MX1_DMA_REQ_DSPA_DCT_DIN	10 -#define MX1_DMA_REQ_DSPA_MAC		11 -#define MX1_DMA_REQ_EXT			12 -#define MX1_DMA_REQ_SDHC		13 -#define MX1_DMA_REQ_SPI1_R		14 -#define MX1_DMA_REQ_SPI1_T		15 -#define MX1_DMA_REQ_SSI_T		16 -#define MX1_DMA_REQ_SSI_R		17 -#define MX1_DMA_REQ_ASP_DAC		18 -#define MX1_DMA_REQ_ASP_ADC		19 -#define MX1_DMA_REQ_USP_EP(x)		(20 + (x)) -#define MX1_DMA_REQ_SPI2_R		26 -#define MX1_DMA_REQ_SPI2_T		27 -#define MX1_DMA_REQ_UART2_T		28 -#define MX1_DMA_REQ_UART2_R		29 -#define MX1_DMA_REQ_UART1_T		30 -#define MX1_DMA_REQ_UART1_R		31 - -/* - * This doesn't depend on IMX_NEEDS_DEPRECATED_SYMBOLS - * to not break drivers/usb/gadget/imx_udc.  Should go - * away after this driver uses the new name. - */ -#define USBD_INT0		MX1_USBD_INT0 - -#ifdef IMX_NEEDS_DEPRECATED_SYMBOLS -/* these should go away */ -#define IMX_IO_PHYS MX1_IO_BASE_ADDR -#define IMX_IO_SIZE MX1_IO_SIZE -#define IMX_IO_BASE MX1_IO_BASE_ADDR_VIRT -#define IMX_CS0_PHYS MX1_CS0_PHYS -#define IMX_CS0_SIZE MX1_CS0_SIZE -#define IMX_CS1_PHYS MX1_CS1_PHYS -#define IMX_CS1_SIZE MX1_CS1_SIZE -#define IMX_CS2_PHYS MX1_CS2_PHYS -#define IMX_CS2_SIZE MX1_CS2_SIZE -#define IMX_CS3_PHYS MX1_CS3_PHYS -#define IMX_CS3_SIZE MX1_CS3_SIZE -#define IMX_CS4_PHYS MX1_CS4_PHYS -#define IMX_CS4_SIZE MX1_CS4_SIZE -#define IMX_CS5_PHYS MX1_CS5_PHYS -#define IMX_CS5_SIZE MX1_CS5_SIZE -#define AIPI1_BASE_ADDR MX1_AIPI1_BASE_ADDR -#define WDT_BASE_ADDR MX1_WDT_BASE_ADDR -#define TIM1_BASE_ADDR MX1_TIM1_BASE_ADDR -#define TIM2_BASE_ADDR MX1_TIM2_BASE_ADDR -#define RTC_BASE_ADDR MX1_RTC_BASE_ADDR -#define LCDC_BASE_ADDR MX1_LCDC_BASE_ADDR -#define UART1_BASE_ADDR MX1_UART1_BASE_ADDR -#define UART2_BASE_ADDR MX1_UART2_BASE_ADDR -#define PWM_BASE_ADDR MX1_PWM_BASE_ADDR -#define DMA_BASE_ADDR MX1_DMA_BASE_ADDR -#define AIPI2_BASE_ADDR MX1_AIPI2_BASE_ADDR -#define SIM_BASE_ADDR MX1_SIM_BASE_ADDR -#define USBD_BASE_ADDR MX1_USBD_BASE_ADDR -#define SPI1_BASE_ADDR MX1_SPI1_BASE_ADDR -#define MMC_BASE_ADDR MX1_MMC_BASE_ADDR -#define ASP_BASE_ADDR MX1_ASP_BASE_ADDR -#define BTA_BASE_ADDR MX1_BTA_BASE_ADDR -#define I2C_BASE_ADDR MX1_I2C_BASE_ADDR -#define SSI_BASE_ADDR MX1_SSI_BASE_ADDR -#define SPI2_BASE_ADDR MX1_SPI2_BASE_ADDR -#define MSHC_BASE_ADDR MX1_MSHC_BASE_ADDR -#define CCM_BASE_ADDR MX1_CCM_BASE_ADDR -#define SCM_BASE_ADDR MX1_SCM_BASE_ADDR -#define GPIO_BASE_ADDR MX1_GPIO_BASE_ADDR -#define EIM_BASE_ADDR MX1_EIM_BASE_ADDR -#define SDRAMC_BASE_ADDR MX1_SDRAMC_BASE_ADDR -#define MMA_BASE_ADDR MX1_MMA_BASE_ADDR -#define AVIC_BASE_ADDR MX1_AVIC_BASE_ADDR -#define CSI_BASE_ADDR MX1_CSI_BASE_ADDR -#define IO_ADDRESS(x) MX1_IO_ADDRESS(x) -#define AVIC_IO_ADDRESS(x) IO_ADDRESS(x) -#define INT_SOFTINT MX1_INT_SOFTINT -#define CSI_INT MX1_CSI_INT -#define DSPA_MAC_INT MX1_DSPA_MAC_INT -#define DSPA_INT MX1_DSPA_INT -#define COMP_INT MX1_COMP_INT -#define MSHC_XINT MX1_MSHC_XINT -#define GPIO_INT_PORTA MX1_GPIO_INT_PORTA -#define GPIO_INT_PORTB MX1_GPIO_INT_PORTB -#define GPIO_INT_PORTC MX1_GPIO_INT_PORTC -#define LCDC_INT MX1_LCDC_INT -#define SIM_INT MX1_SIM_INT -#define SIM_DATA_INT MX1_SIM_DATA_INT -#define RTC_INT MX1_RTC_INT -#define RTC_SAMINT MX1_RTC_SAMINT -#define UART2_MINT_PFERR MX1_UART2_MINT_PFERR -#define UART2_MINT_RTS MX1_UART2_MINT_RTS -#define UART2_MINT_DTR MX1_UART2_MINT_DTR -#define UART2_MINT_UARTC MX1_UART2_MINT_UARTC -#define UART2_MINT_TX MX1_UART2_MINT_TX -#define UART2_MINT_RX MX1_UART2_MINT_RX -#define UART1_MINT_PFERR MX1_UART1_MINT_PFERR -#define UART1_MINT_RTS MX1_UART1_MINT_RTS -#define UART1_MINT_DTR MX1_UART1_MINT_DTR -#define UART1_MINT_UARTC MX1_UART1_MINT_UARTC -#define UART1_MINT_TX MX1_UART1_MINT_TX -#define UART1_MINT_RX MX1_UART1_MINT_RX -#define VOICE_DAC_INT MX1_VOICE_DAC_INT -#define VOICE_ADC_INT MX1_VOICE_ADC_INT -#define PEN_DATA_INT MX1_PEN_DATA_INT -#define PWM_INT MX1_PWM_INT -#define SDHC_INT MX1_SDHC_INT -#define I2C_INT MX1_INT_I2C -#define CSPI_INT MX1_CSPI_INT -#define SSI_TX_INT MX1_SSI_TX_INT -#define SSI_TX_ERR_INT MX1_SSI_TX_ERR_INT -#define SSI_RX_INT MX1_SSI_RX_INT -#define SSI_RX_ERR_INT MX1_SSI_RX_ERR_INT -#define TOUCH_INT MX1_TOUCH_INT -#define USBD_INT1 MX1_USBD_INT1 -#define USBD_INT2 MX1_USBD_INT2 -#define USBD_INT3 MX1_USBD_INT3 -#define USBD_INT4 MX1_USBD_INT4 -#define USBD_INT5 MX1_USBD_INT5 -#define USBD_INT6 MX1_USBD_INT6 -#define BTSYS_INT MX1_BTSYS_INT -#define BTTIM_INT MX1_BTTIM_INT -#define BTWUI_INT MX1_BTWUI_INT -#define TIM2_INT MX1_TIM2_INT -#define TIM1_INT MX1_TIM1_INT -#define DMA_ERR MX1_DMA_ERR -#define DMA_INT MX1_DMA_INT -#define GPIO_INT_PORTD MX1_GPIO_INT_PORTD -#define WDT_INT MX1_WDT_INT -#define DMA_REQ_UART3_T MX1_DMA_REQ_UART3_T -#define DMA_REQ_UART3_R MX1_DMA_REQ_UART3_R -#define DMA_REQ_SSI2_T MX1_DMA_REQ_SSI2_T -#define DMA_REQ_SSI2_R MX1_DMA_REQ_SSI2_R -#define DMA_REQ_CSI_STAT MX1_DMA_REQ_CSI_STAT -#define DMA_REQ_CSI_R MX1_DMA_REQ_CSI_R -#define DMA_REQ_MSHC MX1_DMA_REQ_MSHC -#define DMA_REQ_DSPA_DCT_DOUT MX1_DMA_REQ_DSPA_DCT_DOUT -#define DMA_REQ_DSPA_DCT_DIN MX1_DMA_REQ_DSPA_DCT_DIN -#define DMA_REQ_DSPA_MAC MX1_DMA_REQ_DSPA_MAC -#define DMA_REQ_EXT MX1_DMA_REQ_EXT -#define DMA_REQ_SDHC MX1_DMA_REQ_SDHC -#define DMA_REQ_SPI1_R MX1_DMA_REQ_SPI1_R -#define DMA_REQ_SPI1_T MX1_DMA_REQ_SPI1_T -#define DMA_REQ_SSI_T MX1_DMA_REQ_SSI_T -#define DMA_REQ_SSI_R MX1_DMA_REQ_SSI_R -#define DMA_REQ_ASP_DAC MX1_DMA_REQ_ASP_DAC -#define DMA_REQ_ASP_ADC MX1_DMA_REQ_ASP_ADC -#define DMA_REQ_USP_EP(x) MX1_DMA_REQ_USP_EP(x) -#define DMA_REQ_SPI2_R MX1_DMA_REQ_SPI2_R -#define DMA_REQ_SPI2_T MX1_DMA_REQ_SPI2_T -#define DMA_REQ_UART2_T MX1_DMA_REQ_UART2_T -#define DMA_REQ_UART2_R MX1_DMA_REQ_UART2_R -#define DMA_REQ_UART1_T MX1_DMA_REQ_UART1_T -#define DMA_REQ_UART1_R MX1_DMA_REQ_UART1_R -#endif /* ifdef IMX_NEEDS_DEPRECATED_SYMBOLS */ - -#endif /* ifndef __MACH_MX1_H__ */ diff --git a/arch/arm/plat-mxc/include/mach/mx1_camera.h b/arch/arm/plat-mxc/include/mach/mx1_camera.h deleted file mode 100644 index 4fd6c70314b..00000000000 --- a/arch/arm/plat-mxc/include/mach/mx1_camera.h +++ /dev/null @@ -1,35 +0,0 @@ -/* - * mx1_camera.h - i.MX1/i.MXL camera driver header file - * - * Copyright (c) 2008, Paulius Zaleckas <paulius.zaleckas@teltonika.lt> - * Copyright (C) 2009, Darius Augulis <augulis.darius@gmail.com> - * - * Based on PXA camera.h file: - * Copyright (C) 2003, Intel Corporation - * Copyright (C) 2008, Guennadi Liakhovetski <kernel@pengutronix.de> - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2 as - * published by the Free Software Foundation. - */ - -#ifndef __ASM_ARCH_CAMERA_H_ -#define __ASM_ARCH_CAMERA_H_ - -#define MX1_CAMERA_DATA_HIGH	1 -#define MX1_CAMERA_PCLK_RISING	2 -#define MX1_CAMERA_VSYNC_HIGH	4 - -extern unsigned char mx1_camera_sof_fiq_start, mx1_camera_sof_fiq_end; - -/** - * struct mx1_camera_pdata - i.MX1/i.MXL camera platform data - * @mclk_10khz:	master clock frequency in 10kHz units - * @flags:	MX1 camera platform flags - */ -struct mx1_camera_pdata { -	unsigned long mclk_10khz; -	unsigned long flags; -}; - -#endif /* __ASM_ARCH_CAMERA_H_ */ diff --git a/arch/arm/plat-mxc/include/mach/mx21-usbhost.h b/arch/arm/plat-mxc/include/mach/mx21-usbhost.h deleted file mode 100644 index 22d0b596262..00000000000 --- a/arch/arm/plat-mxc/include/mach/mx21-usbhost.h +++ /dev/null @@ -1,38 +0,0 @@ -/* - *	Copyright (C) 2009 Martin Fuzzey <mfuzzey@gmail.com> - * - *	This program is free software; you can redistribute it and/or modify - *	it under the terms of the GNU General Public License as published by - *	the Free Software Foundation; either version 2 of the License, or - *	(at your option) any later version. - * - *	This program is distributed in the hope that it will be useful, - *	but WITHOUT ANY WARRANTY; without even the implied warranty of - *	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the - *	GNU General Public License for more details. - */ - -#ifndef __ASM_ARCH_MX21_USBH -#define __ASM_ARCH_MX21_USBH - -enum mx21_usbh_xcvr { -	/* Values below as used by hardware (HWMODE register) */ -	MX21_USBXCVR_TXDIF_RXDIF = 0, -	MX21_USBXCVR_TXDIF_RXSE = 1, -	MX21_USBXCVR_TXSE_RXDIF = 2, -	MX21_USBXCVR_TXSE_RXSE = 3, -}; - -struct mx21_usbh_platform_data { -	enum mx21_usbh_xcvr host_xcvr; /* tranceiver mode host 1,2 ports */ -	enum mx21_usbh_xcvr otg_xcvr; /* tranceiver mode otg (as host) port */ -	u16 	enable_host1:1, -		enable_host2:1, -		enable_otg_host:1, /* enable "OTG" port (as host) */ -		host1_xcverless:1, /* traceiverless host1 port */ -		host1_txenoe:1, /* output enable host1 transmit enable */ -		otg_ext_xcvr:1, /* external tranceiver for OTG port */ -		unused:10; -}; - -#endif /* __ASM_ARCH_MX21_USBH */ diff --git a/arch/arm/plat-mxc/include/mach/mx21.h b/arch/arm/plat-mxc/include/mach/mx21.h deleted file mode 100644 index 8bc59720b6e..00000000000 --- a/arch/arm/plat-mxc/include/mach/mx21.h +++ /dev/null @@ -1,222 +0,0 @@ -/* - * Copyright 2004-2007 Freescale Semiconductor, Inc. All Rights Reserved. - * Copyright 2008 Juergen Beisert, kernel@pengutronix.de - * Copyright 2009 Holger Schurig, hs4233@mail.mn-solutions.de - * - * This contains i.MX21-specific hardware definitions. For those - * hardware pieces that are common between i.MX21 and i.MX27, have a - * look at mx2x.h. - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, - * MA  02110-1301, USA. - */ - -#ifndef __MACH_MX21_H__ -#define __MACH_MX21_H__ - -#define MX21_AIPI_BASE_ADDR		0x10000000 -#define MX21_AIPI_BASE_ADDR_VIRT	0xf4000000 -#define MX21_AIPI_SIZE			SZ_1M -#define MX21_DMA_BASE_ADDR			(MX21_AIPI_BASE_ADDR + 0x01000) -#define MX21_WDOG_BASE_ADDR			(MX21_AIPI_BASE_ADDR + 0x02000) -#define MX21_GPT1_BASE_ADDR			(MX21_AIPI_BASE_ADDR + 0x03000) -#define MX21_GPT2_BASE_ADDR			(MX21_AIPI_BASE_ADDR + 0x04000) -#define MX21_GPT3_BASE_ADDR			(MX21_AIPI_BASE_ADDR + 0x05000) -#define MX21_PWM_BASE_ADDR			(MX21_AIPI_BASE_ADDR + 0x06000) -#define MX21_RTC_BASE_ADDR			(MX21_AIPI_BASE_ADDR + 0x07000) -#define MX21_KPP_BASE_ADDR			(MX21_AIPI_BASE_ADDR + 0x08000) -#define MX21_OWIRE_BASE_ADDR			(MX21_AIPI_BASE_ADDR + 0x09000) -#define MX21_UART1_BASE_ADDR			(MX21_AIPI_BASE_ADDR + 0x0a000) -#define MX21_UART2_BASE_ADDR			(MX21_AIPI_BASE_ADDR + 0x0b000) -#define MX21_UART3_BASE_ADDR			(MX21_AIPI_BASE_ADDR + 0x0c000) -#define MX21_UART4_BASE_ADDR			(MX21_AIPI_BASE_ADDR + 0x0d000) -#define MX21_CSPI1_BASE_ADDR			(MX21_AIPI_BASE_ADDR + 0x0e000) -#define MX21_CSPI2_BASE_ADDR			(MX21_AIPI_BASE_ADDR + 0x0f000) -#define MX21_SSI1_BASE_ADDR			(MX21_AIPI_BASE_ADDR + 0x10000) -#define MX21_SSI2_BASE_ADDR			(MX21_AIPI_BASE_ADDR + 0x11000) -#define MX21_I2C_BASE_ADDR			(MX21_AIPI_BASE_ADDR + 0x12000) -#define MX21_SDHC1_BASE_ADDR			(MX21_AIPI_BASE_ADDR + 0x13000) -#define MX21_SDHC2_BASE_ADDR			(MX21_AIPI_BASE_ADDR + 0x14000) -#define MX21_GPIO_BASE_ADDR			(MX21_AIPI_BASE_ADDR + 0x15000) -#define MX21_AUDMUX_BASE_ADDR			(MX21_AIPI_BASE_ADDR + 0x16000) -#define MX21_CSPI3_BASE_ADDR			(MX21_AIPI_BASE_ADDR + 0x17000) -#define MX21_LCDC_BASE_ADDR			(MX21_AIPI_BASE_ADDR + 0x21000) -#define MX21_SLCDC_BASE_ADDR			(MX21_AIPI_BASE_ADDR + 0x22000) -#define MX21_USBOTG_BASE_ADDR			(MX21_AIPI_BASE_ADDR + 0x24000) -#define MX21_EMMA_PP_BASE_ADDR			(MX21_AIPI_BASE_ADDR + 0x26000) -#define MX21_EMMA_PRP_BASE_ADDR			(MX21_AIPI_BASE_ADDR + 0x26400) -#define MX21_CCM_BASE_ADDR			(MX21_AIPI_BASE_ADDR + 0x27000) -#define MX21_SYSCTRL_BASE_ADDR			(MX21_AIPI_BASE_ADDR + 0x27800) -#define MX21_JAM_BASE_ADDR			(MX21_AIPI_BASE_ADDR + 0x3e000) -#define MX21_MAX_BASE_ADDR			(MX21_AIPI_BASE_ADDR + 0x3f000) - -#define MX21_AVIC_BASE_ADDR		0x10040000 - -#define MX21_SAHB1_BASE_ADDR		0x80000000 -#define MX21_SAHB1_BASE_ADDR_VIRT	0xf4100000 -#define MX21_SAHB1_SIZE			SZ_1M -#define MX21_CSI_BASE_ADDR			(MX2x_SAHB1_BASE_ADDR + 0x0000) - -/* Memory regions and CS */ -#define MX21_SDRAM_BASE_ADDR		0xc0000000 -#define MX21_CSD1_BASE_ADDR		0xc4000000 - -#define MX21_CS0_BASE_ADDR		0xc8000000 -#define MX21_CS1_BASE_ADDR		0xcc000000 -#define MX21_CS2_BASE_ADDR		0xd0000000 -#define MX21_CS3_BASE_ADDR		0xd1000000 -#define MX21_CS4_BASE_ADDR		0xd2000000 -#define MX21_PCMCIA_MEM_BASE_ADDR	0xd4000000 -#define MX21_CS5_BASE_ADDR		0xdd000000 - -/* NAND, SDRAM, WEIM etc controllers */ -#define MX21_X_MEMC_BASE_ADDR		0xdf000000 -#define MX21_X_MEMC_BASE_ADDR_VIRT	0xf4200000 -#define MX21_X_MEMC_SIZE		SZ_256K - -#define MX21_SDRAMC_BASE_ADDR		(MX21_X_MEMC_BASE_ADDR + 0x0000) -#define MX21_EIM_BASE_ADDR		(MX21_X_MEMC_BASE_ADDR + 0x1000) -#define MX21_PCMCIA_CTL_BASE_ADDR	(MX21_X_MEMC_BASE_ADDR + 0x2000) -#define MX21_NFC_BASE_ADDR		(MX21_X_MEMC_BASE_ADDR + 0x3000) - -#define MX21_IRAM_BASE_ADDR		0xffffe800	/* internal ram */ - -#define MX21_IO_ADDRESS(x) (						\ -	IMX_IO_ADDRESS(x, MX21_AIPI) ?:					\ -	IMX_IO_ADDRESS(x, MX21_SAHB1) ?:				\ -	IMX_IO_ADDRESS(x, MX21_X_MEMC)) - -/* fixed interrupt numbers */ -#define MX21_INT_CSPI3		6 -#define MX21_INT_GPIO		8 -#define MX21_INT_FIRI		9 -#define MX21_INT_SDHC2		10 -#define MX21_INT_SDHC1		11 -#define MX21_INT_I2C		12 -#define MX21_INT_SSI2		13 -#define MX21_INT_SSI1		14 -#define MX21_INT_CSPI2		15 -#define MX21_INT_CSPI1		16 -#define MX21_INT_UART4		17 -#define MX21_INT_UART3		18 -#define MX21_INT_UART2		19 -#define MX21_INT_UART1		20 -#define MX21_INT_KPP		21 -#define MX21_INT_RTC		22 -#define MX21_INT_PWM		23 -#define MX21_INT_GPT3		24 -#define MX21_INT_GPT2		25 -#define MX21_INT_GPT1		26 -#define MX21_INT_WDOG		27 -#define MX21_INT_PCMCIA		28 -#define MX21_INT_NFC		29 -#define MX21_INT_BMI		30 -#define MX21_INT_CSI		31 -#define MX21_INT_DMACH0		32 -#define MX21_INT_DMACH1		33 -#define MX21_INT_DMACH2		34 -#define MX21_INT_DMACH3		35 -#define MX21_INT_DMACH4		36 -#define MX21_INT_DMACH5		37 -#define MX21_INT_DMACH6		38 -#define MX21_INT_DMACH7		39 -#define MX21_INT_DMACH8		40 -#define MX21_INT_DMACH9		41 -#define MX21_INT_DMACH10	42 -#define MX21_INT_DMACH11	43 -#define MX21_INT_DMACH12	44 -#define MX21_INT_DMACH13	45 -#define MX21_INT_DMACH14	46 -#define MX21_INT_DMACH15	47 -#define MX21_INT_EMMAENC	49 -#define MX21_INT_EMMADEC	50 -#define MX21_INT_EMMAPRP	51 -#define MX21_INT_EMMAPP		52 -#define MX21_INT_USBWKUP	53 -#define MX21_INT_USBDMA		54 -#define MX21_INT_USBHOST	55 -#define MX21_INT_USBFUNC	56 -#define MX21_INT_USBMNP		57 -#define MX21_INT_USBCTRL	58 -#define MX21_INT_SLCDC		60 -#define MX21_INT_LCDC		61 - -/* fixed DMA request numbers */ -#define MX21_DMA_REQ_CSPI3_RX	1 -#define MX21_DMA_REQ_CSPI3_TX	2 -#define MX21_DMA_REQ_EXT	3 -#define MX21_DMA_REQ_FIRI_RX	4 -#define MX21_DMA_REQ_SDHC2	6 -#define MX21_DMA_REQ_SDHC1	7 -#define MX21_DMA_REQ_SSI2_RX0	8 -#define MX21_DMA_REQ_SSI2_TX0	9 -#define MX21_DMA_REQ_SSI2_RX1	10 -#define MX21_DMA_REQ_SSI2_TX1	11 -#define MX21_DMA_REQ_SSI1_RX0	12 -#define MX21_DMA_REQ_SSI1_TX0	13 -#define MX21_DMA_REQ_SSI1_RX1	14 -#define MX21_DMA_REQ_SSI1_TX1	15 -#define MX21_DMA_REQ_CSPI2_RX	16 -#define MX21_DMA_REQ_CSPI2_TX	17 -#define MX21_DMA_REQ_CSPI1_RX	18 -#define MX21_DMA_REQ_CSPI1_TX	19 -#define MX21_DMA_REQ_UART4_RX	20 -#define MX21_DMA_REQ_UART4_TX	21 -#define MX21_DMA_REQ_UART3_RX	22 -#define MX21_DMA_REQ_UART3_TX	23 -#define MX21_DMA_REQ_UART2_RX	24 -#define MX21_DMA_REQ_UART2_TX	25 -#define MX21_DMA_REQ_UART1_RX	26 -#define MX21_DMA_REQ_UART1_TX	27 -#define MX21_DMA_REQ_BMI_TX	28 -#define MX21_DMA_REQ_BMI_RX	29 -#define MX21_DMA_REQ_CSI_STAT	30 -#define MX21_DMA_REQ_CSI_RX	31 - -#ifdef IMX_NEEDS_DEPRECATED_SYMBOLS -/* these should go away */ -#define SDRAM_BASE_ADDR MX21_SDRAM_BASE_ADDR -#define CSD1_BASE_ADDR MX21_CSD1_BASE_ADDR -#define CS0_BASE_ADDR MX21_CS0_BASE_ADDR -#define CS1_BASE_ADDR MX21_CS1_BASE_ADDR -#define CS2_BASE_ADDR MX21_CS2_BASE_ADDR -#define CS3_BASE_ADDR MX21_CS3_BASE_ADDR -#define CS4_BASE_ADDR MX21_CS4_BASE_ADDR -#define PCMCIA_MEM_BASE_ADDR MX21_PCMCIA_MEM_BASE_ADDR -#define CS5_BASE_ADDR MX21_CS5_BASE_ADDR -#define X_MEMC_BASE_ADDR MX21_X_MEMC_BASE_ADDR -#define X_MEMC_BASE_ADDR_VIRT MX21_X_MEMC_BASE_ADDR_VIRT -#define X_MEMC_SIZE MX21_X_MEMC_SIZE -#define SDRAMC_BASE_ADDR MX21_SDRAMC_BASE_ADDR -#define EIM_BASE_ADDR MX21_EIM_BASE_ADDR -#define PCMCIA_CTL_BASE_ADDR MX21_PCMCIA_CTL_BASE_ADDR -#define NFC_BASE_ADDR MX21_NFC_BASE_ADDR -#define IRAM_BASE_ADDR MX21_IRAM_BASE_ADDR -#define MXC_INT_FIRI MX21_INT_FIRI -#define MXC_INT_BMI MX21_INT_BMI -#define MXC_INT_EMMAENC MX21_INT_EMMAENC -#define MXC_INT_EMMADEC MX21_INT_EMMADEC -#define MXC_INT_USBWKUP MX21_INT_USBWKUP -#define MXC_INT_USBDMA MX21_INT_USBDMA -#define MXC_INT_USBHOST MX21_INT_USBHOST -#define MXC_INT_USBFUNC MX21_INT_USBFUNC -#define MXC_INT_USBMNP MX21_INT_USBMNP -#define MXC_INT_USBCTRL MX21_INT_USBCTRL -#define MXC_INT_USBCTRL MX21_INT_USBCTRL -#define DMA_REQ_FIRI_RX MX21_DMA_REQ_FIRI_RX -#define DMA_REQ_BMI_TX MX21_DMA_REQ_BMI_TX -#define DMA_REQ_BMI_RX MX21_DMA_REQ_BMI_RX -#endif - -#endif /* ifndef __MACH_MX21_H__ */ diff --git a/arch/arm/plat-mxc/include/mach/mx25.h b/arch/arm/plat-mxc/include/mach/mx25.h deleted file mode 100644 index cf46a45b0d4..00000000000 --- a/arch/arm/plat-mxc/include/mach/mx25.h +++ /dev/null @@ -1,95 +0,0 @@ -#ifndef __MACH_MX25_H__ -#define __MACH_MX25_H__ - -#define MX25_AIPS1_BASE_ADDR		0x43f00000 -#define MX25_AIPS1_BASE_ADDR_VIRT	0xfc000000 -#define MX25_AIPS1_SIZE			SZ_1M -#define MX25_AIPS2_BASE_ADDR		0x53f00000 -#define MX25_AIPS2_BASE_ADDR_VIRT	0xfc200000 -#define MX25_AIPS2_SIZE			SZ_1M -#define MX25_AVIC_BASE_ADDR		0x68000000 -#define MX25_AVIC_BASE_ADDR_VIRT	0xfc400000 -#define MX25_AVIC_SIZE			SZ_1M - -#define MX25_I2C1_BASE_ADDR		(MX25_AIPS1_BASE_ADDR + 0x80000) -#define MX25_I2C3_BASE_ADDR		(MX25_AIPS1_BASE_ADDR + 0x84000) -#define MX25_CAN1_BASE_ADDR		(MX25_AIPS1_BASE_ADDR + 0x88000) -#define MX25_CAN2_BASE_ADDR		(MX25_AIPS1_BASE_ADDR + 0x8c000) -#define MX25_I2C2_BASE_ADDR		(MX25_AIPS1_BASE_ADDR + 0x98000) -#define MX25_CSPI1_BASE_ADDR		(MX25_AIPS1_BASE_ADDR + 0xa4000) -#define MX25_IOMUXC_BASE_ADDR		(MX25_AIPS1_BASE_ADDR + 0xac000) - -#define MX25_CRM_BASE_ADDR		(MX25_AIPS2_BASE_ADDR + 0x80000) -#define MX25_GPT1_BASE_ADDR		(MX25_AIPS2_BASE_ADDR + 0x90000) -#define MX25_WDOG_BASE_ADDR		(MX25_AIPS2_BASE_ADDR + 0xdc000) - -#define MX25_GPIO1_BASE_ADDR_VIRT	(MX25_AIPS2_BASE_ADDR_VIRT + 0xcc000) -#define MX25_GPIO2_BASE_ADDR_VIRT	(MX25_AIPS2_BASE_ADDR_VIRT + 0xd0000) -#define MX25_GPIO3_BASE_ADDR_VIRT	(MX25_AIPS2_BASE_ADDR_VIRT + 0xa4000) -#define MX25_GPIO4_BASE_ADDR_VIRT	(MX25_AIPS2_BASE_ADDR_VIRT + 0x9c000) - -#define MX25_IO_ADDRESS(x) (					\ -	IMX_IO_ADDRESS(x, MX25_AIPS1) ?:			\ -	IMX_IO_ADDRESS(x, MX25_AIPS2) ?:			\ -	IMX_IO_ADDRESS(x, MX25_AVIC)) - -#define MX25_AIPS1_IO_ADDRESS(x) \ -	(((x) - MX25_AIPS1_BASE_ADDR) + MX25_AIPS1_BASE_ADDR_VIRT) - -#define MX25_UART1_BASE_ADDR		0x43f90000 -#define MX25_UART2_BASE_ADDR		0x43f94000 -#define MX25_AUDMUX_BASE_ADDR		0x43fb0000 -#define MX25_UART3_BASE_ADDR		0x5000c000 -#define MX25_UART4_BASE_ADDR		0x50008000 -#define MX25_UART5_BASE_ADDR		0x5002c000 - -#define MX25_CSPI3_BASE_ADDR		0x50004000 -#define MX25_CSPI2_BASE_ADDR		0x50010000 -#define MX25_FEC_BASE_ADDR		0x50038000 -#define MX25_SSI2_BASE_ADDR		0x50014000 -#define MX25_SSI1_BASE_ADDR		0x50034000 -#define MX25_NFC_BASE_ADDR		0xbb000000 -#define MX25_DRYICE_BASE_ADDR		0x53ffc000 -#define MX25_ESDHC1_BASE_ADDR		0x53fb4000 -#define MX25_ESDHC2_BASE_ADDR		0x53fb8000 -#define MX25_LCDC_BASE_ADDR		0x53fbc000 -#define MX25_KPP_BASE_ADDR		0x43fa8000 -#define MX25_SDMA_BASE_ADDR		0x53fd4000 -#define MX25_OTG_BASE_ADDR		0x53ff4000 -#define MX25_CSI_BASE_ADDR		0x53ff8000 - -#define MX25_INT_CSPI3		0 -#define MX25_INT_I2C1		3 -#define MX25_INT_I2C2		4 -#define MX25_INT_UART4		5 -#define MX25_INT_ESDHC2		8 -#define MX25_INT_ESDHC1		9 -#define MX25_INT_I2C3		10 -#define MX25_INT_SSI2		11 -#define MX25_INT_SSI1		12 -#define MX25_INT_CSPI2		13 -#define MX25_INT_CSPI1		14 -#define MX25_INT_CSI		17 -#define MX25_INT_UART3		18 -#define MX25_INT_KPP		24 -#define MX25_INT_DRYICE		25 -#define MX25_INT_UART2		32 -#define MX25_INT_NFC		33 -#define MX25_INT_SDMA		34 -#define MX25_INT_LCDC		39 -#define MX25_INT_UART5		40 -#define MX25_INT_CAN1		43 -#define MX25_INT_CAN2		44 -#define MX25_INT_UART1		45 -#define MX25_INT_FEC		57 - -#define MX25_DMA_REQ_SSI2_RX1	22 -#define MX25_DMA_REQ_SSI2_TX1	23 -#define MX25_DMA_REQ_SSI2_RX0	24 -#define MX25_DMA_REQ_SSI2_TX0	25 -#define MX25_DMA_REQ_SSI1_RX1	26 -#define MX25_DMA_REQ_SSI1_TX1	27 -#define MX25_DMA_REQ_SSI1_RX0	28 -#define MX25_DMA_REQ_SSI1_TX0	29 - -#endif /* ifndef __MACH_MX25_H__ */ diff --git a/arch/arm/plat-mxc/include/mach/mx27.h b/arch/arm/plat-mxc/include/mach/mx27.h deleted file mode 100644 index 2237ba2e535..00000000000 --- a/arch/arm/plat-mxc/include/mach/mx27.h +++ /dev/null @@ -1,322 +0,0 @@ -/* - * Copyright 2004-2007 Freescale Semiconductor, Inc. All Rights Reserved. - * Copyright 2008 Juergen Beisert, kernel@pengutronix.de - * - * This contains i.MX27-specific hardware definitions. For those - * hardware pieces that are common between i.MX21 and i.MX27, have a - * look at mx2x.h. - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, - * MA  02110-1301, USA. - */ - -#ifndef __MACH_MX27_H__ -#define __MACH_MX27_H__ - -#ifndef __ASSEMBLER__ -#include <linux/io.h> -#endif - -#define MX27_AIPI_BASE_ADDR		0x10000000 -#define MX27_AIPI_BASE_ADDR_VIRT	0xf4000000 -#define MX27_AIPI_SIZE			SZ_1M -#define MX27_DMA_BASE_ADDR			(MX27_AIPI_BASE_ADDR + 0x01000) -#define MX27_WDOG_BASE_ADDR			(MX27_AIPI_BASE_ADDR + 0x02000) -#define MX27_GPT1_BASE_ADDR			(MX27_AIPI_BASE_ADDR + 0x03000) -#define MX27_GPT2_BASE_ADDR			(MX27_AIPI_BASE_ADDR + 0x04000) -#define MX27_GPT3_BASE_ADDR			(MX27_AIPI_BASE_ADDR + 0x05000) -#define MX27_PWM_BASE_ADDR			(MX27_AIPI_BASE_ADDR + 0x06000) -#define MX27_RTC_BASE_ADDR			(MX27_AIPI_BASE_ADDR + 0x07000) -#define MX27_KPP_BASE_ADDR			(MX27_AIPI_BASE_ADDR + 0x08000) -#define MX27_OWIRE_BASE_ADDR			(MX27_AIPI_BASE_ADDR + 0x09000) -#define MX27_UART1_BASE_ADDR			(MX27_AIPI_BASE_ADDR + 0x0a000) -#define MX27_UART2_BASE_ADDR			(MX27_AIPI_BASE_ADDR + 0x0b000) -#define MX27_UART3_BASE_ADDR			(MX27_AIPI_BASE_ADDR + 0x0c000) -#define MX27_UART4_BASE_ADDR			(MX27_AIPI_BASE_ADDR + 0x0d000) -#define MX27_CSPI1_BASE_ADDR			(MX27_AIPI_BASE_ADDR + 0x0e000) -#define MX27_CSPI2_BASE_ADDR			(MX27_AIPI_BASE_ADDR + 0x0f000) -#define MX27_SSI1_BASE_ADDR			(MX27_AIPI_BASE_ADDR + 0x10000) -#define MX27_SSI2_BASE_ADDR			(MX27_AIPI_BASE_ADDR + 0x11000) -#define MX27_I2C1_BASE_ADDR			(MX27_AIPI_BASE_ADDR + 0x12000) -#define MX27_SDHC1_BASE_ADDR			(MX27_AIPI_BASE_ADDR + 0x13000) -#define MX27_SDHC2_BASE_ADDR			(MX27_AIPI_BASE_ADDR + 0x14000) -#define MX27_GPIO_BASE_ADDR			(MX27_AIPI_BASE_ADDR + 0x15000) -#define MX27_AUDMUX_BASE_ADDR			(MX27_AIPI_BASE_ADDR + 0x16000) -#define MX27_CSPI3_BASE_ADDR			(MX27_AIPI_BASE_ADDR + 0x17000) -#define MX27_MSHC_BASE_ADDR			(MX27_AIPI_BASE_ADDR + 0x18000) -#define MX27_GPT5_BASE_ADDR			(MX27_AIPI_BASE_ADDR + 0x19000) -#define MX27_GPT4_BASE_ADDR			(MX27_AIPI_BASE_ADDR + 0x1a000) -#define MX27_UART5_BASE_ADDR			(MX27_AIPI_BASE_ADDR + 0x1b000) -#define MX27_UART6_BASE_ADDR			(MX27_AIPI_BASE_ADDR + 0x1c000) -#define MX27_I2C2_BASE_ADDR			(MX27_AIPI_BASE_ADDR + 0x1d000) -#define MX27_SDHC3_BASE_ADDR			(MX27_AIPI_BASE_ADDR + 0x1e000) -#define MX27_GPT6_BASE_ADDR			(MX27_AIPI_BASE_ADDR + 0x1f000) -#define MX27_LCDC_BASE_ADDR			(MX27_AIPI_BASE_ADDR + 0x21000) -#define MX27_SLCDC_BASE_ADDR			(MX27_AIPI_BASE_ADDR + 0x22000) -#define MX27_VPU_BASE_ADDR			(MX27_AIPI_BASE_ADDR + 0x23000) -#define MX27_USBOTG_BASE_ADDR			(MX27_AIPI_BASE_ADDR + 0x24000) -#define MX27_OTG_BASE_ADDR			MX27_USBOTG_BASE_ADDR -#define MX27_SAHARA_BASE_ADDR			(MX27_AIPI_BASE_ADDR + 0x25000) -#define MX27_EMMA_PP_BASE_ADDR			(MX27_AIPI_BASE_ADDR + 0x26000) -#define MX27_EMMA_PRP_BASE_ADDR			(MX27_AIPI_BASE_ADDR + 0x26400) -#define MX27_CCM_BASE_ADDR			(MX27_AIPI_BASE_ADDR + 0x27000) -#define MX27_SYSCTRL_BASE_ADDR			(MX27_AIPI_BASE_ADDR + 0x27800) -#define MX27_IIM_BASE_ADDR			(MX27_AIPI_BASE_ADDR + 0x28000) -#define MX27_RTIC_BASE_ADDR			(MX27_AIPI_BASE_ADDR + 0x2a000) -#define MX27_FEC_BASE_ADDR			(MX27_AIPI_BASE_ADDR + 0x2b000) -#define MX27_SCC_BASE_ADDR			(MX27_AIPI_BASE_ADDR + 0x2c000) -#define MX27_ETB_BASE_ADDR			(MX27_AIPI_BASE_ADDR + 0x3b000) -#define MX27_ETB_RAM_BASE_ADDR			(MX27_AIPI_BASE_ADDR + 0x3c000) -#define MX27_JAM_BASE_ADDR			(MX27_AIPI_BASE_ADDR + 0x3e000) -#define MX27_MAX_BASE_ADDR			(MX27_AIPI_BASE_ADDR + 0x3f000) - -#define MX27_AVIC_BASE_ADDR		0x10040000 - -/* ROM patch */ -#define MX27_ROMP_BASE_ADDR		0x10041000 - -#define MX27_SAHB1_BASE_ADDR		0x80000000 -#define MX27_SAHB1_BASE_ADDR_VIRT	0xf4100000 -#define MX27_SAHB1_SIZE			SZ_1M -#define MX27_CSI_BASE_ADDR			(MX27_SAHB1_BASE_ADDR + 0x0000) -#define MX27_ATA_BASE_ADDR			(MX27_SAHB1_BASE_ADDR + 0x1000) - -/* Memory regions and CS */ -#define MX27_SDRAM_BASE_ADDR		0xa0000000 -#define MX27_CSD1_BASE_ADDR		0xb0000000 - -#define MX27_CS0_BASE_ADDR		0xc0000000 -#define MX27_CS1_BASE_ADDR		0xc8000000 -#define MX27_CS2_BASE_ADDR		0xd0000000 -#define MX27_CS3_BASE_ADDR		0xd2000000 -#define MX27_CS4_BASE_ADDR		0xd4000000 -#define MX27_CS5_BASE_ADDR		0xd6000000 - -/* NAND, SDRAM, WEIM, M3IF, EMI controllers */ -#define MX27_X_MEMC_BASE_ADDR		0xd8000000 -#define MX27_X_MEMC_BASE_ADDR_VIRT	0xf4200000 -#define MX27_X_MEMC_SIZE		SZ_1M -#define MX27_NFC_BASE_ADDR			(MX27_X_MEMC_BASE_ADDR) -#define MX27_SDRAMC_BASE_ADDR			(MX27_X_MEMC_BASE_ADDR + 0x1000) -#define MX27_WEIM_BASE_ADDR			(MX27_X_MEMC_BASE_ADDR + 0x2000) -#define MX27_M3IF_BASE_ADDR			(MX27_X_MEMC_BASE_ADDR + 0x3000) -#define MX27_PCMCIA_CTL_BASE_ADDR		(MX27_X_MEMC_BASE_ADDR + 0x4000) - -#define MX27_WEIM_CSCRx_BASE_ADDR(cs)	(MX27_WEIM_BASE_ADDR + (cs) * 0x10) -#define MX27_WEIM_CSCRxU(cs)			(MX27_WEIM_CSCRx_BASE_ADDR(cs)) -#define MX27_WEIM_CSCRxL(cs)			(MX27_WEIM_CSCRx_BASE_ADDR(cs) + 0x4) -#define MX27_WEIM_CSCRxA(cs)			(MX27_WEIM_CSCRx_BASE_ADDR(cs) + 0x8) - -#define MX27_PCMCIA_MEM_BASE_ADDR	0xdc000000 - -/* IRAM */ -#define MX27_IRAM_BASE_ADDR		0xffff4c00	/* internal ram */ - -#define MX27_IO_ADDRESS(x) (						\ -	IMX_IO_ADDRESS(x, MX27_AIPI) ?:					\ -	IMX_IO_ADDRESS(x, MX27_SAHB1) ?:				\ -	IMX_IO_ADDRESS(x, MX27_X_MEMC)) - -#ifndef __ASSEMBLER__ -static inline void mx27_setup_weimcs(size_t cs, -		unsigned upper, unsigned lower, unsigned addional) -{ -	__raw_writel(upper, MX27_IO_ADDRESS(MX27_WEIM_CSCRxU(cs))); -	__raw_writel(lower, MX27_IO_ADDRESS(MX27_WEIM_CSCRxL(cs))); -	__raw_writel(addional, MX27_IO_ADDRESS(MX27_WEIM_CSCRxA(cs))); -} -#endif - -/* fixed interrupt numbers */ -#define MX27_INT_I2C2		1 -#define MX27_INT_GPT6		2 -#define MX27_INT_GPT5		3 -#define MX27_INT_GPT4		4 -#define MX27_INT_RTIC		5 -#define MX27_INT_CSPI3		6 -#define MX27_INT_SDHC		7 -#define MX27_INT_GPIO		8 -#define MX27_INT_SDHC3		9 -#define MX27_INT_SDHC2		10 -#define MX27_INT_SDHC1		11 -#define MX27_INT_I2C1		12 -#define MX27_INT_SSI2		13 -#define MX27_INT_SSI1		14 -#define MX27_INT_CSPI2		15 -#define MX27_INT_CSPI1		16 -#define MX27_INT_UART4		17 -#define MX27_INT_UART3		18 -#define MX27_INT_UART2		19 -#define MX27_INT_UART1		20 -#define MX27_INT_KPP		21 -#define MX27_INT_RTC		22 -#define MX27_INT_PWM		23 -#define MX27_INT_GPT3		24 -#define MX27_INT_GPT2		25 -#define MX27_INT_GPT1		26 -#define MX27_INT_WDOG		27 -#define MX27_INT_PCMCIA		28 -#define MX27_INT_NFC		29 -#define MX27_INT_ATA		30 -#define MX27_INT_CSI		31 -#define MX27_INT_DMACH0		32 -#define MX27_INT_DMACH1		33 -#define MX27_INT_DMACH2		34 -#define MX27_INT_DMACH3		35 -#define MX27_INT_DMACH4		36 -#define MX27_INT_DMACH5		37 -#define MX27_INT_DMACH6		38 -#define MX27_INT_DMACH7		39 -#define MX27_INT_DMACH8		40 -#define MX27_INT_DMACH9		41 -#define MX27_INT_DMACH10	42 -#define MX27_INT_DMACH11	43 -#define MX27_INT_DMACH12	44 -#define MX27_INT_DMACH13	45 -#define MX27_INT_DMACH14	46 -#define MX27_INT_DMACH15	47 -#define MX27_INT_UART6		48 -#define MX27_INT_UART5		49 -#define MX27_INT_FEC		50 -#define MX27_INT_EMMAPRP	51 -#define MX27_INT_EMMAPP		52 -#define MX27_INT_VPU		53 -#define MX27_INT_USB1		54 -#define MX27_INT_USB2		55 -#define MX27_INT_USB3		56 -#define MX27_INT_SCC_SMN	57 -#define MX27_INT_SCC_SCM	58 -#define MX27_INT_SAHARA		59 -#define MX27_INT_SLCDC		60 -#define MX27_INT_LCDC		61 -#define MX27_INT_IIM		62 -#define MX27_INT_CCM		63 - -/* fixed DMA request numbers */ -#define MX27_DMA_REQ_CSPI3_RX	1 -#define MX27_DMA_REQ_CSPI3_TX	2 -#define MX27_DMA_REQ_EXT	3 -#define MX27_DMA_REQ_MSHC	4 -#define MX27_DMA_REQ_SDHC2	6 -#define MX27_DMA_REQ_SDHC1	7 -#define MX27_DMA_REQ_SSI2_RX0	8 -#define MX27_DMA_REQ_SSI2_TX0	9 -#define MX27_DMA_REQ_SSI2_RX1	10 -#define MX27_DMA_REQ_SSI2_TX1	11 -#define MX27_DMA_REQ_SSI1_RX0	12 -#define MX27_DMA_REQ_SSI1_TX0	13 -#define MX27_DMA_REQ_SSI1_RX1	14 -#define MX27_DMA_REQ_SSI1_TX1	15 -#define MX27_DMA_REQ_CSPI2_RX	16 -#define MX27_DMA_REQ_CSPI2_TX	17 -#define MX27_DMA_REQ_CSPI1_RX	18 -#define MX27_DMA_REQ_CSPI1_TX	19 -#define MX27_DMA_REQ_UART4_RX	20 -#define MX27_DMA_REQ_UART4_TX	21 -#define MX27_DMA_REQ_UART3_RX	22 -#define MX27_DMA_REQ_UART3_TX	23 -#define MX27_DMA_REQ_UART2_RX	24 -#define MX27_DMA_REQ_UART2_TX	25 -#define MX27_DMA_REQ_UART1_RX	26 -#define MX27_DMA_REQ_UART1_TX	27 -#define MX27_DMA_REQ_ATA_TX	28 -#define MX27_DMA_REQ_ATA_RCV	29 -#define MX27_DMA_REQ_CSI_STAT	30 -#define MX27_DMA_REQ_CSI_RX	31 -#define MX27_DMA_REQ_UART5_TX	32 -#define MX27_DMA_REQ_UART5_RX	33 -#define MX27_DMA_REQ_UART6_TX	34 -#define MX27_DMA_REQ_UART6_RX	35 -#define MX27_DMA_REQ_SDHC3	36 -#define MX27_DMA_REQ_NFC	37 - -/* silicon revisions specific to i.MX27 */ -#define CHIP_REV_1_0		0x00 -#define CHIP_REV_2_0		0x01 - -#ifndef __ASSEMBLY__ -extern int mx27_revision(void); -#endif - -#ifdef IMX_NEEDS_DEPRECATED_SYMBOLS -/* these should go away */ -#define MSHC_BASE_ADDR MX27_MSHC_BASE_ADDR -#define GPT5_BASE_ADDR MX27_GPT5_BASE_ADDR -#define GPT4_BASE_ADDR MX27_GPT4_BASE_ADDR -#define UART5_BASE_ADDR MX27_UART5_BASE_ADDR -#define UART6_BASE_ADDR MX27_UART6_BASE_ADDR -#define I2C2_BASE_ADDR MX27_I2C2_BASE_ADDR -#define SDHC3_BASE_ADDR MX27_SDHC3_BASE_ADDR -#define GPT6_BASE_ADDR MX27_GPT6_BASE_ADDR -#define VPU_BASE_ADDR MX27_VPU_BASE_ADDR -#define OTG_BASE_ADDR MX27_OTG_BASE_ADDR -#define SAHARA_BASE_ADDR MX27_SAHARA_BASE_ADDR -#define IIM_BASE_ADDR MX27_IIM_BASE_ADDR -#define RTIC_BASE_ADDR MX27_RTIC_BASE_ADDR -#define FEC_BASE_ADDR MX27_FEC_BASE_ADDR -#define SCC_BASE_ADDR MX27_SCC_BASE_ADDR -#define ETB_BASE_ADDR MX27_ETB_BASE_ADDR -#define ETB_RAM_BASE_ADDR MX27_ETB_RAM_BASE_ADDR -#define ROMP_BASE_ADDR MX27_ROMP_BASE_ADDR -#define ATA_BASE_ADDR MX27_ATA_BASE_ADDR -#define SDRAM_BASE_ADDR MX27_SDRAM_BASE_ADDR -#define CSD1_BASE_ADDR MX27_CSD1_BASE_ADDR -#define CS0_BASE_ADDR MX27_CS0_BASE_ADDR -#define CS1_BASE_ADDR MX27_CS1_BASE_ADDR -#define CS2_BASE_ADDR MX27_CS2_BASE_ADDR -#define CS3_BASE_ADDR MX27_CS3_BASE_ADDR -#define CS4_BASE_ADDR MX27_CS4_BASE_ADDR -#define CS5_BASE_ADDR MX27_CS5_BASE_ADDR -#define X_MEMC_BASE_ADDR MX27_X_MEMC_BASE_ADDR -#define X_MEMC_BASE_ADDR_VIRT MX27_X_MEMC_BASE_ADDR_VIRT -#define X_MEMC_SIZE MX27_X_MEMC_SIZE -#define NFC_BASE_ADDR MX27_NFC_BASE_ADDR -#define SDRAMC_BASE_ADDR MX27_SDRAMC_BASE_ADDR -#define WEIM_BASE_ADDR MX27_WEIM_BASE_ADDR -#define M3IF_BASE_ADDR MX27_M3IF_BASE_ADDR -#define PCMCIA_CTL_BASE_ADDR MX27_PCMCIA_CTL_BASE_ADDR -#define PCMCIA_MEM_BASE_ADDR MX27_PCMCIA_MEM_BASE_ADDR -#define IRAM_BASE_ADDR MX27_IRAM_BASE_ADDR -#define MXC_INT_I2C2 MX27_INT_I2C2 -#define MXC_INT_GPT6 MX27_INT_GPT6 -#define MXC_INT_GPT5 MX27_INT_GPT5 -#define MXC_INT_GPT4 MX27_INT_GPT4 -#define MXC_INT_RTIC MX27_INT_RTIC -#define MXC_INT_SDHC MX27_INT_SDHC -#define MXC_INT_SDHC3 MX27_INT_SDHC3 -#define MXC_INT_ATA MX27_INT_ATA -#define MXC_INT_UART6 MX27_INT_UART6 -#define MXC_INT_UART5 MX27_INT_UART5 -#define MXC_INT_FEC MX27_INT_FEC -#define MXC_INT_VPU MX27_INT_VPU -#define MXC_INT_USB1 MX27_INT_USB1 -#define MXC_INT_USB2 MX27_INT_USB2 -#define MXC_INT_USB3 MX27_INT_USB3 -#define MXC_INT_SCC_SMN MX27_INT_SCC_SMN -#define MXC_INT_SCC_SCM MX27_INT_SCC_SCM -#define MXC_INT_SAHARA MX27_INT_SAHARA -#define MXC_INT_IIM MX27_INT_IIM -#define MXC_INT_CCM MX27_INT_CCM -#define DMA_REQ_MSHC MX27_DMA_REQ_MSHC -#define DMA_REQ_ATA_TX MX27_DMA_REQ_ATA_TX -#define DMA_REQ_ATA_RCV MX27_DMA_REQ_ATA_RCV -#define DMA_REQ_UART5_TX MX27_DMA_REQ_UART5_TX -#define DMA_REQ_UART5_RX MX27_DMA_REQ_UART5_RX -#define DMA_REQ_UART6_TX MX27_DMA_REQ_UART6_TX -#define DMA_REQ_UART6_RX MX27_DMA_REQ_UART6_RX -#define DMA_REQ_SDHC3 MX27_DMA_REQ_SDHC3 -#define DMA_REQ_NFC MX27_DMA_REQ_NFC -#endif - -#endif /* ifndef __MACH_MX27_H__ */ diff --git a/arch/arm/plat-mxc/include/mach/mx2_cam.h b/arch/arm/plat-mxc/include/mach/mx2_cam.h deleted file mode 100644 index 3c080a32dbf..00000000000 --- a/arch/arm/plat-mxc/include/mach/mx2_cam.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * mx2-cam.h - i.MX27/i.MX25 camera driver header file - * - * Copyright (C) 2003, Intel Corporation - * Copyright (C) 2008, Sascha Hauer <s.hauer@pengutronix.de> - * Copyright (C) 2010, Baruch Siach <baruch@tkos.co.il> - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. - */ - -#ifndef __MACH_MX2_CAM_H_ -#define __MACH_MX2_CAM_H_ - -#define MX2_CAMERA_SWAP16		(1 << 0) -#define MX2_CAMERA_EXT_VSYNC		(1 << 1) -#define MX2_CAMERA_CCIR			(1 << 2) -#define MX2_CAMERA_CCIR_INTERLACE	(1 << 3) -#define MX2_CAMERA_HSYNC_HIGH		(1 << 4) -#define MX2_CAMERA_GATED_CLOCK		(1 << 5) -#define MX2_CAMERA_INV_DATA		(1 << 6) -#define MX2_CAMERA_PCLK_SAMPLE_RISING	(1 << 7) -#define MX2_CAMERA_PACK_DIR_MSB		(1 << 8) - -/** - * struct mx2_camera_platform_data - optional platform data for mx2_camera - * @flags: any combination of MX2_CAMERA_* - * @clk: clock rate of the csi block / 2 - */ -struct mx2_camera_platform_data { -	unsigned long flags; -	unsigned long clk; -}; - -#endif /* __MACH_MX2_CAM_H_ */ diff --git a/arch/arm/plat-mxc/include/mach/mx2x.h b/arch/arm/plat-mxc/include/mach/mx2x.h deleted file mode 100644 index afb895a0b5b..00000000000 --- a/arch/arm/plat-mxc/include/mach/mx2x.h +++ /dev/null @@ -1,293 +0,0 @@ -/* - * Copyright 2004-2007 Freescale Semiconductor, Inc. All Rights Reserved. - * Copyright 2008 Juergen Beisert, kernel@pengutronix.de - * - * This contains hardware definitions that are common between i.MX21 and - * i.MX27. - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, - * MA  02110-1301, USA. - */ - -#ifndef __MACH_MX2x_H__ -#define __MACH_MX2x_H__ - -/* The following addresses are common between i.MX21 and i.MX27 */ - -/* Register offsets */ -#define MX2x_AIPI_BASE_ADDR		0x10000000 -#define MX2x_AIPI_BASE_ADDR_VIRT	0xf4000000 -#define MX2x_AIPI_SIZE			SZ_1M -#define MX2x_DMA_BASE_ADDR			(MX2x_AIPI_BASE_ADDR + 0x01000) -#define MX2x_WDOG_BASE_ADDR			(MX2x_AIPI_BASE_ADDR + 0x02000) -#define MX2x_GPT1_BASE_ADDR			(MX2x_AIPI_BASE_ADDR + 0x03000) -#define MX2x_GPT2_BASE_ADDR			(MX2x_AIPI_BASE_ADDR + 0x04000) -#define MX2x_GPT3_BASE_ADDR			(MX2x_AIPI_BASE_ADDR + 0x05000) -#define MX2x_PWM_BASE_ADDR			(MX2x_AIPI_BASE_ADDR + 0x06000) -#define MX2x_RTC_BASE_ADDR			(MX2x_AIPI_BASE_ADDR + 0x07000) -#define MX2x_KPP_BASE_ADDR			(MX2x_AIPI_BASE_ADDR + 0x08000) -#define MX2x_OWIRE_BASE_ADDR			(MX2x_AIPI_BASE_ADDR + 0x09000) -#define MX2x_UART1_BASE_ADDR			(MX2x_AIPI_BASE_ADDR + 0x0a000) -#define MX2x_UART2_BASE_ADDR			(MX2x_AIPI_BASE_ADDR + 0x0b000) -#define MX2x_UART3_BASE_ADDR			(MX2x_AIPI_BASE_ADDR + 0x0c000) -#define MX2x_UART4_BASE_ADDR			(MX2x_AIPI_BASE_ADDR + 0x0d000) -#define MX2x_CSPI1_BASE_ADDR			(MX2x_AIPI_BASE_ADDR + 0x0e000) -#define MX2x_CSPI2_BASE_ADDR			(MX2x_AIPI_BASE_ADDR + 0x0f000) -#define MX2x_SSI1_BASE_ADDR			(MX2x_AIPI_BASE_ADDR + 0x10000) -#define MX2x_SSI2_BASE_ADDR			(MX2x_AIPI_BASE_ADDR + 0x11000) -#define MX2x_I2C_BASE_ADDR			(MX2x_AIPI_BASE_ADDR + 0x12000) -#define MX2x_SDHC1_BASE_ADDR			(MX2x_AIPI_BASE_ADDR + 0x13000) -#define MX2x_SDHC2_BASE_ADDR			(MX2x_AIPI_BASE_ADDR + 0x14000) -#define MX2x_GPIO_BASE_ADDR			(MX2x_AIPI_BASE_ADDR + 0x15000) -#define MX2x_AUDMUX_BASE_ADDR			(MX2x_AIPI_BASE_ADDR + 0x16000) -#define MX2x_CSPI3_BASE_ADDR			(MX2x_AIPI_BASE_ADDR + 0x17000) -#define MX2x_LCDC_BASE_ADDR			(MX2x_AIPI_BASE_ADDR + 0x21000) -#define MX2x_SLCDC_BASE_ADDR			(MX2x_AIPI_BASE_ADDR + 0x22000) -#define MX2x_USBOTG_BASE_ADDR			(MX2x_AIPI_BASE_ADDR + 0x24000) -#define MX2x_EMMA_PP_BASE_ADDR			(MX2x_AIPI_BASE_ADDR + 0x26000) -#define MX2x_EMMA_PRP_BASE_ADDR			(MX2x_AIPI_BASE_ADDR + 0x26400) -#define MX2x_CCM_BASE_ADDR			(MX2x_AIPI_BASE_ADDR + 0x27000) -#define MX2x_SYSCTRL_BASE_ADDR			(MX2x_AIPI_BASE_ADDR + 0x27800) -#define MX2x_JAM_BASE_ADDR			(MX2x_AIPI_BASE_ADDR + 0x3e000) -#define MX2x_MAX_BASE_ADDR			(MX2x_AIPI_BASE_ADDR + 0x3f000) - -#define MX2x_AVIC_BASE_ADDR		0x10040000 - -#define MX2x_SAHB1_BASE_ADDR		0x80000000 -#define MX2x_SAHB1_BASE_ADDR_VIRT	0xf4100000 -#define MX2x_SAHB1_SIZE			SZ_1M -#define MX2x_CSI_BASE_ADDR			(MX2x_SAHB1_BASE_ADDR + 0x0000) - -/* - * This macro defines the physical to virtual address mapping for all the - * peripheral modules. It is used by passing in the physical address as x - * and returning the virtual address. If the physical address is not mapped, - * it returns 0xDEADBEEF - */ -#define IO_ADDRESS(x)   \ -	(void __force __iomem *) \ -	(((x >= AIPI_BASE_ADDR) && (x < (AIPI_BASE_ADDR + AIPI_SIZE))) ? \ -		AIPI_IO_ADDRESS(x) : \ -	((x >= SAHB1_BASE_ADDR) && (x < (SAHB1_BASE_ADDR + SAHB1_SIZE))) ? \ -		SAHB1_IO_ADDRESS(x) : \ -	((x >= X_MEMC_BASE_ADDR) && (x < (X_MEMC_BASE_ADDR + X_MEMC_SIZE))) ? \ -		X_MEMC_IO_ADDRESS(x) : 0xDEADBEEF) - -/* define the address mapping macros: in physical address order */ -#define AIPI_IO_ADDRESS(x)  \ -	(((x) - AIPI_BASE_ADDR) + AIPI_BASE_ADDR_VIRT) - -#define AVIC_IO_ADDRESS(x)	AIPI_IO_ADDRESS(x) - -#define SAHB1_IO_ADDRESS(x)  \ -	(((x) - SAHB1_BASE_ADDR) + SAHB1_BASE_ADDR_VIRT) - -#define CS4_IO_ADDRESS(x)  \ -	(((x) - CS4_BASE_ADDR) + CS4_BASE_ADDR_VIRT) - -#define X_MEMC_IO_ADDRESS(x)  \ -	(((x) - X_MEMC_BASE_ADDR) + X_MEMC_BASE_ADDR_VIRT) - -#define PCMCIA_IO_ADDRESS(x) \ -	(((x) - X_MEMC_BASE_ADDR) + X_MEMC_BASE_ADDR_VIRT) - -/* fixed interrupt numbers */ -#define MX2x_INT_CSPI3		6 -#define MX2x_INT_GPIO		8 -#define MX2x_INT_SDHC2		10 -#define MX2x_INT_SDHC1		11 -#define MX2x_INT_I2C		12 -#define MX2x_INT_SSI2		13 -#define MX2x_INT_SSI1		14 -#define MX2x_INT_CSPI2		15 -#define MX2x_INT_CSPI1		16 -#define MX2x_INT_UART4		17 -#define MX2x_INT_UART3		18 -#define MX2x_INT_UART2		19 -#define MX2x_INT_UART1		20 -#define MX2x_INT_KPP		21 -#define MX2x_INT_RTC		22 -#define MX2x_INT_PWM		23 -#define MX2x_INT_GPT3		24 -#define MX2x_INT_GPT2		25 -#define MX2x_INT_GPT1		26 -#define MX2x_INT_WDOG		27 -#define MX2x_INT_PCMCIA		28 -#define MX2x_INT_NANDFC		29 -#define MX2x_INT_CSI		31 -#define MX2x_INT_DMACH0		32 -#define MX2x_INT_DMACH1		33 -#define MX2x_INT_DMACH2		34 -#define MX2x_INT_DMACH3		35 -#define MX2x_INT_DMACH4		36 -#define MX2x_INT_DMACH5		37 -#define MX2x_INT_DMACH6		38 -#define MX2x_INT_DMACH7		39 -#define MX2x_INT_DMACH8		40 -#define MX2x_INT_DMACH9		41 -#define MX2x_INT_DMACH10	42 -#define MX2x_INT_DMACH11	43 -#define MX2x_INT_DMACH12	44 -#define MX2x_INT_DMACH13	45 -#define MX2x_INT_DMACH14	46 -#define MX2x_INT_DMACH15	47 -#define MX2x_INT_EMMAPRP	51 -#define MX2x_INT_EMMAPP		52 -#define MX2x_INT_SLCDC		60 -#define MX2x_INT_LCDC		61 - -/* fixed DMA request numbers */ -#define MX2x_DMA_REQ_CSPI3_RX	1 -#define MX2x_DMA_REQ_CSPI3_TX	2 -#define MX2x_DMA_REQ_EXT	3 -#define MX2x_DMA_REQ_SDHC2	6 -#define MX2x_DMA_REQ_SDHC1	7 -#define MX2x_DMA_REQ_SSI2_RX0	8 -#define MX2x_DMA_REQ_SSI2_TX0	9 -#define MX2x_DMA_REQ_SSI2_RX1	10 -#define MX2x_DMA_REQ_SSI2_TX1	11 -#define MX2x_DMA_REQ_SSI1_RX0	12 -#define MX2x_DMA_REQ_SSI1_TX0	13 -#define MX2x_DMA_REQ_SSI1_RX1	14 -#define MX2x_DMA_REQ_SSI1_TX1	15 -#define MX2x_DMA_REQ_CSPI2_RX	16 -#define MX2x_DMA_REQ_CSPI2_TX	17 -#define MX2x_DMA_REQ_CSPI1_RX	18 -#define MX2x_DMA_REQ_CSPI1_TX	19 -#define MX2x_DMA_REQ_UART4_RX	20 -#define MX2x_DMA_REQ_UART4_TX	21 -#define MX2x_DMA_REQ_UART3_RX	22 -#define MX2x_DMA_REQ_UART3_TX	23 -#define MX2x_DMA_REQ_UART2_RX	24 -#define MX2x_DMA_REQ_UART2_TX	25 -#define MX2x_DMA_REQ_UART1_RX	26 -#define MX2x_DMA_REQ_UART1_TX	27 -#define MX2x_DMA_REQ_CSI_STAT	30 -#define MX2x_DMA_REQ_CSI_RX	31 - -#ifdef IMX_NEEDS_DEPRECATED_SYMBOLS -/* these should go away */ -#define AIPI_BASE_ADDR MX2x_AIPI_BASE_ADDR -#define AIPI_BASE_ADDR_VIRT MX2x_AIPI_BASE_ADDR_VIRT -#define AIPI_SIZE MX2x_AIPI_SIZE -#define DMA_BASE_ADDR MX2x_DMA_BASE_ADDR -#define WDOG_BASE_ADDR MX2x_WDOG_BASE_ADDR -#define GPT1_BASE_ADDR MX2x_GPT1_BASE_ADDR -#define GPT2_BASE_ADDR MX2x_GPT2_BASE_ADDR -#define GPT3_BASE_ADDR MX2x_GPT3_BASE_ADDR -#define PWM_BASE_ADDR MX2x_PWM_BASE_ADDR -#define RTC_BASE_ADDR MX2x_RTC_BASE_ADDR -#define KPP_BASE_ADDR MX2x_KPP_BASE_ADDR -#define OWIRE_BASE_ADDR MX2x_OWIRE_BASE_ADDR -#define UART1_BASE_ADDR MX2x_UART1_BASE_ADDR -#define UART2_BASE_ADDR MX2x_UART2_BASE_ADDR -#define UART3_BASE_ADDR MX2x_UART3_BASE_ADDR -#define UART4_BASE_ADDR MX2x_UART4_BASE_ADDR -#define CSPI1_BASE_ADDR MX2x_CSPI1_BASE_ADDR -#define CSPI2_BASE_ADDR MX2x_CSPI2_BASE_ADDR -#define SSI1_BASE_ADDR MX2x_SSI1_BASE_ADDR -#define SSI2_BASE_ADDR MX2x_SSI2_BASE_ADDR -#define I2C_BASE_ADDR MX2x_I2C_BASE_ADDR -#define SDHC1_BASE_ADDR MX2x_SDHC1_BASE_ADDR -#define SDHC2_BASE_ADDR MX2x_SDHC2_BASE_ADDR -#define GPIO_BASE_ADDR MX2x_GPIO_BASE_ADDR -#define AUDMUX_BASE_ADDR MX2x_AUDMUX_BASE_ADDR -#define CSPI3_BASE_ADDR MX2x_CSPI3_BASE_ADDR -#define LCDC_BASE_ADDR MX2x_LCDC_BASE_ADDR -#define SLCDC_BASE_ADDR MX2x_SLCDC_BASE_ADDR -#define USBOTG_BASE_ADDR MX2x_USBOTG_BASE_ADDR -#define EMMA_PP_BASE_ADDR MX2x_EMMA_PP_BASE_ADDR -#define EMMA_PRP_BASE_ADDR MX2x_EMMA_PRP_BASE_ADDR -#define CCM_BASE_ADDR MX2x_CCM_BASE_ADDR -#define SYSCTRL_BASE_ADDR MX2x_SYSCTRL_BASE_ADDR -#define JAM_BASE_ADDR MX2x_JAM_BASE_ADDR -#define MAX_BASE_ADDR MX2x_MAX_BASE_ADDR -#define AVIC_BASE_ADDR MX2x_AVIC_BASE_ADDR -#define SAHB1_BASE_ADDR MX2x_SAHB1_BASE_ADDR -#define SAHB1_BASE_ADDR_VIRT MX2x_SAHB1_BASE_ADDR_VIRT -#define SAHB1_SIZE MX2x_SAHB1_SIZE -#define CSI_BASE_ADDR MX2x_CSI_BASE_ADDR -#define MXC_INT_CSPI3 MX2x_INT_CSPI3 -#define MXC_INT_GPIO MX2x_INT_GPIO -#define MXC_INT_SDHC2 MX2x_INT_SDHC2 -#define MXC_INT_SDHC1 MX2x_INT_SDHC1 -#define MXC_INT_I2C MX2x_INT_I2C -#define MXC_INT_SSI2 MX2x_INT_SSI2 -#define MXC_INT_SSI1 MX2x_INT_SSI1 -#define MXC_INT_CSPI2 MX2x_INT_CSPI2 -#define MXC_INT_CSPI1 MX2x_INT_CSPI1 -#define MXC_INT_UART4 MX2x_INT_UART4 -#define MXC_INT_UART3 MX2x_INT_UART3 -#define MXC_INT_UART2 MX2x_INT_UART2 -#define MXC_INT_UART1 MX2x_INT_UART1 -#define MXC_INT_KPP MX2x_INT_KPP -#define MXC_INT_RTC MX2x_INT_RTC -#define MXC_INT_PWM MX2x_INT_PWM -#define MXC_INT_GPT3 MX2x_INT_GPT3 -#define MXC_INT_GPT2 MX2x_INT_GPT2 -#define MXC_INT_GPT1 MX2x_INT_GPT1 -#define MXC_INT_WDOG MX2x_INT_WDOG -#define MXC_INT_PCMCIA MX2x_INT_PCMCIA -#define MXC_INT_NANDFC MX2x_INT_NANDFC -#define MXC_INT_CSI MX2x_INT_CSI -#define MXC_INT_DMACH0 MX2x_INT_DMACH0 -#define MXC_INT_DMACH1 MX2x_INT_DMACH1 -#define MXC_INT_DMACH2 MX2x_INT_DMACH2 -#define MXC_INT_DMACH3 MX2x_INT_DMACH3 -#define MXC_INT_DMACH4 MX2x_INT_DMACH4 -#define MXC_INT_DMACH5 MX2x_INT_DMACH5 -#define MXC_INT_DMACH6 MX2x_INT_DMACH6 -#define MXC_INT_DMACH7 MX2x_INT_DMACH7 -#define MXC_INT_DMACH8 MX2x_INT_DMACH8 -#define MXC_INT_DMACH9 MX2x_INT_DMACH9 -#define MXC_INT_DMACH10 MX2x_INT_DMACH10 -#define MXC_INT_DMACH11 MX2x_INT_DMACH11 -#define MXC_INT_DMACH12 MX2x_INT_DMACH12 -#define MXC_INT_DMACH13 MX2x_INT_DMACH13 -#define MXC_INT_DMACH14 MX2x_INT_DMACH14 -#define MXC_INT_DMACH15 MX2x_INT_DMACH15 -#define MXC_INT_EMMAPRP MX2x_INT_EMMAPRP -#define MXC_INT_EMMAPP MX2x_INT_EMMAPP -#define MXC_INT_SLCDC MX2x_INT_SLCDC -#define MXC_INT_LCDC MX2x_INT_LCDC -#define DMA_REQ_CSPI3_RX MX2x_DMA_REQ_CSPI3_RX -#define DMA_REQ_CSPI3_TX MX2x_DMA_REQ_CSPI3_TX -#define DMA_REQ_EXT MX2x_DMA_REQ_EXT -#define DMA_REQ_SDHC2 MX2x_DMA_REQ_SDHC2 -#define DMA_REQ_SDHC1 MX2x_DMA_REQ_SDHC1 -#define DMA_REQ_SSI2_RX0 MX2x_DMA_REQ_SSI2_RX0 -#define DMA_REQ_SSI2_TX0 MX2x_DMA_REQ_SSI2_TX0 -#define DMA_REQ_SSI2_RX1 MX2x_DMA_REQ_SSI2_RX1 -#define DMA_REQ_SSI2_TX1 MX2x_DMA_REQ_SSI2_TX1 -#define DMA_REQ_SSI1_RX0 MX2x_DMA_REQ_SSI1_RX0 -#define DMA_REQ_SSI1_TX0 MX2x_DMA_REQ_SSI1_TX0 -#define DMA_REQ_SSI1_RX1 MX2x_DMA_REQ_SSI1_RX1 -#define DMA_REQ_SSI1_TX1 MX2x_DMA_REQ_SSI1_TX1 -#define DMA_REQ_CSPI2_RX MX2x_DMA_REQ_CSPI2_RX -#define DMA_REQ_CSPI2_TX MX2x_DMA_REQ_CSPI2_TX -#define DMA_REQ_CSPI1_RX MX2x_DMA_REQ_CSPI1_RX -#define DMA_REQ_CSPI1_TX MX2x_DMA_REQ_CSPI1_TX -#define DMA_REQ_UART4_RX MX2x_DMA_REQ_UART4_RX -#define DMA_REQ_UART4_TX MX2x_DMA_REQ_UART4_TX -#define DMA_REQ_UART3_RX MX2x_DMA_REQ_UART3_RX -#define DMA_REQ_UART3_TX MX2x_DMA_REQ_UART3_TX -#define DMA_REQ_UART2_RX MX2x_DMA_REQ_UART2_RX -#define DMA_REQ_UART2_TX MX2x_DMA_REQ_UART2_TX -#define DMA_REQ_UART1_RX MX2x_DMA_REQ_UART1_RX -#define DMA_REQ_UART1_TX MX2x_DMA_REQ_UART1_TX -#define DMA_REQ_CSI_STAT MX2x_DMA_REQ_CSI_STAT -#define DMA_REQ_CSI_RX MX2x_DMA_REQ_CSI_RX -#endif - -#endif /* ifndef __MACH_MX2x_H__ */ diff --git a/arch/arm/plat-mxc/include/mach/mx31.h b/arch/arm/plat-mxc/include/mach/mx31.h deleted file mode 100644 index 61cfe827498..00000000000 --- a/arch/arm/plat-mxc/include/mach/mx31.h +++ /dev/null @@ -1,259 +0,0 @@ -#ifndef __MACH_MX31_H__ -#define __MACH_MX31_H__ - -#ifndef __ASSEMBLER__ -#include <linux/io.h> -#endif - -/* - * IRAM - */ -#define MX31_IRAM_BASE_ADDR		0x1ffc0000	/* internal ram */ -#define MX31_IRAM_SIZE			SZ_16K - -#define MX31_L2CC_BASE_ADDR		0x30000000 -#define MX31_L2CC_SIZE			SZ_1M - -#define MX31_AIPS1_BASE_ADDR		0x43f00000 -#define MX31_AIPS1_BASE_ADDR_VIRT	0xfc000000 -#define MX31_AIPS1_SIZE			SZ_1M -#define MX31_MAX_BASE_ADDR			(MX31_AIPS1_BASE_ADDR + 0x04000) -#define MX31_EVTMON_BASE_ADDR			(MX31_AIPS1_BASE_ADDR + 0x08000) -#define MX31_CLKCTL_BASE_ADDR			(MX31_AIPS1_BASE_ADDR + 0x0c000) -#define MX31_ETB_SLOT4_BASE_ADDR		(MX31_AIPS1_BASE_ADDR + 0x10000) -#define MX31_ETB_SLOT5_BASE_ADDR		(MX31_AIPS1_BASE_ADDR + 0x14000) -#define MX31_ECT_CTIO_BASE_ADDR			(MX31_AIPS1_BASE_ADDR + 0x18000) -#define MX31_I2C1_BASE_ADDR			(MX31_AIPS1_BASE_ADDR + 0x80000) -#define MX31_I2C3_BASE_ADDR			(MX31_AIPS1_BASE_ADDR + 0x84000) -#define MX31_OTG_BASE_ADDR			(MX31_AIPS1_BASE_ADDR + 0x88000) -#define MX31_ATA_BASE_ADDR			(MX31_AIPS1_BASE_ADDR + 0x8c000) -#define MX31_UART1_BASE_ADDR			(MX31_AIPS1_BASE_ADDR + 0x90000) -#define MX31_UART2_BASE_ADDR			(MX31_AIPS1_BASE_ADDR + 0x94000) -#define MX31_I2C2_BASE_ADDR			(MX31_AIPS1_BASE_ADDR + 0x98000) -#define MX31_OWIRE_BASE_ADDR			(MX31_AIPS1_BASE_ADDR + 0x9c000) -#define MX31_SSI1_BASE_ADDR			(MX31_AIPS1_BASE_ADDR + 0xa0000) -#define MX31_CSPI1_BASE_ADDR			(MX31_AIPS1_BASE_ADDR + 0xa4000) -#define MX31_KPP_BASE_ADDR			(MX31_AIPS1_BASE_ADDR + 0xa8000) -#define MX31_IOMUXC_BASE_ADDR			(MX31_AIPS1_BASE_ADDR + 0xac000) -#define MX31_UART4_BASE_ADDR			(MX31_AIPS1_BASE_ADDR + 0xb0000) -#define MX31_UART5_BASE_ADDR			(MX31_AIPS1_BASE_ADDR + 0xb4000) -#define MX31_ECT_IP1_BASE_ADDR			(MX31_AIPS1_BASE_ADDR + 0xb8000) -#define MX31_ECT_IP2_BASE_ADDR			(MX31_AIPS1_BASE_ADDR + 0xbc000) - -#define MX31_SPBA0_BASE_ADDR		0x50000000 -#define MX31_SPBA0_BASE_ADDR_VIRT	0xfc100000 -#define MX31_SPBA0_SIZE			SZ_1M -#define MX31_MMC_SDHC1_BASE_ADDR		(MX31_SPBA0_BASE_ADDR + 0x04000) -#define MX31_MMC_SDHC2_BASE_ADDR		(MX31_SPBA0_BASE_ADDR + 0x08000) -#define MX31_UART3_BASE_ADDR			(MX31_SPBA0_BASE_ADDR + 0x0c000) -#define MX31_CSPI2_BASE_ADDR			(MX31_SPBA0_BASE_ADDR + 0x10000) -#define MX31_SSI2_BASE_ADDR			(MX31_SPBA0_BASE_ADDR + 0x14000) -#define MX31_SIM1_BASE_ADDR			(MX31_SPBA0_BASE_ADDR + 0x18000) -#define MX31_IIM_BASE_ADDR			(MX31_SPBA0_BASE_ADDR + 0x1c000) -#define MX31_ATA_DMA_BASE_ADDR			(MX31_SPBA0_BASE_ADDR + 0x20000) -#define MX31_MSHC1_BASE_ADDR			(MX31_SPBA0_BASE_ADDR + 0x24000) -#define MX31_SPBA_CTRL_BASE_ADDR		(MX31_SPBA0_BASE_ADDR + 0x3c000) - -#define MX31_AIPS2_BASE_ADDR		0x53f00000 -#define MX31_AIPS2_BASE_ADDR_VIRT	0xfc200000 -#define MX31_AIPS2_SIZE			SZ_1M -#define MX31_CCM_BASE_ADDR			(MX31_AIPS2_BASE_ADDR + 0x80000) -#define MX31_CSPI3_BASE_ADDR			(MX31_AIPS2_BASE_ADDR + 0x84000) -#define MX31_FIRI_BASE_ADDR			(MX31_AIPS2_BASE_ADDR + 0x8c000) -#define MX31_GPT1_BASE_ADDR			(MX31_AIPS2_BASE_ADDR + 0x90000) -#define MX31_EPIT1_BASE_ADDR			(MX31_AIPS2_BASE_ADDR + 0x94000) -#define MX31_EPIT2_BASE_ADDR			(MX31_AIPS2_BASE_ADDR + 0x98000) -#define MX31_GPIO3_BASE_ADDR			(MX31_AIPS2_BASE_ADDR + 0xa4000) -#define MX31_SCC_BASE_ADDR			(MX31_AIPS2_BASE_ADDR + 0xac000) -#define MX31_SCM_BASE_ADDR			(MX31_AIPS2_BASE_ADDR + 0xae000) -#define MX31_SMN_BASE_ADDR			(MX31_AIPS2_BASE_ADDR + 0xaf000) -#define MX31_RNGA_BASE_ADDR			(MX31_AIPS2_BASE_ADDR + 0xb0000) -#define MX31_IPU_CTRL_BASE_ADDR			(MX31_AIPS2_BASE_ADDR + 0xc0000) -#define MX31_AUDMUX_BASE_ADDR			(MX31_AIPS2_BASE_ADDR + 0xc4000) -#define MX31_MPEG4_ENC_BASE_ADDR		(MX31_AIPS2_BASE_ADDR + 0xc8000) -#define MX31_GPIO1_BASE_ADDR			(MX31_AIPS2_BASE_ADDR + 0xcc000) -#define MX31_GPIO2_BASE_ADDR			(MX31_AIPS2_BASE_ADDR + 0xd0000) -#define MX31_SDMA_BASE_ADDR			(MX31_AIPS2_BASE_ADDR + 0xd4000) -#define MX31_RTC_BASE_ADDR			(MX31_AIPS2_BASE_ADDR + 0xd8000) -#define MX31_WDOG_BASE_ADDR			(MX31_AIPS2_BASE_ADDR + 0xdc000) -#define MX31_PWM_BASE_ADDR			(MX31_AIPS2_BASE_ADDR + 0xe0000) -#define MX31_RTIC_BASE_ADDR			(MX31_AIPS2_BASE_ADDR + 0xec000) - -#define MX31_ROMP_BASE_ADDR		0x60000000 -#define MX31_ROMP_BASE_ADDR_VIRT	0xfc500000 -#define MX31_ROMP_SIZE			SZ_1M - -#define MX31_AVIC_BASE_ADDR		0x68000000 -#define MX31_AVIC_BASE_ADDR_VIRT	0xfc400000 -#define MX31_AVIC_SIZE			SZ_1M - -#define MX31_IPU_MEM_BASE_ADDR		0x70000000 -#define MX31_CSD0_BASE_ADDR		0x80000000 -#define MX31_CSD1_BASE_ADDR		0x90000000 - -#define MX31_CS0_BASE_ADDR		0xa0000000 -#define MX31_CS1_BASE_ADDR		0xa8000000 -#define MX31_CS2_BASE_ADDR		0xb0000000 -#define MX31_CS3_BASE_ADDR		0xb2000000 - -#define MX31_CS4_BASE_ADDR		0xb4000000 -#define MX31_CS4_BASE_ADDR_VIRT		0xf4000000 -#define MX31_CS4_SIZE			SZ_32M - -#define MX31_CS5_BASE_ADDR		0xb6000000 -#define MX31_CS5_BASE_ADDR_VIRT		0xf6000000 -#define MX31_CS5_SIZE			SZ_32M - -#define MX31_X_MEMC_BASE_ADDR		0xb8000000 -#define MX31_X_MEMC_BASE_ADDR_VIRT	0xfc320000 -#define MX31_X_MEMC_SIZE		SZ_64K -#define MX31_NFC_BASE_ADDR			(MX31_X_MEMC_BASE_ADDR + 0x0000) -#define MX31_ESDCTL_BASE_ADDR			(MX31_X_MEMC_BASE_ADDR + 0x1000) -#define MX31_WEIM_BASE_ADDR			(MX31_X_MEMC_BASE_ADDR + 0x2000) -#define MX31_M3IF_BASE_ADDR			(MX31_X_MEMC_BASE_ADDR + 0x3000) -#define MX31_EMI_CTL_BASE_ADDR			(MX31_X_MEMC_BASE_ADDR + 0x4000) -#define MX31_PCMCIA_CTL_BASE_ADDR		MX31_EMI_CTL_BASE_ADDR - -#define MX31_WEIM_CSCRx_BASE_ADDR(cs)	(MX31_WEIM_BASE_ADDR + (cs) * 0x10) -#define MX31_WEIM_CSCRxU(cs)			(MX31_WEIM_CSCRx_BASE_ADDR(cs)) -#define MX31_WEIM_CSCRxL(cs)			(MX31_WEIM_CSCRx_BASE_ADDR(cs) + 0x4) -#define MX31_WEIM_CSCRxA(cs)			(MX31_WEIM_CSCRx_BASE_ADDR(cs) + 0x8) - -#define MX31_PCMCIA_MEM_BASE_ADDR	0xbc000000 - -#define MX31_IO_ADDRESS(x) (						\ -	IMX_IO_ADDRESS(x, MX31_AIPS1) ?:				\ -	IMX_IO_ADDRESS(x, MX31_AIPS2) ?:				\ -	IMX_IO_ADDRESS(x, MX31_AVIC) ?:					\ -	IMX_IO_ADDRESS(x, MX31_X_MEMC) ?:				\ -	IMX_IO_ADDRESS(x, MX31_SPBA0)) - -#ifndef __ASSEMBLER__ -static inline void mx31_setup_weimcs(size_t cs, -		unsigned upper, unsigned lower, unsigned addional) -{ -	__raw_writel(upper, MX31_IO_ADDRESS(MX31_WEIM_CSCRxU(cs))); -	__raw_writel(lower, MX31_IO_ADDRESS(MX31_WEIM_CSCRxL(cs))); -	__raw_writel(addional, MX31_IO_ADDRESS(MX31_WEIM_CSCRxA(cs))); -} -#endif - -#define MX31_INT_I2C3		3 -#define MX31_INT_I2C2		4 -#define MX31_INT_MPEG4_ENCODER	5 -#define MX31_INT_RTIC		6 -#define MX31_INT_FIRI		7 -#define MX31_INT_MMC_SDHC2	8 -#define MX31_INT_MMC_SDHC1	9 -#define MX31_INT_I2C1		10 -#define MX31_INT_SSI2		11 -#define MX31_INT_SSI1		12 -#define MX31_INT_CSPI2		13 -#define MX31_INT_CSPI1		14 -#define MX31_INT_ATA		15 -#define MX31_INT_MBX		16 -#define MX31_INT_CSPI3		17 -#define MX31_INT_UART3		18 -#define MX31_INT_IIM		19 -#define MX31_INT_SIM2		20 -#define MX31_INT_SIM1		21 -#define MX31_INT_RNGA		22 -#define MX31_INT_EVTMON		23 -#define MX31_INT_KPP		24 -#define MX31_INT_RTC		25 -#define MX31_INT_PWM		26 -#define MX31_INT_EPIT2		27 -#define MX31_INT_EPIT1		28 -#define MX31_INT_GPT		29 -#define MX31_INT_POWER_FAIL	30 -#define MX31_INT_CCM_DVFS	31 -#define MX31_INT_UART2		32 -#define MX31_INT_NFC		33 -#define MX31_INT_SDMA		34 -#define MX31_INT_USB1		35 -#define MX31_INT_USB2		36 -#define MX31_INT_USB3		37 -#define MX31_INT_USB4		38 -#define MX31_INT_MSHC1		39 -#define MX31_INT_MSHC2		40 -#define MX31_INT_IPU_ERR	41 -#define MX31_INT_IPU_SYN	42 -#define MX31_INT_UART1		45 -#define MX31_INT_UART4		46 -#define MX31_INT_UART5		47 -#define MX31_INT_ECT		48 -#define MX31_INT_SCC_SCM	49 -#define MX31_INT_SCC_SMN	50 -#define MX31_INT_GPIO2		51 -#define MX31_INT_GPIO1		52 -#define MX31_INT_CCM		53 -#define MX31_INT_PCMCIA		54 -#define MX31_INT_WDOG		55 -#define MX31_INT_GPIO3		56 -#define MX31_INT_EXT_POWER	58 -#define MX31_INT_EXT_TEMPER	59 -#define MX31_INT_EXT_SENSOR60	60 -#define MX31_INT_EXT_SENSOR61	61 -#define MX31_INT_EXT_WDOG	62 -#define MX31_INT_EXT_TV		63 - -#define MX31_DMA_REQ_SSI2_RX1	22 -#define MX31_DMA_REQ_SSI2_TX1	23 -#define MX31_DMA_REQ_SSI2_RX0	24 -#define MX31_DMA_REQ_SSI2_TX0	25 -#define MX31_DMA_REQ_SSI1_RX1	26 -#define MX31_DMA_REQ_SSI1_TX1	27 -#define MX31_DMA_REQ_SSI1_RX0	28 -#define MX31_DMA_REQ_SSI1_TX0	29 - -#define MX31_PROD_SIGNATURE		0x1	/* For MX31 */ - -/* silicon revisions specific to i.MX31 */ -#define MX31_CHIP_REV_1_0		0x10 -#define MX31_CHIP_REV_1_1		0x11 -#define MX31_CHIP_REV_1_2		0x12 -#define MX31_CHIP_REV_1_3		0x13 -#define MX31_CHIP_REV_2_0		0x20 -#define MX31_CHIP_REV_2_1		0x21 -#define MX31_CHIP_REV_2_2		0x22 -#define MX31_CHIP_REV_2_3		0x23 -#define MX31_CHIP_REV_3_0		0x30 -#define MX31_CHIP_REV_3_1		0x31 -#define MX31_CHIP_REV_3_2		0x32 - -#define MX31_SYSTEM_REV_MIN		MX31_CHIP_REV_1_0 -#define MX31_SYSTEM_REV_NUM		3 - -#ifdef IMX_NEEDS_DEPRECATED_SYMBOLS -/* these should go away */ -#define ATA_BASE_ADDR MX31_ATA_BASE_ADDR -#define UART4_BASE_ADDR MX31_UART4_BASE_ADDR -#define UART5_BASE_ADDR MX31_UART5_BASE_ADDR -#define MMC_SDHC1_BASE_ADDR MX31_MMC_SDHC1_BASE_ADDR -#define MMC_SDHC2_BASE_ADDR MX31_MMC_SDHC2_BASE_ADDR -#define SIM1_BASE_ADDR MX31_SIM1_BASE_ADDR -#define IIM_BASE_ADDR MX31_IIM_BASE_ADDR -#define CSPI3_BASE_ADDR MX31_CSPI3_BASE_ADDR -#define FIRI_BASE_ADDR MX31_FIRI_BASE_ADDR -#define SCM_BASE_ADDR MX31_SCM_BASE_ADDR -#define SMN_BASE_ADDR MX31_SMN_BASE_ADDR -#define MPEG4_ENC_BASE_ADDR MX31_MPEG4_ENC_BASE_ADDR -#define MXC_INT_MPEG4_ENCODER MX31_INT_MPEG4_ENCODER -#define MXC_INT_FIRI MX31_INT_FIRI -#define MXC_INT_MBX MX31_INT_MBX -#define MXC_INT_CSPI3 MX31_INT_CSPI3 -#define MXC_INT_SIM2 MX31_INT_SIM2 -#define MXC_INT_SIM1 MX31_INT_SIM1 -#define MXC_INT_CCM_DVFS MX31_INT_CCM_DVFS -#define MXC_INT_USB1 MX31_INT_USB1 -#define MXC_INT_USB2 MX31_INT_USB2 -#define MXC_INT_USB3 MX31_INT_USB3 -#define MXC_INT_USB4 MX31_INT_USB4 -#define MXC_INT_MSHC2 MX31_INT_MSHC2 -#define MXC_INT_UART4 MX31_INT_UART4 -#define MXC_INT_UART5 MX31_INT_UART5 -#define MXC_INT_CCM MX31_INT_CCM -#define MXC_INT_PCMCIA MX31_INT_PCMCIA -#endif - -#endif /* ifndef __MACH_MX31_H__ */ diff --git a/arch/arm/plat-mxc/include/mach/mx35.h b/arch/arm/plat-mxc/include/mach/mx35.h deleted file mode 100644 index 6267cff6035..00000000000 --- a/arch/arm/plat-mxc/include/mach/mx35.h +++ /dev/null @@ -1,212 +0,0 @@ -#ifndef __MACH_MX35_H__ -#define __MACH_MX35_H__ - -/* - * IRAM - */ -#define MX35_IRAM_BASE_ADDR		0x10000000	/* internal ram */ -#define MX35_IRAM_SIZE			SZ_128K - -#define MX35_L2CC_BASE_ADDR		0x30000000 -#define MX35_L2CC_SIZE			SZ_1M - -#define MX35_AIPS1_BASE_ADDR		0x43f00000 -#define MX35_AIPS1_BASE_ADDR_VIRT	0xfc000000 -#define MX35_AIPS1_SIZE			SZ_1M -#define MX35_MAX_BASE_ADDR			(MX35_AIPS1_BASE_ADDR + 0x04000) -#define MX35_EVTMON_BASE_ADDR			(MX35_AIPS1_BASE_ADDR + 0x08000) -#define MX35_CLKCTL_BASE_ADDR			(MX35_AIPS1_BASE_ADDR + 0x0c000) -#define MX35_ETB_SLOT4_BASE_ADDR		(MX35_AIPS1_BASE_ADDR + 0x10000) -#define MX35_ETB_SLOT5_BASE_ADDR		(MX35_AIPS1_BASE_ADDR + 0x14000) -#define MX35_ECT_CTIO_BASE_ADDR			(MX35_AIPS1_BASE_ADDR + 0x18000) -#define MX35_I2C1_BASE_ADDR			(MX35_AIPS1_BASE_ADDR + 0x80000) -#define MX35_I2C3_BASE_ADDR			(MX35_AIPS1_BASE_ADDR + 0x84000) -#define MX35_UART1_BASE_ADDR			(MX35_AIPS1_BASE_ADDR + 0x90000) -#define MX35_UART2_BASE_ADDR			(MX35_AIPS1_BASE_ADDR + 0x94000) -#define MX35_I2C2_BASE_ADDR			(MX35_AIPS1_BASE_ADDR + 0x98000) -#define MX35_OWIRE_BASE_ADDR			(MX35_AIPS1_BASE_ADDR + 0x9c000) -#define MX35_SSI1_BASE_ADDR			(MX35_AIPS1_BASE_ADDR + 0xa0000) -#define MX35_CSPI1_BASE_ADDR			(MX35_AIPS1_BASE_ADDR + 0xa4000) -#define MX35_KPP_BASE_ADDR			(MX35_AIPS1_BASE_ADDR + 0xa8000) -#define MX35_IOMUXC_BASE_ADDR			(MX35_AIPS1_BASE_ADDR + 0xac000) -#define MX35_ECT_IP1_BASE_ADDR			(MX35_AIPS1_BASE_ADDR + 0xb8000) -#define MX35_ECT_IP2_BASE_ADDR			(MX35_AIPS1_BASE_ADDR + 0xbc000) - -#define MX35_SPBA0_BASE_ADDR		0x50000000 -#define MX35_SPBA0_BASE_ADDR_VIRT	0xfc100000 -#define MX35_SPBA0_SIZE			SZ_1M -#define MX35_UART3_BASE_ADDR			(MX35_SPBA0_BASE_ADDR + 0x0c000) -#define MX35_CSPI2_BASE_ADDR			(MX35_SPBA0_BASE_ADDR + 0x10000) -#define MX35_SSI2_BASE_ADDR			(MX35_SPBA0_BASE_ADDR + 0x14000) -#define MX35_ATA_DMA_BASE_ADDR			(MX35_SPBA0_BASE_ADDR + 0x20000) -#define MX35_MSHC1_BASE_ADDR			(MX35_SPBA0_BASE_ADDR + 0x24000) -#define MX35_FEC_BASE_ADDR		0x50038000 -#define MX35_SPBA_CTRL_BASE_ADDR		(MX35_SPBA0_BASE_ADDR + 0x3c000) - -#define MX35_AIPS2_BASE_ADDR		0x53f00000 -#define MX35_AIPS2_BASE_ADDR_VIRT	0xfc200000 -#define MX35_AIPS2_SIZE			SZ_1M -#define MX35_CCM_BASE_ADDR			(MX35_AIPS2_BASE_ADDR + 0x80000) -#define MX35_GPT1_BASE_ADDR			(MX35_AIPS2_BASE_ADDR + 0x90000) -#define MX35_EPIT1_BASE_ADDR			(MX35_AIPS2_BASE_ADDR + 0x94000) -#define MX35_EPIT2_BASE_ADDR			(MX35_AIPS2_BASE_ADDR + 0x98000) -#define MX35_GPIO3_BASE_ADDR			(MX35_AIPS2_BASE_ADDR + 0xa4000) -#define MX35_SCC_BASE_ADDR			(MX35_AIPS2_BASE_ADDR + 0xac000) -#define MX35_RNGA_BASE_ADDR			(MX35_AIPS2_BASE_ADDR + 0xb0000) -#define MX35_ESDHC1_BASE_ADDR			(MX35_AIPS2_BASE_ADDR + 0xb4000) -#define MX35_ESDHC2_BASE_ADDR			(MX35_AIPS2_BASE_ADDR + 0xb8000) -#define MX35_ESDHC3_BASE_ADDR			(MX35_AIPS2_BASE_ADDR + 0xbc000) -#define MX35_IPU_CTRL_BASE_ADDR			(MX35_AIPS2_BASE_ADDR + 0xc0000) -#define MX35_AUDMUX_BASE_ADDR			(MX35_AIPS2_BASE_ADDR + 0xc4000) -#define MX35_GPIO1_BASE_ADDR			(MX35_AIPS2_BASE_ADDR + 0xcc000) -#define MX35_GPIO2_BASE_ADDR			(MX35_AIPS2_BASE_ADDR + 0xd0000) -#define MX35_SDMA_BASE_ADDR			(MX35_AIPS2_BASE_ADDR + 0xd4000) -#define MX35_RTC_BASE_ADDR			(MX35_AIPS2_BASE_ADDR + 0xd8000) -#define MX35_WDOG_BASE_ADDR			(MX35_AIPS2_BASE_ADDR + 0xdc000) -#define MX35_PWM_BASE_ADDR			(MX35_AIPS2_BASE_ADDR + 0xe0000) -#define MX35_CAN1_BASE_ADDR			(MX35_AIPS2_BASE_ADDR + 0xe4000) -#define MX35_CAN2_BASE_ADDR			(MX35_AIPS2_BASE_ADDR + 0xe8000) -#define MX35_RTIC_BASE_ADDR			(MX35_AIPS2_BASE_ADDR + 0xec000) -#define MX35_IIM_BASE_ADDR			(MX35_AIPS2_BASE_ADDR + 0xf0000) - -#define MX35_OTG_BASE_ADDR		0x53ff4000 - -#define MX35_ROMP_BASE_ADDR		0x60000000 -#define MX35_ROMP_BASE_ADDR_VIRT	0xfc500000 -#define MX35_ROMP_SIZE			SZ_1M - -#define MX35_AVIC_BASE_ADDR		0x68000000 -#define MX35_AVIC_BASE_ADDR_VIRT	0xfc400000 -#define MX35_AVIC_SIZE			SZ_1M - -/* - * Memory regions and CS - */ -#define MX35_IPU_MEM_BASE_ADDR		0x70000000 -#define MX35_CSD0_BASE_ADDR		0x80000000 -#define MX35_CSD1_BASE_ADDR		0x90000000 - -#define MX35_CS0_BASE_ADDR		0xa0000000 -#define MX35_CS1_BASE_ADDR		0xa8000000 -#define MX35_CS2_BASE_ADDR		0xb0000000 -#define MX35_CS3_BASE_ADDR		0xb2000000 - -#define MX35_CS4_BASE_ADDR		0xb4000000 -#define MX35_CS4_BASE_ADDR_VIRT		0xf4000000 -#define MX35_CS4_SIZE			SZ_32M - -#define MX35_CS5_BASE_ADDR		0xb6000000 -#define MX35_CS5_BASE_ADDR_VIRT		0xf6000000 -#define MX35_CS5_SIZE			SZ_32M - -/* - * NAND, SDRAM, WEIM, M3IF, EMI controllers - */ -#define MX35_X_MEMC_BASE_ADDR		0xb8000000 -#define MX35_X_MEMC_BASE_ADDR_VIRT	0xfc320000 -#define MX35_X_MEMC_SIZE		SZ_64K -#define MX35_ESDCTL_BASE_ADDR			(MX35_X_MEMC_BASE_ADDR + 0x1000) -#define MX35_WEIM_BASE_ADDR			(MX35_X_MEMC_BASE_ADDR + 0x2000) -#define MX35_M3IF_BASE_ADDR			(MX35_X_MEMC_BASE_ADDR + 0x3000) -#define MX35_EMI_CTL_BASE_ADDR			(MX35_X_MEMC_BASE_ADDR + 0x4000) -#define MX35_PCMCIA_CTL_BASE_ADDR		MX35_EMI_CTL_BASE_ADDR - -#define MX35_NFC_BASE_ADDR		0xbb000000 -#define MX35_PCMCIA_MEM_BASE_ADDR	0xbc000000 - -#define MX35_IO_ADDRESS(x) (						\ -	IMX_IO_ADDRESS(x, MX35_AIPS1) ?:				\ -	IMX_IO_ADDRESS(x, MX35_AIPS2) ?:				\ -	IMX_IO_ADDRESS(x, MX35_AVIC) ?:					\ -	IMX_IO_ADDRESS(x, MX35_X_MEMC) ?:				\ -	IMX_IO_ADDRESS(x, MX35_SPBA0)) - -/* - * Interrupt numbers - */ -#define MX35_INT_OWIRE		2 -#define MX35_INT_I2C3		3 -#define MX35_INT_I2C2		4 -#define MX35_INT_RTIC		6 -#define MX35_INT_ESDHC1		7 -#define MX35_INT_ESDHC2		8 -#define MX35_INT_ESDHC3		9 -#define MX35_INT_I2C1		10 -#define MX35_INT_SSI1		11 -#define MX35_INT_SSI2		12 -#define MX35_INT_CSPI2		13 -#define MX35_INT_CSPI1		14 -#define MX35_INT_ATA		15 -#define MX35_INT_GPU2D		16 -#define MX35_INT_ASRC		17 -#define MX35_INT_UART3		18 -#define MX35_INT_IIM		19 -#define MX35_INT_RNGA		22 -#define MX35_INT_EVTMON		23 -#define MX35_INT_KPP		24 -#define MX35_INT_RTC		25 -#define MX35_INT_PWM		26 -#define MX35_INT_EPIT2		27 -#define MX35_INT_EPIT1		28 -#define MX35_INT_GPT		29 -#define MX35_INT_POWER_FAIL	30 -#define MX35_INT_UART2		32 -#define MX35_INT_NFC		33 -#define MX35_INT_SDMA		34 -#define MX35_INT_USBHS		35 -#define MX35_INT_USBOTG		37 -#define MX35_INT_MSHC1		39 -#define MX35_INT_ESAI		40 -#define MX35_INT_IPU_ERR	41 -#define MX35_INT_IPU_SYN	42 -#define MX35_INT_CAN1		43 -#define MX35_INT_CAN2		44 -#define MX35_INT_UART1		45 -#define MX35_INT_MLB		46 -#define MX35_INT_SPDIF		47 -#define MX35_INT_ECT		48 -#define MX35_INT_SCC_SCM	49 -#define MX35_INT_SCC_SMN	50 -#define MX35_INT_GPIO2		51 -#define MX35_INT_GPIO1		52 -#define MX35_INT_WDOG		55 -#define MX35_INT_GPIO3		56 -#define MX35_INT_FEC		57 -#define MX35_INT_EXT_POWER	58 -#define MX35_INT_EXT_TEMPER	59 -#define MX35_INT_EXT_SENSOR60	60 -#define MX35_INT_EXT_SENSOR61	61 -#define MX35_INT_EXT_WDOG	62 -#define MX35_INT_EXT_TV		63 - -#define MX35_DMA_REQ_SSI2_RX1   22 -#define MX35_DMA_REQ_SSI2_TX1   23 -#define MX35_DMA_REQ_SSI2_RX0   24 -#define MX35_DMA_REQ_SSI2_TX0   25 -#define MX35_DMA_REQ_SSI1_RX1   26 -#define MX35_DMA_REQ_SSI1_TX1   27 -#define MX35_DMA_REQ_SSI1_RX0   28 -#define MX35_DMA_REQ_SSI1_TX0   29 - -#define MX35_PROD_SIGNATURE		0x1	/* For MX31 */ - -#define MX35_SYSTEM_REV_MIN		MX3x_CHIP_REV_1_0 -#define MX35_SYSTEM_REV_NUM		3 - -#ifdef IMX_NEEDS_DEPRECATED_SYMBOLS -/* these should go away */ -#define MXC_FEC_BASE_ADDR MX35_FEC_BASE_ADDR -#define MXC_INT_OWIRE MX35_INT_OWIRE -#define MXC_INT_GPU2D MX35_INT_GPU2D -#define MXC_INT_ASRC MX35_INT_ASRC -#define MXC_INT_USBHS MX35_INT_USBHS -#define MXC_INT_USBOTG MX35_INT_USBOTG -#define MXC_INT_ESAI MX35_INT_ESAI -#define MXC_INT_CAN1 MX35_INT_CAN1 -#define MXC_INT_CAN2 MX35_INT_CAN2 -#define MXC_INT_MLB MX35_INT_MLB -#define MXC_INT_SPDIF MX35_INT_SPDIF -#define MXC_INT_FEC MX35_INT_FEC -#endif - -#endif /* ifndef __MACH_MX35_H__ */ diff --git a/arch/arm/plat-mxc/include/mach/mx3_camera.h b/arch/arm/plat-mxc/include/mach/mx3_camera.h deleted file mode 100644 index f226ee3777e..00000000000 --- a/arch/arm/plat-mxc/include/mach/mx3_camera.h +++ /dev/null @@ -1,48 +0,0 @@ -/* - * mx3_camera.h - i.MX3x camera driver header file - * - * Copyright (C) 2008, Guennadi Liakhovetski, DENX Software Engineering, <lg@denx.de> - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the - * GNU General Public License for more details. - */ - -#ifndef _MX3_CAMERA_H_ -#define _MX3_CAMERA_H_ - -#include <linux/device.h> - -#define MX3_CAMERA_CLK_SRC	1 -#define MX3_CAMERA_EXT_VSYNC	2 -#define MX3_CAMERA_DP		4 -#define MX3_CAMERA_PCP		8 -#define MX3_CAMERA_HSP		0x10 -#define MX3_CAMERA_VSP		0x20 -#define MX3_CAMERA_DATAWIDTH_4	0x40 -#define MX3_CAMERA_DATAWIDTH_8	0x80 -#define MX3_CAMERA_DATAWIDTH_10	0x100 -#define MX3_CAMERA_DATAWIDTH_15	0x200 - -#define MX3_CAMERA_DATAWIDTH_MASK (MX3_CAMERA_DATAWIDTH_4 | MX3_CAMERA_DATAWIDTH_8 | \ -				   MX3_CAMERA_DATAWIDTH_10 | MX3_CAMERA_DATAWIDTH_15) - -/** - * struct mx3_camera_pdata - i.MX3x camera platform data - * @flags:	MX3_CAMERA_* flags - * @mclk_10khz:	master clock frequency in 10kHz units - * @dma_dev:	IPU DMA device to match against in channel allocation - */ -struct mx3_camera_pdata { -	unsigned long flags; -	unsigned long mclk_10khz; -	struct device *dma_dev; -}; - -#endif diff --git a/arch/arm/plat-mxc/include/mach/mx3fb.h b/arch/arm/plat-mxc/include/mach/mx3fb.h deleted file mode 100644 index ac24c5c4bc8..00000000000 --- a/arch/arm/plat-mxc/include/mach/mx3fb.h +++ /dev/null @@ -1,38 +0,0 @@ -/* - * Copyright (C) 2008 - * Guennadi Liakhovetski, DENX Software Engineering, <lg@denx.de> - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2 as - * published by the Free Software Foundation. - */ - -#ifndef __ASM_ARCH_MX3FB_H__ -#define __ASM_ARCH_MX3FB_H__ - -#include <linux/device.h> -#include <linux/fb.h> - -/* Proprietary FB_SYNC_ flags */ -#define FB_SYNC_OE_ACT_HIGH	0x80000000 -#define FB_SYNC_CLK_INVERT	0x40000000 -#define FB_SYNC_DATA_INVERT	0x20000000 -#define FB_SYNC_CLK_IDLE_EN	0x10000000 -#define FB_SYNC_SHARP_MODE	0x08000000 -#define FB_SYNC_SWAP_RGB	0x04000000 -#define FB_SYNC_CLK_SEL_EN	0x02000000 - -/** - * struct mx3fb_platform_data - mx3fb platform data - * - * @dma_dev:	pointer to the dma-device, used for dma-slave connection - * @mode:	pointer to a platform-provided per mxc_register_fb() videomode - */ -struct mx3fb_platform_data { -	struct device			*dma_dev; -	const char			*name; -	const struct fb_videomode	*mode; -	int				num_modes; -}; - -#endif diff --git a/arch/arm/plat-mxc/include/mach/mx3x.h b/arch/arm/plat-mxc/include/mach/mx3x.h deleted file mode 100644 index d1bd26d7b8a..00000000000 --- a/arch/arm/plat-mxc/include/mach/mx3x.h +++ /dev/null @@ -1,402 +0,0 @@ -/* - * Copyright 2004-2007 Freescale Semiconductor, Inc. All Rights Reserved. - */ - -/* - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2 as - * published by the Free Software Foundation. - */ - -#ifndef __MACH_MX3x_H__ -#define __MACH_MX3x_H__ - -/* - * MX31 memory map: - * - * Virt		Phys		Size	What - * --------------------------------------------------------------------------- - * FC000000	43F00000	1M	AIPS 1 - * FC100000	50000000	1M	SPBA - * FC200000	53F00000	1M	AIPS 2 - * FC500000	60000000	128M	ROMPATCH - * FC400000	68000000	128M	AVIC - *         	70000000	256M	IPU (MAX M2) - *         	80000000	256M	CSD0 SDRAM/DDR - *         	90000000	256M	CSD1 SDRAM/DDR - *         	A0000000	128M	CS0 Flash - *         	A8000000	128M	CS1 Flash - *         	B0000000	32M	CS2 - *         	B2000000	32M	CS3 - * F4000000	B4000000	32M	CS4 - *         	B6000000	32M	CS5 - * FC320000	B8000000	64K	NAND, SDRAM, WEIM, M3IF, EMI controllers - *         	C0000000	64M	PCMCIA/CF - */ - -/* - * L2CC - */ -#define MX3x_L2CC_BASE_ADDR		0x30000000 -#define MX3x_L2CC_SIZE			SZ_1M - -/* - * AIPS 1 - */ -#define MX3x_AIPS1_BASE_ADDR		0x43f00000 -#define MX3x_AIPS1_BASE_ADDR_VIRT	0xfc000000 -#define MX3x_AIPS1_SIZE			SZ_1M -#define MX3x_MAX_BASE_ADDR			(MX3x_AIPS1_BASE_ADDR + 0x04000) -#define MX3x_EVTMON_BASE_ADDR			(MX3x_AIPS1_BASE_ADDR + 0x08000) -#define MX3x_CLKCTL_BASE_ADDR			(MX3x_AIPS1_BASE_ADDR + 0x0c000) -#define MX3x_ETB_SLOT4_BASE_ADDR		(MX3x_AIPS1_BASE_ADDR + 0x10000) -#define MX3x_ETB_SLOT5_BASE_ADDR		(MX3x_AIPS1_BASE_ADDR + 0x14000) -#define MX3x_ECT_CTIO_BASE_ADDR			(MX3x_AIPS1_BASE_ADDR + 0x18000) -#define MX3x_I2C_BASE_ADDR			(MX3x_AIPS1_BASE_ADDR + 0x80000) -#define MX3x_I2C3_BASE_ADDR			(MX3x_AIPS1_BASE_ADDR + 0x84000) -#define MX3x_UART1_BASE_ADDR			(MX3x_AIPS1_BASE_ADDR + 0x90000) -#define MX3x_UART2_BASE_ADDR			(MX3x_AIPS1_BASE_ADDR + 0x94000) -#define MX3x_I2C2_BASE_ADDR			(MX3x_AIPS1_BASE_ADDR + 0x98000) -#define MX3x_OWIRE_BASE_ADDR			(MX3x_AIPS1_BASE_ADDR + 0x9c000) -#define MX3x_SSI1_BASE_ADDR			(MX3x_AIPS1_BASE_ADDR + 0xa0000) -#define MX3x_CSPI1_BASE_ADDR			(MX3x_AIPS1_BASE_ADDR + 0xa4000) -#define MX3x_KPP_BASE_ADDR			(MX3x_AIPS1_BASE_ADDR + 0xa8000) -#define MX3x_IOMUXC_BASE_ADDR			(MX3x_AIPS1_BASE_ADDR + 0xac000) -#define MX3x_ECT_IP1_BASE_ADDR			(MX3x_AIPS1_BASE_ADDR + 0xb8000) -#define MX3x_ECT_IP2_BASE_ADDR			(MX3x_AIPS1_BASE_ADDR + 0xbc000) - -/* - * SPBA global module enabled #0 - */ -#define MX3x_SPBA0_BASE_ADDR		0x50000000 -#define MX3x_SPBA0_BASE_ADDR_VIRT	0xfc100000 -#define MX3x_SPBA0_SIZE			SZ_1M -#define MX3x_UART3_BASE_ADDR			(MX3x_SPBA0_BASE_ADDR + 0x0c000) -#define MX3x_CSPI2_BASE_ADDR			(MX3x_SPBA0_BASE_ADDR + 0x10000) -#define MX3x_SSI2_BASE_ADDR			(MX3x_SPBA0_BASE_ADDR + 0x14000) -#define MX3x_ATA_DMA_BASE_ADDR			(MX3x_SPBA0_BASE_ADDR + 0x20000) -#define MX3x_MSHC1_BASE_ADDR			(MX3x_SPBA0_BASE_ADDR + 0x24000) -#define MX3x_SPBA_CTRL_BASE_ADDR		(MX3x_SPBA0_BASE_ADDR + 0x3c000) - -/* - * AIPS 2 - */ -#define MX3x_AIPS2_BASE_ADDR		0x53f00000 -#define MX3x_AIPS2_BASE_ADDR_VIRT	0xfc200000 -#define MX3x_AIPS2_SIZE			SZ_1M -#define MX3x_CCM_BASE_ADDR			(MX3x_AIPS2_BASE_ADDR + 0x80000) -#define MX3x_GPT1_BASE_ADDR			(MX3x_AIPS2_BASE_ADDR + 0x90000) -#define MX3x_EPIT1_BASE_ADDR			(MX3x_AIPS2_BASE_ADDR + 0x94000) -#define MX3x_EPIT2_BASE_ADDR			(MX3x_AIPS2_BASE_ADDR + 0x98000) -#define MX3x_GPIO3_BASE_ADDR			(MX3x_AIPS2_BASE_ADDR + 0xa4000) -#define MX3x_SCC_BASE_ADDR			(MX3x_AIPS2_BASE_ADDR + 0xac000) -#define MX3x_RNGA_BASE_ADDR			(MX3x_AIPS2_BASE_ADDR + 0xb0000) -#define MX3x_IPU_CTRL_BASE_ADDR			(MX3x_AIPS2_BASE_ADDR + 0xc0000) -#define MX3x_AUDMUX_BASE_ADDR			(MX3x_AIPS2_BASE_ADDR + 0xc4000) -#define MX3x_GPIO1_BASE_ADDR			(MX3x_AIPS2_BASE_ADDR + 0xcc000) -#define MX3x_GPIO2_BASE_ADDR			(MX3x_AIPS2_BASE_ADDR + 0xd0000) -#define MX3x_SDMA_BASE_ADDR			(MX3x_AIPS2_BASE_ADDR + 0xd4000) -#define MX3x_RTC_BASE_ADDR			(MX3x_AIPS2_BASE_ADDR + 0xd8000) -#define MX3x_WDOG_BASE_ADDR			(MX3x_AIPS2_BASE_ADDR + 0xdc000) -#define MX3x_PWM_BASE_ADDR			(MX3x_AIPS2_BASE_ADDR + 0xe0000) -#define MX3x_RTIC_BASE_ADDR			(MX3x_AIPS2_BASE_ADDR + 0xec000) - -/* - * ROMP and AVIC - */ -#define MX3x_ROMP_BASE_ADDR		0x60000000 -#define MX3x_ROMP_BASE_ADDR_VIRT	0xfc500000 -#define MX3x_ROMP_SIZE			SZ_1M - -#define MX3x_AVIC_BASE_ADDR		0x68000000 -#define MX3x_AVIC_BASE_ADDR_VIRT	0xfc400000 -#define MX3x_AVIC_SIZE			SZ_1M - -/* - * Memory regions and CS - */ -#define MX3x_IPU_MEM_BASE_ADDR		0x70000000 -#define MX3x_CSD0_BASE_ADDR		0x80000000 -#define MX3x_CSD1_BASE_ADDR		0x90000000 - -#define MX3x_CS0_BASE_ADDR		0xa0000000 -#define MX3x_CS1_BASE_ADDR		0xa8000000 -#define MX3x_CS2_BASE_ADDR		0xb0000000 -#define MX3x_CS3_BASE_ADDR		0xb2000000 - -#define MX3x_CS4_BASE_ADDR		0xb4000000 -#define MX3x_CS4_BASE_ADDR_VIRT		0xf4000000 -#define MX3x_CS4_SIZE			SZ_32M - -#define MX3x_CS5_BASE_ADDR		0xb6000000 -#define MX3x_CS5_BASE_ADDR_VIRT		0xf6000000 -#define MX3x_CS5_SIZE			SZ_32M - -/* - * NAND, SDRAM, WEIM, M3IF, EMI controllers - */ -#define MX3x_X_MEMC_BASE_ADDR		0xb8000000 -#define MX3x_X_MEMC_BASE_ADDR_VIRT	0xfc320000 -#define MX3x_X_MEMC_SIZE		SZ_64K -#define MX3x_ESDCTL_BASE_ADDR			(MX3x_X_MEMC_BASE_ADDR + 0x1000) -#define MX3x_WEIM_BASE_ADDR			(MX3x_X_MEMC_BASE_ADDR + 0x2000) -#define MX3x_M3IF_BASE_ADDR			(MX3x_X_MEMC_BASE_ADDR + 0x3000) -#define MX3x_EMI_CTL_BASE_ADDR			(MX3x_X_MEMC_BASE_ADDR + 0x4000) -#define MX3x_PCMCIA_CTL_BASE_ADDR		MX3x_EMI_CTL_BASE_ADDR - -#define MX3x_PCMCIA_MEM_BASE_ADDR	0xbc000000 - -/*! - * This macro defines the physical to virtual address mapping for all the - * peripheral modules. It is used by passing in the physical address as x - * and returning the virtual address. If the physical address is not mapped, - * it returns 0xDEADBEEF - */ -#define IO_ADDRESS(x)   \ -	(void __force __iomem *) \ -	(((x >= AIPS1_BASE_ADDR) && (x < (AIPS1_BASE_ADDR + AIPS1_SIZE))) ? AIPS1_IO_ADDRESS(x):\ -	((x >= SPBA0_BASE_ADDR) && (x < (SPBA0_BASE_ADDR + SPBA0_SIZE))) ? SPBA0_IO_ADDRESS(x):\ -	((x >= AIPS2_BASE_ADDR) && (x < (AIPS2_BASE_ADDR + AIPS2_SIZE))) ? AIPS2_IO_ADDRESS(x):\ -	((x >= ROMP_BASE_ADDR) && (x < (ROMP_BASE_ADDR + ROMP_SIZE))) ? ROMP_IO_ADDRESS(x):\ -	((x >= AVIC_BASE_ADDR) && (x < (AVIC_BASE_ADDR + AVIC_SIZE))) ? AVIC_IO_ADDRESS(x):\ -	((x >= CS4_BASE_ADDR) && (x < (CS4_BASE_ADDR + CS4_SIZE))) ? CS4_IO_ADDRESS(x):\ -	((x >= X_MEMC_BASE_ADDR) && (x < (X_MEMC_BASE_ADDR + X_MEMC_SIZE))) ? X_MEMC_IO_ADDRESS(x):\ -	0xDEADBEEF) - -/* - * define the address mapping macros: in physical address order - */ -#define L2CC_IO_ADDRESS(x)  \ -	(((x) - L2CC_BASE_ADDR) + L2CC_BASE_ADDR_VIRT) - -#define AIPS1_IO_ADDRESS(x)  \ -	(((x) - AIPS1_BASE_ADDR) + AIPS1_BASE_ADDR_VIRT) - -#define SPBA0_IO_ADDRESS(x)  \ -	(((x) - SPBA0_BASE_ADDR) + SPBA0_BASE_ADDR_VIRT) - -#define AIPS2_IO_ADDRESS(x)  \ -	(((x) - AIPS2_BASE_ADDR) + AIPS2_BASE_ADDR_VIRT) - -#define ROMP_IO_ADDRESS(x)  \ -	(((x) - ROMP_BASE_ADDR) + ROMP_BASE_ADDR_VIRT) - -#define AVIC_IO_ADDRESS(x)  \ -	(((x) - AVIC_BASE_ADDR) + AVIC_BASE_ADDR_VIRT) - -#define CS4_IO_ADDRESS(x)  \ -	(((x) - CS4_BASE_ADDR) + CS4_BASE_ADDR_VIRT) - -#define CS5_IO_ADDRESS(x)  \ -	(((x) - CS5_BASE_ADDR) + CS5_BASE_ADDR_VIRT) - -#define X_MEMC_IO_ADDRESS(x)  \ -	(((x) - X_MEMC_BASE_ADDR) + X_MEMC_BASE_ADDR_VIRT) - -#define PCMCIA_IO_ADDRESS(x) \ -	(((x) - X_MEMC_BASE_ADDR) + X_MEMC_BASE_ADDR_VIRT) - -/* - * Interrupt numbers - */ -#define MX3x_INT_I2C3		3 -#define MX3x_INT_I2C2		4 -#define MX3x_INT_RTIC		6 -#define MX3x_INT_I2C		10 -#define MX3x_INT_CSPI2		13 -#define MX3x_INT_CSPI1		14 -#define MX3x_INT_ATA		15 -#define MX3x_INT_UART3		18 -#define MX3x_INT_IIM		19 -#define MX3x_INT_RNGA		22 -#define MX3x_INT_EVTMON		23 -#define MX3x_INT_KPP		24 -#define MX3x_INT_RTC		25 -#define MX3x_INT_PWM		26 -#define MX3x_INT_EPIT2		27 -#define MX3x_INT_EPIT1		28 -#define MX3x_INT_GPT		29 -#define MX3x_INT_POWER_FAIL	30 -#define MX3x_INT_UART2		32 -#define MX3x_INT_NANDFC		33 -#define MX3x_INT_SDMA		34 -#define MX3x_INT_MSHC1		39 -#define MX3x_INT_IPU_ERR	41 -#define MX3x_INT_IPU_SYN	42 -#define MX3x_INT_UART1		45 -#define MX3x_INT_ECT		48 -#define MX3x_INT_SCC_SCM	49 -#define MX3x_INT_SCC_SMN	50 -#define MX3x_INT_GPIO2		51 -#define MX3x_INT_GPIO1		52 -#define MX3x_INT_WDOG		55 -#define MX3x_INT_GPIO3		56 -#define MX3x_INT_EXT_POWER	58 -#define MX3x_INT_EXT_TEMPER	59 -#define MX3x_INT_EXT_SENSOR60	60 -#define MX3x_INT_EXT_SENSOR61	61 -#define MX3x_INT_EXT_WDOG	62 -#define MX3x_INT_EXT_TV		63 - -#define MX3x_PROD_SIGNATURE		0x1	/* For MX31 */ - -/* silicon revisions specific to i.MX31 and i.MX35 */ -#define MX3x_CHIP_REV_1_0		0x10 -#define MX3x_CHIP_REV_1_1		0x11 -#define MX3x_CHIP_REV_1_2		0x12 -#define MX3x_CHIP_REV_1_3		0x13 -#define MX3x_CHIP_REV_2_0		0x20 -#define MX3x_CHIP_REV_2_1		0x21 -#define MX3x_CHIP_REV_2_2		0x22 -#define MX3x_CHIP_REV_2_3		0x23 -#define MX3x_CHIP_REV_3_0		0x30 -#define MX3x_CHIP_REV_3_1		0x31 -#define MX3x_CHIP_REV_3_2		0x32 - -#define MX3x_SYSTEM_REV_MIN		MX3x_CHIP_REV_1_0 -#define MX3x_SYSTEM_REV_NUM		3 - -/* Mandatory defines used globally */ - -#if !defined(__ASSEMBLY__) && !defined(__MXC_BOOT_UNCOMPRESS) - -extern unsigned int mx31_cpu_rev; -extern void mx31_read_cpu_rev(void); - -static inline int mx31_revision(void) -{ -	return mx31_cpu_rev; -} - -extern unsigned int mx35_cpu_rev; -extern void mx35_read_cpu_rev(void); - -static inline int mx35_revision(void) -{ -	return mx35_cpu_rev; -} -#endif - -#ifdef IMX_NEEDS_DEPRECATED_SYMBOLS -/* these should go away */ -#define L2CC_BASE_ADDR MX3x_L2CC_BASE_ADDR -#define L2CC_SIZE MX3x_L2CC_SIZE -#define AIPS1_BASE_ADDR MX3x_AIPS1_BASE_ADDR -#define AIPS1_BASE_ADDR_VIRT MX3x_AIPS1_BASE_ADDR_VIRT -#define AIPS1_SIZE MX3x_AIPS1_SIZE -#define MAX_BASE_ADDR MX3x_MAX_BASE_ADDR -#define EVTMON_BASE_ADDR MX3x_EVTMON_BASE_ADDR -#define CLKCTL_BASE_ADDR MX3x_CLKCTL_BASE_ADDR -#define ETB_SLOT4_BASE_ADDR MX3x_ETB_SLOT4_BASE_ADDR -#define ETB_SLOT5_BASE_ADDR MX3x_ETB_SLOT5_BASE_ADDR -#define ECT_CTIO_BASE_ADDR MX3x_ECT_CTIO_BASE_ADDR -#define I2C_BASE_ADDR MX3x_I2C_BASE_ADDR -#define I2C3_BASE_ADDR MX3x_I2C3_BASE_ADDR -#define UART1_BASE_ADDR MX3x_UART1_BASE_ADDR -#define UART2_BASE_ADDR MX3x_UART2_BASE_ADDR -#define I2C2_BASE_ADDR MX3x_I2C2_BASE_ADDR -#define OWIRE_BASE_ADDR MX3x_OWIRE_BASE_ADDR -#define SSI1_BASE_ADDR MX3x_SSI1_BASE_ADDR -#define CSPI1_BASE_ADDR MX3x_CSPI1_BASE_ADDR -#define KPP_BASE_ADDR MX3x_KPP_BASE_ADDR -#define IOMUXC_BASE_ADDR MX3x_IOMUXC_BASE_ADDR -#define ECT_IP1_BASE_ADDR MX3x_ECT_IP1_BASE_ADDR -#define ECT_IP2_BASE_ADDR MX3x_ECT_IP2_BASE_ADDR -#define SPBA0_BASE_ADDR MX3x_SPBA0_BASE_ADDR -#define SPBA0_BASE_ADDR_VIRT MX3x_SPBA0_BASE_ADDR_VIRT -#define SPBA0_SIZE MX3x_SPBA0_SIZE -#define UART3_BASE_ADDR MX3x_UART3_BASE_ADDR -#define CSPI2_BASE_ADDR MX3x_CSPI2_BASE_ADDR -#define SSI2_BASE_ADDR MX3x_SSI2_BASE_ADDR -#define ATA_DMA_BASE_ADDR MX3x_ATA_DMA_BASE_ADDR -#define MSHC1_BASE_ADDR MX3x_MSHC1_BASE_ADDR -#define SPBA_CTRL_BASE_ADDR MX3x_SPBA_CTRL_BASE_ADDR -#define AIPS2_BASE_ADDR MX3x_AIPS2_BASE_ADDR -#define AIPS2_BASE_ADDR_VIRT MX3x_AIPS2_BASE_ADDR_VIRT -#define AIPS2_SIZE MX3x_AIPS2_SIZE -#define CCM_BASE_ADDR MX3x_CCM_BASE_ADDR -#define GPT1_BASE_ADDR MX3x_GPT1_BASE_ADDR -#define EPIT1_BASE_ADDR MX3x_EPIT1_BASE_ADDR -#define EPIT2_BASE_ADDR MX3x_EPIT2_BASE_ADDR -#define GPIO3_BASE_ADDR MX3x_GPIO3_BASE_ADDR -#define SCC_BASE_ADDR MX3x_SCC_BASE_ADDR -#define RNGA_BASE_ADDR MX3x_RNGA_BASE_ADDR -#define IPU_CTRL_BASE_ADDR MX3x_IPU_CTRL_BASE_ADDR -#define AUDMUX_BASE_ADDR MX3x_AUDMUX_BASE_ADDR -#define GPIO1_BASE_ADDR MX3x_GPIO1_BASE_ADDR -#define GPIO2_BASE_ADDR MX3x_GPIO2_BASE_ADDR -#define SDMA_BASE_ADDR MX3x_SDMA_BASE_ADDR -#define RTC_BASE_ADDR MX3x_RTC_BASE_ADDR -#define WDOG_BASE_ADDR MX3x_WDOG_BASE_ADDR -#define PWM_BASE_ADDR MX3x_PWM_BASE_ADDR -#define RTIC_BASE_ADDR MX3x_RTIC_BASE_ADDR -#define ROMP_BASE_ADDR MX3x_ROMP_BASE_ADDR -#define ROMP_BASE_ADDR_VIRT MX3x_ROMP_BASE_ADDR_VIRT -#define ROMP_SIZE MX3x_ROMP_SIZE -#define AVIC_BASE_ADDR MX3x_AVIC_BASE_ADDR -#define AVIC_BASE_ADDR_VIRT MX3x_AVIC_BASE_ADDR_VIRT -#define AVIC_SIZE MX3x_AVIC_SIZE -#define IPU_MEM_BASE_ADDR MX3x_IPU_MEM_BASE_ADDR -#define CSD0_BASE_ADDR MX3x_CSD0_BASE_ADDR -#define CSD1_BASE_ADDR MX3x_CSD1_BASE_ADDR -#define CS0_BASE_ADDR MX3x_CS0_BASE_ADDR -#define CS1_BASE_ADDR MX3x_CS1_BASE_ADDR -#define CS2_BASE_ADDR MX3x_CS2_BASE_ADDR -#define CS3_BASE_ADDR MX3x_CS3_BASE_ADDR -#define CS4_BASE_ADDR MX3x_CS4_BASE_ADDR -#define CS4_BASE_ADDR_VIRT MX3x_CS4_BASE_ADDR_VIRT -#define CS4_SIZE MX3x_CS4_SIZE -#define CS5_BASE_ADDR MX3x_CS5_BASE_ADDR -#define CS5_BASE_ADDR_VIRT MX3x_CS5_BASE_ADDR_VIRT -#define CS5_SIZE MX3x_CS5_SIZE -#define X_MEMC_BASE_ADDR MX3x_X_MEMC_BASE_ADDR -#define X_MEMC_BASE_ADDR_VIRT MX3x_X_MEMC_BASE_ADDR_VIRT -#define X_MEMC_SIZE MX3x_X_MEMC_SIZE -#define ESDCTL_BASE_ADDR MX3x_ESDCTL_BASE_ADDR -#define WEIM_BASE_ADDR MX3x_WEIM_BASE_ADDR -#define M3IF_BASE_ADDR MX3x_M3IF_BASE_ADDR -#define EMI_CTL_BASE_ADDR MX3x_EMI_CTL_BASE_ADDR -#define PCMCIA_CTL_BASE_ADDR MX3x_PCMCIA_CTL_BASE_ADDR -#define PCMCIA_MEM_BASE_ADDR MX3x_PCMCIA_MEM_BASE_ADDR -#define MXC_INT_I2C3 MX3x_INT_I2C3 -#define MXC_INT_I2C2 MX3x_INT_I2C2 -#define MXC_INT_RTIC MX3x_INT_RTIC -#define MXC_INT_I2C MX3x_INT_I2C -#define MXC_INT_CSPI2 MX3x_INT_CSPI2 -#define MXC_INT_CSPI1 MX3x_INT_CSPI1 -#define MXC_INT_ATA MX3x_INT_ATA -#define MXC_INT_UART3 MX3x_INT_UART3 -#define MXC_INT_IIM MX3x_INT_IIM -#define MXC_INT_RNGA MX3x_INT_RNGA -#define MXC_INT_EVTMON MX3x_INT_EVTMON -#define MXC_INT_KPP MX3x_INT_KPP -#define MXC_INT_RTC MX3x_INT_RTC -#define MXC_INT_PWM MX3x_INT_PWM -#define MXC_INT_EPIT2 MX3x_INT_EPIT2 -#define MXC_INT_EPIT1 MX3x_INT_EPIT1 -#define MXC_INT_GPT MX3x_INT_GPT -#define MXC_INT_POWER_FAIL MX3x_INT_POWER_FAIL -#define MXC_INT_UART2 MX3x_INT_UART2 -#define MXC_INT_NANDFC MX3x_INT_NANDFC -#define MXC_INT_SDMA MX3x_INT_SDMA -#define MXC_INT_MSHC1 MX3x_INT_MSHC1 -#define MXC_INT_IPU_ERR MX3x_INT_IPU_ERR -#define MXC_INT_IPU_SYN MX3x_INT_IPU_SYN -#define MXC_INT_UART1 MX3x_INT_UART1 -#define MXC_INT_ECT MX3x_INT_ECT -#define MXC_INT_SCC_SCM MX3x_INT_SCC_SCM -#define MXC_INT_SCC_SMN MX3x_INT_SCC_SMN -#define MXC_INT_GPIO2 MX3x_INT_GPIO2 -#define MXC_INT_GPIO1 MX3x_INT_GPIO1 -#define MXC_INT_WDOG MX3x_INT_WDOG -#define MXC_INT_GPIO3 MX3x_INT_GPIO3 -#define MXC_INT_EXT_POWER MX3x_INT_EXT_POWER -#define MXC_INT_EXT_TEMPER MX3x_INT_EXT_TEMPER -#define MXC_INT_EXT_SENSOR60 MX3x_INT_EXT_SENSOR60 -#define MXC_INT_EXT_SENSOR61 MX3x_INT_EXT_SENSOR61 -#define MXC_INT_EXT_WDOG MX3x_INT_EXT_WDOG -#define MXC_INT_EXT_TV MX3x_INT_EXT_TV -#define PROD_SIGNATURE MX3x_PROD_SIGNATURE -#endif - -#endif /* ifndef __MACH_MX3x_H__ */ diff --git a/arch/arm/plat-mxc/include/mach/mx51.h b/arch/arm/plat-mxc/include/mach/mx51.h deleted file mode 100644 index 2af7a1056fc..00000000000 --- a/arch/arm/plat-mxc/include/mach/mx51.h +++ /dev/null @@ -1,406 +0,0 @@ -#ifndef __MACH_MX51_H__ -#define __MACH_MX51_H__ - -/* - * MX51 memory map: - * - * - * Virt		Phys		Size	What - * --------------------------------------------------------------------------- - * fa3e0000	1ffe0000	128K	IRAM (SCCv2 RAM) - *         	30000000	256M	GPU - *         	40000000	512M	IPU - * fa200000	60000000	1M	DEBUG - * fb100000	70000000	1M	SPBA 0 - * fb000000	73f00000	1M	AIPS 1 - * fb200000	83f00000	1M	AIPS 2 - *		8fffc000	16K	TZIC (interrupt controller) - *         	90000000	256M	CSD0 SDRAM/DDR - *         	a0000000	256M	CSD1 SDRAM/DDR - *         	b0000000	128M	CS0 Flash - *         	b8000000	128M	CS1 Flash - *         	c0000000	128M	CS2 Flash - *         	c8000000	64M	CS3 Flash - *         	cc000000	32M	CS4 SRAM - *         	ce000000	32M	CS5 SRAM - *		cfff0000	64K	NFC (NAND Flash AXI) - */ - -/* - * IROM - */ -#define MX51_IROM_BASE_ADDR		0x0 -#define MX51_IROM_SIZE			SZ_64K - -/* - * IRAM - */ -#define MX51_IRAM_BASE_ADDR		0x1ffe0000	/* internal ram */ -#define MX51_IRAM_BASE_ADDR_VIRT	0xfa3e0000 -#define MX51_IRAM_PARTITIONS		16 -#define MX51_IRAM_SIZE		(MX51_IRAM_PARTITIONS * SZ_8K)	/* 128KB */ - -#define MX51_GPU_BASE_ADDR		0x20000000 -#define MX51_GPU_CTRL_BASE_ADDR		0x30000000 -#define MX51_IPU_CTRL_BASE_ADDR		0x40000000 - -#define MX51_DEBUG_BASE_ADDR		0x60000000 -#define MX51_DEBUG_BASE_ADDR_VIRT	0xfa200000 -#define MX51_DEBUG_SIZE			SZ_1M - -#define MX51_ETB_BASE_ADDR		(MX51_DEBUG_BASE_ADDR + 0x01000) -#define MX51_ETM_BASE_ADDR		(MX51_DEBUG_BASE_ADDR + 0x02000) -#define MX51_TPIU_BASE_ADDR		(MX51_DEBUG_BASE_ADDR + 0x03000) -#define MX51_CTI0_BASE_ADDR		(MX51_DEBUG_BASE_ADDR + 0x04000) -#define MX51_CTI1_BASE_ADDR		(MX51_DEBUG_BASE_ADDR + 0x05000) -#define MX51_CTI2_BASE_ADDR		(MX51_DEBUG_BASE_ADDR + 0x06000) -#define MX51_CTI3_BASE_ADDR		(MX51_DEBUG_BASE_ADDR + 0x07000) -#define MX51_CORTEX_DBG_BASE_ADDR	(MX51_DEBUG_BASE_ADDR + 0x08000) - -/* - * SPBA global module enabled #0 - */ -#define MX51_SPBA0_BASE_ADDR		0x70000000 -#define MX51_SPBA0_BASE_ADDR_VIRT	0xfb100000 -#define MX51_SPBA0_SIZE			SZ_1M - -#define MX51_ESDHC1_BASE_ADDR		(MX51_SPBA0_BASE_ADDR + 0x04000) -#define MX51_ESDHC2_BASE_ADDR		(MX51_SPBA0_BASE_ADDR + 0x08000) -#define MX51_UART3_BASE_ADDR		(MX51_SPBA0_BASE_ADDR + 0x0c000) -#define MX51_ECSPI1_BASE_ADDR		(MX51_SPBA0_BASE_ADDR + 0x10000) -#define MX51_SSI2_BASE_ADDR		(MX51_SPBA0_BASE_ADDR + 0x14000) -#define MX51_ESDHC3_BASE_ADDR		(MX51_SPBA0_BASE_ADDR + 0x20000) -#define MX51_ESDHC4_BASE_ADDR		(MX51_SPBA0_BASE_ADDR + 0x24000) -#define MX51_SPDIF_BASE_ADDR		(MX51_SPBA0_BASE_ADDR + 0x28000) -#define MX51_ATA_DMA_BASE_ADDR		(MX51_SPBA0_BASE_ADDR + 0x30000) -#define MX51_SLIM_DMA_BASE_ADDR		(MX51_SPBA0_BASE_ADDR + 0x34000) -#define MX51_HSI2C_DMA_BASE_ADDR	(MX51_SPBA0_BASE_ADDR + 0x38000) -#define MX51_SPBA_CTRL_BASE_ADDR	(MX51_SPBA0_BASE_ADDR + 0x3c000) - -/* - * AIPS 1 - */ -#define MX51_AIPS1_BASE_ADDR		0x73f00000 -#define MX51_AIPS1_BASE_ADDR_VIRT	0xfb000000 -#define MX51_AIPS1_SIZE			SZ_1M - -#define MX51_OTG_BASE_ADDR		(MX51_AIPS1_BASE_ADDR + 0x80000) -#define MX51_GPIO1_BASE_ADDR		(MX51_AIPS1_BASE_ADDR + 0x84000) -#define MX51_GPIO2_BASE_ADDR		(MX51_AIPS1_BASE_ADDR + 0x88000) -#define MX51_GPIO3_BASE_ADDR		(MX51_AIPS1_BASE_ADDR + 0x8c000) -#define MX51_GPIO4_BASE_ADDR		(MX51_AIPS1_BASE_ADDR + 0x90000) -#define MX51_KPP_BASE_ADDR		(MX51_AIPS1_BASE_ADDR + 0x94000) -#define MX51_WDOG_BASE_ADDR		(MX51_AIPS1_BASE_ADDR + 0x98000) -#define MX51_WDOG2_BASE_ADDR		(MX51_AIPS1_BASE_ADDR + 0x9c000) -#define MX51_GPT1_BASE_ADDR		(MX51_AIPS1_BASE_ADDR + 0xa0000) -#define MX51_SRTC_BASE_ADDR		(MX51_AIPS1_BASE_ADDR + 0xa4000) -#define MX51_IOMUXC_BASE_ADDR		(MX51_AIPS1_BASE_ADDR + 0xa8000) -#define MX51_EPIT1_BASE_ADDR		(MX51_AIPS1_BASE_ADDR + 0xac000) -#define MX51_EPIT2_BASE_ADDR		(MX51_AIPS1_BASE_ADDR + 0xb0000) -#define MX51_PWM1_BASE_ADDR		(MX51_AIPS1_BASE_ADDR + 0xb4000) -#define MX51_PWM2_BASE_ADDR		(MX51_AIPS1_BASE_ADDR + 0xb8000) -#define MX51_UART1_BASE_ADDR		(MX51_AIPS1_BASE_ADDR + 0xbc000) -#define MX51_UART2_BASE_ADDR		(MX51_AIPS1_BASE_ADDR + 0xc0000) -#define MX51_SRC_BASE_ADDR		(MX51_AIPS1_BASE_ADDR + 0xd0000) -#define MX51_CCM_BASE_ADDR		(MX51_AIPS1_BASE_ADDR + 0xd4000) -#define MX51_GPC_BASE_ADDR		(MX51_AIPS1_BASE_ADDR + 0xd8000) - -/* - * AIPS 2 - */ -#define MX51_AIPS2_BASE_ADDR		0x83f00000 -#define MX51_AIPS2_BASE_ADDR_VIRT	0xfb200000 -#define MX51_AIPS2_SIZE			SZ_1M - -#define MX51_PLL1_BASE_ADDR		(MX51_AIPS2_BASE_ADDR + 0x80000) -#define MX51_PLL2_BASE_ADDR		(MX51_AIPS2_BASE_ADDR + 0x84000) -#define MX51_PLL3_BASE_ADDR		(MX51_AIPS2_BASE_ADDR + 0x88000) -#define MX51_AHBMAX_BASE_ADDR		(MX51_AIPS2_BASE_ADDR + 0x94000) -#define MX51_IIM_BASE_ADDR		(MX51_AIPS2_BASE_ADDR + 0x98000) -#define MX51_CSU_BASE_ADDR		(MX51_AIPS2_BASE_ADDR + 0x9c000) -#define MX51_ARM_BASE_ADDR		(MX51_AIPS2_BASE_ADDR + 0xa0000) -#define MX51_OWIRE_BASE_ADDR		(MX51_AIPS2_BASE_ADDR + 0xa4000) -#define MX51_FIRI_BASE_ADDR		(MX51_AIPS2_BASE_ADDR + 0xa8000) -#define MX51_ECSPI2_BASE_ADDR		(MX51_AIPS2_BASE_ADDR + 0xac000) -#define MX51_SDMA_BASE_ADDR		(MX51_AIPS2_BASE_ADDR + 0xb0000) -#define MX51_SCC_BASE_ADDR		(MX51_AIPS2_BASE_ADDR + 0xb4000) -#define MX51_ROMCP_BASE_ADDR		(MX51_AIPS2_BASE_ADDR + 0xb8000) -#define MX51_RTIC_BASE_ADDR		(MX51_AIPS2_BASE_ADDR + 0xbc000) -#define MX51_CSPI_BASE_ADDR		(MX51_AIPS2_BASE_ADDR + 0xc0000) -#define MX51_I2C2_BASE_ADDR		(MX51_AIPS2_BASE_ADDR + 0xc4000) -#define MX51_I2C1_BASE_ADDR		(MX51_AIPS2_BASE_ADDR + 0xc8000) -#define MX51_SSI1_BASE_ADDR		(MX51_AIPS2_BASE_ADDR + 0xcc000) -#define MX51_AUDMUX_BASE_ADDR		(MX51_AIPS2_BASE_ADDR + 0xd0000) -#define MX51_M4IF_BASE_ADDR		(MX51_AIPS2_BASE_ADDR + 0xd8000) -#define MX51_ESDCTL_BASE_ADDR		(MX51_AIPS2_BASE_ADDR + 0xd9000) -#define MX51_WEIM_BASE_ADDR		(MX51_AIPS2_BASE_ADDR + 0xda000) -#define MX51_NFC_BASE_ADDR		(MX51_AIPS2_BASE_ADDR + 0xdb000) -#define MX51_EMI_BASE_ADDR		(MX51_AIPS2_BASE_ADDR + 0xdbf00) -#define MX51_MIPI_HSC_BASE_ADDR		(MX51_AIPS2_BASE_ADDR + 0xdc000) -#define MX51_ATA_BASE_ADDR		(MX51_AIPS2_BASE_ADDR + 0xe0000) -#define MX51_SIM_BASE_ADDR		(MX51_AIPS2_BASE_ADDR + 0xe4000) -#define MX51_SSI3BASE_ADDR		(MX51_AIPS2_BASE_ADDR + 0xe8000) -#define MX51_FEC_BASE_ADDR		(MX51_AIPS2_BASE_ADDR + 0xec000) -#define MX51_TVE_BASE_ADDR		(MX51_AIPS2_BASE_ADDR + 0xf0000) -#define MX51_VPU_BASE_ADDR		(MX51_AIPS2_BASE_ADDR + 0xf4000) -#define MX51_SAHARA_BASE_ADDR		(MX51_AIPS2_BASE_ADDR + 0xf8000) - -#define MX51_CSD0_BASE_ADDR		0x90000000 -#define MX51_CSD1_BASE_ADDR		0xa0000000 -#define MX51_CS0_BASE_ADDR		0xb0000000 -#define MX51_CS1_BASE_ADDR		0xb8000000 -#define MX51_CS2_BASE_ADDR		0xc0000000 -#define MX51_CS3_BASE_ADDR		0xc8000000 -#define MX51_CS4_BASE_ADDR		0xcc000000 -#define MX51_CS5_BASE_ADDR		0xce000000 - -/* - * NFC - */ -#define MX51_NFC_AXI_BASE_ADDR		0xcfff0000	/* NAND flash AXI */ -#define MX51_NFC_AXI_SIZE		SZ_64K - -#define MX51_GPU2D_BASE_ADDR		0xd0000000 -#define MX51_TZIC_BASE_ADDR		0xe0000000 - -#define MX51_IO_ADDRESS(x) (						\ -	IMX_IO_ADDRESS(x, MX51_IRAM) ?:					\ -	IMX_IO_ADDRESS(x, MX51_DEBUG) ?:				\ -	IMX_IO_ADDRESS(x, MX51_SPBA0) ?:				\ -	IMX_IO_ADDRESS(x, MX51_AIPS1) ?:				\ -	IMX_IO_ADDRESS(x, MX51_AIPS2)) - -/* This is currently used in <mach/debug-macro.S>, but should go away */ -#define MX51_AIPS1_IO_ADDRESS(x)  \ -	(((x) - MX51_AIPS1_BASE_ADDR) + MX51_AIPS1_BASE_ADDR_VIRT) - -/* - * defines for SPBA modules - */ -#define MX51_SPBA_SDHC1	0x04 -#define MX51_SPBA_SDHC2	0x08 -#define MX51_SPBA_UART3	0x0c -#define MX51_SPBA_CSPI1	0x10 -#define MX51_SPBA_SSI2	0x14 -#define MX51_SPBA_SDHC3	0x20 -#define MX51_SPBA_SDHC4	0x24 -#define MX51_SPBA_SPDIF	0x28 -#define MX51_SPBA_ATA	0x30 -#define MX51_SPBA_SLIM	0x34 -#define MX51_SPBA_HSI2C	0x38 -#define MX51_SPBA_CTRL	0x3c - -/* - * Defines for modules using static and dynamic DMA channels - */ -#define MX51_MXC_DMA_CHANNEL_IRAM	30 -#define MX51_MXC_DMA_CHANNEL_SPDIF_TX	MXC_DMA_DYNAMIC_CHANNEL -#define MX51_MXC_DMA_CHANNEL_UART1_RX	MXC_DMA_DYNAMIC_CHANNEL -#define MX51_MXC_DMA_CHANNEL_UART1_TX	MXC_DMA_DYNAMIC_CHANNEL -#define MX51_MXC_DMA_CHANNEL_UART2_RX	MXC_DMA_DYNAMIC_CHANNEL -#define MX51_MXC_DMA_CHANNEL_UART2_TX	MXC_DMA_DYNAMIC_CHANNEL -#define MX51_MXC_DMA_CHANNEL_UART3_RX	MXC_DMA_DYNAMIC_CHANNEL -#define MX51_MXC_DMA_CHANNEL_UART3_TX	MXC_DMA_DYNAMIC_CHANNEL -#define MX51_MXC_DMA_CHANNEL_MMC1	MXC_DMA_DYNAMIC_CHANNEL -#define MX51_MXC_DMA_CHANNEL_MMC2	MXC_DMA_DYNAMIC_CHANNEL -#define MX51_MXC_DMA_CHANNEL_SSI1_RX	MXC_DMA_DYNAMIC_CHANNEL -#define MX51_MXC_DMA_CHANNEL_SSI1_TX	MXC_DMA_DYNAMIC_CHANNEL -#define MX51_MXC_DMA_CHANNEL_SSI2_RX	MXC_DMA_DYNAMIC_CHANNEL -#ifdef CONFIG_SDMA_IRAM -#define MX51_MXC_DMA_CHANNEL_SSI2_TX	(MX51_MXC_DMA_CHANNEL_IRAM + 1) -#else				/*CONFIG_SDMA_IRAM */ -#define MX51_MXC_DMA_CHANNEL_SSI2_TX	MXC_DMA_DYNAMIC_CHANNEL -#endif				/*CONFIG_SDMA_IRAM */ -#define MX51_MXC_DMA_CHANNEL_CSPI1_RX	MXC_DMA_DYNAMIC_CHANNEL -#define MX51_MXC_DMA_CHANNEL_CSPI1_TX	MXC_DMA_DYNAMIC_CHANNEL -#define MX51_MXC_DMA_CHANNEL_CSPI2_RX	MXC_DMA_DYNAMIC_CHANNEL -#define MX51_MXC_DMA_CHANNEL_CSPI2_TX	MXC_DMA_DYNAMIC_CHANNEL -#define MX51_MXC_DMA_CHANNEL_CSPI3_RX	MXC_DMA_DYNAMIC_CHANNEL -#define MX51_MXC_DMA_CHANNEL_CSPI3_TX	MXC_DMA_DYNAMIC_CHANNEL -#define MX51_MXC_DMA_CHANNEL_ATA_RX	MXC_DMA_DYNAMIC_CHANNEL -#define MX51_MXC_DMA_CHANNEL_ATA_TX	MXC_DMA_DYNAMIC_CHANNEL -#define MX51_MXC_DMA_CHANNEL_MEMORY	MXC_DMA_DYNAMIC_CHANNEL - -#define MX51_IS_MEM_DEVICE_NONSHARED(x)		0 - -/* - * DMA request assignments - */ -#define MX51_DMA_REQ_VPU		0 -#define MX51_DMA_REQ_GPC		1 -#define MX51_DMA_REQ_ATA_RX		2 -#define MX51_DMA_REQ_ATA_TX		3 -#define MX51_DMA_REQ_ATA_TX_END		4 -#define MX51_DMA_REQ_SLIM_B		5 -#define MX51_DMA_REQ_CSPI1_RX		6 -#define MX51_DMA_REQ_CSPI1_TX		7 -#define MX51_DMA_REQ_CSPI2_RX		8 -#define MX51_DMA_REQ_CSPI2_TX		9 -#define MX51_DMA_REQ_HS_I2C_TX		10 -#define MX51_DMA_REQ_HS_I2C_RX		11 -#define MX51_DMA_REQ_FIRI_RX		12 -#define MX51_DMA_REQ_FIRI_TX		13 -#define MX51_DMA_REQ_EXTREQ1		14 -#define MX51_DMA_REQ_GPU		15 -#define MX51_DMA_REQ_UART2_RX		16 -#define MX51_DMA_REQ_UART2_TX		17 -#define MX51_DMA_REQ_UART1_RX		18 -#define MX51_DMA_REQ_UART1_TX		19 -#define MX51_DMA_REQ_SDHC1		20 -#define MX51_DMA_REQ_SDHC2		21 -#define MX51_DMA_REQ_SSI2_RX1		22 -#define MX51_DMA_REQ_SSI2_TX1		23 -#define MX51_DMA_REQ_SSI2_RX0		24 -#define MX51_DMA_REQ_SSI2_TX0		25 -#define MX51_DMA_REQ_SSI1_RX1		26 -#define MX51_DMA_REQ_SSI1_TX1		27 -#define MX51_DMA_REQ_SSI1_RX0		28 -#define MX51_DMA_REQ_SSI1_TX0		29 -#define MX51_DMA_REQ_EMI_RD		30 -#define MX51_DMA_REQ_CTI2_0		31 -#define MX51_DMA_REQ_EMI_WR		32 -#define MX51_DMA_REQ_CTI2_1		33 -#define MX51_DMA_REQ_EPIT2		34 -#define MX51_DMA_REQ_SSI3_RX2		35 -#define MX51_DMA_REQ_IPU		36 -#define MX51_DMA_REQ_SSI3_TX2		37 -#define MX51_DMA_REQ_CSPI_RX		38 -#define MX51_DMA_REQ_CSPI_TX		39 -#define MX51_DMA_REQ_SDHC3		40 -#define MX51_DMA_REQ_SDHC4		41 -#define MX51_DMA_REQ_SLIM_B_TX		42 -#define MX51_DMA_REQ_UART3_RX		43 -#define MX51_DMA_REQ_UART3_TX		44 -#define MX51_DMA_REQ_SPDIF		45 -#define MX51_DMA_REQ_SSI3_RX1		46 -#define MX51_DMA_REQ_SSI3_TX1		47 - -/* - * Interrupt numbers - */ -#define MX51_MXC_INT_BASE		0 -#define MX51_MXC_INT_RESV0		0 -#define MX51_INT_ESDHC1			1 -#define MX51_INT_ESDHC2			2 -#define MX51_INT_ESDHC3			3 -#define MX51_INT_ESDHC4			4 -#define MX51_MXC_INT_RESV5		5 -#define MX51_INT_SDMA			6 -#define MX51_MXC_INT_IOMUX		7 -#define MX51_INT_NFC			8 -#define MX51_MXC_INT_VPU		9 -#define MX51_MXC_INT_IPU_ERR		10 -#define MX51_MXC_INT_IPU_SYN		11 -#define MX51_MXC_INT_GPU		12 -#define MX51_MXC_INT_RESV13		13 -#define MX51_MXC_INT_USB_H1		14 -#define MX51_MXC_INT_EMI		15 -#define MX51_MXC_INT_USB_H2		16 -#define MX51_MXC_INT_USB_H3		17 -#define MX51_MXC_INT_USB_OTG		18 -#define MX51_MXC_INT_SAHARA_H0		19 -#define MX51_MXC_INT_SAHARA_H1		20 -#define MX51_MXC_INT_SCC_SMN		21 -#define MX51_MXC_INT_SCC_STZ		22 -#define MX51_MXC_INT_SCC_SCM		23 -#define MX51_MXC_INT_SRTC_NTZ		24 -#define MX51_MXC_INT_SRTC_TZ		25 -#define MX51_MXC_INT_RTIC		26 -#define MX51_MXC_INT_CSU		27 -#define MX51_MXC_INT_SLIM_B		28 -#define MX51_INT_SSI1			29 -#define MX51_INT_SSI2			30 -#define MX51_INT_UART1			31 -#define MX51_INT_UART2			32 -#define MX51_INT_UART3			33 -#define MX51_MXC_INT_RESV34		34 -#define MX51_MXC_INT_RESV35		35 -#define MX51_INT_ECSPI1			36 -#define MX51_INT_ECSPI2			37 -#define MX51_INT_CSPI			38 -#define MX51_MXC_INT_GPT		39 -#define MX51_MXC_INT_EPIT1		40 -#define MX51_MXC_INT_EPIT2		41 -#define MX51_MXC_INT_GPIO1_INT7		42 -#define MX51_MXC_INT_GPIO1_INT6		43 -#define MX51_MXC_INT_GPIO1_INT5		44 -#define MX51_MXC_INT_GPIO1_INT4		45 -#define MX51_MXC_INT_GPIO1_INT3		46 -#define MX51_MXC_INT_GPIO1_INT2		47 -#define MX51_MXC_INT_GPIO1_INT1		48 -#define MX51_MXC_INT_GPIO1_INT0		49 -#define MX51_MXC_INT_GPIO1_LOW		50 -#define MX51_MXC_INT_GPIO1_HIGH		51 -#define MX51_MXC_INT_GPIO2_LOW		52 -#define MX51_MXC_INT_GPIO2_HIGH		53 -#define MX51_MXC_INT_GPIO3_LOW		54 -#define MX51_MXC_INT_GPIO3_HIGH		55 -#define MX51_MXC_INT_GPIO4_LOW		56 -#define MX51_MXC_INT_GPIO4_HIGH		57 -#define MX51_MXC_INT_WDOG1		58 -#define MX51_MXC_INT_WDOG2		59 -#define MX51_MXC_INT_KPP		60 -#define MX51_MXC_INT_PWM1		61 -#define MX51_INT_I2C1			62 -#define MX51_INT_I2C2			63 -#define MX51_MXC_INT_HS_I2C		64 -#define MX51_MXC_INT_RESV65		65 -#define MX51_MXC_INT_RESV66		66 -#define MX51_MXC_INT_SIM_IPB		67 -#define MX51_MXC_INT_SIM_DAT		68 -#define MX51_MXC_INT_IIM		69 -#define MX51_MXC_INT_ATA		70 -#define MX51_MXC_INT_CCM1		71 -#define MX51_MXC_INT_CCM2		72 -#define MX51_MXC_INT_GPC1		73 -#define MX51_MXC_INT_GPC2		74 -#define MX51_MXC_INT_SRC		75 -#define MX51_MXC_INT_NM			76 -#define MX51_MXC_INT_PMU		77 -#define MX51_MXC_INT_CTI_IRQ		78 -#define MX51_MXC_INT_CTI1_TG0		79 -#define MX51_MXC_INT_CTI1_TG1		80 -#define MX51_MXC_INT_MCG_ERR		81 -#define MX51_MXC_INT_MCG_TMR		82 -#define MX51_MXC_INT_MCG_FUNC		83 -#define MX51_MXC_INT_GPU2_IRQ		84 -#define MX51_MXC_INT_GPU2_BUSY		85 -#define MX51_MXC_INT_RESV86		86 -#define MX51_INT_FEC			87 -#define MX51_MXC_INT_OWIRE		88 -#define MX51_MXC_INT_CTI1_TG2		89 -#define MX51_MXC_INT_SJC		90 -#define MX51_MXC_INT_SPDIF		91 -#define MX51_MXC_INT_TVE		92 -#define MX51_MXC_INT_FIRI		93 -#define MX51_MXC_INT_PWM2		94 -#define MX51_MXC_INT_SLIM_EXP		95 -#define MX51_MXC_INT_SSI3		96 -#define MX51_MXC_INT_EMI_BOOT		97 -#define MX51_MXC_INT_CTI1_TG3		98 -#define MX51_MXC_INT_SMC_RX		99 -#define MX51_MXC_INT_VPU_IDLE		100 -#define MX51_MXC_INT_EMI_NFC		101 -#define MX51_MXC_INT_GPU_IDLE		102 - -/* silicon revisions specific to i.MX51 */ -#define MX51_CHIP_REV_1_0		0x10 -#define MX51_CHIP_REV_1_1		0x11 -#define MX51_CHIP_REV_1_2		0x12 -#define MX51_CHIP_REV_1_3		0x13 -#define MX51_CHIP_REV_2_0		0x20 -#define MX51_CHIP_REV_2_1		0x21 -#define MX51_CHIP_REV_2_2		0x22 -#define MX51_CHIP_REV_2_3		0x23 -#define MX51_CHIP_REV_3_0		0x30 -#define MX51_CHIP_REV_3_1		0x31 -#define MX51_CHIP_REV_3_2		0x32 - -#if !defined(__ASSEMBLY__) && !defined(__MXC_BOOT_UNCOMPRESS) -extern int mx51_revision(void); -#endif - -/* tape-out 1 defines */ -#define MX51_TZIC_BASE_ADDR_TO1		0x8fffc000 - -#endif	/* ifndef __MACH_MX51_H__ */ diff --git a/arch/arm/plat-mxc/include/mach/mxc.h b/arch/arm/plat-mxc/include/mach/mxc.h deleted file mode 100644 index a42c7207082..00000000000 --- a/arch/arm/plat-mxc/include/mach/mxc.h +++ /dev/null @@ -1,157 +0,0 @@ -/* - * Copyright 2004-2007, 2010 Freescale Semiconductor, Inc. All Rights Reserved. - * Copyright (C) 2008 Juergen Beisert (kernel@pengutronix.de) - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, - * MA 02110-1301, USA. - */ - -#ifndef __ASM_ARCH_MXC_H__ -#define __ASM_ARCH_MXC_H__ - -#include <linux/types.h> - -#ifndef __ASM_ARCH_MXC_HARDWARE_H__ -#error "Do not include directly." -#endif - -#define MXC_CPU_MX1		1 -#define MXC_CPU_MX21		21 -#define MXC_CPU_MX25		25 -#define MXC_CPU_MX27		27 -#define MXC_CPU_MX31		31 -#define MXC_CPU_MX35		35 -#define MXC_CPU_MX51		51 -#define MXC_CPU_MXC91231	91231 - -#ifndef __ASSEMBLY__ -extern unsigned int __mxc_cpu_type; -#endif - -#ifdef CONFIG_ARCH_MX1 -# ifdef mxc_cpu_type -#  undef mxc_cpu_type -#  define mxc_cpu_type __mxc_cpu_type -# else -#  define mxc_cpu_type MXC_CPU_MX1 -# endif -# define cpu_is_mx1()		(mxc_cpu_type == MXC_CPU_MX1) -#else -# define cpu_is_mx1()		(0) -#endif - -#ifdef CONFIG_MACH_MX21 -# ifdef mxc_cpu_type -#  undef mxc_cpu_type -#  define mxc_cpu_type __mxc_cpu_type -# else -#  define mxc_cpu_type MXC_CPU_MX21 -# endif -# define cpu_is_mx21()		(mxc_cpu_type == MXC_CPU_MX21) -#else -# define cpu_is_mx21()		(0) -#endif - -#ifdef CONFIG_ARCH_MX25 -# ifdef mxc_cpu_type -#  undef mxc_cpu_type -#  define mxc_cpu_type __mxc_cpu_type -# else -#  define mxc_cpu_type MXC_CPU_MX25 -# endif -# define cpu_is_mx25()		(mxc_cpu_type == MXC_CPU_MX25) -#else -# define cpu_is_mx25()		(0) -#endif - -#ifdef CONFIG_MACH_MX27 -# ifdef mxc_cpu_type -#  undef mxc_cpu_type -#  define mxc_cpu_type __mxc_cpu_type -# else -#  define mxc_cpu_type MXC_CPU_MX27 -# endif -# define cpu_is_mx27()		(mxc_cpu_type == MXC_CPU_MX27) -#else -# define cpu_is_mx27()		(0) -#endif - -#ifdef CONFIG_ARCH_MX31 -# ifdef mxc_cpu_type -#  undef mxc_cpu_type -#  define mxc_cpu_type __mxc_cpu_type -# else -#  define mxc_cpu_type MXC_CPU_MX31 -# endif -# define cpu_is_mx31()		(mxc_cpu_type == MXC_CPU_MX31) -#else -# define cpu_is_mx31()		(0) -#endif - -#ifdef CONFIG_ARCH_MX35 -# ifdef mxc_cpu_type -#  undef mxc_cpu_type -#  define mxc_cpu_type __mxc_cpu_type -# else -#  define mxc_cpu_type MXC_CPU_MX35 -# endif -# define cpu_is_mx35()		(mxc_cpu_type == MXC_CPU_MX35) -#else -# define cpu_is_mx35()		(0) -#endif - -#ifdef CONFIG_ARCH_MX5 -# ifdef mxc_cpu_type -#  undef mxc_cpu_type -#  define mxc_cpu_type __mxc_cpu_type -# else -#  define mxc_cpu_type MXC_CPU_MX51 -# endif -# define cpu_is_mx51()		(mxc_cpu_type == MXC_CPU_MX51) -#else -# define cpu_is_mx51()		(0) -#endif - -#ifdef CONFIG_ARCH_MXC91231 -# ifdef mxc_cpu_type -#  undef mxc_cpu_type -#  define mxc_cpu_type __mxc_cpu_type -# else -#  define mxc_cpu_type MXC_CPU_MXC91231 -# endif -# define cpu_is_mxc91231()	(mxc_cpu_type == MXC_CPU_MXC91231) -#else -# define cpu_is_mxc91231()	(0) -#endif - -#ifndef __ASSEMBLY__ - -struct cpu_op { -	u32 cpu_rate; -}; - -extern struct cpu_op *(*get_cpu_op)(int *op); -#endif - -#if defined(CONFIG_ARCH_MX3) || defined(CONFIG_ARCH_MX2) -/* These are deprecated, use mx[23][157]_setup_weimcs instead. */ -#define CSCR_U(n) (IO_ADDRESS(WEIM_BASE_ADDR + n * 0x10)) -#define CSCR_L(n) (IO_ADDRESS(WEIM_BASE_ADDR + n * 0x10 + 0x4)) -#define CSCR_A(n) (IO_ADDRESS(WEIM_BASE_ADDR + n * 0x10 + 0x8)) -#endif - -#define cpu_is_mx3()	(cpu_is_mx31() || cpu_is_mx35() || cpu_is_mxc91231()) -#define cpu_is_mx2()	(cpu_is_mx21() || cpu_is_mx27()) - -#endif /*  __ASM_ARCH_MXC_H__ */ diff --git a/arch/arm/plat-mxc/include/mach/mxc91231.h b/arch/arm/plat-mxc/include/mach/mxc91231.h deleted file mode 100644 index 0ca3101ebf3..00000000000 --- a/arch/arm/plat-mxc/include/mach/mxc91231.h +++ /dev/null @@ -1,273 +0,0 @@ -/* - *  Copyright 2004-2006 Freescale Semiconductor, Inc. All Rights Reserved. - *    - Platform specific register memory map - * - *  Copyright 2005-2007 Motorola, Inc. - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the - * GNU General Public License for more details. - */ -#ifndef __MACH_MXC91231_H__ -#define __MACH_MXC91231_H__ - -/* - * L2CC - */ -#define MXC91231_L2CC_BASE_ADDR		0x30000000 -#define MXC91231_L2CC_BASE_ADDR_VIRT	0xF9000000 -#define MXC91231_L2CC_SIZE		SZ_64K - -/* - * AIPS 1 - */ -#define MXC91231_AIPS1_BASE_ADDR	0x43F00000 -#define MXC91231_AIPS1_BASE_ADDR_VIRT	0xFC000000 -#define MXC91231_AIPS1_SIZE		SZ_1M - -#define MXC91231_AIPS1_CTRL_BASE_ADDR	MXC91231_AIPS1_BASE_ADDR -#define MXC91231_MAX_BASE_ADDR		(MXC91231_AIPS1_BASE_ADDR + 0x04000) -#define MXC91231_EVTMON_BASE_ADDR	(MXC91231_AIPS1_BASE_ADDR + 0x08000) -#define MXC91231_CLKCTL_BASE_ADDR	(MXC91231_AIPS1_BASE_ADDR + 0x0C000) -#define MXC91231_ETB_SLOT4_BASE_ADDR	(MXC91231_AIPS1_BASE_ADDR + 0x10000) -#define MXC91231_ETB_SLOT5_BASE_ADDR	(MXC91231_AIPS1_BASE_ADDR + 0x14000) -#define MXC91231_ECT_CTIO_BASE_ADDR	(MXC91231_AIPS1_BASE_ADDR + 0x18000) -#define MXC91231_I2C_BASE_ADDR		(MXC91231_AIPS1_BASE_ADDR + 0x80000) -#define MXC91231_MU_BASE_ADDR		(MXC91231_AIPS1_BASE_ADDR + 0x88000) -#define MXC91231_UART1_BASE_ADDR	(MXC91231_AIPS1_BASE_ADDR + 0x90000) -#define MXC91231_UART2_BASE_ADDR	(MXC91231_AIPS1_BASE_ADDR + 0x94000) -#define MXC91231_DSM_BASE_ADDR		(MXC91231_AIPS1_BASE_ADDR + 0x98000) -#define MXC91231_OWIRE_BASE_ADDR	(MXC91231_AIPS1_BASE_ADDR + 0x9C000) -#define MXC91231_SSI1_BASE_ADDR		(MXC91231_AIPS1_BASE_ADDR + 0xA0000) -#define MXC91231_KPP_BASE_ADDR		(MXC91231_AIPS1_BASE_ADDR + 0xA8000) -#define MXC91231_IOMUX_AP_BASE_ADDR	(MXC91231_AIPS1_BASE_ADDR + 0xAC000) -#define MXC91231_CTI_AP_BASE_ADDR	(MXC91231_AIPS1_BASE_ADDR + 0xB8000) - -/* - * AIPS 2 - */ -#define MXC91231_AIPS2_BASE_ADDR	0x53F00000 -#define MXC91231_AIPS2_BASE_ADDR_VIRT	0xFC100000 -#define MXC91231_AIPS2_SIZE		SZ_1M - -#define MXC91231_GEMK_BASE_ADDR		(MXC91231_AIPS2_BASE_ADDR + 0x8C000) -#define MXC91231_GPT1_BASE_ADDR		(MXC91231_AIPS2_BASE_ADDR + 0x90000) -#define MXC91231_EPIT1_AP_BASE_ADDR	(MXC91231_AIPS2_BASE_ADDR + 0x94000) -#define MXC91231_SCC_BASE_ADDR		(MXC91231_AIPS2_BASE_ADDR + 0xAC000) -#define MXC91231_RNGA_BASE_ADDR		(MXC91231_AIPS2_BASE_ADDR + 0xB0000) -#define MXC91231_IPU_CTRL_BASE_ADDR	(MXC91231_AIPS2_BASE_ADDR + 0xC0000) -#define MXC91231_AUDMUX_BASE_ADDR	(MXC91231_AIPS2_BASE_ADDR + 0xC4000) -#define MXC91231_EDIO_BASE_ADDR		(MXC91231_AIPS2_BASE_ADDR + 0xC8000) -#define MXC91231_GPIO1_AP_BASE_ADDR	(MXC91231_AIPS2_BASE_ADDR + 0xCC000) -#define MXC91231_GPIO2_AP_BASE_ADDR	(MXC91231_AIPS2_BASE_ADDR + 0xD0000) -#define MXC91231_SDMA_BASE_ADDR		(MXC91231_AIPS2_BASE_ADDR + 0xD4000) -#define MXC91231_RTC_BASE_ADDR		(MXC91231_AIPS2_BASE_ADDR + 0xD8000) -#define MXC91231_WDOG1_BASE_ADDR	(MXC91231_AIPS2_BASE_ADDR + 0xDC000) -#define MXC91231_PWM_BASE_ADDR		(MXC91231_AIPS2_BASE_ADDR + 0xE0000) -#define MXC91231_GPIO3_AP_BASE_ADDR	(MXC91231_AIPS2_BASE_ADDR + 0xE4000) -#define MXC91231_WDOG2_BASE_ADDR	(MXC91231_AIPS2_BASE_ADDR + 0xE8000) -#define MXC91231_RTIC_BASE_ADDR		(MXC91231_AIPS2_BASE_ADDR + 0xEC000) -#define MXC91231_LPMC_BASE_ADDR		(MXC91231_AIPS2_BASE_ADDR + 0xF0000) - -/* - * SPBA global module 0 - */ -#define MXC91231_SPBA0_BASE_ADDR	0x50000000 -#define MXC91231_SPBA0_BASE_ADDR_VIRT	0xFC200000 -#define MXC91231_SPBA0_SIZE		SZ_1M - -#define MXC91231_MMC_SDHC1_BASE_ADDR	(MXC91231_SPBA0_BASE_ADDR + 0x04000) -#define MXC91231_MMC_SDHC2_BASE_ADDR	(MXC91231_SPBA0_BASE_ADDR + 0x08000) -#define MXC91231_UART3_BASE_ADDR	(MXC91231_SPBA0_BASE_ADDR + 0x0C000) -#define MXC91231_CSPI2_BASE_ADDR	(MXC91231_SPBA0_BASE_ADDR + 0x10000) -#define MXC91231_SSI2_BASE_ADDR		(MXC91231_SPBA0_BASE_ADDR + 0x14000) -#define MXC91231_SIM_BASE_ADDR		(MXC91231_SPBA0_BASE_ADDR + 0x18000) -#define MXC91231_IIM_BASE_ADDR		(MXC91231_SPBA0_BASE_ADDR + 0x1C000) -#define MXC91231_CTI_SDMA_BASE_ADDR	(MXC91231_SPBA0_BASE_ADDR + 0x20000) -#define MXC91231_USBOTG_CTRL_BASE_ADDR	(MXC91231_SPBA0_BASE_ADDR + 0x24000) -#define MXC91231_USBOTG_DATA_BASE_ADDR	(MXC91231_SPBA0_BASE_ADDR + 0x28000) -#define MXC91231_CSPI1_BASE_ADDR	(MXC91231_SPBA0_BASE_ADDR + 0x30000) -#define MXC91231_SPBA_CTRL_BASE_ADDR	(MXC91231_SPBA0_BASE_ADDR + 0x3C000) -#define MXC91231_IOMUX_COM_BASE_ADDR	(MXC91231_SPBA0_BASE_ADDR + 0x40000) -#define MXC91231_CRM_COM_BASE_ADDR	(MXC91231_SPBA0_BASE_ADDR + 0x44000) -#define MXC91231_CRM_AP_BASE_ADDR	(MXC91231_SPBA0_BASE_ADDR + 0x48000) -#define MXC91231_PLL0_BASE_ADDR		(MXC91231_SPBA0_BASE_ADDR + 0x4C000) -#define MXC91231_PLL1_BASE_ADDR		(MXC91231_SPBA0_BASE_ADDR + 0x50000) -#define MXC91231_PLL2_BASE_ADDR		(MXC91231_SPBA0_BASE_ADDR + 0x54000) -#define MXC91231_GPIO4_SH_BASE_ADDR	(MXC91231_SPBA0_BASE_ADDR + 0x58000) -#define MXC91231_HAC_BASE_ADDR		(MXC91231_SPBA0_BASE_ADDR + 0x5C000) -#define MXC91231_SAHARA_BASE_ADDR	(MXC91231_SPBA0_BASE_ADDR + 0x5C000) -#define MXC91231_PLL3_BASE_ADDR		(MXC91231_SPBA0_BASE_ADDR + 0x60000) - -/* - * SPBA global module 1 - */ -#define MXC91231_SPBA1_BASE_ADDR	0x52000000 -#define MXC91231_SPBA1_BASE_ADDR_VIRT	0xFC300000 -#define MXC91231_SPBA1_SIZE		SZ_1M - -#define MXC91231_MQSPI_BASE_ADDR	(MXC91231_SPBA1_BASE_ADDR + 0x34000) -#define MXC91231_EL1T_BASE_ADDR		(MXC91231_SPBA1_BASE_ADDR + 0x38000) - -/*! - * Defines for SPBA modules - */ -#define MXC91231_SPBA_SDHC1		0x04 -#define MXC91231_SPBA_SDHC2		0x08 -#define MXC91231_SPBA_UART3		0x0C -#define MXC91231_SPBA_CSPI2		0x10 -#define MXC91231_SPBA_SSI2		0x14 -#define MXC91231_SPBA_SIM		0x18 -#define MXC91231_SPBA_IIM		0x1C -#define MXC91231_SPBA_CTI_SDMA		0x20 -#define MXC91231_SPBA_USBOTG_CTRL_REGS	0x24 -#define MXC91231_SPBA_USBOTG_DATA_REGS	0x28 -#define MXC91231_SPBA_CSPI1		0x30 -#define MXC91231_SPBA_MQSPI		0x34 -#define MXC91231_SPBA_EL1T		0x38 -#define MXC91231_SPBA_IOMUX		0x40 -#define MXC91231_SPBA_CRM_COM		0x44 -#define MXC91231_SPBA_CRM_AP		0x48 -#define MXC91231_SPBA_PLL0		0x4C -#define MXC91231_SPBA_PLL1		0x50 -#define MXC91231_SPBA_PLL2		0x54 -#define MXC91231_SPBA_GPIO4		0x58 -#define MXC91231_SPBA_SAHARA		0x5C - -/* - * ROMP and AVIC - */ -#define MXC91231_ROMP_BASE_ADDR		0x60000000 -#define MXC91231_ROMP_BASE_ADDR_VIRT	0xFC400000 -#define MXC91231_ROMP_SIZE		SZ_64K - -#define MXC91231_AVIC_BASE_ADDR		0x68000000 -#define MXC91231_AVIC_BASE_ADDR_VIRT	0xFC410000 -#define MXC91231_AVIC_SIZE		SZ_64K - -/* - * NAND, SDRAM, WEIM, M3IF, EMI controllers - */ -#define MXC91231_X_MEMC_BASE_ADDR	0xB8000000 -#define MXC91231_X_MEMC_BASE_ADDR_VIRT	0xFC420000 -#define MXC91231_X_MEMC_SIZE		SZ_64K - -#define MXC91231_NFC_BASE_ADDR		(MXC91231_X_MEMC_BASE_ADDR + 0x0000) -#define MXC91231_ESDCTL_BASE_ADDR	(MXC91231_X_MEMC_BASE_ADDR + 0x1000) -#define MXC91231_WEIM_BASE_ADDR		(MXC91231_X_MEMC_BASE_ADDR + 0x2000) -#define MXC91231_M3IF_BASE_ADDR		(MXC91231_X_MEMC_BASE_ADDR + 0x3000) -#define MXC91231_EMI_CTL_BASE_ADDR	(MXC91231_X_MEMC_BASE_ADDR + 0x4000) - -/* - * Memory regions and CS - * CPLD is connected on CS4 - * CS5 is TP1021 or it is not connected - * */ -#define MXC91231_FB_RAM_BASE_ADDR	0x78000000 -#define MXC91231_FB_RAM_SIZE		SZ_256K -#define MXC91231_CSD0_BASE_ADDR		0x80000000 -#define MXC91231_CSD1_BASE_ADDR		0x90000000 -#define MXC91231_CS0_BASE_ADDR		0xA0000000 -#define MXC91231_CS1_BASE_ADDR		0xA8000000 -#define MXC91231_CS2_BASE_ADDR		0xB0000000 -#define MXC91231_CS3_BASE_ADDR		0xB2000000 -#define MXC91231_CS4_BASE_ADDR		0xB4000000 -#define MXC91231_CS5_BASE_ADDR		0xB6000000 - -/* - * This macro defines the physical to virtual address mapping for all the - * peripheral modules. It is used by passing in the physical address as x - * and returning the virtual address. If the physical address is not mapped, - * it returns 0. - */ - -#define MXC91231_IO_ADDRESS(x) (					\ -	IMX_IO_ADDRESS(x, MXC91231_L2CC) ?:				\ -	IMX_IO_ADDRESS(x, MXC91231_X_MEMC) ?:				\ -	IMX_IO_ADDRESS(x, MXC91231_ROMP) ?:				\ -	IMX_IO_ADDRESS(x, MXC91231_AVIC) ?:				\ -	IMX_IO_ADDRESS(x, MXC91231_AIPS1) ?:				\ -	IMX_IO_ADDRESS(x, MXC91231_SPBA0) ?:				\ -	IMX_IO_ADDRESS(x, MXC91231_SPBA1) ?:				\ -	IMX_IO_ADDRESS(x, MXC91231_AIPS2)) - -/* - * Interrupt numbers - */ -#define MXC91231_INT_GPIO3		0 -#define MXC91231_INT_EL1T_CI		1 -#define MXC91231_INT_EL1T_RFCI		2 -#define MXC91231_INT_EL1T_RFI		3 -#define MXC91231_INT_EL1T_MCU		4 -#define MXC91231_INT_EL1T_IPI		5 -#define MXC91231_INT_MU_GEN		6 -#define MXC91231_INT_GPIO4		7 -#define MXC91231_INT_MMC_SDHC2		8 -#define MXC91231_INT_MMC_SDHC1		9 -#define MXC91231_INT_I2C		10 -#define MXC91231_INT_SSI2		11 -#define MXC91231_INT_SSI1		12 -#define MXC91231_INT_CSPI2		13 -#define MXC91231_INT_CSPI1		14 -#define MXC91231_INT_RTIC		15 -#define MXC91231_INT_SAHARA		15 -#define MXC91231_INT_HAC		15 -#define MXC91231_INT_UART3_RX		16 -#define MXC91231_INT_UART3_TX		17 -#define MXC91231_INT_UART3_MINT		18 -#define MXC91231_INT_ECT		19 -#define MXC91231_INT_SIM_IPB		20 -#define MXC91231_INT_SIM_DATA		21 -#define MXC91231_INT_RNGA		22 -#define MXC91231_INT_DSM_AP		23 -#define MXC91231_INT_KPP		24 -#define MXC91231_INT_RTC		25 -#define MXC91231_INT_PWM		26 -#define MXC91231_INT_GEMK_AP		27 -#define MXC91231_INT_EPIT		28 -#define MXC91231_INT_GPT		29 -#define MXC91231_INT_UART2_RX		30 -#define MXC91231_INT_UART2_TX		31 -#define MXC91231_INT_UART2_MINT		32 -#define MXC91231_INT_NANDFC		33 -#define MXC91231_INT_SDMA		34 -#define MXC91231_INT_USB_WAKEUP		35 -#define MXC91231_INT_USB_SOF		36 -#define MXC91231_INT_PMU_EVTMON		37 -#define MXC91231_INT_USB_FUNC		38 -#define MXC91231_INT_USB_DMA		39 -#define MXC91231_INT_USB_CTRL		40 -#define MXC91231_INT_IPU_ERR		41 -#define MXC91231_INT_IPU_SYN		42 -#define MXC91231_INT_UART1_RX		43 -#define MXC91231_INT_UART1_TX		44 -#define MXC91231_INT_UART1_MINT		45 -#define MXC91231_INT_IIM		46 -#define MXC91231_INT_MU_RX_OR		47 -#define MXC91231_INT_MU_TX_OR		48 -#define MXC91231_INT_SCC_SCM		49 -#define MXC91231_INT_SCC_SMN		50 -#define MXC91231_INT_GPIO2		51 -#define MXC91231_INT_GPIO1		52 -#define MXC91231_INT_MQSPI1		53 -#define MXC91231_INT_MQSPI2		54 -#define MXC91231_INT_WDOG2		55 -#define MXC91231_INT_EXT_INT7		56 -#define MXC91231_INT_EXT_INT6		57 -#define MXC91231_INT_EXT_INT5		58 -#define MXC91231_INT_EXT_INT4		59 -#define MXC91231_INT_EXT_INT3		60 -#define MXC91231_INT_EXT_INT2		61 -#define MXC91231_INT_EXT_INT1		62 -#define MXC91231_INT_EXT_INT0		63 - -#define MXC91231_MAX_INT_LINES		63 -#define MXC91231_MAX_EXT_LINES		8 - -#endif /* __MACH_MXC91231_H__ */ diff --git a/arch/arm/plat-mxc/include/mach/mxc_ehci.h b/arch/arm/plat-mxc/include/mach/mxc_ehci.h deleted file mode 100644 index 7fc5f994619..00000000000 --- a/arch/arm/plat-mxc/include/mach/mxc_ehci.h +++ /dev/null @@ -1,53 +0,0 @@ -#ifndef __INCLUDE_ASM_ARCH_MXC_EHCI_H -#define __INCLUDE_ASM_ARCH_MXC_EHCI_H - -/* values for portsc field */ -#define MXC_EHCI_PHY_LOW_POWER_SUSPEND	(1 << 23) -#define MXC_EHCI_FORCE_FS		(1 << 24) -#define MXC_EHCI_UTMI_8BIT		(0 << 28) -#define MXC_EHCI_UTMI_16BIT		(1 << 28) -#define MXC_EHCI_SERIAL			(1 << 29) -#define MXC_EHCI_MODE_UTMI		(0 << 30) -#define MXC_EHCI_MODE_PHILIPS		(1 << 30) -#define MXC_EHCI_MODE_ULPI		(2 << 30) -#define MXC_EHCI_MODE_SERIAL		(3 << 30) - -/* values for flags field */ -#define MXC_EHCI_INTERFACE_DIFF_UNI	(0 << 0) -#define MXC_EHCI_INTERFACE_DIFF_BI	(1 << 0) -#define MXC_EHCI_INTERFACE_SINGLE_UNI	(2 << 0) -#define MXC_EHCI_INTERFACE_SINGLE_BI	(3 << 0) -#define MXC_EHCI_INTERFACE_MASK		(0xf) - -#define MXC_EHCI_POWER_PINS_ENABLED	(1 << 5) -#define MXC_EHCI_TTL_ENABLED		(1 << 6) - -#define MXC_EHCI_INTERNAL_PHY		(1 << 7) -#define MXC_EHCI_IPPUE_DOWN		(1 << 8) -#define MXC_EHCI_IPPUE_UP		(1 << 9) -#define MXC_EHCI_WAKEUP_ENABLED	(1 << 10) -#define MXC_EHCI_ITC_NO_THRESHOLD	(1 << 11) - -#define MXC_USBCTRL_OFFSET		0 -#define MXC_USB_PHY_CTR_FUNC_OFFSET	0x8 -#define MXC_USB_PHY_CTR_FUNC2_OFFSET	0xc - -#define MX5_USBOTHER_REGS_OFFSET	0x800 - -/* USB_PHY_CTRL_FUNC2*/ -#define MX5_USB_UTMI_PHYCTRL1_PLLDIV_MASK		0x3 -#define MX5_USB_UTMI_PHYCTRL1_PLLDIV_SHIFT		0 - -struct mxc_usbh_platform_data { -	int (*init)(struct platform_device *pdev); -	int (*exit)(struct platform_device *pdev); - -	unsigned int		 portsc; -	unsigned int		 flags; -	struct otg_transceiver	*otg; -}; - -int mxc_initialize_usb_hw(int port, unsigned int flags); - -#endif /* __INCLUDE_ASM_ARCH_MXC_EHCI_H */ - diff --git a/arch/arm/plat-mxc/include/mach/mxc_nand.h b/arch/arm/plat-mxc/include/mach/mxc_nand.h deleted file mode 100644 index 04c0d060d81..00000000000 --- a/arch/arm/plat-mxc/include/mach/mxc_nand.h +++ /dev/null @@ -1,32 +0,0 @@ -/* - * Copyright 2004-2007 Freescale Semiconductor, Inc. All Rights Reserved. - * Copyright 2008 Sascha Hauer, kernel@pengutronix.de - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, - * MA 02110-1301, USA. - */ - -#ifndef __ASM_ARCH_NAND_H -#define __ASM_ARCH_NAND_H - -#include <linux/mtd/partitions.h> - -struct mxc_nand_platform_data { -	unsigned int width;	/* data bus width in bytes */ -	unsigned int hw_ecc:1;	/* 0 if supress hardware ECC */ -	unsigned int flash_bbt:1; /* set to 1 to use a flash based bbt */ -	struct mtd_partition *parts;	/* partition table */ -	int nr_parts;			/* size of parts */ -}; -#endif /* __ASM_ARCH_NAND_H */ diff --git a/arch/arm/plat-mxc/include/mach/sdma.h b/arch/arm/plat-mxc/include/mach/sdma.h deleted file mode 100644 index 9be112227ac..00000000000 --- a/arch/arm/plat-mxc/include/mach/sdma.h +++ /dev/null @@ -1,17 +0,0 @@ -#ifndef __MACH_MXC_SDMA_H__ -#define __MACH_MXC_SDMA_H__ - -/** - * struct sdma_platform_data - platform specific data for SDMA engine - * - * @sdma_version	The version of this SDMA engine - * @cpu_name		used to generate the firmware name - * @to_version		CPU Tape out version - */ -struct sdma_platform_data { -	int sdma_version; -	char *cpu_name; -	int to_version; -}; - -#endif /* __MACH_MXC_SDMA_H__ */ diff --git a/arch/arm/plat-mxc/include/mach/spi.h b/arch/arm/plat-mxc/include/mach/spi.h deleted file mode 100644 index 08be445e8eb..00000000000 --- a/arch/arm/plat-mxc/include/mach/spi.h +++ /dev/null @@ -1,27 +0,0 @@ - -#ifndef __MACH_SPI_H_ -#define __MACH_SPI_H_ - -/* - * struct spi_imx_master - device.platform_data for SPI controller devices. - * @chipselect: Array of chipselects for this master. Numbers >= 0 mean gpio - *              pins, numbers < 0 mean internal CSPI chipselects according - *              to MXC_SPI_CS(). Normally you want to use gpio based chip - *              selects as the CSPI module tries to be intelligent about - *              when to assert the chipselect: The CSPI module deasserts the - *              chipselect once it runs out of input data. The other problem - *              is that it is not possible to mix between high active and low - *              active chipselects on one single bus using the internal - *              chipselects. Unfortunately Freescale decided to put some - *              chipselects on dedicated pins which are not usable as gpios, - *              so we have to support the internal chipselects. - * @num_chipselect: ARRAY_SIZE(chipselect) - */ -struct spi_imx_master { -	int	*chipselect; -	int	num_chipselect; -}; - -#define MXC_SPI_CS(no)	((no) - 32) - -#endif /* __MACH_SPI_H_*/ diff --git a/arch/arm/plat-mxc/include/mach/ssi.h b/arch/arm/plat-mxc/include/mach/ssi.h deleted file mode 100644 index 63f3c280423..00000000000 --- a/arch/arm/plat-mxc/include/mach/ssi.h +++ /dev/null @@ -1,21 +0,0 @@ -#ifndef __MACH_SSI_H -#define __MACH_SSI_H - -struct snd_ac97; - -extern unsigned char imx_ssi_fiq_start, imx_ssi_fiq_end; -extern unsigned long imx_ssi_fiq_base, imx_ssi_fiq_tx_buffer, imx_ssi_fiq_rx_buffer; - -struct imx_ssi_platform_data { -	unsigned int flags; -#define IMX_SSI_DMA            (1 << 0) -#define IMX_SSI_USE_AC97       (1 << 1) -#define IMX_SSI_NET            (1 << 2) -#define IMX_SSI_SYN            (1 << 3) -#define IMX_SSI_USE_I2S_SLAVE  (1 << 4) -	void (*ac97_reset) (struct snd_ac97 *ac97); -	void (*ac97_warm_reset)(struct snd_ac97 *ac97); -}; - -#endif /* __MACH_SSI_H */ - diff --git a/arch/arm/plat-mxc/include/mach/system.h b/arch/arm/plat-mxc/include/mach/system.h deleted file mode 100644 index 95be51bfe9a..00000000000 --- a/arch/arm/plat-mxc/include/mach/system.h +++ /dev/null @@ -1,63 +0,0 @@ -/* - *  Copyright (C) 1999 ARM Limited - *  Copyright (C) 2000 Deep Blue Solutions Ltd - *  Copyright 2004-2008 Freescale Semiconductor, Inc. All Rights Reserved. - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the - * GNU General Public License for more details. - */ - -#ifndef __ASM_ARCH_MXC_SYSTEM_H__ -#define __ASM_ARCH_MXC_SYSTEM_H__ - -#include <mach/hardware.h> -#include <mach/common.h> - -static inline void arch_idle(void) -{ -#ifdef CONFIG_ARCH_MXC91231 -	if (cpu_is_mxc91231()) { -		/* Need this to set DSM low-power mode */ -		mxc91231_prepare_idle(); -	} -#endif -	/* fix i.MX31 errata TLSbo65953 and i.MX35 errata ENGcm09472 */ -	if (cpu_is_mx31() || cpu_is_mx35()) { -		unsigned long reg = 0; -		__asm__ __volatile__( -			/* disable I and D cache */ -			"mrc p15, 0, %0, c1, c0, 0\n" -			"bic %0, %0, #0x00001000\n" -			"bic %0, %0, #0x00000004\n" -			"mcr p15, 0, %0, c1, c0, 0\n" -			/* invalidate I cache */ -			"mov %0, #0\n" -			"mcr p15, 0, %0, c7, c5, 0\n" -			/* clear and invalidate D cache */ -			"mov %0, #0\n" -			"mcr p15, 0, %0, c7, c14, 0\n" -			/* WFI */ -			"mov %0, #0\n" -			"mcr p15, 0, %0, c7, c0, 4\n" -			"nop\n" "nop\n" "nop\n" "nop\n" -			"nop\n" "nop\n" "nop\n" -			/* enable I and D cache */ -			"mrc p15, 0, %0, c1, c0, 0\n" -			"orr %0, %0, #0x00001000\n" -			"orr %0, %0, #0x00000004\n" -			"mcr p15, 0, %0, c1, c0, 0\n" -			: "=r" (reg)); -	} else -		cpu_do_idle(); -} - -void arch_reset(char mode, const char *cmd); - -#endif /* __ASM_ARCH_MXC_SYSTEM_H__ */ diff --git a/arch/arm/plat-mxc/include/mach/timex.h b/arch/arm/plat-mxc/include/mach/timex.h deleted file mode 100644 index 2d9624697cc..00000000000 --- a/arch/arm/plat-mxc/include/mach/timex.h +++ /dev/null @@ -1,33 +0,0 @@ -/* - *  Copyright (C) 1999 ARM Limited - * Copyright 2004-2007 Freescale Semiconductor, Inc. All Rights Reserved. - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the - * GNU General Public License for more details. - */ - -#ifndef __ASM_ARCH_MXC_TIMEX_H__ -#define __ASM_ARCH_MXC_TIMEX_H__ - -#if defined CONFIG_ARCH_MX1 -#define CLOCK_TICK_RATE		16000000 -#elif defined CONFIG_ARCH_MX2 -#define CLOCK_TICK_RATE		13300000 -#elif defined CONFIG_ARCH_MX3 -#define CLOCK_TICK_RATE		16625000 -#elif defined CONFIG_ARCH_MX25 -#define CLOCK_TICK_RATE		16000000 -#elif defined CONFIG_ARCH_MX5 -#define CLOCK_TICK_RATE		8000000 -#elif defined CONFIG_ARCH_MXC91231 -#define CLOCK_TICK_RATE		13000000 -#endif - -#endif				/* __ASM_ARCH_MXC_TIMEX_H__ */ diff --git a/arch/arm/plat-mxc/include/mach/ulpi.h b/arch/arm/plat-mxc/include/mach/ulpi.h deleted file mode 100644 index 96b6ab4c40c..00000000000 --- a/arch/arm/plat-mxc/include/mach/ulpi.h +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef __MACH_ULPI_H -#define __MACH_ULPI_H - -extern struct otg_io_access_ops mxc_ulpi_access_ops; - -#endif /* __MACH_ULPI_H */ - diff --git a/arch/arm/plat-mxc/include/mach/uncompress.h b/arch/arm/plat-mxc/include/mach/uncompress.h deleted file mode 100644 index 9dd9c2085aa..00000000000 --- a/arch/arm/plat-mxc/include/mach/uncompress.h +++ /dev/null @@ -1,113 +0,0 @@ -/* - *  arch/arm/plat-mxc/include/mach/uncompress.h - * - *  Copyright (C) 1999 ARM Limited - *  Copyright (C) Shane Nay (shane@minirl.com) - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the - * GNU General Public License for more details. - */ -#ifndef __ASM_ARCH_MXC_UNCOMPRESS_H__ -#define __ASM_ARCH_MXC_UNCOMPRESS_H__ - -#define __MXC_BOOT_UNCOMPRESS - -#include <asm/mach-types.h> - -static unsigned long uart_base; - -#define UART(x) (*(volatile unsigned long *)(uart_base + (x))) - -#define USR2 0x98 -#define USR2_TXFE (1<<14) -#define TXR  0x40 -#define UCR1 0x80 -#define UCR1_UARTEN 1 - -/* - * The following code assumes the serial port has already been - * initialized by the bootloader.  We search for the first enabled - * port in the most probable order.  If you didn't setup a port in - * your bootloader then nothing will appear (which might be desired). - * - * This does not append a newline - */ - -static void putc(int ch) -{ -	if (!uart_base) -		return; -	if (!(UART(UCR1) & UCR1_UARTEN)) -		return; - -	while (!(UART(USR2) & USR2_TXFE)) -		barrier(); - -	UART(TXR) = ch; -} - -static inline void flush(void) -{ -} - -#define MX1_UART1_BASE_ADDR	0x00206000 -#define MX25_UART1_BASE_ADDR	0x43f90000 -#define MX2X_UART1_BASE_ADDR	0x1000a000 -#define MX3X_UART1_BASE_ADDR	0x43F90000 -#define MX3X_UART2_BASE_ADDR	0x43F94000 -#define MX51_UART1_BASE_ADDR	0x73fbc000 - -static __inline__ void __arch_decomp_setup(unsigned long arch_id) -{ -	switch (arch_id) { -	case MACH_TYPE_MX1ADS: -	case MACH_TYPE_SCB9328: -		uart_base = MX1_UART1_BASE_ADDR; -		break; -	case MACH_TYPE_MX25_3DS: -		uart_base = MX25_UART1_BASE_ADDR; -		break; -	case MACH_TYPE_IMX27LITE: -	case MACH_TYPE_MX27_3DS: -	case MACH_TYPE_MX27ADS: -	case MACH_TYPE_PCM038: -	case MACH_TYPE_MX21ADS: -	case MACH_TYPE_PCA100: -	case MACH_TYPE_MXT_TD60: -		uart_base = MX2X_UART1_BASE_ADDR; -		break; -	case MACH_TYPE_MX31LITE: -	case MACH_TYPE_ARMADILLO5X0: -	case MACH_TYPE_MX31MOBOARD: -	case MACH_TYPE_QONG: -	case MACH_TYPE_MX31_3DS: -	case MACH_TYPE_PCM037: -	case MACH_TYPE_MX31ADS: -	case MACH_TYPE_MX35_3DS: -	case MACH_TYPE_PCM043: -	case MACH_TYPE_LILLY1131: -		uart_base = MX3X_UART1_BASE_ADDR; -		break; -	case MACH_TYPE_MAGX_ZN5: -		uart_base = MX3X_UART2_BASE_ADDR; -		break; -	case MACH_TYPE_MX51_BABBAGE: -	case MACH_TYPE_EUKREA_CPUIMX51SD: -		uart_base = MX51_UART1_BASE_ADDR; -		break; -	default: -		break; -	} -} - -#define arch_decomp_setup()	__arch_decomp_setup(arch_id) -#define arch_decomp_wdog() - -#endif				/* __ASM_ARCH_MXC_UNCOMPRESS_H__ */ diff --git a/arch/arm/plat-mxc/include/mach/usb.h b/arch/arm/plat-mxc/include/mach/usb.h deleted file mode 100644 index be273371f34..00000000000 --- a/arch/arm/plat-mxc/include/mach/usb.h +++ /dev/null @@ -1,23 +0,0 @@ -/* - *	Copyright (C) 2008 Darius Augulis <augulis.darius@gmail.com> - * - *	This program is free software; you can redistribute it and/or modify - *	it under the terms of the GNU General Public License as published by - *	the Free Software Foundation; either version 2 of the License, or - *	(at your option) any later version. - * - *	This program is distributed in the hope that it will be useful, - *	but WITHOUT ANY WARRANTY; without even the implied warranty of - *	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the - *	GNU General Public License for more details. - */ - -#ifndef __ASM_ARCH_MXC_USB -#define __ASM_ARCH_MXC_USB - -struct imxusb_platform_data { -	int (*init)(struct device *); -	void (*exit)(struct device *); -}; - -#endif /* __ASM_ARCH_MXC_USB */ diff --git a/arch/arm/plat-mxc/include/mach/vmalloc.h b/arch/arm/plat-mxc/include/mach/vmalloc.h deleted file mode 100644 index ef6379c474b..00000000000 --- a/arch/arm/plat-mxc/include/mach/vmalloc.h +++ /dev/null @@ -1,22 +0,0 @@ -/* - *  Copyright (C) 2000 Russell King. - *  Copyright 2004-2007 Freescale Semiconductor, Inc. All Rights Reserved. - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the - * GNU General Public License for more details. - */ - -#ifndef __ASM_ARCH_MXC_VMALLOC_H__ -#define __ASM_ARCH_MXC_VMALLOC_H__ - -/* vmalloc ending address */ -#define VMALLOC_END       0xf4000000UL - -#endif /* __ASM_ARCH_MXC_VMALLOC_H__ */ diff --git a/arch/arm/plat-mxc/iomux-v1.c b/arch/arm/plat-mxc/iomux-v1.c deleted file mode 100644 index 960a02cbcba..00000000000 --- a/arch/arm/plat-mxc/iomux-v1.c +++ /dev/null @@ -1,238 +0,0 @@ -/* - * arch/arm/plat-mxc/iomux-v1.c - * - * Copyright (C) 2004 Sascha Hauer, Synertronixx GmbH - * Copyright (C) 2009 Uwe Kleine-Koenig, Pengutronix - * - * Common code for i.MX1, i.MX21 and i.MX27 - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. - */ - -#include <linux/errno.h> -#include <linux/init.h> -#include <linux/kernel.h> -#include <linux/module.h> -#include <linux/string.h> -#include <linux/gpio.h> - -#include <mach/hardware.h> -#include <asm/mach/map.h> -#include <mach/iomux-v1.h> - -static void __iomem *imx_iomuxv1_baseaddr; -static unsigned imx_iomuxv1_numports; - -static inline unsigned long imx_iomuxv1_readl(unsigned offset) -{ -	return __raw_readl(imx_iomuxv1_baseaddr + offset); -} - -static inline void imx_iomuxv1_writel(unsigned long val, unsigned offset) -{ -	__raw_writel(val, imx_iomuxv1_baseaddr + offset); -} - -static inline void imx_iomuxv1_rmwl(unsigned offset, -		unsigned long mask, unsigned long value) -{ -	unsigned long reg = imx_iomuxv1_readl(offset); - -	reg &= ~mask; -	reg |= value; - -	imx_iomuxv1_writel(reg, offset); -} - -static inline void imx_iomuxv1_set_puen( -		unsigned int port, unsigned int pin, int on) -{ -	unsigned long mask = 1 << pin; - -	imx_iomuxv1_rmwl(MXC_PUEN(port), mask, on ? mask : 0); -} - -static inline void imx_iomuxv1_set_ddir( -		unsigned int port, unsigned int pin, int out) -{ -	unsigned long mask = 1 << pin; - -	imx_iomuxv1_rmwl(MXC_DDIR(port), mask, out ? mask : 0); -} - -static inline void imx_iomuxv1_set_gpr( -		unsigned int port, unsigned int pin, int af) -{ -	unsigned long mask = 1 << pin; - -	imx_iomuxv1_rmwl(MXC_GPR(port), mask, af ? mask : 0); -} - -static inline void imx_iomuxv1_set_gius( -		unsigned int port, unsigned int pin, int inuse) -{ -	unsigned long mask = 1 << pin; - -	imx_iomuxv1_rmwl(MXC_GIUS(port), mask, inuse ? mask : 0); -} - -static inline void imx_iomuxv1_set_ocr( -		unsigned int port, unsigned int pin, unsigned int ocr) -{ -	unsigned long shift = (pin & 0xf) << 1; -	unsigned long mask = 3 << shift; -	unsigned long value = ocr << shift; -	unsigned long offset = pin < 16 ? MXC_OCR1(port) : MXC_OCR2(port); - -	imx_iomuxv1_rmwl(offset, mask, value); -} - -static inline void imx_iomuxv1_set_iconfa( -		unsigned int port, unsigned int pin, unsigned int aout) -{ -	unsigned long shift = (pin & 0xf) << 1; -	unsigned long mask = 3 << shift; -	unsigned long value = aout << shift; -	unsigned long offset = pin < 16 ? MXC_ICONFA1(port) : MXC_ICONFA2(port); - -	imx_iomuxv1_rmwl(offset, mask, value); -} - -static inline void imx_iomuxv1_set_iconfb( -		unsigned int port, unsigned int pin, unsigned int bout) -{ -	unsigned long shift = (pin & 0xf) << 1; -	unsigned long mask = 3 << shift; -	unsigned long value = bout << shift; -	unsigned long offset = pin < 16 ? MXC_ICONFB1(port) : MXC_ICONFB2(port); - -	imx_iomuxv1_rmwl(offset, mask, value); -} - -int mxc_gpio_mode(int gpio_mode) -{ -	unsigned int pin = gpio_mode & GPIO_PIN_MASK; -	unsigned int port = (gpio_mode & GPIO_PORT_MASK) >> GPIO_PORT_SHIFT; -	unsigned int ocr = (gpio_mode & GPIO_OCR_MASK) >> GPIO_OCR_SHIFT; -	unsigned int aout = (gpio_mode >> GPIO_AOUT_SHIFT) & 3; -	unsigned int bout = (gpio_mode >> GPIO_BOUT_SHIFT) & 3; - -	if (port >= imx_iomuxv1_numports) -		return -EINVAL; - -	/* Pullup enable */ -	imx_iomuxv1_set_puen(port, pin, gpio_mode & GPIO_PUEN); - -	/* Data direction */ -	imx_iomuxv1_set_ddir(port, pin, gpio_mode & GPIO_OUT); - -	/* Primary / alternate function */ -	imx_iomuxv1_set_gpr(port, pin, gpio_mode & GPIO_AF); - -	/* use as gpio? */ -	imx_iomuxv1_set_gius(port, pin, !(gpio_mode & (GPIO_PF | GPIO_AF))); - -	imx_iomuxv1_set_ocr(port, pin, ocr); - -	imx_iomuxv1_set_iconfa(port, pin, aout); - -	imx_iomuxv1_set_iconfb(port, pin, bout); - -	return 0; -} -EXPORT_SYMBOL(mxc_gpio_mode); - -static int imx_iomuxv1_setup_multiple(const int *list, unsigned count) -{ -	size_t i; -	int ret; - -	for (i = 0; i < count; ++i) { -		ret = mxc_gpio_mode(list[i]); - -		if (ret) -			return ret; -	} - -	return ret; -} - -int mxc_gpio_setup_multiple_pins(const int *pin_list, unsigned count, -		const char *label) -{ -	size_t i; -	int ret; - -	for (i = 0; i < count; ++i) { -		unsigned gpio = pin_list[i] & (GPIO_PIN_MASK | GPIO_PORT_MASK); - -		ret = gpio_request(gpio, label); -		if (ret) -			goto err_gpio_request; -	} - -	ret = imx_iomuxv1_setup_multiple(pin_list, count); -	if (ret) -		goto err_setup; - -	return 0; - -err_setup: -	BUG_ON(i != count); - -err_gpio_request: -	mxc_gpio_release_multiple_pins(pin_list, i); - -	return ret; -} -EXPORT_SYMBOL(mxc_gpio_setup_multiple_pins); - -void mxc_gpio_release_multiple_pins(const int *pin_list, int count) -{ -	size_t i; - -	for (i = 0; i < count; ++i) { -		unsigned gpio = pin_list[i] & (GPIO_PIN_MASK | GPIO_PORT_MASK); - -		gpio_free(gpio); -	} -} -EXPORT_SYMBOL(mxc_gpio_release_multiple_pins); - -static int imx_iomuxv1_init(void) -{ -#ifdef CONFIG_ARCH_MX1 -	if (cpu_is_mx1()) { -		imx_iomuxv1_baseaddr = MX1_IO_ADDRESS(MX1_GPIO_BASE_ADDR); -		imx_iomuxv1_numports = MX1_NUM_GPIO_PORT; -	} else -#endif -#ifdef CONFIG_MACH_MX21 -	if (cpu_is_mx21()) { -		imx_iomuxv1_baseaddr = MX21_IO_ADDRESS(MX21_GPIO_BASE_ADDR); -		imx_iomuxv1_numports = MX21_NUM_GPIO_PORT; -	} else -#endif -#ifdef CONFIG_MACH_MX27 -	if (cpu_is_mx27()) { -		imx_iomuxv1_baseaddr = MX27_IO_ADDRESS(MX27_GPIO_BASE_ADDR); -		imx_iomuxv1_numports = MX27_NUM_GPIO_PORT; -	} else -#endif -		return -ENODEV; - -	return 0; -} -pure_initcall(imx_iomuxv1_init); diff --git a/arch/arm/plat-mxc/iomux-v3.c b/arch/arm/plat-mxc/iomux-v3.c deleted file mode 100644 index b318c6a222d..00000000000 --- a/arch/arm/plat-mxc/iomux-v3.c +++ /dev/null @@ -1,71 +0,0 @@ -/* - * Copyright 2004-2006 Freescale Semiconductor, Inc. All Rights Reserved. - * Copyright (C) 2008 by Sascha Hauer <kernel@pengutronix.de> - * Copyright (C) 2009 by Jan Weitzel Phytec Messtechnik GmbH, - *                       <armlinux@phytec.de> - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, - * MA 02110-1301, USA. - */ -#include <linux/errno.h> -#include <linux/init.h> -#include <linux/kernel.h> -#include <linux/module.h> -#include <linux/string.h> -#include <linux/gpio.h> - -#include <mach/hardware.h> -#include <asm/mach/map.h> -#include <mach/iomux-v3.h> - -static void __iomem *base; - -/* - * setups a single pad in the iomuxer - */ -int mxc_iomux_v3_setup_pad(struct pad_desc *pad) -{ -	if (pad->mux_ctrl_ofs) -		__raw_writel(pad->mux_mode, base + pad->mux_ctrl_ofs); - -	if (pad->select_input_ofs) -		__raw_writel(pad->select_input, -				base + pad->select_input_ofs); - -	if (!(pad->pad_ctrl & NO_PAD_CTRL) && pad->pad_ctrl_ofs) -		__raw_writel(pad->pad_ctrl, base + pad->pad_ctrl_ofs); -	return 0; -} -EXPORT_SYMBOL(mxc_iomux_v3_setup_pad); - -int mxc_iomux_v3_setup_multiple_pads(struct pad_desc *pad_list, unsigned count) -{ -	struct pad_desc *p = pad_list; -	int i; -	int ret; - -	for (i = 0; i < count; i++) { -		ret = mxc_iomux_v3_setup_pad(p); -		if (ret) -			return ret; -		p++; -	} -	return 0; -} -EXPORT_SYMBOL(mxc_iomux_v3_setup_multiple_pads); - -void mxc_iomux_v3_init(void __iomem *iomux_v3_base) -{ -	base = iomux_v3_base; -} diff --git a/arch/arm/plat-mxc/iram_alloc.c b/arch/arm/plat-mxc/iram_alloc.c deleted file mode 100644 index 074c3869626..00000000000 --- a/arch/arm/plat-mxc/iram_alloc.c +++ /dev/null @@ -1,73 +0,0 @@ -/* - * Copyright (C) 2010 Freescale Semiconductor, Inc. All Rights Reserved. - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, - * MA 02110-1301, USA. - */ - -#include <linux/kernel.h> -#include <linux/io.h> -#include <linux/module.h> -#include <linux/spinlock.h> -#include <linux/genalloc.h> -#include <mach/iram.h> - -static unsigned long iram_phys_base; -static void __iomem *iram_virt_base; -static struct gen_pool *iram_pool; - -static inline void __iomem *iram_phys_to_virt(unsigned long p) -{ -	return iram_virt_base + (p - iram_phys_base); -} - -void __iomem *iram_alloc(unsigned int size, unsigned long *dma_addr) -{ -	if (!iram_pool) -		return NULL; - -	*dma_addr = gen_pool_alloc(iram_pool, size); -	pr_debug("iram alloc - %dB@0x%lX\n", size, *dma_addr); -	if (!*dma_addr) -		return NULL; -	return iram_phys_to_virt(*dma_addr); -} -EXPORT_SYMBOL(iram_alloc); - -void iram_free(unsigned long addr, unsigned int size) -{ -	if (!iram_pool) -		return; - -	gen_pool_free(iram_pool, addr, size); -} -EXPORT_SYMBOL(iram_free); - -int __init iram_init(unsigned long base, unsigned long size) -{ -	iram_phys_base = base; - -	iram_pool = gen_pool_create(PAGE_SHIFT, -1); -	if (!iram_pool) -		return -ENOMEM; - -	gen_pool_add(iram_pool, base, size, -1); -	iram_virt_base = ioremap(iram_phys_base, size); -	if (!iram_virt_base) -		return -EIO; - -	pr_debug("i.MX IRAM pool: %ld KB@0x%p\n", size / 1024, iram_virt_base); -	return 0; -} diff --git a/arch/arm/plat-mxc/irq.c b/arch/arm/plat-mxc/irq.c deleted file mode 100644 index 7331f2ace5f..00000000000 --- a/arch/arm/plat-mxc/irq.c +++ /dev/null @@ -1,152 +0,0 @@ -/* - * Copyright 2004-2007 Freescale Semiconductor, Inc. All Rights Reserved. - * Copyright 2008 Juergen Beisert, kernel@pengutronix.de - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, - * MA  02110-1301, USA. - */ - -#include <linux/module.h> -#include <linux/irq.h> -#include <linux/io.h> -#include <mach/common.h> -#include <asm/mach/irq.h> -#include <mach/hardware.h> - -#define AVIC_INTCNTL		0x00	/* int control reg */ -#define AVIC_NIMASK		0x04	/* int mask reg */ -#define AVIC_INTENNUM		0x08	/* int enable number reg */ -#define AVIC_INTDISNUM		0x0C	/* int disable number reg */ -#define AVIC_INTENABLEH		0x10	/* int enable reg high */ -#define AVIC_INTENABLEL		0x14	/* int enable reg low */ -#define AVIC_INTTYPEH		0x18	/* int type reg high */ -#define AVIC_INTTYPEL		0x1C	/* int type reg low */ -#define AVIC_NIPRIORITY(x)	(0x20 + 4 * (7 - (x))) /* int priority */ -#define AVIC_NIVECSR		0x40	/* norm int vector/status */ -#define AVIC_FIVECSR		0x44	/* fast int vector/status */ -#define AVIC_INTSRCH		0x48	/* int source reg high */ -#define AVIC_INTSRCL		0x4C	/* int source reg low */ -#define AVIC_INTFRCH		0x50	/* int force reg high */ -#define AVIC_INTFRCL		0x54	/* int force reg low */ -#define AVIC_NIPNDH		0x58	/* norm int pending high */ -#define AVIC_NIPNDL		0x5C	/* norm int pending low */ -#define AVIC_FIPNDH		0x60	/* fast int pending high */ -#define AVIC_FIPNDL		0x64	/* fast int pending low */ - -void __iomem *avic_base; - -int imx_irq_set_priority(unsigned char irq, unsigned char prio) -{ -#ifdef CONFIG_MXC_IRQ_PRIOR -	unsigned int temp; -	unsigned int mask = 0x0F << irq % 8 * 4; - -	if (irq >= MXC_INTERNAL_IRQS) -		return -EINVAL;; - -	temp = __raw_readl(avic_base + AVIC_NIPRIORITY(irq / 8)); -	temp &= ~mask; -	temp |= prio & mask; - -	__raw_writel(temp, avic_base + AVIC_NIPRIORITY(irq / 8)); - -	return 0; -#else -	return -ENOSYS; -#endif -} -EXPORT_SYMBOL(imx_irq_set_priority); - -#ifdef CONFIG_FIQ -int mxc_set_irq_fiq(unsigned int irq, unsigned int type) -{ -	unsigned int irqt; - -	if (irq >= MXC_INTERNAL_IRQS) -		return -EINVAL; - -	if (irq < MXC_INTERNAL_IRQS / 2) { -		irqt = __raw_readl(avic_base + AVIC_INTTYPEL) & ~(1 << irq); -		__raw_writel(irqt | (!!type << irq), avic_base + AVIC_INTTYPEL); -	} else { -		irq -= MXC_INTERNAL_IRQS / 2; -		irqt = __raw_readl(avic_base + AVIC_INTTYPEH) & ~(1 << irq); -		__raw_writel(irqt | (!!type << irq), avic_base + AVIC_INTTYPEH); -	} - -	return 0; -} -EXPORT_SYMBOL(mxc_set_irq_fiq); -#endif /* CONFIG_FIQ */ - -/* Disable interrupt number "irq" in the AVIC */ -static void mxc_mask_irq(unsigned int irq) -{ -	__raw_writel(irq, avic_base + AVIC_INTDISNUM); -} - -/* Enable interrupt number "irq" in the AVIC */ -static void mxc_unmask_irq(unsigned int irq) -{ -	__raw_writel(irq, avic_base + AVIC_INTENNUM); -} - -static struct irq_chip mxc_avic_chip = { -	.ack = mxc_mask_irq, -	.mask = mxc_mask_irq, -	.unmask = mxc_unmask_irq, -}; - -/* - * This function initializes the AVIC hardware and disables all the - * interrupts. It registers the interrupt enable and disable functions - * to the kernel for each interrupt source. - */ -void __init mxc_init_irq(void __iomem *irqbase) -{ -	int i; - -	avic_base = irqbase; - -	/* put the AVIC into the reset value with -	 * all interrupts disabled -	 */ -	__raw_writel(0, avic_base + AVIC_INTCNTL); -	__raw_writel(0x1f, avic_base + AVIC_NIMASK); - -	/* disable all interrupts */ -	__raw_writel(0, avic_base + AVIC_INTENABLEH); -	__raw_writel(0, avic_base + AVIC_INTENABLEL); - -	/* all IRQ no FIQ */ -	__raw_writel(0, avic_base + AVIC_INTTYPEH); -	__raw_writel(0, avic_base + AVIC_INTTYPEL); -	for (i = 0; i < MXC_INTERNAL_IRQS; i++) { -		set_irq_chip(i, &mxc_avic_chip); -		set_irq_handler(i, handle_level_irq); -		set_irq_flags(i, IRQF_VALID); -	} - -	/* Set default priority value (0) for all IRQ's */ -	for (i = 0; i < 8; i++) -		__raw_writel(0, avic_base + AVIC_NIPRIORITY(i)); - -#ifdef CONFIG_FIQ -	/* Initialize FIQ */ -	init_FIQ(); -#endif - -	printk(KERN_INFO "MXC IRQ initialized\n"); -} - diff --git a/arch/arm/plat-mxc/pwm.c b/arch/arm/plat-mxc/pwm.c deleted file mode 100644 index c36f2630ed9..00000000000 --- a/arch/arm/plat-mxc/pwm.c +++ /dev/null @@ -1,292 +0,0 @@ -/* - * simple driver for PWM (Pulse Width Modulator) controller - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2 as - * published by the Free Software Foundation. - * - * Derived from pxa PWM driver by eric miao <eric.miao@marvell.com> - */ - -#include <linux/module.h> -#include <linux/kernel.h> -#include <linux/platform_device.h> -#include <linux/slab.h> -#include <linux/err.h> -#include <linux/clk.h> -#include <linux/io.h> -#include <linux/pwm.h> -#include <mach/hardware.h> - - -/* i.MX1 and i.MX21 share the same PWM function block: */ - -#define MX1_PWMC    0x00   /* PWM Control Register */ -#define MX1_PWMS    0x04   /* PWM Sample Register */ -#define MX1_PWMP    0x08   /* PWM Period Register */ - - -/* i.MX27, i.MX31, i.MX35 share the same PWM function block: */ - -#define MX3_PWMCR                 0x00    /* PWM Control Register */ -#define MX3_PWMSAR                0x0C    /* PWM Sample Register */ -#define MX3_PWMPR                 0x10    /* PWM Period Register */ -#define MX3_PWMCR_PRESCALER(x)    (((x - 1) & 0xFFF) << 4) -#define MX3_PWMCR_CLKSRC_IPG_HIGH (2 << 16) -#define MX3_PWMCR_CLKSRC_IPG      (1 << 16) -#define MX3_PWMCR_EN              (1 << 0) - - - -struct pwm_device { -	struct list_head	node; -	struct platform_device *pdev; - -	const char	*label; -	struct clk	*clk; - -	int		clk_enabled; -	void __iomem	*mmio_base; - -	unsigned int	use_count; -	unsigned int	pwm_id; -}; - -int pwm_config(struct pwm_device *pwm, int duty_ns, int period_ns) -{ -	if (pwm == NULL || period_ns == 0 || duty_ns > period_ns) -		return -EINVAL; - -	if (cpu_is_mx27() || cpu_is_mx3() || cpu_is_mx25()) { -		unsigned long long c; -		unsigned long period_cycles, duty_cycles, prescale; -		u32 cr; - -		c = clk_get_rate(pwm->clk); -		c = c * period_ns; -		do_div(c, 1000000000); -		period_cycles = c; - -		prescale = period_cycles / 0x10000 + 1; - -		period_cycles /= prescale; -		c = (unsigned long long)period_cycles * duty_ns; -		do_div(c, period_ns); -		duty_cycles = c; - -		writel(duty_cycles, pwm->mmio_base + MX3_PWMSAR); -		writel(period_cycles, pwm->mmio_base + MX3_PWMPR); - -		cr = MX3_PWMCR_PRESCALER(prescale) | MX3_PWMCR_EN; - -		if (cpu_is_mx25()) -			cr |= MX3_PWMCR_CLKSRC_IPG; -		else -			cr |= MX3_PWMCR_CLKSRC_IPG_HIGH; - -		writel(cr, pwm->mmio_base + MX3_PWMCR); -	} else if (cpu_is_mx1() || cpu_is_mx21()) { -		/* The PWM subsystem allows for exact frequencies. However, -		 * I cannot connect a scope on my device to the PWM line and -		 * thus cannot provide the program the PWM controller -		 * exactly. Instead, I'm relying on the fact that the -		 * Bootloader (u-boot or WinCE+haret) has programmed the PWM -		 * function group already. So I'll just modify the PWM sample -		 * register to follow the ratio of duty_ns vs. period_ns -		 * accordingly. -		 * -		 * This is good enough for programming the brightness of -		 * the LCD backlight. -		 * -		 * The real implementation would divide PERCLK[0] first by -		 * both the prescaler (/1 .. /128) and then by CLKSEL -		 * (/2 .. /16). -		 */ -		u32 max = readl(pwm->mmio_base + MX1_PWMP); -		u32 p = max * duty_ns / period_ns; -		writel(max - p, pwm->mmio_base + MX1_PWMS); -	} else { -		BUG(); -	} - -	return 0; -} -EXPORT_SYMBOL(pwm_config); - -int pwm_enable(struct pwm_device *pwm) -{ -	int rc = 0; - -	if (!pwm->clk_enabled) { -		rc = clk_enable(pwm->clk); -		if (!rc) -			pwm->clk_enabled = 1; -	} -	return rc; -} -EXPORT_SYMBOL(pwm_enable); - -void pwm_disable(struct pwm_device *pwm) -{ -	writel(0, pwm->mmio_base + MX3_PWMCR); - -	if (pwm->clk_enabled) { -		clk_disable(pwm->clk); -		pwm->clk_enabled = 0; -	} -} -EXPORT_SYMBOL(pwm_disable); - -static DEFINE_MUTEX(pwm_lock); -static LIST_HEAD(pwm_list); - -struct pwm_device *pwm_request(int pwm_id, const char *label) -{ -	struct pwm_device *pwm; -	int found = 0; - -	mutex_lock(&pwm_lock); - -	list_for_each_entry(pwm, &pwm_list, node) { -		if (pwm->pwm_id == pwm_id) { -			found = 1; -			break; -		} -	} - -	if (found) { -		if (pwm->use_count == 0) { -			pwm->use_count++; -			pwm->label = label; -		} else -			pwm = ERR_PTR(-EBUSY); -	} else -		pwm = ERR_PTR(-ENOENT); - -	mutex_unlock(&pwm_lock); -	return pwm; -} -EXPORT_SYMBOL(pwm_request); - -void pwm_free(struct pwm_device *pwm) -{ -	mutex_lock(&pwm_lock); - -	if (pwm->use_count) { -		pwm->use_count--; -		pwm->label = NULL; -	} else -		pr_warning("PWM device already freed\n"); - -	mutex_unlock(&pwm_lock); -} -EXPORT_SYMBOL(pwm_free); - -static int __devinit mxc_pwm_probe(struct platform_device *pdev) -{ -	struct pwm_device *pwm; -	struct resource *r; -	int ret = 0; - -	pwm = kzalloc(sizeof(struct pwm_device), GFP_KERNEL); -	if (pwm == NULL) { -		dev_err(&pdev->dev, "failed to allocate memory\n"); -		return -ENOMEM; -	} - -	pwm->clk = clk_get(&pdev->dev, "pwm"); - -	if (IS_ERR(pwm->clk)) { -		ret = PTR_ERR(pwm->clk); -		goto err_free; -	} - -	pwm->clk_enabled = 0; - -	pwm->use_count = 0; -	pwm->pwm_id = pdev->id; -	pwm->pdev = pdev; - -	r = platform_get_resource(pdev, IORESOURCE_MEM, 0); -	if (r == NULL) { -		dev_err(&pdev->dev, "no memory resource defined\n"); -		ret = -ENODEV; -		goto err_free_clk; -	} - -	r = request_mem_region(r->start, r->end - r->start + 1, pdev->name); -	if (r == NULL) { -		dev_err(&pdev->dev, "failed to request memory resource\n"); -		ret = -EBUSY; -		goto err_free_clk; -	} - -	pwm->mmio_base = ioremap(r->start, r->end - r->start + 1); -	if (pwm->mmio_base == NULL) { -		dev_err(&pdev->dev, "failed to ioremap() registers\n"); -		ret = -ENODEV; -		goto err_free_mem; -	} - -	mutex_lock(&pwm_lock); -	list_add_tail(&pwm->node, &pwm_list); -	mutex_unlock(&pwm_lock); - -	platform_set_drvdata(pdev, pwm); -	return 0; - -err_free_mem: -	release_mem_region(r->start, r->end - r->start + 1); -err_free_clk: -	clk_put(pwm->clk); -err_free: -	kfree(pwm); -	return ret; -} - -static int __devexit mxc_pwm_remove(struct platform_device *pdev) -{ -	struct pwm_device *pwm; -	struct resource *r; - -	pwm = platform_get_drvdata(pdev); -	if (pwm == NULL) -		return -ENODEV; - -	mutex_lock(&pwm_lock); -	list_del(&pwm->node); -	mutex_unlock(&pwm_lock); - -	iounmap(pwm->mmio_base); - -	r = platform_get_resource(pdev, IORESOURCE_MEM, 0); -	release_mem_region(r->start, r->end - r->start + 1); - -	clk_put(pwm->clk); - -	kfree(pwm); -	return 0; -} - -static struct platform_driver mxc_pwm_driver = { -	.driver		= { -		.name	= "mxc_pwm", -	}, -	.probe		= mxc_pwm_probe, -	.remove		= __devexit_p(mxc_pwm_remove), -}; - -static int __init mxc_pwm_init(void) -{ -	return platform_driver_register(&mxc_pwm_driver); -} -arch_initcall(mxc_pwm_init); - -static void __exit mxc_pwm_exit(void) -{ -	platform_driver_unregister(&mxc_pwm_driver); -} -module_exit(mxc_pwm_exit); - -MODULE_LICENSE("GPL v2"); -MODULE_AUTHOR("Sascha Hauer <s.hauer@pengutronix.de>"); diff --git a/arch/arm/plat-mxc/ssi-fiq-ksym.c b/arch/arm/plat-mxc/ssi-fiq-ksym.c deleted file mode 100644 index b5fad454da7..00000000000 --- a/arch/arm/plat-mxc/ssi-fiq-ksym.c +++ /dev/null @@ -1,20 +0,0 @@ -/* - * Exported ksyms for the SSI FIQ handler - * - * Copyright (C) 2009, Sascha Hauer <s.hauer@pengutronix.de> - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2 as - * published by the Free Software Foundation. - */ - -#include <linux/module.h> - -#include <mach/ssi.h> - -EXPORT_SYMBOL(imx_ssi_fiq_tx_buffer); -EXPORT_SYMBOL(imx_ssi_fiq_rx_buffer); -EXPORT_SYMBOL(imx_ssi_fiq_start); -EXPORT_SYMBOL(imx_ssi_fiq_end); -EXPORT_SYMBOL(imx_ssi_fiq_base); - diff --git a/arch/arm/plat-mxc/ssi-fiq.S b/arch/arm/plat-mxc/ssi-fiq.S deleted file mode 100644 index 4ddce565b35..00000000000 --- a/arch/arm/plat-mxc/ssi-fiq.S +++ /dev/null @@ -1,134 +0,0 @@ -/* - *  Copyright (C) 2009 Sascha Hauer <s.hauer@pengutronix.de> - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2 as - * published by the Free Software Foundation. - */ - -#include <linux/linkage.h> -#include <asm/assembler.h> - -/* - * r8  = bit 0-15: tx offset, bit 16-31: tx buffer size - * r9  = bit 0-15: rx offset, bit 16-31: rx buffer size - */ - -#define SSI_STX0	0x00 -#define SSI_SRX0	0x08 -#define SSI_SISR	0x14 -#define SSI_SIER	0x18 -#define SSI_SACNT	0x38 - -#define SSI_SACNT_AC97EN	(1 << 0) - -#define SSI_SIER_TFE0_EN	(1 << 0) -#define SSI_SISR_TFE0		(1 << 0) -#define SSI_SISR_RFF0		(1 << 2) -#define SSI_SIER_RFF0_EN	(1 << 2) - -		.text -		.global	imx_ssi_fiq_start -		.global	imx_ssi_fiq_end -		.global imx_ssi_fiq_base -		.global imx_ssi_fiq_rx_buffer -		.global imx_ssi_fiq_tx_buffer - -imx_ssi_fiq_start: -		ldr r12, imx_ssi_fiq_base - -		/* TX */ -		ldr r11, imx_ssi_fiq_tx_buffer - -		/* shall we send? */ -		ldr r13, [r12, #SSI_SIER] -		tst r13, #SSI_SIER_TFE0_EN -		beq 1f - -		/* TX FIFO empty? */ -		ldr r13, [r12, #SSI_SISR] -		tst r13, #SSI_SISR_TFE0 -		beq 1f - -		mov r10, #0x10000 -		sub r10, #1 -		and r10, r10, r8	/* r10: current buffer offset */ - -		add r11, r11, r10 - -		ldrh r13, [r11] -		strh r13, [r12, #SSI_STX0] - -		ldrh r13, [r11, #2] -		strh r13, [r12, #SSI_STX0] - -		ldrh r13, [r11, #4] -		strh r13, [r12, #SSI_STX0] - -		ldrh r13, [r11, #6] -		strh r13, [r12, #SSI_STX0] - -		add r10, #8 -		lsr r13, r8, #16	/* r13: buffer size */ -		cmp r10, r13 -		lslgt r8, r13, #16 -		addle r8, #8 -1: -		/* RX */ - -		/* shall we receive? */ -		ldr r13, [r12, #SSI_SIER] -		tst r13, #SSI_SIER_RFF0_EN -		beq 1f - -		/* RX FIFO full? */ -		ldr r13, [r12, #SSI_SISR] -		tst r13, #SSI_SISR_RFF0 -		beq 1f - -		ldr r11, imx_ssi_fiq_rx_buffer - -		mov r10, #0x10000 -		sub r10, #1 -		and r10, r10, r9	/* r10: current buffer offset */ - -		add r11, r11, r10 - -		ldr r13, [r12, #SSI_SACNT] -		tst r13, #SSI_SACNT_AC97EN - -		ldr r13, [r12, #SSI_SRX0] -		strh r13, [r11] - -		ldr r13, [r12, #SSI_SRX0] -		strh r13, [r11, #2] - -		/* dummy read to skip slot 12 */ -		ldrne r13, [r12, #SSI_SRX0] - -		ldr r13, [r12, #SSI_SRX0] -		strh r13, [r11, #4] - -		ldr r13, [r12, #SSI_SRX0] -		strh r13, [r11, #6] - -		/* dummy read to skip slot 12 */ -		ldrne r13, [r12, #SSI_SRX0] - -		add r10, #8 -		lsr r13, r9, #16	/* r13: buffer size */ -		cmp r10, r13 -		lslgt r9, r13, #16 -		addle r9, #8 - -1: -		@ return from FIQ -		subs	pc, lr, #4 -imx_ssi_fiq_base: -		.word 0x0 -imx_ssi_fiq_rx_buffer: -		.word 0x0 -imx_ssi_fiq_tx_buffer: -		.word 0x0 -imx_ssi_fiq_end: - diff --git a/arch/arm/plat-mxc/system.c b/arch/arm/plat-mxc/system.c deleted file mode 100644 index 925bce4607e..00000000000 --- a/arch/arm/plat-mxc/system.c +++ /dev/null @@ -1,74 +0,0 @@ -/* - * Copyright (C) 1999 ARM Limited - * Copyright (C) 2000 Deep Blue Solutions Ltd - * Copyright 2006-2007 Freescale Semiconductor, Inc. All Rights Reserved. - * Copyright 2008 Juergen Beisert, kernel@pengutronix.de - * Copyright 2009 Ilya Yanok, Emcraft Systems Ltd, yanok@emcraft.com - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the - * GNU General Public License for more details. - */ - -#include <linux/kernel.h> -#include <linux/clk.h> -#include <linux/io.h> -#include <linux/err.h> -#include <linux/delay.h> - -#include <mach/hardware.h> -#include <mach/common.h> -#include <asm/proc-fns.h> -#include <asm/system.h> - -static void __iomem *wdog_base; - -/* - * Reset the system. It is called by machine_restart(). - */ -void arch_reset(char mode, const char *cmd) -{ -	unsigned int wcr_enable; - -#ifdef CONFIG_ARCH_MXC91231 -	if (cpu_is_mxc91231()) { -		mxc91231_arch_reset(mode, cmd); -		return; -	} -#endif -	if (cpu_is_mx1()) { -		wcr_enable = (1 << 0); -	} else { -		struct clk *clk; - -		clk = clk_get_sys("imx-wdt.0", NULL); -		if (!IS_ERR(clk)) -			clk_enable(clk); -		wcr_enable = (1 << 2); -	} - -	/* Assert SRS signal */ -	__raw_writew(wcr_enable, wdog_base); - -	/* wait for reset to assert... */ -	mdelay(500); - -	printk(KERN_ERR "Watchdog reset failed to assert reset\n"); - -	/* delay to allow the serial port to show the message */ -	mdelay(50); - -	/* we'll take a jump through zero as a poor second */ -	cpu_reset(0); -} - -void mxc_arch_reset_init(void __iomem *base) -{ -	wdog_base = base; -} diff --git a/arch/arm/plat-mxc/time.c b/arch/arm/plat-mxc/time.c deleted file mode 100644 index f9a1b059a76..00000000000 --- a/arch/arm/plat-mxc/time.c +++ /dev/null @@ -1,323 +0,0 @@ -/* - *  linux/arch/arm/plat-mxc/time.c - * - *  Copyright (C) 2000-2001 Deep Blue Solutions - *  Copyright (C) 2002 Shane Nay (shane@minirl.com) - *  Copyright (C) 2006-2007 Pavel Pisa (ppisa@pikron.com) - *  Copyright (C) 2008 Juergen Beisert (kernel@pengutronix.de) - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, - * MA 02110-1301, USA. - */ - -#include <linux/interrupt.h> -#include <linux/irq.h> -#include <linux/clockchips.h> -#include <linux/clk.h> - -#include <mach/hardware.h> -#include <asm/mach/time.h> -#include <mach/common.h> - -/* - * There are 2 versions of the timer hardware on Freescale MXC hardware. - * Version 1: MX1/MXL, MX21, MX27. - * Version 2: MX25, MX31, MX35, MX37, MX51 - */ - -/* defines common for all i.MX */ -#define MXC_TCTL		0x00 -#define MXC_TCTL_TEN		(1 << 0) /* Enable module */ -#define MXC_TPRER		0x04 - -/* MX1, MX21, MX27 */ -#define MX1_2_TCTL_CLK_PCLK1	(1 << 1) -#define MX1_2_TCTL_IRQEN	(1 << 4) -#define MX1_2_TCTL_FRR		(1 << 8) -#define MX1_2_TCMP		0x08 -#define MX1_2_TCN		0x10 -#define MX1_2_TSTAT		0x14 - -/* MX21, MX27 */ -#define MX2_TSTAT_CAPT		(1 << 1) -#define MX2_TSTAT_COMP		(1 << 0) - -/* MX31, MX35, MX25, MXC91231, MX5 */ -#define V2_TCTL_WAITEN		(1 << 3) /* Wait enable mode */ -#define V2_TCTL_CLK_IPG		(1 << 6) -#define V2_TCTL_FRR		(1 << 9) -#define V2_IR			0x0c -#define V2_TSTAT		0x08 -#define V2_TSTAT_OF1		(1 << 0) -#define V2_TCN			0x24 -#define V2_TCMP			0x10 - -#define timer_is_v1()	(cpu_is_mx1() || cpu_is_mx21() || cpu_is_mx27()) -#define timer_is_v2()	(!timer_is_v1()) - -static struct clock_event_device clockevent_mxc; -static enum clock_event_mode clockevent_mode = CLOCK_EVT_MODE_UNUSED; - -static void __iomem *timer_base; - -static inline void gpt_irq_disable(void) -{ -	unsigned int tmp; - -	if (timer_is_v2()) -		__raw_writel(0, timer_base + V2_IR); -	else { -		tmp = __raw_readl(timer_base + MXC_TCTL); -		__raw_writel(tmp & ~MX1_2_TCTL_IRQEN, timer_base + MXC_TCTL); -	} -} - -static inline void gpt_irq_enable(void) -{ -	if (timer_is_v2()) -		__raw_writel(1<<0, timer_base + V2_IR); -	else { -		__raw_writel(__raw_readl(timer_base + MXC_TCTL) | MX1_2_TCTL_IRQEN, -			timer_base + MXC_TCTL); -	} -} - -static void gpt_irq_acknowledge(void) -{ -	if (timer_is_v1()) { -		if (cpu_is_mx1()) -			__raw_writel(0, timer_base + MX1_2_TSTAT); -		else -			__raw_writel(MX2_TSTAT_CAPT | MX2_TSTAT_COMP, -				timer_base + MX1_2_TSTAT); -	} else if (timer_is_v2()) -		__raw_writel(V2_TSTAT_OF1, timer_base + V2_TSTAT); -} - -static cycle_t mx1_2_get_cycles(struct clocksource *cs) -{ -	return __raw_readl(timer_base + MX1_2_TCN); -} - -static cycle_t v2_get_cycles(struct clocksource *cs) -{ -	return __raw_readl(timer_base + V2_TCN); -} - -static struct clocksource clocksource_mxc = { -	.name 		= "mxc_timer1", -	.rating		= 200, -	.read		= mx1_2_get_cycles, -	.mask		= CLOCKSOURCE_MASK(32), -	.shift 		= 20, -	.flags		= CLOCK_SOURCE_IS_CONTINUOUS, -}; - -static int __init mxc_clocksource_init(struct clk *timer_clk) -{ -	unsigned int c = clk_get_rate(timer_clk); - -	if (timer_is_v2()) -		clocksource_mxc.read = v2_get_cycles; - -	clocksource_mxc.mult = clocksource_hz2mult(c, -					clocksource_mxc.shift); -	clocksource_register(&clocksource_mxc); - -	return 0; -} - -/* clock event */ - -static int mx1_2_set_next_event(unsigned long evt, -			      struct clock_event_device *unused) -{ -	unsigned long tcmp; - -	tcmp = __raw_readl(timer_base + MX1_2_TCN) + evt; - -	__raw_writel(tcmp, timer_base + MX1_2_TCMP); - -	return (int)(tcmp - __raw_readl(timer_base + MX1_2_TCN)) < 0 ? -				-ETIME : 0; -} - -static int v2_set_next_event(unsigned long evt, -			      struct clock_event_device *unused) -{ -	unsigned long tcmp; - -	tcmp = __raw_readl(timer_base + V2_TCN) + evt; - -	__raw_writel(tcmp, timer_base + V2_TCMP); - -	return (int)(tcmp - __raw_readl(timer_base + V2_TCN)) < 0 ? -				-ETIME : 0; -} - -#ifdef DEBUG -static const char *clock_event_mode_label[] = { -	[CLOCK_EVT_MODE_PERIODIC] = "CLOCK_EVT_MODE_PERIODIC", -	[CLOCK_EVT_MODE_ONESHOT]  = "CLOCK_EVT_MODE_ONESHOT", -	[CLOCK_EVT_MODE_SHUTDOWN] = "CLOCK_EVT_MODE_SHUTDOWN", -	[CLOCK_EVT_MODE_UNUSED]   = "CLOCK_EVT_MODE_UNUSED" -}; -#endif /* DEBUG */ - -static void mxc_set_mode(enum clock_event_mode mode, -				struct clock_event_device *evt) -{ -	unsigned long flags; - -	/* -	 * The timer interrupt generation is disabled at least -	 * for enough time to call mxc_set_next_event() -	 */ -	local_irq_save(flags); - -	/* Disable interrupt in GPT module */ -	gpt_irq_disable(); - -	if (mode != clockevent_mode) { -		/* Set event time into far-far future */ -		if (timer_is_v2()) -			__raw_writel(__raw_readl(timer_base + V2_TCN) - 3, -					timer_base + V2_TCMP); -		else -			__raw_writel(__raw_readl(timer_base + MX1_2_TCN) - 3, -					timer_base + MX1_2_TCMP); - -		/* Clear pending interrupt */ -		gpt_irq_acknowledge(); -	} - -#ifdef DEBUG -	printk(KERN_INFO "mxc_set_mode: changing mode from %s to %s\n", -		clock_event_mode_label[clockevent_mode], -		clock_event_mode_label[mode]); -#endif /* DEBUG */ - -	/* Remember timer mode */ -	clockevent_mode = mode; -	local_irq_restore(flags); - -	switch (mode) { -	case CLOCK_EVT_MODE_PERIODIC: -		printk(KERN_ERR"mxc_set_mode: Periodic mode is not " -				"supported for i.MX\n"); -		break; -	case CLOCK_EVT_MODE_ONESHOT: -	/* -	 * Do not put overhead of interrupt enable/disable into -	 * mxc_set_next_event(), the core has about 4 minutes -	 * to call mxc_set_next_event() or shutdown clock after -	 * mode switching -	 */ -		local_irq_save(flags); -		gpt_irq_enable(); -		local_irq_restore(flags); -		break; -	case CLOCK_EVT_MODE_SHUTDOWN: -	case CLOCK_EVT_MODE_UNUSED: -	case CLOCK_EVT_MODE_RESUME: -		/* Left event sources disabled, no more interrupts appear */ -		break; -	} -} - -/* - * IRQ handler for the timer - */ -static irqreturn_t mxc_timer_interrupt(int irq, void *dev_id) -{ -	struct clock_event_device *evt = &clockevent_mxc; -	uint32_t tstat; - -	if (timer_is_v2()) -		tstat = __raw_readl(timer_base + V2_TSTAT); -	else -		tstat = __raw_readl(timer_base + MX1_2_TSTAT); - -	gpt_irq_acknowledge(); - -	evt->event_handler(evt); - -	return IRQ_HANDLED; -} - -static struct irqaction mxc_timer_irq = { -	.name		= "i.MX Timer Tick", -	.flags		= IRQF_DISABLED | IRQF_TIMER | IRQF_IRQPOLL, -	.handler	= mxc_timer_interrupt, -}; - -static struct clock_event_device clockevent_mxc = { -	.name		= "mxc_timer1", -	.features	= CLOCK_EVT_FEAT_ONESHOT, -	.shift		= 32, -	.set_mode	= mxc_set_mode, -	.set_next_event	= mx1_2_set_next_event, -	.rating		= 200, -}; - -static int __init mxc_clockevent_init(struct clk *timer_clk) -{ -	unsigned int c = clk_get_rate(timer_clk); - -	if (timer_is_v2()) -		clockevent_mxc.set_next_event = v2_set_next_event; - -	clockevent_mxc.mult = div_sc(c, NSEC_PER_SEC, -					clockevent_mxc.shift); -	clockevent_mxc.max_delta_ns = -			clockevent_delta2ns(0xfffffffe, &clockevent_mxc); -	clockevent_mxc.min_delta_ns = -			clockevent_delta2ns(0xff, &clockevent_mxc); - -	clockevent_mxc.cpumask = cpumask_of(0); - -	clockevents_register_device(&clockevent_mxc); - -	return 0; -} - -void __init mxc_timer_init(struct clk *timer_clk, void __iomem *base, int irq) -{ -	uint32_t tctl_val; - -	clk_enable(timer_clk); - -	timer_base = base; - -	/* -	 * Initialise to a known state (all timers off, and timing reset) -	 */ - -	__raw_writel(0, timer_base + MXC_TCTL); -	__raw_writel(0, timer_base + MXC_TPRER); /* see datasheet note */ - -	if (timer_is_v2()) -		tctl_val = V2_TCTL_CLK_IPG | V2_TCTL_FRR | V2_TCTL_WAITEN | MXC_TCTL_TEN; -	else -		tctl_val = MX1_2_TCTL_FRR | MX1_2_TCTL_CLK_PCLK1 | MXC_TCTL_TEN; - -	__raw_writel(tctl_val, timer_base + MXC_TCTL); - -	/* init and register the timer to the framework */ -	mxc_clocksource_init(timer_clk); -	mxc_clockevent_init(timer_clk); - -	/* Make irqs happen */ -	setup_irq(irq, &mxc_timer_irq); -} diff --git a/arch/arm/plat-mxc/tzic.c b/arch/arm/plat-mxc/tzic.c deleted file mode 100644 index 3703ab28257..00000000000 --- a/arch/arm/plat-mxc/tzic.c +++ /dev/null @@ -1,173 +0,0 @@ -/* - * Copyright (C)2004-2010 Freescale Semiconductor, Inc. All Rights Reserved. - * - * The code contained herein is licensed under the GNU General Public - * License. You may obtain a copy of the GNU General Public License - * Version 2 or later at the following locations: - * - * http://www.opensource.org/licenses/gpl-license.html - * http://www.gnu.org/copyleft/gpl.html - */ - -#include <linux/module.h> -#include <linux/moduleparam.h> -#include <linux/init.h> -#include <linux/device.h> -#include <linux/errno.h> -#include <linux/io.h> - -#include <asm/mach/irq.h> - -#include <mach/hardware.h> -#include <mach/common.h> - -/* - ***************************************** - * TZIC Registers                        * - ***************************************** - */ - -#define TZIC_INTCNTL	0x0000	/* Control register */ -#define TZIC_INTTYPE	0x0004	/* Controller Type register */ -#define TZIC_IMPID	0x0008	/* Distributor Implementer Identification */ -#define TZIC_PRIOMASK	0x000C	/* Priority Mask Reg */ -#define TZIC_SYNCCTRL	0x0010	/* Synchronizer Control register */ -#define TZIC_DSMINT	0x0014	/* DSM interrupt Holdoffregister */ -#define TZIC_INTSEC0(i)	(0x0080 + ((i) << 2)) /* Interrupt Security Reg 0 */ -#define TZIC_ENSET0(i)	(0x0100 + ((i) << 2)) /* Enable Set Reg 0 */ -#define TZIC_ENCLEAR0(i) (0x0180 + ((i) << 2)) /* Enable Clear Reg 0 */ -#define TZIC_SRCSET0	0x0200	/* Source Set Register 0 */ -#define TZIC_SRCCLAR0	0x0280	/* Source Clear Register 0 */ -#define TZIC_PRIORITY0	0x0400	/* Priority Register 0 */ -#define TZIC_PND0	0x0D00	/* Pending Register 0 */ -#define TZIC_HIPND0	0x0D80	/* High Priority Pending Register */ -#define TZIC_WAKEUP0(i)	(0x0E00 + ((i) << 2))	/* Wakeup Config Register */ -#define TZIC_SWINT	0x0F00	/* Software Interrupt Rigger Register */ -#define TZIC_ID0	0x0FD0	/* Indentification Register 0 */ - -void __iomem *tzic_base; /* Used as irq controller base in entry-macro.S */ - -/** - * tzic_mask_irq() - Disable interrupt number "irq" in the TZIC - * - * @param  irq          interrupt source number - */ -static void tzic_mask_irq(unsigned int irq) -{ -	int index, off; - -	index = irq >> 5; -	off = irq & 0x1F; -	__raw_writel(1 << off, tzic_base + TZIC_ENCLEAR0(index)); -} - -/** - * tzic_unmask_irq() - Enable interrupt number "irq" in the TZIC - * - * @param  irq          interrupt source number - */ -static void tzic_unmask_irq(unsigned int irq) -{ -	int index, off; - -	index = irq >> 5; -	off = irq & 0x1F; -	__raw_writel(1 << off, tzic_base + TZIC_ENSET0(index)); -} - -static unsigned int wakeup_intr[4]; - -/** - * tzic_set_wake_irq() - Set interrupt number "irq" in the TZIC as a wake-up source. - * - * @param  irq          interrupt source number - * @param  enable       enable as wake-up if equal to non-zero - * 			disble as wake-up if equal to zero - * - * @return       This function returns 0 on success. - */ -static int tzic_set_wake_irq(unsigned int irq, unsigned int enable) -{ -	unsigned int index, off; - -	index = irq >> 5; -	off = irq & 0x1F; - -	if (index > 3) -		return -EINVAL; - -	if (enable) -		wakeup_intr[index] |= (1 << off); -	else -		wakeup_intr[index] &= ~(1 << off); - -	return 0; -} - -static struct irq_chip mxc_tzic_chip = { -	.name = "MXC_TZIC", -	.ack = tzic_mask_irq, -	.mask = tzic_mask_irq, -	.unmask = tzic_unmask_irq, -	.set_wake = tzic_set_wake_irq, -}; - -/* - * This function initializes the TZIC hardware and disables all the - * interrupts. It registers the interrupt enable and disable functions - * to the kernel for each interrupt source. - */ -void __init tzic_init_irq(void __iomem *irqbase) -{ -	int i; - -	tzic_base = irqbase; -	/* put the TZIC into the reset value with -	 * all interrupts disabled -	 */ -	i = __raw_readl(tzic_base + TZIC_INTCNTL); - -	__raw_writel(0x80010001, tzic_base + TZIC_INTCNTL); -	__raw_writel(0x1f, tzic_base + TZIC_PRIOMASK); -	__raw_writel(0x02, tzic_base + TZIC_SYNCCTRL); - -	for (i = 0; i < 4; i++) -		__raw_writel(0xFFFFFFFF, tzic_base + TZIC_INTSEC0(i)); - -	/* disable all interrupts */ -	for (i = 0; i < 4; i++) -		__raw_writel(0xFFFFFFFF, tzic_base + TZIC_ENCLEAR0(i)); - -	/* all IRQ no FIQ Warning :: No selection */ - -	for (i = 0; i < MXC_INTERNAL_IRQS; i++) { -		set_irq_chip(i, &mxc_tzic_chip); -		set_irq_handler(i, handle_level_irq); -		set_irq_flags(i, IRQF_VALID); -	} -	pr_info("TrustZone Interrupt Controller (TZIC) initialized\n"); -} - -/** - * tzic_enable_wake() - enable wakeup interrupt - * - * @param is_idle		1 if called in idle loop (ENSET0 register); - *				0 to be used when called from low power entry - * @return			0 if successful; non-zero otherwise - */ -int tzic_enable_wake(int is_idle) -{ -	unsigned int i, v; - -	__raw_writel(1, tzic_base + TZIC_DSMINT); -	if (unlikely(__raw_readl(tzic_base + TZIC_DSMINT) == 0)) -		return -EAGAIN; - -	for (i = 0; i < 4; i++) { -		v = is_idle ? __raw_readl(tzic_base + TZIC_ENSET0(i)) : -			wakeup_intr[i]; -		__raw_writel(v, tzic_base + TZIC_WAKEUP0(i)); -	} - -	return 0; -} diff --git a/arch/arm/plat-mxc/ulpi.c b/arch/arm/plat-mxc/ulpi.c deleted file mode 100644 index 582c6dfaba4..00000000000 --- a/arch/arm/plat-mxc/ulpi.c +++ /dev/null @@ -1,113 +0,0 @@ -/* - * Copyright 2008 Sascha Hauer, Pengutronix <s.hauer@pengutronix.de> - * Copyright 2009 Daniel Mack <daniel@caiaq.de> - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, - * MA  02110-1301, USA. - */ - -#include <linux/module.h> -#include <linux/kernel.h> -#include <linux/io.h> -#include <linux/delay.h> -#include <linux/usb/otg.h> - -#include <mach/ulpi.h> - -/* ULPIVIEW register bits */ -#define ULPIVW_WU		(1 << 31)	/* Wakeup */ -#define ULPIVW_RUN		(1 << 30)	/* read/write run */ -#define ULPIVW_WRITE		(1 << 29)	/* 0 = read  1 = write */ -#define ULPIVW_SS		(1 << 27)	/* SyncState */ -#define ULPIVW_PORT_MASK	0x07	/* Port field */ -#define ULPIVW_PORT_SHIFT	24 -#define ULPIVW_ADDR_MASK	0xff	/* data address field */ -#define ULPIVW_ADDR_SHIFT	16 -#define ULPIVW_RDATA_MASK	0xff	/* read data field */ -#define ULPIVW_RDATA_SHIFT	8 -#define ULPIVW_WDATA_MASK	0xff	/* write data field */ -#define ULPIVW_WDATA_SHIFT	0 - -static int ulpi_poll(void __iomem *view, u32 bit) -{ -	int timeout = 10000; - -	while (timeout--) { -		u32 data = __raw_readl(view); - -		if (!(data & bit)) -			return 0; - -		cpu_relax(); -	}; - -	printk(KERN_WARNING "timeout polling for ULPI device\n"); - -	return -ETIMEDOUT; -} - -static int ulpi_read(struct otg_transceiver *otg, u32 reg) -{ -	int ret; -	void __iomem *view = otg->io_priv; - -	/* make sure interface is running */ -	if (!(__raw_readl(view) & ULPIVW_SS)) { -		__raw_writel(ULPIVW_WU, view); - -		/* wait for wakeup */ -		ret = ulpi_poll(view, ULPIVW_WU); -		if (ret) -			return ret; -	} - -	/* read the register */ -	__raw_writel((ULPIVW_RUN | (reg << ULPIVW_ADDR_SHIFT)), view); - -	/* wait for completion */ -	ret = ulpi_poll(view, ULPIVW_RUN); -	if (ret) -		return ret; - -	return (__raw_readl(view) >> ULPIVW_RDATA_SHIFT) & ULPIVW_RDATA_MASK; -} - -static int ulpi_write(struct otg_transceiver *otg, u32 val, u32 reg) -{ -	int ret; -	void __iomem *view = otg->io_priv; - -	/* make sure the interface is running */ -	if (!(__raw_readl(view) & ULPIVW_SS)) { -		__raw_writel(ULPIVW_WU, view); -		/* wait for wakeup */ -		ret = ulpi_poll(view, ULPIVW_WU); -		if (ret) -			return ret; -	} - -	__raw_writel((ULPIVW_RUN | ULPIVW_WRITE | -		      (reg << ULPIVW_ADDR_SHIFT) | -		      ((val & ULPIVW_WDATA_MASK) << ULPIVW_WDATA_SHIFT)), view); - -	/* wait for completion */ -	return ulpi_poll(view, ULPIVW_RUN); -} - -struct otg_io_access_ops mxc_ulpi_access_ops = { -	.read	= ulpi_read, -	.write	= ulpi_write, -}; -EXPORT_SYMBOL_GPL(mxc_ulpi_access_ops); -  | 
