summaryrefslogtreecommitdiffstats
path: root/arch/arm64/boot/dts/allwinner
diff options
context:
space:
mode:
authorChen-Yu Tsai <wens@csie.org>2017-12-02 00:27:33 +0800
committerMaxime Ripard <maxime.ripard@free-electrons.com>2017-12-08 10:39:53 +0100
commit36252668c14ca14691d40c3455849ac5d8a60b62 (patch)
tree8e6761917babbd00674f1190adb80b6075914a5f /arch/arm64/boot/dts/allwinner
parent916b68cfe4b52da348fe62cb01a9c37db16a3bfd (diff)
downloadop-kernel-dev-36252668c14ca14691d40c3455849ac5d8a60b62.zip
op-kernel-dev-36252668c14ca14691d40c3455849ac5d8a60b62.tar.gz
arm64: dts: allwinner: a64: bananapi-m64: Add LED device node
The Bananapi-M64 has 3 LEDS in red, green, and blue. These are toggled via GPIO lines, which drive transistors that control current across the LEDS. The red LED is by default on, via an additional pull-up on the control line. We consider this means that it is a power indicator. So we set the "default-on" property for it. The pingroups the GPIO lines belong to require external regulators be enabled to be able to drive the GPIO high. These regulators also have other purposes. However the pin controller does not have bindings for regulators. Here we just set them to always-on. Signed-off-by: Chen-Yu Tsai <wens@csie.org> Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Diffstat (limited to 'arch/arm64/boot/dts/allwinner')
-rw-r--r--arch/arm64/boot/dts/allwinner/sun50i-a64-bananapi-m64.dts36
1 files changed, 36 insertions, 0 deletions
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-bananapi-m64.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-bananapi-m64.dts
index 45bdbfb..1abb450 100644
--- a/arch/arm64/boot/dts/allwinner/sun50i-a64-bananapi-m64.dts
+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-bananapi-m64.dts
@@ -60,6 +60,26 @@
stdout-path = "serial0:115200n8";
};
+ leds {
+ compatible = "gpio-leds";
+
+ pwr-led {
+ label = "bananapi-m64:red:pwr";
+ gpios = <&pio 3 24 GPIO_ACTIVE_HIGH>; /* PD24 */
+ default-state = "on";
+ };
+
+ green {
+ label = "bananapi-m64:green:user";
+ gpios = <&pio 4 14 GPIO_ACTIVE_HIGH>; /* PE14 */
+ };
+
+ blue {
+ label = "bananapi-m64:blue:user";
+ gpios = <&pio 4 15 GPIO_ACTIVE_HIGH>; /* PE15 */
+ };
+ };
+
wifi_pwrseq: wifi_pwrseq {
compatible = "mmc-pwrseq-simple";
reset-gpios = <&r_pio 0 2 GPIO_ACTIVE_LOW>; /* PL2 */
@@ -152,6 +172,17 @@
#include "axp803.dtsi"
+&reg_aldo1 {
+ /*
+ * This regulator also drives the PE pingroup GPIOs,
+ * which also controls two LEDs.
+ */
+ regulator-always-on;
+ regulator-min-microvolt = <2800000>;
+ regulator-max-microvolt = <2800000>;
+ regulator-name = "afvcc-csi";
+};
+
&reg_aldo2 {
regulator-always-on;
regulator-min-microvolt = <1800000>;
@@ -167,6 +198,11 @@
};
&reg_dc1sw {
+ /*
+ * This regulator also indirectly drives the PD pingroup GPIOs,
+ * which also controls the power LED.
+ */
+ regulator-always-on;
regulator-name = "vcc-phy";
};
OpenPOWER on IntegriCloud