Other Parts Discussed in Thread: AM62L
器件型号: AM62L
我将 U-Boot 2025.01 与 AM62L 结合使用。
我在器件树中为定制电路板配置了 GPIO 节点:
&main_gpio0 {
status = "okay";
pinctrl-names = "default";
bootph-all;
pinctrl-0 = <&gpio0_pins_default>;
};
&pmx0 {
...
gpio0_pins_default: gpio0-default-pins {
pinctrl-single,pins = <
AM62LX_IOPAD(0x0044, PIN_OUTPUT, 7) /* (E22) OSPI0_DQS.GPIO0_2 */
AM62LX_IOPAD(0x0058, PIN_OUTPUT, 7) /* (F21) OSPI0_D4.GPIO0_7 */
AM62LX_IOPAD(0x005c, PIN_OUTPUT, 7) /* (F19) OSPI0_D5.GPIO0_8 */
AM62LX_IOPAD(0x006c, PIN_INPUT, 7) /* (D20) OSPI0_CSn1.GPIO0_12 */
AM62LX_IOPAD(0x0070, PIN_INPUT, 7) /* (D18) OSPI0_CSn2.GPIO0_13 */
AM62LX_IOPAD(0x0074, PIN_INPUT, 7) /* (C23) OSPI0_CSn3.GPIO0_14 */
AM62LX_IOPAD(0x0098, PIN_INPUT, 7) /* (H19) GPMC0_AD8.GPIO0_23 */
AM62LX_IOPAD(0x009c, PIN_INPUT, 7) /* (H20) GPMC0_AD9.GPIO0_24 */
AM62LX_IOPAD(0x00a0, PIN_INPUT, 7) /* (H21) GPMC0_AD10.GPIO0_25 */
AM62LX_IOPAD(0x00a4, PIN_INPUT, 7) /* (H18) GPMC0_AD11.GPIO0_26 */
AM62LX_IOPAD(0x00b0, PIN_OUTPUT, 7) /* (F22) GPMC0_AD14.GPIO0_29 */
AM62LX_IOPAD(0x00b4, PIN_OUTPUT, 7) /* (F23) GPMC0_AD15.GPIO0_30 */
AM62LX_IOPAD(0x00e8, PIN_INPUT, 7) /* (L19) GPMC0_CSn1.GPIO0_42 */
AM62LX_IOPAD(0x0128, PIN_INPUT, 7) /* (Y11) RGMII1_TD2.GPIO0_57 */
AM62LX_IOPAD(0x012c, PIN_INPUT, 7) /* (AA11) RGMII1_TD3.GPIO0_58 */
AM62LX_IOPAD(0x0140, PIN_INPUT, 7) /* (AA8) RGMII1_RD2.GPIO0_63 */
AM62LX_IOPAD(0x0144, PIN_INPUT, 7) /* (W8) RGMII1_RD3.GPIO0_64 */
AM62LX_IOPAD(0x017c, PIN_INPUT, 7) /* (AB8) RGMII2_RD3.GPIO0_78 */
AM62LX_IOPAD(0x018c, PIN_INPUT, 7) /* (B9) MCASP0_AXR0.GPIO0_82 */
AM62LX_IOPAD(0x019c, PIN_INPUT, 7) /* (A12) MCASP0_ACLKR.GPIO0_86 */
AM62LX_IOPAD(0x01a0, PIN_INPUT, 7) /* (E11) SPI0_CS0.GPIO0_87 */
AM62LX_IOPAD(0x01a4, PIN_OUTPUT, 7) /* (D11) SPI0_CS1.GPIO0_88 */
AM62LX_IOPAD(0x01a8, PIN_INPUT, 7) /* (E13) SPI0_CLK.GPIO0_89 */
AM62LX_IOPAD(0x01ac, PIN_INPUT, 7) /* (E12) SPI0_D0.GPIO0_90 */
AM62LX_IOPAD(0x01b0, PIN_INPUT, 7) /* (B12) SPI0_D1.GPIO0_91 */
AM62LX_IOPAD(0x01cc, PIN_INPUT, 7) /* (B7) I2C0_SCL.GPIO0_98 */
AM62LX_IOPAD(0x01d0, PIN_INPUT, 7) /* (A7) I2C0_SDA.GPIO0_99 */
AM62LX_IOPAD(0x01dc, PIN_OUTPUT, 7) /* (B8) I2C2_SCL.GPIO0_102 */
AM62LX_IOPAD(0x01e0, PIN_OUTPUT, 7) /* (D8) I2C2_SDA.GPIO0_103 */
AM62LX_IOPAD(0x01e4, PIN_INPUT, 7) /* (D16) EXT_REFCLK1.GPIO0_104 */
AM62LX_IOPAD(0x0238, PIN_OUTPUT, 7) /* (D6) MMC1_SDWP.GPIO0_123 */
AM62LX_IOPAD(0x0248, PIN_INPUT, 7) /* (A5) USB1_DRVVBUS.GPIO0_125 */
>;
};
...
};
当我引导 U-Boot 并执行 GPIO 命令时、它如下所示。
一些 GPIO 配置为输出、但似乎所有 GPIO 实际上都配置为输入。
=> gpio status -a
Bank gpio@600000_:
gpio@600000_0: input: 0 [ ]
gpio@600000_1: input: 0 [ ]
gpio@600000_2: input: 0 [ ]
gpio@600000_3: input: 0 [ ]
gpio@600000_4: input: 0 [ ]
gpio@600000_5: input: 0 [ ]
gpio@600000_6: input: 0 [ ]
gpio@600000_7: input: 0 [ ]
gpio@600000_8: input: 0 [ ]
gpio@600000_9: input: 0 [ ]
gpio@600000_10: input: 0 [ ]
gpio@600000_11: input: 0 [ ]
gpio@600000_12: input: 1 [ ]
gpio@600000_13: input: 0 [ ]
gpio@600000_14: input: 0 [ ]
gpio@600000_15: input: 0 [ ]
gpio@600000_16: input: 1 [ ]
gpio@600000_17: input: 0 [ ]
gpio@600000_18: input: 0 [ ]
gpio@600000_19: input: 0 [ ]
gpio@600000_20: input: 1 [ ]
gpio@600000_21: input: 1 [ ]
gpio@600000_22: input: 0 [ ]
gpio@600000_23: input: 1 [ ]
gpio@600000_24: input: 1 [ ]
gpio@600000_25: input: 1 [ ]
gpio@600000_26: input: 1 [ ]
gpio@600000_27: input: 0 [ ]
gpio@600000_28: input: 1 [ ]
gpio@600000_29: input: 0 [ ]
gpio@600000_30: input: 0 [ ]
gpio@600000_31: input: 0 [ ]
gpio@600000_32: input: 0 [ ]
gpio@600000_33: input: 0 [ ]
gpio@600000_34: input: 0 [ ]
gpio@600000_35: input: 0 [ ]
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: output: 0 [x] led-0.gpios
gpio@600000_44: output: 0 [x] led-1.gpios
gpio@600000_45: input: 0 [ ]
gpio@600000_46: input: 0 [ ]
gpio@600000_47: output: 0 [x] led-4.gpios
gpio@600000_48: output: 0 [x] led-5.gpios
gpio@600000_49: input: 0 [ ]
gpio@600000_50: output: 0 [x] led-2.gpios
gpio@600000_51: output: 0 [x] led-3.gpios
gpio@600000_52: output: 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: 1 [ ]
gpio@600000_61: input: 0 [ ]
gpio@600000_62: input: 0 [ ]
gpio@600000_63: input: 1 [ ]
gpio@600000_64: input: 1 [ ]
gpio@600000_65: input: 1 [ ]
gpio@600000_66: input: 0 [ ]
gpio@600000_67: input: 0 [ ]
gpio@600000_68: input: 0 [ ]
gpio@600000_69: input: 0 [ ]
gpio@600000_70: input: 0 [ ]
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: 1 [ ]
gpio@600000_83: input: 0 [ ]
gpio@600000_84: input: 0 [ ]
gpio@600000_85: input: 0 [ ]
gpio@600000_86: input: 0 [ ]
gpio@600000_87: input: 1 [ ]
gpio@600000_88: input: 0 [ ]
gpio@600000_89: input: 1 [ ]
gpio@600000_90: input: 1 [ ]
gpio@600000_91: input: 1 [ ]
gpio@600000_92: input: 1 [ ]
gpio@600000_93: input: 0 [ ]
gpio@600000_94: input: 0 [ ]
gpio@600000_95: input: 0 [ ]
gpio@600000_96: input: 0 [ ]
gpio@600000_97: input: 0 [ ]
gpio@600000_98: input: 0 [ ]
gpio@600000_99: input: 0 [ ]
gpio@600000_100: input: 0 [ ]
gpio@600000_101: input: 0 [ ]
gpio@600000_102: input: 0 [ ]
gpio@600000_103: input: 0 [ ]
gpio@600000_104: input: 0 [ ]
gpio@600000_105: input: 1 [ ]
gpio@600000_106: input: 1 [ ]
gpio@600000_107: input: 1 [ ]
gpio@600000_108: input: 1 [ ]
gpio@600000_109: input: 1 [ ]
gpio@600000_110: input: 1 [ ]
gpio@600000_111: input: 1 [ ]
gpio@600000_112: input: 1 [ ]
gpio@600000_113: input: 1 [ ]
gpio@600000_114: input: 0 [ ]
gpio@600000_115: input: 1 [ ]
gpio@600000_116: input: 1 [ ]
gpio@600000_117: input: 1 [ ]
gpio@600000_118: input: 1 [ ]
gpio@600000_119: input: 1 [ ]
gpio@600000_120: input: 0 [ ]
gpio@600000_121: input: 1 [ ]
gpio@600000_122: input: 0 [ ]
gpio@600000_123: input: 0 [ ]
gpio@600000_124: input: 0 [ ]
gpio@600000_125: input: 0 [ ]
也无法更改输出。
=> gpio set 123=1
gpio: pin 123=1 (gpio 123) value is 1
Warning: value of pin is still 0
在 U-Boot 中控制 GPIO 输出应该怎么做。
此致、
Koji