The peach pi has a GPIO connected to the firmware write protect, developer
mode and recovery mode lines. This patch adds the required nodes to the
device tree to configure the pinmuxing and allow these to be read from
user space.

Cc: Rob Herring <robh...@kernel.org>
Cc: Pawel Moll <pawel.m...@arm.com>
Cc: Mark Rutland <mark.rutl...@arm.com>
Cc: Ian Campbell <ijc+devicet...@hellion.org.uk>
Cc: Kumar Gala <ga...@codeaurora.org>
Cc: Russell King <li...@arm.linux.org.uk>
Cc: Kukjin Kim <kg...@kernel.org>
Cc: Krzysztof Kozlowski <k.kozlow...@samsung.com>
Cc: devicet...@vger.kernel.org
Cc: linux-arm-ker...@lists.infradead.org
Cc: linux-samsung-...@vger.kernel.org
Signed-off-by: Martyn Welch <martyn.we...@collabora.co.uk>
---
 arch/arm/boot/dts/exynos5800-peach-pi.dts | 40 +++++++++++++++++++++++++++++++
 1 file changed, 40 insertions(+)

diff --git a/arch/arm/boot/dts/exynos5800-peach-pi.dts 
b/arch/arm/boot/dts/exynos5800-peach-pi.dts
index 49a4f43..485c18f 100644
--- a/arch/arm/boot/dts/exynos5800-peach-pi.dts
+++ b/arch/arm/boot/dts/exynos5800-peach-pi.dts
@@ -53,6 +53,25 @@
                };
        };
 
+       chromeos-firmware {
+               compatible = "google,gpio-firmware";
+
+               pinctrl-names = "default";
+               pinctrl-0 = <&wp_gpio &dev_mode &rec_mode>;
+
+               write-protect {
+                       gpios = <&gpx3 0 GPIO_ACTIVE_LOW>;
+               };
+
+               developer-switch {
+                       gpios = <&gpx1 3 GPIO_ACTIVE_HIGH>;
+               };
+
+               recovery-switch {
+                       gpios = <&gpx0 7 GPIO_ACTIVE_LOW>;
+               };
+       };
+
        gpio-keys {
                compatible = "gpio-keys";
 
@@ -731,6 +750,13 @@
                samsung,pin-val = <0>;
        };
 
+       rec_mode: rec-mode {
+               samsung,pins = "gpx0-7";
+               samsung,pin-function = <0>;
+               samsung,pin-pud = <0>;
+               samsung,pin-drv = <0>;
+       };
+
        tpm_irq: tpm-irq {
                samsung,pins = "gpx1-0";
                samsung,pin-function = <0>;
@@ -752,6 +778,13 @@
                samsung,pin-drv = <0>;
        };
 
+       dev_mode: dev-mode {
+               samsung,pins = "gpx1-3";
+               samsung,pin-function = <0>;
+               samsung,pin-pud = <3>;
+               samsung,pin-drv = <0>;
+       };
+
        ec_irq: ec-irq {
                samsung,pins = "gpx1-5";
                samsung,pin-function = <0>;
@@ -773,6 +806,13 @@
                samsung,pin-drv = <0>;
        };
 
+       wp_gpio: wp_gpio {
+               samsung,pins = "gpx3-0";
+               samsung,pin-function = <0>;
+               samsung,pin-pud = <0>;
+               samsung,pin-drv = <0>;
+       };
+
        max77802_irq: max77802-irq {
                samsung,pins = "gpx3-1";
                samsung,pin-function = <0>;
-- 
2.1.4

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to