[PATCH] Documentation: Add examples to samsung-pinctrl device tree bindings documentation
Tomasz Figa
t.figa at samsung.com
Mon Jun 17 22:10:26 EST 2013
Hi Leela,
On Monday 17 of June 2013 16:14:55 Leela Krishna Amudala wrote:
> 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 at samsung.com>
> Reviewed-by: Doug Anderson <dianders at chromium.org>
> ---
> .../bindings/pinctrl/samsung-pinctrl.txt | 48
> +++++++++++++++++++- 1 file changed, 46 insertions(+), 2 deletions(-)
>
> diff --git a/Documentation/devicetree/bindings/pinctrl/samsung-pinctrl.txt
> b/Documentation/devicetree/bindings/pinctrl/samsung-pinctrl.txt index
> b2bc219..f1cf177 100644
> --- a/Documentation/devicetree/bindings/pinctrl/samsung-pinctrl.txt
> +++ b/Documentation/devicetree/bindings/pinctrl/samsung-pinctrl.txt
> @@ -25,8 +25,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 @@ -274,3 +284,37 @@ 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,color-space = <0>;
> + samsung,dynamic-range = <0>;
> + samsung,ycbcr-coeff = <0>;
> + samsung,color-depth = <1>;
> + samsung,link-rate = <0x06>;
> + samsung,lane-count = <2>;
Maybe it would be better to omit those properties above for readability of the
example? Just like you did with example 6.
But generally it's a good addition to our documentation. Thanks.
Best regards,
Tomasz
> + 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");
> + /* ... */
> + }
More information about the devicetree-discuss
mailing list