Received: by 2002:a25:6193:0:0:0:0:0 with SMTP id v141csp1365443ybb; Sat, 4 Apr 2020 02:24:54 -0700 (PDT) X-Google-Smtp-Source: APiQypKcmeqezaBrS8QTd+cNA0CqTYs8esHge11YvfPscsgy/8oJkmJGNCLumeSd0NNBY285pE0Z X-Received: by 2002:a9d:22e9:: with SMTP id y96mr9822855ota.217.1585992294491; Sat, 04 Apr 2020 02:24:54 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1585992294; cv=none; d=google.com; s=arc-20160816; b=kcsgVNqNn9jZ2r2Lq/UmTrwhlzFG1+UNhGRML2C3XO0l4M5sB1Y2Ezr69lboLj3gAj 6clXc2Mv2dw+dgGg+QFxr8nlIOaJTu4MEZZMrz427i38s8fs+xfiLZvc/fJyHKOS+VxT nhBFqCjvRuklAA3Ff80ekwWW5zCgcC6A8ElU427WPv1mSfGxtUvBTaeRzVv9T60mXSdP 8f2WBPSHEJfFZ3EsBgqJKeGo7FGLKjO/hChz1KSMmsSN9TBgKSVcfAW9RkYPnk79hhUF EE3TWqkTf6Bwqg+EEDbgQYZbpLhYl5/kryhmCqJ2c739ifisX2dM8H0roC6SMq4riYqg wmAw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:in-reply-to:content-disposition :mime-version:references:message-id:subject:cc:to:from:date :dkim-signature:dkim-signature; bh=zAXUKspQq5prgl6hzmsLOhCpbcDvY33t8hPLzfl3Mpk=; b=OWxp1rIxeyTxsrIAzEuTuW6lTxa4bbyDV+3lE4UV2pfIWOtBpt/bj54xGaw5D1qzip qcTPT3VzpNSQfGQr1iCLgAjxDtNa7u22MUQF3C5kh59fTtbEfYWChQokWy3Q6Tf8r4RP T0F8hPYlApqW5WHHCjEKdxvmo/HjesPGNyZnE5zfWdAEqWpXn6LJ/I/uDdFv/ZRwjqEC KVUXwfTQwestpy/BDBjrKGs7axmaANVYxGN/Bkx6VWpYAW4lTyApvBntUZ0wBu8AKf34 9JSBhCsib4RCLVpUAOrz3pP7+pmCwROeikOYXRzLc6zs676payqQ5XpNKSWDTDEYEQqu deeg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@cerno.tech header.s=fm2 header.b=x88wNBSR; dkim=pass header.i=@messagingengine.com header.s=fm2 header.b=UfJcgdkS; 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=NONE dis=NONE) header.from=cerno.tech Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id l14si4947611ooe.48.2020.04.04.02.24.41; Sat, 04 Apr 2020 02:24:54 -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=@cerno.tech header.s=fm2 header.b=x88wNBSR; dkim=pass header.i=@messagingengine.com header.s=fm2 header.b=UfJcgdkS; 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=NONE dis=NONE) header.from=cerno.tech Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726248AbgDDJXH (ORCPT + 99 others); Sat, 4 Apr 2020 05:23:07 -0400 Received: from wout5-smtp.messagingengine.com ([64.147.123.21]:45337 "EHLO wout5-smtp.messagingengine.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725916AbgDDJXG (ORCPT ); Sat, 4 Apr 2020 05:23:06 -0400 Received: from compute4.internal (compute4.nyi.internal [10.202.2.44]) by mailout.west.internal (Postfix) with ESMTP id E4D20559; Sat, 4 Apr 2020 05:23:04 -0400 (EDT) Received: from mailfrontend1 ([10.202.2.162]) by compute4.internal (MEProxy); Sat, 04 Apr 2020 05:23:05 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cerno.tech; h= date:from:to:cc:subject:message-id:references:mime-version :content-type:in-reply-to; s=fm2; bh=zAXUKspQq5prgl6hzmsLOhCpbcD vY33t8hPLzfl3Mpk=; b=x88wNBSRuL9WgOstkO9oxX9XHxgOKoeZbRnZRTJ0JRl /uDDGJ/aYg0FZ/WlQU/Ujmyka2mOjidrq+9g3XKJzpOsRmjHon8sMBLkidXO/eBt OUrLj1nyiNmjKGOxXjpRp8iPcPtbEzLHE1f6qJzfRRTg7rsGg0oUM6KOXpvtKw+x yH/toqc6nDCOVHESJiswU/JKy0GETM+grra03JW3hQpNPZXSE5JqNoRMY4A0mcop W89E1JrSzUoRUScKw7yUCyehKZjpDW7Zhkqi+XJK9FMBma+UZEDWtPu8wr9VnxwD ZhZvKHp3EswONOlY5XiiMIXPnhfZKSnSc/u2AJsHsHg== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to:x-me-proxy :x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm2; bh=zAXUKs pQq5prgl6hzmsLOhCpbcDvY33t8hPLzfl3Mpk=; b=UfJcgdkS6DCpxNFAcEAbQ7 L2HW72+htWtkh83xNuooQS/5KtdBS9OcutltS5JC414KVNFMYHdlEtIIppolGrBt 0cpm8XRpw+i4h/fer6yu7+jWu13XR4xeIx8k/kIqgBW0RF/s94SP/8+LBFWz43jg SwUKZlOVz+om95yyvJfKndhEllCLIKaKkdwe+K1Omn/pm6662cApHJHXx0idGouo iDza70xbLiHAKVjyvyqn/DRCEw99cfkVIzjdWcdgk7hPzr6sN8mY3nwI1yD7L0Kj 4eBb2gyhv75pGjyJTS7Xtv6NpYQUTQhEKgqm4BSj5mzwhrhRSEiJO3ByGWzpSVaw == X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeduhedrtdekgddugecutefuodetggdotefrodftvf curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc fjughrpeffhffvuffkfhggtggujgesghdtreertddtvdenucfhrhhomhepofgrgihimhgv ucftihhprghrugcuoehmrgigihhmvgestggvrhhnohdrthgvtghhqeenucffohhmrghinh epuggvvhhitggvthhrvggvrdhorhhgnecukfhppeeltddrkeelrdeikedrjeeinecuvehl uhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhepmhgrgihimhgvse gtvghrnhhordhtvggthh X-ME-Proxy: Received: from localhost (lfbn-tou-1-1502-76.w90-89.abo.wanadoo.fr [90.89.68.76]) by mail.messagingengine.com (Postfix) with ESMTPA id 2A9573280064; Sat, 4 Apr 2020 05:23:03 -0400 (EDT) Date: Sat, 4 Apr 2020 11:23:01 +0200 From: Maxime Ripard To: Robert Foss Cc: Dongchun Zhu , Fabio Estevam , Andy Shevchenko , Sakari Ailus , Tomasz Figa , linux-media , "open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS" , linux-kernel , "moderated list:ARM/FREESCALE IMX / MXC ARM ARCHITECTURE" Subject: Re: [PATCH v6 1/3] media: dt-bindings: ov8856: Document YAML bindings Message-ID: <20200404092301.rb6imy7mlawm3qyk@gilmour.lan> References: <20200331133346.372517-1-robert.foss@linaro.org> <20200331133346.372517-2-robert.foss@linaro.org> <20200401080705.j4goeqcqhoswhx4u@gilmour.lan> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="fbziyfywvt4qmj3b" Content-Disposition: inline In-Reply-To: Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org --fbziyfywvt4qmj3b Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Hi Robert, On Thu, Apr 02, 2020 at 12:10:00PM +0200, Robert Foss wrote: > On Wed, 1 Apr 2020 at 10:07, Maxime Ripard wrote: > > On Tue, Mar 31, 2020 at 03:33:44PM +0200, Robert Foss wrote: > > > From: Dongchun Zhu > > > > > > This patch adds documentation of device tree in YAML schema for the > > > OV8856 CMOS image sensor. > > > > > > Signed-off-by: Dongchun Zhu > > > Signed-off-by: Robert Foss > > > --- > > > > > > - Changes since v5: > > > * Add assigned-clocks and assigned-clock-rates > > > * robher: dt-schema errors > > > > > > - Changes since v4: > > > * Fabio: Change reset-gpio to GPIO_ACTIVE_LOW, explain in description > > > * Add clock-lanes property to example > > > * robher: Fix syntax error in devicetree example > > > > > > - Changes since v3: > > > * robher: Fix syntax error > > > * robher: Removed maxItems > > > * Fixes yaml 'make dt-binding-check' errors > > > > > > - Changes since v2: > > > Fixes comments from from Andy, Tomasz, Sakari, Rob. > > > * Convert text documentation to YAML schema. > > > > > > - Changes since v1: > > > Fixes comments from Sakari, Tomasz > > > * Add clock-frequency and link-frequencies in DT > > > > > > .../devicetree/bindings/media/i2c/ov8856.yaml | 150 ++++++++++++++++++ > > > MAINTAINERS | 1 + > > > 2 files changed, 151 insertions(+) > > > create mode 100644 Documentation/devicetree/bindings/media/i2c/ov8856.yaml > > > > > > diff --git a/Documentation/devicetree/bindings/media/i2c/ov8856.yaml b/Documentation/devicetree/bindings/media/i2c/ov8856.yaml > > > new file mode 100644 > > > index 000000000000..beeddfbb8709 > > > --- /dev/null > > > +++ b/Documentation/devicetree/bindings/media/i2c/ov8856.yaml > > > @@ -0,0 +1,150 @@ > > > +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) > > > +# Copyright (c) 2019 MediaTek Inc. > > > +%YAML 1.2 > > > +--- > > > +$id: http://devicetree.org/schemas/media/i2c/ov8856.yaml# > > > +$schema: http://devicetree.org/meta-schemas/core.yaml# > > > + > > > +title: Omnivision OV8856 CMOS Sensor Device Tree Bindings > > > + > > > +maintainers: > > > + - Ben Kao > > > + - Dongchun Zhu > > > + > > > +description: |- > > > + The Omnivision OV8856 is a high performance, 1/4-inch, 8 megapixel, CMOS > > > + image sensor that delivers 3264x2448 at 30fps. It provides full-frame, > > > + sub-sampled, and windowed 10-bit MIPI images in various formats via the > > > + Serial Camera Control Bus (SCCB) interface. This chip is programmable > > > + through I2C and two-wire SCCB. The sensor output is available via CSI-2 > > > + serial data output (up to 4-lane). > > > + > > > +properties: > > > + compatible: > > > + const: ovti,ov8856 > > > + > > > + reg: > > > + maxItems: 1 > > > + > > > + clocks: > > > + maxItems: 1 > > > + > > > + clock-names: > > > + description: > > > + Input clock for the sensor. > > > + items: > > > + - const: xvclk > > > + > > > + clock-frequency: > > > + description: > > > + Frequency of the xvclk clock in Hertz. > > > > We also had that discussion recently for another omnivision sensor > > (ov5645 iirc), but what is clock-frequency useful for? > > > > It seems that the sensor is passed in clocks, so if you need to > > retrieve the clock rate you should use the clock API instead. > > > > Looking at the driver, it looks like it first retrieves the clock, set > > it to clock-frequency, and then checks that this is OV8856_XVCLK_19_2 > > (19.2 MHz). > > As far as I understand it, 19.2MHz is requirement for the sensor mode > that currently defaults to. Some modes require higher clock speeds > than this however. > > > > > The datasheet says that the sensor can have any frequency in the 6 - > > 27 MHz range, so this is a driver limitation and should be set in the > > driver using the clock API, and you can always bail out if it doesn't > > provide a rate that is not acceptable for the drivers assumption. > > > > In any case, you don't need clock-frequency here... > > So your suggestion is that we remove all clocks-rate properties, and > replace the clk_get_rate() calls in the driver with clk_set_rate() > calls for the desired frequencies? Yep, and if you need to make sure that the frequency that your provider rounded to is matching 19.2MHz like you were doing, then you can throw a clk_get_rate after it. It seems overly-restrictive to me, but the device might be picky Maxime --fbziyfywvt4qmj3b Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iHUEABYIAB0WIQRcEzekXsqa64kGDp7j7w1vZxhRxQUCXohR9QAKCRDj7w1vZxhR xYMIAP9O3aHTl6TJZQh2I4fW24DKoOLFc28VD+Ru6S6bXreuxAD/bREvO1EVpsOY fXas/arjWZ3N/JkpIRHokGYpS2LGIQw= =sQRP -----END PGP SIGNATURE----- --fbziyfywvt4qmj3b--