diff mbox series

[v2,4/4] ARM: dts: qcom: pm8941: Add nodes for QCOM SPMI Flash LEDs

Message ID 20210126140240.1517044-5-nfraprado@protonmail.com
State New
Headers show
Series Add support for QCOM SPMI Flash LEDs | expand

Commit Message

Nícolas F. R. A. Prado Jan. 26, 2021, 2:06 p.m. UTC
Add the necessary devicetree nodes for the Qualcomm SPMI Flash LEDs
present in PM8941.

Signed-off-by: Nícolas F. R. A. Prado <nfraprado@protonmail.com>
---
Changes in v2:
- Moved from hammerhead dts to pm8941 dtsi, as it was this way downstream
- Now using values from leds-qcom-spmi-flash.h

 arch/arm/boot/dts/qcom-pm8941.dtsi | 38 ++++++++++++++++++++++++++++++
 1 file changed, 38 insertions(+)

Comments

Bjorn Andersson Jan. 27, 2021, 2:32 p.m. UTC | #1
On Tue 26 Jan 08:06 CST 2021, N?colas F. R. A. Prado wrote:

> Add the necessary devicetree nodes for the Qualcomm SPMI Flash LEDs

> present in PM8941.

> 

> Signed-off-by: Nícolas F. R. A. Prado <nfraprado@protonmail.com>

> ---

> Changes in v2:

> - Moved from hammerhead dts to pm8941 dtsi, as it was this way downstream

> - Now using values from leds-qcom-spmi-flash.h

> 

>  arch/arm/boot/dts/qcom-pm8941.dtsi | 38 ++++++++++++++++++++++++++++++

>  1 file changed, 38 insertions(+)

> 

> diff --git a/arch/arm/boot/dts/qcom-pm8941.dtsi b/arch/arm/boot/dts/qcom-pm8941.dtsi

> index c1f2012d1c8b..89309d3c777c 100644

> --- a/arch/arm/boot/dts/qcom-pm8941.dtsi

> +++ b/arch/arm/boot/dts/qcom-pm8941.dtsi

> @@ -2,6 +2,8 @@

>  #include <dt-bindings/iio/qcom,spmi-vadc.h>

>  #include <dt-bindings/interrupt-controller/irq.h>

>  #include <dt-bindings/spmi/spmi.h>

> +#include <dt-bindings/leds/common.h>

> +#include <dt-bindings/leds/leds-qcom-spmi-flash.h>

>  

>  &spmi_bus {

>  

> @@ -189,5 +191,41 @@ pm8941_5vs2: 5vs2 {

>  				regulator-initial-mode = <1>;

>  			};

>  		};

> +

> +		qcom,spmi-flash@d300 {


Please avoid "qcom," in the node names.

> +			status = "okay";


The "default" status is "okay", so no need to specify that if you're not
disabling it. That said, there are 8974 devices without flash LED...

> +

> +			compatible = "qcom,spmi-flash";

> +			reg = <0xd300 0x100>;

> +			flash-boost-supply = <&pm8941_5vs1>;

> +			torch-boost-supply = <&pm8941_5v>;

> +			pm8941_flash0: led0 {

> +				led-sources = <0>;

> +				function = LED_FUNCTION_FLASH;

> +				color = <LED_COLOR_ID_WHITE>;

> +				led-max-microamp = <200000>;

> +				flash-max-microamp = <1000000>;

> +				flash-max-timeout-us = <1280000>;

> +				default-state = "off";

> +				qcom,clamp-curr = <200000>;

> +				qcom,headroom = <QCOM_SPMI_FLASH_HEADROOM_500MV>;

> +				qcom,startup-dly = <QCOM_SPMI_FLASH_STARTUP_DLY_128US>;

> +				qcom,safety-timer;


...and I would expect that at least some of these properties should be
tweaked/tuned/reviewed for each device.

So it would probably be a good idea to make the spmi-flash status
"disabled" and move some of these properties to the product .dts.

Regards,
Bjorn

> +			};

> +

> +			pm8941_flash1: led1 {

> +				led-sources = <1>;

> +				function = LED_FUNCTION_FLASH;

> +				color = <LED_COLOR_ID_WHITE>;

> +				led-max-microamp = <200000>;

> +				flash-max-microamp = <1000000>;

> +				flash-max-timeout-us = <1280000>;

> +				default-state = "off";

> +				qcom,clamp-curr = <200000>;

> +				qcom,headroom = <QCOM_SPMI_FLASH_HEADROOM_500MV>;

> +				qcom,startup-dly = <QCOM_SPMI_FLASH_STARTUP_DLY_128US>;

> +				qcom,safety-timer;

> +			};

> +		};

>  	};

>  };

> -- 

> 2.30.0

> 

>
diff mbox series

Patch

diff --git a/arch/arm/boot/dts/qcom-pm8941.dtsi b/arch/arm/boot/dts/qcom-pm8941.dtsi
index c1f2012d1c8b..89309d3c777c 100644
--- a/arch/arm/boot/dts/qcom-pm8941.dtsi
+++ b/arch/arm/boot/dts/qcom-pm8941.dtsi
@@ -2,6 +2,8 @@ 
 #include <dt-bindings/iio/qcom,spmi-vadc.h>
 #include <dt-bindings/interrupt-controller/irq.h>
 #include <dt-bindings/spmi/spmi.h>
+#include <dt-bindings/leds/common.h>
+#include <dt-bindings/leds/leds-qcom-spmi-flash.h>
 
 &spmi_bus {
 
@@ -189,5 +191,41 @@  pm8941_5vs2: 5vs2 {
 				regulator-initial-mode = <1>;
 			};
 		};
+
+		qcom,spmi-flash@d300 {
+			status = "okay";
+
+			compatible = "qcom,spmi-flash";
+			reg = <0xd300 0x100>;
+			flash-boost-supply = <&pm8941_5vs1>;
+			torch-boost-supply = <&pm8941_5v>;
+			pm8941_flash0: led0 {
+				led-sources = <0>;
+				function = LED_FUNCTION_FLASH;
+				color = <LED_COLOR_ID_WHITE>;
+				led-max-microamp = <200000>;
+				flash-max-microamp = <1000000>;
+				flash-max-timeout-us = <1280000>;
+				default-state = "off";
+				qcom,clamp-curr = <200000>;
+				qcom,headroom = <QCOM_SPMI_FLASH_HEADROOM_500MV>;
+				qcom,startup-dly = <QCOM_SPMI_FLASH_STARTUP_DLY_128US>;
+				qcom,safety-timer;
+			};
+
+			pm8941_flash1: led1 {
+				led-sources = <1>;
+				function = LED_FUNCTION_FLASH;
+				color = <LED_COLOR_ID_WHITE>;
+				led-max-microamp = <200000>;
+				flash-max-microamp = <1000000>;
+				flash-max-timeout-us = <1280000>;
+				default-state = "off";
+				qcom,clamp-curr = <200000>;
+				qcom,headroom = <QCOM_SPMI_FLASH_HEADROOM_500MV>;
+				qcom,startup-dly = <QCOM_SPMI_FLASH_STARTUP_DLY_128US>;
+				qcom,safety-timer;
+			};
+		};
 	};
 };