* [PATCH] pinctrl: qcom: sc7280-lpass-lpi: add ext_mclk1_c function
@ 2026-11-01 10:00 Suraj Sonawane
2026-11-02 11:00 ` Konrad Dybcio
0 siblings, 1 reply; 2+ messages in thread
From: Suraj Sonawane @ 2026-11-01 10:00 UTC (permalink / raw)
To: Bjorn Andersson
Cc: Bartosz Golaszewski, Linus Walleij, linux-arm-msm, linux-gpio,
linux-kernel, Suraj Sonawane
LPASS LPI gpio5 can mux EXT_MCLK1_C, but that function slot is left
unnamed, so a device tree cannot select it. SC8280XP already names the
same slot ext_mclk1_c.
Name the slot on SC7280 and assign it to gpio5. The third slot stays
empty; on SC8280XP it is qua_mi2s_data.
This file also provides the SM8350 LPASS LPI driver, which uses the
same pin table, so the function becomes available on SM8350 as well.
Tested on the Vicharak Axon Mini (QCS6490): selecting this mux slot
drives the codec master clock, and ES8388 playback and headset capture
work. Not tested on SM8350.
Signed-off-by: Suraj Sonawane <surajsonawane0215@gmail.com>
---
drivers/pinctrl/qcom/pinctrl-sc7280-lpass-lpi.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/drivers/pinctrl/qcom/pinctrl-sc7280-lpass-lpi.c b/drivers/pinctrl/qcom/pinctrl-sc7280-lpass-lpi.c
index a61df10d4..278d5fac8 100644
--- a/drivers/pinctrl/qcom/pinctrl-sc7280-lpass-lpi.c
+++ b/drivers/pinctrl/qcom/pinctrl-sc7280-lpass-lpi.c
@@ -34,6 +34,7 @@ enum lpass_lpi_functions {
LPI_MUX_swr_tx_data,
LPI_MUX_wsa_swr_clk,
LPI_MUX_wsa_swr_data,
+ LPI_MUX_ext_mclk1_c,
LPI_MUX_gpio,
LPI_MUX__,
};
@@ -77,6 +78,7 @@ static const char * const i2s1_data_groups[] = { "gpio8", "gpio9" };
static const char * const wsa_swr_clk_groups[] = { "gpio10" };
static const char * const wsa_swr_data_groups[] = { "gpio11" };
static const char * const i2s2_data_groups[] = { "gpio12", "gpio13" };
+static const char * const ext_mclk1_c_groups[] = { "gpio5" };
static const struct lpi_pingroup sc7280_groups[] = {
LPI_PINGROUP(0, 0, swr_tx_clk, qua_mi2s_sclk, _, _),
@@ -84,7 +86,7 @@ static const struct lpi_pingroup sc7280_groups[] = {
LPI_PINGROUP(2, 4, swr_tx_data, qua_mi2s_data, _, _),
LPI_PINGROUP(3, 8, swr_rx_clk, qua_mi2s_data, _, _),
LPI_PINGROUP(4, 10, swr_rx_data, qua_mi2s_data, _, _),
- LPI_PINGROUP(5, 12, swr_rx_data, _, _, _),
+ LPI_PINGROUP(5, 12, swr_rx_data, ext_mclk1_c, _, _),
LPI_PINGROUP(6, LPI_NO_SLEW, dmic1_clk, i2s1_clk, _, _),
LPI_PINGROUP(7, LPI_NO_SLEW, dmic1_data, i2s1_ws, _, _),
LPI_PINGROUP(8, LPI_NO_SLEW, dmic2_clk, i2s1_data, _, _),
@@ -118,6 +120,7 @@ static const struct lpi_function sc7280_functions[] = {
LPI_FUNCTION(swr_tx_data),
LPI_FUNCTION(wsa_swr_clk),
LPI_FUNCTION(wsa_swr_data),
+ LPI_FUNCTION(ext_mclk1_c),
};
static const struct lpi_pinctrl_variant_data sc7280_lpi_data = {
base-commit: cbbddb6b08cc9900a87cccaa9b22bbe06aa4f50a
--
2.34.1
^ permalink raw reply [flat|nested] 2+ messages in thread* Re: [PATCH] pinctrl: qcom: sc7280-lpass-lpi: add ext_mclk1_c function
2026-11-01 10:00 [PATCH] pinctrl: qcom: sc7280-lpass-lpi: add ext_mclk1_c function Suraj Sonawane
@ 2026-11-02 11:00 ` Konrad Dybcio
0 siblings, 0 replies; 2+ messages in thread
From: Konrad Dybcio @ 2026-11-02 11:00 UTC (permalink / raw)
To: Suraj Sonawane, Bjorn Andersson
Cc: Bartosz Golaszewski, Linus Walleij, linux-arm-msm, linux-gpio,
linux-kernel
On 11/1/26 11:00 AM, Suraj Sonawane wrote:
> LPASS LPI gpio5 can mux EXT_MCLK1_C, but that function slot is left
> unnamed, so a device tree cannot select it. SC8280XP already names the
> same slot ext_mclk1_c.
>
> Name the slot on SC7280 and assign it to gpio5. The third slot stays
> empty; on SC8280XP it is qua_mi2s_data.
>
> This file also provides the SM8350 LPASS LPI driver, which uses the
> same pin table, so the function becomes available on SM8350 as well.
>
> Tested on the Vicharak Axon Mini (QCS6490): selecting this mux slot
> drives the codec master clock, and ES8388 playback and headset capture
> work. Not tested on SM8350.
>
> Signed-off-by: Suraj Sonawane <surajsonawane0215@gmail.com>
> ---
> drivers/pinctrl/qcom/pinctrl-sc7280-lpass-lpi.c | 5 ++++-
> 1 file changed, 4 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/pinctrl/qcom/pinctrl-sc7280-lpass-lpi.c b/drivers/pinctrl/qcom/pinctrl-sc7280-lpass-lpi.c
> index a61df10d4..278d5fac8 100644
> --- a/drivers/pinctrl/qcom/pinctrl-sc7280-lpass-lpi.c
> +++ b/drivers/pinctrl/qcom/pinctrl-sc7280-lpass-lpi.c
> @@ -34,6 +34,7 @@ enum lpass_lpi_functions {
> LPI_MUX_swr_tx_data,
> LPI_MUX_wsa_swr_clk,
> LPI_MUX_wsa_swr_data,
> + LPI_MUX_ext_mclk1_c,
This name happens to match the kodiak hw specification too
FWIW you need to update the dt-bindings to accomodate it
otherwise
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Konrad
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2026-11-02 11:01 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-11-01 10:00 [PATCH] pinctrl: qcom: sc7280-lpass-lpi: add ext_mclk1_c function Suraj Sonawane
2026-11-02 11:00 ` Konrad Dybcio
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®