Hello Raspberry Pi community,
I'm working on a custom hardware design using the Raspberry Pi Compute Module 5 and would like to get some feedback on my USB configuration approach.
My Project Requirements
I'm planning to implement a switching mechanism for the USB2.0 port. When a USB Type-C connector is plugged in, I want to route the USB2.0 port to the Type-C connector for eMMC programming. When unplugged, I want to route it to a USB hub to create two downstream ports which will be used for an LTE module.
Implementation idea: I'm thinking of controlling this multiplexing operation using the Vbus signal from the Type-C connector. When Vbus is present (5V), the multiplexer will route the USB2.0 signals to the Type-C connector; when absent, it will route to the USB hub, but RPI CM5 has two additional CC pins so it's a little bit confusing.
Second Scenario: USB3.0 Configuration
For one of the USB3.0 controllers, I'm planning to:
Route the SuperSpeed (SSTX/SSRX) pairs directly to a USB3.0 type-a connector.
Route the D+/D- pairs from the same controller to a USB2.0 hub
Then route one of the hub's downstream ports back to the same USB3.0 port where the SuperSpeed signals go
Use the other downstream ports from the hub for the LTE module
This way, the USB3.0 port will have both SuperSpeed and USB2.0 signals, though the USB2.0 signals will pass through a hub.
Questions:
Has anyone implemented a similar approach with CM5?
Is there anything specific I should be aware of when using a USB2.0 hub in conjunction with USB3.0 SuperSpeed pairs in this configuration?
Any recommended multiplexer ICs or USB hubs that work well with CM5?a
I'm working on a custom hardware design using the Raspberry Pi Compute Module 5 and would like to get some feedback on my USB configuration approach.
My Project Requirements
- 4 USB buses total
- Need to use the CM5's dual HS USB3.0 controllers and single USB2.0 controller
I'm planning to implement a switching mechanism for the USB2.0 port. When a USB Type-C connector is plugged in, I want to route the USB2.0 port to the Type-C connector for eMMC programming. When unplugged, I want to route it to a USB hub to create two downstream ports which will be used for an LTE module.
Implementation idea: I'm thinking of controlling this multiplexing operation using the Vbus signal from the Type-C connector. When Vbus is present (5V), the multiplexer will route the USB2.0 signals to the Type-C connector; when absent, it will route to the USB hub, but RPI CM5 has two additional CC pins so it's a little bit confusing.
Second Scenario: USB3.0 Configuration
For one of the USB3.0 controllers, I'm planning to:
Route the SuperSpeed (SSTX/SSRX) pairs directly to a USB3.0 type-a connector.
Route the D+/D- pairs from the same controller to a USB2.0 hub
Then route one of the hub's downstream ports back to the same USB3.0 port where the SuperSpeed signals go
Use the other downstream ports from the hub for the LTE module
This way, the USB3.0 port will have both SuperSpeed and USB2.0 signals, though the USB2.0 signals will pass through a hub.
Questions:
Has anyone implemented a similar approach with CM5?
Is there anything specific I should be aware of when using a USB2.0 hub in conjunction with USB3.0 SuperSpeed pairs in this configuration?
Any recommended multiplexer ICs or USB hubs that work well with CM5?a
Statistics: Posted by persoentif — Thu Mar 20, 2025 8:31 pm — Replies 1 — Views 54