xref: /freebsd-src/sys/contrib/device-tree/Bindings/media/i2c/onnn,ar0521.yaml (revision b97ee269eae3cbaf35c18f51a459aea581c2a7dc)
1*b97ee269SEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2*b97ee269SEmmanuel Vadot%YAML 1.2
3*b97ee269SEmmanuel Vadot---
4*b97ee269SEmmanuel Vadot$id: http://devicetree.org/schemas/media/i2c/onnn,ar0521.yaml#
5*b97ee269SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6*b97ee269SEmmanuel Vadot
7*b97ee269SEmmanuel Vadottitle: ON Semiconductor AR0521 MIPI CSI-2 sensor
8*b97ee269SEmmanuel Vadot
9*b97ee269SEmmanuel Vadotmaintainers:
10*b97ee269SEmmanuel Vadot  - Krzysztof Hałasa <khalasa@piap.pl>
11*b97ee269SEmmanuel Vadot
12*b97ee269SEmmanuel Vadotdescription: |-
13*b97ee269SEmmanuel Vadot  The AR0521 is a raw CMOS image sensor with MIPI CSI-2 and
14*b97ee269SEmmanuel Vadot  I2C-compatible control interface.
15*b97ee269SEmmanuel Vadot
16*b97ee269SEmmanuel Vadotproperties:
17*b97ee269SEmmanuel Vadot  compatible:
18*b97ee269SEmmanuel Vadot    const: onnn,ar0521
19*b97ee269SEmmanuel Vadot
20*b97ee269SEmmanuel Vadot  reg:
21*b97ee269SEmmanuel Vadot    maxItems: 1
22*b97ee269SEmmanuel Vadot
23*b97ee269SEmmanuel Vadot  clocks:
24*b97ee269SEmmanuel Vadot    maxItems: 1
25*b97ee269SEmmanuel Vadot
26*b97ee269SEmmanuel Vadot  clock-names:
27*b97ee269SEmmanuel Vadot    const: extclk
28*b97ee269SEmmanuel Vadot
29*b97ee269SEmmanuel Vadot  vaa-supply:
30*b97ee269SEmmanuel Vadot    description:
31*b97ee269SEmmanuel Vadot      Definition of the regulator used as analog (2.7 V) voltage supply.
32*b97ee269SEmmanuel Vadot
33*b97ee269SEmmanuel Vadot  vdd-supply:
34*b97ee269SEmmanuel Vadot    description:
35*b97ee269SEmmanuel Vadot      Definition of the regulator used as digital core (1.2 V) voltage supply.
36*b97ee269SEmmanuel Vadot
37*b97ee269SEmmanuel Vadot  vdd_io-supply:
38*b97ee269SEmmanuel Vadot    description:
39*b97ee269SEmmanuel Vadot      Definition of the regulator used as digital I/O (1.8 V) voltage supply.
40*b97ee269SEmmanuel Vadot
41*b97ee269SEmmanuel Vadot  reset-gpios:
42*b97ee269SEmmanuel Vadot    description: reset GPIO, usually active low
43*b97ee269SEmmanuel Vadot    maxItems: 1
44*b97ee269SEmmanuel Vadot
45*b97ee269SEmmanuel Vadot  port:
46*b97ee269SEmmanuel Vadot    $ref: /schemas/graph.yaml#/$defs/port-base
47*b97ee269SEmmanuel Vadot    unevaluatedProperties: false
48*b97ee269SEmmanuel Vadot    description: |
49*b97ee269SEmmanuel Vadot      Video output port.
50*b97ee269SEmmanuel Vadot
51*b97ee269SEmmanuel Vadot    properties:
52*b97ee269SEmmanuel Vadot      endpoint:
53*b97ee269SEmmanuel Vadot        $ref: /schemas/media/video-interfaces.yaml#
54*b97ee269SEmmanuel Vadot        unevaluatedProperties: false
55*b97ee269SEmmanuel Vadot
56*b97ee269SEmmanuel Vadot        properties:
57*b97ee269SEmmanuel Vadot          bus-type:
58*b97ee269SEmmanuel Vadot            const: 4
59*b97ee269SEmmanuel Vadot          data-lanes:
60*b97ee269SEmmanuel Vadot            anyOf:
61*b97ee269SEmmanuel Vadot              - items:
62*b97ee269SEmmanuel Vadot                  - const: 1
63*b97ee269SEmmanuel Vadot              - items:
64*b97ee269SEmmanuel Vadot                  - const: 1
65*b97ee269SEmmanuel Vadot                  - const: 2
66*b97ee269SEmmanuel Vadot              - items:
67*b97ee269SEmmanuel Vadot                  - const: 1
68*b97ee269SEmmanuel Vadot                  - const: 2
69*b97ee269SEmmanuel Vadot                  - const: 3
70*b97ee269SEmmanuel Vadot                  - const: 4
71*b97ee269SEmmanuel Vadot
72*b97ee269SEmmanuel Vadotrequired:
73*b97ee269SEmmanuel Vadot  - compatible
74*b97ee269SEmmanuel Vadot  - reg
75*b97ee269SEmmanuel Vadot  - clocks
76*b97ee269SEmmanuel Vadot  - clock-names
77*b97ee269SEmmanuel Vadot  - vaa-supply
78*b97ee269SEmmanuel Vadot  - vdd-supply
79*b97ee269SEmmanuel Vadot  - vdd_io-supply
80*b97ee269SEmmanuel Vadot  - port
81*b97ee269SEmmanuel Vadot
82*b97ee269SEmmanuel VadotadditionalProperties: false
83*b97ee269SEmmanuel Vadot
84*b97ee269SEmmanuel Vadotexamples:
85*b97ee269SEmmanuel Vadot  - |
86*b97ee269SEmmanuel Vadot    #include <dt-bindings/gpio/gpio.h>
87*b97ee269SEmmanuel Vadot    #include <dt-bindings/clock/imx6qdl-clock.h>
88*b97ee269SEmmanuel Vadot
89*b97ee269SEmmanuel Vadot    i2c {
90*b97ee269SEmmanuel Vadot            #address-cells = <1>;
91*b97ee269SEmmanuel Vadot            #size-cells = <0>;
92*b97ee269SEmmanuel Vadot
93*b97ee269SEmmanuel Vadot            ar0521: camera-sensor@36 {
94*b97ee269SEmmanuel Vadot                    compatible = "onnn,ar0521";
95*b97ee269SEmmanuel Vadot                    reg = <0x36>;
96*b97ee269SEmmanuel Vadot                    pinctrl-names = "default";
97*b97ee269SEmmanuel Vadot                    pinctrl-0 = <&pinctrl_mipi_camera>;
98*b97ee269SEmmanuel Vadot                    clocks = <&clks IMX6QDL_CLK_CKO>;
99*b97ee269SEmmanuel Vadot                    clock-names = "extclk";
100*b97ee269SEmmanuel Vadot                    reset-gpios = <&gpio1 7 GPIO_ACTIVE_LOW>;
101*b97ee269SEmmanuel Vadot                    vaa-supply = <&reg_2p7v>;
102*b97ee269SEmmanuel Vadot                    vdd-supply = <&reg_1p2v>;
103*b97ee269SEmmanuel Vadot                    vdd_io-supply = <&reg_1p8v>;
104*b97ee269SEmmanuel Vadot
105*b97ee269SEmmanuel Vadot                    port {
106*b97ee269SEmmanuel Vadot                           mipi_camera_to_mipi_csi2: endpoint {
107*b97ee269SEmmanuel Vadot                                    remote-endpoint = <&mipi_csi2_in>;
108*b97ee269SEmmanuel Vadot                                    data-lanes = <1 2 3 4>;
109*b97ee269SEmmanuel Vadot                            };
110*b97ee269SEmmanuel Vadot                    };
111*b97ee269SEmmanuel Vadot            };
112*b97ee269SEmmanuel Vadot    };
113