Mailing List Archive

[PATCH v2 4/4] ARM: dts: qcom: pm8941: Add nodes for QCOM SPMI Flash LEDs
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 {
+ 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;
+ };
+ };
};
};
--
2.30.0
Re: [PATCH v2 4/4] ARM: dts: qcom: pm8941: Add nodes for QCOM SPMI Flash LEDs [ In reply to ]
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
>
>