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.

[参考译文] Linux/AM3358:SD 卡根分区

Guru**** 2914610 points

Other Parts Discussed in Thread: AM3358

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/664443/linux-am3358-sd-card-root-partition

器件型号:AM3358

工具/软件:Linux

你(们)好

我已经设计了一个使用 AM3358的定制板、我的板正在从 SD 卡引导。 我尚未使用 SD 卡检测信号。 我需要在 DTS 文件中执行哪些更改才能检测到根文件系统。

未检测到根文件系统。

此致

MAD_HU

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

    我观察到、在 DTS 文件中、他们调用&mmc1并将 VMMC-reg 作为该文件的电源、并且 VMMC-reg 由 TPS PMIC IC 生成。 在我们的定制板中、我们不使用 TPS PMIC、也不使用与 PMIC 的 I2C 通信。 这是否会在根文件系统的标识方面造成任何问题。

    请帮助我尽早解决此问题。


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

    您好、Madhu、

    [引用 user="Madhu GANDEPALLI"]我已经使用 AM3358[/quot]设计了定制板

    您的定制板是基于 AM335x TI EVM、SK、BBB 还是其他?

    [报价用户="Madhu GANDEPALLI"]我的主板正在从 SD 卡引导

    您使用哪个 MMC 实例进行引导、MMC0/0x4806_0000或 MMC1/0x481D_8000?

    [报价用户="Madhu GANDEPALLI"]我没有使用 SD 卡检测信号。

    您是指引脚 mmc0_sdcd 还是 mmc1_sdcd?

    请注意、AM335x TI EVM 不使用 mmc0_sdcd 信号进行卡检测、而是使用 GPIO0_6信号。 MMC/SD 接口使用 GPIO 作为卡检测引脚。

    以下 DTS 文件中对此进行了说明:

    {PSDK}/board-support/u-boot/arch/arm/dts/am335x-evm.dts

    {PSDK}/board-support/linux-kernel/arch/arm/boot/dts/am335x-evm.dts

    此致、
    帕维尔

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

    [引用 user="Madhu GANDEPALLI">我发现在 DTS 文件中、他们调用&mmc1并将 VMMC-reg 作为该文件的电源、VMMC-reg 正由 TPS PMIC 生成。 在我们的定制板中、我们不使用 TPS PMIC、也不使用与 PMIC 的 I2C 通信。 这是否会导致根文件系统的标识出现任何问题。

    我不认为您的问题与 VMMC_reg DTS 条目有关,就好像这是一个问题,我希望 MLO 和内核加载也是一个问题,而不仅仅是 rootfs。

    由于您不使用 PMIC、我怀疑您正在不断地向外部 SD 连接器的 VCC/VDD 电源引脚提供3.3V 电压。 确保在 MLO、内核和 rootfs 加载期间具有稳定的3.3V 电压。

    还请提供完整的控制台启动日志。

    此致、
    帕维尔

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

    很抱歉耽误你的回答。

    基于 AM335x TI EVM 的定制板。
    我一直在使用 MMC0实例进行引导。 我既不使用 sdcd 引脚也不使用 GPIO。 我从 DTS 文件中删除了 GPIO 配置。

    当我在 dts 中注释&TPS 部分并使用 VBAT 等独立稳压器生成 VMMC_reg 和其他电源时、我的问题得到了解决。

    现在、我的处理器正在引导并 ALE 以检测文件系统并运行。


    这是否正常、或者我是否犯了任何可能在未来长期困扰我的错误?


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

    在 DTS 文件中使用稳压器生成 VMMC_reg 后,检测到文件系统。

    这是正确的方式还是我犯了什么错误?

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

    这看起来是正确的。 您可以使用独立的稳压器。 例如、检查如何在 DTS 文件中制作 BBB 和 Pepper 板。

    关于 AM335x BBB、请查看以下文件:

    linux-kernel/arch/arm/boot/dts/am335x-bone-common.dtsi
    linux-kernel/arch/arm/boot/dts/am335x-bonebblack.dts

    mmc1{(&M)
    VMMC-SUPPLY =<&vmmcsd_fixed>;
    };

    vmmcsd_fixedregulator0{
    兼容="稳压器固定";
    reguler-name ="vmmcsd_fixed";
    稳压器最小微伏=<3300000>;
    稳压器最大值微伏=<3300000>;
    };


    有关 AM335x Pepper 板、请查看以下文件:

    linux-kernel/arch/arm/boot/dts/am335x-pepel.dts

    mmc3{(&M)
    /* MMC 上的 Wifi 和蓝牙#3 */
    状态="正常";
    pinctrl-names ="default";
    pinctrl-0 =<&wireless_pines>;
    vmmmc-supply =<_v3v3c_reg>;
    总线宽度=<4>;
    TI、不可拆卸;
    DMA =<&EDMA_Xbar 12 0 1
    EDMA_Xbar 13 0 2>;
    dma-names ="TX"、"Rx";
    };

    /*功率*/
    VBAT{VBAT}(VBAT)
    稳压器名称="VBAT";
    稳压器最小微伏=<5000000>;
    稳压器最大值微伏=<5000000>;
    };

    v3v3c_reg{_v3v3c_reg}
    电脑控制器名称="v3v3c_reg";
    稳压器最小微伏=<3300000>;
    稳压器最大值微伏=<3300000>;
    VIN-SUPPLY =<VBAT>;
    };


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

    感谢您的确认。


    此致
    MAD_HU