summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMartin Bugge <marbugge@cisco.com>2013-12-20 05:14:57 -0300
committerMauro Carvalho Chehab <m.chehab@samsung.com>2014-01-07 06:16:54 -0200
commit9890869651fc8bc3876f2eb839ac403edb47560d (patch)
treec7dad45b4a2b564eab8f6ca75a3c5fccab336963
parentd48eb48cd4d497e2e65c68d3ca3976a8dbfc992e (diff)
downloadlinux-9890869651fc8bc3876f2eb839ac403edb47560d.tar.bz2
[media] adv7604: sync polarities from platform data
Signed-off-by: Martin Bugge <marbugge@cisco.com> Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
-rw-r--r--drivers/media/i2c/adv7604.c5
-rw-r--r--include/media/adv7604.h4
2 files changed, 7 insertions, 2 deletions
diff --git a/drivers/media/i2c/adv7604.c b/drivers/media/i2c/adv7604.c
index 0bc9e1a8c07e..be9699e28738 100644
--- a/drivers/media/i2c/adv7604.c
+++ b/drivers/media/i2c/adv7604.c
@@ -2126,9 +2126,10 @@ static int adv7604_core_init(struct v4l2_subdev *sd)
pdata->replicate_av_codes << 1 |
pdata->invert_cbcr << 0);
- /* TODO from platform data */
cp_write(sd, 0x69, 0x30); /* Enable CP CSC */
- io_write(sd, 0x06, 0xa6); /* positive VS and HS */
+
+ /* VS, HS polarities */
+ io_write(sd, 0x06, 0xa0 | pdata->inv_vs_pol << 2 | pdata->inv_hs_pol << 1);
/* Adjust drive strength */
io_write(sd, 0x14, 0x40 | pdata->dr_str_data << 4 |
diff --git a/include/media/adv7604.h b/include/media/adv7604.h
index baf7250ee8a1..d262a3a922bd 100644
--- a/include/media/adv7604.h
+++ b/include/media/adv7604.h
@@ -113,6 +113,10 @@ struct adv7604_platform_data {
unsigned replicate_av_codes:1;
unsigned invert_cbcr:1;
+ /* IO register 0x06 */
+ unsigned inv_vs_pol:1;
+ unsigned inv_hs_pol:1;
+
/* IO register 0x14 */
enum adv7604_drive_strength dr_str_data;
enum adv7604_drive_strength dr_str_clk;