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/AM5728:禁用 HDMI 设备树节点后内核出现严重错误

Guru**** 2921220 points

Other Parts Discussed in Thread: TPD12S015

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/665123/linux-am5728-kernel-panic-after-disabling-hdmi-device-tree-nodes

器件型号:AM5728
主题中讨论的其他器件:TPD12S015

工具/软件:Linux

我正在 Beagle x15 rev C 板上与 Yocto (Rocko) Linux-ti-staging 4.9.69合作。

我一直在尝试禁用我不使用的 x15功能的器件树节点(并且在定制 AM572x 电路板中不存在)。  在 am57xx-beagle-x15-common.dtsi 中、我尝试禁用标有 hdmi0、tpd12s015、sound0和 HDMI 的节点。

但是、当我执行此操作 并 将 boot & rootfs 安装到 x15的 EMMC (/dev/mmcblk1)时、我在引导时会遇到以下错误:

VFS:无法打开根设备"mmcblk1p2"或未知块(0、0):错误-6

内核严重错误-未同步:VFS:无法在未知块(0、0)上安装根 FS

使用具有相同引导和 rootfs 的 SD 卡(/dev/mmcblk0)时、我不会遇到内核严重错误。 当我启用(status ="oke";) hdmi0、tpd12s015、sound0和 HDMI 时、我也不会遇到内核严重错误。

有人能解释一下我在器件树中做什么会导致这种行为吗?

以下设备树更改:

/*删除 hdmi0、sound0、HDMI 的别名*/

/* SNIP */

hdmi0:连接器{
STATUS ="禁用";
兼容="HDMI 连接器";
标签="HDMI";

类型="A";

端口{
STATUS ="禁用";
HDMI_connector_in:端点{
远程端点=<&tpd12s015_out>;
};
};
};
tpd12s015:编码器{
STATUS ="禁用";
兼容="ti、tpd12s015";

端口{
#address-cells =<1>;
#size-cells =<0>;

端口@0{
reg =<0>;

tpd12s015_in:端点{
远程端点=<&HDMI_OUT>;
};
};

端口@1{
reg =<1>;

tpd12s015_out:端点{
远程端点=<&HDMI_connector_in_>;
};
};
};
};

??Sound0:Sound0{
STATUS ="禁用";
兼容="简单音频卡";
simple-audio-card、name ="BeagleBoard-X15";
simple-audio-card、小工具=
"线路"、"线路输出"、
"线路"、"线路输入";
简单音频卡,路由=
"线路输出"、 "LLOUT"、
"线路输出"、 "RLOUT"、
"MIC2L"、 "线路输入"、
"MIC2R"、 "线路输入";
simple-audio-card、format ="DSP_b";
simple-audio-card、bitclock-master =<&sound0_master>;
simple-audio-card、frame-master =<&sound0_master>;
简单音频卡、位时钟反转;

简单音频卡、CPU{
Sound-Dai =<&mcasp3>;
};

sound0_master:simple-audio-card、codec{
sound-dai =<&tlv320aic3104>;
时钟=<&clkout2_clk>;
};
};

// SNIP */

&HDMI {
STATUS ="禁用";
VDDA-SUPPLY =<&ldo4_reg>;

端口{
HDMI_OUT:端点{
远程端点=<&tpd12s015_in_>;
};
};
};

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    很抱歉、我尝试使用代码插入文本上的消息编辑器粗体按钮、这当然会导致 显示出来。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    肯特、您好!

    如果在不禁用 HDMI 设备树节点的情况下将 boot 和 rootfs 安装到 x15的 EMMC (/dev/mmcblk1)、会发生什么情况? 因此,您遇到的问题是 rootfs 正在安装时。

    此致、
    Kemal

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    如果我不禁用 HDMI 设备树节点,内核将在没有任何紧急情况下引导,并且没有与安装根 FS 相关的记录错误。

    而不是"VFS:无法打开根设备..." 我看到:
    mmc1:地址0001处的新 DDR MMC 卡
    mmcblk1:mmc1:0001 M62704 3.53 GiB
    mmcblk1boot0:mmc1:0001 M62704分区1 2.00 mib
    mmcblk1boot1:mmc1:0001 M62704分区2 2.00 MIB
    mmcblk1:P1 p2 p3 p4
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    此问题似乎与 Yocto (Rocko) Linux-ti-staging 4.9.69有关。 我在 最新 的 Processor SDK (PROCESSOR-SDK-04.02.00.09-config.txt) Linux-ti-staging 4.9.59上发布了更改、但 AM572x EVM 正在从 eMMC 成功引导、没有任何问题。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    感谢您的更新;目前、我将使 HDMI 节点保持启用状态、因为这是我用例中可接受的解决方法。

    我还注意到在添加取消设置 HDMI 或 DRM 配置选项的配置片段(基本配置为 ti_sdk_dra7x_release)时出现的相同行为(引导期间内核严重错误、无法安装根 FS /dev/mmcblk1p2)。