Skip to content

Commit a0b8da0

Browse files
jmentir-vignesh
authored andcommitted
arm64: dts: ti: k3-am62*: Move eMMC pinmux to top level board file
This moves pinmux child nodes for sdhci0 node from k3-am62x-sk-common to each top level board file. This is needed since we require internal pullups for AM62x SK and not for AM62 LP SK since it has external pullups on DATA 1-7. Internal pulls are required for AM62 SK as per JESD84 spec recommendation to prevent unconnected lines floating. Fixes: d19a66a ("arm64: dts: ti: k3-am625-sk: Enable on board peripherals") Cc: stable@vger.kernel.org Signed-off-by: Judith Mendez <jm@ti.com> Link: https://lore.kernel.org/r/20250707190830.3951619-1-jm@ti.com Signed-off-by: Vignesh Raghavendra <vigneshr@ti.com>
1 parent 8e44ac6 commit a0b8da0

3 files changed

Lines changed: 48 additions & 24 deletions

File tree

arch/arm64/boot/dts/ti/k3-am62-lp-sk.dts

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,22 @@
7474
};
7575

7676
&main_pmx0 {
77+
main_mmc0_pins_default: main-mmc0-default-pins {
78+
bootph-all;
79+
pinctrl-single,pins = <
80+
AM62X_IOPAD(0x220, PIN_INPUT, 0) /* (V3) MMC0_CMD */
81+
AM62X_IOPAD(0x218, PIN_INPUT, 0) /* (Y1) MMC0_CLK */
82+
AM62X_IOPAD(0x214, PIN_INPUT, 0) /* (V2) MMC0_DAT0 */
83+
AM62X_IOPAD(0x210, PIN_INPUT, 0) /* (V1) MMC0_DAT1 */
84+
AM62X_IOPAD(0x20c, PIN_INPUT, 0) /* (W2) MMC0_DAT2 */
85+
AM62X_IOPAD(0x208, PIN_INPUT, 0) /* (W1) MMC0_DAT3 */
86+
AM62X_IOPAD(0x204, PIN_INPUT, 0) /* (Y2) MMC0_DAT4 */
87+
AM62X_IOPAD(0x200, PIN_INPUT, 0) /* (W3) MMC0_DAT5 */
88+
AM62X_IOPAD(0x1fc, PIN_INPUT, 0) /* (W4) MMC0_DAT6 */
89+
AM62X_IOPAD(0x1f8, PIN_INPUT, 0) /* (V4) MMC0_DAT7 */
90+
>;
91+
};
92+
7793
vddshv_sdio_pins_default: vddshv-sdio-default-pins {
7894
pinctrl-single,pins = <
7995
AM62X_IOPAD(0x07c, PIN_OUTPUT, 7) /* (M19) GPMC0_CLK.GPIO0_31 */
@@ -144,6 +160,14 @@
144160
};
145161
};
146162

163+
&sdhci0 {
164+
bootph-all;
165+
non-removable;
166+
pinctrl-names = "default";
167+
pinctrl-0 = <&main_mmc0_pins_default>;
168+
status = "okay";
169+
};
170+
147171
&sdhci1 {
148172
vmmc-supply = <&vdd_mmc1>;
149173
vqmmc-supply = <&vddshv_sdio>;

arch/arm64/boot/dts/ti/k3-am625-sk.dts

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -106,6 +106,22 @@
106106
};
107107

108108
&main_pmx0 {
109+
main_mmc0_pins_default: main-mmc0-default-pins {
110+
bootph-all;
111+
pinctrl-single,pins = <
112+
AM62X_IOPAD(0x220, PIN_INPUT, 0) /* (Y3) MMC0_CMD */
113+
AM62X_IOPAD(0x218, PIN_INPUT, 0) /* (AB1) MMC0_CLK */
114+
AM62X_IOPAD(0x214, PIN_INPUT, 0) /* (AA2) MMC0_DAT0 */
115+
AM62X_IOPAD(0x210, PIN_INPUT_PULLUP, 0) /* (AA1) MMC0_DAT1 */
116+
AM62X_IOPAD(0x20c, PIN_INPUT_PULLUP, 0) /* (AA3) MMC0_DAT2 */
117+
AM62X_IOPAD(0x208, PIN_INPUT_PULLUP, 0) /* (Y4) MMC0_DAT3 */
118+
AM62X_IOPAD(0x204, PIN_INPUT_PULLUP, 0) /* (AB2) MMC0_DAT4 */
119+
AM62X_IOPAD(0x200, PIN_INPUT_PULLUP, 0) /* (AC1) MMC0_DAT5 */
120+
AM62X_IOPAD(0x1fc, PIN_INPUT_PULLUP, 0) /* (AD2) MMC0_DAT6 */
121+
AM62X_IOPAD(0x1f8, PIN_INPUT_PULLUP, 0) /* (AC2) MMC0_DAT7 */
122+
>;
123+
};
124+
109125
main_rgmii2_pins_default: main-rgmii2-default-pins {
110126
bootph-all;
111127
pinctrl-single,pins = <
@@ -195,6 +211,14 @@
195211
};
196212
};
197213

214+
&sdhci0 {
215+
bootph-all;
216+
non-removable;
217+
pinctrl-names = "default";
218+
pinctrl-0 = <&main_mmc0_pins_default>;
219+
status = "okay";
220+
};
221+
198222
&sdhci1 {
199223
vmmc-supply = <&vdd_mmc1>;
200224
vqmmc-supply = <&vdd_sd_dv>;

arch/arm64/boot/dts/ti/k3-am62x-sk-common.dtsi

Lines changed: 0 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -203,22 +203,6 @@
203203
>;
204204
};
205205

206-
main_mmc0_pins_default: main-mmc0-default-pins {
207-
bootph-all;
208-
pinctrl-single,pins = <
209-
AM62X_IOPAD(0x220, PIN_INPUT, 0) /* (Y3/V3) MMC0_CMD */
210-
AM62X_IOPAD(0x218, PIN_INPUT, 0) /* (AB1/Y1) MMC0_CLK */
211-
AM62X_IOPAD(0x214, PIN_INPUT, 0) /* (AA2/V2) MMC0_DAT0 */
212-
AM62X_IOPAD(0x210, PIN_INPUT, 0) /* (AA1/V1) MMC0_DAT1 */
213-
AM62X_IOPAD(0x20c, PIN_INPUT, 0) /* (AA3/W2) MMC0_DAT2 */
214-
AM62X_IOPAD(0x208, PIN_INPUT, 0) /* (Y4/W1) MMC0_DAT3 */
215-
AM62X_IOPAD(0x204, PIN_INPUT, 0) /* (AB2/Y2) MMC0_DAT4 */
216-
AM62X_IOPAD(0x200, PIN_INPUT, 0) /* (AC1/W3) MMC0_DAT5 */
217-
AM62X_IOPAD(0x1fc, PIN_INPUT, 0) /* (AD2/W4) MMC0_DAT6 */
218-
AM62X_IOPAD(0x1f8, PIN_INPUT, 0) /* (AC2/V4) MMC0_DAT7 */
219-
>;
220-
};
221-
222206
main_mmc1_pins_default: main-mmc1-default-pins {
223207
bootph-all;
224208
pinctrl-single,pins = <
@@ -457,14 +441,6 @@
457441
clock-frequency = <400000>;
458442
};
459443

460-
&sdhci0 {
461-
bootph-all;
462-
status = "okay";
463-
non-removable;
464-
pinctrl-names = "default";
465-
pinctrl-0 = <&main_mmc0_pins_default>;
466-
};
467-
468444
&sdhci1 {
469445
/* SD/MMC */
470446
bootph-all;

0 commit comments

Comments
 (0)