[U-Boot] [PATCH 2/7] OMAP3: Beagle: Add board revision detection

Dirk Behme dirk.behme at googlemail.com
Thu Feb 5 20:12:48 CET 2009


Dear Jean-Christophe,

Jean-Christophe PLAGNIOL-VILLARD wrote:
>   
>>  /******************************************************************************
>> + * Routine: board_identify
>> + * Description: Detect if we are running on a Beagle revision Ax/Bx or
>> + *              Cx. This can be done by GPIO_171. If this is low, we are
>> + *              running on a revision C board.
>> + *****************************************************************************/
>> +void board_identify(void)
>> +{
>> +	gpio_t *gpio6_base = (gpio_t *)OMAP34XX_GPIO6_BASE;
>> +
>> +	/* Configure GPIO 171 as input */
> we may need to start to think about merge to the gpiolib to simplify it
>> +	writel(readl(&gpio6_base->oe) | GPIO11, &gpio6_base->oe);
>> +
>> +	/* Get value of GPIO 171 */
>> +	beagle_revision_c = readl(&gpio6_base->datain) & BOARD_REVISION_MASK;
>> +
>> +	printf("Board revision ");
>> +	if (beagle_revision_c) {
> ???
> I'm not a fan of glabal var 

And I'm not a fan of bad weather. But I'm not sure if it really 
matters here what we are fans of? ;)

> please create a function that will return if it's
> a rev c or not

And where should this function you propose get the info from which 
board revision it is?

Note that we follow here (and in the serial number patch) the concept 
of "touch hardware only once, remember the value and then deal with 
the remembered value. Don't touch hardware again if done already". 
I.e. it's the concept behind this to not have a function to read HW 
(and do masking etc) again and again if revision value is needed.

Dirk


More information about the U-Boot mailing list