Received: by 2002:a05:6358:3188:b0:123:57c1:9b43 with SMTP id q8csp35833714rwd; Mon, 10 Jul 2023 13:24:11 -0700 (PDT) X-Google-Smtp-Source: APBJJlEK/MwJyNyVJ5Cls6qA6mUA9IBJV0BuAcLGrw+WF49AZXFpwRxpT0zHRRl32L818IAKa1b+ X-Received: by 2002:a05:6a00:1688:b0:666:8cbb:6e0f with SMTP id k8-20020a056a00168800b006668cbb6e0fmr12786324pfc.3.1689020651321; Mon, 10 Jul 2023 13:24:11 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1689020651; cv=none; d=google.com; s=arc-20160816; b=c7sTsLVpZQZi97pBuc0IdMQXsKr+h292CikHys9E3Jw6IszCzSN52aRRZxrdXBFQHQ zqulSrkwx8USVbK93Xbxrr4fze0LLN1Y6/TJNpCX80RybuGncDDT+gUcTezLcRI4a5NX mAVS/qxHgKqnjcf6Ov5FVe7nvkBL+jzBADwOauTbCVhMzc7p9I7glxtL4gz8oFpf+M4o XbCbp2lV0Ie+0V+3wj56CNS5t7oaBUynyWzvfhyie/t0Cy6a2hwEToh0eFf8wZWOssZM bu89k/FOcfrUgdGULXj1PLEaBXJeAIPQS/5ZGYW7CYi1ecxjCkSk5kexy88rkb//RZjq vzSw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:in-reply-to:subject :from:content-language:references:cc:to:user-agent:mime-version:date :message-id:dkim-signature; bh=R0JIXODI5QHbcDmyKl8IvcCEhlaVWFkq0yhT7xb76p0=; fh=YSJFT9uU5wW7uBV1vlFCBDc76tbdW00FqdHdLayMyuU=; b=sNo+vKLJ3jH+EbqgFpGnELjW9S2RVT8cYLTSukEN0/d8aL8jEFz7qAFQbs0YyqjJYO UzowQ6slxqNmzMBxMmTDt1xVnRVafJNycygyROkuG111W05BQHPH4/cKXlqn6JLWRsjg z7ON7M/KbLdMEN3iqteBwxH6aV0Zggq+T5FLTlxOfd/dhan4o4ov9dHGy2hLq5I7bOcY cwolllQdDluO9bGY9Oeiu+DSgXpCdAsIccx4ygPmvTxXcAQkCsxi0Uq0c20qKcVCd8OM NoqGTFi+bfhQAHsEFBs2/QPoI4C/kyMhl/18J9mTU7gACH9klyJmPfBtrszJNwRzYngt gPuA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass (test mode) header.i=@ideasonboard.com header.s=mail header.b=U0tAI4vN; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id z6-20020a656646000000b0054ff8291783si151361pgv.424.2023.07.10.13.23.59; Mon, 10 Jul 2023 13:24:11 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass (test mode) header.i=@ideasonboard.com header.s=mail header.b=U0tAI4vN; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231919AbjGJUII (ORCPT + 99 others); Mon, 10 Jul 2023 16:08:08 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:60840 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232107AbjGJUID (ORCPT ); Mon, 10 Jul 2023 16:08:03 -0400 Received: from perceval.ideasonboard.com (perceval.ideasonboard.com [IPv6:2001:4b98:dc2:55:216:3eff:fef7:d647]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id CEBAB198; Mon, 10 Jul 2023 13:07:54 -0700 (PDT) Received: from [192.168.0.43] (cpc141996-chfd3-2-0-cust928.12-3.cable.virginm.net [86.13.91.161]) by perceval.ideasonboard.com (Postfix) with ESMTPSA id E7B66DA7; Mon, 10 Jul 2023 22:07:01 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com; s=mail; t=1689019622; bh=b6g3oIdEKQxnDikMS0wynyZDArLACBjT5ZIcmeg3v9w=; h=Date:To:Cc:References:From:Subject:In-Reply-To:From; b=U0tAI4vNt8LCiXM14focRttedaed7oUBa8A2iflHlEr9m+EGa98Fb6O48OKzLmi/5 R7gmg0wgEOS5d2NKXe7a6ZJhxHnzj6L3suk9UwHyJKL1Mv9MkVrtRsw6j9gGUrop0U 0BsRYBSaLrIN6VyZkdqzfaarHdfIbAntMYCPEUnc= Message-ID: <018f882a-1dc0-c18e-b582-d6616668c720@ideasonboard.com> Date: Mon, 10 Jul 2023 21:07:46 +0100 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.11.0 To: Rob Herring , Conor Dooley Cc: Mauro Carvalho Chehab , Krzysztof Kozlowski , Conor Dooley , Daniel Scally , Dafna Hirschfeld , Heiko Stuebner , Tommaso Merciai , Helen Koike , linux-media@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-rockchip@lists.infradead.org, linux-arm-kernel@lists.infradead.org References: <20230707210604.868002-1-robh@kernel.org> <20230710-unsold-simplify-5a339036ff38@spud> Content-Language: en-US From: Dan Scally Subject: Re: [PATCH] media: dt-bindings: Merge OV5695 into OV5693 binding In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-2.2 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,NICE_REPLY_A, RCVD_IN_DNSWL_BLOCKED,SPF_HELO_PASS,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hello both On 10/07/2023 18:57, Rob Herring wrote: > On Mon, Jul 10, 2023 at 11:45 AM Conor Dooley wrote: >> On Fri, Jul 07, 2023 at 03:06:04PM -0600, Rob Herring wrote: >>> The OV5695 binding is almost the same as the OV5693 binding. The only >>> difference is 'clock-names' is defined for OV5695. However, the lack of >>> clock-names is an omission as the Linux OV5693 driver expects the same >>> 'xvclk' clock name. >>> >>> 'link-frequencies' is required by OV5693, but not OV5695. Just drop it >>> from being required. Expressing it conditionally would be ugly. It >>> shouldn't really be required either as the driver only supports 1 >>> frequency anyways. >> I suppose the intent here is something like "the driver only supports 1 >> frequency and never bothers to read the property"? > It does read it and fails if it doesn't match. I don't really think > the driver should if there is only 1 freq. I don't know if it's that > the hw only supports 1 frequency or a driver limitation. If the h/w, > then the property is pointless. It's a driver limitation. If someone needed to run a different link frequency they could add settings to the driver to configure the PLLs differently. > > >> Either way, >> Reviewed-by: Conor Dooley >> >> Cheers, >> Conor. >> >>> The rockchip-isp1 binding example is missing required properties, so it >>> has to be updated as well. >>> >>> Signed-off-by: Rob Herring >>> --- >>> .../devicetree/bindings/media/i2c/ov5695.txt | 41 ------------------- >>> .../bindings/media/i2c/ovti,ov5693.yaml | 19 +++++---- >>> .../bindings/media/rockchip-isp1.yaml | 1 + >>> 3 files changed, 13 insertions(+), 48 deletions(-) >>> delete mode 100644 Documentation/devicetree/bindings/media/i2c/ov5695.txt >>> >>> diff --git a/Documentation/devicetree/bindings/media/i2c/ov5695.txt b/Documentation/devicetree/bindings/media/i2c/ov5695.txt >>> deleted file mode 100644 >>> index 640a63717d96..000000000000 >>> --- a/Documentation/devicetree/bindings/media/i2c/ov5695.txt >>> +++ /dev/null >>> @@ -1,41 +0,0 @@ >>> -* Omnivision OV5695 MIPI CSI-2 sensor >>> - >>> -Required Properties: >>> -- compatible: shall be "ovti,ov5695" >>> -- clocks: reference to the xvclk input clock >>> -- clock-names: shall be "xvclk" >>> -- avdd-supply: Analog voltage supply, 2.8 volts >>> -- dovdd-supply: Digital I/O voltage supply, 1.8 volts >>> -- dvdd-supply: Digital core voltage supply, 1.2 volts >>> -- reset-gpios: Low active reset gpio >>> - >>> -The device node shall contain one 'port' child node with an >>> -'endpoint' subnode for its digital output video port, >>> -in accordance with the video interface bindings defined in >>> -Documentation/devicetree/bindings/media/video-interfaces.txt. >>> -The endpoint optional property 'data-lanes' shall be "<1 2>". >>> - >>> -Example: >>> -&i2c7 { >>> - ov5695: camera-sensor@36 { >>> - compatible = "ovti,ov5695"; >>> - reg = <0x36>; >>> - pinctrl-names = "default"; >>> - pinctrl-0 = <&clk_24m_cam>; >>> - >>> - clocks = <&cru SCLK_TESTCLKOUT1>; >>> - clock-names = "xvclk"; >>> - >>> - avdd-supply = <&pp2800_cam>; >>> - dovdd-supply = <&pp1800>; >>> - dvdd-supply = <&pp1250_cam>; >>> - reset-gpios = <&gpio2 5 GPIO_ACTIVE_LOW>; >>> - >>> - port { >>> - wcam_out: endpoint { >>> - remote-endpoint = <&mipi_in_wcam>; >>> - data-lanes = <1 2>; >>> - }; >>> - }; >>> - }; >>> -}; >>> diff --git a/Documentation/devicetree/bindings/media/i2c/ovti,ov5693.yaml b/Documentation/devicetree/bindings/media/i2c/ovti,ov5693.yaml >>> index 359dc08440a8..a3d73a87d797 100644 >>> --- a/Documentation/devicetree/bindings/media/i2c/ovti,ov5693.yaml >>> +++ b/Documentation/devicetree/bindings/media/i2c/ovti,ov5693.yaml >>> @@ -5,26 +5,29 @@ >>> $id: http://devicetree.org/schemas/media/i2c/ovti,ov5693.yaml# >>> $schema: http://devicetree.org/meta-schemas/core.yaml# >>> >>> -title: Omnivision OV5693 CMOS Sensor >>> +title: Omnivision OV5693/OV5695 CMOS Sensors >>> >>> maintainers: >>> - Tommaso Merciai >>> >>> description: | >>> - The Omnivision OV5693 is a high performance, 1/4-inch, 5 megapixel, CMOS >>> - image sensor that delivers 2592x1944 at 30fps. It provides full-frame, >>> + The Omnivision OV5693/OV5695 are high performance, 1/4-inch, 5 megapixel, CMOS >>> + image sensors that deliver 2592x1944 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. >>> >>> - OV5693 is controlled via I2C and two-wire Serial Camera Control Bus (SCCB). >>> - The sensor output is available via CSI-2 serial data output (up to 2-lane). >>> + OV5693/OV5695 are controlled via I2C and two-wire Serial Camera Control Bus >>> + (SCCB). The sensor output is available via CSI-2 serial data output (up to >>> + 2-lane). >>> >>> allOf: >>> - $ref: /schemas/media/video-interface-devices.yaml# >>> >>> properties: >>> compatible: >>> - const: ovti,ov5693 >>> + enum: >>> + - ovti,ov5693 >>> + - ovti,ov5695 >>> >>> reg: >>> maxItems: 1 >>> @@ -34,6 +37,9 @@ properties: >>> System input clock (aka XVCLK). From 6 to 27 MHz. >>> maxItems: 1 >>> >>> + clock-names: >>> + const: xvclk >>> + >>> dovdd-supply: >>> description: >>> Digital I/O voltage supply, 1.8V. >>> @@ -72,7 +78,6 @@ properties: >>> >>> required: >>> - data-lanes >>> - - link-frequencies >>> >>> required: >>> - compatible >>> diff --git a/Documentation/devicetree/bindings/media/rockchip-isp1.yaml b/Documentation/devicetree/bindings/media/rockchip-isp1.yaml >>> index 0bad7e640148..e466dff8286d 100644 >>> --- a/Documentation/devicetree/bindings/media/rockchip-isp1.yaml >>> +++ b/Documentation/devicetree/bindings/media/rockchip-isp1.yaml >>> @@ -199,6 +199,7 @@ examples: >>> wcam: camera@36 { >>> compatible = "ovti,ov5695"; >>> reg = <0x36>; >>> + clocks = <&cru SCLK_TESTCLKOUT1>; >>> >>> port { >>> wcam_out: endpoint { >>> -- >>> 2.40.1 >>>