Received: by 2002:a25:d783:0:0:0:0:0 with SMTP id o125csp365054ybg; Thu, 19 Mar 2020 01:00:03 -0700 (PDT) X-Google-Smtp-Source: ADFU+vuGlk+6y6DXwjg4bGJtYiQ5vnSajH9gMwwropObWlT5q8xcMJe/4oAINSixR7PB9HfefyKK X-Received: by 2002:a9d:bf5:: with SMTP id 108mr1365763oth.260.1584604803675; Thu, 19 Mar 2020 01:00:03 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1584604803; cv=none; d=google.com; s=arc-20160816; b=MNOHPiin1yo2YB8a7WdlRx+s28wg+j92gW5woUfaB6hxityAYO0luLz5s4KvZBeQgM uA6cxGLww7Fz1cnM7krzIw/gJXHJKVrUvSstkv5gIQGZ3OJbjarP+VqhhDwnNC/6nRt3 tbwzBZKt4nVBSOMAgE+Yq7XNUlKa1n7Ve/+JFzYpGEC03cdTtnWvv7Rms10khCIbVeAI UZIHTckvGIyZIR08lfhDLsHvpJN9QBxKsq/JdTSd2vBcywJ+tUkkMIvjUDlZoNV5Mvpn Wvv1XviDbpxFweXDAQcKb0+m9CljaM/tgJTiSF+/YFdfJdTkW4JP8Yhx1hGoAoy6RP7V 7vlQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:dkim-signature; bh=WGuLoQf5u7HUV1s6V0PJEh7hCfVde9pwvIQPGZyYQTI=; b=CLHnQQfO+TsdjHKZKTXEElfrDoiM6v4PUSogQ1xRDH+BcJGB76G0vyJJzHmJm9OSEx ROwoMPADpc4trvG/3eIlXIWZKTfKjrhDn5QvgI8RvlyaUedEqOKbmku1hUX5/Bsxui2m HRxBqZ54ttwfIiweW+Y1NoafleQNlgAWMEESt+F7FMvqcSZy8uFztjfOyThUQ2r4VozO EaB4f+asfF7nAlYnJR3hkKfHfQ9RlJK/LajjEdRmlS4vW23SC/zi8aGQqhNIFMilw0oR LIvCzy92Jakt4WyLRtrZwwTB8gIHZoex8K2zPpuMNFxBTluzpITMu8lMs5/1vHjKYqHm gj3A== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=qZiDLa46; 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=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id t19si705186oif.250.2020.03.19.00.59.51; Thu, 19 Mar 2020 01:00:03 -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; dkim=pass header.i=@gmail.com header.s=20161025 header.b=qZiDLa46; 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=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726765AbgCSH7e (ORCPT + 99 others); Thu, 19 Mar 2020 03:59:34 -0400 Received: from mail-ot1-f68.google.com ([209.85.210.68]:35432 "EHLO mail-ot1-f68.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726188AbgCSH7d (ORCPT ); Thu, 19 Mar 2020 03:59:33 -0400 Received: by mail-ot1-f68.google.com with SMTP id k26so1459160otr.2; Thu, 19 Mar 2020 00:59:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=WGuLoQf5u7HUV1s6V0PJEh7hCfVde9pwvIQPGZyYQTI=; b=qZiDLa46teEuK2rajTRflr18qRzuR5NndOEGPXvlr179Ju8VL/Ofce4AkeFhLh9nip ZzanXJjbrpiMXdwMWwWbxtH6/xd5p3Rv2zLp8hHz6SnTxoue1HQImJyWAsjDRlcy6dEK OBVEwGw4iaSkXk4HJGaaK9vwv4zP+n2f+wSY7yFNmP3x5iCylUTqJexNG2NZfBgmqzq3 OmDZAmbmwEA8ihQmQ/pSd/MfRj5GbxMmFGYUGA2vOAmPbsufKqiTdB2PuCwb0Vp780PU uPYuF2pPCfvFi/xs4a7AXzUHO5T2amrQ8OYt+3U0k7qlidGY9rL7k+JHNi0ogA4hdsZy 2s+Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=WGuLoQf5u7HUV1s6V0PJEh7hCfVde9pwvIQPGZyYQTI=; b=AgkH5DYLu25M2ljr6f7Q5ai5UfTWJlRCaESDdnwuLw0YJlFKICMIBzij4PxTIOihLg UIgunMDWGQRWLqLfPWqyyxsQjM8Gdu7Zey1Prn3zqC1JGyvatxzKkqW6lwJcruu5Qr/1 ULjDNHcyUEDi90+boywyztRnR4pKXZ3e4YbJZNsRQcdiC3hxX9tH2tU/6eBxCEOgDbLU KqammAmMUKHybqUoV2OLROjmKLPe4akoQGiB5zIj+z/JYhkBajU5ZXrnmsIL3IEw3MlF 6RTy7/ItdTHSMTNXm+TDTM5MdwuqW40whX4JfhhRPlYMZo2je82Nos8DLwHtSkUXqy0h sgjg== X-Gm-Message-State: ANhLgQ3CvQqmnrleVhwIvOtnR1AFj3s5N9ozOAGLV2ekshHdni9ndutm 0A9SZOZDtOokMaC5/RUtNkte6vEo6E18XVxIZnfwyUCdfCg= X-Received: by 2002:a9d:64ca:: with SMTP id n10mr1287571otl.325.1584604772313; Thu, 19 Mar 2020 00:59:32 -0700 (PDT) MIME-Version: 1.0 References: <1584133954-6953-1-git-send-email-prabhakar.mahadev-lad.rj@bp.renesas.com> <1584133954-6953-4-git-send-email-prabhakar.mahadev-lad.rj@bp.renesas.com> <20200313212345.GM4751@pendragon.ideasonboard.com> <20200318231856.GI24538@pendragon.ideasonboard.com> In-Reply-To: <20200318231856.GI24538@pendragon.ideasonboard.com> From: "Lad, Prabhakar" Date: Thu, 19 Mar 2020 07:59:06 +0000 Message-ID: Subject: Re: [PATCH v3 3/4] media: i2c: ov5645: Set maximum leverage of external clock frequency to 24480000 To: Laurent Pinchart Cc: Prabhakar Mahadev Lad , Mark Rutland , "devicetree@vger.kernel.org" , Fabio Estevam , Sakari Ailus , Ezequiel Garcia , Sascha Hauer , Magnus Damm , "linux-kernel@vger.kernel.org" , "linux-renesas-soc@vger.kernel.org" , Rob Herring , Geert Uytterhoeven , NXP Linux Team , Pengutronix Kernel Team , Mauro Carvalho Chehab , Shawn Guo , "linux-arm-kernel@lists.infradead.org" , "linux-media@vger.kernel.org" Content-Type: text/plain; charset="UTF-8" Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Laurent, On Wed, Mar 18, 2020 at 11:19 PM Laurent Pinchart wrote: > > Hi Prabhakar, > > On Fri, Mar 13, 2020 at 09:31:25PM +0000, Prabhakar Mahadev Lad wrote: > > On 13 March 2020 21:24, Laurent Pinchart wrote: > > > On Fri, Mar 13, 2020 at 09:12:33PM +0000, Lad Prabhakar wrote: > > > > While testing on Renesas RZ/G2E platform, noticed the clock frequency > > > > to be 24242424 as a result the probe failed. However increasing the > > > > maximum leverage of external clock frequency to 24480000 fixes this > > > > issue. Since this difference is small enough and is insignificant set > > > > the same in the driver. > > > > > > > > Signed-off-by: Lad Prabhakar > > > > --- > > > > drivers/media/i2c/ov5645.c | 6 ++++-- > > > > 1 file changed, 4 insertions(+), 2 deletions(-) > > > > > > > > diff --git a/drivers/media/i2c/ov5645.c b/drivers/media/i2c/ov5645.c > > > > index 4fbabf3..b49359b 100644 > > > > --- a/drivers/media/i2c/ov5645.c > > > > +++ b/drivers/media/i2c/ov5645.c > > > > @@ -1107,8 +1107,10 @@ static int ov5645_probe(struct i2c_client *client) > > > > } > > > > > > > > xclk_freq = clk_get_rate(ov5645->xclk); > > > > -/* external clock must be 24MHz, allow 1% tolerance */ > > > > -if (xclk_freq < 23760000 || xclk_freq > 24240000) { > > > > +/* external clock must be 24MHz, allow a minimum 1% and a maximum of 2% > > > > + * tolerance > > > > > > So where do these numbers come from ? I understand that 2% is what you > > > need to make your clock fit in the range, but why -1%/+2% instead of - > > > 2%/+2% ? And why not 2.5 or 3% ? The sensor datasheet documents the > > > range of supported xvclk frequencies to be 6MHz to 54MHz. I understand > > > that PLL parameters depend on the clock frequency, but could they be > > > calculated instead of hardcoded, to avoid requiring an exact 24MHz input > > > frequency ? > > > > To be honest I don't have the datasheet for ov5645, the flyer says 6-54Mhz but the > > logs/comment says 24Mhz. > > The OV5645 clock topology is fairly complex, with two PLLs and different > set of output dividers. It however shouldn't be impossible to calculate > the PLL configuration in the driver, but would require some dedication, > and is probably not worth it. > > I've discussed the matter with Sakari, and we concluded that this is > just a sanity check. We advise increasing the tolerance by a bigger > amount to avoid patching this for every new board (completely > arbitrarily, +/- 5%), and turning the fatal error into a dev_warn, > dropping the return -EINVAL statement. > Thank you for looking into this. I'll update the patch accordingly. Cheers, --Prabhakar > > > > + */ > > > > +if (xclk_freq < 23760000 || xclk_freq > 24480000) { > > > > dev_err(dev, "external clock frequency %u is not supported\n", > > > > xclk_freq); > > > > return -EINVAL; > > -- > Regards, > > Laurent Pinchart > > _______________________________________________ > linux-arm-kernel mailing list > linux-arm-kernel@lists.infradead.org > http://lists.infradead.org/mailman/listinfo/linux-arm-kernel