Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 87c68119 authored by Thierry Reding's avatar Thierry Reding
Browse files

ARM: tegra: Enable XUSB on Jetson TK1



Add XUSB pad controller and XUSB controller device tree nodes and enable
them with a configuration for the Jetson TK1 board.

Signed-off-by: default avatarThierry Reding <treding@nvidia.com>
parent 4da6b31f
Loading
Loading
Loading
Loading
+102 −14
Original line number Diff line number Diff line
@@ -30,11 +30,17 @@
		vddio-pex-ctl-supply = <&vdd_3v3_lp0>;
		avdd-pll-erefe-supply = <&avdd_1v05_run>;

		/* Mini PCIe */
		pci@1,0 {
			phys = <&{/padctl@0,7009f000/pads/pcie/lanes/pcie-4}>;
			phy-names = "pcie-0";
			status = "okay";
		};

		/* Gigabit Ethernet */
		pci@2,0 {
			phys = <&{/padctl@0,7009f000/pads/pcie/lanes/pcie-2}>;
			phy-names = "pcie-0";
			status = "okay";
		};
	};
@@ -1647,6 +1653,9 @@
	sata@0,70020000 {
		status = "okay";

		phys = <&{/padctl@0,7009f000/pads/sata/lanes/sata-0}>;
		phy-names = "sata-0";

		hvdd-supply = <&vdd_3v3_lp0>;
		vddio-supply = <&vdd_1v05_run>;
		avdd-supply = <&vdd_1v05_run>;
@@ -1659,28 +1668,107 @@
		status = "okay";
	};

	usb@0,70090000 {
		phys = <&{/padctl@0,7009f000/pads/usb2/lanes/usb2-0}>, /* Micro A/B */
		       <&{/padctl@0,7009f000/pads/usb2/lanes/usb2-1}>, /* Mini PCIe */
		       <&{/padctl@0,7009f000/pads/usb2/lanes/usb2-2}>, /* USB3 */
		       <&{/padctl@0,7009f000/pads/pcie/lanes/pcie-0}>; /* USB3 */
		phy-names = "usb2-0", "usb2-1", "usb2-2", "usb3-0";

		avddio-pex-supply = <&vdd_1v05_run>;
		dvddio-pex-supply = <&vdd_1v05_run>;
		avdd-usb-supply = <&vdd_3v3_lp0>;
		avdd-pll-utmip-supply = <&vddio_1v8>;
		avdd-pll-erefe-supply = <&avdd_1v05_run>;
		avdd-usb-ss-pll-supply = <&vdd_1v05_run>;
		hvdd-usb-ss-supply = <&vdd_3v3_lp0>;
		hvdd-usb-ss-pll-e-supply = <&vdd_3v3_lp0>;

		status = "okay";
	};

	padctl@0,7009f000 {
		pinctrl-0 = <&padctl_default>;
		pinctrl-names = "default";
		status = "okay";

		padctl_default: pinmux {
			usb3 {
				nvidia,lanes = "pcie-0", "pcie-1";
				nvidia,function = "usb3";
				nvidia,iddq = <0>;
		pads {
			usb2 {
				status = "okay";

				lanes {
					usb2-0 {
						nvidia,function = "xusb";
						status = "okay";
					};

					usb2-1 {
						nvidia,function = "xusb";
						status = "okay";
					};

					usb2-2 {
						nvidia,function = "xusb";
						status = "okay";
					};
				};
			};

			pcie {
				nvidia,lanes = "pcie-2", "pcie-3",
					       "pcie-4";
				status = "okay";

				lanes {
					pcie-0 {
						nvidia,function = "usb3-ss";
						status = "okay";
					};

					pcie-2 {
						nvidia,function = "pcie";
				nvidia,iddq = <0>;
						status = "okay";
					};

					pcie-4 {
						nvidia,function = "pcie";
						status = "okay";
					};
				};
			};

			sata {
				nvidia,lanes = "sata-0";
				status = "okay";

				lanes {
					sata-0 {
						nvidia,function = "sata";
				nvidia,iddq = <0>;
						status = "okay";
					};
				};
			};
		};

		ports {
			/* Micro A/B */
			usb2-0 {
				status = "okay";
				mode = "otg";
			};

			/* Mini PCIe */
			usb2-1 {
				status = "okay";
				mode = "host";
			};

			/* USB3 */
			usb2-2 {
				status = "okay";
				mode = "host";

				vbus-supply = <&vdd_usb3_vbus>;
			};

			usb3-0 {
				nvidia,usb2-companion = <2>;
				status = "okay";
			};
		};
	};