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.

[参考译文] AM6548:在 Uboot 中读取/写入 GPIO

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/983550/am6548-read-write-gpio-in-uboot

器件型号:AM6548
主题中讨论的其他器件:DA8XX

尊敬的 TI:

我正在使用 SDK 07_01_00_18、并尝试编写一些示例代码以在 Uboot 中读取/写入 GPIO。

我按照另一个线程读取 AM65x SR1.0 EVM 板上的 GPIO1_25或 GPIO1_67、但它始终返回错误消息。

该主题是: 

根据该线程、我通过添加以下代码来修改 K3-am654-base-board.dts:

main_pmx0{

MAIN_GPIO1_PINS_DEFAULT:MAIN-GPIO1-PINs-DEFAULT{
pinctrl-single、pins =<
//AM65X_IOPAD (0x028c、PIN_INPUT、7)/*(Y26) GPIO1_67 *
AM65X_IOPAD (0x01E4、PIN_OUTPUT、7)/*(Y26) GPIO1_25 *
>;
};

};

main_GPIO1{
状态="正常";
pinctrl-names ="default";
pinctrl-0 =<&MAIN_GPIO1_PINS_DEFAULT>;
};

sdhci0{(&S)
//usb5v-GPIO =<&MAIN_GPIO1 67 GPIO_ACTIVE_HIGH_>;
usb5v-GPIO =<&MAIN_GPIO1 25 GPIO_ACTIVE_HIGH_>;
};

并修改 K3-am65-main.dtsi:

cbersb_main{(&C)

MAIN_GPIO1:MAIN_GPIO1@601000{
兼容="ti、k2g-gpio"、"ti、keystone-gpio";
REG =<0x0 0x601000 0x0 0x100>;
GPIO 控制器;
#GPIO-cells =<2>;
ti、ngpio =<90>;
TI、Davinci-GPIO-Unbanked =<0>;
时钟=<&K3_CLKS 58 0>;
时钟名称="GPIO";
u-boot、dm-spl;
};

然后、我将我的代码连接到 am654_sdhci.c 中、但始终会出现错误。

结构 GPIO_desc desc;
ERR = GPIO_REQUEST_BY_NAME (dev、"usb5v-GPIO"、0、desc、GPIOD_IS_OUT);
如果(错误)
printf ("请求 usb5v-GPIO 失败!! \n");
RET = dm_gpio_get_value (&D);
如果(错误)
printf ("获取 usb5v-gpos 值失败!! \n");

出什么问题了吗?

请帮助您了解这一点。

谢谢。

Eric

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

    尊敬的 Eric:

    您得到的确切误差是多少? 它在哪里发生故障?

    此致、
    基尔西

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

    您好 

    如下面的日志所示、我收到 了请求 usb5v-GPIO 错误。

    请忽略其他错误、因为我仍在尝试其他方法。

    U-Boot SPL 2020.01 (2021年3月08日- 17:02:34 +0800)
    SYSFW ABI:3.1 (固件版本0x0014 '20.8.5-v2020.08b (极好的 LLA)
    Eric:DEV =内存控制器@0298e000 num_rate = 0速率= 400000000……
    尝试从 MMC2引导
    Eric:DEV_A53@0 num_rate = 0 rate = 1100000000……
    Eric:DEV_A53@0 num_arms=1比率= 1100000000……
    在 ARM64内核上启动 ATF...

    注意:BL31:v2.3 ():07.01.00.004-1-g52c334fc3-mis脏
    注意:BL31:构建时间:2020年11月26日04:16:36

    U-Boot SPL 2020.01 (2021年3月08日- 17:01:16 +0800)
    SYSFW ABI:3.1 (固件版本0x0014 '20.8.5-v2020.08b (极好的 LLA)
    Eric:init_d子 卡_det_gpio
    Eric:Identify_pin_detect
    Eric:FDT_NODE_OFFSET_BY_compatible 错误!!
    Eric:DM_GPIO_IS 有效错误!!
    检测到:AM6-IDKAPPEVM 修订版 E4
    尝试从 MMC2引导
    Eric:am654_sdhci_probe ...
    Eric:请求 usb5v-GPIO 失败!!
    Eric:获取 usb5v-GPIO 值失败!!


    U-Boot 2020.01 (2021年3月08日- 17:01:16 +0800)

    SoC:AM65X SR1.0
    型号:德州仪器 AM654基板
    电路板:AM6-COMPROCEVM 修订版 E4
    DRAM:4 GiB
    MMC:Eric:am654_sdhci_probe ...
    Eric:am654_sdhci_probe ...
    Eric:请求 usb5v-GPIO 失败!!
    Eric:获取 usb5v-GPIO 值失败!!
    sdhci@4f80000:0、sdhci@4fa0000:1
    正在从 MMC 加载环境... 好的
    IN:串行
    OUT:串行
    ERR:串行

    谢谢。

    Eric

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

    您好 

    我找到原因、需要设置 CONFIG_DA8XX_GPIO。

    无论如何、感谢您的回复。

    Eric

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

    尊敬的

    很抱歉,我 还有一个问题。

    我可以按上述说明控制 GPIO。

    例如、我将 LED GPIO 控制为打开、关闭和再次打开。 LED 也能正常工作。

    但是、当我使用 dm_gpio_get_value 获取 GPIO 状态时、始终为0。

    是否有任何可能的原因?

    谢谢。

    Eric

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

    尊敬的 Eric:

    您已为上述问题创建了一个新主题。 因此、请解决此问题、我将回答新主题 :https://e2e.ti.com/support/processors/f/processors-forum/986568/am6548-control-gpio-in-uboot

    此致、
    基尔西