gpio = <&gpio0 RK_PA6 GPIO_ACTIVE_HIGH>;含义

发布时间 2023-08-19 16:34:42作者: xiaowang_lj

gpio = <&gpio0 RK_PA6 GPIO_ACTIVE_HIGH>;

第一个参数是GPIO编号 

第二个参数是GPIO引脚 一般GPIO有32个引脚 定义在 kernel-4.19\include\dt-bindings\pinctrl\rockchip.h

#define RK_GPIO0    0
#define RK_GPIO1    1
#define RK_GPIO2    2
#define RK_GPIO3    3
#define RK_GPIO4    4
#define RK_GPIO6    6

#define RK_PA0        0
#define RK_PA1        1
#define RK_PA2        2
#define RK_PA3        3
#define RK_PA4        4
#define RK_PA5        5
#define RK_PA6        6
#define RK_PA7        7
#define RK_PB0        8
#define RK_PB1        9
#define RK_PB2        10
#define RK_PB3        11
#define RK_PB4        12
#define RK_PB5        13
#define RK_PB6        14
#define RK_PB7        15
#define RK_PC0        16
#define RK_PC1        17
#define RK_PC2        18
#define RK_PC3        19
#define RK_PC4        20
#define RK_PC5        21
#define RK_PC6        22
#define RK_PC7        23
#define RK_PD0        24
#define RK_PD1        25
#define RK_PD2        26
#define RK_PD3        27
#define RK_PD4        28
#define RK_PD5        29
#define RK_PD6        30
#define RK_PD7        31

#define RK_FUNC_GPIO    0
#define RK_FUNC_0    0
#define RK_FUNC_1    1
#define RK_FUNC_2    2
#define RK_FUNC_3    3
#define RK_FUNC_4    4
#define RK_FUNC_5    5
#define RK_FUNC_6    6
#define RK_FUNC_7    7
#define RK_FUNC_8    8
#define RK_FUNC_9    9
#define RK_FUNC_10    10
#define RK_FUNC_11    11
#define RK_FUNC_12    12
#define RK_FUNC_13    13
#define RK_FUNC_14    14
#define RK_FUNC_15    15

#endif

第三个参数是引脚的电平 定义在 kernel-4.19\include\dt-bindings\gpio\gpio.h

/* Bit 0 express polarity */
#define GPIO_ACTIVE_HIGH 0
#define GPIO_ACTIVE_LOW 1

/* Bit 1 express single-endedness */
#define GPIO_PUSH_PULL 0
#define GPIO_SINGLE_ENDED 2

/* Bit 2 express Open drain or open source */
#define GPIO_LINE_OPEN_SOURCE 0
#define GPIO_LINE_OPEN_DRAIN 4

/*
 * Open Drain/Collector is the combination of single-ended open drain interface.
 * Open Source/Emitter is the combination of single-ended open source interface.
 */
#define GPIO_OPEN_DRAIN (GPIO_SINGLE_ENDED | GPIO_LINE_OPEN_DRAIN)
#define GPIO_OPEN_SOURCE (GPIO_SINGLE_ENDED | GPIO_LINE_OPEN_SOURCE)

/* Bit 3 express GPIO suspend/resume and reset persistence */
#define GPIO_PERSISTENT 0
#define GPIO_TRANSITORY 8