@ -1,5 +1,6 @@
/*
/*
* Copyright ( c ) 2011 The Chromium OS Authors .
* Copyright ( c ) 2011 The Chromium OS Authors .
* Copyright ( c ) 2011 , NVIDIA Corp . All rights reserved .
* See file CREDITS for list of people who contributed to this
* See file CREDITS for list of people who contributed to this
* project .
* project .
*
*
@ -19,6 +20,9 @@
* MA 02111 - 1307 USA
* MA 02111 - 1307 USA
*/
*/
# ifndef _ASM_GENERIC_GPIO_H_
# define _ASM_GENERIC_GPIO_H_
/*
/*
* Generic GPIO API for U - Boot
* Generic GPIO API for U - Boot
*
*
@ -38,37 +42,56 @@
*/
*/
/**
/**
* Request ownership of a GPIO .
*
* @ param gpio GPIO number
* @ param label Name given to the GPIO
* @ return 0 if ok , - 1 on error
*/
int gpio_request ( unsigned gpio , const char * label ) ;
/**
* Stop using the GPIO . This function should not alter pin configuration .
*
* @ param gpio GPIO number
* @ return 0 if ok , - 1 on error
*/
int gpio_free ( unsigned gpio ) ;
/**
* Make a GPIO an input .
* Make a GPIO an input .
*
*
* @ param gp GPIO number
* @ param gpio GPIO number
* @ return 0 if ok , - 1 on error
* @ return 0 if ok , - 1 on error
*/
*/
int gpio_direction_input ( int gp ) ;
int gpio_direction_input ( unsigned gpio ) ;
/**
/**
* Make a GPIO an output , and set its value .
* Make a GPIO an output , and set its value .
*
*
* @ param gp GPIO number
* @ param gpio GPIO number
* @ param value GPIO value ( 0 for low or 1 for high )
* @ param value GPIO value ( 0 for low or 1 for high )
* @ return 0 if ok , - 1 on error
* @ return 0 if ok , - 1 on error
*/
*/
int gpio_direction_output ( int gp , int value ) ;
int gpio_direction_output ( unsigned gpio , int value ) ;
/**
/**
* Get a GPIO ' s value . This will work whether the GPIO is an input
* Get a GPIO ' s value . This will work whether the GPIO is an input
* or an output .
* or an output .
*
*
* @ param gp GPIO number
* @ param gpio GPIO number
* @ return 0 if low , 1 if high , - 1 on error
* @ return 0 if low , 1 if high , - 1 on error
*/
*/
int gpio_get_value ( int gp ) ;
int gpio_get_value ( unsigned gpio ) ;
/**
/**
* Set an output GPIO ' s value . The GPIO must already be an output of
* Set an output GPIO ' s value . The GPIO must already be an output or
* this function may have no effect .
* this function may have no effect .
*
*
* @ param gp GPIO number
* @ param gpio GPIO number
* @ param value GPIO value ( 0 for low or 1 for high )
* @ param value GPIO value ( 0 for low or 1 for high )
* @ return 0 if ok , - 1 on error
* @ return 0 if ok , - 1 on error
*/
*/
int gpio_set_value ( int gp , int value ) ;
int gpio_set_value ( unsigned gpio , int value ) ;
# endif /* _ASM_GENERIC_GPIO_H_ */