* [PATCH v1 0/2] pinctrl: qcom: Add Eliza LPASS LPI support
@ 2026-07-03 7:30 Ravi Hothi
2026-07-03 7:30 ` [PATCH v1 1/2] dt-bindings: pinctrl: qcom,milos-lpass-lpi-pinctrl: Add Eliza pinctrl Ravi Hothi
` (2 more replies)
0 siblings, 3 replies; 8+ messages in thread
From: Ravi Hothi @ 2026-07-03 7:30 UTC (permalink / raw)
To: Bjorn Andersson, Linus Walleij, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Luca Weiss
Cc: linux-arm-msm, linux-gpio, devicetree, linux-kernel,
mohammad.rafi.shaik, ajay.nandam
Eliza is a Qualcomm SoC that uses the same LPASS LPI pin mux
functions as Milos. The key difference is the slew rate register
layout — on Eliza the slew rate field lives in the same GPIO config
register rather than a separate dedicated register.
This series adds support for the Eliza LPASS LPI pin controller by
extending the existing Milos driver with a new variant data struct
that uses the correct slew offsets and sets LPI_FLAG_SLEW_RATE_SAME_REG.
The pin descriptors and function table are shared with Milos since
they are identical.
Patch 1 updates the binding to document the new compatible and the
single reg entry used by Eliza.
Patch 2 adds the driver support.
Ravi Hothi (2):
dt-bindings: pinctrl: qcom,milos-lpass-lpi-pinctrl: Add Eliza pinctrl
pinctrl: qcom: milos-lpass-lpi: Add Eliza LPASS LPI TLMM
.../pinctrl/qcom,milos-lpass-lpi-pinctrl.yaml | 22 ++++++++--
.../pinctrl/qcom/pinctrl-milos-lpass-lpi.c | 40 +++++++++++++++++++
2 files changed, 58 insertions(+), 4 deletions(-)
base-commit: 7de6ae9e12207ec146f2f3f1e58d1a99317e88bc
--
2.34.1
^ permalink raw reply [flat|nested] 8+ messages in thread* [PATCH v1 1/2] dt-bindings: pinctrl: qcom,milos-lpass-lpi-pinctrl: Add Eliza pinctrl 2026-07-03 7:30 [PATCH v1 0/2] pinctrl: qcom: Add Eliza LPASS LPI support Ravi Hothi @ 2026-07-03 7:30 ` Ravi Hothi 2026-07-07 13:31 ` Rob Herring (Arm) 2026-07-03 7:30 ` [PATCH v1 2/2] pinctrl: qcom: milos-lpass-lpi: Add Eliza LPASS LPI TLMM Ravi Hothi 2026-07-03 21:04 ` [PATCH v1 0/2] pinctrl: qcom: Add Eliza LPASS LPI support Linus Walleij 2 siblings, 1 reply; 8+ messages in thread From: Ravi Hothi @ 2026-07-03 7:30 UTC (permalink / raw) To: Bjorn Andersson, Linus Walleij, Rob Herring, Krzysztof Kozlowski, Conor Dooley, Luca Weiss Cc: linux-arm-msm, linux-gpio, devicetree, linux-kernel, mohammad.rafi.shaik, ajay.nandam Document compatible for Qualcomm Eliza SoC LPASS LPI pin controller. Eliza has the same pin mux functions as Milos but uses a different slew rate register layout where the slew rate field is in the same GPIO config register rather than a separate dedicated register. As a result, Eliza only has a single reg entry instead of two. Signed-off-by: Ravi Hothi <ravi.hothi@oss.qualcomm.com> --- .../pinctrl/qcom,milos-lpass-lpi-pinctrl.yaml | 22 +++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) diff --git a/Documentation/devicetree/bindings/pinctrl/qcom,milos-lpass-lpi-pinctrl.yaml b/Documentation/devicetree/bindings/pinctrl/qcom,milos-lpass-lpi-pinctrl.yaml index 73e84f188591..5cb9addb975f 100644 --- a/Documentation/devicetree/bindings/pinctrl/qcom,milos-lpass-lpi-pinctrl.yaml +++ b/Documentation/devicetree/bindings/pinctrl/qcom,milos-lpass-lpi-pinctrl.yaml @@ -15,12 +15,13 @@ description: properties: compatible: - const: qcom,milos-lpass-lpi-pinctrl + oneOf: + - const: qcom,milos-lpass-lpi-pinctrl + - const: qcom,eliza-lpass-lpi-pinctrl reg: - items: - - description: LPASS LPI TLMM Control and Status registers - - description: LPASS LPI MCC registers + minItems: 1 + maxItems: 2 clocks: items: @@ -74,6 +75,19 @@ $defs: allOf: - $ref: qcom,lpass-lpi-common.yaml# + - if: + properties: + compatible: + const: qcom,eliza-lpass-lpi-pinctrl + then: + properties: + reg: + maxItems: 1 + else: + properties: + reg: + minItems: 2 + required: - compatible - reg -- 2.34.1 ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH v1 1/2] dt-bindings: pinctrl: qcom,milos-lpass-lpi-pinctrl: Add Eliza pinctrl 2026-07-03 7:30 ` [PATCH v1 1/2] dt-bindings: pinctrl: qcom,milos-lpass-lpi-pinctrl: Add Eliza pinctrl Ravi Hothi @ 2026-07-07 13:31 ` Rob Herring (Arm) 2026-07-08 11:33 ` Ravi Hothi 0 siblings, 1 reply; 8+ messages in thread From: Rob Herring (Arm) @ 2026-07-07 13:31 UTC (permalink / raw) To: Ravi Hothi Cc: linux-gpio, linux-arm-msm, Conor Dooley, Linus Walleij, Bjorn Andersson, Krzysztof Kozlowski, devicetree, mohammad.rafi.shaik, linux-kernel, ajay.nandam, Luca Weiss On Fri, 03 Jul 2026 13:00:28 +0530, Ravi Hothi wrote: > Document compatible for Qualcomm Eliza SoC LPASS LPI pin controller. > Eliza has the same pin mux functions as Milos but uses a different > slew rate register layout where the slew rate field is in the same > GPIO config register rather than a separate dedicated register. As a > result, Eliza only has a single reg entry instead of two. > > Signed-off-by: Ravi Hothi <ravi.hothi@oss.qualcomm.com> > --- > .../pinctrl/qcom,milos-lpass-lpi-pinctrl.yaml | 22 +++++++++++++++---- > 1 file changed, 18 insertions(+), 4 deletions(-) > My bot found errors running 'make dt_binding_check' on your patch: yamllint warnings/errors: dtschema/dtc warnings/errors: /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/pinctrl/qcom,milos-lpass-lpi-pinctrl.yaml: properties:compatible:oneOf: [{'const': 'qcom,milos-lpass-lpi-pinctrl'}, {'const': 'qcom,eliza-lpass-lpi-pinctrl'}] should not be valid under {'items': {'propertyNames': {'const': 'const'}, 'required': ['const']}} hint: Use 'enum' rather than 'oneOf' + 'const' entries from schema $id: http://devicetree.org/meta-schemas/keywords.yaml doc reference errors (make refcheckdocs): See https://patchwork.kernel.org/project/devicetree/patch/20260703073029.2588960-2-ravi.hothi@oss.qualcomm.com The base for the series is generally the latest rc1. A different dependency should be noted in *this* patch. If you already ran 'make dt_binding_check' and didn't see the above error(s), then make sure 'yamllint' is installed and dt-schema is up to date: pip3 install dtschema --upgrade Please check and re-submit after running the above command yourself. Note that DT_SCHEMA_FILES can be set to your schema file to speed up checking your schema. However, it must be unset to test all examples with your schema. ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH v1 1/2] dt-bindings: pinctrl: qcom,milos-lpass-lpi-pinctrl: Add Eliza pinctrl 2026-07-07 13:31 ` Rob Herring (Arm) @ 2026-07-08 11:33 ` Ravi Hothi 0 siblings, 0 replies; 8+ messages in thread From: Ravi Hothi @ 2026-07-08 11:33 UTC (permalink / raw) To: Rob Herring (Arm) Cc: linux-gpio, linux-arm-msm, Conor Dooley, Linus Walleij, Bjorn Andersson, Krzysztof Kozlowski, devicetree, mohammad.rafi.shaik, linux-kernel, ajay.nandam, Luca Weiss On 7/7/2026 7:01 PM, Rob Herring (Arm) wrote: > > On Fri, 03 Jul 2026 13:00:28 +0530, Ravi Hothi wrote: >> Document compatible for Qualcomm Eliza SoC LPASS LPI pin controller. >> Eliza has the same pin mux functions as Milos but uses a different >> slew rate register layout where the slew rate field is in the same >> GPIO config register rather than a separate dedicated register. As a >> result, Eliza only has a single reg entry instead of two. >> >> Signed-off-by: Ravi Hothi <ravi.hothi@oss.qualcomm.com> >> --- >> .../pinctrl/qcom,milos-lpass-lpi-pinctrl.yaml | 22 +++++++++++++++---- >> 1 file changed, 18 insertions(+), 4 deletions(-) >> > > My bot found errors running 'make dt_binding_check' on your patch: > > yamllint warnings/errors: > > dtschema/dtc warnings/errors: > /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/pinctrl/qcom,milos-lpass-lpi-pinctrl.yaml: properties:compatible:oneOf: [{'const': 'qcom,milos-lpass-lpi-pinctrl'}, {'const': 'qcom,eliza-lpass-lpi-pinctrl'}] should not be valid under {'items': {'propertyNames': {'const': 'const'}, 'required': ['const']}} > hint: Use 'enum' rather than 'oneOf' + 'const' entries > from schema $id: http://devicetree.org/meta-schemas/keywords.yaml > > doc reference errors (make refcheckdocs): > > See https://patchwork.kernel.org/project/devicetree/patch/20260703073029.2588960-2-ravi.hothi@oss.qualcomm.com > > The base for the series is generally the latest rc1. A different dependency > should be noted in *this* patch. > > If you already ran 'make dt_binding_check' and didn't see the above > error(s), then make sure 'yamllint' is installed and dt-schema is up to > date: > > pip3 install dtschema --upgrade > > Please check and re-submit after running the above command yourself. Note > that DT_SCHEMA_FILES can be set to your schema file to speed up checking > your schema. However, it must be unset to test all examples with your schema. > ACK, Will update in next version. Thanks, Ravi Hothi ^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH v1 2/2] pinctrl: qcom: milos-lpass-lpi: Add Eliza LPASS LPI TLMM 2026-07-03 7:30 [PATCH v1 0/2] pinctrl: qcom: Add Eliza LPASS LPI support Ravi Hothi 2026-07-03 7:30 ` [PATCH v1 1/2] dt-bindings: pinctrl: qcom,milos-lpass-lpi-pinctrl: Add Eliza pinctrl Ravi Hothi @ 2026-07-03 7:30 ` Ravi Hothi 2026-07-06 10:29 ` Konrad Dybcio 2026-07-03 21:04 ` [PATCH v1 0/2] pinctrl: qcom: Add Eliza LPASS LPI support Linus Walleij 2 siblings, 1 reply; 8+ messages in thread From: Ravi Hothi @ 2026-07-03 7:30 UTC (permalink / raw) To: Bjorn Andersson, Linus Walleij, Rob Herring, Krzysztof Kozlowski, Conor Dooley, Luca Weiss Cc: linux-arm-msm, linux-gpio, devicetree, linux-kernel, mohammad.rafi.shaik, ajay.nandam Eliza SoC has the same LPASS LPI pin mux functions as Milos but the slew rate control is in the same GPIO config register rather than a separate register. Add a new variant data struct with updated slew offsets and LPI_FLAG_SLEW_RATE_SAME_REG flag, reusing the existing pin descriptors and function table from Milos. Signed-off-by: Ravi Hothi <ravi.hothi@oss.qualcomm.com> --- .../pinctrl/qcom/pinctrl-milos-lpass-lpi.c | 40 +++++++++++++++++++ 1 file changed, 40 insertions(+) diff --git a/drivers/pinctrl/qcom/pinctrl-milos-lpass-lpi.c b/drivers/pinctrl/qcom/pinctrl-milos-lpass-lpi.c index 72b8ffd97860..cb4934cd6f75 100644 --- a/drivers/pinctrl/qcom/pinctrl-milos-lpass-lpi.c +++ b/drivers/pinctrl/qcom/pinctrl-milos-lpass-lpi.c @@ -148,6 +148,33 @@ static const struct lpi_pingroup milos_groups[] = { LPI_PINGROUP(22, LPI_NO_SLEW, i2s3_data, dmic4_data, ext_mclk1_e, _), }; +static const struct lpi_pingroup eliza_groups[] = { + LPI_PINGROUP(0, 11, swr_tx_clk, i2s0_clk, _, _), + LPI_PINGROUP(1, 11, swr_tx_data, i2s0_ws, _, _), + LPI_PINGROUP(2, 11, swr_tx_data, i2s0_data, _, _), + LPI_PINGROUP(3, 11, swr_rx_clk, i2s0_data, _, _), + LPI_PINGROUP(4, 11, swr_rx_data, i2s0_data, _, _), + LPI_PINGROUP(5, 11, swr_rx_data, ext_mclk1_c, i2s0_data, _), + 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, _, _), + LPI_PINGROUP(9, LPI_NO_SLEW, dmic2_data, i2s1_data, ext_mclk1_b, _), + LPI_PINGROUP(10, 11, wsa_swr_clk, i2s2_clk, _, _), + LPI_PINGROUP(11, 11, wsa_swr_data, i2s2_ws, _, _), + LPI_PINGROUP(12, LPI_NO_SLEW, dmic3_clk, i2s2_data, _, _), + LPI_PINGROUP(13, LPI_NO_SLEW, dmic3_data, i2s2_data, ext_mclk1_a, _), + LPI_PINGROUP(14, 11, swr_tx_data, ext_mclk1_d, _, _), + /* gpio15 - gpio18 do not really exist */ + LPI_PINGROUP(15, 11, _, _, _, _), + LPI_PINGROUP(16, 11, _, _, _, _), + LPI_PINGROUP(17, LPI_NO_SLEW, _, _, _, _), + LPI_PINGROUP(18, LPI_NO_SLEW, _, _, _, _), + LPI_PINGROUP(19, LPI_NO_SLEW, i2s3_clk, slimbus_clk, qca_swr_clk, _), + LPI_PINGROUP(20, LPI_NO_SLEW, i2s3_ws, slimbus_data, qca_swr_data, _), + LPI_PINGROUP(21, LPI_NO_SLEW, i2s3_data, dmic4_clk, _, _), + LPI_PINGROUP(22, LPI_NO_SLEW, i2s3_data, dmic4_data, ext_mclk1_e, _), +}; + static const struct lpi_function milos_functions[] = { LPI_FUNCTION(gpio), LPI_FUNCTION(dmic1_clk), @@ -196,8 +223,21 @@ static const struct lpi_pinctrl_variant_data milos_lpi_data = { .nfunctions = ARRAY_SIZE(milos_functions), }; +static const struct lpi_pinctrl_variant_data eliza_lpi_data = { + .pins = milos_lpi_pins, + .npins = ARRAY_SIZE(milos_lpi_pins), + .groups = eliza_groups, + .ngroups = ARRAY_SIZE(eliza_groups), + .functions = milos_functions, + .nfunctions = ARRAY_SIZE(milos_functions), + .flags = LPI_FLAG_SLEW_RATE_SAME_REG, +}; + static const struct of_device_id lpi_pinctrl_of_match[] = { { + .compatible = "qcom,eliza-lpass-lpi-pinctrl", + .data = &eliza_lpi_data, + }, { .compatible = "qcom,milos-lpass-lpi-pinctrl", .data = &milos_lpi_data, }, -- 2.34.1 ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH v1 2/2] pinctrl: qcom: milos-lpass-lpi: Add Eliza LPASS LPI TLMM 2026-07-03 7:30 ` [PATCH v1 2/2] pinctrl: qcom: milos-lpass-lpi: Add Eliza LPASS LPI TLMM Ravi Hothi @ 2026-07-06 10:29 ` Konrad Dybcio 0 siblings, 0 replies; 8+ messages in thread From: Konrad Dybcio @ 2026-07-06 10:29 UTC (permalink / raw) To: Ravi Hothi, Bjorn Andersson, Linus Walleij, Rob Herring, Krzysztof Kozlowski, Conor Dooley, Luca Weiss Cc: linux-arm-msm, linux-gpio, devicetree, linux-kernel, mohammad.rafi.shaik, ajay.nandam On 7/3/26 9:30 AM, Ravi Hothi wrote: > Eliza SoC has the same LPASS LPI pin mux functions as Milos but the > slew rate control is in the same GPIO config register rather than a > separate register. Add a new variant data struct with updated slew > offsets and LPI_FLAG_SLEW_RATE_SAME_REG flag, reusing the existing > pin descriptors and function table from Milos. > > Signed-off-by: Ravi Hothi <ravi.hothi@oss.qualcomm.com> > --- Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com> Konrad ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH v1 0/2] pinctrl: qcom: Add Eliza LPASS LPI support 2026-07-03 7:30 [PATCH v1 0/2] pinctrl: qcom: Add Eliza LPASS LPI support Ravi Hothi 2026-07-03 7:30 ` [PATCH v1 1/2] dt-bindings: pinctrl: qcom,milos-lpass-lpi-pinctrl: Add Eliza pinctrl Ravi Hothi 2026-07-03 7:30 ` [PATCH v1 2/2] pinctrl: qcom: milos-lpass-lpi: Add Eliza LPASS LPI TLMM Ravi Hothi @ 2026-07-03 21:04 ` Linus Walleij 2026-07-06 10:25 ` Bartosz Golaszewski 2 siblings, 1 reply; 8+ messages in thread From: Linus Walleij @ 2026-07-03 21:04 UTC (permalink / raw) To: Ravi Hothi, Bartosz Golaszewski Cc: Bjorn Andersson, Rob Herring, Krzysztof Kozlowski, Conor Dooley, Luca Weiss, linux-arm-msm, linux-gpio, devicetree, linux-kernel, mohammad.rafi.shaik, ajay.nandam Hi Ravi, we are in a bit of maintainer transition for Qcom stuff, Bartosz will apply and coordinate qcom pin control patches! Acked-by: Linus Walleij <linusw@kernel.org> Yours, Linus Walleij ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH v1 0/2] pinctrl: qcom: Add Eliza LPASS LPI support 2026-07-03 21:04 ` [PATCH v1 0/2] pinctrl: qcom: Add Eliza LPASS LPI support Linus Walleij @ 2026-07-06 10:25 ` Bartosz Golaszewski 0 siblings, 0 replies; 8+ messages in thread From: Bartosz Golaszewski @ 2026-07-06 10:25 UTC (permalink / raw) To: Linus Walleij Cc: Ravi Hothi, Bartosz Golaszewski, Bjorn Andersson, Rob Herring, Krzysztof Kozlowski, Conor Dooley, Luca Weiss, linux-arm-msm, linux-gpio, devicetree, linux-kernel, mohammad.rafi.shaik, ajay.nandam On Fri, 3 Jul 2026 23:04:03 +0200, Linus Walleij <linusw@kernel.org> said: > Hi Ravi, > > we are in a bit of maintainer transition for Qcom stuff, > Bartosz will apply and coordinate qcom pin control > patches! > > Acked-by: Linus Walleij <linusw@kernel.org> > > Yours, > Linus Walleij > Yes, Ravi please Cc brgl@kernel.org from now on, the MAINTAINERS file in linux-next is already updated. I'm waiting for an ack on patch 1/2 on this series. Bart ^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2026-07-08 11:33 UTC | newest] Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2026-07-03 7:30 [PATCH v1 0/2] pinctrl: qcom: Add Eliza LPASS LPI support Ravi Hothi 2026-07-03 7:30 ` [PATCH v1 1/2] dt-bindings: pinctrl: qcom,milos-lpass-lpi-pinctrl: Add Eliza pinctrl Ravi Hothi 2026-07-07 13:31 ` Rob Herring (Arm) 2026-07-08 11:33 ` Ravi Hothi 2026-07-03 7:30 ` [PATCH v1 2/2] pinctrl: qcom: milos-lpass-lpi: Add Eliza LPASS LPI TLMM Ravi Hothi 2026-07-06 10:29 ` Konrad Dybcio 2026-07-03 21:04 ` [PATCH v1 0/2] pinctrl: qcom: Add Eliza LPASS LPI support Linus Walleij 2026-07-06 10:25 ` Bartosz Golaszewski
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®