linux/arch/arm
Hartley Sweeten fd015480c2 ARM: 6636/1: ep93xx: default multiplexed gpio ports to gpio mode
The EP93xx C and D GPIO ports are multiplexed with the Keypad Interface
peripheral.  At power-up they default into non-GPIO mode with the Key
Matrix controller enabled so these ports are unusable for GPIO.  Note
that the Keypad Interface peripheral is only available in the EP9307,
EP9312, and EP9315 processor variants.

The keypad support will clear the DeviceConfig bits appropriately to
enable the Keypad Interface when the driver is loaded.  And, when the
driver is unloaded it will set the bits to return the ports to GPIO mode.

To make these ports available for GPIO after power-up on all EP93xx
processor variants, set the KEYS and GONK bits in the DeviceConfig
register.

Similarly, the E, G, and H ports are multiplexed with the IDE Interface
peripheral.  At power-up these also default into non-GPIO mode.  Note
that the IDE peripheral is only available in the EP9312 and EP9315
processor variants.

Since an IDE driver is not even available in mainline, set the EONIDE,
GONIDE, and HONIDE bits in the DeviceConfig register so that these
ports will be available for GPIO use after power-up.

Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Acked-by: Ryan Mallon <ryan@bluewatersys.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2011-01-25 21:18:04 +00:00
..
boot Merge branches 'ftrace', 'gic', 'io', 'kexec', 'mod', 'sa11x0', 'sh' and 'versatile' into devel 2011-01-05 18:08:10 +00:00
common Merge branch 'devel-stable' of master.kernel.org:/home/rmk/linux-2.6-arm 2011-01-15 12:33:40 -08:00
configs kconfig: rename CONFIG_EMBEDDED to CONFIG_EXPERT 2011-01-20 17:02:05 -08:00
include/asm ARM: 6637/1: Make the argument to virt_to_phys() "const volatile" 2011-01-25 21:18:03 +00:00
kernel ARM: twd: ensure timer reload is reprogrammed on entry to periodic mode 2011-01-25 21:17:58 +00:00
lib ARM: udelay: prevent math rounding resulting in short udelays 2011-01-10 23:55:59 +00:00
mach-aaec2000 ARM: aaec2000: irq_data conversion. 2011-01-13 17:18:21 +01:00
mach-at91 Merge branch 'devel-stable' of master.kernel.org:/home/rmk/linux-2.6-arm 2011-01-15 12:33:40 -08:00
mach-bcmring Merge branch 'devel-stable' of master.kernel.org:/home/rmk/linux-2.6-arm 2011-01-15 12:33:40 -08:00
mach-clps711x ARM: clps711x: irq_data conversion. 2011-01-13 17:18:24 +01:00
mach-cns3xxx Merge branch 'devel-stable' into devel 2011-01-06 22:33:32 +00:00
mach-davinci Merge branch 'devel-stable' of master.kernel.org:/home/rmk/linux-2.6-arm 2011-01-15 12:33:40 -08:00
mach-dove ARM: dove: irq_data conversion. 2011-01-13 17:18:27 +01:00
mach-ebsa110 ARM: ebsa110: irq_data conversion. 2011-01-13 17:18:28 +01:00
mach-ep93xx ARM: 6636/1: ep93xx: default multiplexed gpio ports to gpio mode 2011-01-25 21:18:04 +00:00
mach-footbridge ARM: footbridge: irq_data conversion. 2011-01-13 17:18:30 +01:00
mach-gemini Merge branch 'devel-stable' of master.kernel.org:/home/rmk/linux-2.6-arm 2011-01-15 12:33:40 -08:00
mach-h720x Merge branch 'devel-stable' of master.kernel.org:/home/rmk/linux-2.6-arm 2011-01-15 12:33:40 -08:00
mach-imx Merge branch 'devel-stable' of master.kernel.org:/home/rmk/linux-2.6-arm 2011-01-15 12:33:40 -08:00
mach-integrator Merge branch 'devel-stable' of master.kernel.org:/home/rmk/linux-2.6-arm 2011-01-15 12:33:40 -08:00
mach-iop13xx ARM: iop13xx: irq_data conversion. 2011-01-13 17:18:35 +01:00
mach-iop32x ARM: iop32x: irq_data conversion. 2011-01-13 17:18:36 +01:00
mach-iop33x ARM: iop33x: irq_data conversion. 2011-01-13 17:18:37 +01:00
mach-ixp4xx ARM: ixp4xx: irq_data conversion. 2011-01-13 17:18:40 +01:00
mach-ixp23xx ARM: ixp23xx: irq_data conversion. 2011-01-13 17:18:39 +01:00
mach-ixp2000 ARM: ixp2000: irq_data conversion. 2011-01-13 17:18:38 +01:00
mach-kirkwood Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6 2011-01-13 10:32:54 -08:00
mach-ks8695 ARM: ks8695: irq_data conversion. 2011-01-13 17:18:41 +01:00
mach-l7200/include/mach
mach-lh7a40x ARM: lh7a40x: irq_data conversion. 2011-01-13 17:18:43 +01:00
mach-loki
mach-lpc32xx Merge branch 'devel-stable' of master.kernel.org:/home/rmk/linux-2.6-arm 2011-01-15 12:33:40 -08:00
mach-mmp ARM: mmp: PXA910 drive strength FAST using wrong value 2011-01-15 04:29:20 -06:00
mach-msm Merge branch 'for-38-rc2' of git://codeaurora.org/quic/kernel/davidb/linux-msm 2011-01-20 16:30:22 -08:00
mach-mv78xx0
mach-mx3 Merge branch 'devel-stable' of master.kernel.org:/home/rmk/linux-2.6-arm 2011-01-15 12:33:40 -08:00
mach-mx5 Merge branch 'for-rmk' of git://git.pengutronix.de/git/imx/linux-2.6 into devel-stable 2011-01-14 12:12:42 +00:00
mach-mxc91231 Merge branch 'devel-stable' into devel 2011-01-06 22:33:32 +00:00
mach-mxs ARM mxs: clkdev related compile fixes 2011-01-14 10:19:27 +01:00
mach-netx ARM: netx: irq_data conversion. 2011-01-13 17:18:48 +01:00
mach-nomadik
mach-ns9xxx ARM: ns9xxx: irq_data conversion. 2011-01-13 17:18:49 +01:00
mach-nuc93x ARM: nuc93x: irq_data conversion. 2011-01-13 17:18:50 +01:00
mach-omap1 Merge git://git.infradead.org/mtd-2.6 2011-01-17 11:15:30 -08:00
mach-omap2 Merge branch 'devel-stable' of master.kernel.org:/home/rmk/linux-2.6-arm 2011-01-15 12:33:40 -08:00
mach-orion5x Merge branch 'devel-stable' into devel 2011-01-06 22:33:32 +00:00
mach-pnx4008 Merge branch 'devel-stable' of master.kernel.org:/home/rmk/linux-2.6-arm 2011-01-15 12:33:40 -08:00
mach-pxa Merge branch 'devel-stable' of master.kernel.org:/home/rmk/linux-2.6-arm 2011-01-15 12:33:40 -08:00
mach-realview ARM: realview: name configuration options after actual board names 2011-01-25 15:08:01 +00:00
mach-rpc ARM: rpc: irq_data conversion. 2011-01-13 17:18:57 +01:00
mach-s3c24a0/include/mach
mach-s3c64xx Merge branch 'devel-stable' of master.kernel.org:/home/rmk/linux-2.6-arm 2011-01-15 12:33:40 -08:00
mach-s3c2400
mach-s3c2410 Merge branch 'devel-stable' of master.kernel.org:/home/rmk/linux-2.6-arm 2011-01-15 12:33:40 -08:00
mach-s3c2412 Merge branch 'for-rmk' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung into devel-stable 2011-01-15 13:24:02 +00:00
mach-s3c2416 Merge branch 'next-s3c24xx' into for-next 2011-01-06 18:44:09 +09:00
mach-s3c2440 Merge branch 'devel-stable' of master.kernel.org:/home/rmk/linux-2.6-arm 2011-01-15 12:33:40 -08:00
mach-s3c2443 Merge branch 'next-s3c24xx' into for-next 2011-01-06 18:44:09 +09:00
mach-s5p64x0 ARM: S5P6450: Add missing virtual ASoC DMA device 2011-01-18 14:44:32 +09:00
mach-s5p6442 ARM: S5P6442: Enable I2S device to work on SMDK6442 2011-01-18 14:44:32 +09:00
mach-s5pc100 Merge branch 'devel-stable' of master.kernel.org:/home/rmk/linux-2.6-arm 2011-01-15 12:33:40 -08:00
mach-s5pv210 ARM: S5PV210: Add missing virtual ASoC DMA device 2011-01-18 14:45:33 +09:00
mach-s5pv310 ARM: S5PV310: Add missing virtual ASoC DMA device 2011-01-18 14:47:07 +09:00
mach-sa1100 Merge branch 'devel-stable' of master.kernel.org:/home/rmk/linux-2.6-arm 2011-01-15 12:33:40 -08:00
mach-shark ARM: shark: irq_data conversion. 2011-01-13 17:19:00 +01:00
mach-shmobile Merge branch 'rmobile-latest' of git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6 2011-01-13 10:40:00 -08:00
mach-spear3xx
mach-spear6xx
mach-stmp37xx ARM: stmp37xx: irq_data conversion. 2011-01-13 17:19:02 +01:00
mach-stmp378x ARM: stmp378x: irq_data conversion. 2011-01-13 17:19:01 +01:00
mach-tcc8k ARM: tcc8k: irq_data conversion. 2011-01-13 17:19:03 +01:00
mach-tegra Merge branch 'devel-stable' of master.kernel.org:/home/rmk/linux-2.6-arm 2011-01-15 12:33:40 -08:00
mach-u300 Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2011-01-13 10:05:56 -08:00
mach-ux500 mach-ux500: Updated and connected ab8500 regulator board configuration 2011-01-12 14:33:03 +00:00
mach-versatile ARM: versatile: name configuration options after actual board names 2011-01-25 15:08:02 +00:00
mach-vexpress ARM: 6635/2: Configure reference clock for Versatile Express timers 2011-01-25 16:18:33 +00:00
mach-w90x900 ARM: w90x900: irq_data conversion. 2011-01-13 17:19:07 +01:00
mm Merge branch 'fixes' of master.kernel.org:/home/rmk/linux-2.6-arm 2011-01-15 12:29:50 -08:00
nwfpe
oprofile
plat-iop Merge branch 'clksrc' into devel 2011-01-05 18:09:03 +00:00
plat-mxc Merge branch 'devel-stable' of master.kernel.org:/home/rmk/linux-2.6-arm 2011-01-15 12:33:40 -08:00
plat-nomadik Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/async_tx 2011-01-17 10:54:41 -08:00
plat-omap Merge git://git.infradead.org/mtd-2.6 2011-01-17 11:15:30 -08:00
plat-orion ARM: plat-orion: irq_data conversion. 2011-01-13 17:19:12 +01:00
plat-pxa ARM: PXA SoCs: irq_data conversion. 2011-01-13 17:18:56 +01:00
plat-s3c24xx Merge branch 'devel-stable' of master.kernel.org:/home/rmk/linux-2.6-arm 2011-01-15 12:33:40 -08:00
plat-s5p ARM: S5P: Add Support System MMU 2011-01-13 13:35:31 +09:00
plat-samsung Merge branch 'devel-stable' of master.kernel.org:/home/rmk/linux-2.6-arm 2011-01-15 12:33:40 -08:00
plat-spear ARM: plat-spear: irq_data conversion. 2011-01-13 17:19:13 +01:00
plat-stmp3xxx ARM: plat-stmp3xxx: irq_data conversion. 2011-01-13 17:19:14 +01:00
plat-tcc
plat-versatile Merge branch 'clksrc' into devel 2011-01-05 18:09:03 +00:00
tools
vfp Merge branch 'misc' into devel 2011-01-06 22:32:52 +00:00
Kconfig Merge branch 'devel-stable' of master.kernel.org:/home/rmk/linux-2.6-arm 2011-01-15 12:33:40 -08:00
Kconfig-nommu
Kconfig.debug Merge branch 'misc' into devel 2011-01-06 22:32:52 +00:00
Makefile Merge branch 'sgu/mxs-core-v8' of git://git.pengutronix.de/git/ukl/linux-2.6 into imx-for-2.6.38-new 2011-01-03 10:15:11 +01:00