From: Russell King <rmk+kernel@arm.linux.org.uk>
Date: Tue, 24 Jan 2012 09:25:57 +0000 (+0000)
Subject: ARM: sa11x0: assabet: ensure that GPIO27 is driven
X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=49e01e3fb6efe1b0abfa2d5675f88f07989d621f;p=GitHub%2FLineageOS%2FG12%2Fandroid_kernel_amlogic_linux-4.9.git

ARM: sa11x0: assabet: ensure that GPIO27 is driven

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>
---

diff --git a/arch/arm/mach-sa1100/assabet.c b/arch/arm/mach-sa1100/assabet.c
index 6356896587bf..e3805d4c052a 100644
--- a/arch/arm/mach-sa1100/assabet.c
+++ b/arch/arm/mach-sa1100/assabet.c
@@ -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.
 	 */