[PATCH v11 1/8] arm64: dts: ti: k3-j721s2-main: Add support for USB

Ravi Gunasekaran r-gunasekaran at ti.com
Fri Feb 24 02:24:31 PST 2023


From: Aswath Govindraju <a-govindraju at ti.com>

Add support for single instance of USB 3.0 controller in J721S2 SoC.

Signed-off-by: Aswath Govindraju <a-govindraju at ti.com>
Signed-off-by: Matt Ranostay <mranostay at ti.com>
Signed-off-by: Ravi Gunasekaran <r-gunasekaran at ti.com>
---
I had reviewed this patch in the v5 series [0].
Since I'm taking over upstreaming this series, I removed the self
Reviewed-by tag.

[0] - https://lore.kernel.org/all/134c28a0-2d49-549c-dc8d-0887d8fd29c3@ti.com/

Changes from v10:
* Fixed dtbs warnings by adding "reg" property to the mux-controller nodes.
* Documented the reason for disabling the nodes by default.
* Removed Link tag from commit message

Changes from v9:
* Disabled USB nodes by default in common DT file.

Changes from v8:
* Updated mux-controller node name to fix dtbs warnings.

Changes from v7:
* No change

Changes from v6:
* No change

Changes from v5:
* No change

Changes from v4:
* Removed Cc tags from commit message

Changes from v3:
* No change

Changes from v2:
* No change

Changes from v1:
* Updated mux-controller node name.

 arch/arm64/boot/dts/ti/k3-j721s2-main.dtsi | 57 ++++++++++++++++++++++
 1 file changed, 57 insertions(+)

diff --git a/arch/arm64/boot/dts/ti/k3-j721s2-main.dtsi b/arch/arm64/boot/dts/ti/k3-j721s2-main.dtsi
index 8915132efcc1..c6b5ffbcbc73 100644
--- a/arch/arm64/boot/dts/ti/k3-j721s2-main.dtsi
+++ b/arch/arm64/boot/dts/ti/k3-j721s2-main.dtsi
@@ -26,6 +26,21 @@
 		};
 	};
 
+	scm_conf: syscon at 104000 {
+		compatible = "ti,j721e-system-controller", "syscon", "simple-mfd";
+		reg = <0x00 0x00104000 0x00 0x18000>;
+		#address-cells = <1>;
+		#size-cells = <1>;
+		ranges = <0x00 0x00 0x00104000 0x18000>;
+
+		usb_serdes_mux: mux-controller at 0 {
+			compatible = "mmio-mux";
+			reg = <0x0 0x4>;
+			#mux-control-cells = <1>;
+			mux-reg-masks = <0x0 0x8000000>; /* USB0 to SERDES0 lane 1/3 mux */
+		};
+	};
+
 	gic500: interrupt-controller at 1800000 {
 		compatible = "arm,gic-v3";
 		#address-cells = <2>;
@@ -745,6 +760,48 @@
 		};
 	};
 
+	usbss0: cdns-usb at 4104000 {
+		compatible = "ti,j721e-usb";
+		reg = <0x00 0x04104000 0x00 0x100>;
+		clocks = <&k3_clks 360 16>, <&k3_clks 360 15>;
+		clock-names = "ref", "lpm";
+		assigned-clocks = <&k3_clks 360 16>; /* USB2_REFCLK */
+		assigned-clock-parents = <&k3_clks 360 17>;
+		power-domains = <&k3_pds 360 TI_SCI_PD_EXCLUSIVE>;
+		#address-cells = <2>;
+		#size-cells = <2>;
+		ranges;
+		dma-coherent;
+
+		/*
+		 * Disable the node by default in the common include file.
+		 * And enable it in the board specific DT file where the
+		 * pinmux property is added.
+		 */
+		status = "disabled";
+
+		usb0: usb at 6000000 {
+			compatible = "cdns,usb3";
+			reg = <0x00 0x06000000 0x00 0x10000>,
+			      <0x00 0x06010000 0x00 0x10000>,
+			      <0x00 0x06020000 0x00 0x10000>;
+			reg-names = "otg", "xhci", "dev";
+			interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>,
+				     <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>,
+				     <GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>;
+			interrupt-names = "host", "peripheral", "otg";
+			maximum-speed = "super-speed";
+			dr_mode = "otg";
+
+			/*
+			 * Disable the node by default in the common include
+			 * file. And enable it in the board specific DT file
+			 * where the pinmux property is added.
+			 */
+			status = "disabled";
+		};
+	};
+
 	main_mcan0: can at 2701000 {
 		compatible = "bosch,m_can";
 		reg = <0x00 0x02701000 0x00 0x200>,
-- 
2.17.1




More information about the linux-arm-kernel mailing list