[U-Boot] [PATCH 1/3] arm: add CONFIG_MACH_TYPE option and documentation
Albert ARIBAUD
albert.u.boot at aribaud.net
Tue Jul 5 00:03:18 CEST 2011
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<grinberg at 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.
More information about the U-Boot
mailing list