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 <[email protected]>
Cc: Pawel Moll <[email protected]>
Cc: Mark Rutland <[email protected]>
Cc: Ian Campbell <[email protected]>
Cc: Kumar Gala <[email protected]>
Cc: Russell King <[email protected]>
Cc: Kukjin Kim <[email protected]>
Cc: Krzysztof Kozlowski <[email protected]>
Cc: [email protected]
Cc: [email protected]
Cc: [email protected]
Signed-off-by: Martyn Welch <[email protected]>
---
 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 [email protected]
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