From c091575c8b35b39b8f271e0d4b692329a705240a Mon Sep 17 00:00:00 2001 From: Richard Röjfors Date: Mon, 8 Nov 2010 10:45:48 -0300 Subject: [media] mfd: Add timberdale video-in driver to timberdale MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This patch defines platform data for the video-in driver and adds it to all configurations of timberdale. Signed-off-by: Richard Röjfors Acked-by: Samuel Ortiz Signed-off-by: Mauro Carvalho Chehab --- drivers/mfd/timberdale.c | 59 +++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 58 insertions(+), 1 deletion(-) (limited to 'drivers/mfd/timberdale.c') diff --git a/drivers/mfd/timberdale.c b/drivers/mfd/timberdale.c index e948a2b45b8..6ad8a7f8d39 100644 --- a/drivers/mfd/timberdale.c +++ b/drivers/mfd/timberdale.c @@ -40,6 +40,7 @@ #include #include +#include #include @@ -246,7 +247,23 @@ static const __devinitconst struct resource timberdale_uartlite_resources[] = { }, }; -static const __devinitconst struct resource timberdale_radio_resources[] = { +static __devinitdata struct i2c_board_info timberdale_adv7180_i2c_board_info = { + /* Requires jumper JP9 to be off */ + I2C_BOARD_INFO("adv7180", 0x42 >> 1), + .irq = IRQ_TIMBERDALE_ADV7180 +}; + +static __devinitdata struct timb_video_platform_data + timberdale_video_platform_data = { + .dma_channel = DMA_VIDEO_RX, + .i2c_adapter = 0, + .encoder = { + .info = &timberdale_adv7180_i2c_board_info + } +}; + +static const __devinitconst struct resource +timberdale_radio_resources[] = { { .start = RDSOFFSET, .end = RDSEND, @@ -278,6 +295,18 @@ static __devinitdata struct timb_radio_platform_data } }; +static const __devinitconst struct resource timberdale_video_resources[] = { + { + .start = LOGIWOFFSET, + .end = LOGIWEND, + .flags = IORESOURCE_MEM, + }, + /* + note that the "frame buffer" is located in DMA area + starting at 0x1200000 + */ +}; + static __devinitdata struct timb_dma_platform_data timb_dma_platform_data = { .nr_channels = 10, .channels = { @@ -377,6 +406,13 @@ static __devinitdata struct mfd_cell timberdale_cells_bar0_cfg0[] = { .platform_data = &timberdale_gpio_platform_data, .data_size = sizeof(timberdale_gpio_platform_data), }, + { + .name = "timb-video", + .num_resources = ARRAY_SIZE(timberdale_video_resources), + .resources = timberdale_video_resources, + .platform_data = &timberdale_video_platform_data, + .data_size = sizeof(timberdale_video_platform_data), + }, { .name = "timb-radio", .num_resources = ARRAY_SIZE(timberdale_radio_resources), @@ -437,6 +473,13 @@ static __devinitdata struct mfd_cell timberdale_cells_bar0_cfg1[] = { .num_resources = ARRAY_SIZE(timberdale_mlogicore_resources), .resources = timberdale_mlogicore_resources, }, + { + .name = "timb-video", + .num_resources = ARRAY_SIZE(timberdale_video_resources), + .resources = timberdale_video_resources, + .platform_data = &timberdale_video_platform_data, + .data_size = sizeof(timberdale_video_platform_data), + }, { .name = "timb-radio", .num_resources = ARRAY_SIZE(timberdale_radio_resources), @@ -487,6 +530,13 @@ static __devinitdata struct mfd_cell timberdale_cells_bar0_cfg2[] = { .platform_data = &timberdale_gpio_platform_data, .data_size = sizeof(timberdale_gpio_platform_data), }, + { + .name = "timb-video", + .num_resources = ARRAY_SIZE(timberdale_video_resources), + .resources = timberdale_video_resources, + .platform_data = &timberdale_video_platform_data, + .data_size = sizeof(timberdale_video_platform_data), + }, { .name = "timb-radio", .num_resources = ARRAY_SIZE(timberdale_radio_resources), @@ -530,6 +580,13 @@ static __devinitdata struct mfd_cell timberdale_cells_bar0_cfg3[] = { .platform_data = &timberdale_gpio_platform_data, .data_size = sizeof(timberdale_gpio_platform_data), }, + { + .name = "timb-video", + .num_resources = ARRAY_SIZE(timberdale_video_resources), + .resources = timberdale_video_resources, + .platform_data = &timberdale_video_platform_data, + .data_size = sizeof(timberdale_video_platform_data), + }, { .name = "timb-radio", .num_resources = ARRAY_SIZE(timberdale_radio_resources), -- cgit v1.2.3