]> git.karo-electronics.de Git - karo-tx-uboot.git/blobdiff - include/asm-generic/gpio.h
nand: mxs: use CONFIG_ARCH_MX6 instead of CONFIG_SOC_MX6Q
[karo-tx-uboot.git] / include / asm-generic / gpio.h
index acd2993efc3daf509f26eeda20dfe42b4a564b75..eb801ac3783525e4836ea600ba2b51d65c0fda10 100644 (file)
@@ -54,7 +54,7 @@ struct gpio {
  * Note: With driver model, the label is allocated so there is no need for
  * the caller to preserve it.
  *
- * @param gp   GPIO number
+ * @param gpio GPIO number
  * @param label        User label for this GPIO
  * @return 0 if ok, -1 on error
  */
@@ -127,7 +127,7 @@ struct gpio_desc {
        unsigned long flags;
 #define GPIOD_REQUESTED                (1 << 0)        /* Requested/claimed */
 #define GPIOD_IS_OUT           (1 << 1)        /* GPIO is an output */
-#define GPIOD_IS_IN            (1 << 2)        /* GPIO is an output */
+#define GPIOD_IS_IN            (1 << 2)        /* GPIO is an input */
 #define GPIOD_ACTIVE_LOW       (1 << 3)        /* value has active low */
 #define GPIOD_IS_OUT_ACTIVE    (1 << 4)        /* set output active */
 
@@ -139,7 +139,7 @@ struct gpio_desc {
 };
 
 /**
- * dm_gpio_is_valid() - Check if a GPIO is gpio_is_valie
+ * dm_gpio_is_valid() - Check if a GPIO is valid
  *
  * @desc:      GPIO description containing device, offset and flags,
  *             previously returned by gpio_request_by_name()
@@ -179,7 +179,7 @@ int gpio_get_status(struct udevice *dev, int offset, char *buf, int buffsize);
  *
  * @dev:       Device to check
  * @offset:    Offset of device GPIO to check
- * @namep:     If non-NULL, this is set to the nane given when the GPIO
+ * @namep:     If non-NULL, this is set to the name given when the GPIO
  *             was requested, or -1 if it has not been requested
  * @return  -ENODATA if the driver returned an unknown function,
  * -ENODEV if the device is not active, -EINVAL if the offset is invalid.
@@ -198,7 +198,7 @@ int gpio_get_function(struct udevice *dev, int offset, const char **namep);
  *
  * @dev:       Device to check
  * @offset:    Offset of device GPIO to check
- * @namep:     If non-NULL, this is set to the nane given when the GPIO
+ * @namep:     If non-NULL, this is set to the name given when the GPIO
  *             was requested, or -1 if it has not been requested
  * @return  -ENODATA if the driver returned an unknown function,
  * -ENODEV if the device is not active, -EINVAL if the offset is invalid.
@@ -231,7 +231,7 @@ struct fdtdec_phandle_args;
  * Also it would be useful to standardise additional functions like
  * pullup, slew rate and drive strength.
  *
- * gpio_request)( and gpio_free() are optional - if NULL then they will
+ * gpio_request() and gpio_free() are optional - if NULL then they will
  * not be called.
  *
  * Note that @offset is the offset from the base GPIO of the device. So
@@ -283,7 +283,7 @@ struct dm_gpio_ops {
         *
         * @dev:        GPIO device
         * @desc:       Place to put GPIO description
-        * @args:       Arguments provided in descripion
+        * @args:       Arguments provided in description
         * @return 0 if OK, -ve on error
         */
        int (*xlate)(struct udevice *dev, struct gpio_desc *desc,
@@ -333,6 +333,19 @@ struct gpio_dev_priv {
  */
 const char *gpio_get_bank_info(struct udevice *dev, int *offset_count);
 
+/**
+ * dm_gpio_lookup_name() - Look up a named GPIO and return its description
+ *
+ * The name of a GPIO is typically its bank name followed by a number from 0.
+ * For example A0 is the first GPIO in bank A. Each bank is a separate driver
+ * model device.
+ *
+ * @name:      Name to look up
+ * @desc:      Returns description, on success
+ * @return 0 if OK, -ve on error
+ */
+int dm_gpio_lookup_name(const char *name, struct gpio_desc *desc);
+
 /**
  * gpio_lookup_name - Look up a GPIO name and return its details
  *
@@ -410,7 +423,7 @@ int gpio_request_by_name(struct udevice *dev, const char *list_name,
 /**
  * gpio_request_list_by_name() - Request a list of GPIOs
  *
- * Reads all the GPIOs from a list and requetss them. See
+ * Reads all the GPIOs from a list and requests them. See
  * gpio_request_by_name() for additional details. Lists should not be
  * misused to hold unrelated or optional GPIOs. They should only be used
  * for things like parallel data lines. A zero phandle terminates the list
@@ -432,6 +445,18 @@ int gpio_request_list_by_name(struct udevice *dev, const char *list_name,
                              struct gpio_desc *desc_list, int max_count,
                              int flags);
 
+/**
+ * dm_gpio_request() - manually request a GPIO
+ *
+ * Note: This function should only be used for testing / debugging. Instead.
+ * use gpio_request_by_name() to pull GPIOs from the device tree.
+ *
+ * @desc:      GPIO description of GPIO to request (see dm_gpio_lookup_name())
+ * @label:     Label to attach to the GPIO while claimed
+ * @return 0 if OK, -ve on error
+ */
+int dm_gpio_request(struct gpio_desc *desc, const char *label);
+
 /**
  * gpio_get_list_count() - Returns the number of GPIOs in a list
  *
@@ -545,7 +570,7 @@ int dm_gpio_set_dir_flags(struct gpio_desc *desc, ulong flags);
 /**
  * gpio_get_number() - Get the global GPIO number of a GPIO
  *
- * This should only be used for debugging or interest. It returns the nummber
+ * This should only be used for debugging or interest. It returns the number
  * that should be used for gpio_get_value() etc. to access this GPIO.
  *
  * @desc:      GPIO description containing device, offset and flags,