Other 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 lo
gpio-331 ( |led2 ) out lo
gpio-332 ( |led3 ) out lo
gpio-333 ( |led4 ) out lo
gpio-336 ( |fixed-regulator-rgb ) out lo
gpiochip1: GPIOs 402-488, parent: platform/600000.gpio, 600000.gpio:
gpio-433 ( |net-5g-rst ) out lo ACTIVE LOW
gpio-437 ( |phy_rstn ) out lo
gpio-438 ( |id ) in lo
gpio-440 ( |RT9186 ) out lo
gpio-441 ( |fixed-regulator-lvds) out lo
gpio-442 ( |phy_rstn ) out lo
gpio-444 ( |heartbeat ) out lo
gpio-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核使用