* [PATCH v2 0/2] pinctrl: qcom: Add Mahua TLMM support
@ 2026-01-05 13:21 Gopikrishna Garmidi
2026-01-05 13:21 ` [PATCH v2 1/2] dt-bindings: pinctrl: qcom,glymur-tlmm: Document Mahua TLMM block Gopikrishna Garmidi
2026-01-05 13:21 ` [PATCH v2 2/2] pinctrl: qcom: glymur: Add Mahua TLMM support Gopikrishna Garmidi
0 siblings, 2 replies; 5+ messages in thread
From: Gopikrishna Garmidi @ 2026-01-05 13:21 UTC (permalink / raw)
To: Bjorn Andersson, Linus Walleij, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Rajendra Nayak, Pankaj Patil, Sibi Sankar
Cc: Bjorn Andersson, linux-arm-msm, linux-gpio, devicetree,
linux-kernel, Gopikrishna Garmidi
Introduce Top Level Mode Multiplexer support for Mahua, a 12-core
variant of Qualcomm's Glymur compute SoC.
Mahua shares the same pin configuration and GPIO layout as Glymur
but requires different PDC (Power Domain Controller) wake IRQ
mappings for proper wake-up functionality.
Changes:
- Add DeviceTree bindings for Mahua SoC TLMM block
- Add Mahua-specific GPIO to PDC IRQ mappings
- Add mahua tlmm soc data
- Enable probe time config selection based on the compatible string
Signed-off-by: Gopikrishna Garmidi <gopikrishna.garmidi@oss.qualcomm.com>
---
Changes in v2:
- dt-bindings: updated commit message based on review feedback
- pinctrl: drop GPIO 155 from the PDC wakeirq map
- Link to v1: https://lore.kernel.org/r/20260102-pinctrl-qcom-mahua-tlmm-v1-0-0edd71af08b2@oss.qualcomm.com
---
Gopikrishna Garmidi (2):
dt-bindings: pinctrl: qcom,glymur-tlmm: Document Mahua TLMM block
pinctrl: qcom: glymur: Add Mahua TLMM support
.../bindings/pinctrl/qcom,glymur-tlmm.yaml | 6 ++-
drivers/pinctrl/qcom/pinctrl-glymur.c | 43 ++++++++++++++++++++--
2 files changed, 44 insertions(+), 5 deletions(-)
---
base-commit: cc3aa43b44bdb43dfbac0fcb51c56594a11338a8
change-id: 20260102-pinctrl-qcom-mahua-tlmm-433644bae64c
Best regards,
--
Gopikrishna Garmidi <gopikrishna.garmidi@oss.qualcomm.com>
^ permalink raw reply [flat|nested] 5+ messages in thread* [PATCH v2 1/2] dt-bindings: pinctrl: qcom,glymur-tlmm: Document Mahua TLMM block 2026-01-05 13:21 [PATCH v2 0/2] pinctrl: qcom: Add Mahua TLMM support Gopikrishna Garmidi @ 2026-01-05 13:21 ` Gopikrishna Garmidi 2026-01-05 15:40 ` Krzysztof Kozlowski 2026-01-05 13:21 ` [PATCH v2 2/2] pinctrl: qcom: glymur: Add Mahua TLMM support Gopikrishna Garmidi 1 sibling, 1 reply; 5+ messages in thread From: Gopikrishna Garmidi @ 2026-01-05 13:21 UTC (permalink / raw) To: Bjorn Andersson, Linus Walleij, Rob Herring, Krzysztof Kozlowski, Conor Dooley, Rajendra Nayak, Pankaj Patil, Sibi Sankar Cc: Bjorn Andersson, linux-arm-msm, linux-gpio, devicetree, linux-kernel, Gopikrishna Garmidi Update DeviceTree binding for Mahua SoC TLMM block Signed-off-by: Gopikrishna Garmidi <gopikrishna.garmidi@oss.qualcomm.com> --- Documentation/devicetree/bindings/pinctrl/qcom,glymur-tlmm.yaml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/Documentation/devicetree/bindings/pinctrl/qcom,glymur-tlmm.yaml b/Documentation/devicetree/bindings/pinctrl/qcom,glymur-tlmm.yaml index d2b0cfeffb50..2836a1a10579 100644 --- a/Documentation/devicetree/bindings/pinctrl/qcom,glymur-tlmm.yaml +++ b/Documentation/devicetree/bindings/pinctrl/qcom,glymur-tlmm.yaml @@ -10,14 +10,16 @@ maintainers: - Bjorn Andersson <bjorn.andersson@oss.qualcomm.com> description: - Top Level Mode Multiplexer pin controller in Qualcomm Glymur SoC. + Top Level Mode Multiplexer pin controller in Qualcomm Glymur and Mahua SoC. allOf: - $ref: /schemas/pinctrl/qcom,tlmm-common.yaml# properties: compatible: - const: qcom,glymur-tlmm + enum: + - qcom,glymur-tlmm + - qcom,mahua-tlmm reg: maxItems: 1 -- 2.34.1 ^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH v2 1/2] dt-bindings: pinctrl: qcom,glymur-tlmm: Document Mahua TLMM block 2026-01-05 13:21 ` [PATCH v2 1/2] dt-bindings: pinctrl: qcom,glymur-tlmm: Document Mahua TLMM block Gopikrishna Garmidi @ 2026-01-05 15:40 ` Krzysztof Kozlowski 0 siblings, 0 replies; 5+ messages in thread From: Krzysztof Kozlowski @ 2026-01-05 15:40 UTC (permalink / raw) To: Gopikrishna Garmidi, Bjorn Andersson, Linus Walleij, Rob Herring, Krzysztof Kozlowski, Conor Dooley, Rajendra Nayak, Pankaj Patil, Sibi Sankar Cc: Bjorn Andersson, linux-arm-msm, linux-gpio, devicetree, linux-kernel On 05/01/2026 14:21, Gopikrishna Garmidi wrote: > Update DeviceTree binding for Mahua SoC TLMM block > So I will just repeat myself. "2. Why they are not compatible? You have entire commit msg to say something useful instead stating obvious and repeating the diff." Best regards, Krzysztof ^ permalink raw reply [flat|nested] 5+ messages in thread
* [PATCH v2 2/2] pinctrl: qcom: glymur: Add Mahua TLMM support 2026-01-05 13:21 [PATCH v2 0/2] pinctrl: qcom: Add Mahua TLMM support Gopikrishna Garmidi 2026-01-05 13:21 ` [PATCH v2 1/2] dt-bindings: pinctrl: qcom,glymur-tlmm: Document Mahua TLMM block Gopikrishna Garmidi @ 2026-01-05 13:21 ` Gopikrishna Garmidi 2026-01-05 14:56 ` Bjorn Andersson 1 sibling, 1 reply; 5+ messages in thread From: Gopikrishna Garmidi @ 2026-01-05 13:21 UTC (permalink / raw) To: Bjorn Andersson, Linus Walleij, Rob Herring, Krzysztof Kozlowski, Conor Dooley, Rajendra Nayak, Pankaj Patil, Sibi Sankar Cc: Bjorn Andersson, linux-arm-msm, linux-gpio, devicetree, linux-kernel, Gopikrishna Garmidi Add Mahua-specific compatible and wakeirq map Add mahua tlmm soc data Signed-off-by: Gopikrishna Garmidi <gopikrishna.garmidi@oss.qualcomm.com> --- drivers/pinctrl/qcom/pinctrl-glymur.c | 43 ++++++++++++++++++++++++++++++++--- 1 file changed, 40 insertions(+), 3 deletions(-) diff --git a/drivers/pinctrl/qcom/pinctrl-glymur.c b/drivers/pinctrl/qcom/pinctrl-glymur.c index 335005084b6b..0f47e75db7b4 100644 --- a/drivers/pinctrl/qcom/pinctrl-glymur.c +++ b/drivers/pinctrl/qcom/pinctrl-glymur.c @@ -1729,6 +1729,25 @@ static const struct msm_gpio_wakeirq_map glymur_pdc_map[] = { { 232, 206 }, { 234, 172 }, { 235, 173 }, { 242, 158 }, { 244, 156 }, }; +static const struct msm_gpio_wakeirq_map mahua_pdc_map[] = { + { 0, 116 }, { 2, 114 }, { 3, 115 }, { 4, 175 }, { 5, 176 }, + { 7, 111 }, { 11, 129 }, { 13, 130 }, { 15, 112 }, { 19, 113 }, + { 23, 187 }, { 27, 188 }, { 28, 121 }, { 29, 122 }, { 30, 136 }, + { 31, 203 }, { 32, 189 }, { 34, 174 }, { 35, 190 }, { 36, 191 }, + { 39, 124 }, { 43, 192 }, { 47, 193 }, { 51, 123 }, { 53, 133 }, + { 55, 125 }, { 59, 131 }, { 64, 134 }, { 65, 150 }, { 66, 186 }, + { 67, 132 }, { 68, 195 }, { 71, 135 }, { 75, 196 }, { 79, 197 }, + { 83, 198 }, { 84, 181 }, { 85, 199 }, { 87, 200 }, { 91, 201 }, + { 92, 182 }, { 93, 183 }, { 94, 184 }, { 95, 185 }, { 98, 202 }, + { 105, 157 }, { 113, 128 }, { 121, 117 }, { 123, 118 }, { 125, 119 }, + { 129, 120 }, { 131, 126 }, { 132, 160 }, { 133, 194 }, { 134, 127 }, + { 141, 137 }, { 144, 138 }, { 145, 139 }, { 147, 140 }, { 148, 141 }, + { 150, 146 }, { 151, 147 }, { 153, 148 }, { 154, 144 }, { 156, 149 }, + { 157, 151 }, { 163, 142 }, { 172, 143 }, { 181, 145 }, { 193, 161 }, + { 196, 152 }, { 203, 177 }, { 208, 178 }, { 215, 162 }, { 217, 153 }, + { 220, 154 }, { 221, 155 }, { 228, 179 }, { 230, 180 }, { 232, 206 }, + { 234, 172 }, { 235, 173 }, { 242, 158 }, { 244, 156 }, +}; static const struct msm_pinctrl_soc_data glymur_tlmm = { .pins = glymur_pins, .npins = ARRAY_SIZE(glymur_pins), @@ -1742,14 +1761,32 @@ static const struct msm_pinctrl_soc_data glymur_tlmm = { .egpio_func = 11, }; +static const struct msm_pinctrl_soc_data mahua_tlmm = { + .pins = glymur_pins, + .npins = ARRAY_SIZE(glymur_pins), + .functions = glymur_functions, + .nfunctions = ARRAY_SIZE(glymur_functions), + .groups = glymur_groups, + .ngroups = ARRAY_SIZE(glymur_groups), + .ngpios = 251, + .wakeirq_map = mahua_pdc_map, + .nwakeirq_map = ARRAY_SIZE(mahua_pdc_map), + .egpio_func = 11, +}; static const struct of_device_id glymur_tlmm_of_match[] = { - { .compatible = "qcom,glymur-tlmm", }, - { } + { .compatible = "qcom,glymur-tlmm", .data = &glymur_tlmm }, + { .compatible = "qcom,mahua-tlmm", .data = &mahua_tlmm }, + { }, }; static int glymur_tlmm_probe(struct platform_device *pdev) { - return msm_pinctrl_probe(pdev, &glymur_tlmm); + const struct msm_pinctrl_soc_data *data; + + data = of_device_get_match_data(&pdev->dev); + if (!data) + return -ENODEV; + return msm_pinctrl_probe(pdev, data); } static struct platform_driver glymur_tlmm_driver = { -- 2.34.1 ^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH v2 2/2] pinctrl: qcom: glymur: Add Mahua TLMM support 2026-01-05 13:21 ` [PATCH v2 2/2] pinctrl: qcom: glymur: Add Mahua TLMM support Gopikrishna Garmidi @ 2026-01-05 14:56 ` Bjorn Andersson 0 siblings, 0 replies; 5+ messages in thread From: Bjorn Andersson @ 2026-01-05 14:56 UTC (permalink / raw) To: Gopikrishna Garmidi Cc: Linus Walleij, Rob Herring, Krzysztof Kozlowski, Conor Dooley, Rajendra Nayak, Pankaj Patil, Sibi Sankar, Bjorn Andersson, linux-arm-msm, linux-gpio, devicetree, linux-kernel On Mon, Jan 05, 2026 at 05:21:11AM -0800, Gopikrishna Garmidi wrote: > Add Mahua-specific compatible and wakeirq map > Add mahua tlmm soc data I'm sorry, but saying "Add Mahua" three times doesn't tell me why this patch exists. Looking at the patch I'm guessing that the PDC map is different and we therefor need this patch, but the reader of the git log shouldn't have to guess. Please fix it with something like: """ Mahua TLMM block is identical to Glymur, but the PDC map differs in X, Y, Z. Add the Mahua-specific PDC map to the Glymur TLMM driver. """ > > Signed-off-by: Gopikrishna Garmidi <gopikrishna.garmidi@oss.qualcomm.com> > --- > drivers/pinctrl/qcom/pinctrl-glymur.c | 43 ++++++++++++++++++++++++++++++++--- > 1 file changed, 40 insertions(+), 3 deletions(-) > > diff --git a/drivers/pinctrl/qcom/pinctrl-glymur.c b/drivers/pinctrl/qcom/pinctrl-glymur.c > index 335005084b6b..0f47e75db7b4 100644 > --- a/drivers/pinctrl/qcom/pinctrl-glymur.c > +++ b/drivers/pinctrl/qcom/pinctrl-glymur.c > @@ -1729,6 +1729,25 @@ static const struct msm_gpio_wakeirq_map glymur_pdc_map[] = { > { 232, 206 }, { 234, 172 }, { 235, 173 }, { 242, 158 }, { 244, 156 }, > }; > > +static const struct msm_gpio_wakeirq_map mahua_pdc_map[] = { > + { 0, 116 }, { 2, 114 }, { 3, 115 }, { 4, 175 }, { 5, 176 }, > + { 7, 111 }, { 11, 129 }, { 13, 130 }, { 15, 112 }, { 19, 113 }, > + { 23, 187 }, { 27, 188 }, { 28, 121 }, { 29, 122 }, { 30, 136 }, > + { 31, 203 }, { 32, 189 }, { 34, 174 }, { 35, 190 }, { 36, 191 }, > + { 39, 124 }, { 43, 192 }, { 47, 193 }, { 51, 123 }, { 53, 133 }, > + { 55, 125 }, { 59, 131 }, { 64, 134 }, { 65, 150 }, { 66, 186 }, > + { 67, 132 }, { 68, 195 }, { 71, 135 }, { 75, 196 }, { 79, 197 }, > + { 83, 198 }, { 84, 181 }, { 85, 199 }, { 87, 200 }, { 91, 201 }, > + { 92, 182 }, { 93, 183 }, { 94, 184 }, { 95, 185 }, { 98, 202 }, > + { 105, 157 }, { 113, 128 }, { 121, 117 }, { 123, 118 }, { 125, 119 }, > + { 129, 120 }, { 131, 126 }, { 132, 160 }, { 133, 194 }, { 134, 127 }, > + { 141, 137 }, { 144, 138 }, { 145, 139 }, { 147, 140 }, { 148, 141 }, > + { 150, 146 }, { 151, 147 }, { 153, 148 }, { 154, 144 }, { 156, 149 }, > + { 157, 151 }, { 163, 142 }, { 172, 143 }, { 181, 145 }, { 193, 161 }, > + { 196, 152 }, { 203, 177 }, { 208, 178 }, { 215, 162 }, { 217, 153 }, > + { 220, 154 }, { 221, 155 }, { 228, 179 }, { 230, 180 }, { 232, 206 }, > + { 234, 172 }, { 235, 173 }, { 242, 158 }, { 244, 156 }, > +}; Do you see how there's a single newline between glymur_pdc_map[] and glymur_tlmm today? Please follow that style. > static const struct msm_pinctrl_soc_data glymur_tlmm = { > .pins = glymur_pins, > .npins = ARRAY_SIZE(glymur_pins), > @@ -1742,14 +1761,32 @@ static const struct msm_pinctrl_soc_data glymur_tlmm = { > .egpio_func = 11, > }; > > +static const struct msm_pinctrl_soc_data mahua_tlmm = { > + .pins = glymur_pins, > + .npins = ARRAY_SIZE(glymur_pins), > + .functions = glymur_functions, > + .nfunctions = ARRAY_SIZE(glymur_functions), > + .groups = glymur_groups, > + .ngroups = ARRAY_SIZE(glymur_groups), > + .ngpios = 251, > + .wakeirq_map = mahua_pdc_map, > + .nwakeirq_map = ARRAY_SIZE(mahua_pdc_map), > + .egpio_func = 11, > +}; Here as well. Regards, Bjorn > static const struct of_device_id glymur_tlmm_of_match[] = { > - { .compatible = "qcom,glymur-tlmm", }, > - { } > + { .compatible = "qcom,glymur-tlmm", .data = &glymur_tlmm }, > + { .compatible = "qcom,mahua-tlmm", .data = &mahua_tlmm }, > + { }, > }; > > static int glymur_tlmm_probe(struct platform_device *pdev) > { > - return msm_pinctrl_probe(pdev, &glymur_tlmm); > + const struct msm_pinctrl_soc_data *data; > + > + data = of_device_get_match_data(&pdev->dev); > + if (!data) > + return -ENODEV; > + return msm_pinctrl_probe(pdev, data); > } > > static struct platform_driver glymur_tlmm_driver = { > > -- > 2.34.1 > ^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2026-01-05 15:40 UTC | newest] Thread overview: 5+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2026-01-05 13:21 [PATCH v2 0/2] pinctrl: qcom: Add Mahua TLMM support Gopikrishna Garmidi 2026-01-05 13:21 ` [PATCH v2 1/2] dt-bindings: pinctrl: qcom,glymur-tlmm: Document Mahua TLMM block Gopikrishna Garmidi 2026-01-05 15:40 ` Krzysztof Kozlowski 2026-01-05 13:21 ` [PATCH v2 2/2] pinctrl: qcom: glymur: Add Mahua TLMM support Gopikrishna Garmidi 2026-01-05 14:56 ` Bjorn Andersson
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox