|
@@ -20,6 +20,8 @@ platform_device with the base address and interrupt number. The
|
|
|
dev.platform_data of the device should also point to a struct
|
|
|
ocores_i2c_platform_data (see linux/i2c-ocores.h) describing the
|
|
|
distance between registers and the input clock speed.
|
|
|
+There is also a possibility to attach a list of i2c_board_info which
|
|
|
+the i2c-ocores driver will add to the bus upon creation.
|
|
|
|
|
|
E.G. something like:
|
|
|
|
|
@@ -36,9 +38,24 @@ static struct resource ocores_resources[] = {
|
|
|
},
|
|
|
};
|
|
|
|
|
|
+/* optional board info */
|
|
|
+struct i2c_board_info ocores_i2c_board_info[] = {
|
|
|
+ {
|
|
|
+ I2C_BOARD_INFO("tsc2003", 0x48),
|
|
|
+ .platform_data = &tsc2003_platform_data,
|
|
|
+ .irq = TSC_IRQ
|
|
|
+ },
|
|
|
+ {
|
|
|
+ I2C_BOARD_INFO("adv7180", 0x42 >> 1),
|
|
|
+ .irq = ADV_IRQ
|
|
|
+ }
|
|
|
+};
|
|
|
+
|
|
|
static struct ocores_i2c_platform_data myi2c_data = {
|
|
|
.regstep = 2, /* two bytes between registers */
|
|
|
.clock_khz = 50000, /* input clock of 50MHz */
|
|
|
+ .devices = ocores_i2c_board_info, /* optional table of devices */
|
|
|
+ .num_devices = ARRAY_SIZE(ocores_i2c_board_info), /* table size */
|
|
|
};
|
|
|
|
|
|
static struct platform_device myi2c = {
|