对于设备数的语法网上已经有很多了,但是懂了语法之后可能还是不太理解具体设备树的工作原理,这里以ti的CPSW为例说明设备树与内核的驱动之家的微妙关系。
cpsw就是ti公司的Common Platform Ethernet Switch 的缩写,CPSW为三端口调换器(three port switch ),一个cpu端口,两个外部端口。CPSW或者说以太网调换驱动遵循标准的linux网络接口构造。
对于TI的am335x的CPSW的设备树来说,其定义在am33x.dtsi文件中,内容如下:
mac:ethernet@4a100000 {
compatible ="ti,cpsw";
属性,这是跟驱动函数的匹配字符串,要跟驱动中一直。必须为“ti,cpsw“
ti,hwmods ="cpgmac0";
可选属性:对硬件模块的配置,为了跟驱动,必须是"cpgmac0"
clocks =, ;
指定时钟,其定义在 am33xx-clocks.dtsi文件中
clock-names ="fck", "cpts";
cpdma_channels = <8>;
cpdma(common platformdma)的通道数
ale_entries= <1024>;
制定ALE条目
bd_ram_size =<0x2000>;
描述内部ram的大小
no_bd_ram = <0>;
设置 H