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.

[参考译文] AM3352:"am33xx_pinmux"U-boot 设备树的块。

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1060317/am3352-am33xx_pinmux-block-of-u-boot-device-tree

器件型号:AM3352

本页中提供了以下说明。
https://software-dl.ti.com/processor-sdk-linux/esd/docs/07_03_00_005/linux/How_to_Guides/Board_Port/U-Boot.html

我可以省略"$u-boot/arch/arm/dts/AM335x-evmsk.dts "中的"am33xx_pinmux"块吗?
另外、您能否告诉我为什么"$u-boot/arch/arm/dts/AM335x-evmsk.dts "具有"am33xx_pinmux"块?

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

    您好!
    software-dl.ti.com/.../U-Boot.html 中的"为定制板建立初始最小引脚多路复用设置"一节所述、
    "对于基于 TI EVM 的 defconfigs、pinmux 通过 mux.c 板级配置文件执行、该文件可由未在.config 文件中设置的 CONFIG_PINCTRL、CONFIG_PINCTRL_FULL 和 CONFIG_PINCTRL_SINGLE 选项进行验证"
    对于 TI AM335x 电路板、SPL/u-boot 引脚多路复用通过"$u-boot/board/ti/AM335x/mux.c"完成、其中引脚多路复用在 enable_board_pin_mux ()函数中应用于特定的 TI 电路板、具体取决于通过读取为 TI 参考电路板预先编程的 board_ID 检测到的 board_ID。
    最棒的
    -香港

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

    您好!

    "$u-boot/arch/arm/dts/AM335x-evmsk.dts "中包含此代码。

    Fullscreen
    1
    2
    3
    4
    5
    6
    uart0_pins: pinmux_uart0_pins {
    pinctrl-single,pins = <
    AM33XX_IOPAD(0x970, PIN_INPUT_PULLUP | MUX_MODE0) /* uart0_rxd.uart0_rxd */
    AM33XX_IOPAD(0x974, PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* uart0_txd.uart0_txd */
    >;
    };
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

    此外,"$u-boot/board/ti/am335x/mux.c"中也有此代码。

    Fullscreen
    1
    2
    3
    4
    5
    static struct module_pin_mux uart0_pin_mux[] = {
    {OFFSET(uart0_rxd), (MODE(0) | PULLUP_EN | RXACTIVE)}, /* UART0_RXD */
    {OFFSET(uart0_txd), (MODE(0) | PULLUDEN)}, /* UART0_TXD */
    {-1},
    };
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

    这两个代码都用于 UART0 pinmux。 但是、在 SDK 7.3的默认 u-boot 配置中、由于 CONFIG_PINCTRL 未设置、因此不使用"AM335x-evmsk.dts"中的"uart0_PINs"块。 我的理解是否正确?

    如果我的理解是正确的,我是否可以从"AM335x-evmsk.dts "中删除"uart0_PINs"块 
    此外、我是否也可以从  "AM335x-evmsk.dts "中删除其他 pinmux 块?

    顺便说一下、为什么"AM335x-evmsk.dts "具有"uart0_PINs"块?

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

    您好!

    [引用 userid="495418" URL"~/support/processors-group/processors/f/processors-forum 1060317/am3352-am33xx_pinmux-block-u-boot-device-tree/3925360#3925360"]这两个代码均用于 UART0 pinmux。 但是、在 SDK 7.3的默认 u-boot 配置中、由于 CONFIG_PINCTRL 未设置、因此不使用"AM335x-evmsk.dts"中的"uart0_PINs"块。 我的理解是否正确?

    是的。

    [引用 userid="495418" URL"~/support/processors-group/processors/f/processors-forum 1060317/am3352-am33xx_pinmux-block-of-u-boot-device-tree/3925360#3925360"]如果我的理解是正确的,我能否从"AM335x-evmsk.dts"中删除"uart0_PINs"块 ?/quote

    是的、可以从"AM335x-evmsk.dts "中删除"uart0_PINs"块。 此外、我认为还需要从"AM335x-evmsk.dts "中删除"uart0"节点的前两行 pinctrl。 否则、DTB 编译将失败...

    Fullscreen
    1
    2
    3
    4
    5
    6
    &uart0 {
    pinctrl-names = "default";
    pinctrl-0 = <&uart0_pins>;
    status = "okay";
    };
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

    [引用 userid="495418" URL"~/support/processors-group/processors/f/processors-forum 1060317/am3352-am33xx_pinmux-block-u-boot-device-tree/3925360#3925360"]此外,我是否也可以从  "AM335x-evmsk.dts"中删除其他 pinmux 块 ?

    是的、如果在"mux.c"文件中配置了相同的 pinmux、则可以从"AM335x-evmsk.dts "中删除其他 pinmux、正如对"uart0_pins"所做的类似。

    [引用 userid="495418" URL"~/support/processors-group/processors/f/processors-forum 1060317/am3352-am33xx_pinmux-block-u-boot-device-tree/3925360#3925360"]顺便说一下,"AM335x-evmsk.dts"为什么具有"uart0_pins"块?[/quote

    一种方法是在 u-boot 和内核之间使用相同/相似的 DTS。 此外、在 u-boot 构建中启用 CONFIG_PINCTRL 时、还需要该选项。

    额外注意事项:"mux.c"中列出的大多数引脚多路复用器配置在极早启动时由 SPL 调用、其中 FDT 尚未准备好解析 DTB、"mux.c"中的"uart0_pinmux"引脚多路复用器配置是在极早启动时启用串行终端转储所需的一个示例...

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

    感谢你的答复。
    我明白了。