On Sun, Mar 13, 2022 at 9:49 AM Nico Huber <nico.h@gmx.de> wrote:
On 13.03.22 08:28, Anastasia Klimchuk wrote:
... 
>> ad08aef6 Undocumented programmer. disable? drop from realease branch?
>
> I looked that is about raiden debug programmer. If it is undocumented, can
> we document?

Hopefully. IMO, the minimum for a new programmer to be accepted upstream
is a section in the manpage, including documentation about programmer
parameters. With such documentation at hand, we could even start to re-
view the code ;)

I had a look at the comment on top of `raiden_debug_spi.c` right now.
I knew it was attached over USB, but it seems that the other end goes
directly to the target device (not any kind of dongle between two
computers). If that is the case, it would be important to know what
Chromebook (I guess) models support it.

The raiden driver works with a number of different ChromeOS debug methods,
 not just chromebooks directly:
1) ChromeOS devices that support case closed debug (CCD) using the SuzyQable.
  -  Make your own: https://www.youtube.com/watch?v=WGsyXlgSxFk
  - Was sold by sparkfun, but due to the chip shortages, it's out of stock.

2) ChromeOS devices that support CCD, using the Servo-V4 device.
 - This device and the two below are only available from google, because we
   haven't found a reseller that will partner with us to manufacture and sell it.
 - Both of these are documented on the CCD page at chromium.org:
   https://chromium.googlesource.com/chromiumos/third_party/hdctools/+/HEAD/docs/ccd.md

3) New ChromeOS devices that use the C2D2 debugger & 8-pin connector.
  - Somewhat documented at chromum.org:
    https://chromium.googlesource.com/chromiumos/third_party/hdctools/+/HEAD/docs/using_em100_with_c2d2.md

4) Old ChromeoOS devices that use the older style servo connector, debugged
with the uServo debugger.
  - Documented at chromium.org:
    https://chromium.googlesource.com/chromiumos/third_party/hdctools/+/HEAD/docs/servo_micro.md

The raiden driver is actually just a basic USB to serial driver that
expects the Google UBS VIDs & DIDs.  The flashrom interface
sets up the packets in the way that the debugger on the other end
of the device expects.

As Nico mentioned, there's good documentation in the flashrom code
already, and the entire rest of the interface is in the ChromeOS EC
codebase, so it shouldn't be difficult to get the documentation done.

I can work on that unless someone else wants the task.

Martin