diff mbox

[v3] ARM: dts: exynos5422-odroidxu3: Hook up PWM and use it for LEDs

Message ID 843831qg6h.wl-peter.chubb@nicta.com.au (mailing list archive)
State New, archived
Headers show

Commit Message

Peter Chubb May 13, 2015, 4:01 a.m. UTC
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>
---
 arch/arm/boot/dts/exynos5422-odroidxu3.dts | 56 +++++++++++++++++++++---------
 1 file changed, 39 insertions(+), 17 deletions(-)

Comments

Krzysztof Kozlowski May 13, 2015, 1:17 p.m. UTC | #1
W dniu 13.05.2015 o 13:01, Peter Chubb pisze:
> 
> 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>
> ---
>  arch/arm/boot/dts/exynos5422-odroidxu3.dts | 56 +++++++++++++++++++++---------
>  1 file changed, 39 insertions(+), 17 deletions(-)
> 
> diff --git a/arch/arm/boot/dts/exynos5422-odroidxu3.dts b/arch/arm/boot/dts/exynos5422-odroidxu3.dts
> index f0ce60b..6f96b3d 100644
> --- a/arch/arm/boot/dts/exynos5422-odroidxu3.dts
> +++ b/arch/arm/boot/dts/exynos5422-odroidxu3.dts
> @@ -287,25 +287,35 @@
>  		status = "okay";
>  	};
>  
> -	leds {
> -		compatible = "gpio-leds";
> -		heartbeat {
> -			label = "blue:heartbeart";
> -			gpios = <&gpb2 2 0>;
> -			default-state = "off";
> -			linux,default-trigger = "heartbeat";
> -		};
> -
> -		eMMC {
> -			label = "green:eMMC";
> -			gpios = <&gpb2 1 0>;
> -			default-state = "off";
> -			linux,default-trigger = "mmc0";
> -		};
> +	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>; 

Please run checkpatch before sending a patch. Here you have trailing
whitespace error.

Additionally the indentation is broken in most of the lines - mixed tabs
with spaces. Just stick to the kernel coding convention - tabs (8
characters wide).

Best regards,
Krzysztof

--
To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Peter Chubb May 13, 2015, 11:14 p.m. UTC | #2
>>>>> "Krzysztof" == Krzysztof Kozlowski <k.kozlowski@samsung.com> writes:

Krzysztof> W dniu 13.05.2015 o 13:01, Peter Chubb pisze:

Krzysztof> Please run checkpatch before sending a patch. Here you have
Krzysztof> trailing whitespace error.

Arrgh --- thanks for spotting that.

Krzysztof> Additionally the indentation is broken in most of the lines
Krzysztof> - mixed tabs with spaces. Just stick to the kernel coding
Krzysztof> convention - tabs (8 characters wide).

And that.  I'm working on another project simultaneously that uses
4-space indent, and must have forgotten to reset Emacs's indent rules.

Krzysztof> Best regards, Krzysztof

V4 coming soon.
--
Dr Peter Chubb				        peter.chubb AT nicta.com.au
http://www.ssrg.nicta.com.au          Software Systems Research Group/NICTA
--
To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/arch/arm/boot/dts/exynos5422-odroidxu3.dts b/arch/arm/boot/dts/exynos5422-odroidxu3.dts
index f0ce60b..6f96b3d 100644
--- a/arch/arm/boot/dts/exynos5422-odroidxu3.dts
+++ b/arch/arm/boot/dts/exynos5422-odroidxu3.dts
@@ -287,25 +287,35 @@ 
 		status = "okay";
 	};
 
-	leds {
-		compatible = "gpio-leds";
-		heartbeat {
-			label = "blue:heartbeart";
-			gpios = <&gpb2 2 0>;
-			default-state = "off";
-			linux,default-trigger = "heartbeat";
-		};
-
-		eMMC {
-			label = "green:eMMC";
-			gpios = <&gpb2 1 0>;
-			default-state = "off";
-			linux,default-trigger = "mmc0";
-		};
+	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";
+	     };
+
+	     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";
 		};
@@ -415,3 +425,15 @@ 
 		shunt-resistor = <10000>;
 	};
 };
+
+&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";
+};