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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Peter,

On 14/05/2015, Peter Chubb <peter.chubb@xxxxxxxxxxxx> 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
>
> Acked-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx>
> Signed-off-by: Peter Chubb <peter.chubb@xxxxxxxxxxxx>
> ---
>  arch/arm/boot/dts/exynos5422-odroidxu3.dts | 50
> +++++++++++++++++++++---------
>  1 file changed, 36 insertions(+), 14 deletions(-)
>
> diff --git a/arch/arm/boot/dts/exynos5422-odroidxu3.dts
> b/arch/arm/boot/dts/exynos5422-odroidxu3.dts
> index f0ce60b..0c62156 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";
> +	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";
>  		};
> @@ -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";
> +};
> --
> 2.1.4
>
> --
> Dr Peter Chubb				        peter.chubb AT nicta.com.au
> http://www.ssrg.nicta.com.au          Software Systems Research Group/NICTA

I wonder how PWM can be enabled on the odroidxu3 board.

I could not find the node getting populated in the /sys/class/leds/

root@odroidxu3:l# la -la   /sys/class/leds/
total 0
drwxr-xr-x  2 root root 0 Jul 31 04:56 .
drwxr-xr-x 47 root root 0 Jul 31 04:56 ..
lrwxrwxrwx  1 root root 0 Jul 31 04:56 red:microSD ->
../../devices/platform/gpioleds/leds/red:microSD

Well I have enable. following  config options in .config.

CONFIG_LEDS_CLASS=y
CONFIG_LEDS_GPIO=y
CONFIG_LEDS_PWM=m
CONFIG_LEDS_SYSCON=y
# CONFIG_LEDS_PM8941_WLED is not set
CONFIG_LEDS_TRIGGERS=y
CONFIG_LEDS_TRIGGER_TIMER=y
CONFIG_LEDS_TRIGGER_ONESHOT=y
CONFIG_LEDS_TRIGGER_HEARTBEAT=y
CONFIG_LEDS_TRIGGER_BACKLIGHT=y
# CONFIG_LEDS_TRIGGER_CPU is not set
CONFIG_LEDS_TRIGGER_GPIO=y
CONFIG_LEDS_TRIGGER_DEFAULT_ON=y
CONFIG_LEDS_TRIGGER_TRANSIENT=y
# CONFIG_LEDS_TRIGGER_CAMERA is not set

Please let me know if I am missing some thing.

-Anand Moon
> --
> To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc"
> in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>
--
To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux SoC Development]     [Linux Rockchip Development]     [Linux USB Development]     [Video for Linux]     [Linux Audio Users]     [Linux SCSI]     [Yosemite News]

  Powered by Linux