From 31b85ba13aa394c98f2d6955b55f3f9a0623c14d Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Tue, 6 Jan 2015 12:06:55 +0000
Subject: [PATCH 069/114] Fix the activity LED in DT mode

Add a "leds" node to the base DTBs, and a subnode for the activity
LED. You can change the LED function like this:

  dtparam=act_led_trigger=heartbeat

Add aliases for the other main nodes (soc, intc).

Issue: linux #757
---
 arch/arm/boot/dts/bcm2708-rpi-b-plus.dts | 18 ++++++++++++++----
 arch/arm/boot/dts/bcm2708-rpi-b.dts      | 18 ++++++++++++++----
 arch/arm/boot/dts/bcm2708.dtsi           | 11 ++++++++++-
 3 files changed, 38 insertions(+), 9 deletions(-)

--- a/arch/arm/boot/dts/bcm2708-rpi-b-plus.dts
+++ b/arch/arm/boot/dts/bcm2708-rpi-b-plus.dts
@@ -7,11 +7,14 @@
 	model = "Raspberry Pi Model B+";
 
 	aliases {
+		soc = &soc;
 		spi0 = &spi0;
 		i2c0 = &i2c0;
 		i2c1 = &i2c1;
 		i2s  = &i2s;
 		gpio = &gpio;
+		intc = &intc;
+		leds = &leds;
 		sound = &sound;
 	};
 
@@ -80,12 +83,19 @@
 	pinctrl-0 = <&i2s_pins>;
 };
 
+&act_led {
+	gpios = <&gpio 47 0>;
+};
 
 / {
 	__overrides__ {
-		    i2s = <&i2s>,"status";
-		    spi = <&spi0>,"status";
-		    i2c0 = <&i2c0>,"status";
-		    i2c1 = <&i2c1>,"status";
+		i2s = <&i2s>,"status";
+		spi = <&spi0>,"status";
+		i2c0 = <&i2c0>,"status";
+		i2c1 = <&i2c1>,"status";
+
+		act_led_gpio = <&act_led>,"gpios:4";
+		act_led_activelow = <&act_led>,"gpios:8";
+		act_led_trigger = <&act_led>,"linux,default-trigger";
 	};
 };
--- a/arch/arm/boot/dts/bcm2708-rpi-b.dts
+++ b/arch/arm/boot/dts/bcm2708-rpi-b.dts
@@ -7,11 +7,14 @@
 	model = "Raspberry Pi Model B";
 
 	aliases {
+		soc = &soc;
 		spi0 = &spi0;
 		i2c0 = &i2c0;
 		i2c1 = &i2c1;
 		i2s  = &i2s;
 		gpio = &gpio;
+		intc = &intc;
+		leds = &leds;
 		sound = &sound;
 	};
 
@@ -80,12 +83,19 @@
 	pinctrl-0 = <&i2s_pins>;
 };
 
+&act_led {
+	gpios = <&gpio 16 1>;
+};
 
 / {
 	__overrides__ {
-		    i2s = <&i2s>,"status";
-		    spi = <&spi0>,"status";
-		    i2c0 = <&i2c0>,"status";
-		    i2c1 = <&i2c1>,"status";
+		i2s = <&i2s>,"status";
+		spi = <&spi0>,"status";
+		i2c0 = <&i2c0>,"status";
+		i2c1 = <&i2c1>,"status";
+
+		act_led_gpio = <&act_led>,"gpios:4";
+		act_led_activelow = <&act_led>,"gpios:8";
+		act_led_trigger = <&act_led>,"linux,default-trigger";
 	};
 };
--- a/arch/arm/boot/dts/bcm2708.dtsi
+++ b/arch/arm/boot/dts/bcm2708.dtsi
@@ -11,7 +11,7 @@
 		bootargs = "";
 	};
 
-	soc {
+	soc: soc {
 		compatible = "simple-bus";
 		#address-cells = <1>;
 		#size-cells = <1>;
@@ -76,6 +76,15 @@
 			#size-cells = <0>;
 			status = "disabled";
 		};
+
+		leds: leds {
+			compatible = "gpio-leds";
+
+			act_led: act {
+				label = "ACT";
+				linux,default-trigger = "mmc0";
+			};
+		};
 	};
 
 	clocks {
