Received: by 2002:ac0:a5b6:0:0:0:0:0 with SMTP id m51-v6csp3630641imm; Mon, 18 Jun 2018 01:09:32 -0700 (PDT) X-Google-Smtp-Source: ADUXVKKj+kWnTdGFezEZzK7lagJA2Xjmhuf7owtelwhJMBdgXLLWbFuQgVD/Jig4MRVCO7e3U+Sd X-Received: by 2002:a63:107:: with SMTP id 7-v6mr9998077pgb.289.1529309372375; Mon, 18 Jun 2018 01:09:32 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1529309372; cv=none; d=google.com; s=arc-20160816; b=vqDqpNejSStzYl57GIi8OXRqZ6s3I81QixKNP6wemfCHCQmdMRhjnd8GUA9g+u42ED rG3Wsxs2ktpqafzYvSvRPXV9JUmEvlbSvy2fj+qH+h7GQjVcdtIPIlbjwMfR/FMVCv/D n4Tr/Zoi0nlG7KZEfBBQFCGvR8EY+uA9zqpMEp+GmRSLvGcaIAlyfGPsRvhwA5VrlYvV OHy4/EVbME2BPTAx74qWmlh+sFHvFxA8s6+rlXsXAqLuxzElq9tPlDaxZa8yCxXU0H2P 3lWRIVoF6nckKt4kTiLA0Lcrxsd4jg9qaxJIUTpdFJ4su0WkFdZiEbxO705X90uFgM5/ lmyA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:message-id:date:subject:cc:to:from :arc-authentication-results; bh=+51JGoVeHI1nZaMjgeslbBLnVajTs9f56T5d0HY/M+A=; b=QKGf1v8wmJuhbpLuEAxHdKnpevYSHG+OihtBizE8H7LgvUc3oxij+2buNw/46voRTT ZFgtPF7LUku89QqgOGfzAo+QvSVP8QZvgy9PQSkI0WrXh7oK4LqgSllVvK6crawsodrd +PJO/aXyO5aqA26Gx4WeszaM7szEb9AyFcm4k25AmDom+p0L7FqS1hWmLKH2MQQSBUop 7eNnI99eh8Np8Hfux7sRLkR4MdrvmuQoLdPtF90A4M94h0c8tdKC7VQax3hti853YWtc RjpIZOIkPcEbgLkpSZig2+BUVxqm7MCj9PR2Q1OlNSN4UTq0xc5Y/w1W0/PB37r6QfMg N0/A== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id p1-v6si11413986pgf.469.2018.06.18.01.09.18; Mon, 18 Jun 2018 01:09:32 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S933401AbeFRIHS (ORCPT + 99 others); Mon, 18 Jun 2018 04:07:18 -0400 Received: from ns.mm-sol.com ([37.157.136.199]:60037 "EHLO extserv.mm-sol.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932763AbeFRIHQ (ORCPT ); Mon, 18 Jun 2018 04:07:16 -0400 Received: from mms-0439.qualcomm.mm-sol.com (unknown [37.157.136.206]) by extserv.mm-sol.com (Postfix) with ESMTPSA id 1BD4DCD2F; Mon, 18 Jun 2018 11:07:15 +0300 (EEST) From: Todor Tomov To: mchehab@kernel.org, sakari.ailus@linux.intel.com, linux-media@vger.kernel.org Cc: linux-kernel@vger.kernel.org, Todor Tomov Subject: [PATCH 1/2] media: ov5645: Supported external clock is 24MHz Date: Mon, 18 Jun 2018 11:06:58 +0300 Message-Id: <1529309219-27404-1-git-send-email-todor.tomov@linaro.org> X-Mailer: git-send-email 2.7.4 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org The external clock frequency was set to 23.88MHz by mistake because of a platform which cannot get closer to 24MHz. The supported by the driver external clock is 24MHz so set it correctly and also fix the values of the pixel clock and link clock. However allow 1% tolerance to the external clock as this difference is small enough to be insignificant. Signed-off-by: Todor Tomov --- drivers/media/i2c/ov5645.c | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/drivers/media/i2c/ov5645.c b/drivers/media/i2c/ov5645.c index b3f7625..1722cda 100644 --- a/drivers/media/i2c/ov5645.c +++ b/drivers/media/i2c/ov5645.c @@ -510,8 +510,8 @@ static const struct reg_value ov5645_setting_full[] = { }; static const s64 link_freq[] = { - 222880000, - 334320000 + 224000000, + 336000000 }; static const struct ov5645_mode_info ov5645_mode_info_data[] = { @@ -520,7 +520,7 @@ static const struct ov5645_mode_info ov5645_mode_info_data[] = { .height = 960, .data = ov5645_setting_sxga, .data_size = ARRAY_SIZE(ov5645_setting_sxga), - .pixel_clock = 111440000, + .pixel_clock = 112000000, .link_freq = 0 /* an index in link_freq[] */ }, { @@ -528,7 +528,7 @@ static const struct ov5645_mode_info ov5645_mode_info_data[] = { .height = 1080, .data = ov5645_setting_1080p, .data_size = ARRAY_SIZE(ov5645_setting_1080p), - .pixel_clock = 167160000, + .pixel_clock = 168000000, .link_freq = 1 /* an index in link_freq[] */ }, { @@ -536,7 +536,7 @@ static const struct ov5645_mode_info ov5645_mode_info_data[] = { .height = 1944, .data = ov5645_setting_full, .data_size = ARRAY_SIZE(ov5645_setting_full), - .pixel_clock = 167160000, + .pixel_clock = 168000000, .link_freq = 1 /* an index in link_freq[] */ }, }; @@ -1145,7 +1145,8 @@ static int ov5645_probe(struct i2c_client *client, return ret; } - if (xclk_freq != 23880000) { + /* external clock must be 24MHz, allow 1% tolerance */ + if (xclk_freq < 23760000 || xclk_freq > 24240000) { dev_err(dev, "external clock frequency %u is not supported\n", xclk_freq); return -EINVAL; -- 2.7.4