1 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
4 $id: http://devicetree.org/schemas/media/cdns,csi2rx.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
7 title: Cadence MIPI-CSI2 RX controller
10 - Maxime Ripard <mripard@kernel.org>
13 The Cadence MIPI-CSI2 RX controller is a CSI-2 bridge supporting up to 4 CSI
14 lanes in input, and 4 different pixel streams in output.
20 - starfive,jh7110-csi2rx
29 - description: CSI2Rx system clock
30 - description: Gated Register bank clock for APB interface
31 - description: pixel Clock for Stream interface 0
32 - description: pixel Clock for Stream interface 1
33 - description: pixel Clock for Stream interface 2
34 - description: pixel Clock for Stream interface 3
40 - const: pixel_if0_clk
41 - const: pixel_if1_clk
42 - const: pixel_if2_clk
43 - const: pixel_if3_clk
47 - description: CSI2Rx system reset
48 - description: Gated Register bank reset for APB interface
49 - description: pixel reset for Stream interface 0
50 - description: pixel reset for Stream interface 1
51 - description: pixel reset for Stream interface 2
52 - description: pixel reset for Stream interface 3
65 description: MIPI D-PHY
72 $ref: /schemas/graph.yaml#/properties/ports
76 $ref: /schemas/graph.yaml#/$defs/port-base
77 unevaluatedProperties: false
79 Input port node, single endpoint describing the CSI-2 transmitter.
83 $ref: video-interfaces.yaml#
84 unevaluatedProperties: false
103 $ref: /schemas/graph.yaml#/properties/port
105 Stream 0 Output port node
108 $ref: /schemas/graph.yaml#/properties/port
110 Stream 1 Output port node
113 $ref: /schemas/graph.yaml#/properties/port
115 Stream 2 Output port node
118 $ref: /schemas/graph.yaml#/properties/port
120 Stream 3 Output port node
132 additionalProperties: false
137 compatible = "starfive,jh7110-csi2rx", "cdns,csi2rx";
138 reg = <0x0d060000 0x1000>;
139 clocks = <&byteclock 7>, <&byteclock 6>,
140 <&coreclock 8>, <&coreclock 9>,
141 <&coreclock 10>, <&coreclock 11>;
142 clock-names = "sys_clk", "p_clk",
143 "pixel_if0_clk", "pixel_if1_clk",
144 "pixel_if2_clk", "pixel_if3_clk";
145 resets = <&bytereset 9>, <&bytereset 4>,
146 <&corereset 5>, <&corereset 6>,
147 <&corereset 7>, <&corereset 8>;
148 reset-names = "sys", "reg_bank",
149 "pixel_if0", "pixel_if1",
150 "pixel_if2", "pixel_if3";
155 #address-cells = <1>;
161 csi2rx_in_sensor: endpoint {
162 remote-endpoint = <&sensor_out_csi2rx>;
171 csi2rx_out_grabber0: endpoint {
172 remote-endpoint = <&grabber0_in_csi2rx>;
179 csi2rx_out_grabber1: endpoint {
180 remote-endpoint = <&grabber1_in_csi2rx>;
187 csi2rx_out_grabber2: endpoint {
188 remote-endpoint = <&grabber2_in_csi2rx>;
195 csi2rx_out_grabber3: endpoint {
196 remote-endpoint = <&grabber3_in_csi2rx>;