我正在将I2C驱动程序移植到Linux-4上。该设备同时为不同功能提供多个I2C地址。
例如:
address 0xAA is for access of SPI flash.
address 0xA0 is for access of EEPROM.
address 0x60 is for normal access (control purpose).
是否可以在单个I2C设备驱动程序中支持对不同I2C地址的访问?
感谢您的帮助,谢谢
我在i2c线路上将一个硬件连接到一个嵌入式linux板上。我可以在/dev/i2c-1上看到这个设备
filename = "/dev/i2c-1"
filehandle = open(filename,O_RDWR);
write(filehandle, <buffer to be written>, <number of Bytes>)
(similiarly for read = read(filehandle, <buffer to be read in an array>, <number of
在我的主板上,我有一个存储配置信息的I2C EEPROM。UBoot使用如下所示的read_eeprom函数读取它。我还想从Linux内核内部访问此信息,以便正确显示/proc/cpuinfo输出。但是,我在Linux内核中找不到与i2c_probe和i2c_read等效的功能。如何从内核内部执行以下函数?我使用的是Linux 3.2。
static int read_eeprom(void)
{
/* Check if baseboard eeprom is available */
if (i2c_probe(CONFIG_SYS_I2C_EEPROM_AD
我目前正在使用Linux开发嵌入式设备(基于飞思卡尔i.MX6)。我的平台启用DT(也就是说,所有设备实例化起源于扁平的设备树,而不是板初始化源文件)。
在这种情况下,我需要实例化一个使用尚未移植到DT的驱动程序的设备.有可能吗?我的意思是:是否有可能将通过设备树实例化的设备和以旧方式实例化的设备(例如通过i2c_register_board_info for I2C设备)混合使用?
如果是这样的话,是否也可以使用通常的方式(例如通过struct i2c_board_info for I2C设备)将平台数据传递给旧风格的驱动程序?或者,作为基于DT的平台,struct i2c_board_in