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:MMC2未检测到 SDIO 卡

Guru**** 1831610 points
Other Parts Discussed in Thread: AM625, CC3301, CC3351
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1412713/am625-mmc2-not-detecting-sdio-card

器件型号:AM625
主题中讨论的其他器件: CC3301CC3351

工具与软件:

我正在尝试将 mc2上的 wifi-2卡与 AM625配合使用、但当我启动电路板(定制电路板)时、mmc2接口显示、但未检测到卡。

我得到的结果:

mmc2:CQHCI 版本5.10
mmc2:在 fa2000.mmc [fa2000.mmc]上使用 ADMA 64位的 SDHCI 控制器

我还期望:

mmc2:地址为0001的全新超高速 SDR104 SDIO 卡

我还尝试了 AM62X-EVM、也没有检测到插卡。

这是所使用的 dt:

MAIN_mmc2_PINS_DEFAULT:MAIN-mmc2-PINS-DEFAULT
PINCTL-SINGLE、PINS =<
AM62X_IOPAD (0x0120PIN_INPUT0)/*(C24) MMC2_CMD */
AM62X_IOPAD (0x0118PIN_OUTPUT0)/*(D25) MMC2_CLK */
AM62X_IOPAD (0x011CPIN_INPUT0)/*() MMC2_CLKlB */
AM62X_IOPAD (0x0114PIN_INPUT0)/*(B24) MMC2_DAT0 */
AM62X_IOPAD (0x0110PIN_INPUT0)/*(C25) MMC2_DAT1 */
AM62X_IOPAD (0x010cPIN_INPUT0)/*(E23) MMC2_DAT2 */
AM62X_IOPAD (0x0108PIN_INPUT0)/*(D24) MMC2_DAT3 */
>;
};
ssdhci2 {
状态="正常"
pinctrl-names ="默认值"
pinctrl-0 =<&MAIN_mmc2_PINS_DEFAULT>
总线宽度=<4>
不可拆卸
ti、驱动器强度欧姆=<50>
分配的时钟数=<&K3_CLKS 157 158>
assigned-clock-parents =<&K3_CLKS 157 160>
};
PS:M.2卡具有 NXP 的88W9098模块、我设法编译了驱动程序、但如果未检测到卡、则无法使用。 该卡在其他 ARM64板上工作
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    大家好、您能在下面的 TI CC3301模块 DT 覆盖层中查看是否缺少明显的东西吗

    https://git.ti.com/cgit/ti-linux-kernel/ti-linux-kernel/tree/arch/arm64/boot/dts/ti/k3-am625-sk-m2-cc3301.dtso?h=10.00.07&id=6de6e418c80edfbe08f4a5f851c721bd60c0123b

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

    您好、Dtso 不适用于我们的电路板、VMMC 电源直接由 PMIC 供电、而不由 MMC2_SDCD 引脚启用。 似乎您提供的 DTSO 与 am625-sk.dts 几乎相似、但它也不起作用。 (我在 AM62X-EVM 上对其进行了测试)

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

    指派给专家

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

    您好@AB、有任何关于此主题的消息吗?

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

    尊敬的 

    如果您能够使其正常工作、我们使用的系统与始终提供 VMMC 的系统相同、但我们仍面临同样的问题、即无法检测到连接到 mmc2的 SD 卡?

    任何我们可以尝试的东西?

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

    您好、我还在等待"指派的专家"

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

    尊敬的 Dominik:

    在 devicetree 中您缺少一些更多信息。 您共享的 devicetree 片段没有"VMMC-SUPPLY"、因此未启用器件。 这将解释您无法检测到该卡的原因。  

    请按照本主题前面提到的此处提供的示例进行操作、我知道它是 DTSO、但您仍然可以将其作为 DTS 的示例:

    https://git.ti.com/cgit/ti-linux-kernel/ti-linux-kernel/tree/arch/arm64/boot/dts/ti/k3-am625-sk-m2-cc3301.dtso?h=10.00.07&id=6de6e418c80edfbe08f4a5f851c721bd60c0123b 

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

    当我添加 VMMC 电源时、在本例中为 PMIC 的 Buck2_reg、驱动器甚至没有探测到。 如前所述、SDIO 检测也无法在 AM625-SK 上运行、其中 VMMC 存在于器件树中

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

    尊敬的 Dominik:

    VMMC 电源不应该是降压稳压器。 相反、它应是 CC3301的 nRST 引脚。 此 nRST 引脚是否已连接到 AM62x 主机?  

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

    Wifi 模块的复位引脚未直接连接到 AM62x、我们的硬件设计使用 PORz_OUT 进行 SDIO 复位、但在电路板上未连接复位。 但是、无论我们的设计如何、TI 提供的评估套件上也无法正常工作。

    由于没有 GPIO、稳压器现在如下所示:

    wlan_en:稳压器-7
      兼容="稳压器固定"
      regulator-name ="wlan_en"
      稳压器最小微伏=<1800000>
      稳压器最大微伏=<1800000>
    };
    现在我收到一个错误"mmc2:Error -22 while initializing SDIO card"(初始化 SDIO 卡时出现 mmc2:错误-22)。
    WIFI 模块不需要任何复位信号、因为它使用不同的 SoM (SDIO_D0-3、CLK、CMD 已连接、仅此而已)在同一基板上工作
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Dominik:

    您是否已将引脚23或56从 M.2 CC3351卡连接到主机平台?  
    否则、将无法启动驱动器。  

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

    尊敬的 Sabeeh:

    我们的 M.2配备88W9098、而不是 CC3351、但连接器上的引脚应相同。 如我之前的响应中所述、引脚23 (SDIO_RESET#)未连接、但 M.2模块不需要。 引脚56也未连接、但是由于它具有一个内部上拉电阻器、因此对于模块来说也不是必需的。

    但另一方面、SK-AM62X 连接了这些引脚、也未检测到 M.2模块。 这就是为什么我怀疑缺失检测不是由我们的基础板硬件设计引起的。

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

    尊敬的 Dominik:

    SK-AM62X 上是否检测到卡? 您可能需要咨询 NXP 以了解如何检测卡。 您是否具有匹配的器件和引脚设置?

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

    尊敬的 Sabeeh:  

    否、未检测到卡、如我上一篇文章中所述:

    但另一方面、SK-AM62X 连接了这些引脚、并且也未检测到 M.2模块

    应仅在连接数据、CLK 和 CMD 引脚的情况下检测该模块

    WIFI 模块不需要任何复位信号、因为它正在使用不同的 SoM (SDIO_D0-3、CLK、CMD 已连接、没有其他信息)的同一基板上运行[/报价]

    这就是我在同一基板上得到的、具有不同 CPU 的代码:

    [quote userid="562016" url="~/support/processors-group/processors/f/processors-forum/1412713/am625-mmc2-not-detecting-sdio-card mmc2:地址为0001
    的全新超高速 SDR104 SDIO 卡

    这正是我对 SK-AM62X 的期望、在插入模块的情况下引导电路板时、在加载该板的任何驱动程序之前。 这应该在稍后由内核模块完成。

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

    尊敬的 Dominik:

    似乎您需要启用88W9098的内核模块、我不确定它们是否默认启用。 您是否已启用这些功能?

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

    尊敬的 Sabeeh:

    88W9098的内核模块已启用、可以加载、但只要未检测到 SDIO 卡、就无法使用它

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

    尊敬的 Dominik:

    当88W9098在非 TI 平台上工作时、您是否有示例 devicetree?

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

    尊敬的 Sabeeh:

    这是我们在 I. 基于 MX8M Mini 的电路板(SoM 上提供复位 GPIO、但未连接到电路板上):

    &usdhc1{
    Compatible ="FSL、imx8mm-usdhc"、"FSL、imx7d-usdhc";
    REG =<0x30b40000 0x10000>;
    中断= ;
    时钟=<&clk IMX8MM_CLK_IPG_ROOT>
    <&clk IMX8MM_CLK_NAND_USDHC_BUS>
    <&clk IMX8MM_CLK_USDHC1_root>;
    时钟名称="IPG"、"AHB"、"PER";
    fsl、tuning-start-tap =<20>;
    fsl、tuning-step =[2];
    pinctrl-names ="默认值"、"state_100MHz"、"state_200MHz";
    pinctrl-0 =<&pinctrl_usdhc1>、<&pinctrl_usdhc1_gpio>;
    pinctrl-1 =<&pinctrl_usdhc1_100MHz>、<&pinctrl_usdhc1_gpio>;
    pinctrl-2 =<&pinctrl_usdhc1_200MHz>、<&pinctrl_usdhc1_gpio>;
    总线宽度=<8>;
    VMMC 电源=<Registered_SD1_VMMC>;
    PM-忽略-通知;
    保持电源处于挂起状态;
    不可拆卸;
    状态="正常";
    总线宽度=<4>;
    };

    pinctrL_usdhc1_gpio:usdhc1grpgpio{
    FSL、PINS =<
    MX8MM_IOMUXC_SD1_RESET_B_GPIO2_IO10 0x41
    >;
    };

    pinctrl_usdhc1:usdhc1grp {
    FSL、PINS =<
    MX8MM_IOMUXC_SD1_CLK_USDHC1_CLK 0x190
    MX8MM_IOMUXC_SD1_CMD_USDHC1_CMD 0x1d0
    MX8MM_IOMUXC_SD1_DATA0_USDHC1_DATA0 0x1d0
    MX8MM_IOMUXC_SD1_DATA1_USDHC1_DATA1 0x1d0
    MX8MM_IOMUXC_SD1_DATA2_USDHC1_DATA2 0x1d0
    MX8MM_IOMUXC_SD1_DATA3_USDHC1_DATA3 0x1d0
    >;
    };

    未提及模块本身、因为内核中没有直接可用的驱动程序。 但会检测到卡本身。

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

    尊敬的 Dominik:
    我看到的主要区别是您的 am62x DTS 没有 VMMC 电源。 您的卡似乎未启用。 如果卡未启用或未通电、则检测将失败。