IMX8MM GPIO和中断

时间:2024-03-27 14:41:33

IMX8MM 设备树GPIO和中断

SAI2_RXFS UART1_TXD 0x1B0 0x418 0x000 0x4 0x0
(1)0x1B0 mux_reg:mux控制寄存器偏移地址 IOMUXC_SW_MUX_CTL_PAD_SAI2_RXFS 100 ALT4 — Select signal UART1_TX
(2)0x418 conf_reg:pad控制寄存器偏移地址
IOMUXC_SW_PAD_CTL_PAD_SAI2_RXFS 3033_0418h
(3)0x0 input_reg:select_input控制寄存器偏移地址
由于UART1_TXD没有select的寄存器,所以设置成0 。如果有select寄存器,则需要设置偏移地址。
(4)0x4 mux_mode:mux模式 100 ALT4 — Select signal UART1_TX
(5)0x0 input_val:select_input寄存器值
由于UART1_TXD没有select的寄存器,所以设置成0 。如果有select寄存器,则需要设置寄存器值。

中断:
如下第一图,看到GPIO2的中断号是66,67。与第二图右边 可以看到中断号一致。
第二图左边表示是GPIO2_IO11设置为中断。
通过grep -ri “usb,tcpci” ./drivers/ 搜索对应的驱动为 ./drivers/staging/typec/tcpci.c

查找irq相关函数看到驱动tcpci.c中 有devm_request_threaded_irq 注册中断函数。

最后,可以在系统启动后cat /proc/interrupts 查看

IMX8MM GPIO和中断
IMX8MM GPIO和中断

IMX8MM GPIO和中断