[PATCH 3/3] qi-fix-compute-GTA03-pcb-rev-backwards.patch

Andy Green andy at openmoko.com
Wed Nov 12 12:05:14 CET 2008


From: Christopher Hall <hsw at openmoko.com>

Hm the revision bit ordering is backwards... oh well

Signed-off-by: Christopher Hall <hsw at openmoko.com>
---

 src/cpu/s3c6410/gta03.c |   19 ++++++++++++++-----
 1 files changed, 14 insertions(+), 5 deletions(-)

diff --git a/src/cpu/s3c6410/gta03.c b/src/cpu/s3c6410/gta03.c
index ff9c641..15f41ae 100644
--- a/src/cpu/s3c6410/gta03.c
+++ b/src/cpu/s3c6410/gta03.c
@@ -808,11 +808,20 @@ void port_init_gta03(void)
 int gta03_get_pcb_revision(void)
 {
 	u32 v = __REG(GPIDAT);
-
-	return (v & (1 << 8)) >> (8 - 2) |
-	       (v & (1 << 1)) >> 0 |
-	       (v & (1 << 0)) >> 0
-	;
+        /*
+         * PCB rev is 3 bit code (info from Dkay)
+         * (b2, b1, b0) = (0,0,1) => pcb rev A1
+         * maximum rev = A7
+         * bit0 = GPI8
+         * bit1 = GPI1
+         * bit2 = GPI0
+         */
+
+        return (
+                ((v & (1 << 8)) ? 1 : 0) |
+                ((v & (1 << 1)) ? 2 : 0) |
+                ((v & (1 << 0)) ? 4 : 0)
+                );
 }
 
 const struct board_variant const * get_board_variant_gta03(void)




More information about the openmoko-kernel mailing list