Part Number:PROCESSOR-SDK-AM62XOther Parts Discussed in Thread:SYSCONFIG
我想在现有的led设备树上,添加一个mcu的引脚
usr_led_pins_default: usr-led-pins-default {pinctrl-single,pins = <AM62X_IOPAD(0x0ac, PIN_OUTPUT, 7) /* (L21) GPMC0_CSn1.GPIO0_42 */AM62X_IOPAD(0x1b8, PIN_OUTPUT, 7) /* (C13) SPI0_CS1.GPIO1_16 */AM62X_IOPAD(0x1bc, PIN_OUTPUT, 7) /* (A14) SPI0_CLK.GPIO1_17*/AM62X_IOPAD(0x1c0, PIN_OUTPUT, 7) /* (B13) SPI0_D0.GPIO1_18 */AM62X_IOPAD(0x1c4, PIN_OUTPUT, 7) /* (B14) SPI0_D1.GPIO1_19 */AM62X_IOPAD(0x078, PIN_OUTPUT, 7) /* (B14) SPI0_D1.GPIO1_19 */AM62X_MCU_IOPAD(0x004,PIN_OUTPUT, 7)>;};
这么修改后连前面几个A核的gpio都不能生成节点了;
我又尝试只配置成gpio模式;
然后在/sys/查看gpio的使用情况
root@ok6254:~# cat /sys/kernel/debug/gpio gpiochip2: GPIOs 314-401, parent: platform/601000.gpio, 601000.gpio:gpio-330 (|led1) out logpio-331 (|led2) out logpio-332 (|led3) out logpio-333 (|led4) out logpio-336 (|fixed-regulator-rgb ) out lo gpiochip1: GPIOs 402-488, parent: platform/600000.gpio, 600000.gpio:gpio-433 (|net-5g-rst) out lo ACTIVE LOWgpio-437 (|phy_rstn) out logpio-438 (|id) in logpio-440 (|RT9186) out logpio-441 (|fixed-regulator-lvds) out logpio-442 (|phy_rstn) out logpio-444 (|heartbeat) out logpio-473 (|regulator-6) out lo gpiochip0: GPIOs 489-511, parent: platform/4201000.gpio, 4201000.gpio: root@ok6254:~#
关于gpiochip的计算公式
gpio0_n |
gpiochip1:402-488 |
计算公式: 402+n |
gpio1_n |
gpiochip2:314-401 |
计算公式: 314+n |
例如Gpmc_ad15的引脚是gpio0_30,chip值为402+30=432
导出gpio
root@ok6254:~# echo 432 >/sys/class/gpio/export
设置方向
root@ok6254:~# echo out >/sys/class/gpio/gpio432/direction
设置高低电平
root@ok6254:~# echo 1 >/sys/class/gpio/gpio432/value 置高
root@ok6254:~# echo 0 >/sys/class/gpio/gpio432/value 拉低
但是关于mcu的gpio
引脚的chip号我一直不知道怎么算,是489+n吗,我这边一直控制不了,请问你那边这么测试过有问题吗?MCU的gpio该怎么在a核使用
Shine:
我把您的问题升级到了英文e2e论坛,请关注下面帖子的回复。https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1130726/am625-how-to-use-mcu-gpio-on-a-core
,
Shine:
请参考下面工程师的回复。
I am not sure what do you mean, what are you looking for?
What does the command "ls /sys/class/gpio/" show?
Please also note that the MCU GPIO pinmux should be added in in &mcu_pmx0 node, not &main_pmx0 node.
This is what Sysconfig generated for MCU_GPIO1, just copy it over to your board DTS file.
&mcu_pmx0 { mymcugpio1_pins_default: mymcugpio1-pins-default { pinctrl-single,pins = < AM62X_MCU_IOPAD(0x0004, PIN_INPUT, 7) /* (B8) MCU_SPI0_CS1.MCU_GPIO0_1 */ >; }; };
,
user6044729:
参考链接后,问题解决,非常感谢
,
Shine:
不客气~ 感谢分享!