16b9ab6abSTommaso Merciai# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
26b9ab6abSTommaso Merciai# Copyright (c) 2022 Amarulasolutions
36b9ab6abSTommaso Merciai%YAML 1.2
46b9ab6abSTommaso Merciai---
56b9ab6abSTommaso Merciai$id: http://devicetree.org/schemas/media/i2c/ovti,ov5693.yaml#
66b9ab6abSTommaso Merciai$schema: http://devicetree.org/meta-schemas/core.yaml#
76b9ab6abSTommaso Merciai
8*44ade291SRob Herringtitle: Omnivision OV5693/OV5695 CMOS Sensors
96b9ab6abSTommaso Merciai
106b9ab6abSTommaso Merciaimaintainers:
116b9ab6abSTommaso Merciai  - Tommaso Merciai <tommaso.merciai@amarulasolutions.com>
126b9ab6abSTommaso Merciai
136b9ab6abSTommaso Merciaidescription: |
14*44ade291SRob Herring  The Omnivision OV5693/OV5695 are high performance, 1/4-inch, 5 megapixel, CMOS
15*44ade291SRob Herring  image sensors that deliver 2592x1944 at 30fps. It provides full-frame,
166b9ab6abSTommaso Merciai  sub-sampled, and windowed 10-bit MIPI images in various formats via the
176b9ab6abSTommaso Merciai  Serial Camera Control Bus (SCCB) interface.
186b9ab6abSTommaso Merciai
19*44ade291SRob Herring  OV5693/OV5695 are controlled via I2C and two-wire Serial Camera Control Bus
20*44ade291SRob Herring  (SCCB). The sensor output is available via CSI-2 serial data output (up to
21*44ade291SRob Herring  2-lane).
226b9ab6abSTommaso Merciai
236b9ab6abSTommaso MerciaiallOf:
246b9ab6abSTommaso Merciai  - $ref: /schemas/media/video-interface-devices.yaml#
25*44ade291SRob Herring  - if:
26*44ade291SRob Herring      properties:
27*44ade291SRob Herring        compatible:
28*44ade291SRob Herring          contains:
29*44ade291SRob Herring            const: ovti,ov5693
30*44ade291SRob Herring    then:
31*44ade291SRob Herring      properties:
32*44ade291SRob Herring        port:
33*44ade291SRob Herring          properties:
34*44ade291SRob Herring            endpoint:
35*44ade291SRob Herring              required:
36*44ade291SRob Herring                - link-frequencies
376b9ab6abSTommaso Merciai
386b9ab6abSTommaso Merciaiproperties:
396b9ab6abSTommaso Merciai  compatible:
40*44ade291SRob Herring    enum:
41*44ade291SRob Herring      - ovti,ov5693
42*44ade291SRob Herring      - ovti,ov5695
436b9ab6abSTommaso Merciai
446b9ab6abSTommaso Merciai  reg:
456b9ab6abSTommaso Merciai    maxItems: 1
466b9ab6abSTommaso Merciai
476b9ab6abSTommaso Merciai  clocks:
486b9ab6abSTommaso Merciai    description:
496b9ab6abSTommaso Merciai      System input clock (aka XVCLK). From 6 to 27 MHz.
506b9ab6abSTommaso Merciai    maxItems: 1
516b9ab6abSTommaso Merciai
52*44ade291SRob Herring  clock-names:
53*44ade291SRob Herring    const: xvclk
54*44ade291SRob Herring
556b9ab6abSTommaso Merciai  dovdd-supply:
566b9ab6abSTommaso Merciai    description:
576b9ab6abSTommaso Merciai      Digital I/O voltage supply, 1.8V.
586b9ab6abSTommaso Merciai
596b9ab6abSTommaso Merciai  avdd-supply:
606b9ab6abSTommaso Merciai    description:
616b9ab6abSTommaso Merciai      Analog voltage supply, 2.8V.
626b9ab6abSTommaso Merciai
636b9ab6abSTommaso Merciai  dvdd-supply:
646b9ab6abSTommaso Merciai    description:
656b9ab6abSTommaso Merciai      Digital core voltage supply, 1.2V.
666b9ab6abSTommaso Merciai
676b9ab6abSTommaso Merciai  reset-gpios:
686b9ab6abSTommaso Merciai    description:
696b9ab6abSTommaso Merciai      The phandle and specifier for the GPIO that controls sensor reset.
706b9ab6abSTommaso Merciai      This corresponds to the hardware pin XSHUTDN which is physically
716b9ab6abSTommaso Merciai      active low.
726b9ab6abSTommaso Merciai    maxItems: 1
736b9ab6abSTommaso Merciai
746b9ab6abSTommaso Merciai  port:
756b9ab6abSTommaso Merciai    description: MIPI CSI-2 transmitter port
766b9ab6abSTommaso Merciai    $ref: /schemas/graph.yaml#/$defs/port-base
776b9ab6abSTommaso Merciai    additionalProperties: false
786b9ab6abSTommaso Merciai
796b9ab6abSTommaso Merciai    properties:
806b9ab6abSTommaso Merciai      endpoint:
816b9ab6abSTommaso Merciai        $ref: /schemas/media/video-interfaces.yaml#
826b9ab6abSTommaso Merciai        unevaluatedProperties: false
836b9ab6abSTommaso Merciai
846b9ab6abSTommaso Merciai        properties:
856b9ab6abSTommaso Merciai          link-frequencies: true
866b9ab6abSTommaso Merciai
876b9ab6abSTommaso Merciai          data-lanes:
886b9ab6abSTommaso Merciai            minItems: 1
896b9ab6abSTommaso Merciai            maxItems: 2
906b9ab6abSTommaso Merciai
916b9ab6abSTommaso Merciai        required:
926b9ab6abSTommaso Merciai          - data-lanes
936b9ab6abSTommaso Merciai
946b9ab6abSTommaso Merciairequired:
956b9ab6abSTommaso Merciai  - compatible
966b9ab6abSTommaso Merciai  - reg
976b9ab6abSTommaso Merciai  - clocks
986b9ab6abSTommaso Merciai  - port
996b9ab6abSTommaso Merciai
1006b9ab6abSTommaso MerciaiunevaluatedProperties: false
1016b9ab6abSTommaso Merciai
1026b9ab6abSTommaso Merciaiexamples:
1036b9ab6abSTommaso Merciai  - |
1046b9ab6abSTommaso Merciai    #include <dt-bindings/clock/px30-cru.h>
1056b9ab6abSTommaso Merciai    #include <dt-bindings/gpio/gpio.h>
1066b9ab6abSTommaso Merciai    #include <dt-bindings/pinctrl/rockchip.h>
1076b9ab6abSTommaso Merciai
1086b9ab6abSTommaso Merciai    i2c {
1096b9ab6abSTommaso Merciai        #address-cells = <1>;
1106b9ab6abSTommaso Merciai        #size-cells = <0>;
1116b9ab6abSTommaso Merciai
1126b9ab6abSTommaso Merciai        ov5693: camera@36 {
1136b9ab6abSTommaso Merciai            compatible = "ovti,ov5693";
1146b9ab6abSTommaso Merciai            reg = <0x36>;
1156b9ab6abSTommaso Merciai
1166b9ab6abSTommaso Merciai            reset-gpios = <&gpio2 RK_PB1 GPIO_ACTIVE_LOW>;
1176b9ab6abSTommaso Merciai            pinctrl-names = "default";
1186b9ab6abSTommaso Merciai            pinctrl-0 = <&cif_clkout_m0>;
1196b9ab6abSTommaso Merciai
1206b9ab6abSTommaso Merciai            clocks = <&cru SCLK_CIF_OUT>;
1216b9ab6abSTommaso Merciai            assigned-clocks = <&cru SCLK_CIF_OUT>;
1226b9ab6abSTommaso Merciai            assigned-clock-rates = <19200000>;
1236b9ab6abSTommaso Merciai
1246b9ab6abSTommaso Merciai            avdd-supply = <&vcc_1v8>;
1256b9ab6abSTommaso Merciai            dvdd-supply = <&vcc_1v2>;
1266b9ab6abSTommaso Merciai            dovdd-supply = <&vcc_2v8>;
1276b9ab6abSTommaso Merciai
1286b9ab6abSTommaso Merciai            rotation = <90>;
1296b9ab6abSTommaso Merciai            orientation = <0>;
1306b9ab6abSTommaso Merciai
1316b9ab6abSTommaso Merciai            port {
1326b9ab6abSTommaso Merciai                ucam_out: endpoint {
1336b9ab6abSTommaso Merciai                    remote-endpoint = <&mipi_in_ucam>;
1346b9ab6abSTommaso Merciai                    data-lanes = <1 2>;
1356b9ab6abSTommaso Merciai                    link-frequencies = /bits/ 64 <450000000>;
1366b9ab6abSTommaso Merciai                };
1376b9ab6abSTommaso Merciai            };
1386b9ab6abSTommaso Merciai        };
1396b9ab6abSTommaso Merciai    };
1406b9ab6abSTommaso Merciai
1416b9ab6abSTommaso Merciai...
142