TX2 & Auvidea J120 setup JetPack4.2

My configuration
Host pc : MacBookPro, ubuntu18.04.2LTS
main : Jetson TX2 & Auvidea J120 carrier board
main OS : JetPack4.2

I want to use TX2 in combination with J120
At first, I tried combining TX2 and devkit
This worked without problems

In order to use J120 normally, it is necessary to insert the firmware
The link is this
https://auvidea.eu/firmware/

I tried according to the procedure
However, ubuntu desktop screen was not displayed
“Welcome to Ubuntu 18.04.2 LTS!” Is displayed on the running CLI
The power goes down soon after that
Of course the capacity of the power supply is enough

Please let me know if you know the solution

As soon as boot completes you might try unplugging and replugging the HDMI, or booting without HDMI and then inserting the cable.

If you have enough time (and serial console would be the real method to know if things have shut down), then find out what you get from:

sudo -s
cat `find /sys -name 'edid'`
exit

Hi endli.make

I am using J120 Auvidea and Jetson TX2 with L4T 32.1 (JetPack4.2) and everything is working correctly including HDMI . I have not tried with the pre-built images yet, instead, I have compiled the kernel sources with some changes in the device tree to support J120 board (see the patch below).

The patch was created comparing the kernel sources provided by Auvidea and the kernel sources provided by Nvidia. Therefore you could use the kernel sources provided by Auvidea directly.

You can apply this instructions to compile the kernel sources and flash Jetson TX2:

Please notice that you have to apply the patch below before to compile the kernel and device tree. (step 3)

diff --git a/hardware/nvidia/platform/t18x/common/kernel-dts/t18x-common-plugin-manager/tegra186-quill-p3310-1000-a00-plugin-manager.dtsi b/hardware/nvidia/platform/t18x/common/kernel-dts/t18x-common-plugin-manager/tegra186-quill-p3310-1000-a00-plugin-manager.dtsi
index 039d409..58a5f40 100644
--- a/hardware/nvidia/platform/t18x/common/kernel-dts/t18x-common-plugin-manager/tegra186-quill-p3310-1000-a00-plugin-manager.dtsi
+++ b/hardware/nvidia/platform/t18x/common/kernel-dts/t18x-common-plugin-manager/tegra186-quill-p3310-1000-a00-plugin-manager.dtsi
@@ -97,11 +97,11 @@
 #else
 				target = <&tegra_xusb_padctl_pinmux_default>;
 				_overlay_ {
-					e3325-usb3-std-A-HS {
-						status = "okay";
+					usb3-std-A-port2 {
+						status="okay";
 					};
-					e3325-usb3-std-A-SS {
-						status = "okay";
+					usb3-std-A-port3 {
+						status="okay";
 					};
 				};
 #endif
@@ -121,21 +121,21 @@
 				_overlay_ {
 					phys = <&tegra_xusb_padctl TEGRA_PADCTL_PHY_UTMI_P(0)>,
 							<&tegra_xusb_padctl TEGRA_PADCTL_PHY_UTMI_P(1)>,
-							<&tegra_xusb_padctl TEGRA_PADCTL_PHY_USB3_P(1)>,
 							<&tegra_xusb_padctl TEGRA_PADCTL_PHY_UTMI_P(2)>,
-							<&tegra_xusb_padctl TEGRA_PADCTL_PHY_USB3_P(0)>;
-					phy-names = "utmi-0", "utmi-1", "usb3-1", "utmi-2", "usb3-0";
+							<&tegra_xusb_padctl TEGRA_PADCTL_PHY_USB3_P(0)>,
+							<&tegra_xusb_padctl TEGRA_PADCTL_PHY_USB3_P(1)>;
+					phy-names = "utmi-0", "utmi-1", "utmi-2", "usb3-0", "usb3-1";
 				};
 #endif
 			};
 			override@2 {
 				target = <&tegra_main_gpio>;
 				_overlay_ {
-					e3325_sdio_rst {
-						status = "okay";
+					usb3-std-A-port2 {
+						status="okay";
 					};
-					e3325_lane0_mux {
-						status = "okay";
+					usb3-std-A-port3 {
+						status="okay";
 					};
 				};
 			};
@@ -143,10 +143,10 @@
 				target = <&tegra_pcie>;
 				_overlay_ {
 					pci@1,0 {
-						nvidia,num-lanes = <2>;
+						nvidia,num-lanes = <4>;
 					};
 					pci@2,0 {
-						nvidia,num-lanes = <1>;
+						nvidia,num-lanes = <0>;
 					};
 					pci@3,0 {
 						nvidia,num-lanes = <1>;
@@ -214,16 +214,19 @@
 				_overlay_ {
 					phys = <&{/xusb_padctl@3520000/pads/usb2/lanes/usb2-0}>,
 						<&{/xusb_padctl@3520000/pads/usb2/lanes/usb2-1}>,
-						<&{/xusb_padctl@3520000/pads/usb3/lanes/usb3-0}>;
-					phy-names = "usb2-0", "usb2-1", "usb3-0";
+						<&{/xusb_padctl@3520000/pads/usb2/lanes/usb2-2}>,
+						<&{/xusb_padctl@3520000/pads/usb3/lanes/usb3-0}>,
+						<&{/xusb_padctl@3520000/pads/usb3/lanes/usb3-1}>;
+					phy-names = "usb2-0", "usb2-1", "usb2-2", "usb3-0", "usb3-1";
 				};
 #else
 				_overlay_ {
 					phys = <&tegra_xusb_padctl TEGRA_PADCTL_PHY_UTMI_P(0)>,
 						<&tegra_xusb_padctl TEGRA_PADCTL_PHY_UTMI_P(1)>,
 						<&tegra_xusb_padctl TEGRA_PADCTL_PHY_UTMI_P(2)>,
-						<&tegra_xusb_padctl TEGRA_PADCTL_PHY_USB3_P(0)>;
-					phy-names = "utmi-0", "utmi-1", "utmi-2", "usb3-0";
+						<&tegra_xusb_padctl TEGRA_PADCTL_PHY_USB3_P(0)>,
+						<&tegra_xusb_padctl TEGRA_PADCTL_PHY_USB3_P(1)>;
+					phy-names = "utmi-0", "utmi-1", "utmi-2", "usb3-0", "usb3-1";
 				};
 #endif
 			};
@@ -233,10 +236,11 @@
 				_overlay_ {
 					ports {
 						usb3-1 {
-							status = "disabled";
+							nvidia,usb2-companion = <1>;
+							status = "okay";
 						};
 						usb3-0 {
-							nvidia,usb2-companion = <1>;
+							nvidia,usb2-companion = <2>;
 							status = "okay";
 						};
 					};
@@ -245,10 +249,10 @@
 				target = <&tegra_xusb_padctl_pinmux_default>;
 				_overlay_ {
 					usb3-std-A-port2 {
-						nvidia,lanes = "usb3-0";
+						nvidia,lanes = "usb3-1";
 					};
-					e3325-usb3-std-A-HS {
-						status = "okay";
+					usb3-std-A-port3 {
+						nvidia,lanes = "usb3-0";
 					};
 				};
 #endif
@@ -263,24 +267,29 @@
 #if TEGRA_XUSB_PADCONTROL_VERSION >= DT_VERSION_2
 				_overlay_ {
 					phys = <&{/xusb_padctl@3520000/pads/usb2/lanes/usb2-0}>,
-						<&{/xusb_padctl@3520000/pads/usb2/lanes/usb2-1}>;
-					phy-names = "usb2-0", "usb2-1";
+						<&{/xusb_padctl@3520000/pads/usb2/lanes/usb2-1}>,
+						<&{/xusb_padctl@3520000/pads/usb2/lanes/usb2-2}>,
+						<&{/xusb_padctl@3520000/pads/usb3/lanes/usb3-0}>,
+						<&{/xusb_padctl@3520000/pads/usb3/lanes/usb3-1}>;
+					phy-names = "usb2-0", "usb2-1", "usb2-2", "usb3-0", "usb3-1";
 				};
 #else
 				_overlay_ {
 					phys = <&tegra_xusb_padctl TEGRA_PADCTL_PHY_UTMI_P(0)>,
 						<&tegra_xusb_padctl TEGRA_PADCTL_PHY_UTMI_P(1)>,
-						<&tegra_xusb_padctl TEGRA_PADCTL_PHY_UTMI_P(2)>;
-					phy-names = "utmi-0", "utmi-1", "utmi-2";
+						<&tegra_xusb_padctl TEGRA_PADCTL_PHY_UTMI_P(2)>,
+						<&tegra_xusb_padctl TEGRA_PADCTL_PHY_USB3_P(0)>,
+						<&tegra_xusb_padctl TEGRA_PADCTL_PHY_USB3_P(1)>;
+					phy-names = "utmi-0", "utmi-1", "utmi-2", "usb3-0", "usb3-1";
 				};
 #endif
 			};
 			override@1 {
 				target = <&tegra_xusb_padctl_pinmux_default>;
 				_overlay_ {
-					usb3-std-A-port2 {
+					/*usb3-std-A-port2 {
 						status = "disabled";
-					};
+					};*/
 				};
 			};
 
diff --git a/hardware/nvidia/platform/t18x/quill/kernel-dts/tegra186-quill-p3310-1000-a00-00-base.dts b/hardware/nvidia/platform/t18x/quill/kernel-dts/tegra186-quill-p3310-1000-a00-00-base.dts
index 8afcaea..6e6bd96 100644
--- a/hardware/nvidia/platform/t18x/quill/kernel-dts/tegra186-quill-p3310-1000-a00-00-base.dts
+++ b/hardware/nvidia/platform/t18x/quill/kernel-dts/tegra186-quill-p3310-1000-a00-00-base.dts
@@ -120,16 +120,20 @@
 		status = "okay";
 		phys = <&{/xusb_padctl@3520000/pads/usb2/lanes/usb2-0}>,
 			<&{/xusb_padctl@3520000/pads/usb2/lanes/usb2-1}>,
+			<&{/xusb_padctl@3520000/pads/usb2/lanes/usb2-2}>,
+			<&{/xusb_padctl@3520000/pads/usb3/lanes/usb3-0}>,
 			<&{/xusb_padctl@3520000/pads/usb3/lanes/usb3-1}>;
-		phy-names = "usb2-0", "usb2-1", "usb3-1";
+		phy-names = "usb2-0", "usb2-1", "usb2-2", "usb3-0", "usb3-1";
 	};
 #else
 	xhci@3530000 {
 		status = "okay";
 		phys = <&tegra_xusb_padctl TEGRA_PADCTL_PHY_UTMI_P(0)>,
 			<&tegra_xusb_padctl TEGRA_PADCTL_PHY_UTMI_P(1)>,
+			<&tegra_xusb_padctl TEGRA_PADCTL_PHY_UTMI_P(2)>,
+			<&tegra_xusb_padctl TEGRA_PADCTL_PHY_USB3_P(0)>,
 			<&tegra_xusb_padctl TEGRA_PADCTL_PHY_USB3_P(1)>;
-		phy-names = "utmi-0", "utmi-1", "usb3-1";
+		phy-names = "utmi-0", "utmi-1", "utmi-2", "usb3-0", "usb3-1";
 		nvidia,boost_cpu_freq = <800>;
 	};
 #endif
@@ -195,6 +199,16 @@
 				vbus-supply = <&vdd_usb1_5v>;
 				nvidia,oc-pin = <1>;
 			};
+			usb2-2 {
+				status = "okay";
+				mode = "host";
+				vbus-supply = <&battery_reg>;
+				nvidia,oc-pin = <1>;
+			};
+			usb3-0 {
+				nvidia,usb2-companion = <2>;
+				status = "okay";
+			};
 			usb3-1 {
 				nvidia,usb2-companion = <1>;
 				status = "okay";
@@ -218,45 +232,64 @@
 		tegra_xusb_padctl_pinmux_default: pinmux {
 			/* Quill does not support usb3-micro AB */
 			usb2-micro-AB {
+				status = "okay";
 				nvidia,lanes = "otg-0";
 				nvidia,function = "xusb";
 				nvidia,port-cap = <TEGRA_PADCTL_PORT_OTG_CAP>;
 				nvidia,oc-pin = <0>;
 			};
 			usb2-std-A-port2 {
+				status = "okay";
 				nvidia,lanes = "otg-1";
 				nvidia,function = "xusb";
 				nvidia,port-cap = <TEGRA_PADCTL_PORT_HOST_ONLY>;
 				nvidia,oc-pin = <1>;
 			};
+			usb2-std-A-port3 {
+				status = "okay";
+				nvidia,lanes = "otg-2";
+				nvidia,function = "xusb";
+				nvidia,port-cap = <TEGRA_PADCTL_PORT_HOST_ONLY>;
+				nvidia,oc-pin = <1>;
+			};
+
 			usb3-std-A-port2 {
+				status = "okay";
 				nvidia,lanes = "usb3-1";
 				nvidia,port-cap = <TEGRA_PADCTL_PORT_HOST_ONLY>;
 				nvidia,oc-pin = <1>;
 			};
+			
+			usb3-std-A-port3 {
+				status = "okay";
+				nvidia,lanes = "usb3-0";
+				nvidia,port-cap = <TEGRA_PADCTL_PORT_HOST_ONLY>;
+				nvidia,oc-pin = <1>;
+			};
 
-			e3325-usb3-std-A-HS {
+			/*e3325-usb3-std-A-HS {
 				nvidia,lanes = "otg-2";
 				nvidia,function = "xusb";
 				nvidia,port-cap = <TEGRA_PADCTL_PORT_HOST_ONLY>;
-				status = "disabled";
+				//status = "disabled";
+				status = "okay";
 			};
 
 			e3325-usb3-std-A-SS {
 				nvidia,lanes = "usb3-0";
 				nvidia,port-cap = <TEGRA_PADCTL_PORT_HOST_ONLY>;
 				status = "disabled";
-			};
+			};*/
 		};
 	};
 	pcie-controller@10003000 {
 		status = "okay";
 		pci@1,0 {
-			nvidia,num-lanes = <2>;
+			nvidia,num-lanes = <4>;
 			status = "okay";
 		};
 		pci@2,0 {
-			nvidia,num-lanes = <1>;
+			nvidia,num-lanes = <0>;
 			status = "disabled";
 		};
 		pci@3,0 {
@@ -319,6 +352,42 @@
 			status = "disabled";
 		};
 	};
+
+	fixed-regulators {
+		vdd_fan: regulator@13 {
+			status = "okay";
+			compatible = "pwm-fan";
+			gpio = <&tegra_main_gpio TEGRA_MAIN_GPIO(J, 6) GPIO_ACTIVE_LOW>;  
+		};
+	};
+
+	pwm_fan_shared_data: pfsd {
+		status = "okay";
+		num_resources = <0>;
+		secret = <47>;
+		active_steps = <10>;
+		active_rpm = <0 1000 2000 3000 4000 5000 6000 7000 10000 11000>;
+		rpm_diff_tolerance = <2>;
+		active_rru = <40 2 1 1 1 1 1 1 1 1>;
+		active_rrd = <40 2 1 1 1 1 1 1 1 1>;
+		state_cap_lookup = <2 2 2 2 3 3 3 4 4 4>;
+		pwm_period = <45334>;
+		pwm_id = <3>;
+		step_time = <100>; 
+		state_cap = <7>;
+		active_pwm_max = <256>;
+		tach_period = <1000>;
+		pwm_gpio = <&tegra_main_gpio TEGRA_MAIN_GPIO(J, 6) GPIO_ACTIVE_LOW>;
+	};
+	pwm-fan {
+		status = "okay";
+		compatible = "pwm-fan";
+		#pwm-cells = <1>;
+		pwms = <&tegra_pwm4 0 45334>;
+		shared_data = <&pwm_fan_shared_data>;
+		active_pwm = <0 80 120 160 255 255 255 255 255 255>;
+	};
+
 };
 
 #if LINUX_VERSION >= 414
diff --git a/hardware/nvidia/platform/t18x/quill/kernel-dts/tegra186-quill-p3310-1000-c03-00-base.dts b/hardware/nvidia/platform/t18x/quill/kernel-dts/tegra186-quill-p3310-1000-c03-00-base.dts
index 880a252..cdb3cd8 100644
--- a/hardware/nvidia/platform/t18x/quill/kernel-dts/tegra186-quill-p3310-1000-c03-00-base.dts
+++ b/hardware/nvidia/platform/t18x/quill/kernel-dts/tegra186-quill-p3310-1000-c03-00-base.dts
@@ -117,7 +117,7 @@
 
 	pcie-controller@10003000 {
 		pci@1,0 {
-			nvidia,num-lanes = <4>;
+			nvidia,num-lanes = <2>;
 			nvidia,disable-clock-request;
 		};
 		pci@2,0 {
@@ -129,17 +129,31 @@
 	};
 
         xhci@3530000 {
+		status = "okay";
 		phys = <&tegra_xusb_padctl TEGRA_PADCTL_PHY_UTMI_P(0)>,
 			<&tegra_xusb_padctl TEGRA_PADCTL_PHY_UTMI_P(1)>,
-			<&tegra_xusb_padctl TEGRA_PADCTL_PHY_USB3_P(0)>;
-		phy-names = "utmi-0", "utmi-1", "usb3-0";
+			<&tegra_xusb_padctl TEGRA_PADCTL_PHY_UTMI_P(2)>,
+			<&tegra_xusb_padctl TEGRA_PADCTL_PHY_USB3_P(0)>,
+			<&tegra_xusb_padctl TEGRA_PADCTL_PHY_USB3_P(1)>;
+		phy-names = "utmi-0", "utmi-1", "utmi-2", "usb3-0", "usb3-1";
 	};
 
 	pinctrl@3520000 {
 		pinmux {
-			usb3-std-A-port2 {
-				nvidia,lanes = "usb3-0";
+			usb2-std-A-port2 {
+				nvidia,lanes = "otg-1";
+				nvidia,port-cap = <TEGRA_PADCTL_PORT_HOST_ONLY>;
+				status = "okay";
+				
+			};
+			usb2-std-A-port3 {
+				nvidia,lanes = "otg-2";
+				nvidia,port-cap = <TEGRA_PADCTL_PORT_HOST_ONLY>;
+				status = "okay";
 			};
+			/*usb3-std-A-port2 {
+				nvidia,lanes = "usb3-1";
+			};*/
 		};
 	};