USB phy is not available yet

Hello,

sorry if my question is a little simple, I’m relatively new in using the TX2. We have designed our own board for the TX2 and unfortunately we just have problems with the USB port.
By using the JetPack-L4T-3.3 we flashed the system over the USB port and the system starts as it should.
In the JetPack we have not made any further settings and have created a standard system.
Our own board is very close to the hardware of the Jetson TX2 Developer Kit and the USB ports are identical.
At startup I realized the following log entries:

[    2.594291] tegra-xotg xotg: usb2 phy is not available yet
[    2.595431] tegra-usb-cd usb_cd: otg phy is not available yet

However, if I plug in a cable (device or USB On-The-Go) it will be recognized correctly:

[ 2250.793537] extcon-gpio-states external-connection:extcon@1: Cable state 0
[ 2257.229561] extcon-gpio-states external-connection:extcon@1: Cable state 1
[ 2258.049573] extcon-gpio-states external-connection:extcon@1: Cable state 0
[ 2266.397588] extcon-gpio-states external-connection:extcon@1: Cable state 2

But no USB device is detected.

Our hardware setup looks like this:

TX2Pin 	-> USB
B40	-> USB0_N
B39	-> USB0_P
A17 	-> USB_en

Perhaps someone can tell me where I can force the system to activate the USB port phy? Or in which way the problem can be solved.

Thank you and best regards cya Thomas

Supplement:

we don’t have the IO Expander tca9539 on the board

[0001.441] I> tegrabl_tca9539_init: i2c bus: 0, slave addr: 0xee
[0001.448] E> i2c dev write failed
[0001.451] E> tca9539_device_init: failed to write polar reg
[0001.457] E> tegrabl_tca9539_init: failed to init device!
[0001.462] E> GPIO TCA9539 driver init failed

and also the EEPRom (eeprom i2c=7 address=0x57) is not equipped

[0001.684] I> Reading eeprom i2c=7 address=0x57
[0001.689] E> i2c dev read failed
[0001.692] E> eeprom: Failed to read I2C slave device
[0001.696] I> Eeprom read failed 0x1a89800d

Hi,
Please check https://elinux.org/Jetson/TX2_USB#Patching_the_DTS

Hello Danell,

thank you for your answer, unfortunately the link could not help us either.
We have read all device tree USB forum entries and unfortunately still no success.
We have already changed several regulators in the device tree.

We had 5V USB manually connected to the board but there is still no USB device detected or there is not even a message when a device is connected. Except the cable detection on the USB 2.0 port, this works.
We could already switch on and off the USB 3.0 port manually in the Linux system via the regulators 17 (9a) USB 2.0 port and 18 (9b) USB 3.0 port.

Attached I send the start section ot the log file:

[0000.114] C> I2C command failed
[0000.117] C> block index = (4) and rail_id = (1)
[0000.121] C> Addr: Reg = [0xe8:0x07]: 336166925
[0000.239] I> Welcome to MB2(TBoot-BPMP)(version: 01.00.160913-t186-M-00.00-mobile-c4328dc3)
[0000.247] I> Default Heap @ [0xd486400 - 0xd488400]
[0000.252] I> DMA Heap @ [0x85200000 - 0x86200000]
[0000.256] I> bit @ 0xd480000
[0000.259] I> BR-BCT relocated to 0xd7020000
[0000.263] I> Boot-device: eMMC
[0000.267] I> sdmmc bdev is already initialized
[0000.272] I> pmic: reset reason (nverc)	: 0x80
[0000.276] I> Reading GPT from 512 for device 00000003
[0000.282] I> Reading GPT from 8388096 for device 00000003
[0000.289] I> Found 13 partitions in 00000003 device
[0000.294] I> Reading GPT from 512 for device 00010003
[0000.301] I> Found 29 partitions in 00010003 device
[0000.306] W> No valid slot number is found in scratch register
[0000.312] W> Return default slot: _a
[0000.315] I> A/B: bin_type (16) slot 0
[0000.319] I> Loading partition bpmp-fw at 0xd7800000
[0000.324] I> Reading two headers - addr:0xd7800000 blocks:1
[0000.329] I> Addr: 0xd7800000, start-block: 58761217, num_blocks: 1
[0000.344] I> Binary(16) of size 529040 is loaded @ 0xd7800000
[0000.350] W> No valid slot number is found in scratch register
[0000.355] W> Return default slot: _a
[0000.359] I> A/B: bin_type (17) slot 0
[0000.362] I> Loading partition bpmp-fw-dtb at 0xd79f0000
[0000.367] I> Reading two headers - addr:0xd79f0000 blocks:1
[0000.373] I> Addr: 0xd79f0000, start-block: 58763633, num_blocks: 1
[0000.387] I> Binary(17) of size 465760 is loaded @ 0xd798e200
[0000.565] I> BPMP-FW load address = 0xd7800000
[0000.569] I> BPMP-FW DTB load address = 0x5018e200
[0000.574] I> Loading SCE-FW ...
[0000.577] W> No valid slot number is found in scratch register
[0000.582] W> Return default slot: _a
[0000.586] I> A/B: bin_type (12) slot 0
[0000.589] I> Loading partition sce-fw at 0xd7300000
[0000.594] I> Reading two headers - addr:0xd7300000 blocks:1
[0000.600] I> Addr: 0xd7300000, start-block: 58765633, num_blocks: 1
[0000.608] I> Binary(12) of size 76592 is loaded @ 0xd7300000
[0000.614] I> Init SCE
[0000.616] I> Copy BTCM section
[0000.619] W> No valid slot number is found in scratch register
[0000.625] W> Return default slot: _a
[0000.628] I> A/B: bin_type (13) slot 0
[0000.632] I> Loading partition cpu-bootloader at 0x96000000
[0000.637] I> Reading two headers - addr:0x96000000 blocks:1
[0000.643] I> Addr: 0x96000000, start-block: 58740737, num_blocks: 1
[0000.654] I> Binary(13) of size 282736 is loaded @ 0x96000000
[0000.660] W> No valid slot number is found in scratch register
[0000.665] W> Return default slot: _a
[0000.669] I> A/B: bin_type (20) slot 0
[0000.672] I> Loading partition bootloader-dtb at 0x8520f400
[0000.678] I> Reading two headers - addr:0x8520f400 blocks:1
[0000.683] I> Addr: 0x8520f400, start-block: 58742785, num_blocks: 1
[0000.695] I> Binary(20) of size 279264 is loaded @ 0x8520f400
[0000.700] I> MB2-params(VA) @ 0xd7000000
[0000.704] I> CPUBL-params(VA) @ 0xd7000000
[0000.708] I> CPUBL-params(PA) @ 0x277000000
[0000.712] I> CPU-BL loaded @ PA 0x96000000
[0000.716] I> Loading TOS ...
[0000.719] W> No valid slot number is found in scratch register
[0000.725] W> Return default slot: _a
[0000.728] I> A/B: bin_type (14) slot 0
[0000.732] I> Loading partition secure-os at 0x8530f600
[0000.737] I> Reading two headers - addr:0x8530f600 blocks:1
[0000.742] I> Addr: 0x8530f600, start-block: 58744833, num_blocks: 1
[0000.751] I> Binary(14) of size 62576 is loaded @ 0x8530f600
[0000.756] I> Copying Monitor (length: 0xf270) from 0x8530f800 to 0x40000000
[0000.763] I> Erasing Monitor @ 0x8530f800
[0000.768] I> Unhalting SCE
[0000.770] I> Primary Memory Start:80000000 Size:70000000
[0000.776] I> Extended Memory Start:f0110000 Size:185ef0000
[0000.782] I> Waypoint2-ACK: 0x52012714
[0000.786] I> MB2(TBoot-BPMP) done

NOTICE:  BL31: v1.2(release):e1e4477
NOTICE:  BL31: Built : 00:08:30, May 17 2018
NOTICE:  Trusty image missing.
ERROR:   Error initializing runtime service trusty_fast
[0001.147] I> Welcome to Cboot
[0001.149] I> Cboot Version: 00.00.2014.50-t186-0c600f85
[0001.154] I> CPU-BL Params @ 0x277000000
[0001.158] I>  0) Base:0x00000000 Size:0x00000000
[0001.163] I>  1) Base:0x277f00000 Size:0x00100000
[0001.167] I>  2) Base:0x277e00000 Size:0x00100000
[0001.172] I>  3) Base:0x277d00000 Size:0x00100000
[0001.176] I>  4) Base:0x277c00000 Size:0x00100000
[0001.181] I>  5) Base:0x277b00000 Size:0x00100000
[0001.185] I>  6) Base:0x277800000 Size:0x00200000
[0001.190] I>  7) Base:0x277400000 Size:0x00400000
[0001.194] I>  8) Base:0x277a00000 Size:0x00100000
[0001.199] I>  9) Base:0x277300000 Size:0x00100000
[0001.203] I> 10) Base:0x276800000 Size:0x00800000
[0001.208] I> 11) Base:0x30000000 Size:0x00040000
[0001.212] I> 12) Base:0xf0000000 Size:0x00100000
[0001.217] I> 13) Base:0x30040000 Size:0x00001000
[0001.221] I> 14) Base:0x30048000 Size:0x00001000
[0001.226] I> 15) Base:0x30049000 Size:0x00001000
[0001.230] I> 16) Base:0x3004a000 Size:0x00001000
[0001.234] I> 17) Base:0x3004b000 Size:0x00001000
[0001.239] I> 18) Base:0x3004c000 Size:0x00001000
[0001.243] I> 19) Base:0x3004d000 Size:0x00001000
[0001.248] I> 20) Base:0x3004e000 Size:0x00001000
[0001.252] I> 21) Base:0x3004f000 Size:0x00001000
[0001.257] I> 22) Base:0x00000000 Size:0x00000000
[0001.261] I> 23) Base:0xf0100000 Size:0x00010000
[0001.265] I> 24) Base:0x00000000 Size:0x00000000
[0001.270] I> 25) Base:0x00000000 Size:0x00000000
[0001.274] I> 26) Base:0x00000000 Size:0x00000000
[0001.279] I> 27) Base:0x00000000 Size:0x00000000
[0001.283] I> 28) Base:0x84400000 Size:0x00400000
[0001.288] I> 29) Base:0x30000000 Size:0x00010000
[0001.292] I> 30) Base:0x278000000 Size:0x08000000
[0001.296] I> 31) Base:0x00000000 Size:0x00000000
[0001.301] I> 32) Base:0x276000000 Size:0x00600000
[0001.305] I> 33) Base:0x80000000 Size:0x70000000
[0001.310] I> 34) Base:0xf0110000 Size:0x185ef0000
[0001.314] I> 35) Base:0x00000000 Size:0x00000000
[0001.319] I> 36) Base:0x00000000 Size:0x00000000
[0001.323] I> 37) Base:0x2772e0000 Size:0x00020000
[0001.328] I> 38) Base:0x84000000 Size:0x00400000
[0001.332] I> 39) Base:0x96000000 Size:0x02400000
[0001.337] I> 40) Base:0x85000000 Size:0x01200000
[0001.341] I> 41) Base:0x277000000 Size:0x00280000
[0001.346] I> 42) Base:0x00000000 Size:0x00000000
[0001.350] I> 43) Base:0x00000000 Size:0x00000000
[0001.354] GIC-SPI Target CPU: 4

[0001.358] Interrupts Init done

[0001.361] calling constructors

[0001.364] initializing heap
[0001.367] initializing threads

[0001.370] initializing timers

[0001.373] creating bootstrap completion thread

[0001.378] top of bootstrap2()

[0001.381] CPU: ARM Cortex A57

[0001.384] CPU: MIDR: 0x411FD073, MPIDR: 0x80000100

[0001.389] initializing platform

[0001.392] I> Boot-device: eMMC
[0001.396] I> sdmmc bdev is already initialized
[0001.400] I> Reading GPT from 512 for device 00000003
[0001.406] I> Reading GPT from 8388096 for device 00000003
[0001.413] I> Found 13 partitions in 00000003 device
[0001.417] I> Reading GPT from 512 for device 00010003
[0001.423] I> Found 29 partitions in 00010003 device
[0001.428] W> opt-in fuse is not set, skip fuse_burning
[0001.433] I> Bl_dtb @0x8520f400
[0001.436] I> gpio framework initialized
[0001.440] I> tegrabl_gpio_driver_register: register 'tegra_gpio_main_driver' driver
[0001.447] I> tegrabl_gpio_driver_register: register 'tegra_gpio_aon_driver' driver
[0001.454] I> tegrabl_tca9539_init: i2c bus: 0, slave addr: 0xee
[0001.461] E> i2c dev write failed
[0001.465] E> tca9539_device_init: failed to write polar reg
[0001.470] E> tegrabl_tca9539_init: failed to init device!
[0001.475] E> GPIO TCA9539 driver init failed
[0001.592] I> decompressor handler not found
[0001.599] I> fixed regulator driver initialized
[0001.635] I> register 'maxim' power off handle
[0001.641] I> virtual i2c enabled
[0001.644] I> registered 'maxim,max77620' pmic
[0001.648] I> tegrabl_gpio_driver_register: register 'max77620-gpio' driver
[0001.659] I> Find /i2c@c250000's alias i2c7
[0001.663] I> Reading eeprom i2c=7 address=0x50
[0001.693] I> Device at /i2c@c250000:0x50
[0001.697] I> Reading eeprom i2c=7 address=0x57
[0001.702] E> i2c dev read failed
[0001.705] E> eeprom: Failed to read I2C slave device
[0001.710] I> Eeprom read failed 0x1a89800d
[0001.714] I> Find /i2c@c240000's alias i2c1
[0001.718] I> Reading eeprom i2c=1 address=0x51
[0001.724] E> i2c dev read failed
[0001.727] E> eeprom: Retry to read I2C slave device.
[0001.732] E> i2c dev read failed
[0001.735] E> eeprom: Failed to read I2C slave device
[0001.740] I> Eeprom read failed 0x1a89800d
[0001.744] I> Find /i2c@3160000's alias i2c0
[0001.748] I> Reading eeprom i2c=0 address=0x50
[0001.753] E> i2c dev read failed
[0001.756] E> eeprom: Failed to read I2C slave device
[0001.761] I> Eeprom read failed 0x1a89800d
[0001.766] I> Find /i2c@3180000's alias i2c2
[0001.770] I> Reading eeprom i2c=2 address=0x54
[0001.774] I> Enabling gpio chip_id = 2, gpio pin = 9
[0001.779] C> GPIO driver for chip_id 0x2 could not be found
[0001.784] E> cam_eeprom_read: Can't get gpio driver
[0001.789] I> Eeprom read failed 0x2693400d
[0001.793] I> create_pm_ids: id: 3310-1000-B02-C, len: 15
[0001.798] I> config: mem-type:00,power-config:00,misc-config:00,modem-config:00,touch-config:00,display-config:00,, len: 93
[0001.812] I> found one nvdisp nodes at offset = 104144
[0001.817] I> found one nvdisp nodes at offset = 105060
[0001.828] I> enabling 'vdd-hdmi' regulator
[0001.832] C> GPIO driver for chip_id 0x3 could not be found
[0001.837] I> found one nvdisp nodes at offset = 105864
[0001.842] I> no valid display unit config found in dtb
[0001.847] W> display init failed
[0001.850] initializing target

[0001.853] calling apps_init()

[0001.856] starting app android_boot_app

[0001.860] I> Gpio keyboard init success
[0001.864] I> Kernel type = Normal
[0001.867] I> Loading kernel/boot.img from storage ...
[0001.872] W> No valid slot number is found in scratch register
[0001.878] W> Return default slot: _a
[0001.881] I> A/B: bin_type (0) slot 0
[0001.884] I> Loading partition kernel at 0xa8000000
[0002.645] I> tegrabl_auth_payload: partition kernel (bin_type 0)
[0002.651] W> No valid slot number is found in scratch register
[0002.657] W> Return default slot: _a
[0002.661] I> A/B: bin_type (1) slot 0
[0002.664] I> Loading partition kernel-dtb at 0x92000000
[0002.676] I> tegrabl_auth_payload: partition kernel-dtb (bin_type 1)
[0002.683] I> Kernel DTB @ 0x92000000
[0002.686] I> Checking boot.img header magic ... [0002.690] I> [OK]
[0002.692] I> Valid boot.img @ 0xa8000000
[0002.696] I> decompressor handler not found
[0002.700] I> Copying kernel image (488466 bytes) from 0xa8000800 to 0x80080000 ... [0002.707] I> Done
[0002.709] I> Move ramdisk (len: 0) from 0xa8078000 to 0x9d000000
[0002.716] I> Updated bpmp info to DTB
[0002.722] I> Ramdisk: Base: 0x9d000000; Size: 0x0
[0002.726] I> Updated initrd info to DTB
[0002.730] E> tegrabl_linuxboot_add_disp_param, du 0 failed to get display params
[0002.737] E> tegrabl_linuxboot_add_disp_param, du 0 failed to get display params
[0002.744] E> tegrabl_linuxboot_add_disp_param, du 0 failed to get display params
[0002.751] I> disabled_core_mask: 0xffffff0c
[0002.756] W> No valid slot number is found in scratch register
[0002.761] W> Return default slot: _a
[0002.765] I> Active slot suffix: 
[0002.768] I> add_boot_slot_suffix: slot_suffix = 
[0002.772] I> add_serialno: Serial Num = 0420318067576
[0002.777] I> Linux Cmdline: root=/dev/mmcblk0p1 rw rootwait console=ttyS0,115200n8 console=tty0 OS=l4t fbcon=map:0 net.ifnames=0 memtype=0 video=tegrafb no_console_suspend=1 earlycon=uart8250,mmio32,0x03100000 nvdumper_reserved=0x2772e0000 gpt tegraid=18.1.2.0.0 tegra_keep_boot_clocks maxcpus=6 boot.slot_suffix= boot.ratchetvalues=0.2.1 androidboot.serialno=0420318067576 bl_prof_dataptr=0x10000@0x277040000 sdhci_tegra.en_boot_part_access=1 
[0002.816] I> Updated bootarg info to DTB
[0002.820] E> "plugin-manager" doesn't exist, creating
[0002.824] E> "odm-data" doesn't exist, creating
[0002.830] I> eeprom_get_mac_addr: MAC (type: 0): 00:04:4b:a4:fa:44
[0002.837] I> eeprom_get_mac_addr: MAC (type: 1): 00:04:4b:a4:fa:45
[0002.843] I> eeprom_get_mac_addr: MAC (type: 2): 00:04:4b:a4:fa:46
[0002.849] E> "ids" doesn't exist, creating
[0002.853] E> "connection" doesn't exist, creating
[0002.857] E> "configs" doesn't exist, creating
[0002.862] I> create_pm_ids: id: 3310-1000-B02-C, len: 15
[0002.867] I> config: mem-type:00,power-config:00,misc-config:00,modem-config:00,touch-config:00,display-config:00,, len: 93
[0002.878] I> Adding plugin-manager/ids/3310-1000-B02=/i2c@c250000:module@0x50
[0002.885] E> "i2c@c250000" doesn't exist, creating
[0002.889] E> "module@0x50" doesn't exist, creating
[0002.896] I> Adding plugin-manager/ids/3310-1000-B02-C
[0002.903] I> Adding plugin-manager/configs/3310-mem-type 00
[0002.909] I> Adding plugin-manager/configs/3310-power-config 00
[0002.915] I> Adding plugin-manager/configs/3310-misc-config 00
[0002.920] I> Adding plugin-manager/configs/3310-modem-config 00
[0002.926] I> Adding plugin-manager/configs/3310-touch-config 00
[0002.932] I> Adding plugin-manager/configs/3310-display-config 00
[0002.938] E> "chip-id" doesn't exist, creating
[0002.942] I> Adding plugin-manager/chip-id/A02P
[0002.949] I> added [base:0x80000000, size:0x70000000] to /memory
[0002.955] I> added [base:0xf0200000, size:0x185e00000] to /memory
[0002.960] I> added [base:0x276600000, size:0x200000] to /memory
[0002.966] E> WARNING: Failed to pass NS DRAM ranges to TOS
[0002.972] I> Updated memory info to DTB
[0002.977] E> "reset" doesn't exist, creating
[0002.981] E> "pmc-reset-reason" doesn't exist, creating
[0002.987] E> "pmic-reset-reason" doesn't exist, creating
[0002.992] I> disabled_core_mask: 0xffffff0c
[0003.004] I> Add serial number as DT property
[0003.009] I> tegrabl_load_kernel_and_dtb: Done
[0003.013] E> tegrabl_display_clear: display is not initialized
[0003.019] W> Boot logo display failed...

U-Boot 2016.07-g9c3b9a4 (May 17 2018 - 00:08:48 -0700)

TEGRA186
Model: NVIDIA P2771-0000-500
DRAM:  7.8 GiB
MC:   Tegra SD/MMC: 0, Tegra SD/MMC: 1
*** Warning - bad CRC, using default environment

In:    serial
Out:   serial
Err:   serial
Net:   eth0: ethernet@2490000
Hit any key to stop autoboot:  2  1  0 
MMC: no card present
switch to partitions #0, OK
mmc0(part 0) is current device
Scanning mmc 0:1...
Found /boot/extlinux/extlinux.conf
Retrieving file: /boot/extlinux/extlinux.conf
410 bytes read in 90 ms (3.9 KiB/s)
p2771-0000 eMMC boot options
1:	primary kernel
2:	test dtb
Enter choice: 1
1:	primary kernel
Retrieving file: /boot/Image
20727600 bytes read in 546 ms (36.2 MiB/s)
append: root=/dev/mmcblk0p1 rw rootwait console=ttyS0,115200n8 console=tty0 OS=l4t fbcon=map:0 net.ifnames=0 memtype=0 video=tegrafb no_console_suspend=1 earlycon=uart8250,mmio32,0x03100000 nvdumper_reserved=0x2772e0000 gpt tegraid=18.1.2.0.0 tegra_keep_boot_clocks maxcpus=6 boot.slot_suffix= boot.ratchetvalues=0.2.1 androidboot.serialno=0420318067576 bl_prof_dataptr=0x10000@0x277040000 sdhci_tegra.en_boot_part_access=1 root=/dev/mmcblk0p1 rw rootwait rootfstype=ext4
## Flattened Device Tree blob at 92000000
   Booting using the fdt blob at 0x92000000
   reserving fdt memory region: addr=80000000 size=10000
   Using Device Tree in place at 0000000092000000, end 0000000092049273

Maybe someone could see something that could help me.
Thanks and cya Thomas

Hi,
You may also try to reset VBUS after booting to kernel. We have seen issues when VBUS is on too early.
https://devtalk.nvidia.com/default/topic/1036547/jetson-tx1/usb2-b43-b42-not-working-on-tx1-with-r28-2/post/5265708/#5265708
https://devtalk.nvidia.com/default/topic/1043644/jetson-tx2/usb1-and-installing-kernel-modules-for-lte-modem/post/5294983/#5294983

Hi DaneLLL,

thank you for your quick answer.
We have experienced several situations but unfortunately without success.
VBUS always on
VBUS only when devices are connected
VBUS reset in between
Pin A17 (USB_0_EN_OC) not connected
etc.

and still no success.

Thanks and cya Thomas

Hi,

On default carrier board, there are one USB2 microAB port and one USB3 type A port
USB2 microAB port connects A17, B39, B40
USB3 type A port connects A18, A38, A39, C43, C44, F43, F44

When comparing to your custom board, what is the deviation? Both microAB and type A not working?

Hi DaneL,
thanks for your help, attached the pin configuration :

USB 2.0 microAB (Flashing via this port is possible)
USB_D_N -> Pin B40
USB_D_P -> Pin B39
USB_EN_OC -> Pin A17
USB0_OTG_ID -> Pin A36
USB0_VBUS_DET -> Pin B37

USB 3.0 type A
D_N (USB1_D_N) -> Pin A39
D_P (USB1_D_P) -> Pin A38
RX_N (USB3_RX1_N) -> Pin F44
RX_P (USB3_RX1_P) -> Pin F43
TX_N (USB3_TX1_N) -> Pin C44
TX_P (USB3_TX1_P) -> Pin C43
USB1_EN_OC -> Pin A18

Thanks and cya Thomas

Hi,
So microAB port runs well. And type A port runs well in USB2 enumeration but does not work in USB3 enumeration?

Hi DaneLLL,

no port works, with port AB only the cable detection works and flashing via JetSet in recovery mode.

The 5V are also permanently off and are not activated when a device, cable etc. is plugged in. But we can switch on the regulators 17 and 18 in the system and activate the 5V at the respective port.

Thanks and cya Thomas

Hi,
Please try
https://devtalk.nvidia.com/default/topic/1028223/jetson-tx2/tx2-usb-not-work/post/5280661/#5280661
If your customer board is close to default carrier board, it should work by making one line change to default dtb.

Also please check
https://devtalk.nvidia.com/default/topic/1007448/jetson-tx2/differences-between-tx2-module-revisions/post/5144986/#5144986
On r27.1, we have an issue with default tegra186-mb1-bct-pmic-quill-p3310-1000-c04.cfg being applied to custom boards. It is fixed in later r28 release. Maybe your board requires certain changes in this config file. Please check [PMIC Changes] in adaptation guide.

Hi DaneLL,

I’m not a Unix kernel person and I’m getting used to the subject. Thanks for your help.

In the device tree we have already set the VBUS voltage to 0x1a several times but unfortunately without success.
We also use the r28 version and therefore the error should not occur, I’m a bit lost.
Currently I am trying to build a kernel and modules without the EEPRom and the IO extension.

Thanks and cya Thomas

Hi,

can I disable the EEPRom and IO extender in the kernel configuration file?

Thanks and cya Thomas

Hello DaneLLL,

your second link helped and we can now use both USB ports. Thank you ;)
But now there is a problem with the HDMI port that the screen is not recognized correctly. Previously the correct resolution of 1920x1080 was determined. Currently the system is detected with a Samsung monitor 40" and the resolution is only 1280x720.

Thx and cya Thomas

The console regularly outputs following lines:

[ 2231.889375] tegra-i2c 3190000.i2c: rx dma timeout txlen:28 rxlen:128
[ 2231.895833] tegra-i2c 3190000.i2c: --- register dump for debugging ----
[ 2231.902458] tegra-i2c 3190000.i2c: I2C_CNFG - 0x22c00
[ 2231.907530] tegra-i2c 3190000.i2c: I2C_PACKET_TRANSFER_STATUS - 0x10001
[ 2231.914315] tegra-i2c 3190000.i2c: I2C_FIFO_CONTROL - 0x1c
[ 2231.919807] tegra-i2c 3190000.i2c: I2C_FIFO_STATUS - 0x800040
[ 2231.925707] tegra-i2c 3190000.i2c: I2C_INT_MASK - 0x6c
[ 2231.930849] tegra-i2c 3190000.i2c: I2C_INT_STATUS - 0x2
[ 2231.936110] tegra-i2c 3190000.i2c: i2c transfer timed out addr: 0x50

Do you have HDMI, or anything unusual about HDMI? I’m thinking the 0x50 address is the DDC wire on HDMI (and the rail may not be powered at all times even if a monitor is connected…if no monitor is connected, then 0x50 would be expected to fail). Either way I don’t think i2c is related to USB PHY.

According to your log, it looks like i2c is not working. EDID is read through i2c from your monitor, so if it cannot read anything, our driver would just fallback to a 720p hard-coded mode.

I think it is hardware design issue here.

Hello linuxdev,
hello WayneWWW,

we use the same structure as on the TX2 developer kit, just because we don’t have an IO expander on board we switch HDMI_EN on always.
We also use a Mini HDMI socket and an adapter.
Now I try to analyze the I2C directly on the oscilloscope.

Thx and cya Thomas

What do you see from:

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

This is the EDID which is read via the DDC wire from the monitor using i2c protocol…if it is missing or corrupt, then the issue is different than an EDID which isn’t accepted. Having this EDID present might indicate that at least the i2c is functioning during some initial query of the monitor. What it doesn’t guarantee is that the i2c bus is powered at some later time during some separate i2c query.

Hi linuxdev,

it looks like the cable and the HDMI adapter were the problem, the system runs again with the correct resolution.

Thx and cya Thomas