今天在IMX6ULL上通过杜邦线接了一个AT24C02的EEPROM
测试发现设备树中加入如下部分:
eeprom_dev:eeprom@50 {
compatible = "24c02";
reg = <0x50>;
pagesize = <8>;
};
测试正常后,发现网上有人给的例子的设备节点如下:
eeprom_dev:eeprom@50 {
compatible = "atmel,24c02";
reg = <0x50>;
pagesize = <8>;
};
竟然也正常工作,
我一直以为驱动和设备树里的compatible 必须完全相同才行,但这个EEPROM为什么上边两个compatible 都行呢?
更吃惊的是我在代码里没找到compatible = "24c02";或者 compatible = "atmel,24c02";的驱动文件
那针对设备树的这两种写法具体匹配的是哪个驱动文件? 是怎么匹配的?