[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:59 CEST 2011


Le 05/07/2011 00:03, Albert ARIBAUD a écrit :
> Hi Harvey,

Sorry Christopher, I mixed up.

> 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,


Amicalement,
-- 
Albert.


More information about the U-Boot mailing list