From: Jacopo Mondi <jacopo+renesas@jmondi.org>
To: robh+dt@kernel.org, devicetree@vger.kernel.org
Cc: Jacopo Mondi <jacopo+renesas@jmondi.org>,
slongerbeam@gmail.com, linux-media@vger.kernel.org,
laurent.pinchart@ideasonboard.com,
linux-renesas-soc@vger.kernel.org
Subject: [PATCH 01/13] dt-bindings: media: ov5640: Convert to json-schema
Date: Fri, 17 Jul 2020 15:28:47 +0200 [thread overview]
Message-ID: <20200717132859.237120-2-jacopo+renesas@jmondi.org> (raw)
In-Reply-To: <20200717132859.237120-1-jacopo+renesas@jmondi.org>
Convert the ov5640 bindings document to json-schema.
This commit ports the existing bindings, clean up patches
will follow.
Signed-off-by: Jacopo Mondi <jacopo+renesas@jmondi.org>
---
.../devicetree/bindings/media/i2c/ov5640.txt | 92 ---------
.../devicetree/bindings/media/i2c/ov5640.yaml | 181 ++++++++++++++++++
2 files changed, 181 insertions(+), 92 deletions(-)
delete mode 100644 Documentation/devicetree/bindings/media/i2c/ov5640.txt
create mode 100644 Documentation/devicetree/bindings/media/i2c/ov5640.yaml
diff --git a/Documentation/devicetree/bindings/media/i2c/ov5640.txt b/Documentation/devicetree/bindings/media/i2c/ov5640.txt
deleted file mode 100644
index c97c2f2da12d..000000000000
--- a/Documentation/devicetree/bindings/media/i2c/ov5640.txt
+++ /dev/null
@@ -1,92 +0,0 @@
-* Omnivision OV5640 MIPI CSI-2 / parallel sensor
-
-Required Properties:
-- compatible: should be "ovti,ov5640"
-- clocks: reference to the xclk input clock.
-- clock-names: should be "xclk".
-- DOVDD-supply: Digital I/O voltage supply, 1.8 volts
-- AVDD-supply: Analog voltage supply, 2.8 volts
-- DVDD-supply: Digital core voltage supply, 1.5 volts
-
-Optional Properties:
-- reset-gpios: reference to the GPIO connected to the reset pin, if any.
- This is an active low signal to the OV5640.
-- powerdown-gpios: reference to the GPIO connected to the powerdown pin,
- if any. This is an active high signal to the OV5640.
-- rotation: as defined in
- Documentation/devicetree/bindings/media/video-interfaces.txt,
- valid values are 0 (sensor mounted upright) and 180 (sensor
- mounted upside down).
-
-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.
-
-OV5640 can be connected to a MIPI CSI-2 bus or a parallel bus endpoint.
-
-Endpoint node required properties for CSI-2 connection are:
-- remote-endpoint: a phandle to the bus receiver's endpoint node.
-- clock-lanes: should be set to <0> (clock lane on hardware lane 0)
-- data-lanes: should be set to <1> or <1 2> (one or two CSI-2 lanes supported)
-
-Endpoint node required properties for parallel connection are:
-- remote-endpoint: a phandle to the bus receiver's endpoint node.
-- bus-width: shall be set to <8> for 8 bits parallel bus
- or <10> for 10 bits parallel bus
-- data-shift: shall be set to <2> for 8 bits parallel bus
- (lines 9:2 are used) or <0> for 10 bits parallel bus
-- hsync-active: active state of the HSYNC signal, 0/1 for LOW/HIGH respectively.
-- vsync-active: active state of the VSYNC signal, 0/1 for LOW/HIGH respectively.
-- pclk-sample: sample data on rising (1) or falling (0) edge of the pixel clock
- signal.
-
-Examples:
-
-&i2c1 {
- ov5640: camera@3c {
- compatible = "ovti,ov5640";
- pinctrl-names = "default";
- pinctrl-0 = <&pinctrl_ov5640>;
- reg = <0x3c>;
- clocks = <&clks IMX6QDL_CLK_CKO>;
- clock-names = "xclk";
- DOVDD-supply = <&vgen4_reg>; /* 1.8v */
- AVDD-supply = <&vgen3_reg>; /* 2.8v */
- DVDD-supply = <&vgen2_reg>; /* 1.5v */
- powerdown-gpios = <&gpio1 19 GPIO_ACTIVE_HIGH>;
- reset-gpios = <&gpio1 20 GPIO_ACTIVE_LOW>;
- rotation = <180>;
-
- port {
- /* MIPI CSI-2 bus endpoint */
- ov5640_to_mipi_csi2: endpoint {
- remote-endpoint = <&mipi_csi2_from_ov5640>;
- clock-lanes = <0>;
- data-lanes = <1 2>;
- };
- };
- };
-};
-
-&i2c1 {
- ov5640: camera@3c {
- compatible = "ovti,ov5640";
- pinctrl-names = "default";
- pinctrl-0 = <&pinctrl_ov5640>;
- reg = <0x3c>;
- clocks = <&clk_ext_camera>;
- clock-names = "xclk";
-
- port {
- /* Parallel bus endpoint */
- ov5640_to_parallel: endpoint {
- remote-endpoint = <¶llel_from_ov5640>;
- bus-width = <8>;
- data-shift = <2>; /* lines 9:2 are used */
- hsync-active = <0>;
- vsync-active = <0>;
- pclk-sample = <1>;
- };
- };
- };
-};
diff --git a/Documentation/devicetree/bindings/media/i2c/ov5640.yaml b/Documentation/devicetree/bindings/media/i2c/ov5640.yaml
new file mode 100644
index 000000000000..ceeacc91c801
--- /dev/null
+++ b/Documentation/devicetree/bindings/media/i2c/ov5640.yaml
@@ -0,0 +1,181 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/media/i2c/ov5640.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Omnivision OV5640 MIPI CSI-2 / parallel sensor
+
+maintainers:
+ - Steve Longerbeam <slongerbeam@gmail.com>
+
+description: -|
+ The OV5640 is a 5 megapixels image sensor capable of producing images in RGB,
+ RAW, YUV and compressed formats. It features a MIPI CSI-2 and a parallel data
+ interface and an I2C-compatible (CCI) control interface.
+
+properties:
+ compatible:
+ const: ovti,ov5640
+
+ reg:
+ maxItems: 1
+
+ clocks:
+ maxItems: 1
+
+ clock-names:
+ items:
+ - const: xclk
+
+ DOVDD-supply:
+ description: Digital I/O voltage supply, 1.8 volts.
+ maxItems: 1
+
+ AVDD-supply:
+ description: Analog voltage supply, 2.8 volts.
+ maxItems: 1
+
+ DVDD-supply:
+ description: Digital core voltage supply.
+ maxItems: 1
+
+ reset-gpios:
+ description: |
+ Reference to the GPIO connected to the reset pin, if any. This is an
+ active low signal to the OV5640.
+ maxItems: 1
+
+ powerdown-gpios:
+ description: |
+ Reference tot he GPIO connected to the powerdown pin, if any. This is an
+ active high signal to the OV5640.
+ maxItems: 1
+
+ rotation:
+ description: |
+ As defined in Documentation/devicetree/bindings/media/video-interfaces.txt
+ enum: [0, 180]
+
+ 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.
+
+ OV5640 can be connected to a MIPI CSI-2 bus or a parallel bus endpoint.
+
+ properties:
+ endpoint:
+ type: object
+ properties:
+ remote-endpoint:
+ description: A phandle to the bus receiver's endpoint node.
+
+ clock-lanes:
+ const: 0
+
+ data-lanes:
+ description: |
+ Should be set to <1> or <1 2> (one or two CSI-2 lanes supported).
+ oneOf:
+ - items:
+ - const: 1
+ - items:
+ - const: 1
+ - const: 2
+
+ bus-width:
+ description: |
+ Shall be set to <8> for 8 bits parallel bus or <10> for 10 bits
+ parallel bus.
+ enum: [8, 10]
+
+ data-shift:
+ description: |
+ Shall be set to <2> for 8 bits parallel bus (lines 9:2 are used) or
+ <0> for 10 bits parallel bus.
+ enum: [0, 2]
+
+ hsync-active:
+ enum: [0, 1]
+
+ vsync-active:
+ enum: [0, 1]
+
+ pclk-sample:
+ enum: [0, 1]
+
+ required:
+ - remote-endpoint
+
+ additionalProperties: false
+
+required:
+ - compatible
+ - reg
+ - clocks
+ - clock-names
+ - DOVDD-supply
+ - AVDD-supply
+ - DVDD-supply
+ - port
+
+examples:
+ - |
+ #include <dt-bindings/gpio/gpio.h>
+ #include <dt-bindings/clock/imx6qdl-clock.h>
+
+ i2c0 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ camera@3c {
+ compatible = "ovti,ov5640";
+ reg = <0x3c>;
+ clocks = <&clks IMX6QDL_CLK_CKO>;
+ clock-names = "xclk";
+ DOVDD-supply = <&vgen4_reg>; /* 1.8v */
+ AVDD-supply = <&vgen3_reg>; /* 2.8v */
+ DVDD-supply = <&vgen2_reg>; /* 1.5v */
+ powerdown-gpios = <&gpio1 19 GPIO_ACTIVE_HIGH>;
+ reset-gpios = <&gpio1 20 GPIO_ACTIVE_LOW>;
+ rotation = <180>;
+
+ port {
+ ov5640_to_mipi_csi2: endpoint {
+ remote-endpoint = <&mipi_csi2_from_ov5640>;
+ clock-lanes = <0>;
+ data-lanes = <1 2>;
+ };
+ };
+ };
+ };
+
+ i2c1 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ camera@3c {
+ compatible = "ovti,ov5640";
+ reg = <0x3c>;
+ clocks = <&clks IMX6QDL_CLK_CKO>;
+ clock-names = "xclk";
+ DOVDD-supply = <&vgen4_reg>; /* 1.8v */
+ AVDD-supply = <&vgen3_reg>; /* 2.8v */
+ DVDD-supply = <&vgen2_reg>; /* 1.5v */
+ powerdown-gpios = <&gpio1 19 GPIO_ACTIVE_HIGH>;
+ reset-gpios = <&gpio1 20 GPIO_ACTIVE_LOW>;
+ rotation = <180>;
+
+ port {
+ ov5640_to_parallel: endpoint {
+ remote-endpoint = <¶llel_from_ov5640>;
+ bus-width = <10>;
+ };
+ };
+ };
+ };
+
+...
--
2.27.0
next prev parent reply other threads:[~2020-07-17 13:25 UTC|newest]
Thread overview: 46+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-07-17 13:28 [PATCH 00/13] dt-bindings: media: ov5640: Convert to json-schema Jacopo Mondi
2020-07-17 13:28 ` Jacopo Mondi [this message]
2020-07-17 19:28 ` [PATCH 01/13] " Laurent Pinchart
2020-07-20 16:32 ` Rob Herring
2020-07-17 13:28 ` [PATCH 02/13] arm64: dts: qcom: apq8016-sbc: Fix CSI-2 lanes routing Jacopo Mondi
2020-07-17 19:35 ` Laurent Pinchart
2020-07-22 8:14 ` Loic Poulain
2020-07-22 8:34 ` Jacopo Mondi
2020-07-17 13:28 ` [PATCH 03/13] dt-bindings: media: ov5640: Do not limit rotation Jacopo Mondi
2020-07-17 19:38 ` Laurent Pinchart
2020-07-20 19:36 ` Rob Herring
2020-07-17 13:28 ` [PATCH 04/13] dt-bindings: media: ti,cal: Remove sensor from example Jacopo Mondi
2020-07-17 19:39 ` Laurent Pinchart
2020-07-23 20:57 ` Rob Herring
2020-07-17 13:28 ` [PATCH 05/13] dt-bindings: media: ov5640: Make bus-type mandatory Jacopo Mondi
2020-07-17 15:48 ` Fabio Estevam
2020-07-17 19:48 ` Laurent Pinchart
2020-07-20 19:45 ` Rob Herring
2020-07-17 13:28 ` [PATCH 06/13] dt-bindings: media: ov5640: Require ep properties Jacopo Mondi
2020-07-17 19:50 ` Laurent Pinchart
2020-07-17 13:28 ` [PATCH 07/13] dt-bindings: media: ov5640: Remove clock-lanes Jacopo Mondi
2020-07-17 20:48 ` Laurent Pinchart
2020-07-20 19:47 ` Rob Herring
2020-07-17 13:28 ` [PATCH 08/13] dt-bindings: media: ov5640: Remove data-shift Jacopo Mondi
2020-07-17 20:57 ` Laurent Pinchart
2020-07-23 22:22 ` Sakari Ailus
2020-07-23 23:15 ` Laurent Pinchart
2020-07-25 21:18 ` Sakari Ailus
2020-07-25 21:31 ` Laurent Pinchart
2020-07-29 14:29 ` Sakari Ailus
2020-07-29 14:46 ` Laurent Pinchart
2020-07-30 16:22 ` Sakari Ailus
2020-07-30 16:32 ` Laurent Pinchart
2020-07-30 16:43 ` Sakari Ailus
2020-07-17 13:28 ` [PATCH 09/13] dt-bindings: media: ov5640: Add default for synch signals Jacopo Mondi
2020-07-17 20:59 ` Laurent Pinchart
2020-07-20 19:50 ` Rob Herring
2020-07-17 13:28 ` [PATCH 10/13] dt-bindings: media: ov5640: Demote DVP required properties Jacopo Mondi
2020-07-17 21:00 ` Laurent Pinchart
2020-07-17 13:28 ` [PATCH 11/13] media: i2c: ov5640: Initialize DVP polarities as default Jacopo Mondi
2020-07-17 21:02 ` Laurent Pinchart
2020-07-17 13:28 ` [PATCH 12/13] MAINTAINERS: ov5640: Add bindings file Jacopo Mondi
2020-07-17 21:03 ` Laurent Pinchart
2020-07-17 13:28 ` [PATCH 13/13] dt-bindings: media: ov5640: Add myself as co-maintainer Jacopo Mondi
2020-07-17 21:03 ` Laurent Pinchart
2020-07-17 19:31 ` [PATCH 00/13] dt-bindings: media: ov5640: Convert to json-schema Laurent Pinchart
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20200717132859.237120-2-jacopo+renesas@jmondi.org \
--to=jacopo+renesas@jmondi.org \
--cc=devicetree@vger.kernel.org \
--cc=laurent.pinchart@ideasonboard.com \
--cc=linux-media@vger.kernel.org \
--cc=linux-renesas-soc@vger.kernel.org \
--cc=robh+dt@kernel.org \
--cc=slongerbeam@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).