mfd: Add timberdale video-in driver to timberdale
Subsystems (2)
PATCH v2 3/3 mfd: Add timberdale video-in driver to timberdale
This patch defines platform data for the video-in driver and adds it to all configurations of timberdale.
Signed-off-by Richard Röjfors <[email protected]>
---
drivers/mfd/timberdale.c +57 -0
@@ -40,6 +40,7 @@#include <linux/spi/mc33880.h> #include <media/timb_radio.h> +#include <media/timb_video.h> #include <linux/timb_dma.h>
@@ -238,6 +239,22 @@ static const __devinitconst struct resource timberdale_uartlite_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 = { + .module_name ="adv7180" , + .info = &timberdale_adv7180_i2c_board_info + } +}; +static const __devinitconst struct resource timberdale_radio_resources[] = { { .start =RDSOFFSET ,
@@ -272,6 +289,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 = {
@@ -372,6 +401,13 @@ static __devinitdata struct mfd_cell timberdale_cells_bar0_cfg0[] = { .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), .resources = timberdale_radio_resources,
@@ -430,6 +466,13 @@ static __devinitdata struct mfd_cell timberdale_cells_bar0_cfg1[] = { .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), .resources = timberdale_radio_resources,
@@ -478,6 +521,13 @@ static __devinitdata struct mfd_cell timberdale_cells_bar0_cfg2[] = { .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), .resources = timberdale_radio_resources,
@@ -521,6 +571,13 @@ static __devinitdata struct mfd_cell timberdale_cells_bar0_cfg3[] = { .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), .resources = timberdale_radio_resources,
drivers/mfd/timberdale.h +1 -1
@@ -23,7 +23,7 @@#ifndef MFD_TIMBERDALE_H #define MFD_TIMBERDALE_H -#define DRV_VERSION "0.2" +#define DRV_VERSION "0.3"/* This driver only support versions >= 3.8 and < 4.0 */ #define TIMB_SUPPORTED_MAJOR 3
Quoted 4 lines · Richard Röjfors
This patch defines platform data for the video-in driver and adds it to all configurations of timberdale.
Signed-off-by Richard Röjfors <[email protected]>
Mauro, I suppose this series should go through your tree. If you agree, then please add:
Signed-off-by Samuel Ortiz <[email protected]>
to this patch.
Cheers,
Samuel.
Quoted 125 lines
---
drivers/mfd/timberdale.c +57
-0@@ -40,6 +40,7 @@#include <linux/spi/mc33880.h> #include <media/timb_radio.h> +#include <media/timb_video.h> #include <linux/timb_dma.h> @@ -238,6 +239,22 @@ static const __devinitconst struct resource timberdale_uartlite_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 = { + .module_name ="adv7180" , + .info = &timberdale_adv7180_i2c_board_info + } +}; +static const __devinitconst struct resource timberdale_radio_resources[] = { { .start =RDSOFFSET ,@@ -272,6 +289,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 = {@@ -372,6 +401,13 @@ static __devinitdata struct mfd_cell timberdale_cells_bar0_cfg0[] = { .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), .resources = timberdale_radio_resources,@@ -430,6 +466,13 @@ static __devinitdata struct mfd_cell timberdale_cells_bar0_cfg1[] = { .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), .resources = timberdale_radio_resources,@@ -478,6 +521,13 @@ static __devinitdata struct mfd_cell timberdale_cells_bar0_cfg2[] = { .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), .resources = timberdale_radio_resources,@@ -521,6 +571,13 @@ static __devinitdata struct mfd_cell timberdale_cells_bar0_cfg3[] = { .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), .resources = timberdale_radio_resources,drivers/mfd/timberdale.h +1
-1@@ -23,7 +23,7 @@#ifndef MFD_TIMBERDALE_H #define MFD_TIMBERDALE_H -#define DRV_VERSION "0.2" +#define DRV_VERSION "0.3"/* This driver only support versions >= 3.8 and < 4.0 */ #define TIMB_SUPPORTED_MAJOR 3
Signature · 2 lines
Intel Open Source Technology Centre http://oss.intel.com/