Skip to content

Commit

Permalink
Documentation: Add examples to samsung-pinctrl device tree bindings d…
Browse files Browse the repository at this point in the history
…ocumentation

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>
  • Loading branch information
Leela Krishna Amudala authored and Kukjin Kim committed Jun 17, 2013
1 parent de39310 commit c91f2a0
Showing 1 changed file with 42 additions and 2 deletions.
44 changes: 42 additions & 2 deletions Documentation/devicetree/bindings/pinctrl/samsung-pinctrl.txt
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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");
/* ... */
}

0 comments on commit c91f2a0

Please sign in to comment.