[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