Hi Harvey,

Le 04/07/2011 23:06, Christopher Harvey a écrit :
> On Mon, Jul 04, 2011 at 12:00:19PM +0300, Igor Grinberg wrote:
>> CONFIG_MACH_TYPE can be used to set the machine type number in the
>> common arm code instead of setting it in the board code.
>>
>> Signed-off-by: Igor Grinberg<grinb...@compulab.co.il>
>> ---
>>   README               |   12 ++++++++++++
>>   arch/arm/lib/board.c |    5 +++++
>>   2 files changed, 17 insertions(+), 0 deletions(-)
>>
>> diff --git a/README b/README
>> index 446966d..a9ccb0a 100644
>> --- a/README
>> +++ b/README
>> @@ -442,6 +442,18 @@ The following options need to be configured:
>>              crash. This is needed for buggy hardware (uc101) where
>>              no pull down resistor is connected to the signal IDE5V_DD7.
>>
>> +            CONFIG_MACH_TYPE                [relevant for ARM only]
>> +
>> +            This option can be used to specify the machine type number
>> +            as it appears in the ARM machine registry
>> +            (see http://www.arm.linux.org.uk/developer/machines/).
>> +            If this option is not defined, then your board code
>> +            will have to set this up like:
>> +            gd->bd->bi_arch_number =<mach type>;
>> +            Note: This option is not suitable if you have multiple
>> +            boards supported in a single configuration file and the
>> +            machine type is runtime discoverable.
>> +
>>   - vxWorks boot parameters:
>>
>>              bootvx constructs a valid bootline using the following
>> diff --git a/arch/arm/lib/board.c b/arch/arm/lib/board.c
>> index 169dfeb..ee77d05 100644
>> --- a/arch/arm/lib/board.c
>> +++ b/arch/arm/lib/board.c
>> @@ -451,6 +451,11 @@ void board_init_r (gd_t *id, ulong dest_addr)
>>
>>      monitor_flash_len = _end_ofs;
>>      debug ("monitor flash len: %08lX\n", monitor_flash_len);
>> +
>> +#ifdef CONFIG_MACH_TYPE
>> +    bd->bi_arch_number = CONFIG_MACH_TYPE; /* board id for Linux */
>> +#endif
>> +
>>      board_init();   /* Setup chipselects */
>>
>>   #ifdef CONFIG_SERIAL_MULTI
>> --
>> 1.7.3.4
>>
> I'm curious, is it a feature that bd->bi_arch_number can be set at
> runtime? Do any boards actually make a decision about what value to
> set this to? If not, then maybe it should be a required value.  I've
> submitted some patches that deal with the same sort of issue, so I'm
> interested in seeing that happens to this one.

Some boards indeed have a feature to set the mach_type at runtime, for 
example to run both the mainline linux kernel and a manufacturer one 
(manufacturers tend to use/expect fancy machine types).

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

Reply via email to