Linux GPIO

Linux GPIO中断

修改设备树文件
1.添加gpio节点
2.添加引脚定义

Linux GPIO复用

修改设备树文件
&iomuxc{};
注意屏蔽掉不用的功能。

设备树文件分析

以下内容定义了3个寄存器和2个寄存器值,唯独没有配置conf_reg的值。
#define MX6UL_PAD_CSI_DATA01_引脚复用功能 
#define MX6UL_PAD_CSI_DATA01__CSI_DATA03   0x01E8  0x0474 0x04C8 0x0 0x0
下面分析一下各个值的由来。

mux_reg寄存器偏移地址:0x01E8

Linux GPIO_第1张图片

conf_reg寄存器偏移地址:0x0474

Linux GPIO_第2张图片

input_reg寄存器偏移地址:0x04C8

Linux GPIO_第3张图片

mux_reg寄存器值:

复用成MX6UL_PAD_CSI_DATA01__CSI_DATA03值为:0x0
复用成MX6UL_PAD_CSI_DATA01__USDHC2_DATA1值为:0x1
复用成MX6UL_PAD_CSI_DATA01__SIM1_PORT1_SVEN值为:0x2
复用成MX6UL_PAD_CSI_DATA01__ECSPI2_SS0值为:0x3
复用成MX6UL_PAD_CSI_DATA01__EIM_AD01值为:0x4
复用成MX6UL_PAD_CSI_DATA01__GPIO4_IO22值为:0x5
复用成MX6UL_PAD_CSI_DATA01__SAI1_MCLK值为:0x6
复用成MX6UL_PAD_CSI_DATA01__UART5_DCE_RX值为:0x8
复用成MX6UL_PAD_CSI_DATA01__UART5_DTE_TX值为:0x8

input_reg寄存器值:0x0

文件中唯独没有配置conf_reg的值。

在设备树中用户只需要关心这一步操作:
MX6UL_PAD_CSI_DATA01__GPIO4_IO22  0x10b0

你可能感兴趣的:(Linux驱动,linux)