arm64: dts: qcom: msm8916-alcatel-idol347: add LED indicator
authorVincent Knecht <vincent.knecht@mailoo.org>
Fri, 4 Nov 2022 13:24:00 +0000 (14:24 +0100)
committerBjorn Andersson <andersson@kernel.org>
Mon, 7 Nov 2022 03:11:10 +0000 (21:11 -0600)
Add si-en,sn3190 LED controller to enable white LED indicator.

This requires adding the additional "enable" gpio that the OEM
choose to use, despite it not being mentioned in si-en,sn3190
datasheet nor supported by the driver.

Signed-off-by: Vincent Knecht <vincent.knecht@mailoo.org>
Reviewed-by: Konrad Dybcio <konrad.dybcio@somainline.org>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20221104132400.1763218-4-vincent.knecht@mailoo.org
arch/arm64/boot/dts/qcom/msm8916-alcatel-idol347.dts

index eadeb1a445fd6d4f8cac277666517cb6c46b724a..701a5585d77e45cbdb4d0396d0830d5b0ad47a65 100644 (file)
        };
 };
 
+&blsp_i2c6 {
+       status = "okay";
+
+       led-controller@68 {
+               compatible = "si-en,sn3190";
+               reg = <0x68>;
+               shutdown-gpios = <&msmgpio 89 GPIO_ACTIVE_HIGH>;
+               pinctrl-names = "default";
+               pinctrl-0 = <&led_enable_default &led_shutdown_default>;
+               #address-cells = <1>;
+               #size-cells = <0>;
+
+               led@1 {
+                       reg = <1>;
+                       led-max-microamp = <5000>;
+                       function = LED_FUNCTION_INDICATOR;
+                       color = <LED_COLOR_ID_WHITE>;
+               };
+       };
+};
+
 &pm8916_resin {
        status = "okay";
        linux,code = <KEY_VOLUMEDOWN>;
                bias-disable;
        };
 
+       /*
+        * The OEM wired an additional GPIO to be asserted so that
+        * the si-en,sn3190 LED IC works. Since this GPIO is not
+        * part of the IC datasheet nor supported by the driver,
+        * force it asserted here.
+        */
+       led_enable_default: led-enable-default-state {
+               pins = "gpio102";
+               function = "gpio";
+
+               drive-strength = <2>;
+               bias-disable;
+               output-high;
+       };
+
+       led_shutdown_default: led-shutdown-default-state {
+               pins = "gpio89";
+               function = "gpio";
+
+               drive-strength = <2>;
+               bias-disable;
+       };
+
        mag_reset_default: mag-reset-default-state {
                pins = "gpio8";
                function = "gpio";