aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm
diff options
context:
space:
mode:
authorRussell King <rmk@dyn-67.arm.linux.org.uk>2008-12-13 04:12:51 -0500
committerRussell King <rmk+kernel@arm.linux.org.uk>2008-12-13 04:12:51 -0500
commit72aaf09fda49f5919d98d65d35e5179f3acb0497 (patch)
tree5fd25748f7f5640f8ee8efb86ddca88d12840791 /arch/arm
parent67fbc2312312095acc2f19a0b601bac10f84cf9d (diff)
parent58c2467355ed3154a12ee49d8f8236547145c9d3 (diff)
Merge git://git.marvell.com/orion into devel
Diffstat (limited to 'arch/arm')
-rw-r--r--arch/arm/Makefile1
-rw-r--r--arch/arm/configs/corgi_defconfig2
-rw-r--r--arch/arm/configs/kirkwood_defconfig329
-rw-r--r--arch/arm/mach-kirkwood/common.c59
-rw-r--r--arch/arm/mach-kirkwood/common.h1
-rw-r--r--arch/arm/mach-kirkwood/include/mach/irqs.h1
-rw-r--r--arch/arm/mach-kirkwood/rd88f6281-setup.c16
-rw-r--r--arch/arm/mach-mv78xx0/common.c1
-rw-r--r--arch/arm/mach-orion5x/common.c1
-rw-r--r--arch/arm/mach-orion5x/dns323-setup.c174
-rw-r--r--arch/arm/mach-pxa/palmtx.c150
-rw-r--r--arch/arm/mach-pxa/pcm990-baseboard.c1
-rw-r--r--arch/arm/mach-s3c2410/include/mach/spi-gpio.h1
-rw-r--r--arch/arm/plat-orion/include/plat/ehci-orion.h8
14 files changed, 602 insertions, 143 deletions
diff --git a/arch/arm/Makefile b/arch/arm/Makefile
index 69d3038b35e3..260864f3f010 100644
--- a/arch/arm/Makefile
+++ b/arch/arm/Makefile
@@ -76,6 +76,7 @@ tune-$(CONFIG_CPU_SA110) :=-mtune=strongarm110
76tune-$(CONFIG_CPU_SA1100) :=-mtune=strongarm1100 76tune-$(CONFIG_CPU_SA1100) :=-mtune=strongarm1100
77tune-$(CONFIG_CPU_XSCALE) :=$(call cc-option,-mtune=xscale,-mtune=strongarm110) -Wa,-mcpu=xscale 77tune-$(CONFIG_CPU_XSCALE) :=$(call cc-option,-mtune=xscale,-mtune=strongarm110) -Wa,-mcpu=xscale
78tune-$(CONFIG_CPU_XSC3) :=$(call cc-option,-mtune=xscale,-mtune=strongarm110) -Wa,-mcpu=xscale 78tune-$(CONFIG_CPU_XSC3) :=$(call cc-option,-mtune=xscale,-mtune=strongarm110) -Wa,-mcpu=xscale
79tune-$(CONFIG_CPU_FEROCEON) :=$(call cc-option,-mtune=marvell-f,-mtune=xscale)
79tune-$(CONFIG_CPU_V6) :=$(call cc-option,-mtune=arm1136j-s,-mtune=strongarm) 80tune-$(CONFIG_CPU_V6) :=$(call cc-option,-mtune=arm1136j-s,-mtune=strongarm)
80 81
81ifeq ($(CONFIG_AEABI),y) 82ifeq ($(CONFIG_AEABI),y)
diff --git a/arch/arm/configs/corgi_defconfig b/arch/arm/configs/corgi_defconfig
index f3af0b593eb0..98765438048d 100644
--- a/arch/arm/configs/corgi_defconfig
+++ b/arch/arm/configs/corgi_defconfig
@@ -179,7 +179,7 @@ CONFIG_MACH_HUSKY=y
179# CONFIG_MACH_AKITA is not set 179# CONFIG_MACH_AKITA is not set
180# CONFIG_MACH_SPITZ is not set 180# CONFIG_MACH_SPITZ is not set
181# CONFIG_MACH_BORZOI is not set 181# CONFIG_MACH_BORZOI is not set
182CONFIG_MACH_TOSA=y 182# CONFIG_MACH_TOSA is not set
183# CONFIG_ARCH_VIPER is not set 183# CONFIG_ARCH_VIPER is not set
184# CONFIG_ARCH_PXA_ESERIES is not set 184# CONFIG_ARCH_PXA_ESERIES is not set
185# CONFIG_TRIZEPS_PXA is not set 185# CONFIG_TRIZEPS_PXA is not set
diff --git a/arch/arm/configs/kirkwood_defconfig b/arch/arm/configs/kirkwood_defconfig
index e3357ba10f1f..ab8b1e0d0dac 100644
--- a/arch/arm/configs/kirkwood_defconfig
+++ b/arch/arm/configs/kirkwood_defconfig
@@ -1,11 +1,11 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.26-rc5 3# Linux kernel version: 2.6.28-rc7
4# Sun Jun 22 15:51:25 2008 4# Thu Dec 4 15:27:39 2008
5# 5#
6CONFIG_ARM=y 6CONFIG_ARM=y
7CONFIG_SYS_SUPPORTS_APM_EMULATION=y 7CONFIG_SYS_SUPPORTS_APM_EMULATION=y
8CONFIG_GENERIC_GPIO=y 8# CONFIG_GENERIC_GPIO is not set
9CONFIG_GENERIC_TIME=y 9CONFIG_GENERIC_TIME=y
10CONFIG_GENERIC_CLOCKEVENTS=y 10CONFIG_GENERIC_CLOCKEVENTS=y
11CONFIG_MMU=y 11CONFIG_MMU=y
@@ -22,8 +22,7 @@ CONFIG_RWSEM_GENERIC_SPINLOCK=y
22# CONFIG_ARCH_HAS_ILOG2_U64 is not set 22# CONFIG_ARCH_HAS_ILOG2_U64 is not set
23CONFIG_GENERIC_HWEIGHT=y 23CONFIG_GENERIC_HWEIGHT=y
24CONFIG_GENERIC_CALIBRATE_DELAY=y 24CONFIG_GENERIC_CALIBRATE_DELAY=y
25CONFIG_ARCH_SUPPORTS_AOUT=y 25CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
26CONFIG_ZONE_DMA=y
27CONFIG_VECTORS_BASE=0xffff0000 26CONFIG_VECTORS_BASE=0xffff0000
28CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" 27CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
29 28
@@ -49,14 +48,17 @@ CONFIG_LOG_BUF_SHIFT=14
49# CONFIG_GROUP_SCHED is not set 48# CONFIG_GROUP_SCHED is not set
50# CONFIG_SYSFS_DEPRECATED_V2 is not set 49# CONFIG_SYSFS_DEPRECATED_V2 is not set
51# CONFIG_RELAY is not set 50# CONFIG_RELAY is not set
52# CONFIG_NAMESPACES is not set 51CONFIG_NAMESPACES=y
52# CONFIG_UTS_NS is not set
53# CONFIG_IPC_NS is not set
54# CONFIG_USER_NS is not set
55# CONFIG_PID_NS is not set
53# CONFIG_BLK_DEV_INITRD is not set 56# CONFIG_BLK_DEV_INITRD is not set
54CONFIG_CC_OPTIMIZE_FOR_SIZE=y 57CONFIG_CC_OPTIMIZE_FOR_SIZE=y
55CONFIG_SYSCTL=y 58CONFIG_SYSCTL=y
56CONFIG_EMBEDDED=y 59# CONFIG_EMBEDDED is not set
57CONFIG_UID16=y 60CONFIG_UID16=y
58CONFIG_SYSCTL_SYSCALL=y 61CONFIG_SYSCTL_SYSCALL=y
59CONFIG_SYSCTL_SYSCALL_CHECK=y
60CONFIG_KALLSYMS=y 62CONFIG_KALLSYMS=y
61# CONFIG_KALLSYMS_ALL is not set 63# CONFIG_KALLSYMS_ALL is not set
62# CONFIG_KALLSYMS_EXTRA_PASS is not set 64# CONFIG_KALLSYMS_EXTRA_PASS is not set
@@ -73,9 +75,12 @@ CONFIG_SIGNALFD=y
73CONFIG_TIMERFD=y 75CONFIG_TIMERFD=y
74CONFIG_EVENTFD=y 76CONFIG_EVENTFD=y
75CONFIG_SHMEM=y 77CONFIG_SHMEM=y
78CONFIG_AIO=y
76CONFIG_VM_EVENT_COUNTERS=y 79CONFIG_VM_EVENT_COUNTERS=y
77CONFIG_SLAB=y 80CONFIG_PCI_QUIRKS=y
78# CONFIG_SLUB is not set 81CONFIG_SLUB_DEBUG=y
82# CONFIG_SLAB is not set
83CONFIG_SLUB=y
79# CONFIG_SLOB is not set 84# CONFIG_SLOB is not set
80CONFIG_PROFILING=y 85CONFIG_PROFILING=y
81# CONFIG_MARKERS is not set 86# CONFIG_MARKERS is not set
@@ -85,8 +90,7 @@ CONFIG_KPROBES=y
85CONFIG_KRETPROBES=y 90CONFIG_KRETPROBES=y
86CONFIG_HAVE_KPROBES=y 91CONFIG_HAVE_KPROBES=y
87CONFIG_HAVE_KRETPROBES=y 92CONFIG_HAVE_KRETPROBES=y
88# CONFIG_HAVE_DMA_ATTRS is not set 93CONFIG_HAVE_GENERIC_DMA_COHERENT=y
89CONFIG_PROC_PAGE_MONITOR=y
90CONFIG_SLABINFO=y 94CONFIG_SLABINFO=y
91CONFIG_RT_MUTEXES=y 95CONFIG_RT_MUTEXES=y
92# CONFIG_TINY_SHMEM is not set 96# CONFIG_TINY_SHMEM is not set
@@ -97,12 +101,13 @@ CONFIG_MODULE_UNLOAD=y
97# CONFIG_MODULE_FORCE_UNLOAD is not set 101# CONFIG_MODULE_FORCE_UNLOAD is not set
98# CONFIG_MODVERSIONS is not set 102# CONFIG_MODVERSIONS is not set
99# CONFIG_MODULE_SRCVERSION_ALL is not set 103# CONFIG_MODULE_SRCVERSION_ALL is not set
100# CONFIG_KMOD is not set 104CONFIG_KMOD=y
101CONFIG_BLOCK=y 105CONFIG_BLOCK=y
102# CONFIG_LBD is not set 106# CONFIG_LBD is not set
103# CONFIG_BLK_DEV_IO_TRACE is not set 107# CONFIG_BLK_DEV_IO_TRACE is not set
104# CONFIG_LSF is not set 108# CONFIG_LSF is not set
105# CONFIG_BLK_DEV_BSG is not set 109# CONFIG_BLK_DEV_BSG is not set
110# CONFIG_BLK_DEV_INTEGRITY is not set
106 111
107# 112#
108# IO Schedulers 113# IO Schedulers
@@ -117,6 +122,7 @@ CONFIG_DEFAULT_CFQ=y
117# CONFIG_DEFAULT_NOOP is not set 122# CONFIG_DEFAULT_NOOP is not set
118CONFIG_DEFAULT_IOSCHED="cfq" 123CONFIG_DEFAULT_IOSCHED="cfq"
119CONFIG_CLASSIC_RCU=y 124CONFIG_CLASSIC_RCU=y
125# CONFIG_FREEZER is not set
120 126
121# 127#
122# System Type 128# System Type
@@ -128,7 +134,6 @@ CONFIG_CLASSIC_RCU=y
128# CONFIG_ARCH_AT91 is not set 134# CONFIG_ARCH_AT91 is not set
129# CONFIG_ARCH_CLPS7500 is not set 135# CONFIG_ARCH_CLPS7500 is not set
130# CONFIG_ARCH_CLPS711X is not set 136# CONFIG_ARCH_CLPS711X is not set
131# CONFIG_ARCH_CO285 is not set
132# CONFIG_ARCH_EBSA110 is not set 137# CONFIG_ARCH_EBSA110 is not set
133# CONFIG_ARCH_EP93XX is not set 138# CONFIG_ARCH_EP93XX is not set
134# CONFIG_ARCH_FOOTBRIDGE is not set 139# CONFIG_ARCH_FOOTBRIDGE is not set
@@ -158,7 +163,7 @@ CONFIG_ARCH_KIRKWOOD=y
158# CONFIG_ARCH_LH7A40X is not set 163# CONFIG_ARCH_LH7A40X is not set
159# CONFIG_ARCH_DAVINCI is not set 164# CONFIG_ARCH_DAVINCI is not set
160# CONFIG_ARCH_OMAP is not set 165# CONFIG_ARCH_OMAP is not set
161# CONFIG_ARCH_MSM7X00A is not set 166# CONFIG_ARCH_MSM is not set
162 167
163# 168#
164# Marvell Kirkwood Implementations 169# Marvell Kirkwood Implementations
@@ -199,6 +204,7 @@ CONFIG_ARM_THUMB=y
199# CONFIG_CPU_DCACHE_DISABLE is not set 204# CONFIG_CPU_DCACHE_DISABLE is not set
200CONFIG_OUTER_CACHE=y 205CONFIG_OUTER_CACHE=y
201CONFIG_CACHE_FEROCEON_L2=y 206CONFIG_CACHE_FEROCEON_L2=y
207# CONFIG_CACHE_FEROCEON_L2_WRITETHROUGH is not set
202 208
203# 209#
204# Bus support 210# Bus support
@@ -217,25 +223,30 @@ CONFIG_TICK_ONESHOT=y
217CONFIG_NO_HZ=y 223CONFIG_NO_HZ=y
218CONFIG_HIGH_RES_TIMERS=y 224CONFIG_HIGH_RES_TIMERS=y
219CONFIG_GENERIC_CLOCKEVENTS_BUILD=y 225CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
226CONFIG_VMSPLIT_3G=y
227# CONFIG_VMSPLIT_2G is not set
228# CONFIG_VMSPLIT_1G is not set
229CONFIG_PAGE_OFFSET=0xC0000000
220CONFIG_PREEMPT=y 230CONFIG_PREEMPT=y
221CONFIG_HZ=100 231CONFIG_HZ=100
222CONFIG_AEABI=y 232CONFIG_AEABI=y
223# CONFIG_OABI_COMPAT is not set 233# CONFIG_OABI_COMPAT is not set
224# CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set 234CONFIG_ARCH_FLATMEM_HAS_HOLES=y
235# CONFIG_ARCH_SPARSEMEM_DEFAULT is not set
236# CONFIG_ARCH_SELECT_MEMORY_MODEL is not set
225CONFIG_SELECT_MEMORY_MODEL=y 237CONFIG_SELECT_MEMORY_MODEL=y
226CONFIG_FLATMEM_MANUAL=y 238CONFIG_FLATMEM_MANUAL=y
227# CONFIG_DISCONTIGMEM_MANUAL is not set 239# CONFIG_DISCONTIGMEM_MANUAL is not set
228# CONFIG_SPARSEMEM_MANUAL is not set 240# CONFIG_SPARSEMEM_MANUAL is not set
229CONFIG_FLATMEM=y 241CONFIG_FLATMEM=y
230CONFIG_FLAT_NODE_MEM_MAP=y 242CONFIG_FLAT_NODE_MEM_MAP=y
231# CONFIG_SPARSEMEM_STATIC is not set
232# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
233CONFIG_PAGEFLAGS_EXTENDED=y 243CONFIG_PAGEFLAGS_EXTENDED=y
234CONFIG_SPLIT_PTLOCK_CPUS=4096 244CONFIG_SPLIT_PTLOCK_CPUS=4096
235# CONFIG_RESOURCES_64BIT is not set 245# CONFIG_RESOURCES_64BIT is not set
236CONFIG_ZONE_DMA_FLAG=1 246# CONFIG_PHYS_ADDR_T_64BIT is not set
237CONFIG_BOUNCE=y 247CONFIG_ZONE_DMA_FLAG=0
238CONFIG_VIRT_TO_BUS=y 248CONFIG_VIRT_TO_BUS=y
249CONFIG_UNEVICTABLE_LRU=y
239CONFIG_ALIGNMENT_TRAP=y 250CONFIG_ALIGNMENT_TRAP=y
240 251
241# 252#
@@ -248,6 +259,11 @@ CONFIG_CMDLINE=""
248# CONFIG_KEXEC is not set 259# CONFIG_KEXEC is not set
249 260
250# 261#
262# CPU Power Management
263#
264# CONFIG_CPU_IDLE is not set
265
266#
251# Floating point emulation 267# Floating point emulation
252# 268#
253 269
@@ -260,6 +276,8 @@ CONFIG_CMDLINE=""
260# Userspace binary formats 276# Userspace binary formats
261# 277#
262CONFIG_BINFMT_ELF=y 278CONFIG_BINFMT_ELF=y
279# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
280CONFIG_HAVE_AOUT=y
263# CONFIG_BINFMT_AOUT is not set 281# CONFIG_BINFMT_AOUT is not set
264# CONFIG_BINFMT_MISC is not set 282# CONFIG_BINFMT_MISC is not set
265 283
@@ -268,10 +286,6 @@ CONFIG_BINFMT_ELF=y
268# 286#
269# CONFIG_PM is not set 287# CONFIG_PM is not set
270CONFIG_ARCH_SUSPEND_POSSIBLE=y 288CONFIG_ARCH_SUSPEND_POSSIBLE=y
271
272#
273# Networking
274#
275CONFIG_NET=y 289CONFIG_NET=y
276 290
277# 291#
@@ -322,6 +336,15 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
322# CONFIG_TIPC is not set 336# CONFIG_TIPC is not set
323# CONFIG_ATM is not set 337# CONFIG_ATM is not set
324# CONFIG_BRIDGE is not set 338# CONFIG_BRIDGE is not set
339CONFIG_NET_DSA=y
340# CONFIG_NET_DSA_TAG_DSA is not set
341CONFIG_NET_DSA_TAG_EDSA=y
342# CONFIG_NET_DSA_TAG_TRAILER is not set
343CONFIG_NET_DSA_MV88E6XXX=y
344# CONFIG_NET_DSA_MV88E6060 is not set
345# CONFIG_NET_DSA_MV88E6XXX_NEED_PPU is not set
346# CONFIG_NET_DSA_MV88E6131 is not set
347CONFIG_NET_DSA_MV88E6123_61_65=y
325# CONFIG_VLAN_8021Q is not set 348# CONFIG_VLAN_8021Q is not set
326# CONFIG_DECNET is not set 349# CONFIG_DECNET is not set
327# CONFIG_LLC2 is not set 350# CONFIG_LLC2 is not set
@@ -343,12 +366,12 @@ CONFIG_NET_PKTGEN=m
343# CONFIG_IRDA is not set 366# CONFIG_IRDA is not set
344# CONFIG_BT is not set 367# CONFIG_BT is not set
345# CONFIG_AF_RXRPC is not set 368# CONFIG_AF_RXRPC is not set
346 369# CONFIG_PHONET is not set
347# 370CONFIG_WIRELESS=y
348# Wireless
349#
350# CONFIG_CFG80211 is not set 371# CONFIG_CFG80211 is not set
372CONFIG_WIRELESS_OLD_REGULATORY=y
351CONFIG_WIRELESS_EXT=y 373CONFIG_WIRELESS_EXT=y
374CONFIG_WIRELESS_EXT_SYSFS=y
352# CONFIG_MAC80211 is not set 375# CONFIG_MAC80211 is not set
353# CONFIG_IEEE80211 is not set 376# CONFIG_IEEE80211 is not set
354# CONFIG_RFKILL is not set 377# CONFIG_RFKILL is not set
@@ -365,6 +388,8 @@ CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
365CONFIG_STANDALONE=y 388CONFIG_STANDALONE=y
366CONFIG_PREVENT_FIRMWARE_BUILD=y 389CONFIG_PREVENT_FIRMWARE_BUILD=y
367CONFIG_FW_LOADER=y 390CONFIG_FW_LOADER=y
391CONFIG_FIRMWARE_IN_KERNEL=y
392CONFIG_EXTRA_FIRMWARE=""
368# CONFIG_DEBUG_DRIVER is not set 393# CONFIG_DEBUG_DRIVER is not set
369# CONFIG_DEBUG_DEVRES is not set 394# CONFIG_DEBUG_DEVRES is not set
370# CONFIG_SYS_HYPERVISOR is not set 395# CONFIG_SYS_HYPERVISOR is not set
@@ -453,7 +478,7 @@ CONFIG_M25PXX_USE_FAST_READ=y
453# CONFIG_MTD_DOC2001 is not set 478# CONFIG_MTD_DOC2001 is not set
454# CONFIG_MTD_DOC2001PLUS is not set 479# CONFIG_MTD_DOC2001PLUS is not set
455CONFIG_MTD_NAND=y 480CONFIG_MTD_NAND=y
456CONFIG_MTD_NAND_VERIFY_WRITE=y 481# CONFIG_MTD_NAND_VERIFY_WRITE is not set
457# CONFIG_MTD_NAND_ECC_SMC is not set 482# CONFIG_MTD_NAND_ECC_SMC is not set
458# CONFIG_MTD_NAND_MUSEUM_IDS is not set 483# CONFIG_MTD_NAND_MUSEUM_IDS is not set
459CONFIG_MTD_NAND_IDS=y 484CONFIG_MTD_NAND_IDS=y
@@ -561,6 +586,7 @@ CONFIG_SCSI_LOWLEVEL=y
561# CONFIG_SCSI_NSP32 is not set 586# CONFIG_SCSI_NSP32 is not set
562# CONFIG_SCSI_DEBUG is not set 587# CONFIG_SCSI_DEBUG is not set
563# CONFIG_SCSI_SRP is not set 588# CONFIG_SCSI_SRP is not set
589# CONFIG_SCSI_DH is not set
564CONFIG_ATA=y 590CONFIG_ATA=y
565# CONFIG_ATA_NONSTANDARD is not set 591# CONFIG_ATA_NONSTANDARD is not set
566CONFIG_SATA_PMP=y 592CONFIG_SATA_PMP=y
@@ -619,7 +645,6 @@ CONFIG_SATA_MV=y
619# CONFIG_PATA_SIS is not set 645# CONFIG_PATA_SIS is not set
620# CONFIG_PATA_VIA is not set 646# CONFIG_PATA_VIA is not set
621# CONFIG_PATA_WINBOND is not set 647# CONFIG_PATA_WINBOND is not set
622# CONFIG_PATA_PLATFORM is not set
623# CONFIG_PATA_SCH is not set 648# CONFIG_PATA_SCH is not set
624# CONFIG_MD is not set 649# CONFIG_MD is not set
625# CONFIG_FUSION is not set 650# CONFIG_FUSION is not set
@@ -627,11 +652,14 @@ CONFIG_SATA_MV=y
627# 652#
628# IEEE 1394 (FireWire) support 653# IEEE 1394 (FireWire) support
629# 654#
655
656#
657# Enable only one of the two stacks, unless you know what you are doing
658#
630# CONFIG_FIREWIRE is not set 659# CONFIG_FIREWIRE is not set
631# CONFIG_IEEE1394 is not set 660# CONFIG_IEEE1394 is not set
632# CONFIG_I2O is not set 661# CONFIG_I2O is not set
633CONFIG_NETDEVICES=y 662CONFIG_NETDEVICES=y
634# CONFIG_NETDEVICES_MULTIQUEUE is not set
635# CONFIG_DUMMY is not set 663# CONFIG_DUMMY is not set
636# CONFIG_BONDING is not set 664# CONFIG_BONDING is not set
637# CONFIG_MACVLAN is not set 665# CONFIG_MACVLAN is not set
@@ -639,7 +667,23 @@ CONFIG_NETDEVICES=y
639# CONFIG_TUN is not set 667# CONFIG_TUN is not set
640# CONFIG_VETH is not set 668# CONFIG_VETH is not set
641# CONFIG_ARCNET is not set 669# CONFIG_ARCNET is not set
642# CONFIG_PHYLIB is not set 670CONFIG_PHYLIB=y
671
672#
673# MII PHY device drivers
674#
675CONFIG_MARVELL_PHY=y
676# CONFIG_DAVICOM_PHY is not set
677# CONFIG_QSEMI_PHY is not set
678# CONFIG_LXT_PHY is not set
679# CONFIG_CICADA_PHY is not set
680# CONFIG_VITESSE_PHY is not set
681# CONFIG_SMSC_PHY is not set
682# CONFIG_BROADCOM_PHY is not set
683# CONFIG_ICPLUS_PHY is not set
684# CONFIG_REALTEK_PHY is not set
685# CONFIG_FIXED_PHY is not set
686# CONFIG_MDIO_BITBANG is not set
643CONFIG_NET_ETHERNET=y 687CONFIG_NET_ETHERNET=y
644CONFIG_MII=y 688CONFIG_MII=y
645# CONFIG_AX88796 is not set 689# CONFIG_AX88796 is not set
@@ -650,12 +694,16 @@ CONFIG_MII=y
650# CONFIG_SMC91X is not set 694# CONFIG_SMC91X is not set
651# CONFIG_DM9000 is not set 695# CONFIG_DM9000 is not set
652# CONFIG_ENC28J60 is not set 696# CONFIG_ENC28J60 is not set
697# CONFIG_SMC911X is not set
653# CONFIG_NET_TULIP is not set 698# CONFIG_NET_TULIP is not set
654# CONFIG_HP100 is not set 699# CONFIG_HP100 is not set
655# CONFIG_IBM_NEW_EMAC_ZMII is not set 700# CONFIG_IBM_NEW_EMAC_ZMII is not set
656# CONFIG_IBM_NEW_EMAC_RGMII is not set 701# CONFIG_IBM_NEW_EMAC_RGMII is not set
657# CONFIG_IBM_NEW_EMAC_TAH is not set 702# CONFIG_IBM_NEW_EMAC_TAH is not set
658# CONFIG_IBM_NEW_EMAC_EMAC4 is not set 703# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
704# CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set
705# CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set
706# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set
659CONFIG_NET_PCI=y 707CONFIG_NET_PCI=y
660# CONFIG_PCNET32 is not set 708# CONFIG_PCNET32 is not set
661# CONFIG_AMD8111_ETH is not set 709# CONFIG_AMD8111_ETH is not set
@@ -676,14 +724,12 @@ CONFIG_NET_PCI=y
676# CONFIG_TLAN is not set 724# CONFIG_TLAN is not set
677# CONFIG_VIA_RHINE is not set 725# CONFIG_VIA_RHINE is not set
678# CONFIG_SC92031 is not set 726# CONFIG_SC92031 is not set
727# CONFIG_ATL2 is not set
679CONFIG_NETDEV_1000=y 728CONFIG_NETDEV_1000=y
680# CONFIG_ACENIC is not set 729# CONFIG_ACENIC is not set
681# CONFIG_DL2K is not set 730# CONFIG_DL2K is not set
682CONFIG_E1000=y 731# CONFIG_E1000 is not set
683CONFIG_E1000_NAPI=y
684# CONFIG_E1000_DISABLE_PACKET_SPLIT is not set
685# CONFIG_E1000E is not set 732# CONFIG_E1000E is not set
686# CONFIG_E1000E_ENABLED is not set
687# CONFIG_IP1000 is not set 733# CONFIG_IP1000 is not set
688# CONFIG_IGB is not set 734# CONFIG_IGB is not set
689# CONFIG_NS83820 is not set 735# CONFIG_NS83820 is not set
@@ -699,6 +745,8 @@ CONFIG_E1000_NAPI=y
699CONFIG_MV643XX_ETH=y 745CONFIG_MV643XX_ETH=y
700# CONFIG_QLA3XXX is not set 746# CONFIG_QLA3XXX is not set
701# CONFIG_ATL1 is not set 747# CONFIG_ATL1 is not set
748# CONFIG_ATL1E is not set
749# CONFIG_JME is not set
702# CONFIG_NETDEV_10000 is not set 750# CONFIG_NETDEV_10000 is not set
703# CONFIG_TR is not set 751# CONFIG_TR is not set
704 752
@@ -765,7 +813,11 @@ CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
765# 813#
766# Character devices 814# Character devices
767# 815#
768# CONFIG_VT is not set 816CONFIG_VT=y
817CONFIG_CONSOLE_TRANSLATIONS=y
818CONFIG_VT_CONSOLE=y
819CONFIG_HW_CONSOLE=y
820# CONFIG_VT_HW_CONSOLE_BINDING is not set
769# CONFIG_DEVKMEM is not set 821# CONFIG_DEVKMEM is not set
770# CONFIG_SERIAL_NONSTANDARD is not set 822# CONFIG_SERIAL_NONSTANDARD is not set
771# CONFIG_NOZOMI is not set 823# CONFIG_NOZOMI is not set
@@ -775,7 +827,7 @@ CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
775# 827#
776CONFIG_SERIAL_8250=y 828CONFIG_SERIAL_8250=y
777CONFIG_SERIAL_8250_CONSOLE=y 829CONFIG_SERIAL_8250_CONSOLE=y
778# CONFIG_SERIAL_8250_PCI is not set 830CONFIG_SERIAL_8250_PCI=y
779CONFIG_SERIAL_8250_NR_UARTS=4 831CONFIG_SERIAL_8250_NR_UARTS=4
780CONFIG_SERIAL_8250_RUNTIME_UARTS=2 832CONFIG_SERIAL_8250_RUNTIME_UARTS=2
781# CONFIG_SERIAL_8250_EXTENDED is not set 833# CONFIG_SERIAL_8250_EXTENDED is not set
@@ -800,44 +852,64 @@ CONFIG_DEVPORT=y
800CONFIG_I2C=y 852CONFIG_I2C=y
801CONFIG_I2C_BOARDINFO=y 853CONFIG_I2C_BOARDINFO=y
802CONFIG_I2C_CHARDEV=y 854CONFIG_I2C_CHARDEV=y
855CONFIG_I2C_HELPER_AUTO=y
803 856
804# 857#
805# I2C Hardware Bus support 858# I2C Hardware Bus support
806# 859#
860
861#
862# PC SMBus host controller drivers
863#
807# CONFIG_I2C_ALI1535 is not set 864# CONFIG_I2C_ALI1535 is not set
808# CONFIG_I2C_ALI1563 is not set 865# CONFIG_I2C_ALI1563 is not set
809# CONFIG_I2C_ALI15X3 is not set 866# CONFIG_I2C_ALI15X3 is not set
810# CONFIG_I2C_AMD756 is not set 867# CONFIG_I2C_AMD756 is not set
811# CONFIG_I2C_AMD8111 is not set 868# CONFIG_I2C_AMD8111 is not set
812# CONFIG_I2C_GPIO is not set
813# CONFIG_I2C_I801 is not set 869# CONFIG_I2C_I801 is not set
814# CONFIG_I2C_I810 is not set 870# CONFIG_I2C_ISCH is not set
815# CONFIG_I2C_PIIX4 is not set 871# CONFIG_I2C_PIIX4 is not set
816# CONFIG_I2C_NFORCE2 is not set 872# CONFIG_I2C_NFORCE2 is not set
817# CONFIG_I2C_OCORES is not set
818# CONFIG_I2C_PARPORT_LIGHT is not set
819# CONFIG_I2C_PROSAVAGE is not set
820# CONFIG_I2C_SAVAGE4 is not set
821# CONFIG_I2C_SIMTEC is not set
822# CONFIG_I2C_SIS5595 is not set 873# CONFIG_I2C_SIS5595 is not set
823# CONFIG_I2C_SIS630 is not set 874# CONFIG_I2C_SIS630 is not set
824# CONFIG_I2C_SIS96X is not set 875# CONFIG_I2C_SIS96X is not set
825# CONFIG_I2C_TAOS_EVM is not set
826# CONFIG_I2C_STUB is not set
827# CONFIG_I2C_TINY_USB is not set
828# CONFIG_I2C_VIA is not set 876# CONFIG_I2C_VIA is not set
829# CONFIG_I2C_VIAPRO is not set 877# CONFIG_I2C_VIAPRO is not set
878
879#
880# I2C system bus drivers (mostly embedded / system-on-chip)
881#
882CONFIG_I2C_MV64XXX=y
883# CONFIG_I2C_OCORES is not set
884# CONFIG_I2C_SIMTEC is not set
885
886#
887# External I2C/SMBus adapter drivers
888#
889# CONFIG_I2C_PARPORT_LIGHT is not set
890# CONFIG_I2C_TAOS_EVM is not set
891# CONFIG_I2C_TINY_USB is not set
892
893#
894# Graphics adapter I2C/DDC channel drivers
895#
830# CONFIG_I2C_VOODOO3 is not set 896# CONFIG_I2C_VOODOO3 is not set
897
898#
899# Other I2C/SMBus bus drivers
900#
831# CONFIG_I2C_PCA_PLATFORM is not set 901# CONFIG_I2C_PCA_PLATFORM is not set
832CONFIG_I2C_MV64XXX=y 902# CONFIG_I2C_STUB is not set
833 903
834# 904#
835# Miscellaneous I2C Chip support 905# Miscellaneous I2C Chip support
836# 906#
837# CONFIG_DS1682 is not set 907# CONFIG_DS1682 is not set
908# CONFIG_AT24 is not set
838# CONFIG_SENSORS_EEPROM is not set 909# CONFIG_SENSORS_EEPROM is not set
839# CONFIG_SENSORS_PCF8574 is not set 910# CONFIG_SENSORS_PCF8574 is not set
840# CONFIG_PCF8575 is not set 911# CONFIG_PCF8575 is not set
912# CONFIG_SENSORS_PCA9539 is not set
841# CONFIG_SENSORS_PCF8591 is not set 913# CONFIG_SENSORS_PCF8591 is not set
842# CONFIG_SENSORS_MAX6875 is not set 914# CONFIG_SENSORS_MAX6875 is not set
843# CONFIG_SENSORS_TSL2550 is not set 915# CONFIG_SENSORS_TSL2550 is not set
@@ -864,20 +936,26 @@ CONFIG_SPI_ORION=y
864# CONFIG_W1 is not set 936# CONFIG_W1 is not set
865# CONFIG_POWER_SUPPLY is not set 937# CONFIG_POWER_SUPPLY is not set
866# CONFIG_HWMON is not set 938# CONFIG_HWMON is not set
939# CONFIG_THERMAL is not set
940# CONFIG_THERMAL_HWMON is not set
867# CONFIG_WATCHDOG is not set 941# CONFIG_WATCHDOG is not set
942CONFIG_SSB_POSSIBLE=y
868 943
869# 944#
870# Sonics Silicon Backplane 945# Sonics Silicon Backplane
871# 946#
872CONFIG_SSB_POSSIBLE=y
873# CONFIG_SSB is not set 947# CONFIG_SSB is not set
874 948
875# 949#
876# Multifunction device drivers 950# Multifunction device drivers
877# 951#
952# CONFIG_MFD_CORE is not set
878# CONFIG_MFD_SM501 is not set 953# CONFIG_MFD_SM501 is not set
879# CONFIG_MFD_ASIC3 is not set
880# CONFIG_HTC_PASIC3 is not set 954# CONFIG_HTC_PASIC3 is not set
955# CONFIG_MFD_TMIO is not set
956# CONFIG_PMIC_DA903X is not set
957# CONFIG_MFD_WM8400 is not set
958# CONFIG_MFD_WM8350_I2C is not set
881 959
882# 960#
883# Multimedia devices 961# Multimedia devices
@@ -910,8 +988,10 @@ CONFIG_SSB_POSSIBLE=y
910# CONFIG_DISPLAY_SUPPORT is not set 988# CONFIG_DISPLAY_SUPPORT is not set
911 989
912# 990#
913# Sound 991# Console display driver support
914# 992#
993# CONFIG_VGA_CONSOLE is not set
994CONFIG_DUMMY_CONSOLE=y
915# CONFIG_SOUND is not set 995# CONFIG_SOUND is not set
916CONFIG_HID_SUPPORT=y 996CONFIG_HID_SUPPORT=y
917CONFIG_HID=y 997CONFIG_HID=y
@@ -922,9 +1002,36 @@ CONFIG_HID=y
922# USB Input Devices 1002# USB Input Devices
923# 1003#
924CONFIG_USB_HID=y 1004CONFIG_USB_HID=y
925# CONFIG_USB_HIDINPUT_POWERBOOK is not set 1005# CONFIG_HID_PID is not set
926# CONFIG_HID_FF is not set
927# CONFIG_USB_HIDDEV is not set 1006# CONFIG_USB_HIDDEV is not set
1007
1008#
1009# Special HID drivers
1010#
1011CONFIG_HID_COMPAT=y
1012CONFIG_HID_A4TECH=y
1013CONFIG_HID_APPLE=y
1014CONFIG_HID_BELKIN=y
1015CONFIG_HID_BRIGHT=y
1016CONFIG_HID_CHERRY=y
1017CONFIG_HID_CHICONY=y
1018CONFIG_HID_CYPRESS=y
1019CONFIG_HID_DELL=y
1020CONFIG_HID_EZKEY=y
1021CONFIG_HID_GYRATION=y
1022CONFIG_HID_LOGITECH=y
1023# CONFIG_LOGITECH_FF is not set
1024# CONFIG_LOGIRUMBLEPAD2_FF is not set
1025CONFIG_HID_MICROSOFT=y
1026CONFIG_HID_MONTEREY=y
1027CONFIG_HID_PANTHERLORD=y
1028# CONFIG_PANTHERLORD_FF is not set
1029CONFIG_HID_PETALYNX=y
1030CONFIG_HID_SAMSUNG=y
1031CONFIG_HID_SONY=y
1032CONFIG_HID_SUNPLUS=y
1033# CONFIG_THRUSTMASTER_FF is not set
1034# CONFIG_ZEROPLUS_FF is not set
928CONFIG_USB_SUPPORT=y 1035CONFIG_USB_SUPPORT=y
929CONFIG_USB_ARCH_HAS_HCD=y 1036CONFIG_USB_ARCH_HAS_HCD=y
930CONFIG_USB_ARCH_HAS_OHCI=y 1037CONFIG_USB_ARCH_HAS_OHCI=y
@@ -940,8 +1047,9 @@ CONFIG_USB_DEVICEFS=y
940CONFIG_USB_DEVICE_CLASS=y 1047CONFIG_USB_DEVICE_CLASS=y
941# CONFIG_USB_DYNAMIC_MINORS is not set 1048# CONFIG_USB_DYNAMIC_MINORS is not set
942# CONFIG_USB_OTG is not set 1049# CONFIG_USB_OTG is not set
943# CONFIG_USB_OTG_WHITELIST is not set 1050# CONFIG_USB_MON is not set
944# CONFIG_USB_OTG_BLACKLIST_HUB is not set 1051# CONFIG_USB_WUSB is not set
1052# CONFIG_USB_WUSB_CBAF is not set
945 1053
946# 1054#
947# USB Host Controller Drivers 1055# USB Host Controller Drivers
@@ -956,20 +1064,23 @@ CONFIG_USB_EHCI_TT_NEWSCHED=y
956# CONFIG_USB_UHCI_HCD is not set 1064# CONFIG_USB_UHCI_HCD is not set
957# CONFIG_USB_SL811_HCD is not set 1065# CONFIG_USB_SL811_HCD is not set
958# CONFIG_USB_R8A66597_HCD is not set 1066# CONFIG_USB_R8A66597_HCD is not set
1067# CONFIG_USB_WHCI_HCD is not set
1068# CONFIG_USB_HWA_HCD is not set
959 1069
960# 1070#
961# USB Device Class drivers 1071# USB Device Class drivers
962# 1072#
963# CONFIG_USB_ACM is not set 1073# CONFIG_USB_ACM is not set
964CONFIG_USB_PRINTER=y 1074CONFIG_USB_PRINTER=m
965# CONFIG_USB_WDM is not set 1075# CONFIG_USB_WDM is not set
1076# CONFIG_USB_TMC is not set
966 1077
967# 1078#
968# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' 1079# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may also be needed;
969# 1080#
970 1081
971# 1082#
972# may also be needed; see USB_STORAGE Help for more information 1083# see USB_STORAGE Help for more information
973# 1084#
974CONFIG_USB_STORAGE=y 1085CONFIG_USB_STORAGE=y
975# CONFIG_USB_STORAGE_DEBUG is not set 1086# CONFIG_USB_STORAGE_DEBUG is not set
@@ -992,7 +1103,6 @@ CONFIG_USB_STORAGE_JUMPSHOT=y
992# 1103#
993# CONFIG_USB_MDC800 is not set 1104# CONFIG_USB_MDC800 is not set
994# CONFIG_USB_MICROTEK is not set 1105# CONFIG_USB_MICROTEK is not set
995# CONFIG_USB_MON is not set
996 1106
997# 1107#
998# USB port drivers 1108# USB port drivers
@@ -1005,7 +1115,7 @@ CONFIG_USB_STORAGE_JUMPSHOT=y
1005# CONFIG_USB_EMI62 is not set 1115# CONFIG_USB_EMI62 is not set
1006# CONFIG_USB_EMI26 is not set 1116# CONFIG_USB_EMI26 is not set
1007# CONFIG_USB_ADUTUX is not set 1117# CONFIG_USB_ADUTUX is not set
1008# CONFIG_USB_AUERSWALD is not set 1118# CONFIG_USB_SEVSEG is not set
1009# CONFIG_USB_RIO500 is not set 1119# CONFIG_USB_RIO500 is not set
1010# CONFIG_USB_LEGOTOWER is not set 1120# CONFIG_USB_LEGOTOWER is not set
1011# CONFIG_USB_LCD is not set 1121# CONFIG_USB_LCD is not set
@@ -1023,8 +1133,12 @@ CONFIG_USB_STORAGE_JUMPSHOT=y
1023# CONFIG_USB_IOWARRIOR is not set 1133# CONFIG_USB_IOWARRIOR is not set
1024# CONFIG_USB_TEST is not set 1134# CONFIG_USB_TEST is not set
1025# CONFIG_USB_ISIGHTFW is not set 1135# CONFIG_USB_ISIGHTFW is not set
1136# CONFIG_USB_VST is not set
1026# CONFIG_USB_GADGET is not set 1137# CONFIG_USB_GADGET is not set
1138# CONFIG_UWB is not set
1027# CONFIG_MMC is not set 1139# CONFIG_MMC is not set
1140# CONFIG_MEMSTICK is not set
1141# CONFIG_ACCESSIBILITY is not set
1028CONFIG_NEW_LEDS=y 1142CONFIG_NEW_LEDS=y
1029# CONFIG_LEDS_CLASS is not set 1143# CONFIG_LEDS_CLASS is not set
1030 1144
@@ -1038,6 +1152,8 @@ CONFIG_NEW_LEDS=y
1038# CONFIG_LEDS_TRIGGERS is not set 1152# CONFIG_LEDS_TRIGGERS is not set
1039CONFIG_RTC_LIB=y 1153CONFIG_RTC_LIB=y
1040CONFIG_RTC_CLASS=y 1154CONFIG_RTC_CLASS=y
1155CONFIG_RTC_HCTOSYS=y
1156CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
1041# CONFIG_RTC_DEBUG is not set 1157# CONFIG_RTC_DEBUG is not set
1042 1158
1043# 1159#
@@ -1056,7 +1172,6 @@ CONFIG_RTC_INTF_DEV=y
1056# CONFIG_RTC_DRV_DS1374 is not set 1172# CONFIG_RTC_DRV_DS1374 is not set
1057# CONFIG_RTC_DRV_DS1672 is not set 1173# CONFIG_RTC_DRV_DS1672 is not set
1058# CONFIG_RTC_DRV_MAX6900 is not set 1174# CONFIG_RTC_DRV_MAX6900 is not set
1059CONFIG_RTC_DRV_MV=y
1060# CONFIG_RTC_DRV_RS5C372 is not set 1175# CONFIG_RTC_DRV_RS5C372 is not set
1061# CONFIG_RTC_DRV_ISL1208 is not set 1176# CONFIG_RTC_DRV_ISL1208 is not set
1062# CONFIG_RTC_DRV_X1205 is not set 1177# CONFIG_RTC_DRV_X1205 is not set
@@ -1064,29 +1179,39 @@ CONFIG_RTC_DRV_MV=y
1064# CONFIG_RTC_DRV_PCF8583 is not set 1179# CONFIG_RTC_DRV_PCF8583 is not set
1065# CONFIG_RTC_DRV_M41T80 is not set 1180# CONFIG_RTC_DRV_M41T80 is not set
1066# CONFIG_RTC_DRV_S35390A is not set 1181# CONFIG_RTC_DRV_S35390A is not set
1182# CONFIG_RTC_DRV_FM3130 is not set
1183# CONFIG_RTC_DRV_RX8581 is not set
1067 1184
1068# 1185#
1069# SPI RTC drivers 1186# SPI RTC drivers
1070# 1187#
1188# CONFIG_RTC_DRV_M41T94 is not set
1189# CONFIG_RTC_DRV_DS1305 is not set
1190# CONFIG_RTC_DRV_DS1390 is not set
1071# CONFIG_RTC_DRV_MAX6902 is not set 1191# CONFIG_RTC_DRV_MAX6902 is not set
1072# CONFIG_RTC_DRV_R9701 is not set 1192# CONFIG_RTC_DRV_R9701 is not set
1073# CONFIG_RTC_DRV_RS5C348 is not set 1193# CONFIG_RTC_DRV_RS5C348 is not set
1194# CONFIG_RTC_DRV_DS3234 is not set
1074 1195
1075# 1196#
1076# Platform RTC drivers 1197# Platform RTC drivers
1077# 1198#
1078# CONFIG_RTC_DRV_CMOS is not set 1199# CONFIG_RTC_DRV_CMOS is not set
1200# CONFIG_RTC_DRV_DS1286 is not set
1079# CONFIG_RTC_DRV_DS1511 is not set 1201# CONFIG_RTC_DRV_DS1511 is not set
1080# CONFIG_RTC_DRV_DS1553 is not set 1202# CONFIG_RTC_DRV_DS1553 is not set
1081# CONFIG_RTC_DRV_DS1742 is not set 1203# CONFIG_RTC_DRV_DS1742 is not set
1082# CONFIG_RTC_DRV_STK17TA8 is not set 1204# CONFIG_RTC_DRV_STK17TA8 is not set
1083# CONFIG_RTC_DRV_M48T86 is not set 1205# CONFIG_RTC_DRV_M48T86 is not set
1206# CONFIG_RTC_DRV_M48T35 is not set
1084# CONFIG_RTC_DRV_M48T59 is not set 1207# CONFIG_RTC_DRV_M48T59 is not set
1208# CONFIG_RTC_DRV_BQ4802 is not set
1085# CONFIG_RTC_DRV_V3020 is not set 1209# CONFIG_RTC_DRV_V3020 is not set
1086 1210
1087# 1211#
1088# on-CPU RTC drivers 1212# on-CPU RTC drivers
1089# 1213#
1214CONFIG_RTC_DRV_MV=y
1090CONFIG_DMADEVICES=y 1215CONFIG_DMADEVICES=y
1091 1216
1092# 1217#
@@ -1099,6 +1224,8 @@ CONFIG_DMA_ENGINE=y
1099# DMA Clients 1224# DMA Clients
1100# 1225#
1101# CONFIG_NET_DMA is not set 1226# CONFIG_NET_DMA is not set
1227# CONFIG_DMATEST is not set
1228# CONFIG_REGULATOR is not set
1102# CONFIG_UIO is not set 1229# CONFIG_UIO is not set
1103 1230
1104# 1231#
@@ -1109,11 +1236,12 @@ CONFIG_EXT2_FS=y
1109# CONFIG_EXT2_FS_XIP is not set 1236# CONFIG_EXT2_FS_XIP is not set
1110CONFIG_EXT3_FS=y 1237CONFIG_EXT3_FS=y
1111# CONFIG_EXT3_FS_XATTR is not set 1238# CONFIG_EXT3_FS_XATTR is not set
1112# CONFIG_EXT4DEV_FS is not set 1239# CONFIG_EXT4_FS is not set
1113CONFIG_JBD=y 1240CONFIG_JBD=y
1114# CONFIG_REISERFS_FS is not set 1241# CONFIG_REISERFS_FS is not set
1115# CONFIG_JFS_FS is not set 1242# CONFIG_JFS_FS is not set
1116# CONFIG_FS_POSIX_ACL is not set 1243# CONFIG_FS_POSIX_ACL is not set
1244CONFIG_FILE_LOCKING=y
1117CONFIG_XFS_FS=y 1245CONFIG_XFS_FS=y
1118# CONFIG_XFS_QUOTA is not set 1246# CONFIG_XFS_QUOTA is not set
1119# CONFIG_XFS_POSIX_ACL is not set 1247# CONFIG_XFS_POSIX_ACL is not set
@@ -1131,7 +1259,7 @@ CONFIG_INOTIFY_USER=y
1131# 1259#
1132# CD-ROM/DVD Filesystems 1260# CD-ROM/DVD Filesystems
1133# 1261#
1134CONFIG_ISO9660_FS=y 1262CONFIG_ISO9660_FS=m
1135CONFIG_JOLIET=y 1263CONFIG_JOLIET=y
1136# CONFIG_ZISOFS is not set 1264# CONFIG_ZISOFS is not set
1137CONFIG_UDF_FS=m 1265CONFIG_UDF_FS=m
@@ -1140,9 +1268,9 @@ CONFIG_UDF_NLS=y
1140# 1268#
1141# DOS/FAT/NT Filesystems 1269# DOS/FAT/NT Filesystems
1142# 1270#
1143CONFIG_FAT_FS=y 1271CONFIG_FAT_FS=m
1144CONFIG_MSDOS_FS=y 1272CONFIG_MSDOS_FS=m
1145CONFIG_VFAT_FS=y 1273CONFIG_VFAT_FS=m
1146CONFIG_FAT_DEFAULT_CODEPAGE=437 1274CONFIG_FAT_DEFAULT_CODEPAGE=437
1147CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1" 1275CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
1148# CONFIG_NTFS_FS is not set 1276# CONFIG_NTFS_FS is not set
@@ -1152,6 +1280,7 @@ CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
1152# 1280#
1153CONFIG_PROC_FS=y 1281CONFIG_PROC_FS=y
1154CONFIG_PROC_SYSCTL=y 1282CONFIG_PROC_SYSCTL=y
1283CONFIG_PROC_PAGE_MONITOR=y
1155CONFIG_SYSFS=y 1284CONFIG_SYSFS=y
1156CONFIG_TMPFS=y 1285CONFIG_TMPFS=y
1157# CONFIG_TMPFS_POSIX_ACL is not set 1286# CONFIG_TMPFS_POSIX_ACL is not set
@@ -1182,6 +1311,7 @@ CONFIG_JFFS2_RTIME=y
1182CONFIG_CRAMFS=y 1311CONFIG_CRAMFS=y
1183# CONFIG_VXFS_FS is not set 1312# CONFIG_VXFS_FS is not set
1184# CONFIG_MINIX_FS is not set 1313# CONFIG_MINIX_FS is not set
1314# CONFIG_OMFS_FS is not set
1185# CONFIG_HPFS_FS is not set 1315# CONFIG_HPFS_FS is not set
1186# CONFIG_QNX4FS_FS is not set 1316# CONFIG_QNX4FS_FS is not set
1187# CONFIG_ROMFS_FS is not set 1317# CONFIG_ROMFS_FS is not set
@@ -1192,13 +1322,13 @@ CONFIG_NFS_FS=y
1192CONFIG_NFS_V3=y 1322CONFIG_NFS_V3=y
1193# CONFIG_NFS_V3_ACL is not set 1323# CONFIG_NFS_V3_ACL is not set
1194# CONFIG_NFS_V4 is not set 1324# CONFIG_NFS_V4 is not set
1195# CONFIG_NFSD is not set
1196CONFIG_ROOT_NFS=y 1325CONFIG_ROOT_NFS=y
1326# CONFIG_NFSD is not set
1197CONFIG_LOCKD=y 1327CONFIG_LOCKD=y
1198CONFIG_LOCKD_V4=y 1328CONFIG_LOCKD_V4=y
1199CONFIG_NFS_COMMON=y 1329CONFIG_NFS_COMMON=y
1200CONFIG_SUNRPC=y 1330CONFIG_SUNRPC=y
1201# CONFIG_SUNRPC_BIND34 is not set 1331# CONFIG_SUNRPC_REGISTER_V4 is not set
1202# CONFIG_RPCSEC_GSS_KRB5 is not set 1332# CONFIG_RPCSEC_GSS_KRB5 is not set
1203# CONFIG_RPCSEC_GSS_SPKM3 is not set 1333# CONFIG_RPCSEC_GSS_SPKM3 is not set
1204# CONFIG_SMB_FS is not set 1334# CONFIG_SMB_FS is not set
@@ -1210,24 +1340,8 @@ CONFIG_SUNRPC=y
1210# 1340#
1211# Partition Types 1341# Partition Types
1212# 1342#
1213CONFIG_PARTITION_ADVANCED=y 1343# CONFIG_PARTITION_ADVANCED is not set
1214# CONFIG_ACORN_PARTITION is not set
1215# CONFIG_OSF_PARTITION is not set
1216# CONFIG_AMIGA_PARTITION is not set
1217# CONFIG_ATARI_PARTITION is not set
1218# CONFIG_MAC_PARTITION is not set
1219CONFIG_MSDOS_PARTITION=y 1344CONFIG_MSDOS_PARTITION=y
1220# CONFIG_BSD_DISKLABEL is not set
1221# CONFIG_MINIX_SUBPARTITION is not set
1222# CONFIG_SOLARIS_X86_PARTITION is not set
1223# CONFIG_UNIXWARE_DISKLABEL is not set
1224# CONFIG_LDM_PARTITION is not set
1225# CONFIG_SGI_PARTITION is not set
1226# CONFIG_ULTRIX_PARTITION is not set
1227# CONFIG_SUN_PARTITION is not set
1228# CONFIG_KARMA_PARTITION is not set
1229# CONFIG_EFI_PARTITION is not set
1230# CONFIG_SYSV68_PARTITION is not set
1231CONFIG_NLS=y 1345CONFIG_NLS=y
1232CONFIG_NLS_DEFAULT="iso8859-1" 1346CONFIG_NLS_DEFAULT="iso8859-1"
1233CONFIG_NLS_CODEPAGE_437=y 1347CONFIG_NLS_CODEPAGE_437=y
@@ -1284,11 +1398,14 @@ CONFIG_MAGIC_SYSRQ=y
1284CONFIG_DEBUG_KERNEL=y 1398CONFIG_DEBUG_KERNEL=y
1285# CONFIG_DEBUG_SHIRQ is not set 1399# CONFIG_DEBUG_SHIRQ is not set
1286CONFIG_DETECT_SOFTLOCKUP=y 1400CONFIG_DETECT_SOFTLOCKUP=y
1401# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set
1402CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0
1287# CONFIG_SCHED_DEBUG is not set 1403# CONFIG_SCHED_DEBUG is not set
1288# CONFIG_SCHEDSTATS is not set 1404# CONFIG_SCHEDSTATS is not set
1289# CONFIG_TIMER_STATS is not set 1405# CONFIG_TIMER_STATS is not set
1290# CONFIG_DEBUG_OBJECTS is not set 1406# CONFIG_DEBUG_OBJECTS is not set
1291# CONFIG_DEBUG_SLAB is not set 1407# CONFIG_SLUB_DEBUG_ON is not set
1408# CONFIG_SLUB_STATS is not set
1292# CONFIG_DEBUG_PREEMPT is not set 1409# CONFIG_DEBUG_PREEMPT is not set
1293# CONFIG_DEBUG_RT_MUTEXES is not set 1410# CONFIG_DEBUG_RT_MUTEXES is not set
1294# CONFIG_RT_MUTEX_TESTER is not set 1411# CONFIG_RT_MUTEX_TESTER is not set
@@ -1300,21 +1417,40 @@ CONFIG_DETECT_SOFTLOCKUP=y
1300# CONFIG_DEBUG_SPINLOCK_SLEEP is not set 1417# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
1301# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set 1418# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
1302# CONFIG_DEBUG_KOBJECT is not set 1419# CONFIG_DEBUG_KOBJECT is not set
1303# CONFIG_DEBUG_BUGVERBOSE is not set 1420CONFIG_DEBUG_BUGVERBOSE=y
1304CONFIG_DEBUG_INFO=y 1421CONFIG_DEBUG_INFO=y
1305# CONFIG_DEBUG_VM is not set 1422# CONFIG_DEBUG_VM is not set
1306# CONFIG_DEBUG_WRITECOUNT is not set 1423# CONFIG_DEBUG_WRITECOUNT is not set
1424CONFIG_DEBUG_MEMORY_INIT=y
1307# CONFIG_DEBUG_LIST is not set 1425# CONFIG_DEBUG_LIST is not set
1308# CONFIG_DEBUG_SG is not set 1426# CONFIG_DEBUG_SG is not set
1309CONFIG_FRAME_POINTER=y 1427CONFIG_FRAME_POINTER=y
1310# CONFIG_BOOT_PRINTK_DELAY is not set 1428# CONFIG_BOOT_PRINTK_DELAY is not set
1311# CONFIG_RCU_TORTURE_TEST is not set 1429# CONFIG_RCU_TORTURE_TEST is not set
1430# CONFIG_RCU_CPU_STALL_DETECTOR is not set
1312# CONFIG_KPROBES_SANITY_TEST is not set 1431# CONFIG_KPROBES_SANITY_TEST is not set
1313# CONFIG_BACKTRACE_SELF_TEST is not set 1432# CONFIG_BACKTRACE_SELF_TEST is not set
1433# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
1314# CONFIG_LKDTM is not set 1434# CONFIG_LKDTM is not set
1315# CONFIG_FAULT_INJECTION is not set 1435# CONFIG_FAULT_INJECTION is not set
1316# CONFIG_LATENCYTOP is not set 1436# CONFIG_LATENCYTOP is not set
1437CONFIG_SYSCTL_SYSCALL_CHECK=y
1438CONFIG_HAVE_FUNCTION_TRACER=y
1439
1440#
1441# Tracers
1442#
1443# CONFIG_FUNCTION_TRACER is not set
1444# CONFIG_IRQSOFF_TRACER is not set
1445# CONFIG_PREEMPT_TRACER is not set
1446# CONFIG_SCHED_TRACER is not set
1447# CONFIG_CONTEXT_SWITCH_TRACER is not set
1448# CONFIG_BOOT_TRACER is not set
1449# CONFIG_STACK_TRACER is not set
1450# CONFIG_DYNAMIC_PRINTK_DEBUG is not set
1317# CONFIG_SAMPLES is not set 1451# CONFIG_SAMPLES is not set
1452CONFIG_HAVE_ARCH_KGDB=y
1453# CONFIG_KGDB is not set
1318CONFIG_DEBUG_USER=y 1454CONFIG_DEBUG_USER=y
1319CONFIG_DEBUG_ERRORS=y 1455CONFIG_DEBUG_ERRORS=y
1320# CONFIG_DEBUG_STACK_USAGE is not set 1456# CONFIG_DEBUG_STACK_USAGE is not set
@@ -1326,6 +1462,7 @@ CONFIG_DEBUG_LL=y
1326# 1462#
1327# CONFIG_KEYS is not set 1463# CONFIG_KEYS is not set
1328# CONFIG_SECURITY is not set 1464# CONFIG_SECURITY is not set
1465# CONFIG_SECURITYFS is not set
1329# CONFIG_SECURITY_FILE_CAPABILITIES is not set 1466# CONFIG_SECURITY_FILE_CAPABILITIES is not set
1330CONFIG_ASYNC_CORE=y 1467CONFIG_ASYNC_CORE=y
1331CONFIG_CRYPTO=y 1468CONFIG_CRYPTO=y
@@ -1333,8 +1470,12 @@ CONFIG_CRYPTO=y
1333# 1470#
1334# Crypto core or helper 1471# Crypto core or helper
1335# 1472#
1473# CONFIG_CRYPTO_FIPS is not set
1336CONFIG_CRYPTO_ALGAPI=m 1474CONFIG_CRYPTO_ALGAPI=m
1475CONFIG_CRYPTO_AEAD=m
1337CONFIG_CRYPTO_BLKCIPHER=m 1476CONFIG_CRYPTO_BLKCIPHER=m
1477CONFIG_CRYPTO_HASH=m
1478CONFIG_CRYPTO_RNG=m
1338CONFIG_CRYPTO_MANAGER=m 1479CONFIG_CRYPTO_MANAGER=m
1339# CONFIG_CRYPTO_GF128MUL is not set 1480# CONFIG_CRYPTO_GF128MUL is not set
1340# CONFIG_CRYPTO_NULL is not set 1481# CONFIG_CRYPTO_NULL is not set
@@ -1373,6 +1514,10 @@ CONFIG_CRYPTO_PCBC=m
1373# CONFIG_CRYPTO_MD4 is not set 1514# CONFIG_CRYPTO_MD4 is not set
1374# CONFIG_CRYPTO_MD5 is not set 1515# CONFIG_CRYPTO_MD5 is not set
1375# CONFIG_CRYPTO_MICHAEL_MIC is not set 1516# CONFIG_CRYPTO_MICHAEL_MIC is not set
1517# CONFIG_CRYPTO_RMD128 is not set
1518# CONFIG_CRYPTO_RMD160 is not set
1519# CONFIG_CRYPTO_RMD256 is not set
1520# CONFIG_CRYPTO_RMD320 is not set
1376# CONFIG_CRYPTO_SHA1 is not set 1521# CONFIG_CRYPTO_SHA1 is not set
1377# CONFIG_CRYPTO_SHA256 is not set 1522# CONFIG_CRYPTO_SHA256 is not set
1378# CONFIG_CRYPTO_SHA512 is not set 1523# CONFIG_CRYPTO_SHA512 is not set
@@ -1403,6 +1548,11 @@ CONFIG_CRYPTO_PCBC=m
1403# 1548#
1404# CONFIG_CRYPTO_DEFLATE is not set 1549# CONFIG_CRYPTO_DEFLATE is not set
1405# CONFIG_CRYPTO_LZO is not set 1550# CONFIG_CRYPTO_LZO is not set
1551
1552#
1553# Random Number Generation
1554#
1555# CONFIG_CRYPTO_ANSI_CPRNG is not set
1406CONFIG_CRYPTO_HW=y 1556CONFIG_CRYPTO_HW=y
1407# CONFIG_CRYPTO_DEV_HIFN_795X is not set 1557# CONFIG_CRYPTO_DEV_HIFN_795X is not set
1408 1558
@@ -1410,10 +1560,9 @@ CONFIG_CRYPTO_HW=y
1410# Library routines 1560# Library routines
1411# 1561#
1412CONFIG_BITREVERSE=y 1562CONFIG_BITREVERSE=y
1413# CONFIG_GENERIC_FIND_FIRST_BIT is not set
1414# CONFIG_GENERIC_FIND_NEXT_BIT is not set
1415CONFIG_CRC_CCITT=y 1563CONFIG_CRC_CCITT=y
1416CONFIG_CRC16=y 1564CONFIG_CRC16=y
1565# CONFIG_CRC_T10DIF is not set
1417CONFIG_CRC_ITU_T=m 1566CONFIG_CRC_ITU_T=m
1418CONFIG_CRC32=y 1567CONFIG_CRC32=y
1419# CONFIG_CRC7 is not set 1568# CONFIG_CRC7 is not set
diff --git a/arch/arm/mach-kirkwood/common.c b/arch/arm/mach-kirkwood/common.c
index 0bb1fbd84ccb..7b8ef97fb501 100644
--- a/arch/arm/mach-kirkwood/common.c
+++ b/arch/arm/mach-kirkwood/common.c
@@ -57,6 +57,7 @@ void __init kirkwood_map_io(void)
57 ****************************************************************************/ 57 ****************************************************************************/
58static struct orion_ehci_data kirkwood_ehci_data = { 58static struct orion_ehci_data kirkwood_ehci_data = {
59 .dram = &kirkwood_mbus_dram_info, 59 .dram = &kirkwood_mbus_dram_info,
60 .phy_version = EHCI_PHY_NA,
60}; 61};
61 62
62static u64 ehci_dmamask = 0xffffffffUL; 63static u64 ehci_dmamask = 0xffffffffUL;
@@ -153,6 +154,64 @@ void __init kirkwood_ge00_init(struct mv643xx_eth_platform_data *eth_data)
153 154
154 155
155/***************************************************************************** 156/*****************************************************************************
157 * GE01
158 ****************************************************************************/
159struct mv643xx_eth_shared_platform_data kirkwood_ge01_shared_data = {
160 .dram = &kirkwood_mbus_dram_info,
161 .shared_smi = &kirkwood_ge00_shared,
162};
163
164static struct resource kirkwood_ge01_shared_resources[] = {
165 {
166 .name = "ge01 base",
167 .start = GE01_PHYS_BASE + 0x2000,
168 .end = GE01_PHYS_BASE + 0x3fff,
169 .flags = IORESOURCE_MEM,
170 }, {
171 .name = "ge01 err irq",
172 .start = IRQ_KIRKWOOD_GE01_ERR,
173 .end = IRQ_KIRKWOOD_GE01_ERR,
174 .flags = IORESOURCE_IRQ,
175 },
176};
177
178static struct platform_device kirkwood_ge01_shared = {
179 .name = MV643XX_ETH_SHARED_NAME,
180 .id = 1,
181 .dev = {
182 .platform_data = &kirkwood_ge01_shared_data,
183 },
184 .num_resources = ARRAY_SIZE(kirkwood_ge01_shared_resources),
185 .resource = kirkwood_ge01_shared_resources,
186};
187
188static struct resource kirkwood_ge01_resources[] = {
189 {
190 .name = "ge01 irq",
191 .start = IRQ_KIRKWOOD_GE01_SUM,
192 .end = IRQ_KIRKWOOD_GE01_SUM,
193 .flags = IORESOURCE_IRQ,
194 },
195};
196
197static struct platform_device kirkwood_ge01 = {
198 .name = MV643XX_ETH_NAME,
199 .id = 1,
200 .num_resources = 1,
201 .resource = kirkwood_ge01_resources,
202};
203
204void __init kirkwood_ge01_init(struct mv643xx_eth_platform_data *eth_data)
205{
206 eth_data->shared = &kirkwood_ge01_shared;
207 kirkwood_ge01.dev.platform_data = eth_data;
208
209 platform_device_register(&kirkwood_ge01_shared);
210 platform_device_register(&kirkwood_ge01);
211}
212
213
214/*****************************************************************************
156 * Ethernet switch 215 * Ethernet switch
157 ****************************************************************************/ 216 ****************************************************************************/
158static struct resource kirkwood_switch_resources[] = { 217static struct resource kirkwood_switch_resources[] = {
diff --git a/arch/arm/mach-kirkwood/common.h b/arch/arm/mach-kirkwood/common.h
index 5774632a67e3..fe367c18e722 100644
--- a/arch/arm/mach-kirkwood/common.h
+++ b/arch/arm/mach-kirkwood/common.h
@@ -30,6 +30,7 @@ void kirkwood_pcie_id(u32 *dev, u32 *rev);
30 30
31void kirkwood_ehci_init(void); 31void kirkwood_ehci_init(void);
32void kirkwood_ge00_init(struct mv643xx_eth_platform_data *eth_data); 32void kirkwood_ge00_init(struct mv643xx_eth_platform_data *eth_data);
33void kirkwood_ge01_init(struct mv643xx_eth_platform_data *eth_data);
33void kirkwood_ge00_switch_init(struct dsa_platform_data *d, int irq); 34void kirkwood_ge00_switch_init(struct dsa_platform_data *d, int irq);
34void kirkwood_pcie_init(void); 35void kirkwood_pcie_init(void);
35void kirkwood_rtc_init(void); 36void kirkwood_rtc_init(void);
diff --git a/arch/arm/mach-kirkwood/include/mach/irqs.h b/arch/arm/mach-kirkwood/include/mach/irqs.h
index ffab89f21c11..3a964bb14973 100644
--- a/arch/arm/mach-kirkwood/include/mach/irqs.h
+++ b/arch/arm/mach-kirkwood/include/mach/irqs.h
@@ -51,6 +51,7 @@
51#define IRQ_KIRKWOOD_GPIO_HIGH_8_15 40 51#define IRQ_KIRKWOOD_GPIO_HIGH_8_15 40
52#define IRQ_KIRKWOOD_GPIO_HIGH_16_23 41 52#define IRQ_KIRKWOOD_GPIO_HIGH_16_23 41
53#define IRQ_KIRKWOOD_GE00_ERR 46 53#define IRQ_KIRKWOOD_GE00_ERR 46
54#define IRQ_KIRKWOOD_GE01_ERR 47
54 55
55/* 56/*
56 * KIRKWOOD General Purpose Pins 57 * KIRKWOOD General Purpose Pins
diff --git a/arch/arm/mach-kirkwood/rd88f6281-setup.c b/arch/arm/mach-kirkwood/rd88f6281-setup.c
index 175054abd630..9a0e905d10cd 100644
--- a/arch/arm/mach-kirkwood/rd88f6281-setup.c
+++ b/arch/arm/mach-kirkwood/rd88f6281-setup.c
@@ -80,24 +80,38 @@ static struct dsa_platform_data rd88f6281_switch_data = {
80 .port_names[1] = "lan2", 80 .port_names[1] = "lan2",
81 .port_names[2] = "lan3", 81 .port_names[2] = "lan3",
82 .port_names[3] = "lan4", 82 .port_names[3] = "lan4",
83 .port_names[4] = "wan",
84 .port_names[5] = "cpu", 83 .port_names[5] = "cpu",
85}; 84};
86 85
86static struct mv643xx_eth_platform_data rd88f6281_ge01_data = {
87 .phy_addr = MV643XX_ETH_PHY_ADDR(11),
88};
89
87static struct mv_sata_platform_data rd88f6281_sata_data = { 90static struct mv_sata_platform_data rd88f6281_sata_data = {
88 .n_ports = 2, 91 .n_ports = 2,
89}; 92};
90 93
91static void __init rd88f6281_init(void) 94static void __init rd88f6281_init(void)
92{ 95{
96 u32 dev, rev;
97
93 /* 98 /*
94 * Basic setup. Needs to be called early. 99 * Basic setup. Needs to be called early.
95 */ 100 */
96 kirkwood_init(); 101 kirkwood_init();
97 102
98 kirkwood_ehci_init(); 103 kirkwood_ehci_init();
104
99 kirkwood_ge00_init(&rd88f6281_ge00_data); 105 kirkwood_ge00_init(&rd88f6281_ge00_data);
106 kirkwood_pcie_id(&dev, &rev);
107 if (rev == MV88F6281_REV_A0) {
108 rd88f6281_switch_data.sw_addr = 10;
109 kirkwood_ge01_init(&rd88f6281_ge01_data);
110 } else {
111 rd88f6281_switch_data.port_names[4] = "wan";
112 }
100 kirkwood_ge00_switch_init(&rd88f6281_switch_data, NO_IRQ); 113 kirkwood_ge00_switch_init(&rd88f6281_switch_data, NO_IRQ);
114
101 kirkwood_rtc_init(); 115 kirkwood_rtc_init();
102 kirkwood_sata_init(&rd88f6281_sata_data); 116 kirkwood_sata_init(&rd88f6281_sata_data);
103 kirkwood_uart0_init(); 117 kirkwood_uart0_init();
diff --git a/arch/arm/mach-mv78xx0/common.c b/arch/arm/mach-mv78xx0/common.c
index 238a2f8c2d52..b0e4e0d8f506 100644
--- a/arch/arm/mach-mv78xx0/common.c
+++ b/arch/arm/mach-mv78xx0/common.c
@@ -167,6 +167,7 @@ void __init mv78xx0_map_io(void)
167 ****************************************************************************/ 167 ****************************************************************************/
168static struct orion_ehci_data mv78xx0_ehci_data = { 168static struct orion_ehci_data mv78xx0_ehci_data = {
169 .dram = &mv78xx0_mbus_dram_info, 169 .dram = &mv78xx0_mbus_dram_info,
170 .phy_version = EHCI_PHY_NA,
170}; 171};
171 172
172static u64 ehci_dmamask = 0xffffffffUL; 173static u64 ehci_dmamask = 0xffffffffUL;
diff --git a/arch/arm/mach-orion5x/common.c b/arch/arm/mach-orion5x/common.c
index 437065c25c9c..0a623379789f 100644
--- a/arch/arm/mach-orion5x/common.c
+++ b/arch/arm/mach-orion5x/common.c
@@ -72,6 +72,7 @@ void __init orion5x_map_io(void)
72 ****************************************************************************/ 72 ****************************************************************************/
73static struct orion_ehci_data orion5x_ehci_data = { 73static struct orion_ehci_data orion5x_ehci_data = {
74 .dram = &orion5x_mbus_dram_info, 74 .dram = &orion5x_mbus_dram_info,
75 .phy_version = EHCI_PHY_ORION,
75}; 76};
76 77
77static u64 ehci_dmamask = 0xffffffffUL; 78static u64 ehci_dmamask = 0xffffffffUL;
diff --git a/arch/arm/mach-orion5x/dns323-setup.c b/arch/arm/mach-orion5x/dns323-setup.c
index 3e66098340a5..0722d6510df1 100644
--- a/arch/arm/mach-orion5x/dns323-setup.c
+++ b/arch/arm/mach-orion5x/dns323-setup.c
@@ -21,6 +21,7 @@
21#include <linux/gpio_keys.h> 21#include <linux/gpio_keys.h>
22#include <linux/input.h> 22#include <linux/input.h>
23#include <linux/i2c.h> 23#include <linux/i2c.h>
24#include <linux/ata_platform.h>
24#include <asm/mach-types.h> 25#include <asm/mach-types.h>
25#include <asm/gpio.h> 26#include <asm/gpio.h>
26#include <asm/mach/arch.h> 27#include <asm/mach/arch.h>
@@ -64,9 +65,21 @@ static struct hw_pci dns323_pci __initdata = {
64 .map_irq = dns323_pci_map_irq, 65 .map_irq = dns323_pci_map_irq,
65}; 66};
66 67
68static int __init dns323_dev_id(void)
69{
70 u32 dev, rev;
71
72 orion5x_pcie_id(&dev, &rev);
73
74 return dev;
75}
76
67static int __init dns323_pci_init(void) 77static int __init dns323_pci_init(void)
68{ 78{
69 if (machine_is_dns323()) 79 /* The 5182 doesn't really use it's PCI bus, and initialising PCI
80 * gets in the way of initialising the SATA controller.
81 */
82 if (machine_is_dns323() && dns323_dev_id() != MV88F5182_DEV_ID)
70 pci_common_init(&dns323_pci); 83 pci_common_init(&dns323_pci);
71 84
72 return 0; 85 return 0;
@@ -75,14 +88,6 @@ static int __init dns323_pci_init(void)
75subsys_initcall(dns323_pci_init); 88subsys_initcall(dns323_pci_init);
76 89
77/**************************************************************************** 90/****************************************************************************
78 * Ethernet
79 */
80
81static struct mv643xx_eth_platform_data dns323_eth_data = {
82 .phy_addr = MV643XX_ETH_PHY_ADDR(8),
83};
84
85/****************************************************************************
86 * 8MiB NOR flash (Spansion S29GL064M90TFIR4) 91 * 8MiB NOR flash (Spansion S29GL064M90TFIR4)
87 * 92 *
88 * Layout as used by D-Link: 93 * Layout as used by D-Link:
@@ -143,6 +148,90 @@ static struct platform_device dns323_nor_flash = {
143}; 148};
144 149
145/**************************************************************************** 150/****************************************************************************
151 * Ethernet
152 */
153
154static struct mv643xx_eth_platform_data dns323_eth_data = {
155 .phy_addr = MV643XX_ETH_PHY_ADDR(8),
156};
157
158/* dns323_parse_hex_*() taken from tsx09-common.c; should a common copy of these
159 * functions be kept somewhere?
160 */
161static int __init dns323_parse_hex_nibble(char n)
162{
163 if (n >= '0' && n <= '9')
164 return n - '0';
165
166 if (n >= 'A' && n <= 'F')
167 return n - 'A' + 10;
168
169 if (n >= 'a' && n <= 'f')
170 return n - 'a' + 10;
171
172 return -1;
173}
174
175static int __init dns323_parse_hex_byte(const char *b)
176{
177 int hi;
178 int lo;
179
180 hi = dns323_parse_hex_nibble(b[0]);
181 lo = dns323_parse_hex_nibble(b[1]);
182
183 if (hi < 0 || lo < 0)
184 return -1;
185
186 return (hi << 4) | lo;
187}
188
189static int __init dns323_read_mac_addr(void)
190{
191 u_int8_t addr[6];
192 int i;
193 char *mac_page;
194
195 /* MAC address is stored as a regular ol' string in /dev/mtdblock4
196 * (0x007d0000-0x00800000) starting at offset 196480 (0x2ff80).
197 */
198 mac_page = ioremap(DNS323_NOR_BOOT_BASE + 0x7d0000 + 196480, 1024);
199 if (!mac_page)
200 return -ENOMEM;
201
202 /* Sanity check the string we're looking at */
203 for (i = 0; i < 5; i++) {
204 if (*(mac_page + (i * 3) + 2) != ':') {
205 goto error_fail;
206 }
207 }
208
209 for (i = 0; i < 6; i++) {
210 int byte;
211
212 byte = dns323_parse_hex_byte(mac_page + (i * 3));
213 if (byte < 0) {
214 goto error_fail;
215 }
216
217 addr[i] = byte;
218 }
219
220 iounmap(mac_page);
221 printk("DNS323: Found ethernet MAC address: ");
222 for (i = 0; i < 6; i++)
223 printk("%.2x%s", addr[i], (i < 5) ? ":" : ".\n");
224
225 memcpy(dns323_eth_data.mac_addr, addr, 6);
226
227 return 0;
228
229error_fail:
230 iounmap(mac_page);
231 return -EINVAL;
232}
233
234/****************************************************************************
146 * GPIO LEDs (simple - doesn't use hardware blinking support) 235 * GPIO LEDs (simple - doesn't use hardware blinking support)
147 */ 236 */
148 237
@@ -207,10 +296,17 @@ static struct platform_device dns323_button_device = {
207 }, 296 },
208}; 297};
209 298
299/*****************************************************************************
300 * SATA
301 */
302static struct mv_sata_platform_data dns323_sata_data = {
303 .n_ports = 2,
304};
305
210/**************************************************************************** 306/****************************************************************************
211 * General Setup 307 * General Setup
212 */ 308 */
213static struct orion5x_mpp_mode dns323_mpp_modes[] __initdata = { 309static struct orion5x_mpp_mode dns323_mv88f5181_mpp_modes[] __initdata = {
214 { 0, MPP_PCIE_RST_OUTn }, 310 { 0, MPP_PCIE_RST_OUTn },
215 { 1, MPP_GPIO }, /* right amber LED (sata ch0) */ 311 { 1, MPP_GPIO }, /* right amber LED (sata ch0) */
216 { 2, MPP_GPIO }, /* left amber LED (sata ch1) */ 312 { 2, MPP_GPIO }, /* left amber LED (sata ch1) */
@@ -234,6 +330,30 @@ static struct orion5x_mpp_mode dns323_mpp_modes[] __initdata = {
234 { -1 }, 330 { -1 },
235}; 331};
236 332
333static struct orion5x_mpp_mode dns323_mv88f5182_mpp_modes[] __initdata = {
334 { 0, MPP_UNUSED },
335 { 1, MPP_GPIO }, /* right amber LED (sata ch0) */
336 { 2, MPP_GPIO }, /* left amber LED (sata ch1) */
337 { 3, MPP_UNUSED },
338 { 4, MPP_GPIO }, /* power button LED */
339 { 5, MPP_GPIO }, /* power button LED */
340 { 6, MPP_GPIO }, /* GMT G751-2f overtemp */
341 { 7, MPP_GPIO }, /* M41T80 nIRQ/OUT/SQW */
342 { 8, MPP_GPIO }, /* triggers power off */
343 { 9, MPP_GPIO }, /* power button switch */
344 { 10, MPP_GPIO }, /* reset button switch */
345 { 11, MPP_UNUSED },
346 { 12, MPP_SATA_LED },
347 { 13, MPP_SATA_LED },
348 { 14, MPP_SATA_LED },
349 { 15, MPP_SATA_LED },
350 { 16, MPP_UNUSED },
351 { 17, MPP_UNUSED },
352 { 18, MPP_UNUSED },
353 { 19, MPP_UNUSED },
354 { -1 },
355};
356
237/* 357/*
238 * On the DNS-323 the following devices are attached via I2C: 358 * On the DNS-323 the following devices are attached via I2C:
239 * 359 *
@@ -264,16 +384,15 @@ static void __init dns323_init(void)
264 /* Setup basic Orion functions. Need to be called early. */ 384 /* Setup basic Orion functions. Need to be called early. */
265 orion5x_init(); 385 orion5x_init();
266 386
267 orion5x_mpp_conf(dns323_mpp_modes); 387 /* Just to be tricky, the 5182 has a completely different
268 writel(0, MPP_DEV_CTRL); /* DEV_D[31:16] */ 388 * set of MPP modes to the 5181.
269
270 /*
271 * Configure peripherals.
272 */ 389 */
273 orion5x_ehci0_init(); 390 if (dns323_dev_id() == MV88F5182_DEV_ID)
274 orion5x_eth_init(&dns323_eth_data); 391 orion5x_mpp_conf(dns323_mv88f5182_mpp_modes);
275 orion5x_i2c_init(); 392 else {
276 orion5x_uart0_init(); 393 orion5x_mpp_conf(dns323_mv88f5181_mpp_modes);
394 writel(0, MPP_DEV_CTRL); /* DEV_D[31:16] */
395 }
277 396
278 /* setup flash mapping 397 /* setup flash mapping
279 * CS3 holds a 8 MB Spansion S29GL064M90TFIR4 398 * CS3 holds a 8 MB Spansion S29GL064M90TFIR4
@@ -288,6 +407,23 @@ static void __init dns323_init(void)
288 i2c_register_board_info(0, dns323_i2c_devices, 407 i2c_register_board_info(0, dns323_i2c_devices,
289 ARRAY_SIZE(dns323_i2c_devices)); 408 ARRAY_SIZE(dns323_i2c_devices));
290 409
410 /*
411 * Configure peripherals.
412 */
413 if (dns323_read_mac_addr() < 0)
414 printk("DNS323: Failed to read MAC address\n");
415
416 orion5x_ehci0_init();
417 orion5x_eth_init(&dns323_eth_data);
418 orion5x_i2c_init();
419 orion5x_uart0_init();
420
421 /* The 5182 has it's SATA controller on-chip, and needs it's own little
422 * init routine.
423 */
424 if (dns323_dev_id() == MV88F5182_DEV_ID)
425 orion5x_sata_init(&dns323_sata_data);
426
291 /* register dns323 specific power-off method */ 427 /* register dns323 specific power-off method */
292 if (gpio_request(DNS323_GPIO_POWER_OFF, "POWEROFF") != 0 || 428 if (gpio_request(DNS323_GPIO_POWER_OFF, "POWEROFF") != 0 ||
293 gpio_direction_output(DNS323_GPIO_POWER_OFF, 0) != 0) 429 gpio_direction_output(DNS323_GPIO_POWER_OFF, 0) != 0)
diff --git a/arch/arm/mach-pxa/palmtx.c b/arch/arm/mach-pxa/palmtx.c
index 4447711c9fc6..a9d94f5dbec4 100644
--- a/arch/arm/mach-pxa/palmtx.c
+++ b/arch/arm/mach-pxa/palmtx.c
@@ -56,6 +56,9 @@ static unsigned long palmtx_pin_config[] __initdata = {
56 GPIO110_MMC_DAT_2, 56 GPIO110_MMC_DAT_2,
57 GPIO111_MMC_DAT_3, 57 GPIO111_MMC_DAT_3,
58 GPIO112_MMC_CMD, 58 GPIO112_MMC_CMD,
59 GPIO14_GPIO, /* SD detect */
60 GPIO114_GPIO, /* SD power */
61 GPIO115_GPIO, /* SD r/o switch */
59 62
60 /* AC97 */ 63 /* AC97 */
61 GPIO28_AC97_BITCLK, 64 GPIO28_AC97_BITCLK,
@@ -64,6 +67,7 @@ static unsigned long palmtx_pin_config[] __initdata = {
64 GPIO31_AC97_SYNC, 67 GPIO31_AC97_SYNC,
65 68
66 /* IrDA */ 69 /* IrDA */
70 GPIO40_GPIO, /* ir disable */
67 GPIO46_FICP_RXD, 71 GPIO46_FICP_RXD,
68 GPIO47_FICP_TXD, 72 GPIO47_FICP_TXD,
69 73
@@ -71,7 +75,8 @@ static unsigned long palmtx_pin_config[] __initdata = {
71 GPIO16_PWM0_OUT, 75 GPIO16_PWM0_OUT,
72 76
73 /* USB */ 77 /* USB */
74 GPIO13_GPIO, 78 GPIO13_GPIO, /* usb detect */
79 GPIO95_GPIO, /* usb power */
75 80
76 /* PCMCIA */ 81 /* PCMCIA */
77 GPIO48_nPOE, 82 GPIO48_nPOE,
@@ -84,6 +89,45 @@ static unsigned long palmtx_pin_config[] __initdata = {
84 GPIO55_nPREG, 89 GPIO55_nPREG,
85 GPIO56_nPWAIT, 90 GPIO56_nPWAIT,
86 GPIO57_nIOIS16, 91 GPIO57_nIOIS16,
92 GPIO94_GPIO, /* wifi power 1 */
93 GPIO108_GPIO, /* wifi power 2 */
94 GPIO116_GPIO, /* wifi ready */
95
96 /* MATRIX KEYPAD */
97 GPIO100_KP_MKIN_0,
98 GPIO101_KP_MKIN_1,
99 GPIO102_KP_MKIN_2,
100 GPIO97_KP_MKIN_3,
101 GPIO103_KP_MKOUT_0,
102 GPIO104_KP_MKOUT_1,
103 GPIO105_KP_MKOUT_2,
104
105 /* LCD */
106 GPIO58_LCD_LDD_0,
107 GPIO59_LCD_LDD_1,
108 GPIO60_LCD_LDD_2,
109 GPIO61_LCD_LDD_3,
110 GPIO62_LCD_LDD_4,
111 GPIO63_LCD_LDD_5,
112 GPIO64_LCD_LDD_6,
113 GPIO65_LCD_LDD_7,
114 GPIO66_LCD_LDD_8,
115 GPIO67_LCD_LDD_9,
116 GPIO68_LCD_LDD_10,
117 GPIO69_LCD_LDD_11,
118 GPIO70_LCD_LDD_12,
119 GPIO71_LCD_LDD_13,
120 GPIO72_LCD_LDD_14,
121 GPIO73_LCD_LDD_15,
122 GPIO74_LCD_FCLK,
123 GPIO75_LCD_LCLK,
124 GPIO76_LCD_PCLK,
125 GPIO77_LCD_BIAS,
126
127 /* MISC. */
128 GPIO10_GPIO, /* hotsync button */
129 GPIO12_GPIO, /* power detect */
130 GPIO107_GPIO, /* earphone detect */
87}; 131};
88 132
89/****************************************************************************** 133/******************************************************************************
@@ -95,32 +139,49 @@ static int palmtx_mci_init(struct device *dev, irq_handler_t palmtx_detect_int,
95 int err = 0; 139 int err = 0;
96 140
97 /* Setup an interrupt for detecting card insert/remove events */ 141 /* Setup an interrupt for detecting card insert/remove events */
98 err = request_irq(IRQ_GPIO_PALMTX_SD_DETECT_N, palmtx_detect_int, 142 err = gpio_request(GPIO_NR_PALMTX_SD_DETECT_N, "SD IRQ");
99 IRQF_DISABLED | IRQF_SAMPLE_RANDOM | 143 if (err)
144 goto err;
145 err = gpio_direction_input(GPIO_NR_PALMTX_SD_DETECT_N);
146 if (err)
147 goto err2;
148 err = request_irq(gpio_to_irq(GPIO_NR_PALMTX_SD_DETECT_N),
149 palmtx_detect_int, IRQF_DISABLED | IRQF_SAMPLE_RANDOM |
100 IRQF_TRIGGER_FALLING | IRQF_TRIGGER_RISING, 150 IRQF_TRIGGER_FALLING | IRQF_TRIGGER_RISING,
101 "SD/MMC card detect", data); 151 "SD/MMC card detect", data);
102 if (err) { 152 if (err) {
103 printk(KERN_ERR "%s: cannot request SD/MMC card detect IRQ\n", 153 printk(KERN_ERR "%s: cannot request SD/MMC card detect IRQ\n",
104 __func__); 154 __func__);
105 return err; 155 goto err2;
106 } 156 }
107 157
108 err = gpio_request(GPIO_NR_PALMTX_SD_POWER, "SD_POWER"); 158 err = gpio_request(GPIO_NR_PALMTX_SD_POWER, "SD_POWER");
109 if (err) 159 if (err)
110 goto pwr_err; 160 goto err3;
161 err = gpio_direction_output(GPIO_NR_PALMTX_SD_POWER, 0);
162 if (err)
163 goto err4;
111 164
112 err = gpio_request(GPIO_NR_PALMTX_SD_READONLY, "SD_READONLY"); 165 err = gpio_request(GPIO_NR_PALMTX_SD_READONLY, "SD_READONLY");
113 if (err) 166 if (err)
114 goto ro_err; 167 goto err4;
168 err = gpio_direction_input(GPIO_NR_PALMTX_SD_READONLY);
169 if (err)
170 goto err5;
115 171
116 printk(KERN_DEBUG "%s: irq registered\n", __func__); 172 printk(KERN_DEBUG "%s: irq registered\n", __func__);
117 173
118 return 0; 174 return 0;
119 175
120ro_err: 176err5:
177 gpio_free(GPIO_NR_PALMTX_SD_READONLY);
178err4:
121 gpio_free(GPIO_NR_PALMTX_SD_POWER); 179 gpio_free(GPIO_NR_PALMTX_SD_POWER);
122pwr_err: 180err3:
123 free_irq(IRQ_GPIO_PALMTX_SD_DETECT_N, data); 181 free_irq(gpio_to_irq(GPIO_NR_PALMTX_SD_DETECT_N), data);
182err2:
183 gpio_free(GPIO_NR_PALMTX_SD_DETECT_N);
184err:
124 return err; 185 return err;
125} 186}
126 187
@@ -128,7 +189,8 @@ static void palmtx_mci_exit(struct device *dev, void *data)
128{ 189{
129 gpio_free(GPIO_NR_PALMTX_SD_READONLY); 190 gpio_free(GPIO_NR_PALMTX_SD_READONLY);
130 gpio_free(GPIO_NR_PALMTX_SD_POWER); 191 gpio_free(GPIO_NR_PALMTX_SD_POWER);
131 free_irq(IRQ_GPIO_PALMTX_SD_DETECT_N, data); 192 free_irq(gpio_to_irq(GPIO_NR_PALMTX_SD_DETECT_N), data);
193 gpio_free(GPIO_NR_PALMTX_SD_DETECT_N);
132} 194}
133 195
134static void palmtx_mci_power(struct device *dev, unsigned int vdd) 196static void palmtx_mci_power(struct device *dev, unsigned int vdd)
@@ -167,7 +229,6 @@ static unsigned int palmtx_matrix_keys[] = {
167 229
168 KEY(3, 0, KEY_RIGHT), 230 KEY(3, 0, KEY_RIGHT),
169 KEY(3, 2, KEY_LEFT), 231 KEY(3, 2, KEY_LEFT),
170
171}; 232};
172 233
173static struct pxa27x_keypad_platform_data palmtx_keypad_platform_data = { 234static struct pxa27x_keypad_platform_data palmtx_keypad_platform_data = {
@@ -209,11 +270,19 @@ static int palmtx_backlight_init(struct device *dev)
209 ret = gpio_request(GPIO_NR_PALMTX_BL_POWER, "BL POWER"); 270 ret = gpio_request(GPIO_NR_PALMTX_BL_POWER, "BL POWER");
210 if (ret) 271 if (ret)
211 goto err; 272 goto err;
273 ret = gpio_direction_output(GPIO_NR_PALMTX_BL_POWER, 0);
274 if (ret)
275 goto err2;
212 ret = gpio_request(GPIO_NR_PALMTX_LCD_POWER, "LCD POWER"); 276 ret = gpio_request(GPIO_NR_PALMTX_LCD_POWER, "LCD POWER");
213 if (ret) 277 if (ret)
214 goto err2; 278 goto err2;
279 ret = gpio_direction_output(GPIO_NR_PALMTX_LCD_POWER, 0);
280 if (ret)
281 goto err3;
215 282
216 return 0; 283 return 0;
284err3:
285 gpio_free(GPIO_NR_PALMTX_LCD_POWER);
217err2: 286err2:
218 gpio_free(GPIO_NR_PALMTX_BL_POWER); 287 gpio_free(GPIO_NR_PALMTX_BL_POWER);
219err: 288err:
@@ -254,6 +323,24 @@ static struct platform_device palmtx_backlight = {
254/****************************************************************************** 323/******************************************************************************
255 * IrDA 324 * IrDA
256 ******************************************************************************/ 325 ******************************************************************************/
326static int palmtx_irda_startup(struct device *dev)
327{
328 int err;
329 err = gpio_request(GPIO_NR_PALMTX_IR_DISABLE, "IR DISABLE");
330 if (err)
331 goto err;
332 err = gpio_direction_output(GPIO_NR_PALMTX_IR_DISABLE, 1);
333 if (err)
334 gpio_free(GPIO_NR_PALMTX_IR_DISABLE);
335err:
336 return err;
337}
338
339static void palmtx_irda_shutdown(struct device *dev)
340{
341 gpio_free(GPIO_NR_PALMTX_IR_DISABLE);
342}
343
257static void palmtx_irda_transceiver_mode(struct device *dev, int mode) 344static void palmtx_irda_transceiver_mode(struct device *dev, int mode)
258{ 345{
259 gpio_set_value(GPIO_NR_PALMTX_IR_DISABLE, mode & IR_OFF); 346 gpio_set_value(GPIO_NR_PALMTX_IR_DISABLE, mode & IR_OFF);
@@ -261,6 +348,8 @@ static void palmtx_irda_transceiver_mode(struct device *dev, int mode)
261} 348}
262 349
263static struct pxaficp_platform_data palmtx_ficp_platform_data = { 350static struct pxaficp_platform_data palmtx_ficp_platform_data = {
351 .startup = palmtx_irda_startup,
352 .shutdown = palmtx_irda_shutdown,
264 .transceiver_cap = IR_SIRMODE | IR_FIRMODE | IR_OFF, 353 .transceiver_cap = IR_SIRMODE | IR_FIRMODE | IR_OFF,
265 .transceiver_mode = palmtx_irda_transceiver_mode, 354 .transceiver_mode = palmtx_irda_transceiver_mode,
266}; 355};
@@ -268,17 +357,11 @@ static struct pxaficp_platform_data palmtx_ficp_platform_data = {
268/****************************************************************************** 357/******************************************************************************
269 * UDC 358 * UDC
270 ******************************************************************************/ 359 ******************************************************************************/
271static void palmtx_udc_command(int cmd)
272{
273 gpio_set_value(GPIO_NR_PALMTX_USB_POWER, !cmd);
274 udelay(50);
275 gpio_set_value(GPIO_NR_PALMTX_USB_PULLUP, !cmd);
276}
277
278static struct pxa2xx_udc_mach_info palmtx_udc_info __initdata = { 360static struct pxa2xx_udc_mach_info palmtx_udc_info __initdata = {
279 .gpio_vbus = GPIO_NR_PALMTX_USB_DETECT_N, 361 .gpio_vbus = GPIO_NR_PALMTX_USB_DETECT_N,
280 .gpio_vbus_inverted = 1, 362 .gpio_vbus_inverted = 1,
281 .udc_command = palmtx_udc_command, 363 .gpio_pullup = GPIO_NR_PALMTX_USB_POWER,
364 .gpio_pullup_inverted = 0,
282}; 365};
283 366
284/****************************************************************************** 367/******************************************************************************
@@ -290,17 +373,16 @@ static int power_supply_init(struct device *dev)
290 373
291 ret = gpio_request(GPIO_NR_PALMTX_POWER_DETECT, "CABLE_STATE_AC"); 374 ret = gpio_request(GPIO_NR_PALMTX_POWER_DETECT, "CABLE_STATE_AC");
292 if (ret) 375 if (ret)
293 goto err_cs_ac; 376 goto err1;
294 377 ret = gpio_direction_input(GPIO_NR_PALMTX_POWER_DETECT);
295 ret = gpio_request(GPIO_NR_PALMTX_USB_DETECT_N, "CABLE_STATE_USB");
296 if (ret) 378 if (ret)
297 goto err_cs_usb; 379 goto err2;
298 380
299 return 0; 381 return 0;
300 382
301err_cs_usb: 383err2:
302 gpio_free(GPIO_NR_PALMTX_POWER_DETECT); 384 gpio_free(GPIO_NR_PALMTX_POWER_DETECT);
303err_cs_ac: 385err1:
304 return ret; 386 return ret;
305} 387}
306 388
@@ -309,14 +391,8 @@ static int palmtx_is_ac_online(void)
309 return gpio_get_value(GPIO_NR_PALMTX_POWER_DETECT); 391 return gpio_get_value(GPIO_NR_PALMTX_POWER_DETECT);
310} 392}
311 393
312static int palmtx_is_usb_online(void)
313{
314 return !gpio_get_value(GPIO_NR_PALMTX_USB_DETECT_N);
315}
316
317static void power_supply_exit(struct device *dev) 394static void power_supply_exit(struct device *dev)
318{ 395{
319 gpio_free(GPIO_NR_PALMTX_USB_DETECT_N);
320 gpio_free(GPIO_NR_PALMTX_POWER_DETECT); 396 gpio_free(GPIO_NR_PALMTX_POWER_DETECT);
321} 397}
322 398
@@ -327,7 +403,6 @@ static char *palmtx_supplicants[] = {
327static struct pda_power_pdata power_supply_info = { 403static struct pda_power_pdata power_supply_info = {
328 .init = power_supply_init, 404 .init = power_supply_init,
329 .is_ac_online = palmtx_is_ac_online, 405 .is_ac_online = palmtx_is_ac_online,
330 .is_usb_online = palmtx_is_usb_online,
331 .exit = power_supply_exit, 406 .exit = power_supply_exit,
332 .supplied_to = palmtx_supplicants, 407 .supplied_to = palmtx_supplicants,
333 .num_supplicants = ARRAY_SIZE(palmtx_supplicants), 408 .num_supplicants = ARRAY_SIZE(palmtx_supplicants),
@@ -410,12 +485,23 @@ static void __init palmtx_map_io(void)
410 iotable_init(palmtx_io_desc, ARRAY_SIZE(palmtx_io_desc)); 485 iotable_init(palmtx_io_desc, ARRAY_SIZE(palmtx_io_desc));
411} 486}
412 487
488/* setup udc GPIOs initial state */
489static void __init palmtx_udc_init(void)
490{
491 if (!gpio_request(GPIO_NR_PALMTX_USB_POWER, "UDC Vbus")) {
492 gpio_direction_output(GPIO_NR_PALMTX_USB_POWER, 1);
493 gpio_free(GPIO_NR_PALMTX_USB_POWER);
494 }
495}
496
497
413static void __init palmtx_init(void) 498static void __init palmtx_init(void)
414{ 499{
415 pxa2xx_mfp_config(ARRAY_AND_SIZE(palmtx_pin_config)); 500 pxa2xx_mfp_config(ARRAY_AND_SIZE(palmtx_pin_config));
416 501
417 set_pxa_fb_info(&palmtx_lcd_screen); 502 set_pxa_fb_info(&palmtx_lcd_screen);
418 pxa_set_mci_info(&palmtx_mci_platform_data); 503 pxa_set_mci_info(&palmtx_mci_platform_data);
504 palmtx_udc_init();
419 pxa_set_udc_info(&palmtx_udc_info); 505 pxa_set_udc_info(&palmtx_udc_info);
420 pxa_set_ac97_info(NULL); 506 pxa_set_ac97_info(NULL);
421 pxa_set_ficp_info(&palmtx_ficp_platform_data); 507 pxa_set_ficp_info(&palmtx_ficp_platform_data);
diff --git a/arch/arm/mach-pxa/pcm990-baseboard.c b/arch/arm/mach-pxa/pcm990-baseboard.c
index 1e7515452285..3ea01e0eac63 100644
--- a/arch/arm/mach-pxa/pcm990-baseboard.c
+++ b/arch/arm/mach-pxa/pcm990-baseboard.c
@@ -389,6 +389,7 @@ static struct soc_camera_link iclink[] = {
389 .gpio = NR_BUILTIN_GPIO + 1, 389 .gpio = NR_BUILTIN_GPIO + 1,
390 }, { 390 }, {
391 .bus_id = 0, /* Must match with the camera ID above */ 391 .bus_id = 0, /* Must match with the camera ID above */
392 .gpio = -ENXIO,
392 } 393 }
393}; 394};
394 395
diff --git a/arch/arm/mach-s3c2410/include/mach/spi-gpio.h b/arch/arm/mach-s3c2410/include/mach/spi-gpio.h
index 3fe8be9ca110..980a099e209c 100644
--- a/arch/arm/mach-s3c2410/include/mach/spi-gpio.h
+++ b/arch/arm/mach-s3c2410/include/mach/spi-gpio.h
@@ -18,6 +18,7 @@ struct s3c2410_spigpio_info {
18 unsigned long pin_mosi; 18 unsigned long pin_mosi;
19 unsigned long pin_miso; 19 unsigned long pin_miso;
20 20
21 int num_chipselect;
21 int bus_num; 22 int bus_num;
22 23
23 void (*chip_select)(struct s3c2410_spigpio_info *spi, int cs); 24 void (*chip_select)(struct s3c2410_spigpio_info *spi, int cs);
diff --git a/arch/arm/plat-orion/include/plat/ehci-orion.h b/arch/arm/plat-orion/include/plat/ehci-orion.h
index 64343051095a..4ec668e77460 100644
--- a/arch/arm/plat-orion/include/plat/ehci-orion.h
+++ b/arch/arm/plat-orion/include/plat/ehci-orion.h
@@ -11,8 +11,16 @@
11 11
12#include <linux/mbus.h> 12#include <linux/mbus.h>
13 13
14enum orion_ehci_phy_ver {
15 EHCI_PHY_ORION,
16 EHCI_PHY_DD,
17 EHCI_PHY_KW,
18 EHCI_PHY_NA,
19};
20
14struct orion_ehci_data { 21struct orion_ehci_data {
15 struct mbus_dram_target_info *dram; 22 struct mbus_dram_target_info *dram;
23 enum orion_ehci_phy_ver phy_version;
16}; 24};
17 25
18 26