162306a36Sopenharmony_ci# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
262306a36Sopenharmony_ci# Copyright (C) 2021 Intel Corporation
362306a36Sopenharmony_ci%YAML 1.2
462306a36Sopenharmony_ci---
562306a36Sopenharmony_ci$id: http://devicetree.org/schemas/media/i2c/sony,imx412.yaml#
662306a36Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml#
762306a36Sopenharmony_ci
862306a36Sopenharmony_cititle: Sony IMX412 Sensor
962306a36Sopenharmony_ci
1062306a36Sopenharmony_cimaintainers:
1162306a36Sopenharmony_ci  - Paul J. Murphy <paul.j.murphy@intel.com>
1262306a36Sopenharmony_ci  - Daniele Alessandrelli <daniele.alessandrelli@intel.com>
1362306a36Sopenharmony_ci
1462306a36Sopenharmony_cidescription:
1562306a36Sopenharmony_ci  IMX412 sensor is a Sony CMOS active pixel digital image sensor with an active
1662306a36Sopenharmony_ci  array size of 4072H x 3176V. It is programmable through I2C interface. The
1762306a36Sopenharmony_ci  I2C client address is fixed to 0x1a as per sensor data sheet. Image data is
1862306a36Sopenharmony_ci  sent through MIPI CSI-2.
1962306a36Sopenharmony_ci
2062306a36Sopenharmony_ciproperties:
2162306a36Sopenharmony_ci  compatible:
2262306a36Sopenharmony_ci    enum:
2362306a36Sopenharmony_ci      - sony,imx412
2462306a36Sopenharmony_ci      - sony,imx577
2562306a36Sopenharmony_ci  reg:
2662306a36Sopenharmony_ci    description: I2C address
2762306a36Sopenharmony_ci    maxItems: 1
2862306a36Sopenharmony_ci
2962306a36Sopenharmony_ci  assigned-clocks: true
3062306a36Sopenharmony_ci  assigned-clock-parents: true
3162306a36Sopenharmony_ci  assigned-clock-rates: true
3262306a36Sopenharmony_ci
3362306a36Sopenharmony_ci  clocks:
3462306a36Sopenharmony_ci    description: Clock frequency 6MHz, 12MHz, 18MHz, 24MHz or 27MHz
3562306a36Sopenharmony_ci    maxItems: 1
3662306a36Sopenharmony_ci
3762306a36Sopenharmony_ci  dovdd-supply:
3862306a36Sopenharmony_ci    description: Interface power supply.
3962306a36Sopenharmony_ci
4062306a36Sopenharmony_ci  avdd-supply:
4162306a36Sopenharmony_ci    description: Analog power supply.
4262306a36Sopenharmony_ci
4362306a36Sopenharmony_ci  dvdd-supply:
4462306a36Sopenharmony_ci    description: Digital power supply.
4562306a36Sopenharmony_ci
4662306a36Sopenharmony_ci  reset-gpios:
4762306a36Sopenharmony_ci    description: Reference to the GPIO connected to the XCLR pin, if any.
4862306a36Sopenharmony_ci    maxItems: 1
4962306a36Sopenharmony_ci
5062306a36Sopenharmony_ci  port:
5162306a36Sopenharmony_ci    additionalProperties: false
5262306a36Sopenharmony_ci    $ref: /schemas/graph.yaml#/$defs/port-base
5362306a36Sopenharmony_ci
5462306a36Sopenharmony_ci    properties:
5562306a36Sopenharmony_ci      endpoint:
5662306a36Sopenharmony_ci        $ref: /schemas/media/video-interfaces.yaml#
5762306a36Sopenharmony_ci        unevaluatedProperties: false
5862306a36Sopenharmony_ci
5962306a36Sopenharmony_ci        properties:
6062306a36Sopenharmony_ci          data-lanes: true
6162306a36Sopenharmony_ci          link-frequencies: true
6262306a36Sopenharmony_ci
6362306a36Sopenharmony_ci        required:
6462306a36Sopenharmony_ci          - data-lanes
6562306a36Sopenharmony_ci          - link-frequencies
6662306a36Sopenharmony_ci
6762306a36Sopenharmony_ci    required:
6862306a36Sopenharmony_ci      - endpoint
6962306a36Sopenharmony_ci
7062306a36Sopenharmony_cirequired:
7162306a36Sopenharmony_ci  - compatible
7262306a36Sopenharmony_ci  - reg
7362306a36Sopenharmony_ci  - clocks
7462306a36Sopenharmony_ci  - port
7562306a36Sopenharmony_ci
7662306a36Sopenharmony_ciadditionalProperties: false
7762306a36Sopenharmony_ci
7862306a36Sopenharmony_ciexamples:
7962306a36Sopenharmony_ci  - |
8062306a36Sopenharmony_ci    i2c {
8162306a36Sopenharmony_ci        #address-cells = <1>;
8262306a36Sopenharmony_ci        #size-cells = <0>;
8362306a36Sopenharmony_ci
8462306a36Sopenharmony_ci        camera@1a {
8562306a36Sopenharmony_ci            compatible = "sony,imx412";
8662306a36Sopenharmony_ci            reg = <0x1a>;
8762306a36Sopenharmony_ci            clocks = <&imx412_clk>;
8862306a36Sopenharmony_ci
8962306a36Sopenharmony_ci            assigned-clocks = <&imx412_clk>;
9062306a36Sopenharmony_ci            assigned-clock-parents = <&imx412_clk_parent>;
9162306a36Sopenharmony_ci            assigned-clock-rates = <24000000>;
9262306a36Sopenharmony_ci
9362306a36Sopenharmony_ci            port {
9462306a36Sopenharmony_ci                imx412: endpoint {
9562306a36Sopenharmony_ci                    remote-endpoint = <&cam>;
9662306a36Sopenharmony_ci                    data-lanes = <1 2 3 4>;
9762306a36Sopenharmony_ci                    link-frequencies = /bits/ 64 <600000000>;
9862306a36Sopenharmony_ci                };
9962306a36Sopenharmony_ci            };
10062306a36Sopenharmony_ci        };
10162306a36Sopenharmony_ci    };
10262306a36Sopenharmony_ci...
103