Linux ARM-MSM sub-architecture
 help / color / mirror / Atom feed
* [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

* [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

* 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

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