plat-orion multi purpose pins problem for mv78200
Joey Oravec
joravec at drewtech.com
Wed Jul 6 14:49:53 EDT 2011
On 7/6/2011 12:18 PM, Simon Guinot wrote:
>> Note that orion_gpio_set_valid() and orion_gpio_is_valid() would
>> both need rework. The functions need to handle that a GPIO can be
>> mux'ed onto any MPP pin. I described this problem in another email
>> on the thread.
> I don't understand what's wrong with the GPIO array.
I tried to describe the case in my reply:
http://lists.arm.linux.org.uk/lurker/message/20110701.215657.7efe0a42.en.html
Assume that we've solved the mpp_to_gpio mapping. Then imagine you pass
a large array to mv78xx0_mpp_conf() that includes:
MPP16_GPIO (this mpp corresponds to GPIO16)
MPP47_UNUSED (this mpp corresponds to GPIO16)
The code today processes the array in-order. When it processes
MPP16_GPIO it will mark the GPIO16 valid. When it processes MPP47_UNUSED
it would currently mark GPIO16 invalid. This is a problem because it
still assumes a 1:1 relationship.
-joey
More information about the linux-arm-kernel
mailing list