ARM: dts: exynos5422-odroidxu3: Hook up PWM and use it for LEDs
authorPeter Chubb <peter.chubb@nicta.com.au>
Wed, 13 May 2015 23:57:56 +0000 (09:57 +1000)
committerKukjin Kim <kgene@kernel.org>
Wed, 3 Jun 2015 00:56:46 +0000 (09:56 +0900)
PWM output wasn't working because it wasn't hooked up to its pincontrol.
This patch:
   - hooks up PWM to its pincontrol, and documents what
     the outputs are on the XU3
   - switches the LEDs that are on PWM outputs to use PWM
     rather than GPIO.

The main effect is that the brightness of the LEDs can be controlled, and
user-mode fan control is enabled via /sys/class/pwm

Acked-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
Signed-off-by: Peter Chubb <peter.chubb@nicta.com.au>
Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
Signed-off-by: Kukjin Kim <kgene@kernel.org>
arch/arm/boot/dts/exynos5422-odroidxu3.dts

index 6403757011bae7c8b9d66835e15d7edc7fda9a1f..10007bd4465246f9814cf98bf91969046952bcb8 100644 (file)
                };
        };
 
-       leds {
-               compatible = "gpio-leds";
-               heartbeat {
-                       label = "blue:heartbeart";
-                       gpios = <&gpb2 2 0>;
-                       default-state = "off";
-                       linux,default-trigger = "heartbeat";
+       pwmleds {
+               compatible = "pwm-leds";
+
+               greenled {
+                       label = "green:mmc0";
+                       pwms = <&pwm 1 2000000 0>;
+                       pwm-names = "pwm1";
+                       /*
+                        * Green LED is much brighter than the others
+                        * so limit its max brightness
+                        */
+                       max_brightness = <127>;
+                       linux,default-trigger = "mmc0";
                };
 
-               eMMC {
-                       label = "green:eMMC";
-                       gpios = <&gpb2 1 0>;
-                       default-state = "off";
-                       linux,default-trigger = "mmc0";
+               blueled {
+                       label = "blue:heartbeat";
+                       pwms = <&pwm 2 2000000 0>;
+                       pwm-names = "pwm2";
+                       max_brightness = <255>;
+                       linux,default-trigger = "heartbeat";
                };
+       };
 
-               microSD {
+       gpioleds {
+               compatible = "gpio-leds";
+               redled {
                        label = "red:microSD";
-                       gpios = <&gpx2 3 0>;
+                       gpios = <&gpx2 3 GPIO_ACTIVE_HIGH>;
                        default-state = "off";
                        linux,default-trigger = "mmc1";
                };
        };
 };
 
+&pwm {
+       /*
+        * PWM 0 -- fan
+        * PWM 1 -- Green LED
+        * PWM 2 -- Blue LED
+        * PWM 3 -- on MIPI connector for backlight
+        */
+       pinctrl-0 = <&pwm0_out &pwm1_out &pwm2_out &pwm3_out>;
+       pinctrl-names = "default";
+       status = "okay";
+};
+
 &rtc {
        status = "okay";
        clocks = <&clock CLK_RTC>, <&s2mps11_osc S2MPS11_CLK_AP>;