ARM: sa11x0: assabet: ensure that GPIO27 is driven
authorRussell King <rmk+kernel@arm.linux.org.uk>
Tue, 24 Jan 2012 09:25:57 +0000 (09:25 +0000)
committerRussell King <rmk+kernel@arm.linux.org.uk>
Thu, 9 Feb 2012 15:34:13 +0000 (15:34 +0000)
GPIO27 is just connected to a CPLD input without any pull-ups or pull-
downs.  If GPIO27 is left as an input, it will float around mid-supply,
which for CMOS inputs is the worst place for a pin to be.  Ensure that
this pin is driven.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
arch/arm/mach-sa1100/assabet.c

index 6356896..e3805d4 100644 (file)
@@ -215,6 +215,14 @@ static void __init assabet_init(void)
        GPDR |= GPIO_SSP_TXD | GPIO_SSP_SCLK | GPIO_SSP_SFRM;
 
        /*
+        * Also set GPIO27 as an output; this is used to clock UART3
+        * via the FPGA and as otherwise has no pullups or pulldowns,
+        * so stop it floating.
+        */
+       GPCR = GPIO_GPIO27;
+       GPDR |= GPIO_GPIO27;
+
+       /*
         * Set up registers for sleep mode.
         */
        PWER = PWER_GPIO0;