This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] AM625:通过手动调优失败来验证 eMMC/SD 卡回退操作

Guru**** 2872480 points

Other Parts Discussed in Thread: AM625

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1638774/am625-validate-emmc-sd-card-fallback-operation-by-failing-the-tuning-manually

器件型号: AM625

您好、

我们将基于 am625 并使用最新的 ti-processor-sdk-linux-am62xx-evm-12.00.00.07.04 启动定制硬件。 我们的 eMMC 支持 HS200、工作正常、调优算法也有效、但我们想验证一下、我们的 eMMC 是否以较低的速度运行、就像在极端情况下的传统模式一样、无需修改 DTS、因为调优时强制失败(使用 return –1)  

drivers/MMC/host/sdHCi_am654.c

static int sdhci_am654_platform_executive_tuning (struct sdhci_host *host、
                        U32 操作码)
{     
    struct sdhci_pltfm_host *pltfm_host = sdhci_priv (host);
    struct sdhci_am654_data *sdhci_am654 = sdhci_pltfm_priv (pltfm_host);
    unsigned char timing = host->MMC->ios.timing;
    结构设备*dev = mmc_dev(host->mmc);
    很明显;

    执行{
        itapdly = sdhci_am654_do_tuning(主机,操作码);
        if(显然>= 0)
            休息;
    } while (++sdhci_am654->tuning_loop < RETRY_TUNING_MAX);

    dev_err (dev、“失败、调整失败\n“);
    返回–1;
    .......................................................................................

但对于此器件、触发后无法挂载 rootfs  

错误日志

mmc0:调优执行失败:–1(来自 MMC_EXECURE_TUNING)

mmc0:初始化 MMC 卡时出现错误–1(从 MMC_Attach_MMC 函数)

 

如果发生极端情况或调优失败、任何手动测试方法都可以看到 eMMC 是否回退到较低的速度?   

而不限制 DTS 中的速度

 

 

 

 

 

 

 

 

 

 

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好:

    在极端情况下或调优失败时、任何要查看的手动测试方法是否回退到较低速度?

    根据我的理解、在 HS200 模式下初始化失败时、您是否希望 eMMC 驱动程序回退到低速模式?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Prashant、

    是、如果在 HS200 调优中失败、需要验证回退机制以降低速度。

    此致、

    Gireesh

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好:

    是的、如果在 HS200 调优中失败、则需要验证回退机制以降低速度。

    这是对通用 Linux MMC 框架(而非 TI MMC 驱动程序集成)的查询。 我不确定 如果下一个高速模式失败、通用 MMC 驱动程序是否会自动降级到低速模式。 我只能给你一个机会。」  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Prashant、

    根据我的观察、am62x 使用平台特定调优(来自 drivers/MMC/host/sdhci_am654.c 的 sdhci_am654_platform_executeing) 、可能不会调用通用调优。  如果平台 HS200 调优失败、则不会回退到较低速度

    此致、

    Gireesh Hiremath

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好:

    根据我的观察、am62x 使用特定于平台的调优(来自 drivers/MMC/host/sdhci_am654.c 的 sdhci_am654_platform_execution_tuning) 可能无法调用通用调优。

    正确、但这 只是特定于平台的调优过程。  TI MMC One (sdhci_am654.c) 等主机驱动程序仅为设置 IO 等不同步骤提供特定于平台的实现。 总体 MMC 初始化算法仍然是通用 Linux MMC 驱动程序的一部分。

    如果主机驱动程序报告调优失败、它仍然是核心 Linux MMC 驱动程序的设计选择、用于后续操作可能包括记录初始化失败或降级到低速模式。

    通用主机驱动程序中实现的通用调优过程也仅执行调优并报告状态

    github.com/.../sdhci.c

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Prashant、

    但如果它找到了 github.com/.../sdhci.c

      if (host->ops->platform_executive_tuning){
        Err = host->ops->platform_executive_tuning(主机,操作码);
        转至外;
      }

    它永远不会调用标准调优函数并直接退出。

    我尝试  像在第一篇文章中那样返回–1 格式的函数 sdhci_am654_platform_executeing、以强制失败、但器件从不使用 rootfs 连接

    是否有任何方法无法通过平台调谐 (HS200)、并看到通用调优是否会影响回退到较低速度?

    此致、

    Gireesh Hiremath

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好:

    我认为通用调优函数 (_sdhci_execute_tuning) 也没有处理回退机制。 它仅执行调优过程。 理想情况下、如果实施、回退机制将是核心 Linux MMC 驱动程序(驱动程序/MMC/CORE)的一部分。 从设计约定来看、内核驱动程序会要求主机驱动程序(通用或特定于平台)在内核驱动程序根据需要配置 eMMC 后执行调优。 如果主机驱动程序报告调优故障、则由内核驱动程序决定如何进一步继续。 它可能会将其视为致命错误或尝试回退到较低速度模式、但理想情况下、所有这一切只会成为核心 Linux MMC 驱动程序的一部分。