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.

[参考译文] PROCESSOR-SDK-AM64X:启动时从引导加载程序控制 GPIO 的方法

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1507609/processor-sdk-am64x-method-to-control-gpio-from-bootloader-at-bootup

器件型号:PROCESSOR-SDK-AM64X
主题中讨论的其他部件:DA8XX

工具/软件:

您好、

SDK 版本: 10_01_10_04

我们有基于 AM64x GP EVM 的定制硬件设计、在中、我们需要在启动时从引导加载程序将 GPIO0_53引脚设置为高电平。

请提供从引导加载程序控制 GPIO 的方法/API。

我在引导加载程序中添加了以下更改。  

文件:arch/arm/dts/k3-am642-evm.dts

+ controlsignals_pins_default: controlsignals-default-pins {
+ pinctrl-single、pins =<
+ AM64X_IOPAD (0x00d8、PIN_OUTPUT_PULLDOW7)/*(W13) PRG1_PRU0_GPO8.GPIO0_53 */
+>;
+};


&MAIN_GPIO0{
全部引导;
+ pinctrl-names="default";
+ pinctrl-0 =<&controlsignals_pins_default>;
+状态="正常";
};

来自 u-boot 提示符的命令响应。

=> GPIO 状态-A

GPIO 状态命令不显示任何内容。


=> GPIO 设置565
GPIO:找不到'565'
命令'GPIO'失败:错误-22
=>
=>

请提供从 u-boot 提示符进行控制的方法以及在代码执行期间进行控制的 API。

此致、

Sharad

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

    您好 Sharad、

    在 U-Boot 配置文件中、您必须启用 CONFIG_DA8XX_GPIO、这是 U-Boot GPIO 驱动程序。 之后尝试检查"GPIO STATUS -A"。

    如果要编辑 evm.c 文件、没有现成的示例。 您可以查看其他器件上的一些实现: https://git.ti.com/cgit/ti-u-boot/ti-u-boot/tree/board/ti?h=ti-u-boot-2024.04

    此致、

    Anshu

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

    您好、

    在 configs/am64x_evm_r5_defconfig 中、"CONFIG_DA8XX_gpio  "已启用。 我们是否需要在"configs/am64x_evm_a53_defconfig"中添加相同的内容。

    另外、下面的错误会发生什么:

    => GPIO 设置565
    GPIO:找不到'565'
    命令'GPIO'失败:错误-22
    =>

    此致、

    Sharad

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

    您好 Sharad、

    是的、它也应该适用于 A53。

    该错误意味着它无法找到该 GPIO。 我不确定 GPIO 列表的格式。

    对于另一个器件(而非 AM64x)、其输出如下:

    => gpio status -a
    Bank gpio@4201000_:
    gpio@4201000_0: input: 0 [ ]
    gpio@4201000_1: input: 0 [ ]
    gpio@4201000_2: input: 0 [ ]
    gpio@4201000_3: input: 0 [ ]
    gpio@4201000_4: input: 0 [ ]
    gpio@4201000_5: input: 1 [ ]
    gpio@4201000_6: input: 0 [ ]
    gpio@4201000_7: input: 0 [ ]
    gpio@4201000_8: input: 0 [ ]
    gpio@4201000_9: input: 1 [ ]
    gpio@4201000_10: input: 0 [ ]
    gpio@4201000_11: input: 1 [ ]
    gpio@4201000_12: input: 0 [ ]
    gpio@4201000_13: input: 0 [ ]
    gpio@4201000_14: input: 0 [ ]
    gpio@4201000_15: input: 0 [ ]
    gpio@4201000_16: input: 0 [ ]
    gpio@4201000_17: input: 1 [ ]
    gpio@4201000_18: input: 1 [ ]
    gpio@4201000_19: input: 1 [ ]
    gpio@4201000_20: input: 1 [ ]
    gpio@4201000_21: input: 0 [ ]
    gpio@4201000_22: input: 0 [ ]
    gpio@4201000_23: input: 0 [ ]
    
    Bank gpio@22_:
    gpio@22_0: input: 1 [ ]
    gpio@22_1: input: 1 [ ]
    gpio@22_2: input: 1 [ ]
    gpio@22_3: output: 1 [ ]
    gpio@22_4: input: 0 [ ]
    gpio@22_5: input: 0 [ ]
    gpio@22_6: input: 0 [ ]
    gpio@22_7: input: 1 [ ]
    gpio@22_8: input: 1 [ ]
    gpio@22_9: input: 1 [ ]
    gpio@22_10: input: 1 [ ]
    gpio@22_11: input: 1 [ ]
    gpio@22_12: input: 1 [ ]
    gpio@22_13: input: 0 [ ]
    gpio@22_14: input: 0 [ ]
    gpio@22_15: input: 0 [ ]
    gpio@22_16: input: 1 [ ]
    gpio@22_17: input: 0 [ ]
    gpio@22_18: input: 0 [ ]
    gpio@22_19: input: 0 [ ]
    gpio@22_20: input: 1 [ ]
    gpio@22_21: input: 1 [ ]
    gpio@22_22: input: 1 [ ]
    gpio@22_23: input: 0 [ ]
    
    Bank gpio@600000_:
    gpio@600000_0: output: 0 [ ]
    gpio@600000_1: output: 0 [ ]
    gpio@600000_2: output: 0 [ ]
    gpio@600000_3: output: 1 [ ]
    gpio@600000_4: output: 1 [ ]
    gpio@600000_5: output: 1 [ ]
    gpio@600000_6: output: 1 [ ]
    gpio@600000_7: output: 1 [ ]
    gpio@600000_8: output: 1 [ ]
    gpio@600000_9: output: 1 [ ]
    gpio@600000_10: output: 1 [ ]
    gpio@600000_11: output: 0 [ ]
    gpio@600000_12: output: 0 [ ]
    gpio@600000_13: output: 0 [ ]
    gpio@600000_14: output: 1 [ ]
    gpio@600000_15: output: 1 [ ]
    gpio@600000_16: output: 1 [ ]
    gpio@600000_17: output: 1 [ ]
    gpio@600000_18: output: 1 [ ]
    gpio@600000_19: output: 1 [ ]
    gpio@600000_20: output: 1 [ ]
    gpio@600000_21: output: 1 [ ]
    gpio@600000_22: output: 1 [ ]
    gpio@600000_23: output: 0 [ ]
    gpio@600000_24: output: 0 [ ]
    gpio@600000_25: output: 0 [ ]
    gpio@600000_26: output: 0 [ ]
    gpio@600000_27: output: 0 [ ]
    gpio@600000_28: output: 0 [ ]
    gpio@600000_29: output: 0 [ ]
    gpio@600000_30: output: 0 [ ]
    gpio@600000_31: output: 0 [ ]
    gpio@600000_32: input: 0 [ ]
    gpio@600000_33: input: 0 [ ]
    gpio@600000_34: input: 0 [ ]
    gpio@600000_35: input: 1 [ ]
    gpio@600000_36: input: 0 [ ]
    gpio@600000_37: input: 1 [ ]
    gpio@600000_38: input: 0 [ ]
    gpio@600000_39: input: 0 [ ]
    gpio@600000_40: input: 0 [ ]
    gpio@600000_41: input: 0 [ ]
    gpio@600000_42: input: 0 [ ]
    gpio@600000_43: input: 1 [ ]
    gpio@600000_44: input: 1 [ ]
    gpio@600000_45: input: 0 [ ]
    gpio@600000_46: input: 0 [ ]
    gpio@600000_47: input: 0 [ ]
    gpio@600000_48: input: 0 [ ]
    gpio@600000_49: input: 0 [ ]
    gpio@600000_50: input: 0 [ ]
    gpio@600000_51: input: 0 [ ]
    gpio@600000_52: input: 0 [ ]
    gpio@600000_53: input: 0 [ ]
    gpio@600000_54: input: 0 [ ]
    gpio@600000_55: input: 0 [ ]
    gpio@600000_56: input: 0 [ ]
    gpio@600000_57: input: 0 [ ]
    gpio@600000_58: input: 0 [ ]
    gpio@600000_59: input: 0 [ ]
    gpio@600000_60: input: 0 [ ]
    gpio@600000_61: input: 0 [ ]
    gpio@600000_62: input: 0 [ ]
    gpio@600000_63: input: 0 [ ]
    gpio@600000_64: input: 0 [ ]
    gpio@600000_65: input: 1 [ ]
    gpio@600000_66: input: 1 [ ]
    gpio@600000_67: input: 1 [ ]
    gpio@600000_68: input: 1 [ ]
    gpio@600000_69: input: 0 [ ]
    gpio@600000_70: input: 1 [ ]
    gpio@600000_71: input: 0 [ ]
    gpio@600000_72: input: 0 [ ]
    gpio@600000_73: input: 0 [ ]
    gpio@600000_74: input: 0 [ ]
    gpio@600000_75: input: 0 [ ]
    gpio@600000_76: input: 0 [ ]
    gpio@600000_77: input: 0 [ ]
    gpio@600000_78: input: 0 [ ]
    gpio@600000_79: input: 0 [ ]
    gpio@600000_80: input: 0 [ ]
    gpio@600000_81: input: 0 [ ]
    gpio@600000_82: input: 0 [ ]
    gpio@600000_83: input: 0 [ ]
    gpio@600000_84: input: 0 [ ]
    gpio@600000_85: input: 1 [ ]
    gpio@600000_86: input: 0 [ ]
    gpio@600000_87: input: 0 [ ]
    gpio@600000_88: input: 0 [ ]
    gpio@600000_89: input: 0 [ ]
    gpio@600000_90: input: 0 [ ]
    gpio@600000_91: input: 0 [ ]
    
    Bank gpio@601000_:
    gpio@601000_0: output: 0 [ ]
    gpio@601000_1: output: 0 [ ]
    gpio@601000_2: output: 0 [ ]
    gpio@601000_3: output: 0 [ ]
    gpio@601000_4: output: 0 [ ]
    gpio@601000_5: output: 0 [ ]
    gpio@601000_6: output: 0 [ ]
    gpio@601000_7: output: 1 [ ]
    gpio@601000_8: output: 0 [ ]
    gpio@601000_9: output: 0 [ ]
    gpio@601000_10: output: 0 [ ]
    gpio@601000_11: output: 0 [ ]
    gpio@601000_12: output: 0 [ ]
    gpio@601000_13: output: 1 [ ]
    gpio@601000_14: output: 0 [ ]
    gpio@601000_15: output: 0 [ ]
    gpio@601000_16: output: 0 [ ]
    gpio@601000_17: output: 0 [ ]
    gpio@601000_18: output: 0 [ ]
    gpio@601000_19: output: 0 [ ]
    gpio@601000_20: output: 1 [ ]
    gpio@601000_21: output: 0 [ ]
    gpio@601000_22: output: 0 [ ]
    gpio@601000_23: output: 0 [ ]
    gpio@601000_24: output: 0 [ ]
    gpio@601000_25: output: 0 [ ]
    gpio@601000_26: output: 1 [ ]
    gpio@601000_27: output: 1 [ ]
    gpio@601000_28: output: 1 [ ]
    gpio@601000_29: output: 1 [ ]
    gpio@601000_30: output: 0 [ ]
    gpio@601000_31: output: 0 [ ]
    gpio@601000_32: input: 1 [ ]
    gpio@601000_33: input: 1 [ ]
    gpio@601000_34: input: 1 [ ]
    gpio@601000_35: input: 1 [ ]
    gpio@601000_36: input: 1 [ ]
    gpio@601000_37: input: 1 [ ]
    gpio@601000_38: input: 1 [ ]
    gpio@601000_39: input: 1 [ ]
    gpio@601000_40: input: 0 [ ]
    gpio@601000_41: input: 1 [ ]
    gpio@601000_42: input: 1 [ ]
    gpio@601000_43: input: 1 [ ]
    gpio@601000_44: input: 1 [ ]
    gpio@601000_45: input: 1 [ ]
    gpio@601000_46: input: 1 [ ]
    gpio@601000_47: input: 1 [ ]
    gpio@601000_48: input: 0 [ ]
    gpio@601000_49: output: 0 [x] led-0.gpios
    gpio@601000_50: input: 0 [ ]
    gpio@601000_51: input: 0 [ ]
    => 

    此致、

    Anshu