[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