[PATCH v2 1/3] dt-bindings: media: i2c: Add documentation for ov8865

From: Kévin L'hôpital
Date: Fri Aug 28 2020 - 09:17:01 EST


Add a documentation for the sensor ov8865 from Omnivision.

Signed-off-by: Kévin L'hôpital <kevin.lhopital@xxxxxxxxxxx>
---
.../devicetree/bindings/media/i2c/ov8865.yaml | 165 ++++++++++++++++++
1 file changed, 165 insertions(+)
create mode 100644 Documentation/devicetree/bindings/media/i2c/ov8865.yaml

diff --git a/Documentation/devicetree/bindings/media/i2c/ov8865.yaml b/Documentation/devicetree/bindings/media/i2c/ov8865.yaml
new file mode 100644
index 000000000000..468ddfd48c7a
--- /dev/null
+++ b/Documentation/devicetree/bindings/media/i2c/ov8865.yaml
@@ -0,0 +1,165 @@
+# SPDX-License-Identifier: (GPL-2.0 0R BSD-2-Clause)
+# Copyright (C) 2020 Kévin L'hôpital
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/media/i2c/ov8865.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Omnivision OV8865 Sensor Device Tree Bindings
+
+maintainers:
+ - Kévin L'hôpital <kevin.lhopital@xxxxxxxxxxx>
+
+description: |-
+ The Omnivision OV8865 is a image sensor that supports up to 3264x2448. It
+ provides a 10 bits output format and a MIPI CSI2 interface (up to 4-lane).
+ This chip is programmable through I2C.
+
+properties:
+ compatible:
+ const: ovti,ov8865
+
+ reg:
+ maxItems: 1
+
+ pinctrl-names:
+ description:
+ Default name for the ov8865 pinctrl.
+
+ pinctrl-0:
+ description:
+ Pinctrl for the ov8865.
+
+ clocks:
+ maxItems: 1
+
+ clock-names:
+ description:
+ Input clock name for the sensor.
+
+ items:
+ - const: xclk
+
+ avdd-supply:
+ description:
+ Definition of the regulator used as analog power supply.
+
+ dovdd-supply:
+ description:
+ Definition of the regulator used as interface power supply.
+
+ vdd2-supply:
+ description:
+ Definition of the regulator used as digital power supply
+
+ afvdd-supply:
+ description:
+ Definition of the regulator used as actuator power supply.
+
+ powerdown-gpios:
+ description:
+ reference to the GPIO connceted to the powerdown pin. This is an active
+ low signal on the OV8865.
+
+ reset-gpios:
+ description:
+ Reference to the GPIO connected to the reset pin. This is an active low
+ signal for the OV8865.
+
+ rotation:
+ description:
+ Position of the sensor, the valid values are 0 (sensor mounted upright)
+ and 180 (sensor mounted upside down).
+
+ port:
+ type: object
+ additionalProperties: false
+ description:
+ A node containing an output port node with an endpoint definition as
+ documented in
+ Documentation/devicetree/bindings/media/video-interfaces.txt
+
+ properties:
+ endpoint:
+ type: object
+
+ properties:
+ data-lanes:
+ description:
+ The driver only supports four-lane operation.
+ items:
+ - const: 1
+ - const: 2
+ - const: 3
+ - const: 4
+
+ clock-lanes:
+ items:
+ const: 0
+
+ bus-type:
+ description:
+ The driver only supports the MIPI CSI2
+ items:
+ const: 4
+
+ required:
+ - data-lanes
+ - clock-lanes
+ - bus-type
+
+ required:
+ - endpoint
+
+required:
+ - compatible
+ - reg
+ - pinctrl-names
+ - pinctrl-0
+ - clocks
+ - clock-names
+ - avdd-supply
+ - dovdd-supply
+ - vdd2-supply
+ - afvdd-supply
+ - powerdown-gpios
+ - reset-gpios
+ - port
+
+additionalProperties: false
+
+examples:
+ - |
+ #include <dt-bindings/clock/sun8i-a83t-ccu.h>
+ #include <dt-bindings/gpio/gpio.h>
+
+ i2c2 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ ov8865: camera@36 {
+ compatible = "ovti,ov8865";
+ reg = <0x36>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&csi_mclk_pin>;
+ clocks = <&ccu CLK_CSI_MCLK>;
+ clock-names ="xclk";
+ avdd-supply = <&reg_ov8865_avdd>;
+ dovdd-supply = <&reg_ov8865_dovdd>;
+ vdd2-supply = <&reg_ov8865_vdd2>;
+ afvdd-supply = <&reg_ov8865_afvdd>;
+ powerdown-gpios = <&pio 4 17 GPIO_ACTIVE_LOW>; /* PE17 */
+ reset-gpios = <&pio 4 16 GPIO_ACTIVE_LOW>; /* PE16 */
+ rotation = <180>;
+
+ port {
+ ov8865_to_mipi_csi2: endpoint {
+ remote-endpoint = <&mipi_csi2_from_ov8865>;
+ data-lanes = <1 2 3 4>;
+ clock-lanes = <0>;
+ bus-type = <4>; /* V4L2_FWNODE_BUS_TYPE_CSI2_DPHY */
+ };
+ };
+ };
+ };
+
+...
--
2.17.1