gpio0: gpio@049a8000 {
compatible = "snps,dw-apb-gpio";
reg = <0x049a8000 0x400>;
port0a: gpio-controller@0 {
gpio-controller;
#gpio-cells = <2>;
snps,nr-gpios = <32>;
};
};
这是一个描述特定硬件设备的设备树节点,这个硬件设备是一个名为"snps,dw-apb-gpio"的GPIO控制器。- gpio0: gpio@049a8000
:这是该设备树节点的名字,并且标示了它的内存映射IO基地址为0x049a8000。
-
compatible = "snps,dw-apb-gpio"
:这声明了该硬件设备的类型,是一个"snps,dw-apb-gpio",与设备的驱动匹配关系由此来确定。 -
reg = <0x049a8000 0x400>
:定义了硬件设备的物理基地址和寄存器范围,从0x049a8000开始,范围长度为0x400。 -
port0a: gpio-controller@0
:定义了下级节点,代表了一个 GPIO 控制器端口。 -
gpio-controller
:表示该设备是一个 GPIO 控制器。 -
#gpio-cells = <2>
:表示了设备树描述GPIO设备时该使用的参数个数。常见的gpio-cells有两个参数,第一个参数表示GPIO在控制器的编号,第二个参数表示GPIO的电平状态。 -
snps,nr-gpios = <32>
:表示有32个GPIO端口可用。
总的来说,这个设备树节点描述了一个 GPIO 控制器,该控制器被映射到物理地址0x049a8000,并且有32个GPIO端口。每一个 GPIO 在描述时需要两个参数,一个是GPIO编号,另一个是GPIO电平状态。