diff options
author | Richard Röjfors <richard.rojfors@pelagicore.com> | 2010-02-19 17:41:54 -0500 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@redhat.com> | 2010-02-26 13:11:03 -0500 |
commit | 071193ff4182c8f785e770c54e35f3ea2bb98b84 (patch) | |
tree | da777fc69dada06e45e0d6cde1c745238a080c09 /drivers/mfd | |
parent | 1f39b5834a3c6c9f107b869d38dca0622e913a3d (diff) |
V4L/DVB: mfd: Add timb-radio to the timberdale MFD
This patch addes timb-radio to all configurations of the timberdale MFD.
Connected to the FPGA is a TEF6862 tuner and a SAA7706H DSP, the I2C
board info of these devices is passed via the timb-radio platform data.
Signed-off-by: Richard Röjfors <richard.rojfors@pelagicore.com>
Cc: sameo@linux.intel.com
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers/mfd')
-rw-r--r-- | drivers/mfd/timberdale.c | 64 |
1 files changed, 64 insertions, 0 deletions
diff --git a/drivers/mfd/timberdale.c b/drivers/mfd/timberdale.c index 603cf069ad24..1ed44d283803 100644 --- a/drivers/mfd/timberdale.c +++ b/drivers/mfd/timberdale.c | |||
@@ -37,6 +37,8 @@ | |||
37 | #include <linux/spi/max7301.h> | 37 | #include <linux/spi/max7301.h> |
38 | #include <linux/spi/mc33880.h> | 38 | #include <linux/spi/mc33880.h> |
39 | 39 | ||
40 | #include <media/timb_radio.h> | ||
41 | |||
40 | #include "timberdale.h" | 42 | #include "timberdale.h" |
41 | 43 | ||
42 | #define DRIVER_NAME "timberdale" | 44 | #define DRIVER_NAME "timberdale" |
@@ -213,6 +215,40 @@ const static __devinitconst struct resource timberdale_uartlite_resources[] = { | |||
213 | }, | 215 | }, |
214 | }; | 216 | }; |
215 | 217 | ||
218 | const static __devinitconst struct resource timberdale_radio_resources[] = { | ||
219 | { | ||
220 | .start = RDSOFFSET, | ||
221 | .end = RDSEND, | ||
222 | .flags = IORESOURCE_MEM, | ||
223 | }, | ||
224 | { | ||
225 | .start = IRQ_TIMBERDALE_RDS, | ||
226 | .end = IRQ_TIMBERDALE_RDS, | ||
227 | .flags = IORESOURCE_IRQ, | ||
228 | }, | ||
229 | }; | ||
230 | |||
231 | static __devinitdata struct i2c_board_info timberdale_tef6868_i2c_board_info = { | ||
232 | I2C_BOARD_INFO("tef6862", 0x60) | ||
233 | }; | ||
234 | |||
235 | static __devinitdata struct i2c_board_info timberdale_saa7706_i2c_board_info = { | ||
236 | I2C_BOARD_INFO("saa7706h", 0x1C) | ||
237 | }; | ||
238 | |||
239 | static __devinitdata struct timb_radio_platform_data | ||
240 | timberdale_radio_platform_data = { | ||
241 | .i2c_adapter = 0, | ||
242 | .tuner = { | ||
243 | .module_name = "tef6862", | ||
244 | .info = &timberdale_tef6868_i2c_board_info | ||
245 | }, | ||
246 | .dsp = { | ||
247 | .module_name = "saa7706h", | ||
248 | .info = &timberdale_saa7706_i2c_board_info | ||
249 | } | ||
250 | }; | ||
251 | |||
216 | const static __devinitconst struct resource timberdale_dma_resources[] = { | 252 | const static __devinitconst struct resource timberdale_dma_resources[] = { |
217 | { | 253 | { |
218 | .start = DMAOFFSET, | 254 | .start = DMAOFFSET, |
@@ -240,6 +276,13 @@ static __devinitdata struct mfd_cell timberdale_cells_bar0_cfg0[] = { | |||
240 | .data_size = sizeof(timberdale_gpio_platform_data), | 276 | .data_size = sizeof(timberdale_gpio_platform_data), |
241 | }, | 277 | }, |
242 | { | 278 | { |
279 | .name = "timb-radio", | ||
280 | .num_resources = ARRAY_SIZE(timberdale_radio_resources), | ||
281 | .resources = timberdale_radio_resources, | ||
282 | .platform_data = &timberdale_radio_platform_data, | ||
283 | .data_size = sizeof(timberdale_radio_platform_data), | ||
284 | }, | ||
285 | { | ||
243 | .name = "xilinx_spi", | 286 | .name = "xilinx_spi", |
244 | .num_resources = ARRAY_SIZE(timberdale_spi_resources), | 287 | .num_resources = ARRAY_SIZE(timberdale_spi_resources), |
245 | .resources = timberdale_spi_resources, | 288 | .resources = timberdale_spi_resources, |
@@ -282,6 +325,13 @@ static __devinitdata struct mfd_cell timberdale_cells_bar0_cfg1[] = { | |||
282 | .resources = timberdale_mlogicore_resources, | 325 | .resources = timberdale_mlogicore_resources, |
283 | }, | 326 | }, |
284 | { | 327 | { |
328 | .name = "timb-radio", | ||
329 | .num_resources = ARRAY_SIZE(timberdale_radio_resources), | ||
330 | .resources = timberdale_radio_resources, | ||
331 | .platform_data = &timberdale_radio_platform_data, | ||
332 | .data_size = sizeof(timberdale_radio_platform_data), | ||
333 | }, | ||
334 | { | ||
285 | .name = "xilinx_spi", | 335 | .name = "xilinx_spi", |
286 | .num_resources = ARRAY_SIZE(timberdale_spi_resources), | 336 | .num_resources = ARRAY_SIZE(timberdale_spi_resources), |
287 | .resources = timberdale_spi_resources, | 337 | .resources = timberdale_spi_resources, |
@@ -314,6 +364,13 @@ static __devinitdata struct mfd_cell timberdale_cells_bar0_cfg2[] = { | |||
314 | .data_size = sizeof(timberdale_gpio_platform_data), | 364 | .data_size = sizeof(timberdale_gpio_platform_data), |
315 | }, | 365 | }, |
316 | { | 366 | { |
367 | .name = "timb-radio", | ||
368 | .num_resources = ARRAY_SIZE(timberdale_radio_resources), | ||
369 | .resources = timberdale_radio_resources, | ||
370 | .platform_data = &timberdale_radio_platform_data, | ||
371 | .data_size = sizeof(timberdale_radio_platform_data), | ||
372 | }, | ||
373 | { | ||
317 | .name = "xilinx_spi", | 374 | .name = "xilinx_spi", |
318 | .num_resources = ARRAY_SIZE(timberdale_spi_resources), | 375 | .num_resources = ARRAY_SIZE(timberdale_spi_resources), |
319 | .resources = timberdale_spi_resources, | 376 | .resources = timberdale_spi_resources, |
@@ -348,6 +405,13 @@ static __devinitdata struct mfd_cell timberdale_cells_bar0_cfg3[] = { | |||
348 | .data_size = sizeof(timberdale_gpio_platform_data), | 405 | .data_size = sizeof(timberdale_gpio_platform_data), |
349 | }, | 406 | }, |
350 | { | 407 | { |
408 | .name = "timb-radio", | ||
409 | .num_resources = ARRAY_SIZE(timberdale_radio_resources), | ||
410 | .resources = timberdale_radio_resources, | ||
411 | .platform_data = &timberdale_radio_platform_data, | ||
412 | .data_size = sizeof(timberdale_radio_platform_data), | ||
413 | }, | ||
414 | { | ||
351 | .name = "xilinx_spi", | 415 | .name = "xilinx_spi", |
352 | .num_resources = ARRAY_SIZE(timberdale_spi_resources), | 416 | .num_resources = ARRAY_SIZE(timberdale_spi_resources), |
353 | .resources = timberdale_spi_resources, | 417 | .resources = timberdale_spi_resources, |