xref: /freebsd-src/sys/contrib/device-tree/Bindings/media/i2c/isil,isl79987.yaml (revision c9ccf3a32da427475985b85d7df023ccfb138c27)
1*c9ccf3a3SEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2*c9ccf3a3SEmmanuel Vadot%YAML 1.2
3*c9ccf3a3SEmmanuel Vadot---
4*c9ccf3a3SEmmanuel Vadot$id: http://devicetree.org/schemas/media/i2c/isil,isl79987.yaml#
5*c9ccf3a3SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6*c9ccf3a3SEmmanuel Vadot
7*c9ccf3a3SEmmanuel Vadottitle: Intersil ISL79987 Analog to MIPI CSI-2 decoder
8*c9ccf3a3SEmmanuel Vadot
9*c9ccf3a3SEmmanuel Vadotmaintainers:
10*c9ccf3a3SEmmanuel Vadot  - Michael Tretter <m.tretter@pengutronix.de>
11*c9ccf3a3SEmmanuel Vadot  - Marek Vasut <marex@denx.de>
12*c9ccf3a3SEmmanuel Vadot
13*c9ccf3a3SEmmanuel Vadotdescription:
14*c9ccf3a3SEmmanuel Vadot  The Intersil ISL79987 is an analog to MIPI CSI-2 decoder which is capable of
15*c9ccf3a3SEmmanuel Vadot  receiving up to four analog stream and multiplexing them into up to four MIPI
16*c9ccf3a3SEmmanuel Vadot  CSI-2 virtual channels, using one MIPI clock lane and 1/2 data lanes.
17*c9ccf3a3SEmmanuel Vadot
18*c9ccf3a3SEmmanuel Vadotproperties:
19*c9ccf3a3SEmmanuel Vadot  compatible:
20*c9ccf3a3SEmmanuel Vadot    enum:
21*c9ccf3a3SEmmanuel Vadot      - isil,isl79987
22*c9ccf3a3SEmmanuel Vadot
23*c9ccf3a3SEmmanuel Vadot  reg:
24*c9ccf3a3SEmmanuel Vadot    maxItems: 1
25*c9ccf3a3SEmmanuel Vadot
26*c9ccf3a3SEmmanuel Vadot  reset-gpios:
27*c9ccf3a3SEmmanuel Vadot    maxItems: 1
28*c9ccf3a3SEmmanuel Vadot    description:
29*c9ccf3a3SEmmanuel Vadot      A GPIO spec for the RSTB pin (active high)
30*c9ccf3a3SEmmanuel Vadot
31*c9ccf3a3SEmmanuel Vadot  powerdown-gpios:
32*c9ccf3a3SEmmanuel Vadot    maxItems: 1
33*c9ccf3a3SEmmanuel Vadot    description:
34*c9ccf3a3SEmmanuel Vadot      A GPIO spec for the Power Down pin (active high)
35*c9ccf3a3SEmmanuel Vadot
36*c9ccf3a3SEmmanuel Vadot  ports:
37*c9ccf3a3SEmmanuel Vadot    $ref: /schemas/graph.yaml#/properties/ports
38*c9ccf3a3SEmmanuel Vadot    properties:
39*c9ccf3a3SEmmanuel Vadot      port@0:
40*c9ccf3a3SEmmanuel Vadot        $ref: /schemas/graph.yaml#/$defs/port-base
41*c9ccf3a3SEmmanuel Vadot        unevaluatedProperties: false
42*c9ccf3a3SEmmanuel Vadot        description: Output port
43*c9ccf3a3SEmmanuel Vadot
44*c9ccf3a3SEmmanuel Vadot        properties:
45*c9ccf3a3SEmmanuel Vadot          endpoint:
46*c9ccf3a3SEmmanuel Vadot            $ref: /schemas/media/video-interfaces.yaml#
47*c9ccf3a3SEmmanuel Vadot            unevaluatedProperties: false
48*c9ccf3a3SEmmanuel Vadot
49*c9ccf3a3SEmmanuel Vadot            properties:
50*c9ccf3a3SEmmanuel Vadot              data-lanes:
51*c9ccf3a3SEmmanuel Vadot                minItems: 1
52*c9ccf3a3SEmmanuel Vadot                maxItems: 2
53*c9ccf3a3SEmmanuel Vadot
54*c9ccf3a3SEmmanuel Vadot            required:
55*c9ccf3a3SEmmanuel Vadot              - data-lanes
56*c9ccf3a3SEmmanuel Vadot
57*c9ccf3a3SEmmanuel Vadot    patternProperties:
58*c9ccf3a3SEmmanuel Vadot      "^port@[1-4]$":
59*c9ccf3a3SEmmanuel Vadot        $ref: /schemas/graph.yaml#/properties/port
60*c9ccf3a3SEmmanuel Vadot        description: Input ports
61*c9ccf3a3SEmmanuel Vadot
62*c9ccf3a3SEmmanuel Vadot    required:
63*c9ccf3a3SEmmanuel Vadot      - port@0
64*c9ccf3a3SEmmanuel Vadot
65*c9ccf3a3SEmmanuel VadotadditionalProperties: false
66*c9ccf3a3SEmmanuel Vadot
67*c9ccf3a3SEmmanuel Vadotrequired:
68*c9ccf3a3SEmmanuel Vadot  - compatible
69*c9ccf3a3SEmmanuel Vadot  - reg
70*c9ccf3a3SEmmanuel Vadot  - ports
71*c9ccf3a3SEmmanuel Vadot
72*c9ccf3a3SEmmanuel Vadotexamples:
73*c9ccf3a3SEmmanuel Vadot  - |
74*c9ccf3a3SEmmanuel Vadot    #include <dt-bindings/gpio/gpio.h>
75*c9ccf3a3SEmmanuel Vadot
76*c9ccf3a3SEmmanuel Vadot    i2c {
77*c9ccf3a3SEmmanuel Vadot      #address-cells = <1>;
78*c9ccf3a3SEmmanuel Vadot      #size-cells = <0>;
79*c9ccf3a3SEmmanuel Vadot
80*c9ccf3a3SEmmanuel Vadot      isl7998x_mipi@44 {
81*c9ccf3a3SEmmanuel Vadot        compatible = "isil,isl79987";
82*c9ccf3a3SEmmanuel Vadot        reg = <0x44>;
83*c9ccf3a3SEmmanuel Vadot        powerdown-gpios = <&gpio3 27 GPIO_ACTIVE_HIGH>;
84*c9ccf3a3SEmmanuel Vadot        reset-gpios = <&gpio3 28 GPIO_ACTIVE_HIGH>;
85*c9ccf3a3SEmmanuel Vadot
86*c9ccf3a3SEmmanuel Vadot        ports {
87*c9ccf3a3SEmmanuel Vadot          #address-cells = <1>;
88*c9ccf3a3SEmmanuel Vadot          #size-cells = <0>;
89*c9ccf3a3SEmmanuel Vadot
90*c9ccf3a3SEmmanuel Vadot          port@0 {
91*c9ccf3a3SEmmanuel Vadot            reg = <0>;
92*c9ccf3a3SEmmanuel Vadot            isl79987_out: endpoint {
93*c9ccf3a3SEmmanuel Vadot              remote-endpoint = <&mipi_csi2_in>;
94*c9ccf3a3SEmmanuel Vadot              data-lanes = <1 2>;
95*c9ccf3a3SEmmanuel Vadot            };
96*c9ccf3a3SEmmanuel Vadot          };
97*c9ccf3a3SEmmanuel Vadot
98*c9ccf3a3SEmmanuel Vadot          port@1 {
99*c9ccf3a3SEmmanuel Vadot            reg = <1>;
100*c9ccf3a3SEmmanuel Vadot            endpoint {
101*c9ccf3a3SEmmanuel Vadot              remote-endpoint = <&camera_0>;
102*c9ccf3a3SEmmanuel Vadot            };
103*c9ccf3a3SEmmanuel Vadot          };
104*c9ccf3a3SEmmanuel Vadot
105*c9ccf3a3SEmmanuel Vadot          port@2 {
106*c9ccf3a3SEmmanuel Vadot            reg = <2>;
107*c9ccf3a3SEmmanuel Vadot            endpoint {
108*c9ccf3a3SEmmanuel Vadot              remote-endpoint = <&camera_1>;
109*c9ccf3a3SEmmanuel Vadot            };
110*c9ccf3a3SEmmanuel Vadot          };
111*c9ccf3a3SEmmanuel Vadot        };
112*c9ccf3a3SEmmanuel Vadot      };
113*c9ccf3a3SEmmanuel Vadot    };
114