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.

[参考译文] AM62P:AM62x-LP:如何根据定制器件树更改(McASP0 +虚拟音频)重新生成 SD 卡映像 (.wic.xz)

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1657400/am62p-am62x-lp-how-to-regenerate-sd-card-image-wic-xz-with-custom-device-tree-changes-mcasp0-dummy-audio

部件号: AM62P

尊敬的 TI 团队:

我将 TI AM62-LP EVM 与预构建的 SDK 映像配合使用
tisdk-default-image-am62xx-lp-evm-12.00.00.07.04.rootfs.wic.xz。

我需要将启用 McASP0 作为 外部调谐器(而非编解码器)的采集接口、同时使用 simple-audio-card 虚拟编解码器。 我已经修改了 k3-am62x-sk-common.dtsi 、如下所示、并可以使用预编译 SDK 中提供的内核源重新编译 DTB。

// in ~/am62xx-evm-12.00.00.07.04/board-support/ti-u-boot-2026.01+git/dts/upstream/src/arm64/ti/k3-am62x-sk-common.dtsi
sound_tuner: sound_tuner {
    compatible = "simple-audio-card";
    simple-audio-card,name = "AM62x-Tuner";
    simple-audio-card,format = "i2s";

    simple-audio-card,bitclock-master = <&cpu_dai>;
    simple-audio-card,frame-master    = <&cpu_dai>;

    cpu_dai: simple-audio-card,cpu {
        sound-dai = <&mcasp0>;
    };

    simple-audio-card,codec {
        sound-dai = <&dummy_codec>;
    };
};

dummy_codec: dummy-codec {
    compatible = "linux,snd-soc-dummy";
};

&mcasp0 {
    status = "okay";

    #sound-dai-cells = <0>;

    op-mode = <0>;                 /* I2S */
    tdm-slots = <2>;

    serial-dir = <
        1  /* AXR0 = RX */
        1  /* AXR1 = RX */
        0 0 0 0 0 0 0 0
    >;

    num-serializer = <2>;

    bitclock-master = <0>;   /* external BCLK */
    frame-master = <0>;      /* external FS */

    rx-num-evt = <32>;
};

我使用 make 文件构建 TI SDK(非 Yocto)  并  .dtb生成所有和新文件、但是 SD 卡引导分区不包含单独的 .dtb 文件;它仅包括 Image、 tiboot3.bin tispl.bin和 u-boot.img。 这表明 dtb 嵌入在启动流程中、因此未使用我更新的 dtb。

我的主要问题是:

.wic.xz使用预构建的 TI SDK(非 Yocto)时、重新生成完整 SD 卡映像 ()(包括定制 DTS/DTB 更改)的正确工作流程是什么?
我是否需要切换到 Yocto 构建环境、或者是否有支持的方法来重建 DTB 并将其集成到 tispl.bin SDK 中的现有启动映像(例如或合适的映像)中?

您能帮助我如何将 McASP0 添加到 ALSA 捕捉器件以及构建和生成类似于的映像的步骤吗 tisdk-default-image-am62xx-lp-evm-12.00.00.07.04.rootfs.wic.xz

提前感谢您的支持。

-文凯特

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

    尊敬的 Venkat:

    您可以通过多种方法来验证您的更改。

    如果只在更改设备树的情况下构建内核映像、

    1.使用顶级 makefile:

    使用 make Linux 构建内核映像和器件树、制作 linux-dtbs、然后将映像和 dtb 文件复制到 SD 卡的引导分区和 rootfs。

    请参阅 此处所述的将其复制到 SD 卡中的说明。

    请参阅有关将 Linux 内核模块复制到 SD 卡上的部分。

    2.使用 Yocto 创建更改后的默认 SDK 映像。

    创建需要应用于 Linux 内核的补丁(内核更改+器件树)、并使用此补丁构建完整的 Yocto 映像。

    bitbake -k linux-ti-staging 应该会构建 Linux 内核和器件树 Blob。

    希望这有所帮助

    此致

    Suren