Sekhar,

Thanks for your review. Comments inlined.

Regards,

Nori, Sekhar wrote:
On Fri, Sep 04, 2009 at 04:22:03, [email protected] wrote:
From: Santiago Nunez-Corrales <[email protected]>

This patch provides support for TVP7002 in architecture definitions
within DM365. Moved tvp7002 platform data here and cleaned up code.

Signed-off-by: Santiago Nunez-Corrales <[email protected]>
---
 arch/arm/mach-davinci/board-dm365-evm.c |   65 +++++++++++++++++++++++++++++--
 1 files changed, 61 insertions(+), 4 deletions(-)

diff --git a/arch/arm/mach-davinci/board-dm365-evm.c 
b/arch/arm/mach-davinci/board-dm365-evm.c
index 362ac62..4398d92 100644
--- a/arch/arm/mach-davinci/board-dm365-evm.c
+++ b/arch/arm/mach-davinci/board-dm365-evm.c
@@ -42,7 +42,9 @@
 #include <mach/mmc.h>
 #include <mach/nand.h>
 #include <linux/videodev2.h>
+#include <media/davinci/videohd.h>
 #include <media/tvp514x.h>
+#include <media/tvp7002.h>


 static inline int have_imager(void)
@@ -53,14 +55,19 @@ static inline int have_imager(void)

 static inline int have_tvp7002(void)
 {
-     /* REVISIT when it's supported, trigger via Kconfig */
+#ifdef CONFIG_VIDEO_TVP7002
+     return 1;
+#else
      return 0;
+#endif
 }

May be this can simply be:

#ifdef CONFIG_VIDEO_TVP7002
#define HAS_TVP7002     1
#else
#define HAS_TVP7002     0
#endif

However, you don't seem to use this in your
patch set anyway.

[SN] It is used in this same file. The reason for coding this is to follow the standard in the implementation.
-
 #define DM365_ASYNC_EMIF_CONTROL_BASE        0x01d10000
 #define DM365_ASYNC_EMIF_DATA_CE0_BASE       0x02000000
 #define DM365_ASYNC_EMIF_DATA_CE1_BASE       0x04000000
+#define DM365_ASYNC_EMIF_DATA_CE1_REG3       0x18
+#define DM365_ASYNC_EMIF_VIDEO_MUX_MASK      (0x07070707)
+#define DM365_ASYNC_EMIF_TVP7002_SEL (0x01010101)

Brackets unneeded.
[SN] Ok.
 #define DM365_EVM_PHY_MASK           (0x2)
 #define DM365_EVM_MDIO_FREQUENCY     (2200000) /* PHY bus frequency */
@@ -109,6 +116,15 @@ static struct tvp514x_platform_data tvp5146_pdata = {
        .vs_polarity = 1
 };

+/* tvp7002 platform data, used during reset and probe operations */
+static struct tvp7002_config tvp7002_pdata = {
+       .clk_polarity = 0,
+       .hs_polarity = 0,
+       .vs_polarity = 0,
+       .fid_polarity = 0,
+       .sog_polarity = 0,
+};

No need to initialize to 0s.

+
 /* NOTE:  this is geared for the standard config, with a socketed
  * 2 GByte Micron NAND (MT29F16G08FAA) using 128KB sectors.  If you
  * swap chips, maybe with a different block size, partitioning may
@@ -243,6 +259,22 @@ static struct v4l2_input tvp5146_inputs[] = {
      },
 };

+#define TVP7002_STD_ALL        (V4L2_STD_525P_60   | V4L2_STD_625P_50        |\
+                             V4L2_STD_NTSC      | V4L2_STD_PAL       |\
+                             V4L2_STD_720P_50   | V4L2_STD_720P_60   |\
+                             V4L2_STD_1080I_50  | V4L2_STD_1080I_60  |\
+                             V4L2_STD_1080P_50  | V4L2_STD_1080P_60)
+
+/* Inputs available at the TVP7002 */
+static struct v4l2_input tvp7002_inputs[] = {
+     {
+             .index = 0,
+             .name = "Component",
+             .type = V4L2_INPUT_TYPE_CAMERA,
+             .std = TVP7002_STD_ALL,
+     },
+};
+
 /*
  * this is the route info for connecting each input to decoder
  * ouput that goes to vpfe. There is a one to one correspondence
@@ -276,6 +308,19 @@ static struct vpfe_subdev_info vpfe_sub_devs[] = {
                      I2C_BOARD_INFO("tvp5146", 0x5d),
                      .platform_data = &tvp5146_pdata,
              },
+     },
+     {
+             .module_name = "tvp7002",
+             .grp_id = 0,
+             .ccdc_if_params = {
+                     .if_type = VPFE_BT1120,
+                     .hdpol = VPFE_PINPOL_POSITIVE,
+                     .vdpol = VPFE_PINPOL_POSITIVE,
+             },
+             .board_info = {
+                     I2C_BOARD_INFO("tvp7002", 0x5c),
+                     .platform_data = &tvp7002_pdata,
+             },
      }
 };

@@ -439,6 +484,16 @@ static int __init cpld_leds_init(void)
 /* run after subsys_initcall() for LEDs */
 fs_initcall(cpld_leds_init);

+/* Set the input mux for TVP7002 */
+int tvp7002_set_input_mux(void)

This is not used in any of your later patches.
You wanted this to be static?
[SN] True, this should be static.

Thanks,
Sekhar


--
Santiago Nunez-Corrales, Eng.
RidgeRun Engineering, LLC

Guayabos, Curridabat
San Jose, Costa Rica
+(506) 2271 1487
+(506) 8313 0536
http://www.ridgerun.com



_______________________________________________
Davinci-linux-open-source mailing list
[email protected]
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source

Reply via email to