What is a dtb file?

I apologize first for not being good at English.

There are many dtb files.

Is everything necessary when using tx2?

Or do you just need a “base” file?

What is the difference between a00 and c03?

usb works fine on ubuntu 16.04, but usb doesn’t work with newer jetpak.

I want to know which file to modify.

Hi,

If you are talking about kernel dtb, then it should be tegra186-quill-p3310-1000-c03-00-base.dtb.

c03 is based on a00 and with some modifications.

I don’t understand why you need to modify dtb because usb is not working. Some users need to change the usb configuration in dt because they use their own custom carrier board but not nv devkit.
If you are not trying to do that, please share the error log with us.

Is the “ubuntu 16.04” from older jetpack 3.x?

I want to see the error log too.

The keyboard cannot be used because it is not usb.

Is there a way to view the error log without a keyboard?

Do you need to modify “tegra_defconfig(default file)” except “dtb” file?

“ubuntu 16.04” is jetpack 3.x

In ubuntu 16.04 it works fine on both boards.

In ubuntu 18.04 it only works on nvidia default boards.

board 1: default board

board 2: we make board.

If i can generate dtb from ubuntu 16.04 log file?

decompile dtb->dts → best

xhci@3530000 {
	compatible = "nvidia,tegra186-xhci";
	reg = <0x0 0x3530000 0x0 0x8000 0x0 0x3538000 0x0 0x1000>;
	interrupt-parent = <0x2e>;
	interrupts = <0x0 0xa3 0x4 0x0 0xa7 0x4>;
	mboxes = <0x9b>;
	mbox-names = "xusb";
	#stream-id-cells = <0x1>;
	status = "okay";
	clocks = <0xd 0x71 0xd 0xf4 0xd 0x72 0xd 0xf2 0xd 0x27c 0xd 0xf5 0xd 0x215 0xd 0x261 0xd 0x200>;
	clock-names = "host", "falcon_src", "ss", "ss_src", "hs_src", "fs_src", "pll_u_480M", "clk_m", "pll_e";
	otg-controller = <0x9c>;
	avddio_usb-supply = <0xf>;
	avdd_pll_utmip-supply = <0xe>;
	hvdd_usb-supply = <0xe>;
	phys = <0x99 0x10 0x99 0x11 0x99 0x0>;
	phy-names = "utmi-0", "utmi-1", "usb3-0";
	nvidia,boost_cpu_freq = <0x320>;
	linux,phandle = <0x74>;
	phandle = <0x74>;
};

decompile dtb->dts not usb

xhci@3530000 {
	compatible = "nvidia,tegra186-xhci";
	reg = <0x0 0x3530000 0x0 0x8000 0x0 0x3538000 0x0 0x1000>;
	interrupt-parent = <0x3a>;
	iommus = <0x11 0x1b>;
	iommu_sodev_map;
	status = "okay";
	otg-controller = <0xa8>;
	interrupts = <0x0 0xa3 0x4 0x0 0xa4 0x4 0x0 0xa7 0x4>;
	clocks = <0x10 0x71 0x10 0xf4 0x10 0x72 0x10 0xf2 0x10 0x261 0x10 0xf5 0x10 0x215 0x10 0x261 0x10 0x200>;
	clock-names = "xusb_host", "xusb_falcon_src", "xusb_ss", "xusb_ss_src", "xusb_hs_src", "xusb_fs_src", "pll_u_480m", "clk_m", "pll_e";
	nvidia,xusb-padctl = <0xa9>;
	extcon-cables = <0xa7 0x1>;
	extcon-cable-names = "id";
	#extcon-cells = <0x1>;
	avddio_usb-supply = <0x13>;
	avdd_pll_utmip-supply = <0x12>;
	hvdd_usb-supply = <0x12>;
	phys = <0xa6 0x10 0xa6 0x11 0xa6 0x0>;
	phy-names = "utmi-0", "utmi-1", "usb3-0";
	nvidia,boost_cpu_freq = <0x320>;
	linux,phandle = <0x109>;
	phandle = <0x109>;
};

We always use the UART to dump log so that it does not need a keyboard connected to device.

The dtb from 16.04 is not applicable to 18.04.
In fact, if you could make your own board work in jetpack3.x, I think you should already have some experience in dtb and kernel…

How did you make it work in jetpack3.x?

Please refer to TX2 adaptation guide for dts change.