[PATCH v2] Add some help using the gpio commands at runtime

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



From: Juergen Beisert <jbe@xxxxxxxxxxxxxx>
Subject: [PATCH] Add some help using the gpio commands at runtime

Last time I used the gpio commands I was somehow confused about the behaviour
of the 'gpio_get_value' command. So, I decided to add some doc for it. Here's
the result.

Signed-off-by: Juergen Beisert <jbe@xxxxxxxxxxxxxx>

---
 Documentation/commands.dox |    1 
 commands/gpio.c            |   61 
+++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 62 insertions(+)

Index: barebox-2010.10.0/Documentation/commands.dox
===================================================================
--- barebox-2010.10.0.orig/Documentation/commands.dox
+++ barebox-2010.10.0/Documentation/commands.dox
@@ -10,6 +10,7 @@
 @li @subpage edit_command
 @li @subpage erase_command
 @li @subpage export_command
+@li @subpage gpio_for_users
 @li @subpage tftp_command
 @li @subpage loadenv_command
 @li @subpage mount_command
Index: barebox-2010.10.0/commands/gpio.c
===================================================================
--- barebox-2010.10.0.orig/commands/gpio.c
+++ barebox-2010.10.0/commands/gpio.c
@@ -120,3 +120,64 @@ BAREBOX_CMD_START(gpio_direction_output)
 	BAREBOX_CMD_HELP(cmd_gpio_direction_output_help)
 BAREBOX_CMD_END
 
+/**
+@page gpio_for_users Runtime GPIO handling
+
+@section regular_gpio General usage information
+
+These commands are available if the symbol @b CONFIG_GENERIC_GPIO and
+@b CONFIG_CMD_GPIO are enabled in the Kconfig.
+
+@note All gpio related commands take a number to identify the pad. This
+number is architecture dependent. There may be no intuitional correlation
+between available pads and the GPIO numbers to be used in the commands. Due
+to this it's also possible the numbers change between @b barebox releases.
+
+@section gpio_dir_out Switch a pad into an output GPIO
+@verbatim
+gpio_direction_output <gpio_no> <initial_value>
+@endverbatim
+- @b gpio_no Architecture dependent GPIO number
+- @b initial_value Output value the pad should emit
+
+@note To avoid glitches on the pad's line, the routines will first setting up
+the pad's value and after that switching the pad itself to output (if the
+silicon is able to do so)
+
+@note If the pad is already configured into a non GPIO mode (if available)
+this command may fail (silently)
+
+@section gpio_dir_in Switch a pad into an input GPIO
+@verbatim
+gpio_direction_input <gpio_no>
+@endverbatim
+- @b gpio_no Architecture dependent GPIO number
+
+@note If the pad is already configured into a non GPIO mode (if available)
+this command may fail (silently)
+
+@section gpio_get_value Read in the value of an GPIO input pad
+@verbatim
+gpio_get_value <gpio_no>
+@endverbatim
+
+Reads in the current pad's line value from the given GPIO number. It returns
+the value as a shell return code. There is no visible output at stdout. You
+can check the return value by using "echo $?"
+
+@note If the return code is not '0' or '1' it's meant as an error code.
+
+@note If the pad is not configured for GPIO mode this command may fail
+(silently) and returns garbage
+
+@section gpio_set_value Set a new value to a GPIO output pad
+@verbatim
+gpio_set_value <gpio_no> <value>
+@endverbatim
+- @b gpio_no Architecture dependent GPIO number
+- @b value Output value the pad should emit
+
+Sets a new output @b value to the pad with GPIO number @b gpio_no
+
+@note If the pad is not configured for GPIO mode this command may fail 
(silently)
+*/



-- 
Pengutronix e.K.                              | Juergen Beisert             |
Linux Solutions for Science and Industry      | Phone: +49-8766-939 228     |
Vertretung Sued/Muenchen, Germany             | Fax:   +49-5121-206917-5555 |
Amtsgericht Hildesheim, HRA 2686              | http://www.pengutronix.de/  |

_______________________________________________
barebox mailing list
barebox@xxxxxxxxxxxxxxxxxxx
http://lists.infradead.org/mailman/listinfo/barebox


[Index of Archives]     [Linux Embedded]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux