1Cadence MIPI-CSI2 TX controller 2=============================== 3 4The Cadence MIPI-CSI2 TX controller is a CSI-2 bridge supporting up to 54 CSI lanes in output, and up to 4 different pixel streams in input. 6 7Required properties: 8 - compatible: must be set to "cdns,csi2tx" 9 - reg: base address and size of the memory mapped region 10 - clocks: phandles to the clocks driving the controller 11 - clock-names: must contain: 12 * esc_clk: escape mode clock 13 * p_clk: register bank clock 14 * pixel_if[0-3]_clk: pixel stream output clock, one for each stream 15 implemented in hardware, between 0 and 3 16 17Optional properties 18 - phys: phandle to the D-PHY. If it is set, phy-names need to be set 19 - phy-names: must contain "dphy" 20 21Required subnodes: 22 - ports: A ports node with one port child node per device input and output 23 port, in accordance with the video interface bindings defined in 24 Documentation/devicetree/bindings/media/video-interfaces.txt. The 25 port nodes are numbered as follows. 26 27 Port Description 28 ----------------------------- 29 0 CSI-2 output 30 1 Stream 0 input 31 2 Stream 1 input 32 3 Stream 2 input 33 4 Stream 3 input 34 35 The stream input port nodes are optional if they are not 36 connected to anything at the hardware level or implemented 37 in the design. Since there is only one endpoint per port, 38 the endpoints are not numbered. 39 40Example: 41 42csi2tx: csi-bridge@0d0e1000 { 43 compatible = "cdns,csi2tx"; 44 reg = <0x0d0e1000 0x1000>; 45 clocks = <&byteclock>, <&byteclock>, 46 <&coreclock>, <&coreclock>, 47 <&coreclock>, <&coreclock>; 48 clock-names = "p_clk", "esc_clk", 49 "pixel_if0_clk", "pixel_if1_clk", 50 "pixel_if2_clk", "pixel_if3_clk"; 51 52 ports { 53 #address-cells = <1>; 54 #size-cells = <0>; 55 56 port@0 { 57 reg = <0>; 58 59 csi2tx_out: endpoint { 60 remote-endpoint = <&remote_in>; 61 clock-lanes = <0>; 62 data-lanes = <1 2>; 63 }; 64 }; 65 66 port@1 { 67 reg = <1>; 68 69 csi2tx_in_stream0: endpoint { 70 remote-endpoint = <&stream0_out>; 71 }; 72 }; 73 74 port@2 { 75 reg = <2>; 76 77 csi2tx_in_stream1: endpoint { 78 remote-endpoint = <&stream1_out>; 79 }; 80 }; 81 82 port@3 { 83 reg = <3>; 84 85 csi2tx_in_stream2: endpoint { 86 remote-endpoint = <&stream2_out>; 87 }; 88 }; 89 90 port@4 { 91 reg = <4>; 92 93 csi2tx_in_stream3: endpoint { 94 remote-endpoint = <&stream3_out>; 95 }; 96 }; 97 }; 98}; 99