Linux 6.7-rc7
[linux-modified.git] / Documentation / devicetree / bindings / media / i2c / hynix,hi846.yaml
1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2 %YAML 1.2
3 ---
4 $id: http://devicetree.org/schemas/media/i2c/hynix,hi846.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
6
7 title: SK Hynix Hi-846 1/4" 8M Pixel MIPI CSI-2 sensor
8
9 maintainers:
10   - Martin Kepplinger <martin.kepplinger@puri.sm>
11
12 description: |-
13   The Hi-846 is a raw image sensor with an MIPI CSI-2 image data
14   interface and CCI (I2C compatible) control bus. The output format
15   is raw Bayer.
16
17 allOf:
18   - $ref: /schemas/media/video-interface-devices.yaml#
19
20 properties:
21   compatible:
22     const: hynix,hi846
23
24   reg:
25     maxItems: 1
26
27   clocks:
28     items:
29       - description: Reference to the mclk clock.
30
31   assigned-clocks:
32     maxItems: 1
33
34   assigned-clock-rates:
35     maxItems: 1
36
37   reset-gpios:
38     description: Reference to the GPIO connected to the RESETB pin. Active low.
39     maxItems: 1
40
41   shutdown-gpios:
42     description: Reference to the GPIO connected to the XSHUTDOWN pin. Active low.
43     maxItems: 1
44
45   vddio-supply:
46     description: Definition of the regulator used for the VDDIO power supply.
47
48   vdda-supply:
49     description: Definition of the regulator used for the VDDA power supply.
50
51   vddd-supply:
52     description: Definition of the regulator used for the VDDD power supply.
53
54   port:
55     $ref: /schemas/graph.yaml#/$defs/port-base
56     unevaluatedProperties: false
57
58     properties:
59       endpoint:
60         $ref: /schemas/media/video-interfaces.yaml#
61         unevaluatedProperties: false
62
63         properties:
64           data-lanes:
65             oneOf:
66               - items:
67                   - const: 1
68                   - const: 2
69                   - const: 3
70                   - const: 4
71               - items:
72                   - const: 1
73                   - const: 2
74
75           link-frequencies: true
76
77         required:
78           - data-lanes
79           - link-frequencies
80
81 required:
82   - compatible
83   - reg
84   - clocks
85   - assigned-clocks
86   - assigned-clock-rates
87   - vddio-supply
88   - vdda-supply
89   - vddd-supply
90   - port
91
92 unevaluatedProperties: false
93
94 examples:
95   - |
96     #include <dt-bindings/gpio/gpio.h>
97
98     i2c {
99         #address-cells = <1>;
100         #size-cells = <0>;
101
102         hi846: camera@20 {
103             compatible = "hynix,hi846";
104             reg = <0x20>;
105             pinctrl-names = "default";
106             pinctrl-0 = <&pinctrl_csi1>;
107             clocks = <&clk 0>;
108             assigned-clocks = <&clk 0>;
109             assigned-clock-rates = <25000000>;
110             vdda-supply = <&reg_camera_vdda>;
111             vddd-supply = <&reg_camera_vddd>;
112             vddio-supply = <&reg_camera_vddio>;
113             reset-gpios = <&gpio1 25 GPIO_ACTIVE_LOW>;
114             shutdown-gpios = <&gpio5 4 GPIO_ACTIVE_LOW>;
115             orientation = <0>;
116             rotation = <0>;
117
118             port {
119                 camera_out: endpoint {
120                     remote-endpoint = <&csi1_ep1>;
121                     link-frequencies = /bits/ 64
122                         <80000000 200000000>;
123                     data-lanes = <1 2>;
124                 };
125             };
126         };
127     };
128
129 ...