2022-10-29 15:25:09

by Vincent Knecht

[permalink] [raw]
Subject: [PATCH v1 2/2] arm64: dts: qcom: msm8916-alcatel-idol347: add LED indicator

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 <[email protected]>
---
.../boot/dts/qcom/msm8916-alcatel-idol347.dts | 44 +++++++++++++++++++
1 file changed, 44 insertions(+)

diff --git a/arch/arm64/boot/dts/qcom/msm8916-alcatel-idol347.dts b/arch/arm64/boot/dts/qcom/msm8916-alcatel-idol347.dts
index 3a0a593899ae..952ae092e6ae 100644
--- a/arch/arm64/boot/dts/qcom/msm8916-alcatel-idol347.dts
+++ b/arch/arm64/boot/dts/qcom/msm8916-alcatel-idol347.dts
@@ -130,6 +130,27 @@ gyroscope@68 {
};
};

+&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>;
@@ -306,6 +327,29 @@ gyro_int_default: gyro-int-default {
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 {
+ pins = "gpio102";
+ function = "gpio";
+
+ drive-strength = <2>;
+ bias-disable;
+ output-high;
+ };
+
+ led_shutdown_default: led-shutdown-default {
+ pins = "gpio89";
+ function = "gpio";
+
+ drive-strength = <2>;
+ bias-disable;
+ };
+
mag_reset_default: mag-reset-default {
pins = "gpio8";
function = "gpio";
--
2.37.3





2022-11-03 22:37:10

by Krzysztof Kozlowski

[permalink] [raw]
Subject: Re: [PATCH v1 2/2] arm64: dts: qcom: msm8916-alcatel-idol347: add LED indicator

On 29/10/2022 10:55, Vincent Knecht wrote:
> 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 <[email protected]>
> ---
> .../boot/dts/qcom/msm8916-alcatel-idol347.dts | 44 +++++++++++++++++++
> 1 file changed, 44 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/qcom/msm8916-alcatel-idol347.dts b/arch/arm64/boot/dts/qcom/msm8916-alcatel-idol347.dts
> index 3a0a593899ae..952ae092e6ae 100644
> --- a/arch/arm64/boot/dts/qcom/msm8916-alcatel-idol347.dts
> +++ b/arch/arm64/boot/dts/qcom/msm8916-alcatel-idol347.dts
> @@ -130,6 +130,27 @@ gyroscope@68 {
> };
> };
>
> +&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>;
> @@ -306,6 +327,29 @@ gyro_int_default: gyro-int-default {
> 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 {

Add suffix to node name: "-state"

Same in other places. Bindings require it now.

Best regards,
Krzysztof