RE: [PATCH v16 3/3] davinci vpbe: board specific additions
Hi, On Wed, Jan 19, 2011 at 21:42:00, Robert Mellen wrote: Are the davinci vpbe patches specific only to the DM644x platform? I am developing on the DM365 and would like to use the OSD features implemented in the patches. Are there plans to port these patches to the DM365? Is it only a matter of changing the board-specific files, such as board-dm365-evm.c? These patches are only for DM6446. The DM365 enabled patches will follow in a few days. Those will include the overall DM365 features and appropriate platform additions. Sincerely, Robert Mellen -Manjunath Hadli -Original Message- From: davinci-linux-open-source-bounces+robert.mellen=gvimd.com@linux.davincid davinci-linux-open-source-bounces+sp.c om [mailto:davinci-linux-open-source-bounces+robert.mellen=gvimd@linux.davi ncidsp.com] On Behalf Of Manjunath Hadli Sent: Tuesday, January 18, 2011 8:40 AM To: LMML; LAK; Kevin Hilman Cc: dlos; Mauro Carvalho Chehab Subject: [PATCH v16 3/3] davinci vpbe: board specific additions This patch implements tables for display timings,outputs and other board related functionalities. Signed-off-by: Manjunath Hadli manjunath.ha...@ti.com Acked-by: Muralidharan Karicheri m-kariche...@ti.com Acked-by: Hans Verkuil hverk...@xs4all.nl --- arch/arm/mach-davinci/board-dm644x-evm.c | 84 - 1 files changed, 69 insertions(+), 15 deletions(-) diff --git a/arch/arm/mach-davinci/board-dm644x-evm.c b/arch/arm/mach-davinci/board-dm644x-evm.c index 0ca90b8..95ea13d 100644 --- a/arch/arm/mach-davinci/board-dm644x-evm.c +++ b/arch/arm/mach-davinci/board-dm644x-evm.c @@ -176,18 +176,6 @@ static struct platform_device davinci_evm_nandflash_device = { .resource = davinci_evm_nandflash_resource, }; -static u64 davinci_fb_dma_mask = DMA_BIT_MASK(32); - -static struct platform_device davinci_fb_device = { - .name = davincifb, - .id = -1, - .dev = { - .dma_mask = davinci_fb_dma_mask, - .coherent_dma_mask = DMA_BIT_MASK(32), - }, - .num_resources = 0, -}; - static struct tvp514x_platform_data tvp5146_pdata = { .clk_polarity = 0, .hs_polarity = 1, @@ -337,7 +325,6 @@ static struct pcf857x_platform_data pcf_data_u2 = { .teardown = evm_led_teardown, }; - /* U18 - A/V clock generator and user switch */ static int sw_gpio; @@ -404,7 +391,6 @@ static struct pcf857x_platform_data pcf_data_u18 = { .teardown = evm_u18_teardown, }; - /* U35 - various I/O signals used to manage USB, CF, ATA, etc */ static int @@ -616,8 +602,73 @@ static void __init evm_init_i2c(void) i2c_register_board_info(1, i2c_info, ARRAY_SIZE(i2c_info)); } +#define VENC_STD_ALL(V4L2_STD_NTSC | V4L2_STD_PAL) + +/* venc standards timings */ +static struct vpbe_enc_mode_info vbpe_enc_std_timings[] = { + {ntsc, VPBE_ENC_STD, {V4L2_STD_525_60}, 1, 720, 480, + {11, 10}, {3, 1001}, 0x79, 0, 0x10, 0, 0, 0, 0}, + {pal, VPBE_ENC_STD, {V4L2_STD_625_50}, 1, 720, 576, + {54, 59}, {25, 1}, 0x7E, 0, 0x16, 0, 0, 0, 0}, }; + +/* venc dv preset timings */ +static struct vpbe_enc_mode_info vbpe_enc_preset_timings[] = { + {480p59_94, VPBE_ENC_DV_PRESET, {V4L2_DV_480P59_94}, 0, 720, 480, + {1, 1}, {5994, 100}, 0x80, 0, 0x20, 0, 0, 0, 0}, + {576p50, VPBE_ENC_DV_PRESET, {V4L2_DV_576P50}, 0, 720, 576, + {1, 1}, {50, 1}, 0x7E, 0, 0x30, 0, 0, 0, 0}, }; + +/* + * The outputs available from VPBE + encoders. Keep the order same + * as that of encoders. First that from venc followed by that from + * encoders. Index in the output refers to index on a particular encoder. + * Driver uses this index to pass it to encoder when it supports more +than + * one output. Application uses index of the array to set an output. + */ +static struct vpbe_output dm644x_vpbe_outputs[] = { + { + .output = { + .index = 0, + .name = Composite, + .type = V4L2_OUTPUT_TYPE_ANALOG, + .std = VENC_STD_ALL, + .capabilities = V4L2_OUT_CAP_STD, + }, + .subdev_name = VPBE_VENC_SUBDEV_NAME, + .default_mode = ntsc, + .num_modes = ARRAY_SIZE(vbpe_enc_std_timings), + .modes = vbpe_enc_std_timings, + }, + { + .output = { + .index = 1, + .name = Component, + .type = V4L2_OUTPUT_TYPE_ANALOG, + .capabilities = V4L2_OUT_CAP_PRESETS, + }, + .subdev_name = VPBE_VENC_SUBDEV_NAME, + .default_mode = 480p59_94, + .num_modes = ARRAY_SIZE(vbpe_enc_preset_timings), + .modes = vbpe_enc_preset_timings, + }, +}; + +static struct vpbe_display_config
RE: [PATCH v16 3/3] davinci vpbe: board specific additions
Are the davinci vpbe patches specific only to the DM644x platform? I am developing on the DM365 and would like to use the OSD features implemented in the patches. Are there plans to port these patches to the DM365? Is it only a matter of changing the board-specific files, such as board-dm365-evm.c? Sincerely, Robert Mellen -Original Message- From: davinci-linux-open-source-bounces+robert.mellen=gvimd.com@linux.davincidsp.c om [mailto:davinci-linux-open-source-bounces+robert.mellen=gvimd@linux.davi ncidsp.com] On Behalf Of Manjunath Hadli Sent: Tuesday, January 18, 2011 8:40 AM To: LMML; LAK; Kevin Hilman Cc: dlos; Mauro Carvalho Chehab Subject: [PATCH v16 3/3] davinci vpbe: board specific additions This patch implements tables for display timings,outputs and other board related functionalities. Signed-off-by: Manjunath Hadli manjunath.ha...@ti.com Acked-by: Muralidharan Karicheri m-kariche...@ti.com Acked-by: Hans Verkuil hverk...@xs4all.nl --- arch/arm/mach-davinci/board-dm644x-evm.c | 84 - 1 files changed, 69 insertions(+), 15 deletions(-) diff --git a/arch/arm/mach-davinci/board-dm644x-evm.c b/arch/arm/mach-davinci/board-dm644x-evm.c index 0ca90b8..95ea13d 100644 --- a/arch/arm/mach-davinci/board-dm644x-evm.c +++ b/arch/arm/mach-davinci/board-dm644x-evm.c @@ -176,18 +176,6 @@ static struct platform_device davinci_evm_nandflash_device = { .resource = davinci_evm_nandflash_resource, }; -static u64 davinci_fb_dma_mask = DMA_BIT_MASK(32); - -static struct platform_device davinci_fb_device = { - .name = davincifb, - .id = -1, - .dev = { - .dma_mask = davinci_fb_dma_mask, - .coherent_dma_mask = DMA_BIT_MASK(32), - }, - .num_resources = 0, -}; - static struct tvp514x_platform_data tvp5146_pdata = { .clk_polarity = 0, .hs_polarity = 1, @@ -337,7 +325,6 @@ static struct pcf857x_platform_data pcf_data_u2 = { .teardown = evm_led_teardown, }; - /* U18 - A/V clock generator and user switch */ static int sw_gpio; @@ -404,7 +391,6 @@ static struct pcf857x_platform_data pcf_data_u18 = { .teardown = evm_u18_teardown, }; - /* U35 - various I/O signals used to manage USB, CF, ATA, etc */ static int @@ -616,8 +602,73 @@ static void __init evm_init_i2c(void) i2c_register_board_info(1, i2c_info, ARRAY_SIZE(i2c_info)); } +#define VENC_STD_ALL(V4L2_STD_NTSC | V4L2_STD_PAL) + +/* venc standards timings */ +static struct vpbe_enc_mode_info vbpe_enc_std_timings[] = { + {ntsc, VPBE_ENC_STD, {V4L2_STD_525_60}, 1, 720, 480, + {11, 10}, {3, 1001}, 0x79, 0, 0x10, 0, 0, 0, 0}, + {pal, VPBE_ENC_STD, {V4L2_STD_625_50}, 1, 720, 576, + {54, 59}, {25, 1}, 0x7E, 0, 0x16, 0, 0, 0, 0}, +}; + +/* venc dv preset timings */ +static struct vpbe_enc_mode_info vbpe_enc_preset_timings[] = { + {480p59_94, VPBE_ENC_DV_PRESET, {V4L2_DV_480P59_94}, 0, 720, 480, + {1, 1}, {5994, 100}, 0x80, 0, 0x20, 0, 0, 0, 0}, + {576p50, VPBE_ENC_DV_PRESET, {V4L2_DV_576P50}, 0, 720, 576, + {1, 1}, {50, 1}, 0x7E, 0, 0x30, 0, 0, 0, 0}, +}; + +/* + * The outputs available from VPBE + encoders. Keep the order same + * as that of encoders. First that from venc followed by that from + * encoders. Index in the output refers to index on a particular encoder. + * Driver uses this index to pass it to encoder when it supports more than + * one output. Application uses index of the array to set an output. + */ +static struct vpbe_output dm644x_vpbe_outputs[] = { + { + .output = { + .index = 0, + .name = Composite, + .type = V4L2_OUTPUT_TYPE_ANALOG, + .std = VENC_STD_ALL, + .capabilities = V4L2_OUT_CAP_STD, + }, + .subdev_name = VPBE_VENC_SUBDEV_NAME, + .default_mode = ntsc, + .num_modes = ARRAY_SIZE(vbpe_enc_std_timings), + .modes = vbpe_enc_std_timings, + }, + { + .output = { + .index = 1, + .name = Component, + .type = V4L2_OUTPUT_TYPE_ANALOG, + .capabilities = V4L2_OUT_CAP_PRESETS, + }, + .subdev_name = VPBE_VENC_SUBDEV_NAME, + .default_mode = 480p59_94, + .num_modes = ARRAY_SIZE(vbpe_enc_preset_timings), + .modes = vbpe_enc_preset_timings, + }, +}; + +static struct vpbe_display_config vpbe_display_cfg = { + .module_name = dm644x-vpbe-display, + .i2c_adapter_id = 1, + .osd = { + .module_name = VPBE_OSD_SUBDEV_NAME, + }, + .venc = { + .module_name = VPBE_VENC_SUBDEV_NAME, + }, + .num_outputs = ARRAY_SIZE(dm644x_vpbe_outputs), +
Re: [PATCH v16 3/3] davinci vpbe: board specific additions
Hi Robert, On Thu, Jan 20, 2011 at 12:12 AM, Robert Mellen robert.mel...@gvimd.com wrote: Are the davinci vpbe patches specific only to the DM644x platform? I am developing on the DM365 and would like to use the OSD features implemented in the patches. Are there plans to port these patches to the DM365? Is it only a matter of changing the board-specific files, such as board-dm365-evm.c? [snip] AFAIK, these patches are DM644x platform specific, If you wanna use it on DM365,you have to change all of this for DM365 not only the board-specific files. Maybe this is on someone's queue. Best Regards, Kaspter. -- To unsubscribe from this list: send the line unsubscribe linux-media in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html -- Kaspter Ju -- To unsubscribe from this list: send the line unsubscribe linux-media in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html