Just stick your solutions in this thread, I'll keep the prefix index updated.

sorry, this is not a solution yet, but I'm pretty sure that by using a proper factory cable
one can put their KPW directly into a Diag Mode.
Analyzing the u-boot source code and 34708 PMIC datasheet almost confirmed that.
I already made a cable, but couldn't find a proper resistor around.. later.

sorry, this is not a solution yet, but I'm pretty sure that by using a proper factory cable
one can put their KPW directly into a Diag Mode.
Analyzing the u-boot source code and 34708 PMIC datasheet almost confirmed that.
I already made a cable, but couldn't find a proper resistor around.. later.

That "factory cable" at your first link is just a homebrew microUSB cable, with the addition of a 1K resistor on the ID pin. Does the PW support that? It would be great if this can be done with such a cable.

Some "host mode" adapter cables already have such a jumper. It could be interesting to see if one of those can be used. EDIT: No, the ID pin connects to GND on an OTG host mode cable, but in a factory cable it connects to +5v.

That "factory cable" at your first link is just a homebrew microUSB cable, with the addition of a 1K resistor on the ID pin. Does the PW support that? It would be great if this can be done with such a cable.

... as far as I know, the host mode cables have this ID wire grounded.

You are correct. I just tested an OTG host mode cable, which did not work. Then I looked up the pinout, and the ID pin is connected to GND. For the "factory cable" it needs to be pulled high, to the +5v pin.

It should work only if boot_mode is set to "factory", right? By default, boot_mode is set to "main". It's initialized from some configuration variable (idme variable), persistently stored at eMMC. You can change bootmode from U-Boot console (by idme command) or from root shell on device (by /usr/sbin/idme tool).

It should work only if boot_mode is set to "factory", right? By default, boot_mode is set to "main". It's initialized from some configuration variable (idme variable), persistently stored at eMMC. You can change bootmode from U-Boot console (by idme command) or from root shell on device (by /usr/sbin/idme tool).

Another "catch-22" situation. The factory cable may only work if bootmode = factory, but you need root access to change that bootmode var. After you have root, you no longer need factory mode.

Sorry to dig out such old stuff, but did you get any further with playing with the ID pin on the micro USB connector? I've just read PMIC datasheets - does the KPW really use the MC34708? I'm asking because the kernel on a running device reports a MC13892 instead. But the latter is not plausible on a i.MX50 device - maybe just re-used old code from the i.MX35 devices on the software side.

I'd be interested in whether the UART pass-through would work when it really is a MC34708 (and the cited uboot code seems to indicate that). The "factory mode" seems to be related to powering only (and the ID pin is pulled high for that, see ). The UART modes however seem to be triggered by pulling the ID pin low with a 150 kOhm resistor (table 95 in the MC34708 datasheet). For general circuit of UART operation, see figure 30. Then there are also the JIG UART cable resistance values.