RE: [PATCH] DM644x CCDC: Add 10bit BT support

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Acked-by: Muralidharan Karicheri <m-karicheri2@xxxxxx>

Murali Karicheri
Software Design Engineer
Texas Instruments Inc.
Germantown, MD 20874
phone: 301-407-9583
email: m-karicheri2@xxxxxx

>-----Original Message-----
>From: Hiremath, Vaibhav
>Sent: Monday, November 16, 2009 12:30 AM
>To: linux-media@xxxxxxxxxxxxxxx
>Cc: Karicheri, Muralidharan; Hiremath, Vaibhav
>Subject: [PATCH] DM644x CCDC: Add 10bit BT support
>
>From: Vaibhav Hiremath <hvaibhav@xxxxxx>
>
>
>Signed-off-by: Vaibhav Hiremath <hvaibhav@xxxxxx>
>Reviewed-by: Muralidharan Karicheri <m-karicheri2@xxxxxx>
>---
> drivers/media/video/davinci/dm644x_ccdc.c      |   17 +++++++++++++----
> drivers/media/video/davinci/dm644x_ccdc_regs.h |    8 ++++++++
> 2 files changed, 21 insertions(+), 4 deletions(-)
>
>diff --git a/drivers/media/video/davinci/dm644x_ccdc.c
>b/drivers/media/video/davinci/dm644x_ccdc.c
>index 2f19a91..9d601b4 100644
>--- a/drivers/media/video/davinci/dm644x_ccdc.c
>+++ b/drivers/media/video/davinci/dm644x_ccdc.c
>@@ -394,7 +394,11 @@ void ccdc_config_ycbcr(void)
> 		 * configure the FID, VD, HD pin polarity,
> 		 * fld,hd pol positive, vd negative, 8-bit data
> 		 */
>-		syn_mode |= CCDC_SYN_MODE_VD_POL_NEGATIVE |
>CCDC_SYN_MODE_8BITS;
>+		syn_mode |= CCDC_SYN_MODE_VD_POL_NEGATIVE;
>+		if (ccdc_if_type == VPFE_BT656_10BIT)
>+			syn_mode |= CCDC_SYN_MODE_10BITS;
>+		else
>+			syn_mode |= CCDC_SYN_MODE_8BITS;
> 	} else {
> 		/* y/c external sync mode */
> 		syn_mode |= (((params->fid_pol & CCDC_FID_POL_MASK) <<
>@@ -413,8 +417,13 @@ void ccdc_config_ycbcr(void)
> 	 * configure the order of y cb cr in SDRAM, and disable latch
> 	 * internal register on vsync
> 	 */
>-	regw((params->pix_order << CCDC_CCDCFG_Y8POS_SHIFT) |
>-		 CCDC_LATCH_ON_VSYNC_DISABLE, CCDC_CCDCFG);
>+	if (ccdc_if_type == VPFE_BT656_10BIT)
>+		regw((params->pix_order << CCDC_CCDCFG_Y8POS_SHIFT) |
>+			CCDC_LATCH_ON_VSYNC_DISABLE | CCDC_CCDCFG_BW656_10BIT,
>+			CCDC_CCDCFG);
>+	else
>+		regw((params->pix_order << CCDC_CCDCFG_Y8POS_SHIFT) |
>+			CCDC_LATCH_ON_VSYNC_DISABLE, CCDC_CCDCFG);
>
> 	/*
> 	 * configure the horizontal line offset. This should be a
>@@ -429,7 +438,6 @@ void ccdc_config_ycbcr(void)
>
> 	ccdc_sbl_reset();
> 	dev_dbg(dev, "\nEnd of ccdc_config_ycbcr...\n");
>-	ccdc_readregs();
> }
>
> static void ccdc_config_black_clamp(struct ccdc_black_clamp *bclamp)
>@@ -822,6 +830,7 @@ static int ccdc_set_hw_if_params(struct
>vpfe_hw_if_param *params)
> 	case VPFE_BT656:
> 	case VPFE_YCBCR_SYNC_16:
> 	case VPFE_YCBCR_SYNC_8:
>+	case VPFE_BT656_10BIT:
> 		ccdc_hw_params_ycbcr.vd_pol = params->vdpol;
> 		ccdc_hw_params_ycbcr.hd_pol = params->hdpol;
> 		break;
>diff --git a/drivers/media/video/davinci/dm644x_ccdc_regs.h
>b/drivers/media/video/davinci/dm644x_ccdc_regs.h
>index 6e5d053..b18d166 100644
>--- a/drivers/media/video/davinci/dm644x_ccdc_regs.h
>+++ b/drivers/media/video/davinci/dm644x_ccdc_regs.h
>@@ -135,11 +135,19 @@
> #define CCDC_SYN_MODE_INPMOD_SHIFT		12
> #define CCDC_SYN_MODE_INPMOD_MASK		3
> #define CCDC_SYN_MODE_8BITS			(7 << 8)
>+#define CCDC_SYN_MODE_10BITS			(6 << 8)
>+#define CCDC_SYN_MODE_11BITS			(5 << 8)
>+#define CCDC_SYN_MODE_12BITS			(4 << 8)
>+#define CCDC_SYN_MODE_13BITS			(3 << 8)
>+#define CCDC_SYN_MODE_14BITS			(2 << 8)
>+#define CCDC_SYN_MODE_15BITS			(1 << 8)
>+#define CCDC_SYN_MODE_16BITS			(0 << 8)
> #define CCDC_SYN_FLDMODE_MASK			1
> #define CCDC_SYN_FLDMODE_SHIFT			7
> #define CCDC_REC656IF_BT656_EN			3
> #define CCDC_SYN_MODE_VD_POL_NEGATIVE		(1 << 2)
> #define CCDC_CCDCFG_Y8POS_SHIFT			11
>+#define CCDC_CCDCFG_BW656_10BIT 		(1 << 5)
> #define CCDC_SDOFST_FIELD_INTERLEAVED		0x249
> #define CCDC_NO_CULLING				0xffff00ff
> #endif
>--
>1.6.2.4

--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]
  Powered by Linux