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....@windriver.com>
---
 board/omap3/beagle/beagle.c |   30 +++++++++++++++++-------------
 1 files changed, 17 insertions(+), 13 deletions(-)

diff --git a/board/omap3/beagle/beagle.c b/board/omap3/beagle/beagle.c
index 7eb70ee..022cd42 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"
 
@@ -74,22 +75,25 @@ int beagle_get_revision(void)
  */
 void beagle_identify(void)
 {
-       gpio_t *gpio6_base = (gpio_t *)OMAP34XX_GPIO6_BASE;
-
-       /* Configure GPIO 171 as input */
-       writel(readl(&gpio6_base->oe) | GPIO11, &gpio6_base->oe);
-
-       /* Get value of GPIO 171 */
-       beagle_revision_c = readl(&gpio6_base->datain) & BOARD_REVISION_MASK;
+       beagle_revision_c = 0;
+       if (!omap_request_gpio(171)) {
+               unsigned int val;
+
+               omap_set_gpio_direction(171, 1);
+               val = omap_get_gpio_datain(171);
+               omap_free_gpio(171);
+
+               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");
 }
 
 /*
-- 
1.6.0.5

_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to