aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm
diff options
context:
space:
mode:
authorRussell King <rmk+kernel@arm.linux.org.uk>2009-12-04 12:34:50 -0500
committerRussell King <rmk+kernel@arm.linux.org.uk>2009-12-04 12:34:50 -0500
commit677f4f64e4b2336682f0e15c69b206ade6f6b131 (patch)
tree83b1f3e1f0de4c569e6c5adcf5e9934e6254f4e6 /arch/arm
parent4567c4a89693416ccca02d32109bce967e9c1ade (diff)
parentfedea672a3aab3b99d03e69805ee423c73af1961 (diff)
Merge branch 'for-rmk' of git://git.pengutronix.de/git/imx/linux-2.6 into devel-stable
Diffstat (limited to 'arch/arm')
-rw-r--r--arch/arm/configs/mx3_defconfig101
-rw-r--r--arch/arm/mach-mx2/Kconfig7
-rw-r--r--arch/arm/mach-mx2/Makefile1
-rw-r--r--arch/arm/mach-mx2/clock_imx21.c2
-rw-r--r--arch/arm/mach-mx2/clock_imx27.c2
-rw-r--r--arch/arm/mach-mx2/mxt_td60.c319
-rw-r--r--arch/arm/mach-mx3/Kconfig8
-rw-r--r--arch/arm/mach-mx3/Makefile1
-rw-r--r--arch/arm/mach-mx3/clock-imx35.c5
-rw-r--r--arch/arm/mach-mx3/kzmarm11.c268
-rw-r--r--arch/arm/mach-mx3/mx31moboard.c2
-rw-r--r--arch/arm/mach-mx3/mx35pdk.c12
-rw-r--r--arch/arm/plat-mxc/audmux-v1.c9
-rw-r--r--arch/arm/plat-mxc/include/mach/board-kzmarm11.h39
-rw-r--r--arch/arm/plat-mxc/include/mach/iomux-mx3.h8
-rw-r--r--arch/arm/plat-mxc/include/mach/iomux.h1
-rw-r--r--arch/arm/plat-mxc/include/mach/uncompress.h1
17 files changed, 747 insertions, 39 deletions
diff --git a/arch/arm/configs/mx3_defconfig b/arch/arm/configs/mx3_defconfig
index a4f9a2a8149c..7734ccab2119 100644
--- a/arch/arm/configs/mx3_defconfig
+++ b/arch/arm/configs/mx3_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.31-rc4 3# Linux kernel version: 2.6.32-rc5
4# Tue Jul 28 14:11:34 2009 4# Sun Nov 1 22:56:24 2009
5# 5#
6CONFIG_ARM=y 6CONFIG_ARM=y
7CONFIG_HAVE_PWM=y 7CONFIG_HAVE_PWM=y
@@ -9,7 +9,6 @@ CONFIG_SYS_SUPPORTS_APM_EMULATION=y
9CONFIG_GENERIC_GPIO=y 9CONFIG_GENERIC_GPIO=y
10CONFIG_GENERIC_TIME=y 10CONFIG_GENERIC_TIME=y
11CONFIG_GENERIC_CLOCKEVENTS=y 11CONFIG_GENERIC_CLOCKEVENTS=y
12CONFIG_MMU=y
13CONFIG_GENERIC_HARDIRQS=y 12CONFIG_GENERIC_HARDIRQS=y
14CONFIG_STACKTRACE_SUPPORT=y 13CONFIG_STACKTRACE_SUPPORT=y
15CONFIG_HAVE_LATENCYTOP_SUPPORT=y 14CONFIG_HAVE_LATENCYTOP_SUPPORT=y
@@ -46,11 +45,12 @@ CONFIG_SYSVIPC_SYSCTL=y
46# 45#
47# RCU Subsystem 46# RCU Subsystem
48# 47#
49CONFIG_CLASSIC_RCU=y 48CONFIG_TREE_RCU=y
50# CONFIG_TREE_RCU is not set 49# CONFIG_TREE_PREEMPT_RCU is not set
51# CONFIG_PREEMPT_RCU is not set 50# CONFIG_RCU_TRACE is not set
51CONFIG_RCU_FANOUT=32
52# CONFIG_RCU_FANOUT_EXACT is not set
52# CONFIG_TREE_RCU_TRACE is not set 53# CONFIG_TREE_RCU_TRACE is not set
53# CONFIG_PREEMPT_RCU_TRACE is not set
54CONFIG_IKCONFIG=y 54CONFIG_IKCONFIG=y
55CONFIG_IKCONFIG_PROC=y 55CONFIG_IKCONFIG_PROC=y
56CONFIG_LOG_BUF_SHIFT=14 56CONFIG_LOG_BUF_SHIFT=14
@@ -87,16 +87,14 @@ CONFIG_SHMEM=y
87CONFIG_AIO=y 87CONFIG_AIO=y
88 88
89# 89#
90# Performance Counters 90# Kernel Performance Events And Counters
91# 91#
92CONFIG_VM_EVENT_COUNTERS=y 92CONFIG_VM_EVENT_COUNTERS=y
93# CONFIG_STRIP_ASM_SYMS is not set
94CONFIG_COMPAT_BRK=y 93CONFIG_COMPAT_BRK=y
95CONFIG_SLAB=y 94CONFIG_SLAB=y
96# CONFIG_SLUB is not set 95# CONFIG_SLUB is not set
97# CONFIG_SLOB is not set 96# CONFIG_SLOB is not set
98# CONFIG_PROFILING is not set 97# CONFIG_PROFILING is not set
99# CONFIG_MARKERS is not set
100CONFIG_HAVE_OPROFILE=y 98CONFIG_HAVE_OPROFILE=y
101# CONFIG_KPROBES is not set 99# CONFIG_KPROBES is not set
102CONFIG_HAVE_KPROBES=y 100CONFIG_HAVE_KPROBES=y
@@ -139,6 +137,7 @@ CONFIG_FREEZER=y
139# 137#
140# System Type 138# System Type
141# 139#
140CONFIG_MMU=y
142# CONFIG_ARCH_AAEC2000 is not set 141# CONFIG_ARCH_AAEC2000 is not set
143# CONFIG_ARCH_INTEGRATOR is not set 142# CONFIG_ARCH_INTEGRATOR is not set
144# CONFIG_ARCH_REALVIEW is not set 143# CONFIG_ARCH_REALVIEW is not set
@@ -153,6 +152,7 @@ CONFIG_ARCH_MXC=y
153# CONFIG_ARCH_STMP3XXX is not set 152# CONFIG_ARCH_STMP3XXX is not set
154# CONFIG_ARCH_NETX is not set 153# CONFIG_ARCH_NETX is not set
155# CONFIG_ARCH_H720X is not set 154# CONFIG_ARCH_H720X is not set
155# CONFIG_ARCH_NOMADIK is not set
156# CONFIG_ARCH_IOP13XX is not set 156# CONFIG_ARCH_IOP13XX is not set
157# CONFIG_ARCH_IOP32X is not set 157# CONFIG_ARCH_IOP32X is not set
158# CONFIG_ARCH_IOP33X is not set 158# CONFIG_ARCH_IOP33X is not set
@@ -175,18 +175,22 @@ CONFIG_ARCH_MXC=y
175# CONFIG_ARCH_SA1100 is not set 175# CONFIG_ARCH_SA1100 is not set
176# CONFIG_ARCH_S3C2410 is not set 176# CONFIG_ARCH_S3C2410 is not set
177# CONFIG_ARCH_S3C64XX is not set 177# CONFIG_ARCH_S3C64XX is not set
178# CONFIG_ARCH_S5PC1XX is not set
178# CONFIG_ARCH_SHARK is not set 179# CONFIG_ARCH_SHARK is not set
179# CONFIG_ARCH_LH7A40X is not set 180# CONFIG_ARCH_LH7A40X is not set
180# CONFIG_ARCH_U300 is not set 181# CONFIG_ARCH_U300 is not set
181# CONFIG_ARCH_DAVINCI is not set 182# CONFIG_ARCH_DAVINCI is not set
182# CONFIG_ARCH_OMAP is not set 183# CONFIG_ARCH_OMAP is not set
184# CONFIG_ARCH_BCMRING is not set
183 185
184# 186#
185# Freescale MXC Implementations 187# Freescale MXC Implementations
186# 188#
187# CONFIG_ARCH_MX1 is not set 189# CONFIG_ARCH_MX1 is not set
188# CONFIG_ARCH_MX2 is not set 190# CONFIG_ARCH_MX2 is not set
191# CONFIG_ARCH_MX25 is not set
189CONFIG_ARCH_MX3=y 192CONFIG_ARCH_MX3=y
193# CONFIG_ARCH_MXC91231 is not set
190CONFIG_ARCH_MX31=y 194CONFIG_ARCH_MX31=y
191CONFIG_ARCH_MX35=y 195CONFIG_ARCH_MX35=y
192 196
@@ -205,6 +209,7 @@ CONFIG_MACH_QONG=y
205CONFIG_MACH_PCM043=y 209CONFIG_MACH_PCM043=y
206CONFIG_MACH_ARMADILLO5X0=y 210CONFIG_MACH_ARMADILLO5X0=y
207CONFIG_MACH_MX35_3DS=y 211CONFIG_MACH_MX35_3DS=y
212CONFIG_MACH_KZM_ARM11_01=y
208CONFIG_MXC_IRQ_PRIOR=y 213CONFIG_MXC_IRQ_PRIOR=y
209CONFIG_MXC_PWM=y 214CONFIG_MXC_PWM=y
210CONFIG_ARCH_HAS_RNGA=y 215CONFIG_ARCH_HAS_RNGA=y
@@ -218,7 +223,7 @@ CONFIG_CPU_V6=y
218# CONFIG_CPU_32v6K is not set 223# CONFIG_CPU_32v6K is not set
219CONFIG_CPU_32v6=y 224CONFIG_CPU_32v6=y
220CONFIG_CPU_ABRT_EV6=y 225CONFIG_CPU_ABRT_EV6=y
221CONFIG_CPU_PABRT_NOIFAR=y 226CONFIG_CPU_PABRT_V6=y
222CONFIG_CPU_CACHE_V6=y 227CONFIG_CPU_CACHE_V6=y
223CONFIG_CPU_CACHE_VIPT=y 228CONFIG_CPU_CACHE_VIPT=y
224CONFIG_CPU_COPY_V6=y 229CONFIG_CPU_COPY_V6=y
@@ -236,6 +241,7 @@ CONFIG_ARM_THUMB=y
236# CONFIG_CPU_BPREDICT_DISABLE is not set 241# CONFIG_CPU_BPREDICT_DISABLE is not set
237CONFIG_OUTER_CACHE=y 242CONFIG_OUTER_CACHE=y
238CONFIG_CACHE_L2X0=y 243CONFIG_CACHE_L2X0=y
244CONFIG_ARM_L1_CACHE_SHIFT=5
239# CONFIG_ARM_ERRATA_411920 is not set 245# CONFIG_ARM_ERRATA_411920 is not set
240CONFIG_COMMON_CLKDEV=y 246CONFIG_COMMON_CLKDEV=y
241 247
@@ -257,6 +263,8 @@ CONFIG_VMSPLIT_3G=y
257# CONFIG_VMSPLIT_2G is not set 263# CONFIG_VMSPLIT_2G is not set
258# CONFIG_VMSPLIT_1G is not set 264# CONFIG_VMSPLIT_1G is not set
259CONFIG_PAGE_OFFSET=0xC0000000 265CONFIG_PAGE_OFFSET=0xC0000000
266# CONFIG_PREEMPT_NONE is not set
267# CONFIG_PREEMPT_VOLUNTARY is not set
260CONFIG_PREEMPT=y 268CONFIG_PREEMPT=y
261CONFIG_HZ=100 269CONFIG_HZ=100
262CONFIG_AEABI=y 270CONFIG_AEABI=y
@@ -277,6 +285,7 @@ CONFIG_ZONE_DMA_FLAG=0
277CONFIG_VIRT_TO_BUS=y 285CONFIG_VIRT_TO_BUS=y
278CONFIG_HAVE_MLOCK=y 286CONFIG_HAVE_MLOCK=y
279CONFIG_HAVE_MLOCKED_PAGE_BIT=y 287CONFIG_HAVE_MLOCKED_PAGE_BIT=y
288# CONFIG_KSM is not set
280CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 289CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
281CONFIG_ALIGNMENT_TRAP=y 290CONFIG_ALIGNMENT_TRAP=y
282# CONFIG_UACCESS_WITH_MEMCPY is not set 291# CONFIG_UACCESS_WITH_MEMCPY is not set
@@ -326,6 +335,7 @@ CONFIG_PM_SLEEP=y
326CONFIG_SUSPEND=y 335CONFIG_SUSPEND=y
327CONFIG_SUSPEND_FREEZER=y 336CONFIG_SUSPEND_FREEZER=y
328# CONFIG_APM_EMULATION is not set 337# CONFIG_APM_EMULATION is not set
338# CONFIG_PM_RUNTIME is not set
329CONFIG_ARCH_SUSPEND_POSSIBLE=y 339CONFIG_ARCH_SUSPEND_POSSIBLE=y
330CONFIG_NET=y 340CONFIG_NET=y
331 341
@@ -367,6 +377,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
367# CONFIG_NETFILTER is not set 377# CONFIG_NETFILTER is not set
368# CONFIG_IP_DCCP is not set 378# CONFIG_IP_DCCP is not set
369# CONFIG_IP_SCTP is not set 379# CONFIG_IP_SCTP is not set
380# CONFIG_RDS is not set
370# CONFIG_TIPC is not set 381# CONFIG_TIPC is not set
371# CONFIG_ATM is not set 382# CONFIG_ATM is not set
372# CONFIG_BRIDGE is not set 383# CONFIG_BRIDGE is not set
@@ -407,6 +418,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
407# Generic Driver Options 418# Generic Driver Options
408# 419#
409CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" 420CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
421# CONFIG_DEVTMPFS is not set
410CONFIG_STANDALONE=y 422CONFIG_STANDALONE=y
411CONFIG_PREVENT_FIRMWARE_BUILD=y 423CONFIG_PREVENT_FIRMWARE_BUILD=y
412CONFIG_FW_LOADER=m 424CONFIG_FW_LOADER=m
@@ -416,9 +428,9 @@ CONFIG_EXTRA_FIRMWARE=""
416# CONFIG_CONNECTOR is not set 428# CONFIG_CONNECTOR is not set
417CONFIG_MTD=y 429CONFIG_MTD=y
418# CONFIG_MTD_DEBUG is not set 430# CONFIG_MTD_DEBUG is not set
431# CONFIG_MTD_TESTS is not set
419# CONFIG_MTD_CONCAT is not set 432# CONFIG_MTD_CONCAT is not set
420CONFIG_MTD_PARTITIONS=y 433CONFIG_MTD_PARTITIONS=y
421# CONFIG_MTD_TESTS is not set
422# CONFIG_MTD_REDBOOT_PARTS is not set 434# CONFIG_MTD_REDBOOT_PARTS is not set
423CONFIG_MTD_CMDLINE_PARTS=y 435CONFIG_MTD_CMDLINE_PARTS=y
424# CONFIG_MTD_AFS_PARTS is not set 436# CONFIG_MTD_AFS_PARTS is not set
@@ -587,14 +599,12 @@ CONFIG_DNET=y
587# CONFIG_B44 is not set 599# CONFIG_B44 is not set
588# CONFIG_CS89x0 is not set 600# CONFIG_CS89x0 is not set
589# CONFIG_KS8842 is not set 601# CONFIG_KS8842 is not set
602# CONFIG_KS8851_MLL is not set
590CONFIG_FEC=y 603CONFIG_FEC=y
591# CONFIG_FEC2 is not set 604# CONFIG_FEC2 is not set
592# CONFIG_NETDEV_1000 is not set 605# CONFIG_NETDEV_1000 is not set
593# CONFIG_NETDEV_10000 is not set 606# CONFIG_NETDEV_10000 is not set
594 607CONFIG_WLAN=y
595#
596# Wireless LAN
597#
598# CONFIG_WLAN_PRE80211 is not set 608# CONFIG_WLAN_PRE80211 is not set
599# CONFIG_WLAN_80211 is not set 609# CONFIG_WLAN_80211 is not set
600 610
@@ -608,6 +618,7 @@ CONFIG_FEC=y
608# CONFIG_NETPOLL is not set 618# CONFIG_NETPOLL is not set
609# CONFIG_NET_POLL_CONTROLLER is not set 619# CONFIG_NET_POLL_CONTROLLER is not set
610# CONFIG_ISDN is not set 620# CONFIG_ISDN is not set
621# CONFIG_PHONE is not set
611 622
612# 623#
613# Input device support 624# Input device support
@@ -630,7 +641,14 @@ CONFIG_DEVKMEM=y
630# 641#
631# Serial drivers 642# Serial drivers
632# 643#
633# CONFIG_SERIAL_8250 is not set 644CONFIG_SERIAL_8250=m
645CONFIG_SERIAL_8250_NR_UARTS=4
646CONFIG_SERIAL_8250_RUNTIME_UARTS=4
647CONFIG_SERIAL_8250_EXTENDED=y
648# CONFIG_SERIAL_8250_MANY_PORTS is not set
649CONFIG_SERIAL_8250_SHARE_IRQ=y
650# CONFIG_SERIAL_8250_DETECT_IRQ is not set
651# CONFIG_SERIAL_8250_RSA is not set
634 652
635# 653#
636# Non-8250 serial port support 654# Non-8250 serial port support
@@ -649,6 +667,7 @@ CONFIG_UNIX98_PTYS=y
649# CONFIG_TCG_TPM is not set 667# CONFIG_TCG_TPM is not set
650CONFIG_I2C=y 668CONFIG_I2C=y
651CONFIG_I2C_BOARDINFO=y 669CONFIG_I2C_BOARDINFO=y
670CONFIG_I2C_COMPAT=y
652CONFIG_I2C_CHARDEV=y 671CONFIG_I2C_CHARDEV=y
653CONFIG_I2C_HELPER_AUTO=y 672CONFIG_I2C_HELPER_AUTO=y
654 673
@@ -681,15 +700,17 @@ CONFIG_I2C_IMX=y
681# Miscellaneous I2C Chip support 700# Miscellaneous I2C Chip support
682# 701#
683# CONFIG_DS1682 is not set 702# CONFIG_DS1682 is not set
684# CONFIG_SENSORS_PCF8574 is not set
685# CONFIG_PCF8575 is not set
686# CONFIG_SENSORS_PCA9539 is not set
687# CONFIG_SENSORS_TSL2550 is not set 703# CONFIG_SENSORS_TSL2550 is not set
688# CONFIG_I2C_DEBUG_CORE is not set 704# CONFIG_I2C_DEBUG_CORE is not set
689# CONFIG_I2C_DEBUG_ALGO is not set 705# CONFIG_I2C_DEBUG_ALGO is not set
690# CONFIG_I2C_DEBUG_BUS is not set 706# CONFIG_I2C_DEBUG_BUS is not set
691# CONFIG_I2C_DEBUG_CHIP is not set 707# CONFIG_I2C_DEBUG_CHIP is not set
692# CONFIG_SPI is not set 708# CONFIG_SPI is not set
709
710#
711# PPS support
712#
713# CONFIG_PPS is not set
693CONFIG_ARCH_REQUIRE_GPIOLIB=y 714CONFIG_ARCH_REQUIRE_GPIOLIB=y
694CONFIG_GPIOLIB=y 715CONFIG_GPIOLIB=y
695# CONFIG_GPIO_SYSFS is not set 716# CONFIG_GPIO_SYSFS is not set
@@ -712,6 +733,10 @@ CONFIG_GPIOLIB=y
712# 733#
713# SPI GPIO expanders: 734# SPI GPIO expanders:
714# 735#
736
737#
738# AC97 GPIO expanders:
739#
715CONFIG_W1=y 740CONFIG_W1=y
716 741
717# 742#
@@ -734,7 +759,6 @@ CONFIG_W1_SLAVE_THERM=y
734# CONFIG_POWER_SUPPLY is not set 759# CONFIG_POWER_SUPPLY is not set
735# CONFIG_HWMON is not set 760# CONFIG_HWMON is not set
736# CONFIG_THERMAL is not set 761# CONFIG_THERMAL is not set
737# CONFIG_THERMAL_HWMON is not set
738# CONFIG_WATCHDOG is not set 762# CONFIG_WATCHDOG is not set
739CONFIG_SSB_POSSIBLE=y 763CONFIG_SSB_POSSIBLE=y
740 764
@@ -759,12 +783,24 @@ CONFIG_SSB_POSSIBLE=y
759# CONFIG_MFD_TC6393XB is not set 783# CONFIG_MFD_TC6393XB is not set
760# CONFIG_PMIC_DA903X is not set 784# CONFIG_PMIC_DA903X is not set
761# CONFIG_MFD_WM8400 is not set 785# CONFIG_MFD_WM8400 is not set
786# CONFIG_MFD_WM831X is not set
762CONFIG_MFD_WM8350=y 787CONFIG_MFD_WM8350=y
763CONFIG_MFD_WM8350_CONFIG_MODE_0=y 788CONFIG_MFD_WM8350_CONFIG_MODE_0=y
764CONFIG_MFD_WM8352_CONFIG_MODE_0=y 789CONFIG_MFD_WM8352_CONFIG_MODE_0=y
765CONFIG_MFD_WM8350_I2C=y 790CONFIG_MFD_WM8350_I2C=y
766# CONFIG_MFD_PCF50633 is not set 791# CONFIG_MFD_PCF50633 is not set
767# CONFIG_AB3100_CORE is not set 792# CONFIG_AB3100_CORE is not set
793CONFIG_REGULATOR=y
794# CONFIG_REGULATOR_DEBUG is not set
795# CONFIG_REGULATOR_FIXED_VOLTAGE is not set
796# CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set
797# CONFIG_REGULATOR_USERSPACE_CONSUMER is not set
798# CONFIG_REGULATOR_BQ24022 is not set
799# CONFIG_REGULATOR_MAX1586 is not set
800CONFIG_REGULATOR_WM8350=y
801# CONFIG_REGULATOR_LP3971 is not set
802# CONFIG_REGULATOR_TPS65023 is not set
803# CONFIG_REGULATOR_TPS6507X is not set
768CONFIG_MEDIA_SUPPORT=y 804CONFIG_MEDIA_SUPPORT=y
769 805
770# 806#
@@ -874,10 +910,12 @@ CONFIG_MMC_BLOCK_BOUNCE=y
874# MMC/SD/SDIO Host Controller Drivers 910# MMC/SD/SDIO Host Controller Drivers
875# 911#
876# CONFIG_MMC_SDHCI is not set 912# CONFIG_MMC_SDHCI is not set
913# CONFIG_MMC_AT91 is not set
914# CONFIG_MMC_ATMELMCI is not set
877CONFIG_MMC_MXC=y 915CONFIG_MMC_MXC=y
878# CONFIG_MEMSTICK is not set 916# CONFIG_MEMSTICK is not set
879# CONFIG_ACCESSIBILITY is not set
880# CONFIG_NEW_LEDS is not set 917# CONFIG_NEW_LEDS is not set
918# CONFIG_ACCESSIBILITY is not set
881CONFIG_RTC_LIB=y 919CONFIG_RTC_LIB=y
882# CONFIG_RTC_CLASS is not set 920# CONFIG_RTC_CLASS is not set
883CONFIG_DMADEVICES=y 921CONFIG_DMADEVICES=y
@@ -896,16 +934,11 @@ CONFIG_DMA_ENGINE=y
896# CONFIG_ASYNC_TX_DMA is not set 934# CONFIG_ASYNC_TX_DMA is not set
897# CONFIG_DMATEST is not set 935# CONFIG_DMATEST is not set
898# CONFIG_AUXDISPLAY is not set 936# CONFIG_AUXDISPLAY is not set
899CONFIG_REGULATOR=y
900# CONFIG_REGULATOR_DEBUG is not set
901# CONFIG_REGULATOR_FIXED_VOLTAGE is not set
902# CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set
903# CONFIG_REGULATOR_USERSPACE_CONSUMER is not set
904# CONFIG_REGULATOR_BQ24022 is not set
905# CONFIG_REGULATOR_MAX1586 is not set
906CONFIG_REGULATOR_WM8350=y
907# CONFIG_REGULATOR_LP3971 is not set
908# CONFIG_UIO is not set 937# CONFIG_UIO is not set
938
939#
940# TI VLYNQ
941#
909# CONFIG_STAGING is not set 942# CONFIG_STAGING is not set
910 943
911# 944#
@@ -921,6 +954,7 @@ CONFIG_REGULATOR_WM8350=y
921# CONFIG_GFS2_FS is not set 954# CONFIG_GFS2_FS is not set
922# CONFIG_OCFS2_FS is not set 955# CONFIG_OCFS2_FS is not set
923# CONFIG_BTRFS_FS is not set 956# CONFIG_BTRFS_FS is not set
957# CONFIG_NILFS2_FS is not set
924CONFIG_FILE_LOCKING=y 958CONFIG_FILE_LOCKING=y
925CONFIG_FSNOTIFY=y 959CONFIG_FSNOTIFY=y
926# CONFIG_DNOTIFY is not set 960# CONFIG_DNOTIFY is not set
@@ -995,7 +1029,6 @@ CONFIG_UBIFS_FS_ZLIB=y
995# CONFIG_ROMFS_FS is not set 1029# CONFIG_ROMFS_FS is not set
996# CONFIG_SYSV_FS is not set 1030# CONFIG_SYSV_FS is not set
997# CONFIG_UFS_FS is not set 1031# CONFIG_UFS_FS is not set
998# CONFIG_NILFS2_FS is not set
999CONFIG_NETWORK_FILESYSTEMS=y 1032CONFIG_NETWORK_FILESYSTEMS=y
1000CONFIG_NFS_FS=y 1033CONFIG_NFS_FS=y
1001CONFIG_NFS_V3=y 1034CONFIG_NFS_V3=y
@@ -1033,6 +1066,7 @@ CONFIG_MSDOS_PARTITION=y
1033# CONFIG_ENABLE_MUST_CHECK is not set 1066# CONFIG_ENABLE_MUST_CHECK is not set
1034CONFIG_FRAME_WARN=1024 1067CONFIG_FRAME_WARN=1024
1035# CONFIG_MAGIC_SYSRQ is not set 1068# CONFIG_MAGIC_SYSRQ is not set
1069# CONFIG_STRIP_ASM_SYMS is not set
1036# CONFIG_UNUSED_SYMBOLS is not set 1070# CONFIG_UNUSED_SYMBOLS is not set
1037# CONFIG_DEBUG_FS is not set 1071# CONFIG_DEBUG_FS is not set
1038# CONFIG_HEADERS_CHECK is not set 1072# CONFIG_HEADERS_CHECK is not set
@@ -1062,7 +1096,6 @@ CONFIG_CRYPTO=y
1062# 1096#
1063# Crypto core or helper 1097# Crypto core or helper
1064# 1098#
1065# CONFIG_CRYPTO_FIPS is not set
1066CONFIG_CRYPTO_ALGAPI=y 1099CONFIG_CRYPTO_ALGAPI=y
1067CONFIG_CRYPTO_ALGAPI2=y 1100CONFIG_CRYPTO_ALGAPI2=y
1068CONFIG_CRYPTO_AEAD2=y 1101CONFIG_CRYPTO_AEAD2=y
@@ -1104,11 +1137,13 @@ CONFIG_CRYPTO_CBC=y
1104# 1137#
1105# CONFIG_CRYPTO_HMAC is not set 1138# CONFIG_CRYPTO_HMAC is not set
1106# CONFIG_CRYPTO_XCBC is not set 1139# CONFIG_CRYPTO_XCBC is not set
1140# CONFIG_CRYPTO_VMAC is not set
1107 1141
1108# 1142#
1109# Digest 1143# Digest
1110# 1144#
1111# CONFIG_CRYPTO_CRC32C is not set 1145# CONFIG_CRYPTO_CRC32C is not set
1146# CONFIG_CRYPTO_GHASH is not set
1112# CONFIG_CRYPTO_MD4 is not set 1147# CONFIG_CRYPTO_MD4 is not set
1113CONFIG_CRYPTO_MD5=y 1148CONFIG_CRYPTO_MD5=y
1114# CONFIG_CRYPTO_MICHAEL_MIC is not set 1149# CONFIG_CRYPTO_MICHAEL_MIC is not set
diff --git a/arch/arm/mach-mx2/Kconfig b/arch/arm/mach-mx2/Kconfig
index 3e14da3698b5..b96c6a389363 100644
--- a/arch/arm/mach-mx2/Kconfig
+++ b/arch/arm/mach-mx2/Kconfig
@@ -104,4 +104,11 @@ config MACH_PCA100
104 Include support for phyCARD-s (aka pca100) platform. This 104 Include support for phyCARD-s (aka pca100) platform. This
105 includes specific configurations for the module and its peripherals. 105 includes specific configurations for the module and its peripherals.
106 106
107config MACH_MXT_TD60
108 bool "Maxtrack i-MXT TD60"
109 depends on MACH_MX27
110 help
111 Include support for i-MXT (aka td60) platform. This
112 includes specific configurations for the module and its peripherals.
113
107endif 114endif
diff --git a/arch/arm/mach-mx2/Makefile b/arch/arm/mach-mx2/Makefile
index 19560f045632..52aca0aaf9b5 100644
--- a/arch/arm/mach-mx2/Makefile
+++ b/arch/arm/mach-mx2/Makefile
@@ -20,4 +20,5 @@ obj-$(CONFIG_MACH_MX27LITE) += mx27lite.o
20obj-$(CONFIG_MACH_EUKREA_CPUIMX27) += eukrea_cpuimx27.o 20obj-$(CONFIG_MACH_EUKREA_CPUIMX27) += eukrea_cpuimx27.o
21obj-$(CONFIG_MACH_EUKREA_MBIMX27_BASEBOARD) += eukrea_mbimx27-baseboard.o 21obj-$(CONFIG_MACH_EUKREA_MBIMX27_BASEBOARD) += eukrea_mbimx27-baseboard.o
22obj-$(CONFIG_MACH_PCA100) += pca100.o 22obj-$(CONFIG_MACH_PCA100) += pca100.o
23obj-$(CONFIG_MACH_MXT_TD60) += mxt_td60.o
23 24
diff --git a/arch/arm/mach-mx2/clock_imx21.c b/arch/arm/mach-mx2/clock_imx21.c
index eede79855f4a..91901b5d56c2 100644
--- a/arch/arm/mach-mx2/clock_imx21.c
+++ b/arch/arm/mach-mx2/clock_imx21.c
@@ -1000,7 +1000,7 @@ int __init mx21_clocks_init(unsigned long lref, unsigned long href)
1000 clk_enable(&per_clk[0]); 1000 clk_enable(&per_clk[0]);
1001 clk_enable(&gpio_clk); 1001 clk_enable(&gpio_clk);
1002 1002
1003#ifdef CONFIG_DEBUG_LL_CONSOLE 1003#if defined(CONFIG_DEBUG_LL) && !defined(CONFIG_DEBUG_ICEDCC)
1004 clk_enable(&uart_clk[0]); 1004 clk_enable(&uart_clk[0]);
1005#endif 1005#endif
1006 1006
diff --git a/arch/arm/mach-mx2/clock_imx27.c b/arch/arm/mach-mx2/clock_imx27.c
index aa640b4876c9..b010bf9ceaab 100644
--- a/arch/arm/mach-mx2/clock_imx27.c
+++ b/arch/arm/mach-mx2/clock_imx27.c
@@ -751,7 +751,7 @@ int __init mx27_clocks_init(unsigned long fref)
751 clk_enable(&emi_clk); 751 clk_enable(&emi_clk);
752 clk_enable(&iim_clk); 752 clk_enable(&iim_clk);
753 753
754#ifdef CONFIG_DEBUG_LL_CONSOLE 754#if defined(CONFIG_DEBUG_LL) && !defined(CONFIG_DEBUG_ICEDCC)
755 clk_enable(&uart1_clk); 755 clk_enable(&uart1_clk);
756#endif 756#endif
757 757
diff --git a/arch/arm/mach-mx2/mxt_td60.c b/arch/arm/mach-mx2/mxt_td60.c
new file mode 100644
index 000000000000..03dbbdc98955
--- /dev/null
+++ b/arch/arm/mach-mx2/mxt_td60.c
@@ -0,0 +1,319 @@
1/*
2 * Copyright (C) 2000 Deep Blue Solutions Ltd
3 * Copyright (C) 2002 Shane Nay (shane@minirl.com)
4 * Copyright 2006-2007 Freescale Semiconductor, Inc. All Rights Reserved.
5 *
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by
8 * the Free Software Foundation; either version 2 of the License, or
9 * (at your option) any later version.
10 *
11 * This program is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
15 *
16 * You should have received a copy of the GNU General Public License
17 * along with this program; if not, write to the Free Software
18 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19 */
20
21#include <linux/platform_device.h>
22#include <linux/mtd/mtd.h>
23#include <linux/mtd/map.h>
24#include <linux/mtd/partitions.h>
25#include <linux/mtd/physmap.h>
26#include <linux/i2c.h>
27#include <linux/irq.h>
28#include <mach/common.h>
29#include <mach/hardware.h>
30#include <asm/mach-types.h>
31#include <asm/mach/arch.h>
32#include <asm/mach/time.h>
33#include <asm/mach/map.h>
34#include <linux/gpio.h>
35#include <mach/imx-uart.h>
36#include <mach/iomux.h>
37#include <mach/mxc_nand.h>
38#include <mach/i2c.h>
39#include <linux/i2c/pca953x.h>
40#include <mach/imxfb.h>
41#include <mach/mmc.h>
42
43#include "devices.h"
44
45static unsigned int mxt_td60_pins[] __initdata = {
46 /* UART0 */
47 PE12_PF_UART1_TXD,
48 PE13_PF_UART1_RXD,
49 PE14_PF_UART1_CTS,
50 PE15_PF_UART1_RTS,
51 /* UART1 */
52 PE3_PF_UART2_CTS,
53 PE4_PF_UART2_RTS,
54 PE6_PF_UART2_TXD,
55 PE7_PF_UART2_RXD,
56 /* UART2 */
57 PE8_PF_UART3_TXD,
58 PE9_PF_UART3_RXD,
59 PE10_PF_UART3_CTS,
60 PE11_PF_UART3_RTS,
61 /* UART3 */
62 PB26_AF_UART4_RTS,
63 PB28_AF_UART4_TXD,
64 PB29_AF_UART4_CTS,
65 PB31_AF_UART4_RXD,
66 /* UART4 */
67 PB18_AF_UART5_TXD,
68 PB19_AF_UART5_RXD,
69 PB20_AF_UART5_CTS,
70 PB21_AF_UART5_RTS,
71 /* UART5 */
72 PB10_AF_UART6_TXD,
73 PB12_AF_UART6_CTS,
74 PB11_AF_UART6_RXD,
75 PB13_AF_UART6_RTS,
76 /* FEC */
77 PD0_AIN_FEC_TXD0,
78 PD1_AIN_FEC_TXD1,
79 PD2_AIN_FEC_TXD2,
80 PD3_AIN_FEC_TXD3,
81 PD4_AOUT_FEC_RX_ER,
82 PD5_AOUT_FEC_RXD1,
83 PD6_AOUT_FEC_RXD2,
84 PD7_AOUT_FEC_RXD3,
85 PD8_AF_FEC_MDIO,
86 PD9_AIN_FEC_MDC,
87 PD10_AOUT_FEC_CRS,
88 PD11_AOUT_FEC_TX_CLK,
89 PD12_AOUT_FEC_RXD0,
90 PD13_AOUT_FEC_RX_DV,
91 PD14_AOUT_FEC_RX_CLK,
92 PD15_AOUT_FEC_COL,
93 PD16_AIN_FEC_TX_ER,
94 PF23_AIN_FEC_TX_EN,
95 /* I2C1 */
96 PD17_PF_I2C_DATA,
97 PD18_PF_I2C_CLK,
98 /* I2C2 */
99 PC5_PF_I2C2_SDA,
100 PC6_PF_I2C2_SCL,
101 /* FB */
102 PA5_PF_LSCLK,
103 PA6_PF_LD0,
104 PA7_PF_LD1,
105 PA8_PF_LD2,
106 PA9_PF_LD3,
107 PA10_PF_LD4,
108 PA11_PF_LD5,
109 PA12_PF_LD6,
110 PA13_PF_LD7,
111 PA14_PF_LD8,
112 PA15_PF_LD9,
113 PA16_PF_LD10,
114 PA17_PF_LD11,
115 PA18_PF_LD12,
116 PA19_PF_LD13,
117 PA20_PF_LD14,
118 PA21_PF_LD15,
119 PA22_PF_LD16,
120 PA23_PF_LD17,
121 PA25_PF_CLS,
122 PA27_PF_SPL_SPR,
123 PA28_PF_HSYNC,
124 PA29_PF_VSYNC,
125 PA30_PF_CONTRAST,
126 PA31_PF_OE_ACD,
127 /* OWIRE */
128 PE16_AF_OWIRE,
129 /* SDHC1*/
130 PE18_PF_SD1_D0,
131 PE19_PF_SD1_D1,
132 PE20_PF_SD1_D2,
133 PE21_PF_SD1_D3,
134 PE22_PF_SD1_CMD,
135 PE23_PF_SD1_CLK,
136 PF8_AF_ATA_IORDY,
137 /* SDHC2*/
138 PB4_PF_SD2_D0,
139 PB5_PF_SD2_D1,
140 PB6_PF_SD2_D2,
141 PB7_PF_SD2_D3,
142 PB8_PF_SD2_CMD,
143 PB9_PF_SD2_CLK,
144};
145
146static struct mxc_nand_platform_data mxt_td60_nand_board_info = {
147 .width = 1,
148 .hw_ecc = 1,
149};
150
151static struct imxi2c_platform_data mxt_td60_i2c_data = {
152 .bitrate = 100000,
153};
154
155/* PCA9557 */
156static int mxt_td60_pca9557_setup(struct i2c_client *client,
157 unsigned gpio_base, unsigned ngpio,
158 void *context)
159{
160 static int mxt_td60_gpio_value[] = {
161 -1, -1, -1, -1, -1, -1, -1, 1
162 };
163 int n;
164
165 for (n = 0; n < ARRAY_SIZE(mxt_td60_gpio_value); ++n) {
166 gpio_request(gpio_base + n, "MXT_TD60 GPIO Exp");
167 if (mxt_td60_gpio_value[n] < 0)
168 gpio_direction_input(gpio_base + n);
169 else
170 gpio_direction_output(gpio_base + n,
171 mxt_td60_gpio_value[n]);
172 gpio_export(gpio_base + n, 0);
173 }
174
175 return 0;
176}
177
178static struct pca953x_platform_data mxt_td60_pca9557_pdata = {
179 .gpio_base = 240, /* place PCA9557 after all MX27 gpio pins */
180 .invert = 0, /* Do not invert */
181 .setup = mxt_td60_pca9557_setup,
182};
183
184static struct i2c_board_info mxt_td60_i2c_devices[] = {
185 {
186 I2C_BOARD_INFO("pca9557", 0x18),
187 .platform_data = &mxt_td60_pca9557_pdata,
188 },
189};
190
191static struct imxi2c_platform_data mxt_td60_i2c2_data = {
192 .bitrate = 100000,
193};
194
195static struct i2c_board_info mxt_td60_i2c2_devices[] = {
196};
197
198static struct imx_fb_videomode mxt_td60_modes[] = {
199 {
200 .mode = {
201 .name = "Chimei LW700AT9003",
202 .refresh = 60,
203 .xres = 800,
204 .yres = 480,
205 .pixclock = 30303,
206 .hsync_len = 64,
207 .left_margin = 0x67,
208 .right_margin = 0x68,
209 .vsync_len = 16,
210 .upper_margin = 0x0f,
211 .lower_margin = 0x0f,
212 },
213 .bpp = 16,
214 .pcr = 0xFA208B83,
215 },
216};
217
218static struct imx_fb_platform_data mxt_td60_fb_data = {
219 .mode = mxt_td60_modes,
220 .num_modes = ARRAY_SIZE(mxt_td60_modes),
221
222 /*
223 * - HSYNC active high
224 * - VSYNC active high
225 * - clk notenabled while idle
226 * - clock inverted
227 * - data not inverted
228 * - data enable low active
229 * - enable sharp mode
230 */
231 .pwmr = 0x00A903FF,
232 .lscr1 = 0x00120300,
233 .dmacr = 0x00020010,
234};
235
236static int mxt_td60_sdhc1_init(struct device *dev, irq_handler_t detect_irq,
237 void *data)
238{
239 return request_irq(IRQ_GPIOF(8), detect_irq, IRQF_TRIGGER_FALLING,
240 "sdhc1-card-detect", data);
241}
242
243static void mxt_td60_sdhc1_exit(struct device *dev, void *data)
244{
245 free_irq(IRQ_GPIOF(8), data);
246}
247
248static struct imxmmc_platform_data sdhc1_pdata = {
249 .init = mxt_td60_sdhc1_init,
250 .exit = mxt_td60_sdhc1_exit,
251};
252
253static struct platform_device *platform_devices[] __initdata = {
254 &mxc_fec_device,
255};
256
257static struct imxuart_platform_data uart_pdata[] = {
258 {
259 .flags = IMXUART_HAVE_RTSCTS,
260 }, {
261 .flags = IMXUART_HAVE_RTSCTS,
262 }, {
263 .flags = IMXUART_HAVE_RTSCTS,
264 }, {
265 .flags = IMXUART_HAVE_RTSCTS,
266 }, {
267 .flags = IMXUART_HAVE_RTSCTS,
268 }, {
269 .flags = IMXUART_HAVE_RTSCTS,
270 },
271};
272
273static void __init mxt_td60_board_init(void)
274{
275 mxc_gpio_setup_multiple_pins(mxt_td60_pins, ARRAY_SIZE(mxt_td60_pins),
276 "MXT_TD60");
277
278 mxc_register_device(&mxc_uart_device0, &uart_pdata[0]);
279 mxc_register_device(&mxc_uart_device1, &uart_pdata[1]);
280 mxc_register_device(&mxc_uart_device2, &uart_pdata[2]);
281 mxc_register_device(&mxc_uart_device3, &uart_pdata[3]);
282 mxc_register_device(&mxc_uart_device4, &uart_pdata[4]);
283 mxc_register_device(&mxc_uart_device5, &uart_pdata[5]);
284 mxc_register_device(&mxc_nand_device, &mxt_td60_nand_board_info);
285
286 i2c_register_board_info(0, mxt_td60_i2c_devices,
287 ARRAY_SIZE(mxt_td60_i2c_devices));
288
289 i2c_register_board_info(1, mxt_td60_i2c2_devices,
290 ARRAY_SIZE(mxt_td60_i2c2_devices));
291
292 mxc_register_device(&mxc_i2c_device0, &mxt_td60_i2c_data);
293 mxc_register_device(&mxc_i2c_device1, &mxt_td60_i2c2_data);
294 mxc_register_device(&mxc_fb_device, &mxt_td60_fb_data);
295 mxc_register_device(&mxc_sdhc_device0, &sdhc1_pdata);
296
297 platform_add_devices(platform_devices, ARRAY_SIZE(platform_devices));
298}
299
300static void __init mxt_td60_timer_init(void)
301{
302 mx27_clocks_init(26000000);
303}
304
305static struct sys_timer mxt_td60_timer = {
306 .init = mxt_td60_timer_init,
307};
308
309MACHINE_START(MXT_TD60, "Maxtrack i-MXT TD60")
310 /* maintainer: Maxtrack Industrial */
311 .phys_io = AIPI_BASE_ADDR,
312 .io_pg_offst = ((AIPI_BASE_ADDR_VIRT) >> 18) & 0xfffc,
313 .boot_params = PHYS_OFFSET + 0x100,
314 .map_io = mx27_map_io,
315 .init_irq = mx27_init_irq,
316 .init_machine = mxt_td60_board_init,
317 .timer = &mxt_td60_timer,
318MACHINE_END
319
diff --git a/arch/arm/mach-mx3/Kconfig b/arch/arm/mach-mx3/Kconfig
index 0177b8a5fe3a..ea8ed109a7c2 100644
--- a/arch/arm/mach-mx3/Kconfig
+++ b/arch/arm/mach-mx3/Kconfig
@@ -103,4 +103,12 @@ config MACH_MX35_3DS
103 help 103 help
104 Include support for MX35PDK platform. This includes specific 104 Include support for MX35PDK platform. This includes specific
105 configurations for the board and its peripherals. 105 configurations for the board and its peripherals.
106
107config MACH_KZM_ARM11_01
108 bool "Support KZM-ARM11-01(Kyoto Microcomputer)"
109 select ARCH_MX31
110 help
111 Include support for KZM-ARM11-01. This includes specific
112 configurations for the board and its peripherals.
113
106endif 114endif
diff --git a/arch/arm/mach-mx3/Makefile b/arch/arm/mach-mx3/Makefile
index 940035cacae8..93c7b296be6a 100644
--- a/arch/arm/mach-mx3/Makefile
+++ b/arch/arm/mach-mx3/Makefile
@@ -19,3 +19,4 @@ obj-$(CONFIG_MACH_QONG) += qong.o
19obj-$(CONFIG_MACH_PCM043) += pcm043.o 19obj-$(CONFIG_MACH_PCM043) += pcm043.o
20obj-$(CONFIG_MACH_ARMADILLO5X0) += armadillo5x0.o 20obj-$(CONFIG_MACH_ARMADILLO5X0) += armadillo5x0.o
21obj-$(CONFIG_MACH_MX35_3DS) += mx35pdk.o 21obj-$(CONFIG_MACH_MX35_3DS) += mx35pdk.o
22obj-$(CONFIG_MACH_KZM_ARM11_01) += kzmarm11.o
diff --git a/arch/arm/mach-mx3/clock-imx35.c b/arch/arm/mach-mx3/clock-imx35.c
index 02a9a18e1189..7584b4c6c556 100644
--- a/arch/arm/mach-mx3/clock-imx35.c
+++ b/arch/arm/mach-mx3/clock-imx35.c
@@ -387,6 +387,8 @@ DEFINE_CLOCK(csi_clk, 0, CCM_CGR3, 0, get_rate_csi, NULL);
387DEFINE_CLOCK(iim_clk, 0, CCM_CGR3, 2, NULL, NULL); 387DEFINE_CLOCK(iim_clk, 0, CCM_CGR3, 2, NULL, NULL);
388DEFINE_CLOCK(gpu2d_clk, 0, CCM_CGR3, 4, NULL, NULL); 388DEFINE_CLOCK(gpu2d_clk, 0, CCM_CGR3, 4, NULL, NULL);
389 389
390DEFINE_CLOCK(usbahb_clk, 0, 0, 0, get_rate_ahb, NULL);
391
390static int clk_dummy_enable(struct clk *clk) 392static int clk_dummy_enable(struct clk *clk)
391{ 393{
392 return 0; 394 return 0;
@@ -471,6 +473,7 @@ static struct clk_lookup lookups[] = {
471 _REGISTER_CLOCK("mxc-ehci.1", "usb", usbotg_clk) 473 _REGISTER_CLOCK("mxc-ehci.1", "usb", usbotg_clk)
472 _REGISTER_CLOCK("mxc-ehci.2", "usb", usbotg_clk) 474 _REGISTER_CLOCK("mxc-ehci.2", "usb", usbotg_clk)
473 _REGISTER_CLOCK("fsl-usb2-udc", "usb", usbotg_clk) 475 _REGISTER_CLOCK("fsl-usb2-udc", "usb", usbotg_clk)
476 _REGISTER_CLOCK("fsl-usb2-udc", "usb_ahb", usbahb_clk)
474 _REGISTER_CLOCK("imx-wdt.0", NULL, wdog_clk) 477 _REGISTER_CLOCK("imx-wdt.0", NULL, wdog_clk)
475 _REGISTER_CLOCK(NULL, "max", max_clk) 478 _REGISTER_CLOCK(NULL, "max", max_clk)
476 _REGISTER_CLOCK(NULL, "audmux", audmux_clk) 479 _REGISTER_CLOCK(NULL, "audmux", audmux_clk)
@@ -485,7 +488,7 @@ int __init mx35_clocks_init()
485 int i; 488 int i;
486 unsigned int ll = 0; 489 unsigned int ll = 0;
487 490
488#ifdef CONFIG_DEBUG_LL_CONSOLE 491#if defined(CONFIG_DEBUG_LL) && !defined(CONFIG_DEBUG_ICEDCC)
489 ll = (3 << 16); 492 ll = (3 << 16);
490#endif 493#endif
491 494
diff --git a/arch/arm/mach-mx3/kzmarm11.c b/arch/arm/mach-mx3/kzmarm11.c
new file mode 100644
index 000000000000..6fa99ce3008a
--- /dev/null
+++ b/arch/arm/mach-mx3/kzmarm11.c
@@ -0,0 +1,268 @@
1/*
2 * KZM-ARM11-01 support
3 * Copyright (C) 2009 Yoichi Yuasa <yuasa@linux-mips.org>
4 *
5 * based on code for MX31ADS,
6 * Copyright (C) 2000 Deep Blue Solutions Ltd
7 * Copyright (C) 2002 Shane Nay (shane@minirl.com)
8 * Copyright 2005-2007 Freescale Semiconductor, Inc. All Rights Reserved.
9 *
10 * This program is free software; you can redistribute it and/or modify
11 * it under the terms of the GNU General Public License as published by
12 * the Free Software Foundation; either version 2 of the License, or
13 * (at your option) any later version.
14 *
15 * This program is distributed in the hope that it will be useful,
16 * but WITHOUT ANY WARRANTY; without even the implied warranty of
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18 * GNU General Public License for more details.
19 *
20 * You should have received a copy of the GNU General Public License
21 * along with this program; if not, write to the Free Software
22 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
23 */
24
25#include <linux/gpio.h>
26#include <linux/init.h>
27#include <linux/platform_device.h>
28#include <linux/serial_8250.h>
29#include <linux/smsc911x.h>
30#include <linux/types.h>
31
32#include <asm/irq.h>
33#include <asm/mach-types.h>
34#include <asm/setup.h>
35#include <asm/mach/arch.h>
36#include <asm/mach/irq.h>
37#include <asm/mach/map.h>
38#include <asm/mach/time.h>
39
40#include <mach/board-kzmarm11.h>
41#include <mach/clock.h>
42#include <mach/common.h>
43#include <mach/imx-uart.h>
44#include <mach/iomux-mx3.h>
45#include <mach/memory.h>
46
47#include "devices.h"
48
49#if defined(CONFIG_SERIAL_8250) || defined(CONFIG_SERIAL_8250_MODULE)
50/*
51 * KZM-ARM11-01 has an external UART on FPGA
52 */
53static struct plat_serial8250_port serial_platform_data[] = {
54 {
55 .membase = IO_ADDRESS(KZM_ARM11_16550),
56 .mapbase = KZM_ARM11_16550,
57 .irq = IOMUX_TO_IRQ(MX31_PIN_GPIO1_1),
58 .irqflags = IRQ_TYPE_EDGE_RISING,
59 .uartclk = 14745600,
60 .regshift = 0,
61 .iotype = UPIO_MEM,
62 .flags = UPF_BOOT_AUTOCONF | UPF_SKIP_TEST |
63 UPF_BUGGY_UART,
64 },
65 {},
66};
67
68static struct resource serial8250_resources[] = {
69 {
70 .start = KZM_ARM11_16550,
71 .end = KZM_ARM11_16550 + 0x10,
72 .flags = IORESOURCE_MEM,
73 },
74 {
75 .start = IOMUX_TO_IRQ(MX31_PIN_GPIO1_1),
76 .end = IOMUX_TO_IRQ(MX31_PIN_GPIO1_1),
77 .flags = IORESOURCE_IRQ,
78 },
79};
80
81static struct platform_device serial_device = {
82 .name = "serial8250",
83 .id = PLAT8250_DEV_PLATFORM,
84 .dev = {
85 .platform_data = serial_platform_data,
86 },
87 .num_resources = ARRAY_SIZE(serial8250_resources),
88 .resource = serial8250_resources,
89};
90
91static int __init kzm_init_ext_uart(void)
92{
93 u8 tmp;
94
95 /*
96 * GPIO 1-1: external UART interrupt line
97 */
98 mxc_iomux_mode(IOMUX_MODE(MX31_PIN_GPIO1_1, IOMUX_CONFIG_GPIO));
99 gpio_request(IOMUX_TO_GPIO(MX31_PIN_GPIO1_1), "ext-uart-int");
100 gpio_direction_input(IOMUX_TO_GPIO(MX31_PIN_GPIO1_1));
101
102 /*
103 * Unmask UART interrupt
104 */
105 tmp = __raw_readb(IO_ADDRESS(KZM_ARM11_CTL1));
106 tmp |= 0x2;
107 __raw_writeb(tmp, IO_ADDRESS(KZM_ARM11_CTL1));
108
109 return platform_device_register(&serial_device);
110}
111#else
112static inline int kzm_init_ext_uart(void)
113{
114 return 0;
115}
116#endif
117
118/*
119 * SMSC LAN9118
120 */
121#if defined(CONFIG_SMSC911X) || defined(CONFIG_SMSC911X_MODULE)
122static struct smsc911x_platform_config kzm_smsc9118_config = {
123 .phy_interface = PHY_INTERFACE_MODE_MII,
124 .irq_polarity = SMSC911X_IRQ_POLARITY_ACTIVE_HIGH,
125 .irq_type = SMSC911X_IRQ_TYPE_PUSH_PULL,
126 .flags = SMSC911X_USE_32BIT | SMSC911X_SAVE_MAC_ADDRESS,
127};
128
129static struct resource kzm_smsc9118_resources[] = {
130 {
131 .start = CS5_BASE_ADDR,
132 .end = CS5_BASE_ADDR + SZ_128K - 1,
133 .flags = IORESOURCE_MEM,
134 },
135 {
136 .start = IOMUX_TO_IRQ(MX31_PIN_GPIO1_2),
137 .end = IOMUX_TO_IRQ(MX31_PIN_GPIO1_2),
138 .flags = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHEDGE,
139 },
140};
141
142static struct platform_device kzm_smsc9118_device = {
143 .name = "smsc911x",
144 .id = -1,
145 .num_resources = ARRAY_SIZE(kzm_smsc9118_resources),
146 .resource = kzm_smsc9118_resources,
147 .dev = {
148 .platform_data = &kzm_smsc9118_config,
149 },
150};
151
152static int __init kzm_init_smsc9118(void)
153{
154 /*
155 * GPIO 1-2: SMSC9118 interrupt line
156 */
157 mxc_iomux_mode(IOMUX_MODE(MX31_PIN_GPIO1_2, IOMUX_CONFIG_GPIO));
158 gpio_request(IOMUX_TO_GPIO(MX31_PIN_GPIO1_2), "smsc9118-int");
159 gpio_direction_input(IOMUX_TO_GPIO(MX31_PIN_GPIO1_2));
160
161 return platform_device_register(&kzm_smsc9118_device);
162}
163#else
164static inline int kzm_init_smsc9118(void)
165{
166 return 0;
167}
168#endif
169
170#if defined(CONFIG_SERIAL_IMX) || defined(CONFIG_SERIAL_IMX_MODULE)
171static struct imxuart_platform_data uart_pdata = {
172 .flags = IMXUART_HAVE_RTSCTS,
173};
174
175static void __init kzm_init_imx_uart(void)
176{
177 mxc_register_device(&mxc_uart_device0, &uart_pdata);
178
179 mxc_register_device(&mxc_uart_device1, &uart_pdata);
180}
181#else
182static inline void kzm_init_imx_uart(void)
183{
184}
185#endif
186
187static int kzm_pins[] __initdata = {
188 MX31_PIN_CTS1__CTS1,
189 MX31_PIN_RTS1__RTS1,
190 MX31_PIN_TXD1__TXD1,
191 MX31_PIN_RXD1__RXD1,
192 MX31_PIN_DCD_DCE1__DCD_DCE1,
193 MX31_PIN_RI_DCE1__RI_DCE1,
194 MX31_PIN_DSR_DCE1__DSR_DCE1,
195 MX31_PIN_DTR_DCE1__DTR_DCE1,
196 MX31_PIN_CTS2__CTS2,
197 MX31_PIN_RTS2__RTS2,
198 MX31_PIN_TXD2__TXD2,
199 MX31_PIN_RXD2__RXD2,
200 MX31_PIN_DCD_DTE1__DCD_DTE2,
201 MX31_PIN_RI_DTE1__RI_DTE2,
202 MX31_PIN_DSR_DTE1__DSR_DTE2,
203 MX31_PIN_DTR_DTE1__DTR_DTE2,
204};
205
206/*
207 * Board specific initialization.
208 */
209static void __init kzm_board_init(void)
210{
211 mxc_iomux_setup_multiple_pins(kzm_pins,
212 ARRAY_SIZE(kzm_pins), "kzm");
213 kzm_init_ext_uart();
214 kzm_init_smsc9118();
215 kzm_init_imx_uart();
216
217 pr_info("Clock input source is 26MHz\n");
218}
219
220/*
221 * This structure defines static mappings for the kzm-arm11-01 board.
222 */
223static struct map_desc kzm_io_desc[] __initdata = {
224 {
225 .virtual = CS4_BASE_ADDR_VIRT,
226 .pfn = __phys_to_pfn(CS4_BASE_ADDR),
227 .length = CS4_SIZE,
228 .type = MT_DEVICE
229 },
230 {
231 .virtual = CS5_BASE_ADDR_VIRT,
232 .pfn = __phys_to_pfn(CS5_BASE_ADDR),
233 .length = CS5_SIZE,
234 .type = MT_DEVICE
235 },
236};
237
238/*
239 * Set up static virtual mappings.
240 */
241static void __init kzm_map_io(void)
242{
243 mx31_map_io();
244 iotable_init(kzm_io_desc, ARRAY_SIZE(kzm_io_desc));
245}
246
247static void __init kzm_timer_init(void)
248{
249 mx31_clocks_init(26000000);
250}
251
252static struct sys_timer kzm_timer = {
253 .init = kzm_timer_init,
254};
255
256/*
257 * The following uses standard kernel macros define in arch.h in order to
258 * initialize __mach_desc_KZM_ARM11_01 data structure.
259 */
260MACHINE_START(KZM_ARM11_01, "Kyoto Microcomputer Co., Ltd. KZM-ARM11-01")
261 .phys_io = AIPS1_BASE_ADDR,
262 .io_pg_offst = ((AIPS1_BASE_ADDR_VIRT) >> 18) & 0xfffc,
263 .boot_params = PHYS_OFFSET + 0x100,
264 .map_io = kzm_map_io,
265 .init_irq = mx31_init_irq,
266 .init_machine = kzm_board_init,
267 .timer = &kzm_timer,
268MACHINE_END
diff --git a/arch/arm/mach-mx3/mx31moboard.c b/arch/arm/mach-mx3/mx31moboard.c
index 1ec679a3c72f..b70529145936 100644
--- a/arch/arm/mach-mx3/mx31moboard.c
+++ b/arch/arm/mach-mx3/mx31moboard.c
@@ -226,7 +226,7 @@ static struct mc13783_regulator_init_data moboard_regulators[] = {
226static struct mc13783_platform_data moboard_pmic = { 226static struct mc13783_platform_data moboard_pmic = {
227 .regulators = moboard_regulators, 227 .regulators = moboard_regulators,
228 .num_regulators = ARRAY_SIZE(moboard_regulators), 228 .num_regulators = ARRAY_SIZE(moboard_regulators),
229 .flags = MC13783_USE_REGULATOR | MC13783_USE_RTC, 229 .flags = MC13783_USE_REGULATOR | MC13783_USE_RTC |
230 MC13783_USE_ADC, 230 MC13783_USE_ADC,
231}; 231};
232 232
diff --git a/arch/arm/mach-mx3/mx35pdk.c b/arch/arm/mach-mx3/mx35pdk.c
index 6ff186e46ceb..0bbc65ea23c8 100644
--- a/arch/arm/mach-mx3/mx35pdk.c
+++ b/arch/arm/mach-mx3/mx35pdk.c
@@ -23,6 +23,7 @@
23#include <linux/platform_device.h> 23#include <linux/platform_device.h>
24#include <linux/memory.h> 24#include <linux/memory.h>
25#include <linux/gpio.h> 25#include <linux/gpio.h>
26#include <linux/fsl_devices.h>
26 27
27#include <asm/mach-types.h> 28#include <asm/mach-types.h>
28#include <asm/mach/arch.h> 29#include <asm/mach/arch.h>
@@ -69,6 +70,15 @@ static struct pad_desc mx35pdk_pads[] = {
69 MX35_PAD_FEC_TDATA2__FEC_TDATA_2, 70 MX35_PAD_FEC_TDATA2__FEC_TDATA_2,
70 MX35_PAD_FEC_RDATA3__FEC_RDATA_3, 71 MX35_PAD_FEC_RDATA3__FEC_RDATA_3,
71 MX35_PAD_FEC_TDATA3__FEC_TDATA_3, 72 MX35_PAD_FEC_TDATA3__FEC_TDATA_3,
73 /* USBOTG */
74 MX35_PAD_USBOTG_PWR__USB_TOP_USBOTG_PWR,
75 MX35_PAD_USBOTG_OC__USB_TOP_USBOTG_OC,
76};
77
78/* OTG config */
79static struct fsl_usb2_platform_data usb_pdata = {
80 .operating_mode = FSL_USB2_DR_DEVICE,
81 .phy_mode = FSL_USB2_PHY_UTMI_WIDE,
72}; 82};
73 83
74/* 84/*
@@ -81,6 +91,8 @@ static void __init mxc_board_init(void)
81 platform_add_devices(devices, ARRAY_SIZE(devices)); 91 platform_add_devices(devices, ARRAY_SIZE(devices));
82 92
83 mxc_register_device(&mxc_uart_device0, &uart_pdata); 93 mxc_register_device(&mxc_uart_device0, &uart_pdata);
94
95 mxc_register_device(&mxc_otg_udc_device, &usb_pdata);
84} 96}
85 97
86static void __init mx35pdk_timer_init(void) 98static void __init mx35pdk_timer_init(void)
diff --git a/arch/arm/plat-mxc/audmux-v1.c b/arch/arm/plat-mxc/audmux-v1.c
index 70ab5aff2b9e..da6387dcdf21 100644
--- a/arch/arm/plat-mxc/audmux-v1.c
+++ b/arch/arm/plat-mxc/audmux-v1.c
@@ -28,7 +28,9 @@
28 28
29static void __iomem *audmux_base; 29static void __iomem *audmux_base;
30 30
31#define MXC_AUDMUX_V1_PCR(x) ((x) * 4) 31static unsigned char port_mapping[] = {
32 0x0, 0x4, 0x8, 0x10, 0x14, 0x1c,
33};
32 34
33int mxc_audmux_v1_configure_port(unsigned int port, unsigned int pcr) 35int mxc_audmux_v1_configure_port(unsigned int port, unsigned int pcr)
34{ 36{
@@ -37,7 +39,10 @@ int mxc_audmux_v1_configure_port(unsigned int port, unsigned int pcr)
37 return -ENOSYS; 39 return -ENOSYS;
38 } 40 }
39 41
40 writel(pcr, audmux_base + MXC_AUDMUX_V1_PCR(port)); 42 if (port >= ARRAY_SIZE(port_mapping))
43 return -EINVAL;
44
45 writel(pcr, audmux_base + port_mapping[port]);
41 46
42 return 0; 47 return 0;
43} 48}
diff --git a/arch/arm/plat-mxc/include/mach/board-kzmarm11.h b/arch/arm/plat-mxc/include/mach/board-kzmarm11.h
new file mode 100644
index 000000000000..05ff2f31ef1f
--- /dev/null
+++ b/arch/arm/plat-mxc/include/mach/board-kzmarm11.h
@@ -0,0 +1,39 @@
1/*
2 * Copyright (C) 2009 Yoichi Yuasa <yuasa@linux-mips.org>
3 *
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License as published by
6 * the Free Software Foundation; either version 2 of the License, or
7 * (at your option) any later version.
8 *
9 * This program is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 * GNU General Public License for more details.
13 *
14 * You should have received a copy of the GNU General Public License
15 * along with this program; if not, write to the Free Software
16 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
17 */
18#ifndef __ARM_ARCH_BOARD_KZM_ARM11_H
19#define __ARM_ARCH_BOARD_KZM_ARM11_H
20
21/*
22 * KZM-ARM11-01 Board Control Registers on FPGA
23 */
24#define KZM_ARM11_CTL1 (CS4_BASE_ADDR + 0x1000)
25#define KZM_ARM11_CTL2 (CS4_BASE_ADDR + 0x1001)
26#define KZM_ARM11_RSW1 (CS4_BASE_ADDR + 0x1002)
27#define KZM_ARM11_BACK_LIGHT (CS4_BASE_ADDR + 0x1004)
28#define KZM_ARM11_FPGA_REV (CS4_BASE_ADDR + 0x1008)
29#define KZM_ARM11_7SEG_LED (CS4_BASE_ADDR + 0x1010)
30#define KZM_ARM11_LEDS (CS4_BASE_ADDR + 0x1020)
31#define KZM_ARM11_DIPSW2 (CS4_BASE_ADDR + 0x1003)
32
33/*
34 * External UART for touch panel on FPGA
35 */
36#define KZM_ARM11_16550 (CS4_BASE_ADDR + 0x1050)
37
38#endif /* __ARM_ARCH_BOARD_KZM_ARM11_H */
39
diff --git a/arch/arm/plat-mxc/include/mach/iomux-mx3.h b/arch/arm/plat-mxc/include/mach/iomux-mx3.h
index 2f6583e185aa..eaabd4e96925 100644
--- a/arch/arm/plat-mxc/include/mach/iomux-mx3.h
+++ b/arch/arm/plat-mxc/include/mach/iomux-mx3.h
@@ -524,10 +524,18 @@ enum iomux_pins {
524#define MX31_PIN_RTS1__RTS1 IOMUX_MODE(MX31_PIN_RTS1, IOMUX_CONFIG_FUNC) 524#define MX31_PIN_RTS1__RTS1 IOMUX_MODE(MX31_PIN_RTS1, IOMUX_CONFIG_FUNC)
525#define MX31_PIN_TXD1__TXD1 IOMUX_MODE(MX31_PIN_TXD1, IOMUX_CONFIG_FUNC) 525#define MX31_PIN_TXD1__TXD1 IOMUX_MODE(MX31_PIN_TXD1, IOMUX_CONFIG_FUNC)
526#define MX31_PIN_RXD1__RXD1 IOMUX_MODE(MX31_PIN_RXD1, IOMUX_CONFIG_FUNC) 526#define MX31_PIN_RXD1__RXD1 IOMUX_MODE(MX31_PIN_RXD1, IOMUX_CONFIG_FUNC)
527#define MX31_PIN_DCD_DCE1__DCD_DCE1 IOMUX_MODE(MX31_PIN_DCD_DCE1, IOMUX_CONFIG_FUNC)
528#define MX31_PIN_RI_DCE1__RI_DCE1 IOMUX_MODE(MX31_PIN_RI_DCE1, IOMUX_CONFIG_FUNC)
529#define MX31_PIN_DSR_DCE1__DSR_DCE1 IOMUX_MODE(MX31_PIN_DSR_DCE1, IOMUX_CONFIG_FUNC)
530#define MX31_PIN_DTR_DCE1__DTR_DCE1 IOMUX_MODE(MX31_PIN_DTR_DCE1, IOMUX_CONFIG_FUNC)
527#define MX31_PIN_CTS2__CTS2 IOMUX_MODE(MX31_PIN_CTS2, IOMUX_CONFIG_FUNC) 531#define MX31_PIN_CTS2__CTS2 IOMUX_MODE(MX31_PIN_CTS2, IOMUX_CONFIG_FUNC)
528#define MX31_PIN_RTS2__RTS2 IOMUX_MODE(MX31_PIN_RTS2, IOMUX_CONFIG_FUNC) 532#define MX31_PIN_RTS2__RTS2 IOMUX_MODE(MX31_PIN_RTS2, IOMUX_CONFIG_FUNC)
529#define MX31_PIN_TXD2__TXD2 IOMUX_MODE(MX31_PIN_TXD2, IOMUX_CONFIG_FUNC) 533#define MX31_PIN_TXD2__TXD2 IOMUX_MODE(MX31_PIN_TXD2, IOMUX_CONFIG_FUNC)
530#define MX31_PIN_RXD2__RXD2 IOMUX_MODE(MX31_PIN_RXD2, IOMUX_CONFIG_FUNC) 534#define MX31_PIN_RXD2__RXD2 IOMUX_MODE(MX31_PIN_RXD2, IOMUX_CONFIG_FUNC)
535#define MX31_PIN_DCD_DTE1__DCD_DTE2 IOMUX_MODE(MX31_PIN_DCD_DTE1, IOMUX_CONFIG_ALT1)
536#define MX31_PIN_RI_DTE1__RI_DTE2 IOMUX_MODE(MX31_PIN_RI_DTE1, IOMUX_CONFIG_ALT1)
537#define MX31_PIN_DSR_DTE1__DSR_DTE2 IOMUX_MODE(MX31_PIN_DSR_DTE1, IOMUX_CONFIG_ALT1)
538#define MX31_PIN_DTR_DTE1__DTR_DTE2 IOMUX_MODE(MX31_PIN_DTR_DTE1, IOMUX_OCONFIG_ALT3 | IOMUX_ICONFIG_NONE)
531#define MX31_PIN_PC_RST__CTS5 IOMUX_MODE(MX31_PIN_PC_RST, IOMUX_CONFIG_ALT2) 539#define MX31_PIN_PC_RST__CTS5 IOMUX_MODE(MX31_PIN_PC_RST, IOMUX_CONFIG_ALT2)
532#define MX31_PIN_PC_VS2__RTS5 IOMUX_MODE(MX31_PIN_PC_VS2, IOMUX_CONFIG_ALT2) 540#define MX31_PIN_PC_VS2__RTS5 IOMUX_MODE(MX31_PIN_PC_VS2, IOMUX_CONFIG_ALT2)
533#define MX31_PIN_PC_BVD2__TXD5 IOMUX_MODE(MX31_PIN_PC_BVD2, IOMUX_CONFIG_ALT2) 541#define MX31_PIN_PC_BVD2__TXD5 IOMUX_MODE(MX31_PIN_PC_BVD2, IOMUX_CONFIG_ALT2)
diff --git a/arch/arm/plat-mxc/include/mach/iomux.h b/arch/arm/plat-mxc/include/mach/iomux.h
index 6d49f8ae3259..011cfcd8b820 100644
--- a/arch/arm/plat-mxc/include/mach/iomux.h
+++ b/arch/arm/plat-mxc/include/mach/iomux.h
@@ -123,6 +123,7 @@
123#define IRQ_GPIOC(x) (IRQ_GPIOB(32) + x) 123#define IRQ_GPIOC(x) (IRQ_GPIOB(32) + x)
124#define IRQ_GPIOD(x) (IRQ_GPIOC(32) + x) 124#define IRQ_GPIOD(x) (IRQ_GPIOC(32) + x)
125#define IRQ_GPIOE(x) (IRQ_GPIOD(32) + x) 125#define IRQ_GPIOE(x) (IRQ_GPIOD(32) + x)
126#define IRQ_GPIOF(x) (IRQ_GPIOE(32) + x)
126 127
127 128
128extern void mxc_gpio_mode(int gpio_mode); 129extern void mxc_gpio_mode(int gpio_mode);
diff --git a/arch/arm/plat-mxc/include/mach/uncompress.h b/arch/arm/plat-mxc/include/mach/uncompress.h
index a41bf57fb3de..4d5d395ad63b 100644
--- a/arch/arm/plat-mxc/include/mach/uncompress.h
+++ b/arch/arm/plat-mxc/include/mach/uncompress.h
@@ -84,6 +84,7 @@ static __inline__ void __arch_decomp_setup(unsigned long arch_id)
84 case MACH_TYPE_PCM038: 84 case MACH_TYPE_PCM038:
85 case MACH_TYPE_MX21ADS: 85 case MACH_TYPE_MX21ADS:
86 case MACH_TYPE_PCA100: 86 case MACH_TYPE_PCA100:
87 case MACH_TYPE_MXT_TD60:
87 uart_base = MX2X_UART1_BASE_ADDR; 88 uart_base = MX2X_UART1_BASE_ADDR;
88 break; 89 break;
89 case MACH_TYPE_MX31LITE: 90 case MACH_TYPE_MX31LITE: