Hello, I am having a problem when using TX2 and need your help.
We made the baseboard ourselves, USB2 can be used normally. Now we want to use USB1, encapsulate USB1 into mini PCIE, and use 4G module EC20. But after the EC20 driver was transplanted, the device could not be identified. Now I am not sure if it is a problem with USB1 or EC20. How can I make sure that USB1 works?
If you have own custom baseboard, which usb lane mapping are you using? Also, you are using a usb->mini PCIE converter. Could you try to use normal pcie device and see if the port works?
For USB Lane mapping, we use the default configuration (configs #2).
On my custom base board, we designed USB1 to use USB2.0, but on TX2 DevKit, it is USB3.0. So I think maybe this is the problem that makes USB1 unable to work.
Now I want to turn USB1 into USB2.0, which device trees should I modify? And how to do?
I have changed the odmdata in p2771-0000.conf.common to 0x90000 , to modify the configuration of USB Lane mapping to #1.
sudo su
cd /sys/class/gpio
echo 413 > export
cd gpio413
echo out > direction && echo 0 > value # Will turn off the port
echo out > direction && echo 1 > value # Will turn on the port
The result of running “sudo cat /sys/kernel/debug/gpio” is the follow:
GPIOs 224-231, platform/max77620-gpio, max77620-gpio, can sleep:
gpio-224 ( |external-connection:) in hi
gpio-229 ( |spmic_gpio_input_5 ) in lo
gpio-230 ( |spmic_gpio_input_6 ) in hi
GPIOs 232-255, i2c/0-0022, tca6424, can sleep:
gpio-232 ( |vdd-usb2-5v ) out hi
gpio-233 ( |en-vdd-ts-1v8 ) out hi
gpio-234 ( |en-vdd-ts-hv-3v3 ) out hi
gpio-235 ( |en-vdd-disp-3v3 ) out hi
gpio-236 ( |vdd-fan ) out hi
gpio-237 ( |vdd-usb2-5v ) out hi
gpio-238 ( |vdd-usb2-5v ) out hi
gpio-239 ( |en-mdm-pwr-3v7 ) out hi
gpio-240 ( |vdd-usb2-5v ) out hi
gpio-241 ( |en-vdd-disp-1v8 ) out hi
gpio-242 ( |dis-vdd-1v2 ) out hi
gpio-243 ( |vdd-usb2-5v ) out hi
gpio-244 ( |vdd-hdmi ) out hi
gpio-245 ( |en-vdd-cam-hv-2v8 ) out hi
gpio-246 ( |vdd-usb2-5v ) out hi
gpio-247 ( |vdd-usb2-5v ) out hi
gpio-248 ( |vdd-usb2-5v ) out hi
gpio-249 ( |vdd-usb2-5v ) out hi
gpio-250 ( |vdd-usb2-5v ) out hi
gpio-251 ( |vdd-usb2-5v ) out hi
GPIOs 256-319, platform/c2f0000.gpio, tegra-gpio-aon:
gpio-272 ( |temp_alert ) in hi
gpio-312 ( |Power ) in hi
gpio-313 ( |Volume Up ) in hi
gpio-314 ( |Volume Down ) in hi
gpio-315 ( |wifi-wake-ap ) in lo
gpio-316 ( |bt_host_wake ) in lo
GPIOs 320-511, platform/2200000.gpio, tegra-gpio:
gpio-381 ( |reset_gpio ) out hi
gpio-412 ( |vdd-usb0-5v ) out lo
gpio-413 ( |vdd-usb1-5v ) out lo
gpio-420 ( |eqos_phy_reset ) out hi
gpio-421 ( |eqos_phy_intr ) in hi
gpio-424 ( |wifi-enable ) out hi
gpio-426 ( |cam1-pwdn ) out lo
gpio-441 ( |hdmi2.0_hpd ) in lo
gpio-444 ( |wp ) in hi
gpio-445 ( |cd ) in hi
gpio-446 ( |en-vdd-sd ) out lo
gpio-456 ( |cam0-pwdn ) out lo
gpio-457 ( |cam1-rst ) out lo
gpio-461 ( |cam0-rst ) out lo
gpio-479 ( |external-connection:) in hi
gpio-484 ( |bt_ext_wake ) out hi
We used R28.2.
BTW,in the our custom baseboard, we
removed INA3221.
replaced I2C TCA9539 with TCA6424
used USB2 from M.2
turn USB1 into USB2.0(see Floor #5)
I modified the .dts to suit our baseboard.
hardware/nvidia/platform/t18x/common/kernel-dts/tegra186-cvb-prod-p2597-b00-p3310-1000-a00-00.dtsi
Should we modify these cfg for TX2?
/Linux_for_Tegra/p2771-0000.conf.common
Linux_for_Tegra/bootloader/t186ref/BCT/tegra186-mb1-bct-pmic-quill-p3310-1000-a00.cfg
Hi Ethan,
Per your comment #5, you do not connect A18 to VBUS of USB2 Type A port, so it does not have effect to control A18. How do you connect VBUS of USB2 Type A port?
VBUS of USB2 Type A port from TPS5430.
Our hardware engineers say that the 5v or3.3v power supply on our custom baseboard cannot be controlled from a software perspective.
Hi Ethan,
Please try HW reset VBUS after booting to kernel. See if it can enumerate the modem.
We have seen enumeration issue when VBUS is on too early.