mirror of
https://github.com/openwrt/openwrt.git
synced 2026-10-14 00:07:09 +04:00
qualcommax: ipq50xx: add missing pwm3 function on gpio13
The pinctrl driver leaves GPIO13's fourth function slot empty, so PWM3 cannot be routed there. The GL.iNet GL-X2000 drives its fan from PWM3 on GPIO13, and the stock firmware muxes the pin with select value 4: gpio13 : out low func4 8mA no pull pin 13 (GPIO_13): 1941010.pwm function pwm3 group gpio13 Select value 4 corresponds to the empty slot, so add pwm3 there and list gpio13 in pwm3_groups. Accepted upstream via pinctrl-qcom/for-current, so this can be dropped once the kernel is bumped to 7.3 or later. The backport carries the upstream diff unchanged; 0305, which adds gpio30 to pwm3_groups downstream, is refreshed to apply on top of it. Link: https://patch.msgid.link/20260921093419.2870168-1-gilbertorconde@gmail.com Signed-off-by: Gilberto Conde <gilbertorconde@gmail.com>
This commit is contained in:
1 parent
cec4e5acae
commit
a1583148fc
2 files changed
+50
-2
No files matched your search
+48
@@ -0,0 +1,48 @@
|
||||
From c6c159fcdb4e9a678eda0831f971e4a3a488ec47 Mon Sep 17 00:00:00 2001
|
||||
From: Gilberto Conde <gilbertorconde@gmail.com>
|
||||
Date: Mon, 21 Sep 2026 10:34:19 +0100
|
||||
Subject: [PATCH] pinctrl: qcom: ipq5018: add missing pwm3 function on gpio13
|
||||
|
||||
GPIO13 supports the PWM3 function at mux select value 4, but the
|
||||
pingroup table leaves that slot empty and gpio13 is not listed in
|
||||
pwm3_groups. Selecting pwm3 on gpio13 is therefore rejected by the
|
||||
pinmux core:
|
||||
|
||||
ipq5018-tlmm: invalid group "gpio13" for function "pwm3"
|
||||
|
||||
The GL.iNet GL-X2000 drives its fan from PWM3 on this pin, and the
|
||||
vendor firmware muxes it with select value 4:
|
||||
|
||||
gpio13 : out low func4 8mA no pull
|
||||
|
||||
Add pwm3 to the fourth function slot of gpio13 and list gpio13 in
|
||||
pwm3_groups. With this the pin muxes as expected:
|
||||
|
||||
pin 13 (GPIO_13): device 1941010.pwm function pwm3 group gpio13
|
||||
|
||||
Fixes: 725d1c891658 ("pinctrl: qcom: Add IPQ5018 pinctrl driver")
|
||||
Signed-off-by: Gilberto Conde <gilbertorconde@gmail.com>
|
||||
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
|
||||
Link: https://patch.msgid.link/20260921093419.2870168-1-gilbertorconde@gmail.com
|
||||
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>
|
||||
---
|
||||
--- a/drivers/pinctrl/qcom/pinctrl-ipq5018.c
|
||||
+++ b/drivers/pinctrl/qcom/pinctrl-ipq5018.c
|
||||
@@ -565,7 +565,7 @@ static const char * const qdss_cti_trig_
|
||||
};
|
||||
|
||||
static const char * const pwm3_groups[] = {
|
||||
- "gpio45",
|
||||
+ "gpio45", "gpio13",
|
||||
};
|
||||
|
||||
static const char * const qdss_cti_trig_in_b1_groups[] = {
|
||||
@@ -691,7 +691,7 @@ static const struct msm_pingroup ipq5018
|
||||
PINGROUP(10, blsp0_spi, blsp1_uart0, led0, gcc_plltest, qdss_tracedata_a, _, _, _, _),
|
||||
PINGROUP(11, blsp0_spi, blsp1_uart0, _, gcc_tlmm, qdss_tracedata_a, _, _, _, _),
|
||||
PINGROUP(12, blsp0_spi, blsp0_i2c, blsp1_uart0, _, gcc_plltest, qdss_tracedata_a, _, _, _),
|
||||
- PINGROUP(13, blsp0_spi, blsp0_i2c, blsp1_uart0, _, qdss_tracedata_a, _, _, _, _),
|
||||
+ PINGROUP(13, blsp0_spi, blsp0_i2c, blsp1_uart0, pwm3, qdss_tracedata_a, _, _, _, _),
|
||||
PINGROUP(14, pcie0_clk, _, _, cri_trng0, qdss_tracedata_a, _, _, _, _),
|
||||
PINGROUP(15, _, _, cri_trng1, qdss_tracedata_a, _, _, _, _, _),
|
||||
PINGROUP(16, pcie0_wake, _, _, cri_trng, qdss_tracedata_a, _, _, _, _),
|
||||
+2
-2
@@ -31,8 +31,8 @@ Signed-off-by: George Moussalem <george.moussalem@outlook.com>
|
||||
};
|
||||
|
||||
static const char * const pwm3_groups[] = {
|
||||
- "gpio45",
|
||||
+ "gpio45", "gpio30",
|
||||
- "gpio45", "gpio13",
|
||||
+ "gpio45", "gpio13", "gpio30",
|
||||
};
|
||||
|
||||
static const char * const qdss_cti_trig_in_b1_groups[] = {
|
||||
|
||||
Reference in new issue
Block a user