summaryrefslogtreecommitdiffstats
path: root/Documentation/devicetree/bindings/pinctrl
diff options
context:
space:
mode:
authorArnd Bergmann <arnd@arndb.de>2013-06-20 22:17:38 +0200
committerArnd Bergmann <arnd@arndb.de>2013-06-20 22:17:38 +0200
commit6f9543f158a1068a69cf8ed0ef423f96f38205e0 (patch)
treebf49fd924901414c418e5bf643c40e913b4d520a /Documentation/devicetree/bindings/pinctrl
parent15f4b11b0fa91cf81738215483b2bb2c0b911285 (diff)
parent5f13269130d6798571ffbd9d84dbef0950984c5b (diff)
Merge tag 'exynos-dt-2' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung into next/dt
From Kukjin Kim: 2nd exynos dt update based on tags/exynos-dt-1 - enable RTC on exynos5250 snow and Arndale boards - add support LCD and PWM for exynos4210 Origen board - update bootargs to support 8GiB for exynos5440 SSDK5440 and SD5v1 boards - enable spi and add opp level for exynos5440 - add example doc for samsung-pinctrl dt bindings * tag 'exynos-dt-2' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung: ARM: dts: Set BUCK7 as always on for Origen board ARM: dts: Add FIMD node to Origen4210 board ARM: dts: Add LCD related pinctrl entries for exynos4210 ARM: dts: Add PWM related pinctrl entries for exynos4210 Documentation: Add examples to samsung-pinctrl device tree bindings documentation ARM: dts: Enable RTC node for exynos5250-snow ARM: dts: Enable RTC node for Arndale ARM: dts: Removing pdma for exynos5440 ARM: dts: update bootargs to support 8GiB for SSDK5440 and SD5v1 ARM: dts: Add more opp levels in exynos5440 ARM: dts: Add wm8994 regulator support on smdk5250 ARM: dts: enable spi for EXYNOS5440 SOC Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Diffstat (limited to 'Documentation/devicetree/bindings/pinctrl')
-rw-r--r--Documentation/devicetree/bindings/pinctrl/samsung-pinctrl.txt44
1 files changed, 42 insertions, 2 deletions
diff --git a/Documentation/devicetree/bindings/pinctrl/samsung-pinctrl.txt b/Documentation/devicetree/bindings/pinctrl/samsung-pinctrl.txt
index c70fca146e9..e15cfc4bb39 100644
--- a/Documentation/devicetree/bindings/pinctrl/samsung-pinctrl.txt
+++ b/Documentation/devicetree/bindings/pinctrl/samsung-pinctrl.txt
@@ -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
@@ -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");
+ /* ... */
+ }