Solve following static GPIO input errors with pulldowns

GPE11: SPIMISO0    1  *float* Debug brd no pullup! *bad*
GPG08: EINT[16]    1  <=== copy of GPG0 !?! *bad*
GPH08: UEXTCLK     1 *NC* *FLOAT* *bad* *bad* *bad*
GPJ00: input       1 *NC* *FLOAT* *bad* *bad* *bad*
GPF03: TP-4705+debug  Yeah its *bad*, we can put a pulldown on it.

Signed-off-by: Andy Green <[EMAIL PROTECTED]>
---

 board/neo1973/gta02/gta02.c |   19 ++++++++++++++-----
 drivers/video/smedia3362.c  |    6 +++---
 2 files changed, 17 insertions(+), 8 deletions(-)


diff --git a/board/neo1973/gta02/gta02.c b/board/neo1973/gta02/gta02.c
index 31de981..07b0917 100644
--- a/board/neo1973/gta02/gta02.c
+++ b/board/neo1973/gta02/gta02.c
@@ -170,26 +170,35 @@ int board_init(void)
        gpio->GPBCON = 0x00155555;
        gpio->GPBUP = 0x000007FF;
 
+       /* pulldown on "PIO_5" BT module to stop float when unpowered */
        gpio->GPCCON = 0x55555155;
-       gpio->GPCUP = 0x0000FFFF;
+       gpio->GPCUP = 0x0000FFFF & ~(1 << 5);
 
        gpio->GPDCON = 0x55555555;
        gpio->GPDUP = 0x0000FFFF;
 
+       /* pulldown on GPE11 / SPIMISO0 - goes to debug board and will float */
        gpio->GPECON = 0xAAAAAAAA;
-       gpio->GPEUP = 0x0000FFFF;
+       gpio->GPEUP = 0x0000FFFF & ~(1 << 11);
 
+       /* pulldown on GPF03: TP-4705+debug - debug conn will float */
        gpio->GPFCON = 0x0000AAAA;
-       gpio->GPFUP = 0x000000FF;
+       gpio->GPFUP = 0x000000FF & ~(1 << 3);
 
        gpio->GPGCON = 0x01AAFE79;
        gpio->GPGUP = 0x0000FFFF;
 
+       /* pulldown on GPH08: UEXTCLK, just floats!
+        * pulldown GPH0 -- nCTS0 / RTS_MODEM -- floats when GSM off
+        * pulldown GPH3 -- RXD[0] / TX_MODEM -- floats when GSM off
+        */
        gpio->GPHCON = 0x001AAAAA;
-       gpio->GPHUP = 0x000007FF;
+       gpio->GPHUP = 0x000007FF & ~(1 << 8) & ~(1 << 0) & ~(1 << 3);
 
+       /* pulldown on GPJ00: input, just floats! */
+       /* pulldown on GPJ07: WLAN module WLAN_GPIO0, no ext pull */
        gpio->GPJCON = 0x1551544;
-       gpio->GPJUP = 0x1ffff;
+       gpio->GPJUP = 0x1ffff & ~(1 << 0) & ~(1 << 7);
        gpio->GPJDAT |= (1 << 4) | (1 << 6);
                                        /* Set GPJ4 to high (nGSM_EN) */
                                        /* Set GPJ6 to high (nDL_GSM) */
diff --git a/drivers/video/smedia3362.c b/drivers/video/smedia3362.c
index 81e2bd1..e846e01 100644
--- a/drivers/video/smedia3362.c
+++ b/drivers/video/smedia3362.c
@@ -95,7 +95,7 @@ static u16 u16a_gen_init_0x0000[] = {
        0x2020, 0x3650, 0x0002, 0x01FF, 0x0000, 0x0000, 0x0000, 0x0000,
        0x000D, 0x000B, 0x00EE, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
        0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
-       0x1839, 0x0000, 0x2000, 0x0101, 0x0100, 0x0000, 0x0000, 0x0000,
+       0x1839, 0x0000, 0x2000, 0x0001 /*0101*/, 0x0100, 0x0000, 0x0000, 0x0000,
        0x05DB, 0x5231, 0x09C3, 0x8261, 0x0003, 0x0000, 0x0000, 0x0000,
        0x000F, 0x101E, 0xC0C3, 0x101E, 0x000F, 0x0001, 0x030F, 0x020F,
        0x080F, 0x0F0F
@@ -118,10 +118,10 @@ static u16 u16a_gen_init_0x0200[] = {
        0x00C0, 0x00C0, 0x00C0, 0x00C0, 0x00C0, 0x00C0, 0x00C0, 0x00C0,
        0x00C0, 0x00C0, 0x00C0, 0x00C0, 0x00C0, 0x00C0, 0x00C0, 0x00C0,
        0x00C0, 0x00C0, 0x00C0, 0x00C0, 0x00C0, 0x00C0, 0x00C0, 0x00C0,
-       0x0873, 0xAFAF, 0x0108, 0x0010, 0x0000, 0x0000, 0x0000, 0x0000,
+       0x0c74, 0xAFAF, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
        0x0000, 0x1002, 0x6006, 0x00FF, 0x0001, 0x0020, 0x0000, 0x0000,
        0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
-       0x3210, 0x5432, 0xE100, 0x01D6
+       0x3210, 0x5432, 0xE100, 0x00d6/*0x01D6 */
 };
 
 #define glamofb_cmdq_empty() (glamo_reg_read(GLAMO_REGOFS_LCD + \


Reply via email to