Message ID | 1371473826-2595-1-git-send-email-l.krishna@samsung.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Monday 17 of June 2013 18:27:06 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@samsung.com> > Reviewed-by: Doug Anderson <dianders@chromium.org> > --- > .../bindings/pinctrl/samsung-pinctrl.txt | 44 > +++++++++++++++++++- 1 file changed, 42 insertions(+), 2 deletions(-) Looks good. Reviewed-by: Tomasz Figa <t.figa@samsung.com> Best regards, Tomasz > diff --git a/Documentation/devicetree/bindings/pinctrl/samsung-pinctrl.txt > b/Documentation/devicetree/bindings/pinctrl/samsung-pinctrl.txt index > b2bc219..72e9cd1 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,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"); > + /* ... */ > + } -- To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Mon, Jun 17, 2013 at 2:57 PM, Leela Krishna Amudala <l.krishna@samsung.com> 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@samsung.com> > Reviewed-by: Doug Anderson <dianders@chromium.org> Looks like generic GPIO bindings. Acked-by: Linus Walleij <linus.walleij@linaro.org> Yours, Linus Walleij -- To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On 06/18/13 01:21, Linus Walleij wrote: > On Mon, Jun 17, 2013 at 2:57 PM, Leela Krishna Amudala > <l.krishna@samsung.com> 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@samsung.com> >> Reviewed-by: Doug Anderson<dianders@chromium.org> > > Looks like generic GPIO bindings. > Acked-by: Linus Walleij<linus.walleij@linaro.org> > Applied, thanks. - Kukjin -- To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/Documentation/devicetree/bindings/pinctrl/samsung-pinctrl.txt b/Documentation/devicetree/bindings/pinctrl/samsung-pinctrl.txt index b2bc219..72e9cd1 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,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"); + /* ... */ + }