Skip to content

Commit ad70655

Browse files
jmentipraneethbajjuri
authored andcommitted
feat(linux): document errata i2458 for eMMC HS400
Document errata i2458 for eMMC HS400 bus mode. If support for eMMC HS400 is still required, provide instructions for enabling eMMC HS400 mode. Signed-off-by: Judith Mendez <[email protected]>
1 parent 5e4fa39 commit ad70655

File tree

2 files changed

+99
-3
lines changed

2 files changed

+99
-3
lines changed

source/linux/Foundational_Components/Kernel/Kernel_Drivers/Storage/MMC-SD.rst

Lines changed: 42 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ Features
6969
- SD cards including SD High Speed and SDHC cards
7070
- Uses block bounce buffer to aggregate scattered blocks
7171

72-
.. ifconfig:: CONFIG_part_family in ('J7_family', 'AM62PX_family')
72+
.. ifconfig:: CONFIG_part_family in ('J7_family')
7373

7474
The SD/MMC driver supports the following features:
7575

@@ -78,7 +78,7 @@ Features
7878
- Support for both built-in and module mode
7979
- ext2/ext3/ext4 file system support
8080

81-
.. ifconfig:: CONFIG_part_family in ('AM62X_family', 'AM62AX_family', 'AM64X_family', 'AM62LX_family')
81+
.. ifconfig:: CONFIG_part_family in ('AM62X_family', 'AM62AX_family', 'AM64X_family', 'AM62LX_family', 'AM62PX_family')
8282

8383
The SD/MMC driver supports the following features:
8484

@@ -87,6 +87,8 @@ Features
8787
- Support for both built-in and module mode
8888
- ext2/ext3/ext4 file system support
8989

90+
.. _mmc-sd-supported-hs-modes:
91+
9092
SD: Supported High Speed Modes
9193
******************************
9294

@@ -231,7 +233,7 @@ SD: Supported High Speed Modes
231233
AM62*, Y, Y, N
232234
AM62ax, Y, Y, N
233235
am64x, Y, Y, N
234-
am62px, Y, Y, Y
236+
am62px, Y, Y, N
235237
am62lx, Y, Y, N
236238

237239
Driver Configuration
@@ -481,6 +483,43 @@ Driver Configuration
481483
482484
sdhci2: mmc@fa20000 {
483485
486+
eMMC HS400 support in Linux
487+
===========================
488+
489+
.. ifconfig:: CONFIG_part_family in ('AM62PX_family')
490+
491+
For 11.0 SDK, am62px device does not support eMMC HS400 mode due to errata i2458.
492+
If support for HS400 is anyways required, please add the following DT attributes to sdhci0 node:
493+
494+
.. code-block:: diff
495+
496+
diff --git a/arch/arm64/boot/dts/ti/k3-am62p-j722s-common-main.dtsi b/arch/arm64/boot/dts/ti/k3-am62p-j722s-common-main.dtsi
497+
index 3e5ca8a3eb86..a05b22a6e5a2 100644
498+
--- a/arch/arm64/boot/dts/ti/k3-am62p-j722s-common-main.dtsi
499+
+++ b/arch/arm64/boot/dts/ti/k3-am62p-j722s-common-main.dtsi
500+
@@ -593,12 +593,16 @@ sdhci0: mmc@fa10000 {
501+
bus-width = <8>;
502+
mmc-ddr-1_8v;
503+
mmc-hs200-1_8v;
504+
+ mmc-hs400-1_8v;
505+
ti,clkbuf-sel = <0x7>;
506+
ti,trm-icp = <0x8>;
507+
+ ti,strobe-sel = <0x55>;
508+
ti,otap-del-sel-legacy = <0x1>;
509+
ti,otap-del-sel-mmc-hs = <0x1>;
510+
ti,otap-del-sel-ddr52 = <0x6>;
511+
ti,otap-del-sel-hs200 = <0x8>;
512+
+ ti,otap-del-sel-hs400 = <0x5>; // at 0.85V VDD_CORE
513+
+ //ti,otap-del-sel-hs400 = <0x7>; // at 0.75V VDD_CORE
514+
ti,itap-del-sel-legacy = <0x10>;
515+
ti,itap-del-sel-mmc-hs = <0xa>;
516+
ti,itap-del-sel-ddr52 = <0x3>;
517+
518+
.. ifconfig:: CONFIG_part_family not in ('AM62PX_family')
519+
520+
eMMC HS400 is not suppported, refer to :ref:`this <mmc-sd-supported-hs-modes>` table for the list of modes supported in Linux
521+
for |__PART_FAMILY_NAME__| SoC.
522+
484523
|
485524
486525
Listing MMC devices from Linux

source/linux/Foundational_Components/U-Boot/UG-Memory-K3.rst

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1010,3 +1010,60 @@ increasing order of reducing performance.
10101010
};
10111011
10121012
sdhci2: mmc@fa20000 {
1013+
1014+
eMMC HS400 support in u-boot
1015+
============================
1016+
1017+
.. ifconfig:: CONFIG_part_family in ('AM62PX_family')
1018+
1019+
For 11.0 SDK, am62px device does not support eMMC HS400 mode due to errata i2458.
1020+
If support for HS400 is anyways required, please add the following DT attributes to sdhci0 node:
1021+
1022+
.. code-block:: diff
1023+
1024+
diff --git a/dts/upstream/src/arm64/ti/k3-am62p-j722s-common-main.dtsi b/dts/upstream/src/arm64/ti/k3-am62p-j722s-common-main.dtsi
1025+
index 8bfc6539b2a..8a536b081e1 100644
1026+
--- a/dts/upstream/src/arm64/ti/k3-am62p-j722s-common-main.dtsi
1027+
+++ b/dts/upstream/src/arm64/ti/k3-am62p-j722s-common-main.dtsi
1028+
@@ -593,12 +593,16 @@
1029+
bus-width = <8>;
1030+
mmc-ddr-1_8v;
1031+
mmc-hs200-1_8v;
1032+
+ mmc-hs400-1_8v;
1033+
ti,clkbuf-sel = <0x7>;
1034+
+ ti,strobe-sel = <0x55>;
1035+
ti,trm-icp = <0x8>;
1036+
ti,otap-del-sel-legacy = <0x1>;
1037+
ti,otap-del-sel-mmc-hs = <0x1>;
1038+
ti,otap-del-sel-ddr52 = <0x6>;
1039+
ti,otap-del-sel-hs200 = <0x8>;
1040+
+ ti,otap-del-sel-hs400 = <0x5>; // at 0.85V VDD_CORE
1041+
+ //ti,otap-del-sel-hs400 = <0x7>; // at 0.75V VDD_CORE
1042+
ti,itap-del-sel-legacy = <0x10>;
1043+
ti,itap-del-sel-mmc-hs = <0xa>;
1044+
ti,itap-del-sel-ddr52 = <0x3>;
1045+
1046+
and enable the following config options:
1047+
1048+
.. code-block:: diff
1049+
1050+
diff --git a/configs/am62px_evm_a53_defconfig b/configs/am62px_evm_a53_defconfig
1051+
index 09a91248ce6..f95879f41c9 100644
1052+
--- a/configs/am62px_evm_a53_defconfig
1053+
+++ b/configs/am62px_evm_a53_defconfig
1054+
@@ -114,8 +114,8 @@ CONFIG_MMC_IO_VOLTAGE=y
1055+
CONFIG_SPL_MMC_IO_VOLTAGE=y
1056+
CONFIG_MMC_UHS_SUPPORT=y
1057+
CONFIG_SPL_MMC_UHS_SUPPORT=y
1058+
-CONFIG_MMC_HS200_SUPPORT=y
1059+
-CONFIG_SPL_MMC_HS200_SUPPORT=y
1060+
+CONFIG_MMC_HS400_SUPPORT=y
1061+
+CONFIG_SPL_MMC_HS400_SUPPORT=y
1062+
CONFIG_MMC_SDHCI=y
1063+
CONFIG_MMC_SDHCI_ADMA=y
1064+
CONFIG_SPL_MMC_SDHCI_ADMA=y
1065+
1066+
.. ifconfig:: CONFIG_part_family not in ('AM62PX_family')
1067+
1068+
eMMC HS400 is not suppported, refer to :ref:`this <mmc-sd-supported-hs-modes>` table for the list of modes supported in u-boot
1069+
for |__PART_FAMILY_NAME__| SoC.

0 commit comments

Comments
 (0)