usb and pcie configure

Currently, our customer board has two usb2.0 and pcie#0 x4.But I do not know how to edit dts file to fit this hardware setting. This page “https://elinux.org/Jetson/TX2_USB” shows usb dts setting example.But I am so confuse about tx2 dts file.

could you please provide a user manual to explain each dts file and every property in these file under “hardware/nvidia/” folder.

I edit tegra186-quill-p3310-1000-c03-00-base.dts file and tegra186-quill-p3310-1000-a00-00-base.dts file,change pcie property and usb property. But system log show some error message.

max_iso_bw is relaxed to 1875000KB from 0KB
[ 0.581335] ------------[ cut here ]------------
[ 0.581373] WARNING: at ffffffc000851ecc [verbose debug info unavailable]
[ 0.581399] Modules linked in:
[ 0.581431]
[ 0.581465] CPU: 2 PID: 1 Comm: swapper/0 Not tainted 4.4.38 #151
[ 0.581490] Hardware name: quill (DT)
[ 0.581514] task: ffffffc1ece70000 ti: ffffffc1ece78000 task.ti: ffffffc1ece78000
[ 0.581577] PC is at __tegra_isomgr_register+0x310/0x4d8
[ 0.581602] LR is at __tegra_isomgr_register+0x310/0x4d8
[ 0.581657] pc : [] lr : [] pstate: 60000045
[ 0.581691] sp : ffffffc1ece7bb10
[ 0.581713] x29: ffffffc1ece7bb10 x28: 0000000000000380
[ 0.581755] x27: ffffffc00141c000 x26: ffffffc00135d000
[ 0.581794] x25: ffffffc000c05000 x24: 0000000000000000
[ 0.581831] x23: 0000000000000000 x22: 0000000000000008
[ 0.581869] x21: 00000000001c9c38 x20: ffffffc00141c7a0
[ 0.581907] x19: ffffffc00141cb80 x18: ffffffc000b84f38
[ 0.581963] x17: ffffffc000b14a60 x16: ffffffc000b14a60
[ 0.582000] x15: 00000000fa83b2da x14: 3230303866666666
[ 0.582039] x13: 66662e6364207961 x12: 6c70736944203a79
[ 0.582078] x11: ffffffc0011f42a8 x10: ffffffc0013b5e88
[ 0.582116] x9 : 000000000000014a x8 : 0000000000000002
[ 0.582190] x7 : ffffffc00121c978 x6 : 0000000000000038
[ 0.582245] x5 : 30206d6f72662042 x4 : 0000000000000000
[ 0.582282] x3 : 0000000000000000 x2 : 0000000000000000
[ 0.582319] x1 : 0000000000000000 x0 : 000000000000002b
[ 0.582358]
[ 0.582401] —[ end trace a99d6041dd9ec8f1 ]—
[ 0.582426] Call trace:
[ 0.582452] [] __tegra_isomgr_register+0x310/0x4d8
[ 0.582482] [] tegra_isomgr_register+0x1c/0x2c
[ 0.582529] [] tegra_camera_probe+0x2a4/0x4c4
[ 0.582572] [] platform_drv_probe+0x50/0xbc
[ 0.582601] [] driver_probe_device+0xcc/0x414
[ 0.582628] [] __driver_attach+0x9c/0xa0
[ 0.582672] [] bus_for_each_dev+0x58/0x98
[ 0.582697] [] driver_attach+0x20/0x28
[ 0.582723] [] bus_add_driver+0x1f0/0x294
[ 0.582749] [] driver_register+0x68/0x108
[ 0.582792] [] __platform_driver_register+0x54/0x5c
[ 0.582824] [] tegra_camera_init+0x18/0x20
[ 0.582860] [] do_one_initcall+0xc8/0x1c4
[ 0.582896] [] kernel_init_freeable+0x1d8/0x27c
[ 0.582934] [] kernel_init+0x10/0xdc
[ 0.582963] [] ret_from_fork+0x10/0x40
[ 0.582989] __tegra_isomgr_register(): ISO BW usage:
[ 0.583015] __tegra_isomgr_register(): client=disp_0, iso dedi bw=0KB
[ 0.583041] __tegra_isomgr_register(): client=disp_1, iso dedi bw=0KB
[ 0.583067] __tegra_isomgr_register(): client=disp_2, iso dedi bw=0KB
[ 0.583092] __tegra_isomgr_register(): client=isp_a, iso dedi bw=0KB
[ 0.583118] __tegra_isomgr_register(): client=tegra_camera_ctrl, iso dedi bw=1875000KB
[ 0.583152] __tegra_isomgr_register(): client=ape_adma, iso dedi bw=0KB
[ 0.583187] __tegra_isomgr_register(): client=eqos, iso dedi bw=0KB
[ 0.583240] __tegra_isomgr_register(): revisit BW usage of iso clients


please hardware Schematic [/img]

Hi,
We have adaptation guide and oem design guide. Please check these documents:


https://developer.nvidia.com/embedded/dlc/jetson-tx2-tx2i-oem-product-designguide

Just some general device tree info.

You can extract your running system’s device tree:

dtc -I fs -O dts -o extracted.dts /proc/device-tree

You can reverse a binary device tree into a source tree:

dtc -I dtb -O dts -o reversed.dts /where/ever/it/is/whatever.dtb

If you extracted a device tree and then edited, but want it put back into dtb format:

dtc -I dts -O dtb -o edit_of_extracted.dtb /where/ever/it/is/extracted.dts

You will find different was to flash or install a device tree depending on release. Be sure that whatever method you chose is checked after boot by extracting from the running system…this way you know the edits actually made it in.

Some general device tree information:
https://elinux.org/Jetson/TX2_DTB
https://devtalk.nvidia.com/default/topic/1037131/jetson-tx1/does-anybody-know-how-to-enable-and-program-an-spi-protocol-on-the-tx1-/post/5269528/#5269528

NOTE: Quite often someone will use an incorrect method (due to the many methods which change depending on release) to install a device tree and think it was the device tree which failed when it is really the step to install the tree which failed.

Hi linuxdev,
Thanks for you response.