From patchwork Sun Apr 16 17:35:42 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Frank Schaefer X-Patchwork-Id: 40865 Received: from mail.tu-berlin.de ([130.149.7.33]) by www.linuxtv.org with esmtp (Exim 4.84_2) (envelope-from ) id 1czo5t-0005N6-Gb; Sun, 16 Apr 2017 17:36:13 +0000 X-tubIT-Incoming-IP: 209.132.180.67 Received: from vger.kernel.org ([209.132.180.67]) by mail.tu-berlin.de (exim-4.84_2/mailfrontend-7) with esmtp id 1czo5q-0004qS-2Y; Sun, 16 Apr 2017 19:36:13 +0200 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756560AbdDPRgC (ORCPT + 1 other); Sun, 16 Apr 2017 13:36:02 -0400 Received: from mail-wm0-f68.google.com ([74.125.82.68]:36352 "EHLO mail-wm0-f68.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1756293AbdDPRgB (ORCPT ); Sun, 16 Apr 2017 13:36:01 -0400 Received: by mail-wm0-f68.google.com with SMTP id q125so5870508wmd.3 for ; Sun, 16 Apr 2017 10:36:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlemail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=d1Ev/MhSFcd9JCPbSNpWhXQmFDrTm9BzvGUcOvBIlAo=; b=U6eO7bbF3nKq0bDxbrMc2jE9dICHAEpXEKBRBL9CNfyq86PIIP6qWZpVuIG5H/nPiC Ag2JKriUgYKfN1CV1V+XzzXiEdcgXJWOeEKuf9C5IVv/ly2mzrKHAw3Vj7pJ8s08Rmf9 MIhpGYxB+krre7SOZ63C7wDxZbkdWo89uETPj5QcopZV4fWfBqHUwuWtarlvj5LY8pB/ K9eTLr7GPgbU7LMuq2lQDAz2OrYldudd3qoKGpI5aK8nZ9JuCZ1bzxi/Ab5WfLxGNysF rC8bbIqAofl+7X0hHAgW09IW6vFr15zO+acGrty5frRL6VQJWdjsXzIs+sfbGhIRhj26 +oqA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=d1Ev/MhSFcd9JCPbSNpWhXQmFDrTm9BzvGUcOvBIlAo=; b=DBZqtVX4SNbkIGEfIS4BT4WI6cAyBdRGIyltuEaFar0lY1J2kxfFJNWV7EFCXV7G12 tZV1c4g3LfSL7JEXOA/59reNqXeUm4+KvtwwUA+a5eQ2phU8aTRuhNdUG5drP6EpEkO1 Od+/YmQjqUmqadE+JAykj0qB6Z/kVkh5Z1xEjL3o+0tYjsn13EvTGArRATQishP/7MqV vr2NqteEX0ZHmFhTYbX/sxgu329vPPu7vRK3Q6tAQkinOZ4WflroqlV2o0OGa3pFIRWP eOYVSzdqJ5SJL5/NeU4z/eyg+JhEDCfIV2cJEPCUKkJwKDVEv+k3vPbHAkbSoxY1Tu0H iiDA== X-Gm-Message-State: AN3rC/69DMCbEZv1PxVOL42rVKG/JUQ2lP2s/fiXDnCCOkiJZshaqOLq wXCh7wPMqIE6ob4j X-Received: by 10.28.170.148 with SMTP id t142mr5977592wme.57.1492364159537; Sun, 16 Apr 2017 10:35:59 -0700 (PDT) Received: from Athlon64X2-5000.lan (ip-109-90-213-36.hsi11.unitymediagroup.de. [109.90.213.36]) by smtp.googlemail.com with ESMTPSA id l36sm8491642wrl.59.2017.04.16.10.35.58 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Sun, 16 Apr 2017 10:35:58 -0700 (PDT) From: =?UTF-8?q?Frank=20Sch=C3=A4fer?= To: linux-media@vger.kernel.org Cc: guennadi.liakhovetski@intel.com, hans.verkuil@cisco.com, =?UTF-8?q?Frank=20Sch=C3=A4fer?= Subject: [PATCH 3/7] ov2640: add information about DSP register 0xc7 Date: Sun, 16 Apr 2017 19:35:42 +0200 Message-Id: <20170416173546.4317-4-fschaefer.oss@googlemail.com> X-Mailer: git-send-email 2.12.2 In-Reply-To: <20170416173546.4317-1-fschaefer.oss@googlemail.com> References: <20170416173546.4317-1-fschaefer.oss@googlemail.com> MIME-Version: 1.0 Sender: linux-media-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-media@vger.kernel.org X-PMX-Version: 6.0.0.2142326, Antispam-Engine: 2.7.2.2107409, Antispam-Data: 2017.4.16.172117 X-PMX-Spam: Gauge=IIIIIIII, Probability=8%, Report=' MULTIPLE_RCPTS 0.1, HTML_00_01 0.05, HTML_00_10 0.05, BODYTEXTP_SIZE_3000_LESS 0, BODY_SIZE_1500_1599 0, BODY_SIZE_2000_LESS 0, BODY_SIZE_5000_LESS 0, BODY_SIZE_7000_LESS 0, CT_TEXT_PLAIN_UTF8_CAPS 0, DKIM_SIGNATURE 0, IN_REP_TO 0, LEGITIMATE_SIGNS 0, MSG_THREAD 0, NO_URI_HTTPS 0, REFERENCES 0, __ANY_URI 0, __CC_NAME 0, __CC_NAME_DIFF_FROM_ACC 0, __CC_REAL_NAMES 0, __CP_MEDIA_BODY 0, __CT 0, __CTE 0, __CT_TEXT_PLAIN 0, __FRAUD_BODY_WEBMAIL 0, __FRAUD_WEBMAIL 0, __FRAUD_WEBMAIL_FROM 0, __FROM_DOMAIN_IN_ANY_CC2 0, __FROM_DOMAIN_IN_RCPT 0, __HAS_CC_HDR 0, __HAS_FROM 0, __HAS_LIST_ID 0, __HAS_MSGID 0, __HAS_X_MAILER 0, __HAS_X_MAILING_LIST 0, __IN_REP_TO 0, __MIME_TEXT_ONLY 0, __MIME_TEXT_P 0, __MIME_TEXT_P1 0, __MIME_VERSION 0, __MULTIPLE_RCPTS_CC_X2 0, __NO_HTML_TAG_RAW 0, __PHISH_SPEAR_STRUCTURE_1 0, __REFERENCES 0, __SANE_MSGID 0, __SUBJ_ALPHA_END 0, __TO_MALFORMED_2 0, __TO_NO_NAME 0, __URI_NO_WWW 0, __URI_NS , __YOUTUBE_RCVD 0' According to ov2640 software application notes, there are two Automatic White Balance (AWB) modes, which are selected by DSP register 0xc7: 1) Simple AWB: assumes the average color is gray + independent from lens - doesn't work well if captured area contains unbalanced colors (e.g. large blue background) 2) Advanced AWB: uses color temperature information + more accurate, works with all image contents - lens specific, requires calibration Signed-off-by: Frank Schäfer --- drivers/media/i2c/ov2640.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/drivers/media/i2c/ov2640.c b/drivers/media/i2c/ov2640.c index fd1b215b6dec..11f1b807c292 100644 --- a/drivers/media/i2c/ov2640.c +++ b/drivers/media/i2c/ov2640.c @@ -106,6 +106,10 @@ #define CTRL1_AWB_GAIN 0x04 #define CTRL1_LENC 0x02 #define CTRL1_PRE 0x01 +/* REG 0xC7 (unknown name): affects Auto White Balance (AWB) + * AWB_OFF 0x40 + * AWB_SIMPLE 0x10 + * AWB_ON 0x00 (Advanced AWB ?) */ #define R_DVP_SP 0xD3 /* DVP output speed control */ #define R_DVP_SP_AUTO_MODE 0x80 #define R_DVP_SP_DVP_MASK 0x3F /* DVP PCLK = sysclk (48)/[6:0] (YUV0); @@ -449,7 +453,7 @@ static const struct regval_list ov2640_init_regs[] = { { 0xc5, 0x11 }, { 0xc6, 0x51 }, { 0xbf, 0x80 }, - { 0xc7, 0x10 }, + { 0xc7, 0x10 }, /* simple AWB */ { 0xb6, 0x66 }, { 0xb8, 0xA5 }, { 0xb7, 0x64 },