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.

[参考译文] 我是否应该在使用不同的 eMMC 模块时修改源代码

Guru**** 2613765 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/575820/should-i-modify-source-code-when-using-different-emmc-module

主题中讨论的其他器件:DRA752

大家好、我将使用 Jacinto 6、GLSDK 7.04.03。

如果我们在 DRA742-EVM 577G-02-21-00 板上将 eMMC 替换为"Kingston 8GB EMMC08G-W325-B52"、我是否应该修改 eMMC 驱动程序?

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

    我已将您的问题转交给 EMMC 专家。

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

    如果您计划在8位模式下使用此 eMMC、Vccq (I/O 电源)设置为1.8V、我认为不需要 eMMC u-boot 驱动程序和 DTS 文件更新。 我假设您将 eMMC 连接到 Jacinto6 MMC2接口、并使用与 EVM 相同的 MMC2引脚。

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

    有一个建议的答案、由于此主题上没有活动已有一周以上、
    建议的答案被标记为验证。 请随意选择"拒绝回答"按钮、并回复更多详细信息。

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

    在我检查我们的硬件设计时、我们的 Vccq 是3.3V、那么我是否应该修改代码来适应这种变化?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    肖恩、

    让我们首先关注 u-boot。 1.8V vs 3.3V 设置位于以下文件中:

    u-boot/arch/arm/dts/dra7.dtsi

    mmc2:MMC@480b4000{

    兼容="ti、dra7-hsmmc"、"ti、omAP4-hsmmc";

    REG =<0x480b4000 0x400>;

    中断= ;

    ti、hwmds ="mmc2";

    TI,需要特殊重置;

    DMA =<&sdma 47>、<&sdma 48>;

    dma-names ="TX"、"Rx";

    MMC-HS200-1_8v;

    MMC-DDR-1_8v;

    STATUS ="禁用";

    };

     

    u-boot/drivers/MMC/MMC-uclass.c

    if (fdtdec get_bool (fdt、node、"MMC-DDR-1_8v"))
          cfg->host_cap |= MMC_MODE_DDR_52MHz;
    if (fdtdec get_bool (fdt、node、"MMC-HS200-1_8v"))
          cfg->host_cap |= MMC_MODE_HS200;

     

    u-boot/drivers/MMC/OMAP-hsmmc.c

    OMAP-HSMMC_SETUP_PINCTRL (MMC_MODE_HS200、HS200_1_8v);
    OMAP-HSMMC_SETUP_PINCTRL (MMC_MODE_DDR_52MHz、DDR_1_8v);

     

    因此您应该更新 dra7.dtsi。 有关1.8V IO 与3.3V IO 的更多信息、请参阅 DRA74x TRM 第25章 eMMC

    此致、
    帕维尔

     

     

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

    您好、Pavel、

    u-boot/arch/arm/dts/dra7.dtsi 中、我看不到"MMC-HS200-1_8v"和"MMC-DDR-1_8v"。 我的文件的内容是

    mmc2:MMC@480b4000{

    兼容="ti、dra7-hsmmc"、"ti、omAP4-hsmmc";

    REG =<0x480b4000 0x400>;

    中断= ;

    ti、hwmds ="mmc2";

    TI,需要特殊重置;

    DMA =<&sdma_Xbar 47>、<&sdma_Xbar 48>;

    dma-names ="TX"、"Rx";

    STATUS ="禁用";

    };

    我找不到 u-boot/drivers/MMC/MMC-uclass.c 这个文件。

    u-boot/drivers/MMC/OMAP-hsmmc.c 中、我也看不到

    OMAP-HSMMC_SETUP_PINCTRL (MMC_MODE_HS200、HS200_1_8v);

    OMAP-HSMMC_SETUP_PINCTRL (MMC_MODE_DDR_52MHz、DDR_1_8v);

    这两个函数调用。

    但我仍然可以访问 eMMC。 因此、1.8V 可能是 eMMC 的默认电压设置、这就是为什么我可以在不指定1.8V 设置的情况下使用它的原因、对吧?

    另一个问题=>所以 我应该只修改 u-boot/arch/arm/dts/dra7.dtsi 的3.3V 设置,对吧?

    附注: minee2e.ti.com/.../5618.files.7z 的相关文件

    此致

    肖恩

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

    我在上一个帖子中提到的文件在 PSDKLA 3.1中提供

    关于 GLSDK7、您应该更新以下文件:

    u-boot/board/ti/dra7xx/evm.c

    在 GLSDK7中、我找不到 u-boot/arch/arm/dts/dra7.dtsi
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Pavel、

    在 u-boot/board/ti/dra7xx/evm.c 中、我只看到一个与1.8V 相关的器件、作为熔断

    案例 DRA752_ES2_0:

    max_freq = cpu_TO_fdt32 (192000000);

    /* dt-update:添加 mmc1属性*/

    FDT_addprop_aliases (fdt、"mmc1"、"SD-UHS-sddr104"、NULL、0);

    fdt_addprop_aliases (fdt、"mmc1"、"max-frequisity"、&max_freq、4);

    /* dt-update:添加 mmc2属性*/

    FDT_addprop_aliases (fdt、"mmc2"、"MMC-HS200-1_8v"、NULL、0);

    fdt_addprop_aliases (fdt、"mmc2"、"max-frequisity"、&max_freq、4);

    中断;

    那么、您是要更改该字符串吗?

    此外、我可以在/sdk_DIR/board-support/linux/arch/arm/boot/dts/中找到 dra7.dtsi、我是否也应该修改此文件?

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

    [引用 user="Shawn LIN"]因此,您是要更改此字符串?

    是的。 了解此灯串如何影响 MMC 驱动器设置(1.8V 与3.3V)

    [引用 USER="Shawn LIN"]另外,我可以在/sdk_DIR/board-support/linux/arch/arm/boot/dts/中找到 dra7.dtsi,我是否也应该修改此文件?

    不、我在那里没有看到任何与1.8V 相关的东西。 重点介绍 evm.c 和 omap_hsmmc.c

    此致、
    帕维尔

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

    [引用 user="Shawn LIN"]因此,您是要更改此字符串?

    是的

    [引用 USER="Shawn LIN"]另外,我可以在/sdk_DIR/board-support/linux/arch/arm/boot/dts/中找到 dra7.dtsi,我是否也应该修改此文件?

    不、我在那里没有看到任何与1.8V 相关的东西。

    重点介绍 evm.c 和 omap_hsmmc.c

    此致、
    帕维尔

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

    您好、Pavel、

    2个问题

    1.应该使用什么字符串来替换"MMC-HS200-1_8v"? 我应该使用"MMC-HS200-3_3V_"吗?

    2.in "u-boot/drivers/mmc/omap_hmmc.c"、我找不到任何与1_8v 相关的世界、这意味着我只应 修改 "u-boot/board/ti/dra7xx/evm.c"此文件、对吧?

    此致、

    肖恩

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Shawn、
    此处似乎对支持的电压和支持的功能/频率模式有一点混淆。

    SD/eMMC 支持不同的功能/频率模式、这些模式在内核中使用 ddr50_3.3V、hs_3.3V、ddr50_1.8V、sdr50_1.8V、hs200_1.8V 等基于支持的工作电压和频率的字符串命名。

    2.您可以在3.3V 或1.8V 电压下运行 eMMC -但某些模式面向低电压运行。
    您可以参阅 eMMC 规范4.51第4节"总线速度模式"、了解每个电压支持哪些模式。
    您还可以参阅 DRA74x TRM 第25.1.1节 eMMC/SD/SDIO 特性至了解每个 MMC 实例支持的不同模式。

    3、根据 MMC 规范、仅在1.8V 电压下支持超高速模式 HS200。

    我们知道以下详细信息、以帮助您确定所需的更改。

    您是否具有工作板和软件代码库? 您只是更改 eMMC 吗?
    或者、这是您第一次使用 TI SDK 来介绍您的硬件吗?



    此致、
    RK
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!
    如果这是您第一次在电路板上启动 TI SDK、请分享以下详细信息

    您使用的是哪个芯片版本? PG 2.0?
    与 TI EVM 相比、MMC 引脚是否有任何变化?

    每个 MMC 实例的连接以及 VDD 和 IO 线路的工作电压
    MMC1--> SD? 1.8/3.3V?
    MMC2->eMMC? 3.3V
    MMC3、4?

    此外、如果您刚推出电路板、我建议您使用 processors.wiki.ti.com/.../Category:Processor_SDK_Linux_Automotive 上的最新 SDK 版本

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

    是的、这是第一次。
    我们的定制板仍使用 MMC2连接 eMMC、并使用3.3V。
    我将与我们的硬件成员一起查看并提供给您的其他信息。

    您的意思是、我们的剖切板仍然可以在不修改代码的情况下控制 eMMC?(因为 EVM 对 eMMC 使用1.8V 电压、而我们使用几乎相同的代码来引导我们的定制板、当然、对引脚定义进行了一些修改。)
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    [引用 USER="Shawn LIN]1. 应该使用什么字符串来替换"MMC-HS200-1_8v"? 我应该使用"MMC-HS200-3_3V_"吗?

    否 如果您使用的是 ES 2.0设备,请删除以下两行:

    FDT_addprop_aliases (fdt、"mmc2"、"MMC-HS200-1_8v"、NULL、0);
    fdt_addprop_aliases (fdt、"mmc2"、"max-frequisity"、&max_freq、4);

    当使用3.3V 模式时、eMMC 不支持 HS200 (192MHz)模式。 在3.3V 模式下、eMMC 支持高达 HS (48MHz)模式。

    [引用 user="Shawn LIN]2.in u-boot/drivers/mmc/omap_hmmc.c、我找不到任何与1_8v 相关的世界、这意味着我只应 修改 "u-boot/board/ti/dra7xx/evm.c"此文件、对吧?

    是的、仅修改 EVM.c。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    尊敬的 Pavel/Shawn:
    让我们首先了解 MMC 和稳压器的连接、配置和要求。

    稍后、我们可以建议需要进行哪些更改以及哪些更改。

    此外、添加了 FAIR、FDT_addpro_alias()以在 ES 2.0芯片上启用 HS200/sdr104模式、并且无论 eMMC 卡是否支持该字符串(只要主机支持该字符串)、保留该字符串都不成问题。

    MMC 驱动程序将在初始化期间与卡通信、并根据主机和卡功能以特定的速度模式到达。

    客户需要做的就是提供有关 IO 和 VDD、MMC 电抗和器件版本的稳压器连接的正确信息。

    此致、
    RK