summaryrefslogtreecommitdiff
path: root/drivers/media
diff options
context:
space:
mode:
authorMing Wong <miwong@nvidia.com>2013-05-23 16:29:47 -0700
committerHarshada Kale <hkale@nvidia.com>2013-07-15 09:42:01 -0700
commit53de2e3f9e439a9af270914d021c6c6a96a0a0db (patch)
treeeb2d41e1ecf191e20cb20ed2828dba962de782a2 /drivers/media
parentf72439306a30ce3fbbb184cbf43129a0ad1d7297 (diff)
tegra: media: video: imx135 reduce PLL for HDR res
reduce PLL settings for HDR resolutions for power optimization Bug 1293554 Change-Id: Ic2e021eee6f335d329be6fec97270c871e981e5a Signed-off-by: Ming Wong <miwong@nvidia.com> Reviewed-on: http://git-master/r/248056 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Frank Chen <frankc@nvidia.com> Tested-by: Bhushan Rayrikar <brayrikar@nvidia.com> Reviewed-by: Sachin Nikam <snikam@nvidia.com>
Diffstat (limited to 'drivers/media')
-rw-r--r--drivers/media/video/tegra/imx135.c98
1 files changed, 58 insertions, 40 deletions
diff --git a/drivers/media/video/tegra/imx135.c b/drivers/media/video/tegra/imx135.c
index fc4043fe9d12..93e25590aa0f 100644
--- a/drivers/media/video/tegra/imx135.c
+++ b/drivers/media/video/tegra/imx135.c
@@ -102,7 +102,7 @@ static struct imx135_reg mode_4208x3120[] = {
{0x0309, 0x05},
{0x030B, 0x01},
{0x030C, 0x01},
- {0x030D, 0xC2},
+ {0x030D, 0x98},
{0x030E, 0x01},
{0x3A06, 0x11},
@@ -134,7 +134,7 @@ static struct imx135_reg mode_4208x3120[] = {
/* Size Setting */
{0x0340, 0x0C},
- {0x0341, 0xD0},
+ {0x0341, 0x48},
{0x0342, 0x11},
{0x0343, 0xDC},
{0x0344, 0x00},
@@ -171,21 +171,21 @@ static struct imx135_reg mode_4208x3120[] = {
{0x4400, 0x00},
/* Global Timing Setting */
- {0x0830, 0x87},
- {0x0831, 0x3F},
- {0x0832, 0x67},
+ {0x0830, 0x7F},
+ {0x0831, 0x37},
+ {0x0832, 0x5F},
{0x0833, 0x3F},
- {0x0834, 0x3F},
- {0x0835, 0x4F},
- {0x0836, 0xDF},
- {0x0837, 0x47},
+ {0x0834, 0x37},
+ {0x0835, 0x3F},
+ {0x0836, 0xCF},
+ {0x0837, 0x3F},
{0x0839, 0x1F},
{0x083A, 0x17},
{0x083B, 0x02},
/* Integration Time Setting */
{0x0202, 0x0C},
- {0x0203, 0xCC},
+ {0x0203, 0x44},
/* Gain Setting */
{0x0205, 0x00},
@@ -204,7 +204,7 @@ static struct imx135_reg mode_4208x3120[] = {
{0x0233, 0x00},
{0x0234, 0x00},
{0x0235, 0x40},
- {0x0238, 0x01},
+ {0x0238, 0x00},
{0x0239, 0x04},
{0x023B, 0x00},
{0x023C, 0x01},
@@ -214,7 +214,13 @@ static struct imx135_reg mode_4208x3120[] = {
{0x33B4, 0x01},
{0x3800, 0x00},
- {0x3A43, 0x01},
+ {0x3024, 0x20},
+ {0x302B, 0x01},
+ {0x302A, 0x01},
+ {0x3029, 0x01},
+ {0x3028, 0x01},
+ {0x3025, 0x00},
+ {0x300C, 0x1C},
/* stream on */
{0x0100, 0x01},
@@ -929,7 +935,7 @@ static struct imx135_reg mode_2616x1472[] = {
{0x0309, 0x05},
{0x030B, 0x01},
{0x030C, 0x01},
- {0x030D, 0xC2},
+ {0x030D, 0x01},
{0x030E, 0x01},
{0x3A06, 0x11},
@@ -960,8 +966,8 @@ static struct imx135_reg mode_2616x1472[] = {
{0x441C, 0x01},
/* Size Setting */
- {0x0340, 0x0A},
- {0x0341, 0x40},
+ {0x0340, 0x05},
+ {0x0341, 0xD8},
{0x0342, 0x11},
{0x0343, 0xDC},
{0x0344, 0x03},
@@ -998,21 +1004,21 @@ static struct imx135_reg mode_2616x1472[] = {
{0x4400, 0x00},
/* Global Timing Setting */
- {0x0830, 0x87},
- {0x0831, 0x3F},
- {0x0832, 0x67},
- {0x0833, 0x3F},
- {0x0834, 0x3F},
- {0x0835, 0x4F},
- {0x0836, 0xDF},
- {0x0837, 0x47},
+ {0x0830, 0x6F},
+ {0x0831, 0x27},
+ {0x0832, 0x47},
+ {0x0833, 0x27},
+ {0x0834, 0x27},
+ {0x0835, 0x27},
+ {0x0836, 0x8F},
+ {0x0837, 0x37},
{0x0839, 0x1F},
{0x083A, 0x17},
{0x083B, 0x02},
/* Integration Time Setting */
- {0x0202, 0x0A},
- {0x0203, 0x3C},
+ {0x0202, 0x05},
+ {0x0203, 0xD4},
/* Gain Setting */
{0x0205, 0x00},
@@ -1041,7 +1047,13 @@ static struct imx135_reg mode_2616x1472[] = {
{0x33B4, 0x01},
{0x3800, 0x00},
- {0x3A43, 0x01},
+ {0x3024, 0x20},
+ {0x302B, 0x01},
+ {0x302A, 0x01},
+ {0x3029, 0x01},
+ {0x3028, 0x01},
+ {0x3025, 0x00},
+ {0x300C, 0x1C},
/* stream on */
{0x0100, 0x01},
@@ -1094,7 +1106,7 @@ static struct imx135_reg mode_3896x2192[] = {
{0x0309, 0x05},
{0x030B, 0x01},
{0x030C, 0x01},
- {0x030D, 0xC2},
+ {0x030D, 0x7C},
{0x030E, 0x01},
{0x3A06, 0x11},
@@ -1125,8 +1137,8 @@ static struct imx135_reg mode_3896x2192[] = {
{0x441C, 0x01},
/* Size Setting */
- {0x0340, 0x0A},
- {0x0341, 0x40},
+ {0x0340, 0x08},
+ {0x0341, 0xA8},
{0x0342, 0x11},
{0x0343, 0xDC},
{0x0344, 0x00},
@@ -1163,21 +1175,21 @@ static struct imx135_reg mode_3896x2192[] = {
{0x4400, 0x00},
/* Global Timing Setting */
- {0x0830, 0x87},
- {0x0831, 0x3F},
- {0x0832, 0x67},
- {0x0833, 0x3F},
- {0x0834, 0x3F},
- {0x0835, 0x4F},
- {0x0836, 0xDF},
- {0x0837, 0x47},
+ {0x0830, 0x77},
+ {0x0831, 0x2F},
+ {0x0832, 0x5F},
+ {0x0833, 0x37},
+ {0x0834, 0x37},
+ {0x0835, 0x37},
+ {0x0836, 0xBF},
+ {0x0837, 0x3F},
{0x0839, 0x1F},
{0x083A, 0x17},
{0x083B, 0x02},
/* Integration Time Setting */
- {0x0202, 0x0A},
- {0x0203, 0x3C},
+ {0x0202, 0x08},
+ {0x0203, 0xA4},
/* Gain Setting */
{0x0205, 0x00},
@@ -1206,7 +1218,13 @@ static struct imx135_reg mode_3896x2192[] = {
{0x33B4, 0x01},
{0x3800, 0x00},
- {0x3A43, 0x01},
+ {0x3024, 0x20},
+ {0x302B, 0x01},
+ {0x302A, 0x01},
+ {0x3029, 0x01},
+ {0x3028, 0x01},
+ {0x3025, 0x00},
+ {0x300C, 0x1C},
/* stream on */
{0x0100, 0x01},