xref: /openbmc/linux/Documentation/devicetree/bindings/media/allwinner,sun6i-a31-mipi-csi2.yaml (revision 4f2c0a4acffbec01079c28f839422e64ddeff004)
1787d6946SPaul Kocialkowski# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2787d6946SPaul Kocialkowski%YAML 1.2
3787d6946SPaul Kocialkowski---
4787d6946SPaul Kocialkowski$id: http://devicetree.org/schemas/media/allwinner,sun6i-a31-mipi-csi2.yaml#
5787d6946SPaul Kocialkowski$schema: http://devicetree.org/meta-schemas/core.yaml#
6787d6946SPaul Kocialkowski
7*dd3cb467SAndrew Lunntitle: Allwinner A31 MIPI CSI-2
8787d6946SPaul Kocialkowski
9787d6946SPaul Kocialkowskimaintainers:
10787d6946SPaul Kocialkowski  - Paul Kocialkowski <paul.kocialkowski@bootlin.com>
11787d6946SPaul Kocialkowski
12787d6946SPaul Kocialkowskiproperties:
13787d6946SPaul Kocialkowski  compatible:
14787d6946SPaul Kocialkowski    oneOf:
15787d6946SPaul Kocialkowski      - const: allwinner,sun6i-a31-mipi-csi2
16787d6946SPaul Kocialkowski      - items:
17787d6946SPaul Kocialkowski          - const: allwinner,sun8i-v3s-mipi-csi2
18787d6946SPaul Kocialkowski          - const: allwinner,sun6i-a31-mipi-csi2
19787d6946SPaul Kocialkowski
20787d6946SPaul Kocialkowski  reg:
21787d6946SPaul Kocialkowski    maxItems: 1
22787d6946SPaul Kocialkowski
23787d6946SPaul Kocialkowski  interrupts:
24787d6946SPaul Kocialkowski    maxItems: 1
25787d6946SPaul Kocialkowski
26787d6946SPaul Kocialkowski  clocks:
27787d6946SPaul Kocialkowski    items:
28787d6946SPaul Kocialkowski      - description: Bus Clock
29787d6946SPaul Kocialkowski      - description: Module Clock
30787d6946SPaul Kocialkowski
31787d6946SPaul Kocialkowski  clock-names:
32787d6946SPaul Kocialkowski    items:
33787d6946SPaul Kocialkowski      - const: bus
34787d6946SPaul Kocialkowski      - const: mod
35787d6946SPaul Kocialkowski
36787d6946SPaul Kocialkowski  phys:
37787d6946SPaul Kocialkowski    maxItems: 1
38787d6946SPaul Kocialkowski    description: MIPI D-PHY
39787d6946SPaul Kocialkowski
40787d6946SPaul Kocialkowski  phy-names:
41787d6946SPaul Kocialkowski    items:
42787d6946SPaul Kocialkowski      - const: dphy
43787d6946SPaul Kocialkowski
44787d6946SPaul Kocialkowski  resets:
45787d6946SPaul Kocialkowski    maxItems: 1
46787d6946SPaul Kocialkowski
47787d6946SPaul Kocialkowski  ports:
48787d6946SPaul Kocialkowski    $ref: /schemas/graph.yaml#/properties/ports
49787d6946SPaul Kocialkowski
50787d6946SPaul Kocialkowski    properties:
51787d6946SPaul Kocialkowski      port@0:
52787d6946SPaul Kocialkowski        $ref: /schemas/graph.yaml#/$defs/port-base
53787d6946SPaul Kocialkowski        description: Input port, connect to a MIPI CSI-2 sensor
54787d6946SPaul Kocialkowski
55787d6946SPaul Kocialkowski        properties:
56787d6946SPaul Kocialkowski          reg:
57787d6946SPaul Kocialkowski            const: 0
58787d6946SPaul Kocialkowski
59787d6946SPaul Kocialkowski          endpoint:
60787d6946SPaul Kocialkowski            $ref: video-interfaces.yaml#
61787d6946SPaul Kocialkowski            unevaluatedProperties: false
62787d6946SPaul Kocialkowski
63787d6946SPaul Kocialkowski            properties:
64787d6946SPaul Kocialkowski              data-lanes:
65787d6946SPaul Kocialkowski                minItems: 1
66787d6946SPaul Kocialkowski                maxItems: 4
67787d6946SPaul Kocialkowski
68787d6946SPaul Kocialkowski            required:
69787d6946SPaul Kocialkowski              - data-lanes
70787d6946SPaul Kocialkowski
71787d6946SPaul Kocialkowski        unevaluatedProperties: false
72787d6946SPaul Kocialkowski
73787d6946SPaul Kocialkowski      port@1:
74787d6946SPaul Kocialkowski        $ref: /schemas/graph.yaml#/properties/port
75787d6946SPaul Kocialkowski        description: Output port, connect to a CSI controller
76787d6946SPaul Kocialkowski
77787d6946SPaul Kocialkowski    required:
78787d6946SPaul Kocialkowski      - port@0
79787d6946SPaul Kocialkowski      - port@1
80787d6946SPaul Kocialkowski
81787d6946SPaul Kocialkowskirequired:
82787d6946SPaul Kocialkowski  - compatible
83787d6946SPaul Kocialkowski  - reg
84787d6946SPaul Kocialkowski  - interrupts
85787d6946SPaul Kocialkowski  - clocks
86787d6946SPaul Kocialkowski  - clock-names
87787d6946SPaul Kocialkowski  - phys
88787d6946SPaul Kocialkowski  - phy-names
89787d6946SPaul Kocialkowski  - resets
90787d6946SPaul Kocialkowski  - ports
91787d6946SPaul Kocialkowski
92787d6946SPaul KocialkowskiadditionalProperties: false
93787d6946SPaul Kocialkowski
94787d6946SPaul Kocialkowskiexamples:
95787d6946SPaul Kocialkowski  - |
96787d6946SPaul Kocialkowski    #include <dt-bindings/interrupt-controller/arm-gic.h>
97787d6946SPaul Kocialkowski    #include <dt-bindings/clock/sun8i-v3s-ccu.h>
98787d6946SPaul Kocialkowski    #include <dt-bindings/reset/sun8i-v3s-ccu.h>
99787d6946SPaul Kocialkowski
100787d6946SPaul Kocialkowski    mipi_csi2: csi@1cb1000 {
101787d6946SPaul Kocialkowski        compatible = "allwinner,sun8i-v3s-mipi-csi2",
102787d6946SPaul Kocialkowski                     "allwinner,sun6i-a31-mipi-csi2";
103787d6946SPaul Kocialkowski        reg = <0x01cb1000 0x1000>;
104787d6946SPaul Kocialkowski        interrupts = <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>;
105787d6946SPaul Kocialkowski        clocks = <&ccu CLK_BUS_CSI>,
106787d6946SPaul Kocialkowski                 <&ccu CLK_CSI1_SCLK>;
107787d6946SPaul Kocialkowski        clock-names = "bus", "mod";
108787d6946SPaul Kocialkowski        resets = <&ccu RST_BUS_CSI>;
109787d6946SPaul Kocialkowski
110787d6946SPaul Kocialkowski        phys = <&dphy>;
111787d6946SPaul Kocialkowski        phy-names = "dphy";
112787d6946SPaul Kocialkowski
113787d6946SPaul Kocialkowski        ports {
114787d6946SPaul Kocialkowski            #address-cells = <1>;
115787d6946SPaul Kocialkowski            #size-cells = <0>;
116787d6946SPaul Kocialkowski
117787d6946SPaul Kocialkowski            mipi_csi2_in: port@0 {
118787d6946SPaul Kocialkowski                reg = <0>;
119787d6946SPaul Kocialkowski
120787d6946SPaul Kocialkowski                mipi_csi2_in_ov5648: endpoint {
121787d6946SPaul Kocialkowski                    data-lanes = <1 2 3 4>;
122787d6946SPaul Kocialkowski
123787d6946SPaul Kocialkowski                    remote-endpoint = <&ov5648_out_mipi_csi2>;
124787d6946SPaul Kocialkowski                };
125787d6946SPaul Kocialkowski            };
126787d6946SPaul Kocialkowski
127787d6946SPaul Kocialkowski            mipi_csi2_out: port@1 {
128787d6946SPaul Kocialkowski                reg = <1>;
129787d6946SPaul Kocialkowski
130787d6946SPaul Kocialkowski                mipi_csi2_out_csi0: endpoint {
131787d6946SPaul Kocialkowski                    remote-endpoint = <&csi0_in_mipi_csi2>;
132787d6946SPaul Kocialkowski                };
133787d6946SPaul Kocialkowski            };
134787d6946SPaul Kocialkowski        };
135787d6946SPaul Kocialkowski    };
136787d6946SPaul Kocialkowski
137787d6946SPaul Kocialkowski...
138