Hello, On Fri, Aug 3, 2012 at 10:58 AM, Stephen Warren <[email protected]> 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. > > Perhaps the GPIO controller referenced by &gpx0 has #gpio-cells=1? > > Alternatively, the GPIO controller's xlate function may simply be > setting the flags value to 0, rather than deriving the value from the > extra cells in the GPIO specifier. > > Either way, the mux function, pull, and driver strength should be > represented using the pinctrl bindings not as part of the GPIO > specifier. See Documentation/devicetree/bindings/pinctrl/pinctrl.txt for > the basics.
I got the required values using of_parse_phandle_with_args() function. Thanks, Leela Krishna Amudala _______________________________________________ devicetree-discuss mailing list [email protected] https://lists.ozlabs.org/listinfo/devicetree-discuss
