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 6356896587bfd65059734bbb5490e715a3b192c9..e3805d4c052a6619a470031863f2e1215086017c 100644 (file)
@@ -214,6 +214,14 @@ static void __init assabet_init(void)
        GPCR = GPIO_SSP_TXD | GPIO_SSP_SCLK | GPIO_SSP_SFRM;
        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.
         */