100 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			100 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
Cadence MIPI-CSI2 TX controller
 | 
						|
===============================
 | 
						|
 | 
						|
The Cadence MIPI-CSI2 TX controller is a CSI-2 bridge supporting up to
 | 
						|
4 CSI lanes in output, and up to 4 different pixel streams in input.
 | 
						|
 | 
						|
Required properties:
 | 
						|
  - compatible: must be set to "cdns,csi2tx" or "cdns,csi2tx-1.3"
 | 
						|
    for version 1.3 of the controller, "cdns,csi2tx-2.1" for v2.1
 | 
						|
  - reg: base address and size of the memory mapped region
 | 
						|
  - clocks: phandles to the clocks driving the controller
 | 
						|
  - clock-names: must contain:
 | 
						|
    * esc_clk: escape mode clock
 | 
						|
    * p_clk: register bank clock
 | 
						|
    * pixel_if[0-3]_clk: pixel stream output clock, one for each stream
 | 
						|
                         implemented in hardware, between 0 and 3
 | 
						|
 | 
						|
Optional properties
 | 
						|
  - phys: phandle to the D-PHY. If it is set, phy-names need to be set
 | 
						|
  - phy-names: must contain "dphy"
 | 
						|
 | 
						|
Required subnodes:
 | 
						|
  - ports: A ports node with one port child node per device input and output
 | 
						|
           port, in accordance with the video interface bindings defined in
 | 
						|
           Documentation/devicetree/bindings/media/video-interfaces.txt. The
 | 
						|
           port nodes are numbered as follows.
 | 
						|
 | 
						|
           Port Description
 | 
						|
           -----------------------------
 | 
						|
           0    CSI-2 output
 | 
						|
           1    Stream 0 input
 | 
						|
           2    Stream 1 input
 | 
						|
           3    Stream 2 input
 | 
						|
           4    Stream 3 input
 | 
						|
 | 
						|
           The stream input port nodes are optional if they are not
 | 
						|
           connected to anything at the hardware level or implemented
 | 
						|
           in the design. Since there is only one endpoint per port,
 | 
						|
           the endpoints are not numbered.
 | 
						|
 | 
						|
Example:
 | 
						|
 | 
						|
csi2tx: csi-bridge@0d0e1000 {
 | 
						|
	compatible = "cdns,csi2tx";
 | 
						|
	reg = <0x0d0e1000 0x1000>;
 | 
						|
	clocks = <&byteclock>, <&byteclock>,
 | 
						|
		 <&coreclock>, <&coreclock>,
 | 
						|
		 <&coreclock>, <&coreclock>;
 | 
						|
	clock-names = "p_clk", "esc_clk",
 | 
						|
		      "pixel_if0_clk", "pixel_if1_clk",
 | 
						|
		      "pixel_if2_clk", "pixel_if3_clk";
 | 
						|
 | 
						|
	ports {
 | 
						|
		#address-cells = <1>;
 | 
						|
		#size-cells = <0>;
 | 
						|
 | 
						|
		port@0 {
 | 
						|
			reg = <0>;
 | 
						|
 | 
						|
			csi2tx_out: endpoint {
 | 
						|
				remote-endpoint = <&remote_in>;
 | 
						|
				clock-lanes = <0>;
 | 
						|
				data-lanes = <1 2>;
 | 
						|
			};
 | 
						|
		};
 | 
						|
 | 
						|
		port@1 {
 | 
						|
			reg = <1>;
 | 
						|
 | 
						|
			csi2tx_in_stream0: endpoint {
 | 
						|
				remote-endpoint = <&stream0_out>;
 | 
						|
			};
 | 
						|
		};
 | 
						|
 | 
						|
		port@2 {
 | 
						|
			reg = <2>;
 | 
						|
 | 
						|
			csi2tx_in_stream1: endpoint {
 | 
						|
				remote-endpoint = <&stream1_out>;
 | 
						|
			};
 | 
						|
		};
 | 
						|
 | 
						|
		port@3 {
 | 
						|
			reg = <3>;
 | 
						|
 | 
						|
			csi2tx_in_stream2: endpoint {
 | 
						|
				remote-endpoint = <&stream2_out>;
 | 
						|
			};
 | 
						|
		};
 | 
						|
 | 
						|
		port@4 {
 | 
						|
			reg = <4>;
 | 
						|
 | 
						|
			csi2tx_in_stream3: endpoint {
 | 
						|
				remote-endpoint = <&stream3_out>;
 | 
						|
			};
 | 
						|
		};
 | 
						|
	};
 | 
						|
};
 |