Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754145AbdFWOy3 (ORCPT ); Fri, 23 Jun 2017 10:54:29 -0400 Received: from mo4-p00-ob.smtp.rzone.de ([81.169.146.220]:11073 "EHLO mo4-p00-ob.smtp.rzone.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753397AbdFWOy1 (ORCPT ); Fri, 23 Jun 2017 10:54:27 -0400 X-RZG-AUTH: :JGIXVUS7cutRB/49FwqZ7WcecEarQROEYabkiUo6mSAGQ+qKID8yPJCLgHE= X-RZG-CLASS-ID: mo00 Content-Type: text/plain; charset=iso-8859-1 Mime-Version: 1.0 (Mac OS X Mail 9.3 \(3124\)) Subject: Re: [PATCH v1 1/6] DT bindings: add bindings for ov965x camera module From: "H. Nikolaus Schaller" In-Reply-To: <13144955.Kq5qljPvgI@avalon> Date: Fri, 23 Jun 2017 16:53:43 +0200 Cc: Suman Anna , Mark Rutland , devicetree , Benjamin Gaignard , Discussions about the Letux Kernel , Alexandre Torgue , LKML , Hans Verkuil , Rob Herring , Maxime Coquelin , Yannick Fertre , Sylwester Nawrocki , Mauro Carvalho Chehab , Guennadi Liakhovetski , linux-arm-kernel , linux-media@vger.kernel.org Message-Id: <24C976BF-52FD-4509-BCE4-9AE41B335482@goldelico.com> References: <1498143942-12682-1-git-send-email-hugues.fruchet@st.com> <3E7B1344-ECE6-4CCC-9E9D-7521BB566CDE@goldelico.com> <13144955.Kq5qljPvgI@avalon> To: Laurent Pinchart , =?iso-8859-1?Q?Andreas_F=E4rber?= , Hugues Fruchet X-Mailer: Apple Mail (2.3124) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Transfer-Encoding: 8bit X-MIME-Autoconverted: from quoted-printable to 8bit by mail.home.local id v5NEsfaE015784 Content-Length: 2645 Lines: 71 Hi Laurent, > Am 23.06.2017 um 13:58 schrieb Laurent Pinchart : > > Hi Nikolaus, > > On Friday 23 Jun 2017 12:59:24 H. Nikolaus Schaller wrote: >> Am 23.06.2017 um 12:46 schrieb Andreas F?rber : >>> Am 23.06.2017 um 12:25 schrieb H. Nikolaus Schaller: >>>>> diff --git a/Documentation/devicetree/bindings/media/i2c/ov965x.txt >>>>> b/Documentation/devicetree/bindings/media/i2c/ov965x.txt new file mode >>>>> 100644 >>>>> index 0000000..0e0de1f >>>>> --- /dev/null >>>>> +++ b/Documentation/devicetree/bindings/media/i2c/ov965x.txt >>>>> @@ -0,0 +1,37 @@ >>>>> +* Omnivision OV9650/9652/9655 CMOS sensor >>>>> + >>>>> +The Omnivision OV965x sensor support multiple resolutions output, such >>>>> as >>>>> +CIF, SVGA, UXGA. It also can support YUV422/420, RGB565/555 or raw RGB >>>>> +output format. >>>>> + >>>>> +Required Properties: >>>>> +- compatible: should be one of >>>>> + "ovti,ov9650" >>>>> + "ovti,ov9652" >>>>> + "ovti,ov9655" >>>>> +- clocks: reference to the mclk input clock. >>>> >>>> I wonder why you have removed the clock-frequency property? >>>> >>>> In some situations the camera driver must be able to tell the clock >>>> source which frequency it wants to see. >>> >>> That's what assigned-clock-rates property is for: >>> >>> https://www.kernel.org/doc/Documentation/devicetree/bindings/clock/clock-b >>> indings.txt >>> >>> AFAIU clock-frequency on devices is deprecated and equivalent to having >>> a clocks property pointing to a fixed-clock, which is different from a >>> clock with varying rate. >> >> I am not sure if that helps here. The OMAP3-ISP does not have a fixed clock >> rate so we can only have the driver define what it wants to see. >> >> And common practise for OMAP3-ISP based camera modules (e.g. N900, N9) is >> that they do it in the driver. >> >> Maybe ISP developers can comment? > > The OMAP3 ISP is a variable-frequency clock provider. The clock frequency is > controlled by the clock consumer. As such, it's up to the consumer to decide > whether to compute and request the clock rate dynamically at runtime, or use > the assigned-clock-rates property in DT. > > Some ISPs include a clock generator, others don't. It should make no > difference whether the clock is provided by the ISP, by a dedicated clock > source in the SoC or by a discrete on-board adjustable clock source. Thanks for explaining the background. Do you have an hint or example how to use the assigned-clock-rates property in a DT for a camera module connected to the omap3isp? Or does it just mean that it defines the property name? BR, Nikolaus