On Thu, Jun 19, 2008 at 2:34 PM, Sascha Hauer <[EMAIL PROTECTED]> wrote:
> On Wed, Jun 18, 2008 at 10:21:10PM +0200, Magnus Lilja wrote:
>> Hi all
>>
>>
>> While I was using the mx31_gpio_mux() function in cpu/arm1136/mx31/generic.c 
>> to modify the IOMUX for some IO pads I discovered that only the first 256 
>> pads can be modified by this function.
>>
>> It's pretty easy to fix this (see patch below) but I wonder if it's really 
>> the right way to fix this problem. Currently mx31_gpio_mux() takes only one 
>> argument, mode, which contains both the pad number and the new mode.
>>
>> Current use:
>> mx31_gpio_mux((MUX_CTL_FUNC << 8) | MUX_CTL_CSPI2_MISO);
>>
>> (the patch below changes << 8 to << 9 and modifies the mx31_gpiomux() 
>> function accordingly)
>>
>> Perhaps it's better to split the above into two arguments, pad number and 
>> pad mode, the function will then be called with:
>> mx31_gpio_mux(MUX_CTL_CSPI2_MISO, MUX_CTL_FUNC);
>>
>> I prefer the second approach (i.e. not the one in the patch below).
>
> The first approach has the advantage that you can define convenience
> macros like MUX_RXD1__UART1_RXD_MUX which makes it easy to setup new
> boards by only reading the definition instead of crawling the datasheet
> for Alternate function assignments once the list of defined is somewhat
> completed. Looking in the datasheet for every new pin is a pain and
> error prone.


Thanks for the background info. I'll try to submit a patch in a couple
of days (using the first approach).

/Magnus

-------------------------------------------------------------------------
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://sourceforge.net/services/buy/index.php
_______________________________________________
U-Boot-Users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/u-boot-users

Reply via email to