Subject: Re: How to set GPIO state in the dts or in platform

From: Ayman El-Khashab <[email-masked]>
Date: Tue, 05 Jan 2010 23:08:40 -0600

On 1/5/2010 10:38 PM, Bill Gatliff wrote:
> Ayman El-Khashab wrote:
>   
>> I've got a custom board akin to the walnut.  I've successfully got
>> u-boot,
>> the kernel, and a working filesystem.  The only thing I lack is a
>> clear idea
>> of how to set a GPIO.
>>     
>
> Isn't that the "flags" parameter, e.g.:
>
> gpios = <phandle gpioid flags>
>
> ?
>
> If you are passing a 0 for the flags, try a 1.  I know of at least one
> driver that interprets that to mean a polarity inversion.  Maybe you'll
> get lucky.  :)
>
>   
Possibly, I saw that in the documentation directory, but didn't quite 
follow the explanation that
was given.  Below is what I was using as  a reference, but is it as 
simple as that?  Do the flags encode
just the state or also, the open drain, hi-z and everything else?  In my 
case, I want the GPIO 3 actively
driven high.

Example of the node using GPIOs:
20	
21		node {
22			gpios = <&qe_pio_e 18 0>;
23		};
24	
25	In this example gpio-specifier is "18 0" and encodes GPIO pin number,
26	and empty GPIO flags as accepted by the "qe_pio_e" gpio-controller.