Commit 2ba8f21a authored by Vaishnav Achath's avatar Vaishnav Achath Committed by Vignesh Raghavendra
Browse files

arm64: dts: ti: k3-j784s4-main: Add CSI2RX capture nodes

J784S4 has three CSI2RX capture subsystem featuring Cadence CSI2RX,
DPHY and TI's pixel grabbing wrapper. Add nodes for the same and
keep them disabled by default. J784S4 uses a dedicated BCDMA instance
for CSI-RX traffic, so enable that as well.

J784S4 TRM (Section 12.7 Camera Subsystem):
	https://www.ti.com/lit/zip/spruj52



Signed-off-by: default avatarVaishnav Achath <vaishnav.a@ti.com>
Reviewed-by: default avatarJai Luthra <j-luthra@ti.com>
Link: https://lore.kernel.org/r/20240215085518.552692-9-vaishnav.a@ti.com


Signed-off-by: default avatarVignesh Raghavendra <vigneshr@ti.com>
parent 6aac9199
Loading
Loading
Loading
Loading
+182 −1
Original line number Diff line number Diff line
@@ -662,6 +662,188 @@ main_i2c6: i2c@2060000 {
		status = "disabled";
	};

	ti_csi2rx0: ticsi2rx@4500000 {
		compatible = "ti,j721e-csi2rx-shim";
		reg = <0x00 0x04500000 0x00 0x00001000>;
		ranges;
		#address-cells = <2>;
		#size-cells = <2>;
		dmas = <&main_bcdma_csi 0 0x4940 0>;
		dma-names = "rx0";
		power-domains = <&k3_pds 72 TI_SCI_PD_EXCLUSIVE>;
		status = "disabled";

		cdns_csi2rx0: csi-bridge@4504000 {
			compatible = "ti,j721e-csi2rx", "cdns,csi2rx";
			reg = <0x00 0x04504000 0x00 0x00001000>;
			clocks = <&k3_clks 72 2>, <&k3_clks 72 0>, <&k3_clks 72 2>,
				<&k3_clks 72 2>, <&k3_clks 72 3>, <&k3_clks 72 3>;
			clock-names = "sys_clk", "p_clk", "pixel_if0_clk",
				"pixel_if1_clk", "pixel_if2_clk", "pixel_if3_clk";
			phys = <&dphy0>;
			phy-names = "dphy";

			ports {
				#address-cells = <1>;
				#size-cells = <0>;

				csi0_port0: port@0 {
					reg = <0>;
					status = "disabled";
				};

				csi0_port1: port@1 {
					reg = <1>;
					status = "disabled";
				};

				csi0_port2: port@2 {
					reg = <2>;
					status = "disabled";
				};

				csi0_port3: port@3 {
					reg = <3>;
					status = "disabled";
				};

				csi0_port4: port@4 {
					reg = <4>;
					status = "disabled";
				};
			};
		};
	};

	ti_csi2rx1: ticsi2rx@4510000 {
		compatible = "ti,j721e-csi2rx-shim";
		reg = <0x00 0x04510000 0x00 0x1000>;
		ranges;
		#address-cells = <2>;
		#size-cells = <2>;
		dmas = <&main_bcdma_csi 0 0x4960 0>;
		dma-names = "rx0";
		power-domains = <&k3_pds 73 TI_SCI_PD_EXCLUSIVE>;
		status = "disabled";

		cdns_csi2rx1: csi-bridge@4514000 {
			compatible = "ti,j721e-csi2rx", "cdns,csi2rx";
			reg = <0x00 0x04514000 0x00 0x00001000>;
			clocks = <&k3_clks 73 2>, <&k3_clks 73 0>, <&k3_clks 73 2>,
				<&k3_clks 73 2>, <&k3_clks 73 3>, <&k3_clks 73 3>;
			clock-names = "sys_clk", "p_clk", "pixel_if0_clk",
				"pixel_if1_clk", "pixel_if2_clk", "pixel_if3_clk";
			phys = <&dphy1>;
			phy-names = "dphy";
			ports {
				#address-cells = <1>;
				#size-cells = <0>;

				csi1_port0: port@0 {
					reg = <0>;
					status = "disabled";
				};

				csi1_port1: port@1 {
					reg = <1>;
					status = "disabled";
				};

				csi1_port2: port@2 {
					reg = <2>;
					status = "disabled";
				};

				csi1_port3: port@3 {
					reg = <3>;
					status = "disabled";
				};

				csi1_port4: port@4 {
					reg = <4>;
					status = "disabled";
				};
			};
		};
	};

	ti_csi2rx2: ticsi2rx@4520000 {
		compatible = "ti,j721e-csi2rx-shim";
		reg = <0x00 0x04520000 0x00 0x00001000>;
		ranges;
		#address-cells = <2>;
		#size-cells = <2>;
		dmas = <&main_bcdma_csi 0 0x4980 0>;
		dma-names = "rx0";
		power-domains = <&k3_pds 74 TI_SCI_PD_EXCLUSIVE>;
		status = "disabled";

		cdns_csi2rx2: csi-bridge@4524000 {
			compatible = "ti,j721e-csi2rx", "cdns,csi2rx";
			reg = <0x00 0x04524000 0x00 0x00001000>;
			clocks = <&k3_clks 74 2>, <&k3_clks 74 0>, <&k3_clks 74 2>,
				<&k3_clks 74 2>, <&k3_clks 74 3>, <&k3_clks 74 3>;
			clock-names = "sys_clk", "p_clk", "pixel_if0_clk",
				"pixel_if1_clk", "pixel_if2_clk", "pixel_if3_clk";
			phys = <&dphy2>;
			phy-names = "dphy";

			ports {
				#address-cells = <1>;
				#size-cells = <0>;

				csi2_port0: port@0 {
					reg = <0>;
					status = "disabled";
				};

				csi2_port1: port@1 {
					reg = <1>;
					status = "disabled";
				};

				csi2_port2: port@2 {
					reg = <2>;
					status = "disabled";
				};

				csi2_port3: port@3 {
					reg = <3>;
					status = "disabled";
				};

				csi2_port4: port@4 {
					reg = <4>;
					status = "disabled";
				};
			};
		};
	};

	dphy0: phy@4580000 {
		compatible = "cdns,dphy-rx";
		reg = <0x00 0x04580000 0x00 0x00001100>;
		#phy-cells = <0>;
		power-domains = <&k3_pds 212 TI_SCI_PD_EXCLUSIVE>;
		status = "disabled";
	};

	dphy1: phy@4590000 {
		compatible = "cdns,dphy-rx";
		reg = <0x00 0x04590000 0x00 0x00001100>;
		#phy-cells = <0>;
		power-domains = <&k3_pds 213 TI_SCI_PD_EXCLUSIVE>;
		status = "disabled";
	};

	dphy2: phy@45a0000 {
		compatible = "cdns,dphy-rx";
		reg = <0x00 0x045a0000 0x00 0x00001100>;
		#phy-cells = <0>;
		power-domains = <&k3_pds 214 TI_SCI_PD_EXCLUSIVE>;
		status = "disabled";
	};

	main_sdhci0: mmc@4f80000 {
		compatible = "ti,j721e-sdhci-8bit";
		reg = <0x00 0x04f80000 0x00 0x1000>,
@@ -1224,7 +1406,6 @@ main_bcdma_csi: dma-controller@311a0000 {
			ti,sci-dev-id = <281>;
			ti,sci-rm-range-rchan = <0x21>;
			ti,sci-rm-range-tchan = <0x22>;
			status = "disabled";
		};

		cpts@310d0000 {