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
next prev parent 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).