From a026d170386b9b43f5616d3a49669a89730bea27 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 6 Jan 2015 12:06:55 +0000 Subject: [PATCH] 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(-) diff --git a/arch/arm/boot/dts/bcm2708-rpi-b-plus.dts b/arch/arm/boot/dts/bcm2708-rpi-b-plus.dts index d9886c3c8e3b1e..95f03baf6fd8dc 100644 --- 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"; }; }; diff --git a/arch/arm/boot/dts/bcm2708-rpi-b.dts b/arch/arm/boot/dts/bcm2708-rpi-b.dts index 167b22bf4bdf07..0631f45f5e334e 100644 --- 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"; }; }; diff --git a/arch/arm/boot/dts/bcm2708.dtsi b/arch/arm/boot/dts/bcm2708.dtsi index 0a916a4045bcae..d8793167424bab 100644 --- 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 {