QUERY: How to handle SOC Configuration (Peripheral Multiplexing) in linux

Russell King - ARM Linux linux at arm.linux.org.uk
Mon Mar 15 12:58:09 EDT 2010


On Mon, Mar 15, 2010 at 05:02:49PM +0100, Armando VISCONTI wrote:
>>
>> What I think you really want is for your board-specific code (or some
>> helper code elsewhere in your mach-* directory) to do the pin
>> assignments, and the drivers just assume that the pins are all right.  
>> That's the approach used in OMAP2 and AT91, among others, and it seems
>> to work out just fine.
>>   
>
> Bill,
>
> What you and Russell are saying is a little bit different from what I  
> got since
> now, with people suggesting to implement a single linux image which is
> then configured at runtime thru (for example) bootargs.

No, we're suggesting the same thing.

> Now you both are saying that compile time options are better, correct?

No.  We're suggesting that you put platform specific details in their own
.c file like everything else does on ARM and use the mechanisms already
provided for supporting multi-platform kernels.

It's actually extremely difficult to avoid the multi-platform support.

Eg, see arch/arm/mach-pxa/palm*.c - PXA kernels can support all those
Palm platforms from one kernel image.

The compile time options concern whether to include support for a
particular board.  However, the ultimate decision about how to configure
the PXA chip is made at run time.



More information about the linux-arm-kernel mailing list