RE: [PATCH v8 6/8] davinci vpbe: board specific additions

2010-12-22 Thread Hadli, Manjunath
Sergei,
 Only one comment. For others I have done the fixes.
Thanks and Regards,
-Manju

Others On Tue, Dec 21, 2010 at 17:13:30, Sergei Shtylyov wrote:
 Hello.
 
 On 20-12-2010 16:54, Manjunath Hadli wrote:
 
  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
 [...]
 
  diff --git a/arch/arm/mach-davinci/board-dm644x-evm.c 
  b/arch/arm/mach-davinci/board-dm644x-evm.c
  index 34c8b41..e9b1243 100644
  --- a/arch/arm/mach-davinci/board-dm644x-evm.c
  +++ b/arch/arm/mach-davinci/board-dm644x-evm.c
 [...]
  @@ -606,8 +594,71 @@ 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)
 
 Insert an empty line here, please.
 
  +/* 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 + ecnoders. Keep the
  + * the  order same as that of encoders. First that from venc followed 
  +by that
^^^ duplicate
These are actually 2 different structures, the second one holding high def
Standards - 480p and 576p and use DV_PRESETS whicle the first is used for
SD modes. 
 
  +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),
  +   .outputs = dm644x_vpbe_outputs,
  +};
 
 Insert an empty line here, please.
 
static struct platform_device *davinci_evm_devices[] __initdata = {
  -   davinci_fb_device,
  rtc_dev,
};
 
 WBR, Sergei
 

--
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


Re: [PATCH v8 6/8] davinci vpbe: board specific additions

2010-12-22 Thread Sergei Shtylyov

Hello.

Hadli, Manjunath wrote:


Sergei,
 Only one comment. For others I have done the fixes.
Thanks and Regards,
-Manju



Others On Tue, Dec 21, 2010 at 17:13:30, Sergei Shtylyov wrote:



Hello.



On 20-12-2010 16:54, Manjunath Hadli wrote:


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



[...]


diff --git a/arch/arm/mach-davinci/board-dm644x-evm.c 
b/arch/arm/mach-davinci/board-dm644x-evm.c

index 34c8b41..e9b1243 100644
--- a/arch/arm/mach-davinci/board-dm644x-evm.c
+++ b/arch/arm/mach-davinci/board-dm644x-evm.c

[...]

@@ -606,8 +594,71 @@ 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)



Insert an empty line here, please.



+/* 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 + ecnoders. Keep the
+ * the  order same as that of encoders. First that from venc followed 
+by that

   ^^^ duplicate



These are actually 2 different structures, the second one holding high def
Standards - 480p and 576p and use DV_PRESETS whicle the first is used for
SD modes.


   Still, could you fix the duplicate the? :-)

WBR, Sergei

--
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


Re: [PATCH v8 6/8] davinci vpbe: board specific additions

2010-12-21 Thread Sergei Shtylyov

Hello.

On 20-12-2010 16:54, Manjunath Hadli wrote:


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

[...]


diff --git a/arch/arm/mach-davinci/board-dm644x-evm.c 
b/arch/arm/mach-davinci/board-dm644x-evm.c
index 34c8b41..e9b1243 100644
--- a/arch/arm/mach-davinci/board-dm644x-evm.c
+++ b/arch/arm/mach-davinci/board-dm644x-evm.c

[...]

@@ -606,8 +594,71 @@ 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)


   Insert an empty line here, please.


+/* 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 + ecnoders. Keep the
+ * the  order same as that of encoders. First that from venc followed by that

  ^^^ duplicate


+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),
+   .outputs = dm644x_vpbe_outputs,
+};


   Insert an empty line here, please.


  static struct platform_device *davinci_evm_devices[] __initdata = {
-   davinci_fb_device,
rtc_dev,
  };


WBR, Sergei
--
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


[PATCH v8 6/8] davinci vpbe: board specific additions

2010-12-20 Thread Manjunath Hadli
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 |   79 +-
 1 files changed, 66 insertions(+), 13 deletions(-)

diff --git a/arch/arm/mach-davinci/board-dm644x-evm.c 
b/arch/arm/mach-davinci/board-dm644x-evm.c
index 34c8b41..e9b1243 100644
--- a/arch/arm/mach-davinci/board-dm644x-evm.c
+++ b/arch/arm/mach-davinci/board-dm644x-evm.c
@@ -166,18 +166,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,
@@ -606,8 +594,71 @@ 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 + ecnoders. Keep the
+ * 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),
+   .outputs = dm644x_vpbe_outputs,
+};
 static struct platform_device *davinci_evm_devices[] __initdata = {
-   davinci_fb_device,
rtc_dev,
 };
 
@@ -620,6 +671,8 @@ davinci_evm_map_io(void)
 {
/* setup input configuration for VPFE input devices */
dm644x_set_vpfe_config(vpfe_cfg);
+   /* setup configuration for vpbe devices */
+   dm644x_set_vpbe_display_config(vpbe_display_cfg);
dm644x_init();
 }
 
-- 
1.6.2.4

--
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