在目录/sys/bus/i2c/devices下能发现系统中的I2C设备,如下:
[cpp]
view plain
copy
- #
ls - 0-0034
- 0-0030
- 0-0011
- 0-0058
这些设备就是系统中存在的设备。
这些设备是怎么来的?
在你对应的machine配置里会执行“i2c_register_board_info”一个函数,它会将一个i2c_board_info的结构体注册进系统,
这个i2c_board_info的结构体里就描述了板载的所有I2C设备信息,如下例:
[c-sharp]
view plain
copy
- static
struct i2c_board_info littleton_i2c_board_info[] = { - #if
defined(CONFIG_PXA3xx_MICCO) || defined(CONFIG_PXA3xx_MICCO_MODULE) -
{ -
.type = "micco", -
.addr = 0x34, -
.platform_data = &micco_data, -
.irq = IRQ_GPIO(mfp_to_gpio(MFP_PIN_GPIO18)), -
},