<Query> How to read arguments from a gpio handle
Stephen Warren
swarren at wwwdotorg.org
Sat Aug 4 01:34:57 EST 2012
On 08/03/2012 02:47 AM, Leela Krishna Amudala wrote:
> Hello,
>
> On Fri, Aug 3, 2012 at 10:58 AM, Stephen Warren <swarren at wwwdotorg.org> wrote:
>> On 08/02/2012 09:39 PM, Leela Krishna Amudala wrote:
>>> Hello,
>>>
>>> Can some one please tell me how to read the args from the gpio handle
>>>
>>> For example:
>>> Consider lcd-reset-gpio = <&gpx0 1 2 3 4>; as my phandle.
>>>
>>> The 4 args in the above handle denotes
>>>
>>> <[phandle of the gpio controller node]
>>> [pin number within the gpio controller]
>>> [mux function]
>>> [pull up/down]
>>> [drive strength]>
>>>
>>> My intention is to read the "mux function" and "pull up/down" values
>>> from the above handle and do the corresponding operations on that
>>> particular gpio.
>>>
>>> I tried using of_get_named_gpio_flags(struct device_node *np, const
>>> char *propname,
>>> int index, enum of_gpio_flags *flags);
>>> function and I always gets the flags value as '0' irrespective of the
>>> values present in phandle of GPIO.
...
> I got the required values using of_parse_phandle_with_args() function.
OK, you can certainly do that, but I fully expect pushback on such code
if you try and upstream it. Also, it's most likely fragile if your DT
property needs to represent a list of GPIOs rather than just 1, given
that of_get_named_gpio_flags() doesn't do what you'd expect.
More information about the devicetree-discuss
mailing list