Received: by 2002:a25:6193:0:0:0:0:0 with SMTP id v141csp4554590ybb; Tue, 7 Apr 2020 09:41:24 -0700 (PDT) X-Google-Smtp-Source: APiQypLkfVYMExn5WvRT1Qks1W6rl/CM4FQVB/8Jqo2HYCk9rezhvEzuRyRTaKLK7GQECSIXq2wR X-Received: by 2002:a9d:f05:: with SMTP id 5mr2254207ott.263.1586277684213; Tue, 07 Apr 2020 09:41:24 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1586277684; cv=none; d=google.com; s=arc-20160816; b=V++vAWy0eaOi42l9yO+RFYB1v1JXFEnKjehM1t2lGO35ICsKqbzg0/K9lr7MOXrWnr Jjo1T8+041qzb/jWpaXlojmhQF1N0De/asvN9o3ssOiHh6oT/1ZmJX0+89t80ydJncAM +MohgbLIrCErsUJ8c3feTTBOFLAPYLtJEZAfP1cfB07ko0zOKml9geqG30GaJTGlCw1L AhaimwD7dKb3sVP4YmdM5FIbUM0XHWw+PuNv+srGo55JSqawJX1oW6U3+0DsEetZx7c8 sUMB0uYutrmpuosx2CH+XtxzqOR2TPROdVuL+yyZOSbbrvAH8Uq1EDS7VHKmXMlgRb5L PJJw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:user-agent:in-reply-to :content-disposition:mime-version:references:message-id:subject:cc :to:from:date; bh=V4+9c57sU+5wkNk3CBXgp1L+ZOv0gfzc3lrgDwFwGFc=; b=KT9o3d6xx3wHgvR46/R+ejL72gOE+8yJq5u32MfeDV41un7JNRzuPidP/uKz7wAyLH at8XZFDd3TVavPCeA7H3FPbRdssmWqXq4ZsrHiPkJ10Ukkz8SbqY4r8D9jEOwR3XOEQI 1CEe3zHIB4i7fz0o5Qay2H5+k4JLBkloJZIr7EosPvObNeGRpF9G/cH7HkIQk8sLK7vw nnraEgkHdwVcEwneOIfbAD93SGHNL6N2nQslnmiLJj0c6Vl2vJ3M3d4SRuIPb52GWWLy YFwS0MTA+1tiZhyOEJ0BODEnkos16DLZiKq3oP+BbPoTdxosNIbGc6Wu7hw1dxiBjG84 nxzw== 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 Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id i187si886043oif.89.2020.04.07.09.41.11; Tue, 07 Apr 2020 09:41:24 -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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728617AbgDGQk0 (ORCPT + 99 others); Tue, 7 Apr 2020 12:40:26 -0400 Received: from retiisi.org.uk ([95.216.213.190]:52194 "EHLO hillosipuli.retiisi.org.uk" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727993AbgDGQk0 (ORCPT ); Tue, 7 Apr 2020 12:40:26 -0400 Received: from valkosipuli.localdomain (valkosipuli.retiisi.org.uk [IPv6:2a01:4f9:c010:4572::80:2]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-256) server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by hillosipuli.retiisi.org.uk (Postfix) with ESMTPS id 0A114634C89; Tue, 7 Apr 2020 19:39:17 +0300 (EEST) Received: from sailus by valkosipuli.localdomain with local (Exim 4.92) (envelope-from ) id 1jLrFs-0002MN-3d; Tue, 07 Apr 2020 19:39:16 +0300 Date: Tue, 7 Apr 2020 19:39:16 +0300 From: Sakari Ailus To: Robert Foss Cc: Maxime Ripard , Dongchun Zhu , Fabio Estevam , Andy Shevchenko , 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: <20200407163916.GL6127@valkosipuli.retiisi.org.uk> References: <20200331133346.372517-2-robert.foss@linaro.org> <20200401080705.j4goeqcqhoswhx4u@gilmour.lan> <20200403232736.GA6127@valkosipuli.retiisi.org.uk> <20200404093446.vuvwrhn5436h4d3s@gilmour.lan> <20200406083506.GE6127@valkosipuli.retiisi.org.uk> <20200407083647.4mocdl7aqa3x737q@gilmour.lan> <20200407123232.ktvaifhqntgzvkap@gilmour.lan> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.10.1 (2018-07-13) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, Apr 07, 2020 at 05:47:41PM +0200, Robert Foss wrote: > On Tue, 7 Apr 2020 at 14:32, Maxime Ripard wrote: > > > > Hi Robert, > > > > On Tue, Apr 07, 2020 at 01:29:05PM +0200, Robert Foss wrote: > > > On Tue, 7 Apr 2020 at 10:36, Maxime Ripard wrote: > > > > On Mon, Apr 06, 2020 at 11:35:07AM +0300, Sakari Ailus wrote: > > > > > > But that 19.2MHz is not a limitation of the device itself, it's a > > > > > > limitation of our implementation, so we can instead implement > > > > > > something equivalent in Linux using a clk_set_rate to 19.2MHz (to make > > > > > > sure that our parent clock is configured at the right rate) and the > > > > > > clk_get_rate and compare that to 19.2MHz (to make sure that it's not > > > > > > been rounded too far apart from the frequency we expect). > > > > > > > > > > > > This is doing exactly the same thing, except that we don't encode our > > > > > > implementation limitations in the DT, but in the driver instead. > > > > > > > > > > What I really wanted to say that a driver that doesn't get the clock > > > > > frequency from DT but still sets that frequency is broken. > > > > > > > > > > This frequency is highly system specific, and in many cases only a certain > > > > > frequency is usable, for a few reasons: On many SoCs, not all common > > > > > frequencies can be used (e.g. 9,6 MHz, 19,2 MHz and 24 MHz; while others > > > > > are being used as well), and then that frequency affects the usable CSI-2 > > > > > bus frequencies directly --- and of those, only safe, known-good ones > > > > > should be used. IOW, getting the external clock frequency wrong typically > > > > > has an effect that that none of the known-good CSI-2 bus clock frequencies > > > > > are available. > > > > > > > > So clock-frequency is not about the "Frequency of the xvclk clock in > > > > Hertz", but the frequency at which that clock must run on this > > > > particular SoC / board to be functional? > > > > > > > > If so, then yeah, we should definitely keep it, but the documentation > > > > of the binding should be made clearer as well. > > > > > > Alright so, let me summarise the desired approach then. > > > > There's a separate discussion on the same topic here: > > https://lore.kernel.org/linux-media/20200407122106.GD4751@pendragon.ideasonboard.com/ > > Thanks for the link. > > > > > > ACPI: > > > - Fetch the "clock-frequency" property > > > - Verify it to be 19.2Mhz > > > > > > DT: > > > - Fetch the "clock-frequency" property > > > - Verify it to be 19.2Mhz > > > - Get xvclk clock > > > - Get xvclk clock rate > > > - Verify xvclk clock rate to be 19.2Mhz > > > > The current status is that you should > > 's/clock-frequency/link-frequencies/', and in order to replace > > assigned-clock-rates, you'll want to have a clk_set_rate to 19.2MHz > > between steps 3 and 4 > > Would we want to 's/clock-frequency/link-frequencies/' for ACPI too? > I imagine that would cause some breakage. It would, yes, and it would be no more correct on DT either. There are basically two possibilities here; either use the clock-frequency property and set the frequency, or rely on assigned-clock-rates, and get the frequency instead. The latter, while I understand it is generally preferred, comes with having to figure out the register list set that closest matches the frequency obtained. The former generally gets around this silently by the clock driver setting the closest frequency it can support. -- Regards, Sakari Ailus