Documentation: Add examples to samsung-pinctrl device tree bindings documentation
authorLeela Krishna Amudala <l.krishna@samsung.com>
Mon, 17 Jun 2013 21:58:48 +0000 (06:58 +0900)
committerKukjin Kim <kgene.kim@samsung.com>
Mon, 17 Jun 2013 21:58:48 +0000 (06:58 +0900)
This patch adds examples to samsung-pinctrl.txt documentaion file
on how to make gpio binding and gpio request

Signed-off-by: Leela Krishna Amudala <l.krishna@samsung.com>
Reviewed-by: Doug Anderson <dianders@chromium.org>
Reviewed-by: Tomasz Figa <t.figa@samsung.com>
Acked-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
Documentation/devicetree/bindings/pinctrl/samsung-pinctrl.txt

index c70fca1..e15cfc4 100644 (file)
@@ -21,8 +21,18 @@ Required Properties:
 
   - gpio-controller: identifies the node as a gpio controller and pin bank.
   - #gpio-cells: number of cells in GPIO specifier. Since the generic GPIO
-    binding is used, the amount of cells must be specified as 2. See generic
-    GPIO binding documentation for description of particular cells.
+    binding is used, the amount of cells must be specified as 2. See the below
+    mentioned gpio binding representation for description of particular cells.
+
+       Eg: <&gpx2 6 0>
+       <[phandle of the gpio controller node]
+       [pin number within the gpio controller]
+       [flags]>
+
+       Values for gpio specifier:
+       - Pin number: is a value between 0 to 7.
+       - Flags: 0 - Active High
+                1 - Active Low
 
 - Pin mux/config groups as child nodes: The pin mux (selecting pin function
   mode) and pin config (pull up/down, driver strength) settings are represented
@@ -266,3 +276,33 @@ Example 4: Set up the default pin state for uart controller.
 
                pinctrl = devm_pinctrl_get_select_default(&pdev->dev);
        }
+
+Example 5: A display port client node that supports 'default' pinctrl state
+          and gpio binding.
+
+       display-port-controller {
+               /* ... */
+
+               samsung,hpd-gpio = <&gpx2 6 0>;
+               pinctrl-names = "default";
+               pinctrl-0 = <&dp_hpd>;
+       };
+
+Example 6: Request the gpio for display port controller
+
+       static int exynos_dp_probe(struct platform_device *pdev)
+       {
+               int hpd_gpio, ret;
+               struct device *dev = &pdev->dev;
+               struct device_node *dp_node = dev->of_node;
+
+               /* ... */
+
+               hpd_gpio = of_get_named_gpio(dp_node, "samsung,hpd-gpio", 0);
+
+               /* ... */
+
+               ret = devm_gpio_request_one(&pdev->dev, hpd_gpio, GPIOF_IN,
+                                           "hpd_gpio");
+               /* ... */
+       }