diff options
Diffstat (limited to 'drivers/mfd/timberdale.c')
-rw-r--r-- | drivers/mfd/timberdale.c | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/drivers/mfd/timberdale.c b/drivers/mfd/timberdale.c index 7f478ec4184b..1ac77d16dce9 100644 --- a/drivers/mfd/timberdale.c +++ b/drivers/mfd/timberdale.c | |||
@@ -31,6 +31,7 @@ | |||
31 | 31 | ||
32 | #include <linux/i2c.h> | 32 | #include <linux/i2c.h> |
33 | #include <linux/i2c-ocores.h> | 33 | #include <linux/i2c-ocores.h> |
34 | #include <linux/i2c-xiic.h> | ||
34 | #include <linux/i2c/tsc2007.h> | 35 | #include <linux/i2c/tsc2007.h> |
35 | 36 | ||
36 | #include <linux/spi/spi.h> | 37 | #include <linux/spi/spi.h> |
@@ -69,6 +70,12 @@ static struct i2c_board_info timberdale_i2c_board_info[] = { | |||
69 | }, | 70 | }, |
70 | }; | 71 | }; |
71 | 72 | ||
73 | static __devinitdata struct xiic_i2c_platform_data | ||
74 | timberdale_xiic_platform_data = { | ||
75 | .devices = timberdale_i2c_board_info, | ||
76 | .num_devices = ARRAY_SIZE(timberdale_i2c_board_info) | ||
77 | }; | ||
78 | |||
72 | static __devinitdata struct ocores_i2c_platform_data | 79 | static __devinitdata struct ocores_i2c_platform_data |
73 | timberdale_ocores_platform_data = { | 80 | timberdale_ocores_platform_data = { |
74 | .regstep = 4, | 81 | .regstep = 4, |
@@ -77,6 +84,19 @@ timberdale_ocores_platform_data = { | |||
77 | .num_devices = ARRAY_SIZE(timberdale_i2c_board_info) | 84 | .num_devices = ARRAY_SIZE(timberdale_i2c_board_info) |
78 | }; | 85 | }; |
79 | 86 | ||
87 | const static __devinitconst struct resource timberdale_xiic_resources[] = { | ||
88 | { | ||
89 | .start = XIICOFFSET, | ||
90 | .end = XIICEND, | ||
91 | .flags = IORESOURCE_MEM, | ||
92 | }, | ||
93 | { | ||
94 | .start = IRQ_TIMBERDALE_I2C, | ||
95 | .end = IRQ_TIMBERDALE_I2C, | ||
96 | .flags = IORESOURCE_IRQ, | ||
97 | }, | ||
98 | }; | ||
99 | |||
80 | const static __devinitconst struct resource timberdale_ocores_resources[] = { | 100 | const static __devinitconst struct resource timberdale_ocores_resources[] = { |
81 | { | 101 | { |
82 | .start = OCORESOFFSET, | 102 | .start = OCORESOFFSET, |
@@ -270,6 +290,13 @@ static __devinitdata struct mfd_cell timberdale_cells_bar0_cfg0[] = { | |||
270 | .resources = timberdale_uart_resources, | 290 | .resources = timberdale_uart_resources, |
271 | }, | 291 | }, |
272 | { | 292 | { |
293 | .name = "xiic-i2c", | ||
294 | .num_resources = ARRAY_SIZE(timberdale_xiic_resources), | ||
295 | .resources = timberdale_xiic_resources, | ||
296 | .platform_data = &timberdale_xiic_platform_data, | ||
297 | .data_size = sizeof(timberdale_xiic_platform_data), | ||
298 | }, | ||
299 | { | ||
273 | .name = "timb-gpio", | 300 | .name = "timb-gpio", |
274 | .num_resources = ARRAY_SIZE(timberdale_gpio_resources), | 301 | .num_resources = ARRAY_SIZE(timberdale_gpio_resources), |
275 | .resources = timberdale_gpio_resources, | 302 | .resources = timberdale_gpio_resources, |
@@ -314,6 +341,13 @@ static __devinitdata struct mfd_cell timberdale_cells_bar0_cfg1[] = { | |||
314 | .resources = timberdale_uartlite_resources, | 341 | .resources = timberdale_uartlite_resources, |
315 | }, | 342 | }, |
316 | { | 343 | { |
344 | .name = "xiic-i2c", | ||
345 | .num_resources = ARRAY_SIZE(timberdale_xiic_resources), | ||
346 | .resources = timberdale_xiic_resources, | ||
347 | .platform_data = &timberdale_xiic_platform_data, | ||
348 | .data_size = sizeof(timberdale_xiic_platform_data), | ||
349 | }, | ||
350 | { | ||
317 | .name = "timb-gpio", | 351 | .name = "timb-gpio", |
318 | .num_resources = ARRAY_SIZE(timberdale_gpio_resources), | 352 | .num_resources = ARRAY_SIZE(timberdale_gpio_resources), |
319 | .resources = timberdale_gpio_resources, | 353 | .resources = timberdale_gpio_resources, |
@@ -358,6 +392,13 @@ static __devinitdata struct mfd_cell timberdale_cells_bar0_cfg2[] = { | |||
358 | .resources = timberdale_uart_resources, | 392 | .resources = timberdale_uart_resources, |
359 | }, | 393 | }, |
360 | { | 394 | { |
395 | .name = "xiic-i2c", | ||
396 | .num_resources = ARRAY_SIZE(timberdale_xiic_resources), | ||
397 | .resources = timberdale_xiic_resources, | ||
398 | .platform_data = &timberdale_xiic_platform_data, | ||
399 | .data_size = sizeof(timberdale_xiic_platform_data), | ||
400 | }, | ||
401 | { | ||
361 | .name = "timb-gpio", | 402 | .name = "timb-gpio", |
362 | .num_resources = ARRAY_SIZE(timberdale_gpio_resources), | 403 | .num_resources = ARRAY_SIZE(timberdale_gpio_resources), |
363 | .resources = timberdale_gpio_resources, | 404 | .resources = timberdale_gpio_resources, |