devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Nicholas Roth <nicholas@rothemail.net>
To: devicetree@vger.kernel.org
Cc: mchehab@kernel.org, robh+dt@kernel.org,
	krzysztof.kozlowski+dt@linaro.org,
	Nicholas Roth <nicholas@rothemail.net>
Subject: [PATCH v2] dt-bindings: media: Add Omnivision ov8858 binding
Date: Tue,  8 Nov 2022 20:31:01 -0600	[thread overview]
Message-ID: <20221109023100.64143-2-nicholas@rothemail.net> (raw)
In-Reply-To: <20221109023100.64143-1-nicholas@rothemail.net>

Add a device tree binding for the Omnivision OV8858 image sensor.
The OV8858 is an 8 megapixel image sensor which provides images in RAW
format over MIPI CSI-2 data bus and is controlled through an
I2C-compatibile SCCB bus.

Tested on PinePhone Pro with libcamera cam and qcam.

Signed-off-by: Nicholas Roth <nicholas@rothemail.net>
---
 .../devicetree/bindings/media/i2c/ov8858.yaml | 139 ++++++++++++++++++
 1 file changed, 139 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/media/i2c/ov8858.yaml

diff --git a/Documentation/devicetree/bindings/media/i2c/ov8858.yaml b/Documentation/devicetree/bindings/media/i2c/ov8858.yaml
new file mode 100644
index 000000000000..f004e57b05ed
--- /dev/null
+++ b/Documentation/devicetree/bindings/media/i2c/ov8858.yaml
@@ -0,0 +1,139 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/media/i2c/ov8858.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Omnivision OV8856 CMOS Sensor Device Tree Bindings
+
+maintainers:
+  - Nicholas Roth <nicholas@rothemail.net>
+
+description: |-
+  The Omnivision OV8858 is an 8 megapixel image sensor which provides
+  images in RAW format over MIPI CSI-2 data bus with up to 4 lanes
+  and is controlled through an I2C-compatibile SCCB bus.
+
+properties:
+  compatible:
+    const: ovti,ov8858
+
+  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.
+    minimum: 6000000
+    default: 24000000
+    maximum: 27000000
+
+  dovdd-supply:
+    description:
+      Definition of the regulator used as interface power supply.
+
+  avdd-supply:
+    description:
+      Definition of the regulator used as analog power supply.
+
+  dvdd-supply:
+    description:
+      Definition of the regulator used as digital power supply.
+
+  reset-gpios:
+    description:
+      The phandle and specifier for the GPIO that controls sensor reset.
+      This corresponds to the hardware pin XSHUTDN which is physically
+      active low.
+
+  powerdown-gpios:
+    description:
+      The phandle and specifier for the GPIO that controls power down.
+      This corresponds to the hardware pin PWDNB which is physically
+      active low.
+
+  port:
+    $ref: /schemas/graph.yaml#/$defs/port-base
+    additionalProperties: false
+
+    properties:
+      endpoint:
+        $ref: /schemas/media/video-interfaces.yaml#
+        unevaluatedProperties: false
+
+        properties:
+          data-lanes:
+            description: |-
+              The driver supports both two- and four-lane operation.
+            items:
+              - const: 1
+              - const: 2
+              - const: 3
+              - const: 4
+
+          link-frequencies:
+            description: Frequencies listed are driver, not h/w limitations.
+            maxItems: 1
+            items:
+              enum: [ 360000000 ]
+
+        required:
+          - link-frequencies
+
+required:
+  - compatible
+  - reg
+  - clocks
+  - clock-names
+  - clock-frequency
+  - dovdd-supply
+  - avdd-supply
+  - dvdd-supply
+  - reset-gpios
+  - port
+
+additionalProperties: false
+
+examples:
+  - |
+    #include <dt-bindings/gpio/gpio.h>
+
+    i2c {
+        #address-cells = <1>;
+        #size-cells = <0>;
+
+        ucam: camera@36 {
+            compatible = "ovti,ov8858";
+            reg = <0x36>;
+
+            reset-gpios = <&gpio1 1 GPIO_ACTIVE_LOW>;
+            powerdown-gpios = <&gpio2 2 GPIO_ACTIVE_LOW>;
+            pinctrl-names = "default";
+            pinctrl-0 = <&ucam_pdn &ucam_rst>;
+
+            clocks = <&cam_osc>;
+            clock-names = "xvclk";
+            clock-frequency = <24000000>;
+
+            dovdd-supply = <&vcc1v8_dvp>;
+            dvdd-supply = <&vcc1v2_dvp>;
+            avdd-supply = <&vcc2v8_dvp>;
+
+            port {
+                ucam_out: endpoint {
+                    remote-endpoint = <&mipi_in_ucam>;
+                    data-lanes = <1 2 3 4>;
+                    link-frequencies = /bits/ 64 <360000000>;
+                };
+            };
+        };
+    };
-- 
2.34.1


  reply	other threads:[~2022-11-09  2:31 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-11-09  2:31 ov8858 device tree addition Nicholas Roth
2022-11-09  2:31 ` Nicholas Roth [this message]
2022-11-09  8:26   ` [PATCH v2] dt-bindings: media: Add Omnivision ov8858 binding Krzysztof Kozlowski
2022-11-09 15:48     ` Nicholas Roth
2022-11-09 15:51       ` Nicholas Roth
     [not found]     ` <6F5319F3-FDB2-405C-99E1-A9EC64264FD6@rothemail.net>
2022-11-09 16:19       ` Krzysztof Kozlowski
2022-11-09 16:26         ` Nicholas Roth
2022-11-10  8:48           ` Krzysztof Kozlowski

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=20221109023100.64143-2-nicholas@rothemail.net \
    --to=nicholas@rothemail.net \
    --cc=devicetree@vger.kernel.org \
    --cc=krzysztof.kozlowski+dt@linaro.org \
    --cc=mchehab@kernel.org \
    --cc=robh+dt@kernel.org \
    /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).