mirror of
https://github.com/u-boot/u-boot.git
synced 2025-01-22 18:54:08 +08:00
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>
This commit is contained in:
parent
7caa13fdd2
commit
718763c474
@ -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 @@ int board_init(void)
|
||||
|
||||
/*
|
||||
* 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 @@ int beagle_get_revision(void)
|
||||
*/
|
||||
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");
|
||||
}
|
||||
|
||||
/*
|
||||
|
Loading…
Reference in New Issue
Block a user