Re: [PATCH v1] arm64: dts: ti: k3-am62-verdin: Set MMC clock pins as OUTPUT

"Mendez, Judith" <[email protected]>
Newsgroups dev.linux.lists.sashiko-reviews,org.kernel.vger.linux-devicetree
Message-ID <[email protected]>

On 8/13/2026 10:47 AM, Francesco Dolcini wrote:
> On Thu, Aug 13, 2026 at 10:45:35AM -0500, Mendez, Judith wrote:
>> Hi Francesco,
>>
>> On 8/13/2026 8:22 AM, Francesco Dolcini wrote:
>>> +Judith
>>>
>>> On Thu, Aug 13, 2026 at 11:24:58AM +0000, [email protected] wrote:
>>>> Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
>>>> - [High] Setting MMC clock pins to PIN_OUTPUT disables the receiver (RXACTIVE=0), which breaks the internal clock loopback required by the MMC controller for read operations.
>>>> --
>>>>
>>>> --- Patch [1]: [PATCH v1] arm64: dts: ti: k3-am62-verdin: Set MMC clock pins as OUTPUT ---
>>>> commit b7e315f9edd8f485234748a2f8e267539b5b0f30
>>>> Author: Francesco Dolcini <[email protected]>
>>>>
>>>> arm64: dts: ti: k3-am62-verdin: Set MMC clock pins as OUTPUT
>>>>
>>>> This commit changes the MMC clock pins for the K3 AM62x Verdin module
>>>> from PIN_INPUT to PIN_OUTPUT to match the TRM documentation, effectively
>>>> disabling the receiver (RXACTIVE = 0).
>>>>
>>>> Link: https://www.ti.com/lit/pdf/spruiv7 Rev. C: Table 12-246. MMCSDi I/O Signals [0]
>>>>
>>>>> diff --git a/arch/arm64/boot/dts/ti/k3-am62-verdin.dtsi b/arch/arm64/boot/dts/ti/k3-am62-verdin.dtsi
>>>>> index e97b2b047d104..895b1b7dcac71 100644
>>>>> --- a/arch/arm64/boot/dts/ti/k3-am62-verdin.dtsi
>>>>> +++ b/arch/arm64/boot/dts/ti/k3-am62-verdin.dtsi
>>>>> @@ -573,7 +573,7 @@ AM62X_IOPAD(0x15c, PIN_INPUT, 0)  /* (AB22) MDIO0_MDIO */ /* ETH_1_MDIO, SODIMM
>>>>>    	pinctrl_sdhci0: main-mmc0-default-pins {
>>>>>    		pinctrl-single,pins = <
>>>>>    			AM62X_IOPAD(0x220, PIN_INPUT,        0) /*  (Y3) MMC0_CMD  */
>>>>> -			AM62X_IOPAD(0x218, PIN_INPUT,        0) /* (AB1) MMC0_CLK  */
>>>>> +			AM62X_IOPAD(0x218, PIN_OUTPUT,       0) /* (AB1) MMC0_CLK  */
>>>>
>>>> [Severity: High]
>>>> Does configuring this pin as PIN_OUTPUT disable the receiver (RXACTIVE=0) and
>>>> break the internal clock loopback?
>>>>
>>>> TI MMC controllers generally rely on this internal clock loopback path to
>>>> synchronize incoming data for read operations. While the TRM documents the
>>>> logical direction of the signal to the external card, disabling the input
>>>> receiver might lead to eMMC read failures and timeouts.
>>>
>>> Judith: is sashiko right on this?
>> Changing to PIN_OUTPUT should not break anything for you on AM62x based
>> board. By default the input buffer for CLK pin is not used, CLKLB input
>> buffer is used instead. CLKLB input is already configured for you by
>> default, you should not be modifying CLKLB for MMC0 nor MMC1.
>>
>> This logic does not apply for MMC2.
> 
> What do you mean? that MMC2_CLK should stay as input?

Well, there is a reason MMC2 CLKLB pin is defined in pinmux nodes on TI
boards (: By default, MMC2 CLKLB is disabled after reset unlike MMC0 and
MMC1. If we do not enable it in software -> PIN_INPUT, then the MMCSD 
loopback clock input would not work and your MMC2 would not work.

~ Judith
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.