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.

[参考译文] AM6442:了解 GPIO 映射

Guru**** 2466550 points
Other Parts Discussed in Thread: AM6442

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1472418/am6442-understanding-gpio-mapping

器件型号:AM6442

工具与软件:

您好、TI:

我们想了解 AM6442上的 GPIO 映射、简单来说一下、

现在我们要在用户空间中使用引脚 U20作为 GPIO、在用户空间中、我们可以看到如下所示的4个组、

root@am64xx-evm:~# gpiodetect
gpiochip0 [0-0038](8条线)
gpiochip1 [1-0022](24线)
gpiochip2 [6000.GPIO](87行)
gpiochip3 [601000.GPIO](88行)
root@am64xx-EVM:~#

root@am64xx-EVM:~# cat /sys/class/gpio/gpiochip512/base
512
root@am64xx-EVM:~# cat /sys/class/gpio/gpiochip520/base
520.
root@am64xx-EVM:~# cat /sys/class/gpio/gpiochip544/base
544.
root@am64xx-EVM:~# cat /sys/class/gpio/gpiochip631/base
631.
root@am64xx-EVM:~#

示例:我们想了解、U20将归入哪个组? 如果我们必须使用 sysfs 节点、那么我们需要添加基地址、因此我们不确定哪个 gpiochip 将具有 U20引脚以及该引脚的编号是多少。

是否有用户指南或 GPIO 电子表格可帮助您了解更多相关信息?

谢谢!

Prtahibha

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

    您好、TI:

    除了前面提到的一点、我们还尝试了在 AM64x EVM 上切换 U20、但我们无法切换、下面给出的日志供参考。

    root@am64xx-evm:/sys/class/gpio/gpio562 echo out > direction
    root@am64xx-evm:/sys/class/gpio/gpio562 cat 值
    0
    root@am64xx-evm:/sys/class/gpio/gpio562 echo 1 > value
    root@am64xx-evm:/sys/class/gpio/gpio562 cat 值
    0
    root@am64xx-evm:/sys/class/gpio/gpio562

    注意:我们无法从 gpiochip2和 gpiochip3切换许多其他引脚、即使数据表中告知这些引脚支持输入/输出也是如此。

    谢谢!

    Prathibha

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

    您好、Prathibha:

    您使用的 Linux SDK 版本是什么?

    引脚 U20通常用于引导模式开关或 GPMC 模块。 您能否确认您没有使用除 GPIO 之外的任何其他信号?

    如果您在 TI EVM 上使用 U20、则该器件将连接到启动器件所需的 BOOTMODE 开关信号3。

    主域有两个 GPIO 模块、其中每个模块具有不同的地址。 GPIO0被分配给0x600000、GPIO1被分配给0x601000。

    此信息请参阅 AM64x TRM 2.1 MAIN 域存储器映射: https://www.ti.com/lit/pdf/spruim2

    若要使用 GPIO 等外设、需要配置 Linux 器件树、以便 Linux 可以在引导时枚举和初始化 GPIO。 您能否分享所做的设备树更改?

    当与用户空间中的 GPIO 交互时、您可以使用 SYSFS 或 libgpiod 命令、但不能同时使用两者。

    此致、

    Anshu

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

    您好、TI:

    1.我们使用的是 sysfs 或 libgpiod、而不是同时使用两种方法

    2.我们最初尝试使用 U20引脚作为 PWM 信号、它用作 PWM 信号、现在我们要从 DTS 中删除 PWM 配置并将其配置为 GPIO、但无法正常工作

    3. DTS 配置如下、并且此引脚目前仅配置为 GPIO、无其他功能  

    k3-am642-evm.dts

    ========

    emwm0_pins:emwm0_pins{
    PINCTL-SINGLE、PINS =<
    /* AM64X_IOPAD (0x0048、PIN_OUTPUT、3)*//* U20 -作为 PWM 信号*/
    AM64X_IOPAD (0x0048、PIN_OUTPUT、7)/* U20 -作为 GPIO 信号*/
    >;
    };

    epwm0 (&E)
    状态="正常";
    pinctrl-names ="默认值";
    pinctrl-0 =<&emwm0_pins>;
    GPIO =<&MAIN_GPIO0 18 GPIO_ACTIVE_HIGH>;
    };

    4.我们还在尝试切换 GPIO0和 GPIO1的其他引脚部分、我们注意到了同样的问题

    问题:

    root@am64xx-evm:/sys/class/gpio/gpio562 echo out > direction
    root@am64xx-evm:/sys/class/gpio/gpio562 cat 值
    0
    root@am64xx-evm:/sys/class/gpio/gpio562 echo 1 > value
    root@am64xx-evm:/sys/class/gpio/gpio562 cat 值
    0
    root@am64xx-evm:/sys/class/gpio/gpio562

    您能告诉我们这里可能出现了什么问题吗

    谢谢!

    Prathibha

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

    您好、Prathibha:

    562是如何计算的? GPIO0的基本编号是多少?

    它是否正在 TI EVM 或定制硬件上进行测试? 如果是 TI EVM、使用的是哪个 TI EVM?

    谢谢!

    Anshu

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

    您好、TI:

    以及我们从 sysfs 节点 i-e /sys/class/gpio 获取的基本  

    我们可以确定 GPIO 的 DTS 修改、现在我们可以看到引脚 U20从用户空间切换、

    谢谢!

    Prathibha