[U-Boot] [PATCH 0/2] arm nomadik: gpio and i2c
Wolfgang Denk
wd at denx.de
Mon Jul 20 17:12:22 CEST 2009
Dear Heiko Schocher,
In message <4A6422FC.6030508 at invitel.hu> you wrote:
>
> typedef struct gpio_adapter {
> int (*init_pin)(int pin);
> int (*set)(int pin, value);
> int (*get)(int pin);
> int (*dir)(int pin, int direction);
> int (*level)(int pin, int level);
> }
>
> int gpio_init(gpio_adapter *adap);
> int gpio_init_pin(pin);
> ? maybe with setting a marker, that this pin is initialized,
> so this can be checked in the above functions ... ?
> int gpio_set(pin, value);
> int gpio_get(pin);
> int gpio_dir(pin, dir);
> int gpio_level(pin, dir);
What does "level" mean in this context?
gpio_init_pin() and gpio_dir() seem to be redundant - or does pin
initialization not include the setting of the direction (and, in case
of an output pin, it's initial state) ?
gpio_get() returns the current state of the pin?
gpio_set() returns the previous state of the pin? Or the new state?
If it returns the new state, we could use value=1 to set a pin,
value=0 to unset a pin, and value=-1 to just read it's value without
changing it; then we could "#define gpio_get(pin) gpio_set(pin,-1)".
Best regards,
Wolfgang Denk
--
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
The speed of time is one second per second.
More information about the U-Boot
mailing list