mirror of
https://github.com/torvalds/linux.git
synced 2024-12-02 00:51:44 +00:00
Documentation: Add examples to samsung-pinctrl device tree bindings documentation
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>
This commit is contained in:
parent
de39310ddf
commit
c91f2a03cf
@ -21,8 +21,18 @@ Required Properties:
|
|||||||
|
|
||||||
- gpio-controller: identifies the node as a gpio controller and pin bank.
|
- gpio-controller: identifies the node as a gpio controller and pin bank.
|
||||||
- #gpio-cells: number of cells in GPIO specifier. Since the generic GPIO
|
- #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
|
binding is used, the amount of cells must be specified as 2. See the below
|
||||||
GPIO binding documentation for description of particular cells.
|
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
|
- 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
|
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);
|
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");
|
||||||
|
/* ... */
|
||||||
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user