gpio rk3399 控制_GPIO 使用

复用¶

如何定义 GPIO 有哪些功能可以复用,在运行时又如何切换功能呢?以 I2C4 为例作简单的介绍。

查规格表可知,I2C4_SDA 与 I2C4_SCL 的功能定义如下:

Pad# func0 func1

I2C4_SDA/GPIO1_B3 gpio1b3 i2c4_sda

I2C4_SCL/GPIO1_B4 gpio1b4 i2c4_scl

在 kernel/arch/arm64/boot/dts/rockchip/rk3399.dtsi 里有:

i2c4: i2c@ff3d0000{

compatible = "rockchip,rk3399-i2c";

reg = <0x0 0xff3d0000 0x0 0x1000>;

clocks = , ;

clock-names = "i2c", "pclk";

interrupts = ;

pinctrl-names = "default", "gpio";

pinctrl-0 = ;

pinctrl-1 = ; //此处源码未添加

#address-cells = <1>;

#size-cells = <0>;

status = "disabled";

};

此处,跟复用控制相关的是 pinctrl- 开头的属性:

pinctrl-names 定义了状态名称列表: default (i2c 功能) 和 gpio 两种状

你可能感兴趣的:(gpio,rk3399,控制)