* [PATCH 1/4] arm64: dts: qcom: msm8917-xiaomi-wingtech: add notification led
2026-09-21 17:43 [PATCH 0/4] Redmi 3S/4A/5A/GO status led and haptic Barnabás Czémán
@ 2026-09-21 17:43 ` Barnabás Czémán
2026-10-20 8:08 ` Konrad Dybcio
2026-09-21 17:43 ` [PATCH 2/4] arm64: dts: qcom: msm8917-xiaomi-rolex: enable " Barnabás Czémán
` (2 subsequent siblings)
3 siblings, 1 reply; 8+ messages in thread
From: Barnabás Czémán @ 2026-09-21 17:43 UTC (permalink / raw)
To: Bjorn Andersson, Konrad Dybcio, Abel Vesa, Rob Herring,
Krzysztof Kozlowski, Conor Dooley
Cc: linux-arm-msm, devicetree, linux-kernel, Barnabás Czémán
Add the aw2013 led-controller node for controlling the notification LED.
The same led controller is in use for Redmi 4A and Redmi 5A the
only difference is Redmi 4A have RGB leds attached to the controller.
Signed-off-by: Barnabás Czémán <barnabas.czeman@mainlining.org>
---
arch/arm64/boot/dts/qcom/msm8917-xiaomi-riva.dts | 26 +++++++++-------------
.../boot/dts/qcom/msm8917-xiaomi-wingtech.dtsi | 15 +++++++++++++
2 files changed, 25 insertions(+), 16 deletions(-)
diff --git a/arch/arm64/boot/dts/qcom/msm8917-xiaomi-riva.dts b/arch/arm64/boot/dts/qcom/msm8917-xiaomi-riva.dts
index 7c323214abf1..8ea8ef80fb38 100644
--- a/arch/arm64/boot/dts/qcom/msm8917-xiaomi-riva.dts
+++ b/arch/arm64/boot/dts/qcom/msm8917-xiaomi-riva.dts
@@ -5,7 +5,6 @@
/dts-v1/;
-#include <dt-bindings/leds/common.h>
#include "msm8917-xiaomi-wingtech.dtsi"
/ {
@@ -36,26 +35,21 @@ vibrator {
};
};
-&blsp1_i2c2 {
+&aw2013 {
status = "okay";
- led-controller@45 {
- compatible = "awinic,aw2013";
- reg = <0x45>;
- vcc-supply = <&pm8937_l10>;
- vio-supply = <&pm8937_l5>;
- #address-cells = <1>;
- #size-cells = <0>;
-
- led@0 {
- reg = <0>;
- led-max-microamp = <5000>;
- function = LED_FUNCTION_INDICATOR;
- color = <LED_COLOR_ID_WHITE>;
- };
+ led@0 {
+ reg = <0>;
+ led-max-microamp = <5000>;
+ function = LED_FUNCTION_STATUS;
+ color = <LED_COLOR_ID_WHITE>;
};
};
+&blsp1_i2c2 {
+ status = "okay";
+};
+
&blsp1_uart2 {
status = "okay";
};
diff --git a/arch/arm64/boot/dts/qcom/msm8917-xiaomi-wingtech.dtsi b/arch/arm64/boot/dts/qcom/msm8917-xiaomi-wingtech.dtsi
index 69eda5f42c06..cdbf2d4fa92c 100644
--- a/arch/arm64/boot/dts/qcom/msm8917-xiaomi-wingtech.dtsi
+++ b/arch/arm64/boot/dts/qcom/msm8917-xiaomi-wingtech.dtsi
@@ -7,6 +7,8 @@
#include <dt-bindings/arm/qcom,ids.h>
#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/leds/common.h>
+
#include "msm8917.dtsi"
#include "pm8937.dtsi"
@@ -85,6 +87,19 @@ framebuffer_mem: memory@90001000 {
};
};
+&blsp1_i2c2 {
+ aw2013: led-controller@45 {
+ compatible = "awinic,aw2013";
+ reg = <0x45>;
+ vcc-supply = <&pm8937_l10>;
+ vio-supply = <&pm8937_l5>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ status = "disabled";
+ };
+};
+
&blsp1_i2c3 {
status = "okay";
--
2.55.0
^ permalink raw reply [flat|nested] 8+ messages in thread* Re: [PATCH 1/4] arm64: dts: qcom: msm8917-xiaomi-wingtech: add notification led
2026-09-21 17:43 ` [PATCH 1/4] arm64: dts: qcom: msm8917-xiaomi-wingtech: add notification led Barnabás Czémán
@ 2026-10-20 8:08 ` Konrad Dybcio
0 siblings, 0 replies; 8+ messages in thread
From: Konrad Dybcio @ 2026-10-20 8:08 UTC (permalink / raw)
To: Barnabás Czémán, Bjorn Andersson, Konrad Dybcio,
Abel Vesa, Rob Herring, Krzysztof Kozlowski, Conor Dooley
Cc: linux-arm-msm, devicetree, linux-kernel
On 9/21/26 7:43 PM, Barnabás Czémán wrote:
> Add the aw2013 led-controller node for controlling the notification LED.
But it's already present!
[...]
> +&blsp1_i2c2 {
> + aw2013: led-controller@45 {
> + compatible = "awinic,aw2013";
> + reg = <0x45>;
> + vcc-supply = <&pm8937_l10>;
> + vio-supply = <&pm8937_l5>;
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + status = "disabled";
> + };
This feels a little sloppy. Either disabling it where necessary
(presumably a small subset) or moving the definition to the places
that use it (if *that* is a smaller subset) sounds cleaner
Konrad
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH 2/4] arm64: dts: qcom: msm8917-xiaomi-rolex: enable notification led
2026-09-21 17:43 [PATCH 0/4] Redmi 3S/4A/5A/GO status led and haptic Barnabás Czémán
2026-09-21 17:43 ` [PATCH 1/4] arm64: dts: qcom: msm8917-xiaomi-wingtech: add notification led Barnabás Czémán
@ 2026-09-21 17:43 ` Barnabás Czémán
2026-09-21 17:43 ` [PATCH 3/4] arm64: dts: qcom: msm8937-xiaomi-land: group status leds Barnabás Czémán
2026-09-21 17:43 ` [PATCH 4/4] arm64: dts: qcom: msm8917-xiaomi-wingtech: move GPIO haptic vibrator Barnabás Czémán
3 siblings, 0 replies; 8+ messages in thread
From: Barnabás Czémán @ 2026-09-21 17:43 UTC (permalink / raw)
To: Bjorn Andersson, Konrad Dybcio, Abel Vesa, Rob Herring,
Krzysztof Kozlowski, Conor Dooley
Cc: linux-arm-msm, devicetree, linux-kernel, Barnabás Czémán
Enable aw2013 notfication led. Redmi 4A have RGB notification
led since aw2013 driver is not supporting multi color grouping
use leds-group-multicolor for it.
Signed-off-by: Barnabás Czémán <barnabas.czeman@mainlining.org>
---
arch/arm64/boot/dts/qcom/msm8917-xiaomi-rolex.dts | 33 +++++++++++++++++++++++
1 file changed, 33 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/msm8917-xiaomi-rolex.dts b/arch/arm64/boot/dts/qcom/msm8917-xiaomi-rolex.dts
index f0b72d9878c4..a8dba85cb352 100644
--- a/arch/arm64/boot/dts/qcom/msm8917-xiaomi-rolex.dts
+++ b/arch/arm64/boot/dts/qcom/msm8917-xiaomi-rolex.dts
@@ -12,4 +12,37 @@ / {
compatible = "xiaomi,rolex", "qcom,msm8917";
qcom,board-id = <0x1000b 1>;
+
+ multi-led {
+ compatible = "leds-group-multicolor";
+ color = <LED_COLOR_ID_RGB>;
+ function = LED_FUNCTION_STATUS;
+ leds = <&led0>, <&led1>, <&led2>;
+ };
+};
+
+&aw2013 {
+ status = "okay";
+
+ led0: led@0 {
+ reg = <0>;
+ led-max-microamp = <5000>;
+ color = <LED_COLOR_ID_RED>;
+ };
+
+ led1: led@1 {
+ reg = <1>;
+ led-max-microamp = <5000>;
+ color = <LED_COLOR_ID_GREEN>;
+ };
+
+ led2: led@2 {
+ reg = <2>;
+ led-max-microamp = <5000>;
+ color = <LED_COLOR_ID_BLUE>;
+ };
+};
+
+&blsp1_i2c2 {
+ status = "okay";
};
--
2.55.0
^ permalink raw reply [flat|nested] 8+ messages in thread* [PATCH 3/4] arm64: dts: qcom: msm8937-xiaomi-land: group status leds
2026-09-21 17:43 [PATCH 0/4] Redmi 3S/4A/5A/GO status led and haptic Barnabás Czémán
2026-09-21 17:43 ` [PATCH 1/4] arm64: dts: qcom: msm8917-xiaomi-wingtech: add notification led Barnabás Czémán
2026-09-21 17:43 ` [PATCH 2/4] arm64: dts: qcom: msm8917-xiaomi-rolex: enable " Barnabás Czémán
@ 2026-09-21 17:43 ` Barnabás Czémán
2026-10-20 8:09 ` Konrad Dybcio
2026-09-21 17:43 ` [PATCH 4/4] arm64: dts: qcom: msm8917-xiaomi-wingtech: move GPIO haptic vibrator Barnabás Czémán
3 siblings, 1 reply; 8+ messages in thread
From: Barnabás Czémán @ 2026-09-21 17:43 UTC (permalink / raw)
To: Bjorn Andersson, Konrad Dybcio, Abel Vesa, Rob Herring,
Krzysztof Kozlowski, Conor Dooley
Cc: linux-arm-msm, devicetree, linux-kernel, Barnabás Czémán
Use leds-group-multicolor for handling the RGB notification leds
together.
Signed-off-by: Barnabás Czémán <barnabas.czeman@mainlining.org>
---
arch/arm64/boot/dts/qcom/msm8937-xiaomi-land.dts | 16 ++++++++++------
1 file changed, 10 insertions(+), 6 deletions(-)
diff --git a/arch/arm64/boot/dts/qcom/msm8937-xiaomi-land.dts b/arch/arm64/boot/dts/qcom/msm8937-xiaomi-land.dts
index 4f301e7c6517..10aea044f787 100644
--- a/arch/arm64/boot/dts/qcom/msm8937-xiaomi-land.dts
+++ b/arch/arm64/boot/dts/qcom/msm8937-xiaomi-land.dts
@@ -81,6 +81,13 @@ irled {
gpios = <&tlmm 45 GPIO_ACTIVE_HIGH>;
};
+ multi-led {
+ compatible = "leds-group-multicolor";
+ color = <LED_COLOR_ID_RGB>;
+ function = LED_FUNCTION_STATUS;
+ leds = <&led0>, <&led1>, <&led2>;
+ };
+
reserved-memory {
reserved@84a00000 {
reg = <0x0 0x84a00000 0x0 0x1900000>;
@@ -115,23 +122,20 @@ led-controller@45 {
vcc-supply = <&pm8937_l10>;
vio-supply = <&pm8937_l5>;
- led@0 {
+ led0: led@0 {
reg = <0>;
- function = LED_FUNCTION_STATUS;
led-max-microamp = <5000>;
color = <LED_COLOR_ID_RED>;
};
- led@1 {
+ led1: led@1 {
reg = <1>;
- function = LED_FUNCTION_STATUS;
led-max-microamp = <5000>;
color = <LED_COLOR_ID_GREEN>;
};
- led@2 {
+ led2: led@2 {
reg = <2>;
- function = LED_FUNCTION_STATUS;
led-max-microamp = <5000>;
color = <LED_COLOR_ID_BLUE>;
};
--
2.55.0
^ permalink raw reply [flat|nested] 8+ messages in thread* Re: [PATCH 3/4] arm64: dts: qcom: msm8937-xiaomi-land: group status leds
2026-09-21 17:43 ` [PATCH 3/4] arm64: dts: qcom: msm8937-xiaomi-land: group status leds Barnabás Czémán
@ 2026-10-20 8:09 ` Konrad Dybcio
0 siblings, 0 replies; 8+ messages in thread
From: Konrad Dybcio @ 2026-10-20 8:09 UTC (permalink / raw)
To: Barnabás Czémán, Bjorn Andersson, Konrad Dybcio,
Abel Vesa, Rob Herring, Krzysztof Kozlowski, Conor Dooley
Cc: linux-arm-msm, devicetree, linux-kernel
On 9/21/26 7:43 PM, Barnabás Czémán wrote:
> Use leds-group-multicolor for handling the RGB notification leds
> together.
>
> Signed-off-by: Barnabás Czémán <barnabas.czeman@mainlining.org>
> ---
You can update the driver and bindings to make the LED controller
itself accept a multi-led child
Konrad
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH 4/4] arm64: dts: qcom: msm8917-xiaomi-wingtech: move GPIO haptic vibrator
2026-09-21 17:43 [PATCH 0/4] Redmi 3S/4A/5A/GO status led and haptic Barnabás Czémán
` (2 preceding siblings ...)
2026-09-21 17:43 ` [PATCH 3/4] arm64: dts: qcom: msm8937-xiaomi-land: group status leds Barnabás Czémán
@ 2026-09-21 17:43 ` Barnabás Czémán
2026-10-20 8:10 ` Konrad Dybcio
3 siblings, 1 reply; 8+ messages in thread
From: Barnabás Czémán @ 2026-09-21 17:43 UTC (permalink / raw)
To: Bjorn Andersson, Konrad Dybcio, Abel Vesa, Rob Herring,
Krzysztof Kozlowski, Conor Dooley
Cc: linux-arm-msm, devicetree, linux-kernel, Barnabás Czémán
Move out vibrator node from Redmi 5A devicetree because
Redmi 4A and GO are also using the same GPIO haptic vibrator.
Signed-off-by: Barnabás Czémán <barnabas.czeman@mainlining.org>
---
arch/arm64/boot/dts/qcom/msm8917-xiaomi-riva.dts | 6 ------
arch/arm64/boot/dts/qcom/msm8917-xiaomi-wingtech.dtsi | 6 ++++++
2 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/arch/arm64/boot/dts/qcom/msm8917-xiaomi-riva.dts b/arch/arm64/boot/dts/qcom/msm8917-xiaomi-riva.dts
index 8ea8ef80fb38..253ae479bd16 100644
--- a/arch/arm64/boot/dts/qcom/msm8917-xiaomi-riva.dts
+++ b/arch/arm64/boot/dts/qcom/msm8917-xiaomi-riva.dts
@@ -27,12 +27,6 @@ battery: battery {
charge-term-current-microamp = <60000>;
voltage-min-design-microvolt = <3400000>;
};
-
- vibrator {
- compatible = "gpio-vibrator";
- enable-gpios = <&tlmm 97 GPIO_ACTIVE_HIGH>;
- vcc-supply = <&vph_pwr>;
- };
};
&aw2013 {
diff --git a/arch/arm64/boot/dts/qcom/msm8917-xiaomi-wingtech.dtsi b/arch/arm64/boot/dts/qcom/msm8917-xiaomi-wingtech.dtsi
index cdbf2d4fa92c..1b067c43b9c1 100644
--- a/arch/arm64/boot/dts/qcom/msm8917-xiaomi-wingtech.dtsi
+++ b/arch/arm64/boot/dts/qcom/msm8917-xiaomi-wingtech.dtsi
@@ -85,6 +85,12 @@ framebuffer_mem: memory@90001000 {
no-map;
};
};
+
+ vibrator {
+ compatible = "gpio-vibrator";
+ enable-gpios = <&tlmm 97 GPIO_ACTIVE_HIGH>;
+ vcc-supply = <&vph_pwr>;
+ };
};
&blsp1_i2c2 {
--
2.55.0
^ permalink raw reply [flat|nested] 8+ messages in thread* Re: [PATCH 4/4] arm64: dts: qcom: msm8917-xiaomi-wingtech: move GPIO haptic vibrator
2026-09-21 17:43 ` [PATCH 4/4] arm64: dts: qcom: msm8917-xiaomi-wingtech: move GPIO haptic vibrator Barnabás Czémán
@ 2026-10-20 8:10 ` Konrad Dybcio
0 siblings, 0 replies; 8+ messages in thread
From: Konrad Dybcio @ 2026-10-20 8:10 UTC (permalink / raw)
To: Barnabás Czémán, Bjorn Andersson, Konrad Dybcio,
Abel Vesa, Rob Herring, Krzysztof Kozlowski, Conor Dooley
Cc: linux-arm-msm, devicetree, linux-kernel
On 9/21/26 7:43 PM, Barnabás Czémán wrote:
> Move out vibrator node from Redmi 5A devicetree because
> Redmi 4A and GO are also using the same GPIO haptic vibrator.
>
> Signed-off-by: Barnabás Czémán <barnabas.czeman@mainlining.org>
> ---
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Konrad
^ permalink raw reply [flat|nested] 8+ messages in thread