Can a mouse be driven with only one USB0?

Teacher:
The carrier board designed by our company only has one USB0. This USB0 is used as a download port, which makes it impossible to operate the system after startup. Is there any way to install a mouse driver on USB0?

老师:

我公司设计的载板,只有一个USB0。这个usb0用来做下载口,导致系统启动之后操作不了。请问有什么办法能在USB0上装鼠标驱动呢?

*** Please note that this reply is generated by LLM automatically ***

I see you’re having an issue with the USB configuration on your custom carrier board for the Jetson Orin Nano. I’ll provide a detailed answer to help you resolve this.

Understanding the USB Configuration

The Jetson Orin Nano Developer Kit uses a P3767 System on Module (SOM) connected to a P3768 carrier board. The SOM and carrier board each have an EEPROM where the board ID is saved. The Developer Kit can be used without any software configuration modifications.

However, when using a custom carrier board, you need to ensure that the USB configuration is correct. In your case, you have only one USB0 port, which is used as a download port. This makes it impossible to operate the system after startup.

Required Device Tree Changes

To install a mouse driver on USB0, you need to make changes to the device tree. The device tree is a data structure that describes the hardware components of a system. You need to configure the USB ports in the device tree to enable the mouse driver.

The section “Required Device Tree Changes” in the provided context explains how to configure the USB ports. It takes J39, a USB 3.2 type-C connector, as an example of a host-only port. You need to review the schematics of your custom carrier board and configure the USB ports accordingly.

Configuring USB0 as a Host Port

To configure USB0 as a host port, you need to follow these steps:

  1. Review the schematics of your custom carrier board and find the wired socket location to P3701.
  2. Check the USB connectors on the carrier board and find the USB0 port.
  3. Configure the USB0 signal pairs (D+/D−) to be wired to UTMI pad 0 (USB2 port 0).
  4. Configure the USB3.2 signal pairs (TX* and RX*) to be wired to UPHY lane 1 (USB3.2 port 1 according to UPHY lane mapping).

Installing the Mouse Driver

Once you have configured the USB0 port as a host port, you can install the mouse driver. You can use the standard Linux mouse driver, which is usually included in the Linux kernel.

To install the mouse driver, you need to:

  1. Compile the Linux kernel with the mouse driver enabled.
  2. Load the mouse driver module into the kernel.
  3. Configure the mouse driver to use the USB0 port.

Comparison with the P3737 Carrier Board

The P3737 carrier board is used as an example in the provided context. It has a USB 3.2 type-C connector (J39) that is configured as a host-only port. You can compare the schematics of your custom carrier board with the P3737 carrier board to ensure that the USB configuration is correct.

In summary, to install a mouse driver on USB0, you need to configure the USB0 port as a host port by making changes to the device tree. You need to review the schematics of your custom carrier board and configure the USB ports accordingly. Once you have configured the USB0 port, you can install the mouse driver using the standard Linux mouse driver.

*** Please give the thumbs up if you get answers you like. Or provide feedback to help us improve the answer. ***

How to change the ‘Device Tree’? Can you give me some information?

怎么更改"Device Tree" ?能给我一些资料吗?

doc:

You also need some background knowledge of the USB hardware directly.

And also the knowledge of device tree itself which is from Linux kernel.

谢谢老师,我已经认真看。

老师:

这个命令应该写什么呢?

Hi,

Take r36.4.3 for example,

./source_sync.sh  -t jetson_36.4.3

Thanks

Thank you for your guidance.

this“kernel_oot_modules_src.tbz2”怎么找不到呢,貌似解压出来之后没有?Can’t find it. After decompressing, it’s not there? What went wrong?

Teacher, I can’t find this“kernel_oot_modules_src.tbz2”.

Hi,
You can run source_sync.sh to get the source code. Or download this package:

Jetson Linux Release 36.4.4 | NVIDIA Developer
Driver Package (BSP) Sources

Here is an example of kernel customization:
No data from Joystick Logitech-f710 - #10 by DaneLLL

Because you need to revise device tree, you would need to do the steps Building the DTBs(not do in the example since we use developer kit and can use the default files)