[PATCH v6 00/20] Add support for MMC higher speed modes for TI's am65x, j721e and j7200 platforms

Aswath Govindraju a-govindraju at ti.com
Thu Feb 4 10:40:45 CET 2021


The following patches add support for higher speeds in the SD card and
eMMC for TI's am65x, j721e, j7200 platforms.

With these patches, the following max speeds are supported:
j721e: DDR50, HS200
j7200: SDR104, HS200
am65x: SDR104*, HS200

changes since v5:
1. In patch 1 moved the 5ms delay after setting the 1.8V
   enable bit
2. In patch 1 added a check to confirm if the output has
   stabilized.
3. Picked up Reviewed-by from Jaehoon Chung for patch 1

changes since v4:
1. removed patch(15 in v4) that adds support for HS400 in
   J7200 platform, as there are some errors while switching
   to HS400 mode.
2. changed the function regulator_set_enable() in patch 1 to
   regulator_set_enable_if_allowed() as there is a possibility
   of not having an enable gpio.
3. changed the pin direction from PIN_INPUT to PIN_OUTPUT for
   pins SPI1_CS1 and SPI0_D1 in patches 13 and 15 (in v4)
   respectively.
4. changed the configs enabled, to HS200 from HS400 for J7200
   in patch 18 (in v4).

changes since v3:
1. changed #if to if(IS_ENABLED()) in patch 1 for MMC_IO_VOLTAGE.
2. changed the format for print statements added in v3 to remove
   warnings arising when DM_REGULATOR variable is not defined
3. Added a patch to add support for HS400 speed mode in J7200
   as it is now supported.
4. edited patch 17 (in v3) to add support for HS400 instead of
   HS200 as it is now supported in J7200 SoC.
4. Added description for sdhci_set_ctrl_reg() function in
   include/sdhci.h
5. Added comment for mdelay in patch 1
6. Picked up Reviewed-by's from Jaehoon Chung

changes since v2:
1. Added print statements in case of failure for regulator_set_enable and
   regulator_set_value function calls in patch 1
2. Removed patch 18 (in v2) as it has been applied by commit [1]
3. renamed the function  dev_get_platdata() to dev_get_plat in patch 8
4. rebased all the patches in seriesn

changes since v1:
1. Added patches to support UHS modes for the SD card even in am654x
   platforms.
2. Fixed an issue with patch 1 that was breaking builds on some platforms.

* There's an issue with the am65x base board such that the power cycle
circuit to the card takes way longer than the wait time in mmc core.  Until
this is fixed, am654x-evm and -idk will only support High speed mode at
3.3V (see patch 20) but this shouldn't block us from adding UHS modes in
the dtsi as well as in the configs so other boards can still take advantage
of the higher speed. UHS modes have been tested by adding the appropriate
delay in the power cycle circuit.

[1] - commit 67507e4aab5b ("sandbox: Fix up building for of-platdata")

Link to v1:
https://patchwork.ozlabs.org/project/uboot/list/?series=206622


Faiz Abbas (20):
  mmc: sdhci: Add helper functions for UHS modes
  mmc: am654_sdhci: Unconditionally switch off DLL in the beginning of
    ios_post()
  mmc: am654_sdhci: Convert flag fields to BIT macro
  mmc: am654_sdhci: Add flag for PHY calibration
  mmc: am654_sdhci: Add support for AM65x SR2.0
  mmc: am654_sdhci: Add support for input tap delay
  mmc: am654_sdhci: Add support for writing to clkbuf_sel
  mmc: am654_sdhci: Add support for software tuning
  mmc: am654_sdhci: Fix HISPD bit configuration in some lower speed
    modes
  mmc: am654_sdhci: Use sdhci_set_control_reg()
  arm: dts: k3-am65: Fix mmc nodes
  arm: dts: k3-j721e-main: Update otap-delay values
  arm: dts: k3-j721e-common-proc-board: Add support for UHS modes for SD
    card
  arm: dts: k3-j7200-main: Add support for gpio0
  arm: dts: k3-j7200-common-proc-board: Enable support for UHS modes
  configs: j721e_evm: Add support for UHS modes
  configs: j7200_evm: Add support for UHS modes
  arm: dts: k3-am65-main: Add itapdly and clkbuf-sel values
  arm: dts: k3-am654-base-board: Limit Sd card to High speed modes
  configs: am65x_evm: Add configs for UHS modes

 arch/arm/dts/k3-am65-main.dtsi                |  31 ++
 arch/arm/dts/k3-am654-base-board-u-boot.dtsi  |  67 +--
 arch/arm/dts/k3-am654-base-board.dts          |  26 ++
 arch/arm/dts/k3-am654-r5-base-board.dts       |  20 +-
 arch/arm/dts/k3-j7200-common-proc-board.dts   |  49 ++-
 arch/arm/dts/k3-j7200-main.dtsi               |  23 ++
 .../arm/dts/k3-j7200-r5-common-proc-board.dts |  15 +
 arch/arm/dts/k3-j721e-common-proc-board.dts   |  32 ++
 arch/arm/dts/k3-j721e-main.dtsi               |   8 +-
 configs/am65x_evm_a53_defconfig               |   8 +
 configs/am65x_evm_r5_defconfig                |   2 +
 configs/j7200_evm_a72_defconfig               |   8 +
 configs/j7200_evm_r5_defconfig                |   1 +
 configs/j721e_evm_a72_defconfig               |   8 +
 configs/j721e_evm_r5_defconfig                |   1 +
 drivers/mmc/Kconfig                           |   1 +
 drivers/mmc/am654_sdhci.c                     | 384 +++++++++++++-----
 drivers/mmc/sdhci.c                           |  95 +++++
 include/sdhci.h                               |  10 +
 19 files changed, 616 insertions(+), 173 deletions(-)

-- 
2.17.1



More information about the U-Boot mailing list