7.10.2.GPIO子系统概念
也来问4个问题:
1什么是GPIO子系统?配置GPIO引脚电气特性的系统;
2如何表现?找到gpio.txt看下,
1) gpios property
需要用"[<name>-]gpios"命名,
gpio1: gpio1 { //名字
gpio-controller
#gpio-cells = <2>;
};
data-gpios = <&gpio1 12 0>,
<&gpio1 13 0>,
通常定义GPIO的标志位都是用include/dt-bindings/gpio/gpio.h中的宏来定义,看下这个文件:
/*
* This header provides constants for most GPIO bindings.
*
* Most GPIO bindings include a flags cell as part of the GPIO specifier.
* In most cases, the format of the flags cell uses the standard values
* defined in this header.
*/
#ifndef _DT_BINDINGS_GPIO_GPIO_H
#define _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
/*
* Open Drain/Collector is the combination of single-ended active low,
* Open Source/Emitter is the combination of single-ended active high.
*/
#define GPIO_OPEN_DRAIN (GPIO_SINGLE_ENDED | GPIO_ACTIVE_LOW) //开漏
#define GPIO_OPEN_SOURCE (GPIO_SINGLE_ENDED | GPIO_ACTIVE_HIGH)
#endi