public inbox for linux-arm-kernel@lists.infradead.org
 help / color / mirror / Atom feed
* [PATCH v2 0/3] Fix MMC pin pull configurations
@ 2026-02-23 23:37 Judith Mendez
  2026-02-23 23:37 ` [PATCH v2 1/3] arm64: dts: ti: k3-am62p5-sk: Disable MMC1 internal pulls on data pins Judith Mendez
                   ` (4 more replies)
  0 siblings, 5 replies; 7+ messages in thread
From: Judith Mendez @ 2026-02-23 23:37 UTC (permalink / raw)
  To: Judith Mendez, Nishanth Menon, Vignesh Raghavendra
  Cc: Tero Kristo, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	linux-arm-kernel, devicetree, linux-kernel, Moteen Shah,
	Andrew Davis

This series corrects MMC pin pull-up/pull-down configurations across
TI AM62L EVM, AM62P SK, & AM62 LP SK boards to properly match their
hardware design.

Most boards have external pull-ups on MMC pins, but DT configuration
was also enabling internal pulls. Having both internal and external
pulls active causes several issues:
- Unnecessary power consumption due to stronger pull resistance
- Floating pins violating SPEC recommendations

All changes are based on the respective board schematics referenced
in each patch.

Changes since v1:
- improved all commit descriptions
- removed incorrect claim: potential issues for modes with tighter
  timing requirements due to mismatched pull strengths between D0 and
  remaining data pins
- drop patch 2/4. While there is a host side mismatch between D0 and
  D1-D7 pins, leaving internal pullup on D0 equals a stronger pull,
  helping with poor board design issues and better matching D0 pullup
  strength with D1-D7 after taking into account eMMC card pullups on
  D1-D7 pins
- rebased against ti-k3-dts-next

Link to v1:
https://lore.kernel.org/all/20260212184246.2316659-1-jm@ti.com/

Judith Mendez (3):
  arm64: dts: ti: k3-am62p5-sk: Disable MMC1 internal pulls on data pins
  arm64: dts: ti: k3-am62l-evm: Disable MMC1 internal pulls on data pins
  arm64: dts: ti: k3-am62-lp-sk: Enable internal pulls for MMC0 data
    pins

 arch/arm64/boot/dts/ti/k3-am62-lp-sk.dts | 14 +++++++-------
 arch/arm64/boot/dts/ti/k3-am62l3-evm.dts |  6 +++---
 arch/arm64/boot/dts/ti/k3-am62p5-sk.dts  |  6 +++---
 3 files changed, 13 insertions(+), 13 deletions(-)

-- 
2.52.0



^ permalink raw reply	[flat|nested] 7+ messages in thread

* [PATCH v2 1/3] arm64: dts: ti: k3-am62p5-sk: Disable MMC1 internal pulls on data pins
  2026-02-23 23:37 [PATCH v2 0/3] Fix MMC pin pull configurations Judith Mendez
@ 2026-02-23 23:37 ` Judith Mendez
  2026-02-23 23:37 ` [PATCH v2 2/3] arm64: dts: ti: k3-am62l-evm: " Judith Mendez
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 7+ messages in thread
From: Judith Mendez @ 2026-02-23 23:37 UTC (permalink / raw)
  To: Judith Mendez, Nishanth Menon, Vignesh Raghavendra
  Cc: Tero Kristo, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	linux-arm-kernel, devicetree, linux-kernel, Moteen Shah,
	Andrew Davis

AM62P SK has external 10K pullups on MMC1 DAT1-DAT3 pins [0].
Disable internal pullups on DAT1-DAT3 so that each line has a
single pullup source:
- with both pullups enabled, the effective parallel resistance on
  DAT1-3 (~8.33K) drops below the 10K minimum pullup requirement
  for data lines (per SD Physical Layer Specification)
- removing internal pullups makes DAT1-3 match DAT0 10K
  external pullup so its consistent and within spec
- both internal and external pullups enabled equals unnecessary power
  consumption

Fixes: c00504ea42c0 ("arm64: dts: ti: k3-am62p5-sk: Updates for SK EVM")
[0] https://www.ti.com/lit/zip/SPRR487
Signed-off-by: Judith Mendez <jm@ti.com>
Reviewed-by: Moteen Shah <m-shah@ti.com>
---
 arch/arm64/boot/dts/ti/k3-am62p5-sk.dts | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/arch/arm64/boot/dts/ti/k3-am62p5-sk.dts b/arch/arm64/boot/dts/ti/k3-am62p5-sk.dts
index 4f7f6f95b02ef..35baa777b9121 100644
--- a/arch/arm64/boot/dts/ti/k3-am62p5-sk.dts
+++ b/arch/arm64/boot/dts/ti/k3-am62p5-sk.dts
@@ -271,9 +271,9 @@ main_mmc1_pins_default: main-mmc1-default-pins {
 			AM62PX_IOPAD(0x023c, PIN_INPUT, 0) /* (H20) MMC1_CMD */
 			AM62PX_IOPAD(0x0234, PIN_OUTPUT, 0) /* (J24) MMC1_CLK */
 			AM62PX_IOPAD(0x0230, PIN_INPUT, 0) /* (H21) MMC1_DAT0 */
-			AM62PX_IOPAD(0x022c, PIN_INPUT_PULLUP, 0) /* (H23) MMC1_DAT1 */
-			AM62PX_IOPAD(0x0228, PIN_INPUT_PULLUP, 0) /* (H22) MMC1_DAT2 */
-			AM62PX_IOPAD(0x0224, PIN_INPUT_PULLUP, 0) /* (H25) MMC1_DAT3 */
+			AM62PX_IOPAD(0x022c, PIN_INPUT, 0) /* (H23) MMC1_DAT1 */
+			AM62PX_IOPAD(0x0228, PIN_INPUT, 0) /* (H22) MMC1_DAT2 */
+			AM62PX_IOPAD(0x0224, PIN_INPUT, 0) /* (H25) MMC1_DAT3 */
 			AM62PX_IOPAD(0x0240, PIN_INPUT, 0) /* (D23) MMC1_SDCD */
 		>;
 		bootph-all;
-- 
2.52.0



^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [PATCH v2 2/3] arm64: dts: ti: k3-am62l-evm: Disable MMC1 internal pulls on data pins
  2026-02-23 23:37 [PATCH v2 0/3] Fix MMC pin pull configurations Judith Mendez
  2026-02-23 23:37 ` [PATCH v2 1/3] arm64: dts: ti: k3-am62p5-sk: Disable MMC1 internal pulls on data pins Judith Mendez
@ 2026-02-23 23:37 ` Judith Mendez
  2026-02-23 23:37 ` [PATCH v2 3/3] arm64: dts: ti: k3-am62-lp-sk: Enable internal pulls for MMC0 " Judith Mendez
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 7+ messages in thread
From: Judith Mendez @ 2026-02-23 23:37 UTC (permalink / raw)
  To: Judith Mendez, Nishanth Menon, Vignesh Raghavendra
  Cc: Tero Kristo, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	linux-arm-kernel, devicetree, linux-kernel, Moteen Shah,
	Andrew Davis

AM62L EVM has external 47K pullups on MMC1 DAT1-DAT3 pins [0].
Disable internal pullups on DAT1-DAT3 so that each line has a
single pullup source:
- with both pullups enabled, the effective parallel resistance on
  DAT1-3 (~24.2K) creates a ~2x mismatch vs DAT0 (47K external
  only). Removing internal pullups results in DAT1-3 matching DAT0 at 47K
- 47K external alone is within the recommended range for 1.8V
  signaling (10K min, 50K recommended max)
- both internal and external pullups enabled equals unnecessary power
  consumption

Fixes: 00fb4c73b67d ("arm64: dts: ti: k3-am62l: add initial reference board file")
[0] https://www.ti.com/lit/zip/SPRCAL6
Signed-off-by: Judith Mendez <jm@ti.com>
Reviewed-by: Moteen Shah <m-shah@ti.com>
---
 arch/arm64/boot/dts/ti/k3-am62l3-evm.dts | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/arch/arm64/boot/dts/ti/k3-am62l3-evm.dts b/arch/arm64/boot/dts/ti/k3-am62l3-evm.dts
index cae04cce33736..bd876c68aa347 100644
--- a/arch/arm64/boot/dts/ti/k3-am62l3-evm.dts
+++ b/arch/arm64/boot/dts/ti/k3-am62l3-evm.dts
@@ -272,9 +272,9 @@ mmc1_pins_default: mmc1-default-pins {
 			AM62LX_IOPAD(0x0230, PIN_INPUT, 0) /* (Y3) MMC1_CMD */
 			AM62LX_IOPAD(0x0228, PIN_OUTPUT, 0) /* (Y2) MMC1_CLK */
 			AM62LX_IOPAD(0x0224, PIN_INPUT, 0) /* (AA1) MMC1_DAT0 */
-			AM62LX_IOPAD(0x0220, PIN_INPUT_PULLUP, 0) /* (Y4) MMC1_DAT1 */
-			AM62LX_IOPAD(0x021c, PIN_INPUT_PULLUP, 0) /* (AA2) MMC1_DAT2 */
-			AM62LX_IOPAD(0x0218, PIN_INPUT_PULLUP, 0) /* (AB2) MMC1_DAT3 */
+			AM62LX_IOPAD(0x0220, PIN_INPUT, 0) /* (Y4) MMC1_DAT1 */
+			AM62LX_IOPAD(0x021c, PIN_INPUT, 0) /* (AA2) MMC1_DAT2 */
+			AM62LX_IOPAD(0x0218, PIN_INPUT, 0) /* (AB2) MMC1_DAT3 */
 			AM62LX_IOPAD(0x0234, PIN_INPUT, 0) /* (B6) MMC1_SDCD */
 		>;
 		bootph-all;
-- 
2.52.0



^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [PATCH v2 3/3] arm64: dts: ti: k3-am62-lp-sk: Enable internal pulls for MMC0 data pins
  2026-02-23 23:37 [PATCH v2 0/3] Fix MMC pin pull configurations Judith Mendez
  2026-02-23 23:37 ` [PATCH v2 1/3] arm64: dts: ti: k3-am62p5-sk: Disable MMC1 internal pulls on data pins Judith Mendez
  2026-02-23 23:37 ` [PATCH v2 2/3] arm64: dts: ti: k3-am62l-evm: " Judith Mendez
@ 2026-02-23 23:37 ` Judith Mendez
  2026-03-19  8:02 ` [PATCH v2 0/3] Fix MMC pin pull configurations Francesco Dolcini
  2026-03-27  4:56 ` Vignesh Raghavendra
  4 siblings, 0 replies; 7+ messages in thread
From: Judith Mendez @ 2026-02-23 23:37 UTC (permalink / raw)
  To: Judith Mendez, Nishanth Menon, Vignesh Raghavendra
  Cc: Tero Kristo, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	linux-arm-kernel, devicetree, linux-kernel, Moteen Shah,
	Andrew Davis

AM62 LP SK board does not have external pullups on MMC0 DAT1-DAT7
pins [0]. Enable internal pullups on DAT1-DAT7 considering:
- without a host-side pullup, these lines rely solely on the eMMC
  device's internal pullup (R_int, 10-150K per JEDEC), which may
  exceed the recommended 50K max for 1.8V VCCQ
- JEDEC JESD84-B51 Table 200 requires host-side pullups (R_DAT,
  10K-100K) on all data lines to prevent bus floating

Fixes: a0b8da04153e ("arm64: dts: ti: k3-am62*: Move eMMC pinmux to top level board file")
[0] https://www.ti.com/lit/zip/SPRR471
Signed-off-by: Judith Mendez <jm@ti.com>
Reviewed-by: Moteen Shah <m-shah@ti.com>
---
 arch/arm64/boot/dts/ti/k3-am62-lp-sk.dts | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)

diff --git a/arch/arm64/boot/dts/ti/k3-am62-lp-sk.dts b/arch/arm64/boot/dts/ti/k3-am62-lp-sk.dts
index 3e2d8f6695351..8a556fbbe08b7 100644
--- a/arch/arm64/boot/dts/ti/k3-am62-lp-sk.dts
+++ b/arch/arm64/boot/dts/ti/k3-am62-lp-sk.dts
@@ -88,13 +88,13 @@ main_mmc0_pins_default: main-mmc0-default-pins {
 			AM62X_IOPAD(0x220, PIN_INPUT, 0) /* (V3) MMC0_CMD */
 			AM62X_IOPAD(0x218, PIN_INPUT, 0) /* (Y1) MMC0_CLK */
 			AM62X_IOPAD(0x214, PIN_INPUT, 0) /* (V2) MMC0_DAT0 */
-			AM62X_IOPAD(0x210, PIN_INPUT, 0) /* (V1) MMC0_DAT1 */
-			AM62X_IOPAD(0x20c, PIN_INPUT, 0) /* (W2) MMC0_DAT2 */
-			AM62X_IOPAD(0x208, PIN_INPUT, 0) /* (W1) MMC0_DAT3 */
-			AM62X_IOPAD(0x204, PIN_INPUT, 0) /* (Y2) MMC0_DAT4 */
-			AM62X_IOPAD(0x200, PIN_INPUT, 0) /* (W3) MMC0_DAT5 */
-			AM62X_IOPAD(0x1fc, PIN_INPUT, 0) /* (W4) MMC0_DAT6 */
-			AM62X_IOPAD(0x1f8, PIN_INPUT, 0) /* (V4) MMC0_DAT7 */
+			AM62X_IOPAD(0x210, PIN_INPUT_PULLUP, 0) /* (V1) MMC0_DAT1 */
+			AM62X_IOPAD(0x20c, PIN_INPUT_PULLUP, 0) /* (W2) MMC0_DAT2 */
+			AM62X_IOPAD(0x208, PIN_INPUT_PULLUP, 0) /* (W1) MMC0_DAT3 */
+			AM62X_IOPAD(0x204, PIN_INPUT_PULLUP, 0) /* (Y2) MMC0_DAT4 */
+			AM62X_IOPAD(0x200, PIN_INPUT_PULLUP, 0) /* (W3) MMC0_DAT5 */
+			AM62X_IOPAD(0x1fc, PIN_INPUT_PULLUP, 0) /* (W4) MMC0_DAT6 */
+			AM62X_IOPAD(0x1f8, PIN_INPUT_PULLUP, 0) /* (V4) MMC0_DAT7 */
 		>;
 	};
 
-- 
2.52.0



^ permalink raw reply related	[flat|nested] 7+ messages in thread

* Re: [PATCH v2 0/3] Fix MMC pin pull configurations
  2026-02-23 23:37 [PATCH v2 0/3] Fix MMC pin pull configurations Judith Mendez
                   ` (2 preceding siblings ...)
  2026-02-23 23:37 ` [PATCH v2 3/3] arm64: dts: ti: k3-am62-lp-sk: Enable internal pulls for MMC0 " Judith Mendez
@ 2026-03-19  8:02 ` Francesco Dolcini
  2026-03-23 15:43   ` Judith Mendez
  2026-03-27  4:56 ` Vignesh Raghavendra
  4 siblings, 1 reply; 7+ messages in thread
From: Francesco Dolcini @ 2026-03-19  8:02 UTC (permalink / raw)
  To: Judith Mendez
  Cc: Nishanth Menon, Vignesh Raghavendra, Tero Kristo, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, linux-arm-kernel, devicetree,
	linux-kernel, Moteen Shah, Andrew Davis

Hello Judith,

On Mon, Feb 23, 2026 at 05:37:28PM -0600, Judith Mendez wrote:
> This series corrects MMC pin pull-up/pull-down configurations across
> TI AM62L EVM, AM62P SK, & AM62 LP SK boards to properly match their
> hardware design.

On AM62P the first mmc controller has no pinctrl, how is the situation
on this specific interface?

Francesco




^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH v2 0/3] Fix MMC pin pull configurations
  2026-03-19  8:02 ` [PATCH v2 0/3] Fix MMC pin pull configurations Francesco Dolcini
@ 2026-03-23 15:43   ` Judith Mendez
  0 siblings, 0 replies; 7+ messages in thread
From: Judith Mendez @ 2026-03-23 15:43 UTC (permalink / raw)
  To: Francesco Dolcini
  Cc: Nishanth Menon, Vignesh Raghavendra, Tero Kristo, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, linux-arm-kernel, devicetree,
	linux-kernel, Moteen Shah, Andrew Davis

Hi Francesco,

On 3/19/26 3:02 AM, Francesco Dolcini wrote:
> Hello Judith,
> 
> On Mon, Feb 23, 2026 at 05:37:28PM -0600, Judith Mendez wrote:
>> This series corrects MMC pin pull-up/pull-down configurations across
>> TI AM62L EVM, AM62P SK, & AM62 LP SK boards to properly match their
>> hardware design.
> 
> On AM62P the first mmc controller has no pinctrl, how is the situation
> on this specific interface?

For AM62P, MM0 interface is a hardphy. We do not need pinmux nodes
for hardphys since there is nothing to configure, pins have one
purpose, and it cannot be changed.

~ Judith


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH v2 0/3] Fix MMC pin pull configurations
  2026-02-23 23:37 [PATCH v2 0/3] Fix MMC pin pull configurations Judith Mendez
                   ` (3 preceding siblings ...)
  2026-03-19  8:02 ` [PATCH v2 0/3] Fix MMC pin pull configurations Francesco Dolcini
@ 2026-03-27  4:56 ` Vignesh Raghavendra
  4 siblings, 0 replies; 7+ messages in thread
From: Vignesh Raghavendra @ 2026-03-27  4:56 UTC (permalink / raw)
  To: Nishanth Menon, Judith Mendez
  Cc: Vignesh Raghavendra, Tero Kristo, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, linux-arm-kernel, devicetree,
	linux-kernel, Moteen Shah, Andrew Davis

Hi Judith Mendez,

On Mon, 23 Feb 2026 17:37:28 -0600, Judith Mendez wrote:
> This series corrects MMC pin pull-up/pull-down configurations across
> TI AM62L EVM, AM62P SK, & AM62 LP SK boards to properly match their
> hardware design.
> 
> Most boards have external pull-ups on MMC pins, but DT configuration
> was also enabling internal pulls. Having both internal and external
> pulls active causes several issues:
> - Unnecessary power consumption due to stronger pull resistance
> - Floating pins violating SPEC recommendations
> 
> [...]

I have applied the following to branch ti-k3-dts-next on [1].
Thank you!

[1/3] arm64: dts: ti: k3-am62p5-sk: Disable MMC1 internal pulls on data pins
      commit: 6d4441be969bea89bb9702781f5dfb3a8f2a02a4
[2/3] arm64: dts: ti: k3-am62l-evm: Disable MMC1 internal pulls on data pins
      commit: 02532ba56362907b6aca3e8289c4a9247ef83325
[3/3] arm64: dts: ti: k3-am62-lp-sk: Enable internal pulls for MMC0 data pins
      commit: ee2a9d9c9e6c9643fb7e45febcaedfbc038e483a

All being well this means that it will be integrated into the linux-next
tree (usually sometime in the next 24 hours) and sent up the chain during
the next merge window (or sooner if it is a relevant bug fix), however if
problems are discovered then the patch may be dropped or reverted.

You may get further e-mails resulting from automated or manual testing
and review of the tree, please engage with people reporting problems and
send followup patches addressing any issues that are reported if needed.

If any updates are required or you are submitting further changes they
should be sent as incremental updates against current git, existing
patches will not be replaced.

Please add any relevant lists and maintainers to the CCs when replying
to this mail.

[1] https://git.kernel.org/pub/scm/linux/kernel/git/ti/linux.git
--
Vignesh



^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2026-03-27  4:57 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-02-23 23:37 [PATCH v2 0/3] Fix MMC pin pull configurations Judith Mendez
2026-02-23 23:37 ` [PATCH v2 1/3] arm64: dts: ti: k3-am62p5-sk: Disable MMC1 internal pulls on data pins Judith Mendez
2026-02-23 23:37 ` [PATCH v2 2/3] arm64: dts: ti: k3-am62l-evm: " Judith Mendez
2026-02-23 23:37 ` [PATCH v2 3/3] arm64: dts: ti: k3-am62-lp-sk: Enable internal pulls for MMC0 " Judith Mendez
2026-03-19  8:02 ` [PATCH v2 0/3] Fix MMC pin pull configurations Francesco Dolcini
2026-03-23 15:43   ` Judith Mendez
2026-03-27  4:56 ` Vignesh Raghavendra

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox