[PATCH] fix-cpu-input-pulldowns.patch
Andy Green
andy at openmoko.com
Mon Mar 31 14:20:43 CEST 2008
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 <andy at openmoko.com>
---
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 + \
More information about the openmoko-kernel
mailing list