From patchwork Tue Aug 18 12:20:10 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jacopo Mondi X-Patchwork-Id: 1346793 Return-Path: X-Original-To: incoming-dt@patchwork.ozlabs.org Delivered-To: patchwork-incoming-dt@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org (client-ip=23.128.96.18; helo=vger.kernel.org; envelope-from=devicetree-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=jmondi.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by ozlabs.org (Postfix) with ESMTP id 4BW8zH49v3z9sTH for ; Tue, 18 Aug 2020 22:16:43 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726611AbgHRMQm (ORCPT ); Tue, 18 Aug 2020 08:16:42 -0400 Received: from relay3-d.mail.gandi.net ([217.70.183.195]:36529 "EHLO relay3-d.mail.gandi.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726451AbgHRMQl (ORCPT ); Tue, 18 Aug 2020 08:16:41 -0400 X-Originating-IP: 2.224.242.101 Received: from uno.lan (2-224-242-101.ip172.fastwebnet.it [2.224.242.101]) (Authenticated sender: jacopo@jmondi.org) by relay3-d.mail.gandi.net (Postfix) with ESMTPSA id F3A8360006; Tue, 18 Aug 2020 12:16:36 +0000 (UTC) From: Jacopo Mondi To: robh+dt@kernel.org, devicetree@vger.kernel.org, linux-media@vger.kernel.org, "Lad, Prabhakar" Cc: Jacopo Mondi , mchehab@kernel.org, sakari.ailus@linux.intel.com, hverkuil-cisco@xs4all.nl, laurent.pinchart@ideasonboard.com, linux-renesas-soc@vger.kernel.org Subject: [PATCH 1/3] dt-bindings: media: ov772x: Convert to json-schema Date: Tue, 18 Aug 2020 14:20:10 +0200 Message-Id: <20200818122012.37956-2-jacopo+renesas@jmondi.org> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20200818122012.37956-1-jacopo+renesas@jmondi.org> References: <20200818122012.37956-1-jacopo+renesas@jmondi.org> MIME-Version: 1.0 Sender: devicetree-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: devicetree@vger.kernel.org Convert the ov772x binding document to json-schema and update the MAINTAINERS file accordingly. Signed-off-by: Jacopo Mondi Reviewed-by: Laurent Pinchart Reviewed-by: Lad Prabhakar --- .../devicetree/bindings/media/i2c/ov772x.txt | 40 --------- .../devicetree/bindings/media/i2c/ov772x.yaml | 84 +++++++++++++++++++ MAINTAINERS | 2 +- 3 files changed, 85 insertions(+), 41 deletions(-) delete mode 100644 Documentation/devicetree/bindings/media/i2c/ov772x.txt create mode 100644 Documentation/devicetree/bindings/media/i2c/ov772x.yaml diff --git a/Documentation/devicetree/bindings/media/i2c/ov772x.txt b/Documentation/devicetree/bindings/media/i2c/ov772x.txt deleted file mode 100644 index 0b3ede5b8e6a..000000000000 --- a/Documentation/devicetree/bindings/media/i2c/ov772x.txt +++ /dev/null @@ -1,40 +0,0 @@ -* Omnivision OV7720/OV7725 CMOS sensor - -The Omnivision OV7720/OV7725 sensor supports multiple resolutions output, -such as VGA, QVGA, and any size scaling down from CIF to 40x30. It also can -support the YUV422, RGB565/555/444, GRB422 or raw RGB output formats. - -Required Properties: -- compatible: shall be one of - "ovti,ov7720" - "ovti,ov7725" -- clocks: reference to the xclk input clock. - -Optional Properties: -- reset-gpios: reference to the GPIO connected to the RSTB pin which is - active low, if any. -- powerdown-gpios: reference to the GPIO connected to the PWDN pin which is - active high, if any. - -The device node shall contain one 'port' child node with one child 'endpoint' -subnode for its digital output video port, in accordance with the video -interface bindings defined in Documentation/devicetree/bindings/media/ -video-interfaces.txt. - -Example: - -&i2c0 { - ov772x: camera@21 { - compatible = "ovti,ov7725"; - reg = <0x21>; - reset-gpios = <&axi_gpio_0 0 GPIO_ACTIVE_LOW>; - powerdown-gpios = <&axi_gpio_0 1 GPIO_ACTIVE_LOW>; - clocks = <&xclk>; - - port { - ov772x_0: endpoint { - remote-endpoint = <&vcap1_in0>; - }; - }; - }; -}; diff --git a/Documentation/devicetree/bindings/media/i2c/ov772x.yaml b/Documentation/devicetree/bindings/media/i2c/ov772x.yaml new file mode 100644 index 000000000000..2b84fefeb4aa --- /dev/null +++ b/Documentation/devicetree/bindings/media/i2c/ov772x.yaml @@ -0,0 +1,84 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/media/i2c/ov772x.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Omnivision OV7720/OV7725 CMOS sensor + +maintainers: + - Jacopo Mondi + +description: -| + The Omnivision OV7720/OV7725 sensor supports multiple resolutions output, + such as VGA, QVGA, and any size scaling down from CIF to 40x30. It also can + support the YUV422, RGB565/555/444, GRB422 or raw RGB output formats. + +properties: + compatible: + enum: + - ovti,ov7720 + - ovti,ov7725 + + reg: + maxItems: 1 + + clocks: + maxItems: 1 + + reset-gpios: + description: -| + Reference to the GPIO connected to the RSTB pin which is active low. + maxItems: 1 + + powerdown-gpios: + description: -| + Reference to the GPIO connected to the PWDN pin which is active high. + maxItems: 1 + + port: + type: object + description: | + The device node must contain one 'port' child node for its digital output + video port, in accordance with the video interface bindings defined in + Documentation/devicetree/bindings/media/video-interfaces.txt. + + properties: + endpoint: + type: object + properties: + remote-endpoint: + description: A phandle to the bus receiver's endpoint node. + + additionalProperties: false + +required: + - compatible + - reg + - clocks + - reset-gpios + - powerdown-gpios + +examples: + - | + #include + + i2c0 { + #address-cells = <1>; + #size-cells = <0>; + ov772x: camera@21 { + compatible = "ovti,ov7725"; + reg = <0x21>; + reset-gpios = <&axi_gpio_0 0 GPIO_ACTIVE_LOW>; + powerdown-gpios = <&axi_gpio_0 1 GPIO_ACTIVE_LOW>; + clocks = <&xclk>; + + port { + ov772x_0: endpoint { + remote-endpoint = <&vcap1_in0>; + }; + }; + }; + }; + +... diff --git a/MAINTAINERS b/MAINTAINERS index d1a6173d3b64..d0a20214eaaf 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -12666,7 +12666,7 @@ M: Jacopo Mondi L: linux-media@vger.kernel.org S: Odd fixes T: git git://linuxtv.org/media_tree.git -F: Documentation/devicetree/bindings/media/i2c/ov772x.txt +F: Documentation/devicetree/bindings/media/i2c/ov772x.yaml F: drivers/media/i2c/ov772x.c F: include/media/i2c/ov772x.h From patchwork Tue Aug 18 12:20:11 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jacopo Mondi X-Patchwork-Id: 1346794 Return-Path: X-Original-To: incoming-dt@patchwork.ozlabs.org Delivered-To: patchwork-incoming-dt@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org (client-ip=23.128.96.18; helo=vger.kernel.org; envelope-from=devicetree-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=jmondi.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by ozlabs.org (Postfix) with ESMTP id 4BW8zK6020z9sTH for ; Tue, 18 Aug 2020 22:16:45 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726451AbgHRMQo (ORCPT ); Tue, 18 Aug 2020 08:16:44 -0400 Received: from relay3-d.mail.gandi.net ([217.70.183.195]:49015 "EHLO relay3-d.mail.gandi.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726568AbgHRMQn (ORCPT ); Tue, 18 Aug 2020 08:16:43 -0400 X-Originating-IP: 2.224.242.101 Received: from uno.lan (2-224-242-101.ip172.fastwebnet.it [2.224.242.101]) (Authenticated sender: jacopo@jmondi.org) by relay3-d.mail.gandi.net (Postfix) with ESMTPSA id 932686000D; Tue, 18 Aug 2020 12:16:39 +0000 (UTC) From: Jacopo Mondi To: robh+dt@kernel.org, devicetree@vger.kernel.org, linux-media@vger.kernel.org, "Lad, Prabhakar" Cc: Jacopo Mondi , mchehab@kernel.org, sakari.ailus@linux.intel.com, hverkuil-cisco@xs4all.nl, laurent.pinchart@ideasonboard.com, linux-renesas-soc@vger.kernel.org Subject: [PATCH 2/3] dt-bindings: media: ov772x: Make bus-type mandatory Date: Tue, 18 Aug 2020 14:20:11 +0200 Message-Id: <20200818122012.37956-3-jacopo+renesas@jmondi.org> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20200818122012.37956-1-jacopo+renesas@jmondi.org> References: <20200818122012.37956-1-jacopo+renesas@jmondi.org> MIME-Version: 1.0 Sender: devicetree-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: devicetree@vger.kernel.org In order to establish required properties based on the selected bus type, make the 'bus-type' property mandatory. Binary compatibility with existing DTB is kept as the driver does not enforce the property to be present, and shall fall-back to default parallel bus configuration, which was the only supported bus type, if the property is not specified. Signed-off-by: Jacopo Mondi Reviewed-by: Laurent Pinchart Reviewed-by: Lad Prabhakar Reviewed-by: Rob Herring --- Documentation/devicetree/bindings/media/i2c/ov772x.yaml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/Documentation/devicetree/bindings/media/i2c/ov772x.yaml b/Documentation/devicetree/bindings/media/i2c/ov772x.yaml index 2b84fefeb4aa..75dad40f70cc 100644 --- a/Documentation/devicetree/bindings/media/i2c/ov772x.yaml +++ b/Documentation/devicetree/bindings/media/i2c/ov772x.yaml @@ -47,9 +47,15 @@ properties: endpoint: type: object properties: + bus-type: + enum: [5, 6] + remote-endpoint: description: A phandle to the bus receiver's endpoint node. + required: + - bus-type + additionalProperties: false required: @@ -75,6 +81,7 @@ examples: port { ov772x_0: endpoint { + bus-type = <5>; remote-endpoint = <&vcap1_in0>; }; }; From patchwork Tue Aug 18 12:20:12 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jacopo Mondi X-Patchwork-Id: 1346795 Return-Path: X-Original-To: incoming-dt@patchwork.ozlabs.org Delivered-To: patchwork-incoming-dt@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org (client-ip=23.128.96.18; helo=vger.kernel.org; envelope-from=devicetree-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=jmondi.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by ozlabs.org (Postfix) with ESMTP id 4BW8zP5hkJz9sRK for ; Tue, 18 Aug 2020 22:16:49 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726366AbgHRMQr (ORCPT ); Tue, 18 Aug 2020 08:16:47 -0400 Received: from relay3-d.mail.gandi.net ([217.70.183.195]:55021 "EHLO relay3-d.mail.gandi.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726682AbgHRMQq (ORCPT ); Tue, 18 Aug 2020 08:16:46 -0400 X-Originating-IP: 2.224.242.101 Received: from uno.lan (2-224-242-101.ip172.fastwebnet.it [2.224.242.101]) (Authenticated sender: jacopo@jmondi.org) by relay3-d.mail.gandi.net (Postfix) with ESMTPSA id 45BF76000C; Tue, 18 Aug 2020 12:16:42 +0000 (UTC) From: Jacopo Mondi To: robh+dt@kernel.org, devicetree@vger.kernel.org, linux-media@vger.kernel.org, "Lad, Prabhakar" Cc: Jacopo Mondi , mchehab@kernel.org, sakari.ailus@linux.intel.com, hverkuil-cisco@xs4all.nl, laurent.pinchart@ideasonboard.com, linux-renesas-soc@vger.kernel.org Subject: [PATCH 3/3] dt-bindings: media: ov772x: Document endpoint props Date: Tue, 18 Aug 2020 14:20:12 +0200 Message-Id: <20200818122012.37956-4-jacopo+renesas@jmondi.org> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20200818122012.37956-1-jacopo+renesas@jmondi.org> References: <20200818122012.37956-1-jacopo+renesas@jmondi.org> MIME-Version: 1.0 Sender: devicetree-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: devicetree@vger.kernel.org Document endpoint properties for the parallel bus type and add them to the example. Specify a few constraints: - If the bus type is BT.656 no hsync or vsycn polarities can be specified. - If the bus width is 10 bits, not data-shift can be applied. Signed-off-by: Jacopo Mondi Reviewed-by: Lad Prabhakar --- .../devicetree/bindings/media/i2c/ov772x.yaml | 43 +++++++++++++++++++ 1 file changed, 43 insertions(+) -- 2.27.0 diff --git a/Documentation/devicetree/bindings/media/i2c/ov772x.yaml b/Documentation/devicetree/bindings/media/i2c/ov772x.yaml index 75dad40f70cc..3fad5dffd19a 100644 --- a/Documentation/devicetree/bindings/media/i2c/ov772x.yaml +++ b/Documentation/devicetree/bindings/media/i2c/ov772x.yaml @@ -50,9 +50,47 @@ properties: bus-type: enum: [5, 6] + bus-width: + enum: [8, 10] + default: 10 + + data-shift: + enum: [0, 2] + default: 0 + + hsync-active: + enum: [0, 1] + default: 1 + + vsync-active: + enum: [0, 1] + default: 1 + + pclk-sample: + enum: [0, 1] + default: 1 + remote-endpoint: description: A phandle to the bus receiver's endpoint node. + allOf: + - if: + properties: + bus-type: + const: 6 + then: + properties: + hsync-active: false + vsync-active: false + + - if: + properties: + bus-width: + const: 10 + then: + properties: + data-shift: + const: 0 required: - bus-type @@ -82,6 +120,11 @@ examples: port { ov772x_0: endpoint { bus-type = <5>; + vsync-active = <0>; + hsync-active = <0>; + pclk-sample = <0>; + bus-width = <8>; + data-shift = <0>; remote-endpoint = <&vcap1_in0>; }; };