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
