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