1# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/media/i2c/sony,imx296.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Sony IMX296 1/2.8-Inch CMOS Image Sensor
8
9maintainers:
10  - Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
11  - Laurent Pinchart <laurent.pinchart@ideasonboard.com>
12
13description: |-
14  The Sony IMX296 is a 1/2.9-Inch active pixel type CMOS Solid-state image
15  sensor with square pixel array and 1.58 M effective pixels. This chip
16  features a global shutter with variable charge-integration time. It is
17  programmable through I2C and 4-wire interfaces. The sensor output is
18  available via CSI-2 serial data output (1 Lane).
19
20properties:
21  compatible:
22    enum:
23      - sony,imx296
24      - sony,imx296ll
25      - sony,imx296lq
26    description:
27      The IMX296 sensor exists in two different models, a colour variant
28      (IMX296LQ) and a monochrome variant (IMX296LL). The device exposes the
29      model through registers, allowing for auto-detection with a common
30      "sony,imx296" compatible string. However, some camera modules disable the
31      ability to read the sensor model register, which disables this feature.
32      In those cases, the exact model needs to be specified as "sony,imx296ll"
33      or "sony,imx296lq".
34
35  reg:
36    maxItems: 1
37
38  clocks:
39    maxItems: 1
40
41  clock-names:
42    description: Input clock (37.125 MHz, 54 MHz or 74.25 MHz)
43    items:
44      - const: inck
45
46  avdd-supply:
47    description: Analog power supply (3.3V)
48
49  dvdd-supply:
50    description: Digital power supply (1.2V)
51
52  ovdd-supply:
53    description: Interface power supply (1.8V)
54
55  reset-gpios:
56    description: Sensor reset (XCLR) GPIO
57    maxItems: 1
58
59  port:
60    $ref: /schemas/graph.yaml#/properties/port
61
62required:
63  - compatible
64  - reg
65  - clocks
66  - clock-names
67  - avdd-supply
68  - dvdd-supply
69  - ovdd-supply
70  - port
71
72additionalProperties: false
73
74examples:
75  - |
76    #include <dt-bindings/gpio/gpio.h>
77
78    i2c {
79        #address-cells = <1>;
80        #size-cells = <0>;
81
82        imx296: camera-sensor@1a {
83            compatible = "sony,imx296";
84            reg = <0x1a>;
85
86            pinctrl-names = "default";
87            pinctrl-0 = <&camera_rear_default>;
88
89            clocks = <&gcc 90>;
90            clock-names = "inck";
91
92            avdd-supply = <&camera_vdda_3v3>;
93            dvdd-supply = <&camera_vddd_1v2>;
94            ovdd-supply = <&camera_vddo_1v8>;
95
96            reset-gpios = <&msmgpio 35 GPIO_ACTIVE_LOW>;
97
98            port {
99                imx296_ep: endpoint {
100                    remote-endpoint = <&csiphy0_ep>;
101                };
102            };
103        };
104    };
105
106...
107