Beagle Convert the board version detection to use the OMAP3 GPIO interface.

There is no new functionality in the change.

This change is a conversion from the using raw register access to using
the OMAP3 GPIO API described in doc/README.omap3.

Signed-off-by: Tom Rix <Tom.Rix@windriver.com>
Acked-by: Dirk Behme <dirk.behme@googlemail.com>
diff --git a/board/omap3/beagle/beagle.c b/board/omap3/beagle/beagle.c
index 7eb70ee..d268e18 100644
--- a/board/omap3/beagle/beagle.c
+++ b/board/omap3/beagle/beagle.c
@@ -33,6 +33,7 @@
 #include <asm/io.h>
 #include <asm/arch/mux.h>
 #include <asm/arch/sys_proto.h>
+#include <asm/arch/gpio.h>
 #include <asm/mach-types.h>
 #include "beagle.h"
 
@@ -57,7 +58,7 @@
 
 /*
  * Routine: beagle_get_revision
- * Description: Return revision of the BeagleBoard this code is running on.
+ * Description: Return the revision of the BeagleBoard this code is running on.
  *              If it is a revision Ax/Bx board, this function returns 0,
  *              on a revision C board you will get a 1.
  */
@@ -74,22 +75,25 @@
  */
 void beagle_identify(void)
 {
-	gpio_t *gpio6_base = (gpio_t *)OMAP34XX_GPIO6_BASE;
+	beagle_revision_c = 0;
+	if (!omap_request_gpio(171)) {
+		unsigned int val;
 
-	/* Configure GPIO 171 as input */
-	writel(readl(&gpio6_base->oe) | GPIO11, &gpio6_base->oe);
+		omap_set_gpio_direction(171, 1);
+		val = omap_get_gpio_datain(171);
+		omap_free_gpio(171);
 
-	/* Get value of GPIO 171 */
-	beagle_revision_c = readl(&gpio6_base->datain) & BOARD_REVISION_MASK;
+		if (val)
+			beagle_revision_c = 0;
+		else
+			beagle_revision_c = 1;
+	}
 
 	printf("Board revision ");
-	if (beagle_revision_c) {
-		printf("Ax/Bx\n");
-		beagle_revision_c = 0;
-	} else {
+	if (beagle_revision_c)
 		printf("C\n");
-		beagle_revision_c = 1;
-	}
+	else
+		printf("Ax/Bx\n");
 }
 
 /*