diff mbox

[v2] ARM: dts: Odroid XU3 -- Hook up PWM and use it for LEDs

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

Commit Message

Peter Chubb May 12, 2015, 12:29 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

Signed-off-by: Peter Chubb <peter.chubb@nicta.com.au>
---
 arch/arm/boot/dts/exynos5422-odroidxu3.dts | 58 +++++++++++++++++++++---------
 1 file changed, 41 insertions(+), 17 deletions(-)

--
2.1.4



--
Dr Peter Chubb                                  peter.chubb AT nicta.com.au
http://www.ssrg.nicta.com.au          Software Systems Research Group/NICTA

Comments

Krzysztof Kozlowski May 12, 2015, 2:32 a.m. UTC | #1
2015-05-12 9:29 GMT+09:00 Peter Chubb <peter.chubb@nicta.com.au>:
>
> 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
>
> Signed-off-by: Peter Chubb <peter.chubb@nicta.com.au>

The patch looks good (although a tested-by from someone would be nice):
Acked-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>

The subject should be something like
 - ARM: dts: exynos5422-odroidxu3: Hook up PWM and use it for LEDs
 - ARM: dts: Hook up PWM and use it for LEDs in exynos5422-odroidxu3

but that can be fixed when applying, so no need to resend.

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
Krzysztof Kozlowski May 12, 2015, 3:26 a.m. UTC | #2
On 12.05.2015 09:29, Peter Chubb wrote:
> 
> 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
> 
> Signed-off-by: Peter Chubb <peter.chubb@nicta.com.au>
> ---
>  arch/arm/boot/dts/exynos5422-odroidxu3.dts | 58 +++++++++++++++++++++---------
>  1 file changed, 41 insertions(+), 17 deletions(-)
> 
> diff --git a/arch/arm/boot/dts/exynos5422-odroidxu3.dts b/arch/arm/boot/dts/exynos5422-odroidxu3.dts
> index 026f83e..095282b 100644
> --- a/arch/arm/boot/dts/exynos5422-odroidxu3.dts
> +++ b/arch/arm/boot/dts/exynos5422-odroidxu3.dts
> @@ -13,6 +13,7 @@
>  /dts-v1/;
>  #include <dt-bindings/gpio/gpio.h>
>  #include "exynos5800.dtsi"
> +#include <dt-bindings/gpio/gpio.h>

Errr, probably a leftover after rebasing... please fix it up.

> 
>  / {
>         model = "Hardkernel Odroid XU3";
> @@ -287,25 +288,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";
>                 };
> @@ -411,3 +422,16 @@
>                 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";
> +};
> +
> --
> 2.1.4
> 
> 
> 
> --
> Dr Peter Chubb                                  peter.chubb AT nicta.com.au
> http://www.ssrg.nicta.com.au          Software Systems Research Group/NICTA
> 
> ________________________________
> 
> The information in this e-mail may be confidential and subject to legal professional privilege and/or copyright. National ICT Australia Limited accepts no liability for any damage caused by this email or its attachments.
> 

Please remove this footer from email. If this patch is confidential,
should I apply it? I don't want to apply confidential patches...

Additionally there is something wrong with your mailer because it sets
the date from the patchset, so this email has the same date as v1. So
the email ended not at the top of mail mailbox. Are you using git
send-email?

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
kgene@kernel.org May 12, 2015, 5:47 p.m. UTC | #3
On 05/12/15 09:29, Peter Chubb wrote:
> 
> 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

don't use '--' can occur some confusing in git... just '-' is enough.

>       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

the purpose of this patch looks good, but there are small comments.

> 
> Signed-off-by: Peter Chubb <peter.chubb@nicta.com.au>
> ---
>  arch/arm/boot/dts/exynos5422-odroidxu3.dts | 58 +++++++++++++++++++++---------
>  1 file changed, 41 insertions(+), 17 deletions(-)
> 
> diff --git a/arch/arm/boot/dts/exynos5422-odroidxu3.dts b/arch/arm/boot/dts/exynos5422-odroidxu3.dts
> index 026f83e..095282b 100644
> --- a/arch/arm/boot/dts/exynos5422-odroidxu3.dts
> +++ b/arch/arm/boot/dts/exynos5422-odroidxu3.dts
> @@ -13,6 +13,7 @@
>  /dts-v1/;
>  #include <dt-bindings/gpio/gpio.h>
>  #include "exynos5800.dtsi"
> +#include <dt-bindings/gpio/gpio.h>

Don't add same inclusion.

> 
>  / {
>         model = "Hardkernel Odroid XU3";
> @@ -287,25 +288,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";
>                 };

I need to check about gpx2-3...

> @@ -411,3 +422,16 @@
>                 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";
> +};
> +

Please don't add last empty line.

> --
> 2.1.4
--
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 026f83e..095282b 100644
--- a/arch/arm/boot/dts/exynos5422-odroidxu3.dts
+++ b/arch/arm/boot/dts/exynos5422-odroidxu3.dts
@@ -13,6 +13,7 @@ 
 /dts-v1/;
 #include <dt-bindings/gpio/gpio.h>
 #include "exynos5800.dtsi"
+#include <dt-bindings/gpio/gpio.h>

 / {
        model = "Hardkernel Odroid XU3";
@@ -287,25 +288,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";
                };
@@ -411,3 +422,16 @@ 
                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";
+};
+