New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 822125 link

Starred by 1 user

Issue metadata

Status: WontFix
Owner: ----
Closed: Mar 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Bug



Sign in to add a comment

ec: Consider removing physical USB2 switch

Project Member Reported by philipchen@chromium.org, Mar 15 2018

Issue description

For most boards supporting BC 1.2, we have a USB2 switch on the board or in the charger chip (e.g. bd9995x).
We turn off the switch when we want to avoid a possible conflict on D+/D- line between charging port detection (from the charger) and USB2 enumeration (from USB2 PHY on AP).

Theoretically, the physical USB2 switch can be replaced with a 'virtual' one (i.e. better sync mechanism between EC and AP).
To be more specific, we can always tell AP to power off USB2 PHY, which is equivalent to turning off the physical USB2 switch.
 

Comment 1 by vpalatin@google.com, Mar 15 2018

> For most boards supporting BC 1.2, we have a USB2 switch on the board or in the charger chip 

Can you point me at an example of the actual piece of hardware you want to remove ?

I was under the impression you get it from 'free' in most designs (eg it's integrated in the BC1.2 detector silicon)
then what would be the advantage of such a solution (which is definitely tricky to make work for both timings reason and the fact that the BC1.2 relies on small currents or voltage level which can be messed up by the host side PHY)

Comment 2 by vpalatin@google.com, Mar 15 2018

Cc: dnschn...@chromium.org
My understanding follows Vincent's. For example, the TI BQ24392 will perform BC 1.2 detection and then connect the data lines to the system if necessary / depending upon the result. I think the pericom one behaves similarly, but also has the option for manually controlling the switches.
Sorry, I though we have a physical switch for some projects.
It looks like this switch is always incorporated into the chips in charge of BC 1.2 detection.

Among all the chips we use so far, rt946x is the only one doing BC 1.2 detection but not coming with a 'free', built-in switch.
Scarlet is the only board using rt946x so far, and we're trying to enable BC 1.2:
https://chromium-review.googlesource.com/#/c/chromiumos/platform/ec/+/905934/
So maybe this concern is only valid for Scarlet for now.

Yeah, we generally only go with solutions that have built-in switches.  There usually isn't much benefit to the non-switch solutions (especially since the behavior of the host port may be undefined depending on the SoC), except for the RT9467 case where it was significantly cheaper and RK explicitly acknowledged it would work.

So I don't think there's anything to do here...
Status: WontFix (was: Untriaged)

Sign in to add a comment