aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm
diff options
context:
space:
mode:
authorYoichi Yuasa <yuasa@linux-mips.org>2009-11-01 21:37:36 -0500
committerSascha Hauer <s.hauer@pengutronix.de>2009-11-27 03:17:00 -0500
commit415c7d26d28fa10edb46503a8dd5b6440d479c0b (patch)
tree43d00e480553dcfd11aced901ff58b9d0216609c /arch/arm
parent143a179d6cafe939c881ee918574e3943157ef01 (diff)
Add KZM-ARM11-01 support
Signed-off-by: Yoichi Yuasa <yuasa@linux-mips.org> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'arch/arm')
-rw-r--r--arch/arm/configs/mx3_defconfig101
-rw-r--r--arch/arm/mach-mx3/Kconfig8
-rw-r--r--arch/arm/mach-mx3/Makefile1
-rw-r--r--arch/arm/mach-mx3/kzmarm11.c268
-rw-r--r--arch/arm/plat-mxc/include/mach/board-kzmarm11.h39
-rw-r--r--arch/arm/plat-mxc/include/mach/iomux-mx3.h8
6 files changed, 392 insertions, 33 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-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/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/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)