[PATCH 4/6] qi-fix-define-all-gpio-data.patch

Andy Green andy at openmoko.com
Wed Oct 15 14:45:32 CEST 2008


Nothing defined most GPIO output data on start until now

Signed-off-by: Andy Green <andy at openmoko.com>
---

 src/gta02/gta02.c |   14 +++++++++++---
 1 files changed, 11 insertions(+), 3 deletions(-)

diff --git a/src/gta02/gta02.c b/src/gta02/gta02.c
index 9b2726f..cc33ea1 100644
--- a/src/gta02/gta02.c
+++ b/src/gta02/gta02.c
@@ -113,7 +113,7 @@ void port_init_gta02(void)
 	 *     Binary :  1       1      1      1   , 1       1      1      1   ,  1       1     1      1
 	 */
 	rGPACON = 0x007E5FFF;
-	rGPADAT |= (1 << 16);      /* Set GPA16 to high (nNAND_WP) */
+	rGPADAT = 0x00000000;
 	/*
 	 * ===* PORT B GROUP
 	 *      Ports  : GPB10    GPB9    GPB8    GPB7    GPB6     GPB5    GPB4   GPB3   GPB2     GPB1      GPB0
@@ -123,6 +123,7 @@ void port_init_gta02(void)
 	 */
 	rGPBCON = 0x00155555;
 	rGPBUP = 0x000007FF;
+	rGPBDAT = 0x00000000;
 	/*
 	 * === PORT C GROUP
 	 *     Ports  : GPC15 GPC14 GPC13 GPC12 GPC11 GPC10 GPC9 GPC8  GPC7   GPC6   GPC5 GPC4 GPC3  GPC2  GPC1 GPC0
@@ -131,7 +132,7 @@ void port_init_gta02(void)
 	 */
 	rGPCCON = 0x55555155;
 	rGPCUP = 0x0000FFFF & ~(1 << 5);
-	rGPCDAT |= (1 << 13) | (1 << 15); /* index detect -> hi */
+	rGPCDAT = (1 << 13) | (1 << 15); /* index detect -> hi */
 	/*
 	 * === PORT D GROUP
 	 *     Ports  : GPD15 GPD14 GPD13 GPD12 GPD11 GPD10 GPD9 GPD8 GPD7 GPD6 GPD5 GPD4 GPD3 GPD2 GPD1 GPD0
@@ -140,7 +141,7 @@ void port_init_gta02(void)
 	 */
 	rGPDCON = 0x55555555;
 	rGPDUP = 0x0000FFFF;
-	rGPDDAT |= (1 << 0) | (1 << 3) | (1 << 4); /* index detect -> hi */
+	rGPDDAT = (1 << 0) | (1 << 3) | (1 << 4); /* index detect -> hi */
 	/*
 	 * === PORT E GROUP
 	 *     Ports  : GPE15  GPE14 GPE13   GPE12   GPE11   GPE10   GPE9    GPE8     GPE7  GPE6  GPE5   GPE4
@@ -153,6 +154,7 @@ void port_init_gta02(void)
 	 */
 	rGPECON = 0xAAAAAAAA;
 	rGPEUP = 0x0000FFFF & ~(1 << 11);
+	rGPEDAT = 0x00000000;
 	/*
 	 * === PORT F GROUP
 	 *     Ports  : GPF7   GPF6   GPF5   GPF4      GPF3     GPF2  GPF1   GPF0
@@ -163,6 +165,7 @@ void port_init_gta02(void)
 	/* pulldown on GPF03: TP-4705+debug - debug conn will float */
 	rGPFCON = 0x0000AAAA;
 	rGPFUP = 0x000000FF & ~(1 << 3);
+	rGPFDAT = 0x00000000;
 
 
 	/*
@@ -179,6 +182,8 @@ void port_init_gta02(void)
 	 */
 	rGPGCON = 0x01AAFE79;
 	rGPGUP = 0x0000FFFF;
+	rGPGDAT = 0x00000000;
+
 	/*
 	 * === PORT H GROUP
 	 *     Ports  :  GPH10    GPH9  GPH8 GPH7  GPH6  GPH5 GPH4 GPH3 GPH2 GPH1  GPH0
@@ -191,11 +196,14 @@ void port_init_gta02(void)
 	 */
 	rGPHCON = 0x001AAAAA;
 	rGPHUP = 0x000007FF & ~(1 << 8) & ~(1 << 0) & ~(1 << 3);
+	rGPHDAT = 0x00000000;
 
 	/* pulldown on GPJ00: input, just floats! */
 	/* pulldown on GPJ07: WLAN module WLAN_GPIO0, no ext pull */
 	rGPJCON = 0x1551544;
 	rGPJUP = 0x1ffff & ~(1 << 0) & ~(1 << 7);
+	rGPJDAT = 0x00000100;
+
 	rGPJDAT |= (1 << 4) | (1 << 6);
 					/* Set GPJ4 to high (nGSM_EN) */
 					/* Set GPJ6 to high (nDL_GSM) */




More information about the openmoko-kernel mailing list