You've already forked linux-apfs
mirror of
https://github.com/linux-apfs/linux-apfs.git
synced 2026-05-01 15:00:59 -07:00
Merge branch 'for-rmk-next' of git://git.pengutronix.de/git/imx/linux-2.6 into devel-stable
This commit is contained in:
@@ -21,8 +21,14 @@ CONFIG_ARCH_MX2=y
|
||||
CONFIG_MACH_MX27=y
|
||||
CONFIG_MACH_MX27ADS=y
|
||||
CONFIG_MACH_PCM038=y
|
||||
CONFIG_MACH_CPUIMX27=y
|
||||
CONFIG_MACH_EUKREA_CPUIMX27_USESDHC2=y
|
||||
CONFIG_MACH_EUKREA_CPUIMX27_USEUART4=y
|
||||
CONFIG_MACH_MX27_3DS=y
|
||||
CONFIG_MACH_IMX27_VISSTRIM_M10=y
|
||||
CONFIG_MACH_IMX27LITE=y
|
||||
CONFIG_MACH_PCA100=y
|
||||
CONFIG_MACH_MXT_TD60=y
|
||||
CONFIG_MXC_IRQ_PRIOR=y
|
||||
CONFIG_MXC_PWM=y
|
||||
CONFIG_NO_HZ=y
|
||||
@@ -76,7 +82,9 @@ CONFIG_INPUT_EVDEV=y
|
||||
# CONFIG_INPUT_KEYBOARD is not set
|
||||
# CONFIG_INPUT_MOUSE is not set
|
||||
CONFIG_INPUT_TOUCHSCREEN=y
|
||||
CONFIG_TOUCHSCREEN_ADS7846=m
|
||||
# CONFIG_SERIO is not set
|
||||
CONFIG_SERIAL_8250=m
|
||||
CONFIG_SERIAL_IMX=y
|
||||
CONFIG_SERIAL_IMX_CONSOLE=y
|
||||
# CONFIG_LEGACY_PTYS is not set
|
||||
@@ -85,19 +93,20 @@ CONFIG_I2C=y
|
||||
CONFIG_I2C_CHARDEV=y
|
||||
CONFIG_I2C_IMX=y
|
||||
CONFIG_SPI=y
|
||||
CONFIG_SPI_BITBANG=y
|
||||
CONFIG_SPI_IMX=y
|
||||
CONFIG_W1=y
|
||||
CONFIG_W1_MASTER_MXC=y
|
||||
CONFIG_W1_SLAVE_THERM=y
|
||||
# CONFIG_HWMON is not set
|
||||
CONFIG_FB=y
|
||||
CONFIG_FB_IMX=y
|
||||
# CONFIG_VGA_CONSOLE is not set
|
||||
CONFIG_FRAMEBUFFER_CONSOLE=y
|
||||
CONFIG_FONTS=y
|
||||
CONFIG_FONT_8x8=y
|
||||
# CONFIG_HID_SUPPORT is not set
|
||||
# CONFIG_USB_SUPPORT is not set
|
||||
CONFIG_USB=m
|
||||
# CONFIG_USB_DEVICE_CLASS is not set
|
||||
CONFIG_USB_ULPI=y
|
||||
CONFIG_MMC=y
|
||||
CONFIG_MMC_MXC=y
|
||||
CONFIG_RTC_CLASS=y
|
||||
|
||||
@@ -1,44 +0,0 @@
|
||||
# CONFIG_LOCALVERSION_AUTO is not set
|
||||
# CONFIG_SWAP is not set
|
||||
# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
|
||||
# CONFIG_COMPAT_BRK is not set
|
||||
# CONFIG_IOSCHED_DEADLINE is not set
|
||||
# CONFIG_IOSCHED_CFQ is not set
|
||||
CONFIG_ARCH_MXC=y
|
||||
# CONFIG_MACH_MX31ADS is not set
|
||||
CONFIG_MACH_MX31_3DS=y
|
||||
CONFIG_AEABI=y
|
||||
CONFIG_NET=y
|
||||
CONFIG_PACKET=y
|
||||
CONFIG_UNIX=y
|
||||
CONFIG_NET_KEY=y
|
||||
CONFIG_INET=y
|
||||
CONFIG_IP_PNP=y
|
||||
CONFIG_IP_PNP_DHCP=y
|
||||
# CONFIG_INET_LRO is not set
|
||||
CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
|
||||
# CONFIG_PREVENT_FIRMWARE_BUILD is not set
|
||||
# CONFIG_FIRMWARE_IN_KERNEL is not set
|
||||
# CONFIG_BLK_DEV is not set
|
||||
# CONFIG_MISC_DEVICES is not set
|
||||
CONFIG_NETDEVICES=y
|
||||
CONFIG_NET_ETHERNET=y
|
||||
# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
|
||||
# CONFIG_INPUT_KEYBOARD is not set
|
||||
# CONFIG_INPUT_MOUSE is not set
|
||||
# CONFIG_SERIO is not set
|
||||
# CONFIG_DEVKMEM is not set
|
||||
CONFIG_SERIAL_IMX=y
|
||||
CONFIG_SERIAL_IMX_CONSOLE=y
|
||||
# CONFIG_LEGACY_PTYS is not set
|
||||
# CONFIG_HW_RANDOM is not set
|
||||
# CONFIG_HWMON is not set
|
||||
# CONFIG_VGA_CONSOLE is not set
|
||||
# CONFIG_HID_SUPPORT is not set
|
||||
# CONFIG_USB_SUPPORT is not set
|
||||
# CONFIG_DNOTIFY is not set
|
||||
# CONFIG_ENABLE_WARN_DEPRECATED is not set
|
||||
# CONFIG_ENABLE_MUST_CHECK is not set
|
||||
# CONFIG_RCU_CPU_STALL_DETECTOR is not set
|
||||
# CONFIG_CRYPTO_ANSI_CPRNG is not set
|
||||
# CONFIG_CRC32 is not set
|
||||
@@ -24,6 +24,7 @@ CONFIG_MACH_PCM043=y
|
||||
CONFIG_MACH_ARMADILLO5X0=y
|
||||
CONFIG_MACH_MX35_3DS=y
|
||||
CONFIG_MACH_KZM_ARM11_01=y
|
||||
CONFIG_MACH_EUKREA_CPUIMX35=y
|
||||
CONFIG_MXC_IRQ_PRIOR=y
|
||||
CONFIG_MXC_PWM=y
|
||||
CONFIG_NO_HZ=y
|
||||
@@ -108,7 +109,6 @@ CONFIG_MMC=y
|
||||
CONFIG_MMC_MXC=y
|
||||
CONFIG_DMADEVICES=y
|
||||
# CONFIG_DNOTIFY is not set
|
||||
CONFIG_INOTIFY=y
|
||||
CONFIG_TMPFS=y
|
||||
CONFIG_JFFS2_FS=y
|
||||
CONFIG_UBIFS_FS=y
|
||||
|
||||
@@ -15,6 +15,8 @@ CONFIG_MODULE_SRCVERSION_ALL=y
|
||||
CONFIG_ARCH_MXC=y
|
||||
CONFIG_ARCH_MX5=y
|
||||
CONFIG_MACH_MX51_BABBAGE=y
|
||||
CONFIG_MACH_MX51_3DS=y
|
||||
CONFIG_MACH_EUKREA_CPUIMX51=y
|
||||
CONFIG_NO_HZ=y
|
||||
CONFIG_HIGH_RES_TIMERS=y
|
||||
CONFIG_PREEMPT_VOLUNTARY=y
|
||||
@@ -69,7 +71,6 @@ CONFIG_REALTEK_PHY=y
|
||||
CONFIG_NATIONAL_PHY=y
|
||||
CONFIG_STE10XP=y
|
||||
CONFIG_LSI_ET1011C_PHY=y
|
||||
CONFIG_FIXED_PHY=y
|
||||
CONFIG_MDIO_BITBANG=y
|
||||
CONFIG_MDIO_GPIO=y
|
||||
CONFIG_NET_ETHERNET=y
|
||||
@@ -100,7 +101,6 @@ CONFIG_I2C_ALGOPCF=m
|
||||
CONFIG_I2C_ALGOPCA=m
|
||||
CONFIG_GPIO_SYSFS=y
|
||||
# CONFIG_HWMON is not set
|
||||
# CONFIG_VGA_CONSOLE is not set
|
||||
# CONFIG_HID_SUPPORT is not set
|
||||
CONFIG_USB=y
|
||||
CONFIG_USB_EHCI_HCD=y
|
||||
@@ -117,13 +117,11 @@ CONFIG_EXT2_FS_XATTR=y
|
||||
CONFIG_EXT2_FS_POSIX_ACL=y
|
||||
CONFIG_EXT2_FS_SECURITY=y
|
||||
CONFIG_EXT3_FS=y
|
||||
CONFIG_EXT3_DEFAULTS_TO_ORDERED=y
|
||||
CONFIG_EXT3_FS_POSIX_ACL=y
|
||||
CONFIG_EXT3_FS_SECURITY=y
|
||||
CONFIG_EXT4_FS=y
|
||||
CONFIG_EXT4_FS_POSIX_ACL=y
|
||||
CONFIG_EXT4_FS_SECURITY=y
|
||||
CONFIG_INOTIFY=y
|
||||
CONFIG_QUOTA=y
|
||||
CONFIG_QUOTA_NETLINK_INTERFACE=y
|
||||
# CONFIG_PRINT_QUOTA_WARNING is not set
|
||||
@@ -136,6 +134,7 @@ CONFIG_ZISOFS=y
|
||||
CONFIG_UDF_FS=m
|
||||
CONFIG_MSDOS_FS=m
|
||||
CONFIG_VFAT_FS=y
|
||||
CONFIG_TMPFS=y
|
||||
CONFIG_CONFIGFS_FS=m
|
||||
CONFIG_NFS_FS=y
|
||||
CONFIG_NFS_V3=y
|
||||
@@ -151,7 +150,6 @@ CONFIG_NLS_UTF8=y
|
||||
CONFIG_MAGIC_SYSRQ=y
|
||||
CONFIG_DEBUG_FS=y
|
||||
CONFIG_DEBUG_KERNEL=y
|
||||
# CONFIG_DETECT_SOFTLOCKUP is not set
|
||||
# CONFIG_SCHED_DEBUG is not set
|
||||
# CONFIG_DEBUG_BUGVERBOSE is not set
|
||||
# CONFIG_RCU_CPU_STALL_DETECTOR is not set
|
||||
@@ -159,7 +157,6 @@ CONFIG_DEBUG_KERNEL=y
|
||||
# CONFIG_ARM_UNWIND is not set
|
||||
CONFIG_DEBUG_LL=y
|
||||
CONFIG_EARLY_PRINTK=y
|
||||
CONFIG_KEYS=y
|
||||
CONFIG_SECURITYFS=y
|
||||
CONFIG_CRYPTO_DEFLATE=y
|
||||
CONFIG_CRYPTO_LZO=y
|
||||
|
||||
@@ -146,8 +146,8 @@ choice
|
||||
default MACH_EUKREA_MBIMX27_BASEBOARD
|
||||
|
||||
config MACH_EUKREA_MBIMX27_BASEBOARD
|
||||
prompt "Eukrea MBIMX27 development board"
|
||||
bool
|
||||
bool "Eukrea MBIMX27 development board"
|
||||
select IMX_HAVE_PLATFORM_IMX_SSI
|
||||
select IMX_HAVE_PLATFORM_IMX_UART
|
||||
select IMX_HAVE_PLATFORM_SPI_IMX
|
||||
help
|
||||
@@ -163,6 +163,15 @@ config MACH_MX27_3DS
|
||||
Include support for MX27PDK platform. This includes specific
|
||||
configurations for the board and its peripherals.
|
||||
|
||||
config MACH_IMX27_VISSTRIM_M10
|
||||
bool "Vista Silicon i.MX27 Visstrim_m10"
|
||||
select IMX_HAVE_PLATFORM_IMX_I2C
|
||||
select IMX_HAVE_PLATFORM_IMX_UART
|
||||
help
|
||||
Include support for Visstrim_m10 platform and its different variants.
|
||||
This includes specific configurations for the board and its
|
||||
peripherals.
|
||||
|
||||
config MACH_IMX27LITE
|
||||
bool "LogicPD MX27 LITEKIT platform"
|
||||
select IMX_HAVE_PLATFORM_IMX_UART
|
||||
@@ -173,6 +182,7 @@ config MACH_IMX27LITE
|
||||
config MACH_PCA100
|
||||
bool "Phytec phyCARD-s (pca100)"
|
||||
select IMX_HAVE_PLATFORM_IMX_I2C
|
||||
select IMX_HAVE_PLATFORM_IMX_SSI
|
||||
select IMX_HAVE_PLATFORM_IMX_UART
|
||||
select IMX_HAVE_PLATFORM_MXC_NAND
|
||||
select IMX_HAVE_PLATFORM_SPI_IMX
|
||||
|
||||
@@ -27,6 +27,7 @@ obj-$(CONFIG_MACH_PCM038) += mach-pcm038.o
|
||||
obj-$(CONFIG_MACH_PCM970_BASEBOARD) += pcm970-baseboard.o
|
||||
obj-$(CONFIG_MACH_MX27_3DS) += mach-mx27_3ds.o
|
||||
obj-$(CONFIG_MACH_IMX27LITE) += mach-imx27lite.o
|
||||
obj-$(CONFIG_MACH_IMX27_VISSTRIM_M10) += mach-imx27_visstrim_m10.o
|
||||
obj-$(CONFIG_MACH_CPUIMX27) += mach-cpuimx27.o
|
||||
obj-$(CONFIG_MACH_EUKREA_MBIMX27_BASEBOARD) += eukrea_mbimx27-baseboard.o
|
||||
obj-$(CONFIG_MACH_PCA100) += mach-pca100.o
|
||||
|
||||
@@ -592,7 +592,7 @@ static struct clk_lookup lookups[] __initdata = {
|
||||
_REGISTER_CLOCK("imx-uart.1", NULL, uart_clk)
|
||||
_REGISTER_CLOCK("imx-uart.2", NULL, uart_clk)
|
||||
_REGISTER_CLOCK("imx-i2c.0", NULL, i2c_clk)
|
||||
_REGISTER_CLOCK("spi_imx.0", NULL, spi_clk)
|
||||
_REGISTER_CLOCK("imx1-cspi.0", NULL, spi_clk)
|
||||
_REGISTER_CLOCK("imx-mmc.0", NULL, sdhc_clk)
|
||||
_REGISTER_CLOCK("imx-fb.0", NULL, lcdc_clk)
|
||||
_REGISTER_CLOCK(NULL, "mshc", mshc_clk)
|
||||
|
||||
@@ -1172,9 +1172,9 @@ static struct clk_lookup lookups[] = {
|
||||
_REGISTER_CLOCK(NULL, "pwm", pwm_clk[0])
|
||||
_REGISTER_CLOCK(NULL, "sdhc1", sdhc_clk[0])
|
||||
_REGISTER_CLOCK(NULL, "sdhc2", sdhc_clk[1])
|
||||
_REGISTER_CLOCK(NULL, "cspi1", cspi_clk[0])
|
||||
_REGISTER_CLOCK(NULL, "cspi2", cspi_clk[1])
|
||||
_REGISTER_CLOCK(NULL, "cspi3", cspi_clk[2])
|
||||
_REGISTER_CLOCK("imx21-cspi.0", NULL, cspi_clk[0])
|
||||
_REGISTER_CLOCK("imx21-cspi.1", NULL, cspi_clk[1])
|
||||
_REGISTER_CLOCK("imx21-cspi.2", NULL, cspi_clk[2])
|
||||
_REGISTER_CLOCK("imx-fb.0", NULL, lcdc_clk[0])
|
||||
_REGISTER_CLOCK(NULL, "csi", csi_clk[0])
|
||||
_REGISTER_CLOCK("imx21-hcd.0", NULL, usb_clk[0])
|
||||
|
||||
@@ -594,27 +594,27 @@ DEFINE_CLOCK(uart2_clk1, 0, PCCR1, 30, NULL, NULL, &ipg_clk);
|
||||
DEFINE_CLOCK(uart1_clk1, 0, PCCR1, 31, NULL, NULL, &ipg_clk);
|
||||
|
||||
/* Clocks we cannot directly gate, but drivers need their rates */
|
||||
DEFINE_CLOCK(cspi1_clk, 0, 0, 0, NULL, &cspi1_clk1, &per2_clk);
|
||||
DEFINE_CLOCK(cspi2_clk, 1, 0, 0, NULL, &cspi2_clk1, &per2_clk);
|
||||
DEFINE_CLOCK(cspi3_clk, 2, 0, 0, NULL, &cspi13_clk1, &per2_clk);
|
||||
DEFINE_CLOCK(sdhc1_clk, 0, 0, 0, NULL, &sdhc1_clk1, &per2_clk);
|
||||
DEFINE_CLOCK(sdhc2_clk, 1, 0, 0, NULL, &sdhc2_clk1, &per2_clk);
|
||||
DEFINE_CLOCK(sdhc3_clk, 2, 0, 0, NULL, &sdhc3_clk1, &per2_clk);
|
||||
DEFINE_CLOCK(pwm_clk, 0, 0, 0, NULL, &pwm_clk1, &per1_clk);
|
||||
DEFINE_CLOCK(gpt1_clk, 0, 0, 0, NULL, &gpt1_clk1, &per1_clk);
|
||||
DEFINE_CLOCK(gpt2_clk, 1, 0, 0, NULL, &gpt2_clk1, &per1_clk);
|
||||
DEFINE_CLOCK(gpt3_clk, 2, 0, 0, NULL, &gpt3_clk1, &per1_clk);
|
||||
DEFINE_CLOCK(gpt4_clk, 3, 0, 0, NULL, &gpt4_clk1, &per1_clk);
|
||||
DEFINE_CLOCK(gpt5_clk, 4, 0, 0, NULL, &gpt5_clk1, &per1_clk);
|
||||
DEFINE_CLOCK(gpt6_clk, 5, 0, 0, NULL, &gpt6_clk1, &per1_clk);
|
||||
DEFINE_CLOCK(uart1_clk, 0, 0, 0, NULL, &uart1_clk1, &per1_clk);
|
||||
DEFINE_CLOCK(uart2_clk, 1, 0, 0, NULL, &uart2_clk1, &per1_clk);
|
||||
DEFINE_CLOCK(uart3_clk, 2, 0, 0, NULL, &uart3_clk1, &per1_clk);
|
||||
DEFINE_CLOCK(uart4_clk, 3, 0, 0, NULL, &uart4_clk1, &per1_clk);
|
||||
DEFINE_CLOCK(uart5_clk, 4, 0, 0, NULL, &uart5_clk1, &per1_clk);
|
||||
DEFINE_CLOCK(uart6_clk, 5, 0, 0, NULL, &uart6_clk1, &per1_clk);
|
||||
DEFINE_CLOCK1(lcdc_clk, 0, 0, 0, parent, &lcdc_clk1, &per3_clk);
|
||||
DEFINE_CLOCK1(csi_clk, 0, 0, 0, parent, &csi_clk1, &per4_clk);
|
||||
DEFINE_CLOCK(cspi1_clk, 0, NULL, 0, NULL, &cspi1_clk1, &per2_clk);
|
||||
DEFINE_CLOCK(cspi2_clk, 1, NULL, 0, NULL, &cspi2_clk1, &per2_clk);
|
||||
DEFINE_CLOCK(cspi3_clk, 2, NULL, 0, NULL, &cspi13_clk1, &per2_clk);
|
||||
DEFINE_CLOCK(sdhc1_clk, 0, NULL, 0, NULL, &sdhc1_clk1, &per2_clk);
|
||||
DEFINE_CLOCK(sdhc2_clk, 1, NULL, 0, NULL, &sdhc2_clk1, &per2_clk);
|
||||
DEFINE_CLOCK(sdhc3_clk, 2, NULL, 0, NULL, &sdhc3_clk1, &per2_clk);
|
||||
DEFINE_CLOCK(pwm_clk, 0, NULL, 0, NULL, &pwm_clk1, &per1_clk);
|
||||
DEFINE_CLOCK(gpt1_clk, 0, NULL, 0, NULL, &gpt1_clk1, &per1_clk);
|
||||
DEFINE_CLOCK(gpt2_clk, 1, NULL, 0, NULL, &gpt2_clk1, &per1_clk);
|
||||
DEFINE_CLOCK(gpt3_clk, 2, NULL, 0, NULL, &gpt3_clk1, &per1_clk);
|
||||
DEFINE_CLOCK(gpt4_clk, 3, NULL, 0, NULL, &gpt4_clk1, &per1_clk);
|
||||
DEFINE_CLOCK(gpt5_clk, 4, NULL, 0, NULL, &gpt5_clk1, &per1_clk);
|
||||
DEFINE_CLOCK(gpt6_clk, 5, NULL, 0, NULL, &gpt6_clk1, &per1_clk);
|
||||
DEFINE_CLOCK(uart1_clk, 0, NULL, 0, NULL, &uart1_clk1, &per1_clk);
|
||||
DEFINE_CLOCK(uart2_clk, 1, NULL, 0, NULL, &uart2_clk1, &per1_clk);
|
||||
DEFINE_CLOCK(uart3_clk, 2, NULL, 0, NULL, &uart3_clk1, &per1_clk);
|
||||
DEFINE_CLOCK(uart4_clk, 3, NULL, 0, NULL, &uart4_clk1, &per1_clk);
|
||||
DEFINE_CLOCK(uart5_clk, 4, NULL, 0, NULL, &uart5_clk1, &per1_clk);
|
||||
DEFINE_CLOCK(uart6_clk, 5, NULL, 0, NULL, &uart6_clk1, &per1_clk);
|
||||
DEFINE_CLOCK1(lcdc_clk, 0, NULL, 0, parent, &lcdc_clk1, &per3_clk);
|
||||
DEFINE_CLOCK1(csi_clk, 0, NULL, 0, parent, &csi_clk1, &per4_clk);
|
||||
|
||||
#define _REGISTER_CLOCK(d, n, c) \
|
||||
{ \
|
||||
@@ -640,9 +640,9 @@ static struct clk_lookup lookups[] = {
|
||||
_REGISTER_CLOCK("mxc-mmc.0", NULL, sdhc1_clk)
|
||||
_REGISTER_CLOCK("mxc-mmc.1", NULL, sdhc2_clk)
|
||||
_REGISTER_CLOCK("mxc-mmc.2", NULL, sdhc3_clk)
|
||||
_REGISTER_CLOCK("spi_imx.0", NULL, cspi1_clk)
|
||||
_REGISTER_CLOCK("spi_imx.1", NULL, cspi2_clk)
|
||||
_REGISTER_CLOCK("spi_imx.2", NULL, cspi3_clk)
|
||||
_REGISTER_CLOCK("imx27-cspi.0", NULL, cspi1_clk)
|
||||
_REGISTER_CLOCK("imx27-cspi.1", NULL, cspi2_clk)
|
||||
_REGISTER_CLOCK("imx27-cspi.2", NULL, cspi3_clk)
|
||||
_REGISTER_CLOCK("imx-fb.0", NULL, lcdc_clk)
|
||||
_REGISTER_CLOCK("mx2-camera.0", NULL, csi_clk)
|
||||
_REGISTER_CLOCK("fsl-usb2-udc", "usb", usb_clk)
|
||||
|
||||
@@ -9,10 +9,12 @@
|
||||
#include <mach/mx1.h>
|
||||
#include <mach/devices-common.h>
|
||||
|
||||
#define imx1_add_i2c_imx(pdata) \
|
||||
imx_add_imx_i2c(0, MX1_I2C_BASE_ADDR, SZ_4K, MX1_INT_I2C, pdata)
|
||||
extern const struct imx_imx_i2c_data imx1_imx_i2c_data __initconst;
|
||||
#define imx1_add_imx_i2c(pdata) \
|
||||
imx_add_imx_i2c(&imx1_imx_i2c_data, pdata)
|
||||
|
||||
#define imx1_add_imx_uart0(pdata) \
|
||||
imx_add_imx_uart_3irq(0, MX1_UART1_BASE_ADDR, 0xd0, MX1_INT_UART1RX, MX1_INT_UART1TX, MX1_INT_UART1RTS, pdata)
|
||||
#define imx1_add_imx_uart1(pdata) \
|
||||
imx_add_imx_uart_3irq(0, MX1_UART2_BASE_ADDR, 0xd0, MX1_INT_UART2RX, MX1_INT_UART2TX, MX1_INT_UART2RTS, pdata)
|
||||
extern const struct imx_imx_uart_3irq_data imx1_imx_uart_data[] __initconst;
|
||||
#define imx1_add_imx_uart(id, pdata) \
|
||||
imx_add_imx_uart_3irq(&imx1_imx_uart_data[id], pdata)
|
||||
#define imx1_add_imx_uart0(pdata) imx1_add_imx_uart(0, pdata)
|
||||
#define imx1_add_imx_uart1(pdata) imx1_add_imx_uart(1, pdata)
|
||||
|
||||
@@ -9,22 +9,28 @@
|
||||
#include <mach/mx21.h>
|
||||
#include <mach/devices-common.h>
|
||||
|
||||
#define imx21_add_i2c_imx(pdata) \
|
||||
imx_add_imx_i2c(0, MX2x_I2C_BASE_ADDR, SZ_4K, MX2x_INT_I2C, pdata)
|
||||
extern const struct imx_imx_i2c_data imx21_imx_i2c_data __initconst;
|
||||
#define imx21_add_imx_i2c(pdata) \
|
||||
imx_add_imx_i2c(&imx21_imx_i2c_data, pdata)
|
||||
|
||||
#define imx21_add_imx_uart0(pdata) \
|
||||
imx_add_imx_uart_1irq(0, MX21_UART1_BASE_ADDR, SZ_4K, MX21_INT_UART1, pdata)
|
||||
#define imx21_add_imx_uart1(pdata) \
|
||||
imx_add_imx_uart_1irq(1, MX21_UART2_BASE_ADDR, SZ_4K, MX21_INT_UART2, pdata)
|
||||
#define imx21_add_imx_uart2(pdata) \
|
||||
imx_add_imx_uart_1irq(2, MX21_UART3_BASE_ADDR, SZ_4K, MX21_INT_UART3, pdata)
|
||||
#define imx21_add_imx_uart3(pdata) \
|
||||
imx_add_imx_uart_1irq(3, MX21_UART4_BASE_ADDR, SZ_4K, MX21_INT_UART4, pdata)
|
||||
extern const struct imx_imx_ssi_data imx21_imx_ssi_data[] __initconst;
|
||||
#define imx21_add_imx_ssi(id, pdata) \
|
||||
imx_add_imx_ssi(&imx21_imx_ssi_data[id], pdata)
|
||||
|
||||
extern const struct imx_imx_uart_1irq_data imx21_imx_uart_data[] __initconst;
|
||||
#define imx21_add_imx_uart(id, pdata) \
|
||||
imx_add_imx_uart_1irq(&imx21_imx_uart_data[id], pdata)
|
||||
#define imx21_add_imx_uart0(pdata) imx21_add_imx_uart(0, pdata)
|
||||
#define imx21_add_imx_uart1(pdata) imx21_add_imx_uart(1, pdata)
|
||||
#define imx21_add_imx_uart2(pdata) imx21_add_imx_uart(2, pdata)
|
||||
#define imx21_add_imx_uart3(pdata) imx21_add_imx_uart(3, pdata)
|
||||
|
||||
extern const struct imx_mxc_nand_data imx21_mxc_nand_data __initconst;
|
||||
#define imx21_add_mxc_nand(pdata) \
|
||||
imx_add_mxc_nand_v1(MX21_NFC_BASE_ADDR, MX21_INT_NANDFC, pdata)
|
||||
imx_add_mxc_nand(&imx21_mxc_nand_data, pdata)
|
||||
|
||||
#define imx21_add_spi_imx0(pdata) \
|
||||
imx_add_spi_imx(0, MX21_CSPI1_BASE_ADDR, SZ_4K, MX21_INT_CSPI1, pdata)
|
||||
#define imx21_add_spi_imx1(pdata) \
|
||||
imx_add_spi_imx(1, MX21_CSPI2_BASE_ADDR, SZ_4K, MX21_INT_CSPI2, pdata)
|
||||
extern const struct imx_spi_imx_data imx21_cspi_data[] __initconst;
|
||||
#define imx21_add_cspi(id, pdata) \
|
||||
imx_add_spi_imx(&imx21_cspi_data[id], pdata)
|
||||
#define imx21_add_spi_imx0(pdata) imx21_add_cspi(0, pdata)
|
||||
#define imx21_add_spi_imx1(pdata) imx21_add_cspi(1, pdata)
|
||||
|
||||
@@ -9,30 +9,35 @@
|
||||
#include <mach/mx27.h>
|
||||
#include <mach/devices-common.h>
|
||||
|
||||
#define imx27_add_i2c_imx0(pdata) \
|
||||
imx_add_imx_i2c(0, MX27_I2C1_BASE_ADDR, SZ_4K, MX27_INT_I2C1, pdata)
|
||||
#define imx27_add_i2c_imx1(pdata) \
|
||||
imx_add_imx_i2c(1, MX27_I2C2_BASE_ADDR, SZ_4K, MX27_INT_I2C2, pdata)
|
||||
extern const struct imx_fec_data imx27_fec_data __initconst;
|
||||
#define imx27_add_fec(pdata) \
|
||||
imx_add_fec(&imx27_fec_data, pdata)
|
||||
|
||||
#define imx27_add_imx_uart0(pdata) \
|
||||
imx_add_imx_uart_1irq(0, MX27_UART1_BASE_ADDR, SZ_4K, MX27_INT_UART1, pdata)
|
||||
#define imx27_add_imx_uart1(pdata) \
|
||||
imx_add_imx_uart_1irq(1, MX27_UART2_BASE_ADDR, SZ_4K, MX27_INT_UART2, pdata)
|
||||
#define imx27_add_imx_uart2(pdata) \
|
||||
imx_add_imx_uart_1irq(2, MX27_UART3_BASE_ADDR, SZ_4K, MX27_INT_UART3, pdata)
|
||||
#define imx27_add_imx_uart3(pdata) \
|
||||
imx_add_imx_uart_1irq(3, MX27_UART4_BASE_ADDR, SZ_4K, MX27_INT_UART4, pdata)
|
||||
#define imx27_add_imx_uart4(pdata) \
|
||||
imx_add_imx_uart_1irq(4, MX27_UART5_BASE_ADDR, SZ_4K, MX27_INT_UART5, pdata)
|
||||
#define imx27_add_imx_uart5(pdata) \
|
||||
imx_add_imx_uart_1irq(5, MX27_UART6_BASE_ADDR, SZ_4K, MX27_INT_UART6, pdata)
|
||||
extern const struct imx_imx_i2c_data imx27_imx_i2c_data[] __initconst;
|
||||
#define imx27_add_imx_i2c(id, pdata) \
|
||||
imx_add_imx_i2c(&imx27_imx_i2c_data[id], pdata)
|
||||
|
||||
extern const struct imx_imx_ssi_data imx27_imx_ssi_data[] __initconst;
|
||||
#define imx27_add_imx_ssi(id, pdata) \
|
||||
imx_add_imx_ssi(&imx27_imx_ssi_data[id], pdata)
|
||||
|
||||
extern const struct imx_imx_uart_1irq_data imx27_imx_uart_data[] __initconst;
|
||||
#define imx27_add_imx_uart(id, pdata) \
|
||||
imx_add_imx_uart_1irq(&imx27_imx_uart_data[id], pdata)
|
||||
#define imx27_add_imx_uart0(pdata) imx27_add_imx_uart(0, pdata)
|
||||
#define imx27_add_imx_uart1(pdata) imx27_add_imx_uart(1, pdata)
|
||||
#define imx27_add_imx_uart2(pdata) imx27_add_imx_uart(2, pdata)
|
||||
#define imx27_add_imx_uart3(pdata) imx27_add_imx_uart(3, pdata)
|
||||
#define imx27_add_imx_uart4(pdata) imx27_add_imx_uart(4, pdata)
|
||||
#define imx27_add_imx_uart5(pdata) imx27_add_imx_uart(5, pdata)
|
||||
|
||||
extern const struct imx_mxc_nand_data imx27_mxc_nand_data __initconst;
|
||||
#define imx27_add_mxc_nand(pdata) \
|
||||
imx_add_mxc_nand_v1(MX27_NFC_BASE_ADDR, MX27_INT_NANDFC, pdata)
|
||||
imx_add_mxc_nand(&imx27_mxc_nand_data, pdata)
|
||||
|
||||
#define imx27_add_spi_imx0(pdata) \
|
||||
imx_add_spi_imx(0, MX27_CSPI1_BASE_ADDR, SZ_4K, MX27_INT_CSPI1, pdata)
|
||||
#define imx27_add_spi_imx1(pdata) \
|
||||
imx_add_spi_imx(1, MX27_CSPI2_BASE_ADDR, SZ_4K, MX27_INT_CSPI2, pdata)
|
||||
#define imx27_add_spi_imx2(pdata) \
|
||||
imx_add_spi_imx(2, MX27_CSPI3_BASE_ADDR, SZ_4K, MX27_INT_CSPI3, pdata)
|
||||
extern const struct imx_spi_imx_data imx27_cspi_data[] __initconst;
|
||||
#define imx27_add_cspi(id, pdata) \
|
||||
imx_add_spi_imx(&imx27_cspi_data[id], pdata)
|
||||
#define imx27_add_spi_imx0(pdata) imx27_add_cspi(0, pdata)
|
||||
#define imx27_add_spi_imx1(pdata) imx27_add_cspi(1, pdata)
|
||||
#define imx27_add_spi_imx2(pdata) imx27_add_cspi(2, pdata)
|
||||
|
||||
@@ -314,27 +314,6 @@ struct platform_device mxc_fb_device = {
|
||||
},
|
||||
};
|
||||
|
||||
#ifdef CONFIG_MACH_MX27
|
||||
static struct resource mxc_fec_resources[] = {
|
||||
{
|
||||
.start = MX27_FEC_BASE_ADDR,
|
||||
.end = MX27_FEC_BASE_ADDR + SZ_4K - 1,
|
||||
.flags = IORESOURCE_MEM,
|
||||
}, {
|
||||
.start = MX27_INT_FEC,
|
||||
.end = MX27_INT_FEC,
|
||||
.flags = IORESOURCE_IRQ,
|
||||
},
|
||||
};
|
||||
|
||||
struct platform_device mxc_fec_device = {
|
||||
.name = "fec",
|
||||
.id = 0,
|
||||
.num_resources = ARRAY_SIZE(mxc_fec_resources),
|
||||
.resource = mxc_fec_resources,
|
||||
};
|
||||
#endif
|
||||
|
||||
static struct resource mxc_pwm_resources[] = {
|
||||
{
|
||||
.start = MX2x_PWM_BASE_ADDR,
|
||||
@@ -480,41 +459,6 @@ struct platform_device mxc_usbh2 = {
|
||||
};
|
||||
#endif
|
||||
|
||||
#define DEFINE_IMX_SSI_DMARES(_name, ssin, suffix) \
|
||||
{ \
|
||||
.name = _name, \
|
||||
.start = MX2x_DMA_REQ_SSI ## ssin ## _ ## suffix, \
|
||||
.end = MX2x_DMA_REQ_SSI ## ssin ## _ ## suffix, \
|
||||
.flags = IORESOURCE_DMA, \
|
||||
}
|
||||
|
||||
#define DEFINE_IMX_SSI_DEVICE(n, ssin, baseaddr, irq) \
|
||||
static struct resource imx_ssi_resources ## n[] = { \
|
||||
{ \
|
||||
.start = MX2x_SSI ## ssin ## _BASE_ADDR, \
|
||||
.end = MX2x_SSI ## ssin ## _BASE_ADDR + 0x6f, \
|
||||
.flags = IORESOURCE_MEM, \
|
||||
}, { \
|
||||
.start = MX2x_INT_SSI1, \
|
||||
.end = MX2x_INT_SSI1, \
|
||||
.flags = IORESOURCE_IRQ, \
|
||||
}, \
|
||||
DEFINE_IMX_SSI_DMARES("tx0", ssin, TX0), \
|
||||
DEFINE_IMX_SSI_DMARES("rx0", ssin, RX0), \
|
||||
DEFINE_IMX_SSI_DMARES("tx1", ssin, TX1), \
|
||||
DEFINE_IMX_SSI_DMARES("rx1", ssin, RX1), \
|
||||
}; \
|
||||
\
|
||||
struct platform_device imx_ssi_device ## n = { \
|
||||
.name = "imx-ssi", \
|
||||
.id = n, \
|
||||
.num_resources = ARRAY_SIZE(imx_ssi_resources ## n), \
|
||||
.resource = imx_ssi_resources ## n, \
|
||||
}
|
||||
|
||||
DEFINE_IMX_SSI_DEVICE(0, 1, MX2x_SSI1_BASE_ADDR, MX2x_INT_SSI1);
|
||||
DEFINE_IMX_SSI_DEVICE(1, 2, MX2x_SSI1_BASE_ADDR, MX2x_INT_SSI1);
|
||||
|
||||
/* GPIO port description */
|
||||
#define DEFINE_MXC_GPIO_PORT_IRQ(SOC, n, _irq) \
|
||||
{ \
|
||||
|
||||
@@ -16,7 +16,6 @@ extern struct platform_device mxc_gpt5;
|
||||
extern struct platform_device mxc_wdt;
|
||||
extern struct platform_device mxc_w1_master_device;
|
||||
extern struct platform_device mxc_fb_device;
|
||||
extern struct platform_device mxc_fec_device;
|
||||
extern struct platform_device mxc_pwm_device;
|
||||
extern struct platform_device mxc_sdhc_device0;
|
||||
extern struct platform_device mxc_sdhc_device1;
|
||||
@@ -26,7 +25,5 @@ extern struct platform_device mxc_otg_host;
|
||||
extern struct platform_device mxc_usbh1;
|
||||
extern struct platform_device mxc_usbh2;
|
||||
extern struct platform_device mx21_usbhc_device;
|
||||
extern struct platform_device imx_ssi_device0;
|
||||
extern struct platform_device imx_ssi_device1;
|
||||
extern struct platform_device imx_kpp_device;
|
||||
#endif
|
||||
|
||||
@@ -36,13 +36,12 @@
|
||||
#include <mach/hardware.h>
|
||||
#include <mach/mmc.h>
|
||||
#include <mach/spi.h>
|
||||
#include <mach/ssi.h>
|
||||
#include <mach/audmux.h>
|
||||
|
||||
#include "devices-imx27.h"
|
||||
#include "devices.h"
|
||||
|
||||
static int eukrea_mbimx27_pins[] = {
|
||||
static const int eukrea_mbimx27_pins[] __initconst = {
|
||||
/* UART2 */
|
||||
PE3_PF_UART2_CTS,
|
||||
PE4_PF_UART2_RTS,
|
||||
@@ -311,7 +310,8 @@ static struct imxmmc_platform_data sdhc_pdata = {
|
||||
.dat3_card_detect = 1,
|
||||
};
|
||||
|
||||
struct imx_ssi_platform_data eukrea_mbimx27_ssi_pdata = {
|
||||
static const
|
||||
struct imx_ssi_platform_data eukrea_mbimx27_ssi_pdata __initconst = {
|
||||
.flags = IMX_SSI_DMA | IMX_SSI_USE_I2S_SLAVE,
|
||||
};
|
||||
|
||||
@@ -357,7 +357,7 @@ void __init eukrea_mbimx27_baseboard_init(void)
|
||||
i2c_register_board_info(0, eukrea_mbimx27_i2c_devices,
|
||||
ARRAY_SIZE(eukrea_mbimx27_i2c_devices));
|
||||
|
||||
mxc_register_device(&imx_ssi_device0, &eukrea_mbimx27_ssi_pdata);
|
||||
imx27_add_imx_ssi(0, &eukrea_mbimx27_ssi_pdata);
|
||||
|
||||
#if defined(CONFIG_TOUCHSCREEN_ADS7846) \
|
||||
|| defined(CONFIG_TOUCHSCREEN_ADS7846_MODULE)
|
||||
|
||||
@@ -46,7 +46,7 @@
|
||||
#include "devices-imx27.h"
|
||||
#include "devices.h"
|
||||
|
||||
static int eukrea_cpuimx27_pins[] = {
|
||||
static const int eukrea_cpuimx27_pins[] __initconst = {
|
||||
/* UART1 */
|
||||
PE12_PF_UART1_TXD,
|
||||
PE13_PF_UART1_RXD,
|
||||
@@ -157,7 +157,6 @@ cpuimx27_nand_board_info __initconst = {
|
||||
|
||||
static struct platform_device *platform_devices[] __initdata = {
|
||||
&eukrea_cpuimx27_nor_mtd_device,
|
||||
&mxc_fec_device,
|
||||
&mxc_wdt,
|
||||
&mxc_w1_master_device,
|
||||
};
|
||||
@@ -259,8 +258,9 @@ static void __init eukrea_cpuimx27_init(void)
|
||||
i2c_register_board_info(0, eukrea_cpuimx27_i2c_devices,
|
||||
ARRAY_SIZE(eukrea_cpuimx27_i2c_devices));
|
||||
|
||||
imx27_add_i2c_imx1(&cpuimx27_i2c1_data);
|
||||
imx27_add_imx_i2c(1, &cpuimx27_i2c1_data);
|
||||
|
||||
imx27_add_fec(NULL);
|
||||
platform_add_devices(platform_devices, ARRAY_SIZE(platform_devices));
|
||||
|
||||
#if defined(CONFIG_MACH_EUKREA_CPUIMX27_USESDHC2)
|
||||
|
||||
@@ -0,0 +1,263 @@
|
||||
/*
|
||||
* mach-imx27_visstrim_m10.c
|
||||
*
|
||||
* Copyright 2010 Javier Martin <javier.martin@vista-silicon.com>
|
||||
*
|
||||
* Based on mach-pcm038.c, mach-pca100.c, mach-mx27ads.c and others.
|
||||
*
|
||||
* 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 pr_fmt(fmt) KBUILD_MODNAME ": " fmt
|
||||
|
||||
#include <linux/platform_device.h>
|
||||
#include <linux/mtd/physmap.h>
|
||||
#include <linux/i2c.h>
|
||||
#include <linux/i2c/pca953x.h>
|
||||
#include <linux/gpio_keys.h>
|
||||
#include <linux/input.h>
|
||||
#include <linux/gpio.h>
|
||||
#include <asm/mach-types.h>
|
||||
#include <asm/mach/arch.h>
|
||||
#include <asm/mach/time.h>
|
||||
#include <mach/common.h>
|
||||
#include <mach/mmc.h>
|
||||
#include <mach/iomux.h>
|
||||
#include <mach/mxc_ehci.h>
|
||||
|
||||
#include "devices-imx27.h"
|
||||
#include "devices.h"
|
||||
|
||||
#define OTG_PHY_CS_GPIO (GPIO_PORTF + 17)
|
||||
#define SDHC1_IRQ IRQ_GPIOB(25)
|
||||
|
||||
static const int visstrim_m10_pins[] __initconst = {
|
||||
/* UART1 (console) */
|
||||
PE12_PF_UART1_TXD,
|
||||
PE13_PF_UART1_RXD,
|
||||
PE14_PF_UART1_CTS,
|
||||
PE15_PF_UART1_RTS,
|
||||
/* FEC */
|
||||
PD0_AIN_FEC_TXD0,
|
||||
PD1_AIN_FEC_TXD1,
|
||||
PD2_AIN_FEC_TXD2,
|
||||
PD3_AIN_FEC_TXD3,
|
||||
PD4_AOUT_FEC_RX_ER,
|
||||
PD5_AOUT_FEC_RXD1,
|
||||
PD6_AOUT_FEC_RXD2,
|
||||
PD7_AOUT_FEC_RXD3,
|
||||
PD8_AF_FEC_MDIO,
|
||||
PD9_AIN_FEC_MDC,
|
||||
PD10_AOUT_FEC_CRS,
|
||||
PD11_AOUT_FEC_TX_CLK,
|
||||
PD12_AOUT_FEC_RXD0,
|
||||
PD13_AOUT_FEC_RX_DV,
|
||||
PD14_AOUT_FEC_RX_CLK,
|
||||
PD15_AOUT_FEC_COL,
|
||||
PD16_AIN_FEC_TX_ER,
|
||||
PF23_AIN_FEC_TX_EN,
|
||||
/* SDHC1 */
|
||||
PE18_PF_SD1_D0,
|
||||
PE19_PF_SD1_D1,
|
||||
PE20_PF_SD1_D2,
|
||||
PE21_PF_SD1_D3,
|
||||
PE22_PF_SD1_CMD,
|
||||
PE23_PF_SD1_CLK,
|
||||
/* Both I2Cs */
|
||||
PD17_PF_I2C_DATA,
|
||||
PD18_PF_I2C_CLK,
|
||||
PC5_PF_I2C2_SDA,
|
||||
PC6_PF_I2C2_SCL,
|
||||
/* USB OTG */
|
||||
OTG_PHY_CS_GPIO | GPIO_GPIO | GPIO_OUT,
|
||||
PC9_PF_USBOTG_DATA0,
|
||||
PC11_PF_USBOTG_DATA1,
|
||||
PC10_PF_USBOTG_DATA2,
|
||||
PC13_PF_USBOTG_DATA3,
|
||||
PC12_PF_USBOTG_DATA4,
|
||||
PC7_PF_USBOTG_DATA5,
|
||||
PC8_PF_USBOTG_DATA6,
|
||||
PE25_PF_USBOTG_DATA7,
|
||||
PE24_PF_USBOTG_CLK,
|
||||
PE2_PF_USBOTG_DIR,
|
||||
PE0_PF_USBOTG_NXT,
|
||||
PE1_PF_USBOTG_STP,
|
||||
PB23_PF_USB_PWR,
|
||||
PB24_PF_USB_OC,
|
||||
};
|
||||
|
||||
/* GPIOs used as events for applications */
|
||||
static struct gpio_keys_button visstrim_gpio_keys[] = {
|
||||
{
|
||||
.type = EV_KEY,
|
||||
.code = KEY_RESTART,
|
||||
.gpio = (GPIO_PORTC + 15),
|
||||
.desc = "Default config",
|
||||
.active_low = 0,
|
||||
.wakeup = 1,
|
||||
},
|
||||
{
|
||||
.type = EV_KEY,
|
||||
.code = KEY_RECORD,
|
||||
.gpio = (GPIO_PORTF + 14),
|
||||
.desc = "Record",
|
||||
.active_low = 0,
|
||||
.wakeup = 1,
|
||||
},
|
||||
{
|
||||
.type = EV_KEY,
|
||||
.code = KEY_STOP,
|
||||
.gpio = (GPIO_PORTF + 13),
|
||||
.desc = "Stop",
|
||||
.active_low = 0,
|
||||
.wakeup = 1,
|
||||
}
|
||||
};
|
||||
|
||||
static struct gpio_keys_platform_data visstrim_gpio_keys_platform_data = {
|
||||
.buttons = visstrim_gpio_keys,
|
||||
.nbuttons = ARRAY_SIZE(visstrim_gpio_keys),
|
||||
};
|
||||
|
||||
static struct platform_device visstrim_gpio_keys_device = {
|
||||
.name = "gpio-keys",
|
||||
.id = -1,
|
||||
.dev = {
|
||||
.platform_data = &visstrim_gpio_keys_platform_data,
|
||||
},
|
||||
};
|
||||
|
||||
/* Visstrim_SM10 has a microSD slot connected to sdhc1 */
|
||||
static int visstrim_m10_sdhc1_init(struct device *dev,
|
||||
irq_handler_t detect_irq, void *data)
|
||||
{
|
||||
int ret;
|
||||
|
||||
ret = request_irq(SDHC1_IRQ, detect_irq, IRQF_TRIGGER_FALLING,
|
||||
"mmc-detect", data);
|
||||
return ret;
|
||||
}
|
||||
|
||||
static void visstrim_m10_sdhc1_exit(struct device *dev, void *data)
|
||||
{
|
||||
free_irq(SDHC1_IRQ, data);
|
||||
}
|
||||
|
||||
static struct imxmmc_platform_data visstrim_m10_sdhc_pdata = {
|
||||
.init = visstrim_m10_sdhc1_init,
|
||||
.exit = visstrim_m10_sdhc1_exit,
|
||||
};
|
||||
|
||||
/* Visstrim_SM10 NOR flash */
|
||||
static struct physmap_flash_data visstrim_m10_flash_data = {
|
||||
.width = 2,
|
||||
};
|
||||
|
||||
static struct resource visstrim_m10_flash_resource = {
|
||||
.start = 0xc0000000,
|
||||
.end = 0xc0000000 + SZ_64M - 1,
|
||||
.flags = IORESOURCE_MEM,
|
||||
};
|
||||
|
||||
static struct platform_device visstrim_m10_nor_mtd_device = {
|
||||
.name = "physmap-flash",
|
||||
.id = 0,
|
||||
.dev = {
|
||||
.platform_data = &visstrim_m10_flash_data,
|
||||
},
|
||||
.num_resources = 1,
|
||||
.resource = &visstrim_m10_flash_resource,
|
||||
};
|
||||
|
||||
static struct platform_device *platform_devices[] __initdata = {
|
||||
&visstrim_gpio_keys_device,
|
||||
&visstrim_m10_nor_mtd_device,
|
||||
};
|
||||
|
||||
/* Visstrim_M10 uses UART0 as console */
|
||||
static const struct imxuart_platform_data uart_pdata __initconst = {
|
||||
.flags = IMXUART_HAVE_RTSCTS,
|
||||
};
|
||||
|
||||
/* I2C */
|
||||
static const struct imxi2c_platform_data visstrim_m10_i2c_data __initconst = {
|
||||
.bitrate = 100000,
|
||||
};
|
||||
|
||||
static struct pca953x_platform_data visstrim_m10_pca9555_pdata = {
|
||||
.gpio_base = 240, /* After MX27 internal GPIOs */
|
||||
.invert = 0,
|
||||
};
|
||||
|
||||
static struct i2c_board_info visstrim_m10_i2c_devices[] = {
|
||||
{
|
||||
I2C_BOARD_INFO("pca9555", 0x20),
|
||||
.platform_data = &visstrim_m10_pca9555_pdata,
|
||||
},
|
||||
};
|
||||
|
||||
/* USB OTG */
|
||||
static int otg_phy_init(struct platform_device *pdev)
|
||||
{
|
||||
gpio_set_value(OTG_PHY_CS_GPIO, 0);
|
||||
return 0;
|
||||
}
|
||||
|
||||
static struct mxc_usbh_platform_data visstrim_m10_usbotg_pdata = {
|
||||
.init = otg_phy_init,
|
||||
.portsc = MXC_EHCI_MODE_ULPI | MXC_EHCI_UTMI_8BIT,
|
||||
.flags = MXC_EHCI_POWER_PINS_ENABLED,
|
||||
};
|
||||
|
||||
static void __init visstrim_m10_board_init(void)
|
||||
{
|
||||
int ret;
|
||||
|
||||
ret = mxc_gpio_setup_multiple_pins(visstrim_m10_pins,
|
||||
ARRAY_SIZE(visstrim_m10_pins), "VISSTRIM_M10");
|
||||
if (ret)
|
||||
pr_err("Failed to setup pins (%d)\n", ret);
|
||||
|
||||
imx27_add_imx_uart0(&uart_pdata);
|
||||
|
||||
i2c_register_board_info(0, visstrim_m10_i2c_devices,
|
||||
ARRAY_SIZE(visstrim_m10_i2c_devices));
|
||||
imx27_add_imx_i2c(0, &visstrim_m10_i2c_data);
|
||||
imx27_add_imx_i2c(1, &visstrim_m10_i2c_data);
|
||||
mxc_register_device(&mxc_sdhc_device0, &visstrim_m10_sdhc_pdata);
|
||||
mxc_register_device(&mxc_otg_host, &visstrim_m10_usbotg_pdata);
|
||||
imx27_add_fec(NULL);
|
||||
platform_add_devices(platform_devices, ARRAY_SIZE(platform_devices));
|
||||
}
|
||||
|
||||
static void __init visstrim_m10_timer_init(void)
|
||||
{
|
||||
mx27_clocks_init((unsigned long)25000000);
|
||||
}
|
||||
|
||||
static struct sys_timer visstrim_m10_timer = {
|
||||
.init = visstrim_m10_timer_init,
|
||||
};
|
||||
|
||||
MACHINE_START(IMX27_VISSTRIM_M10, "Vista Silicon Visstrim_M10")
|
||||
.phys_io = MX27_AIPI_BASE_ADDR,
|
||||
.io_pg_offst = ((MX27_AIPI_BASE_ADDR_VIRT) >> 18) & 0xfffc,
|
||||
.boot_params = MX27_PHYS_OFFSET + 0x100,
|
||||
.map_io = mx27_map_io,
|
||||
.init_irq = mx27_init_irq,
|
||||
.init_machine = visstrim_m10_board_init,
|
||||
.timer = &visstrim_m10_timer,
|
||||
MACHINE_END
|
||||
@@ -27,7 +27,7 @@
|
||||
#include "devices-imx27.h"
|
||||
#include "devices.h"
|
||||
|
||||
static unsigned int mx27lite_pins[] = {
|
||||
static const int mx27lite_pins[] __initconst = {
|
||||
/* UART1 */
|
||||
PE12_PF_UART1_TXD,
|
||||
PE13_PF_UART1_RXD,
|
||||
@@ -58,16 +58,12 @@ static const struct imxuart_platform_data uart_pdata __initconst = {
|
||||
.flags = IMXUART_HAVE_RTSCTS,
|
||||
};
|
||||
|
||||
static struct platform_device *platform_devices[] __initdata = {
|
||||
&mxc_fec_device,
|
||||
};
|
||||
|
||||
static void __init mx27lite_init(void)
|
||||
{
|
||||
mxc_gpio_setup_multiple_pins(mx27lite_pins, ARRAY_SIZE(mx27lite_pins),
|
||||
"imx27lite");
|
||||
imx27_add_imx_uart0(&uart_pdata);
|
||||
platform_add_devices(platform_devices, ARRAY_SIZE(platform_devices));
|
||||
imx27_add_fec(NULL);
|
||||
}
|
||||
|
||||
static void __init mx27lite_timer_init(void)
|
||||
|
||||
@@ -32,7 +32,7 @@
|
||||
#include "devices-imx1.h"
|
||||
#include "devices.h"
|
||||
|
||||
static int mx1ads_pins[] = {
|
||||
static const int mx1ads_pins[] __initconst = {
|
||||
/* UART1 */
|
||||
PC9_PF_UART1_CTS,
|
||||
PC10_PF_UART1_RTS,
|
||||
@@ -131,7 +131,7 @@ static void __init mx1ads_init(void)
|
||||
i2c_register_board_info(0, mx1ads_i2c_devices,
|
||||
ARRAY_SIZE(mx1ads_i2c_devices));
|
||||
|
||||
imx1_add_i2c_imx(&mx1ads_i2c_data);
|
||||
imx1_add_imx_i2c(&mx1ads_i2c_data);
|
||||
}
|
||||
|
||||
static void __init mx1ads_timer_init(void)
|
||||
|
||||
@@ -67,7 +67,7 @@
|
||||
#define MX21ADS_IO_LED4_ON 0x4000
|
||||
#define MX21ADS_IO_LED3_ON 0x8000
|
||||
|
||||
static unsigned int mx21ads_pins[] = {
|
||||
static const int mx21ads_pins[] __initconst = {
|
||||
|
||||
/* CS8900A */
|
||||
(GPIO_PORTE | GPIO_GPIO | GPIO_IN | 11),
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user