[flashrom] USB 3 PCI Card support (request to add device)

Philipp Post post.philipp at googlemail.com
Sun Feb 3 18:11:43 CET 2013

Hello Stefan,

thanks for your message and taking the time to look into this.

>> stupid question... but this sounds a bit as if it could not find the
file, maybe that's the problem?
you say the tool detects the chip... which one? the uPD720200A or the
AT25F512B? <<

I have checked this already and tried the Windows and DOS versions of the
tool. I tried up- and download of firmware, but both end up with "cannot
load firmware" or error 9 which apparently means the same = no access to the
firmware.  The tool reports that it detects the RENESAS uPD720200A not the
ATMEL  AT25F512B however.

I do assume that the tool cannot handle PCI access, but motherboards only -
and maybe PCIe cards.

This card has also a PERICOM PCIe to PCI bridge on it. Apparently the
RENESAS chip needs PCIe to work with, which is translated back to the
motherboard's PCI slot with this bridge:
02:09.0 PCI bridge [0604]: Pericom Semiconductor Device [12d8:e111] (rev 02)

>>if at all we would need you to test our code on the real hardware.<<

Appreciate to do this. I do have the flashrom source code on the Ubuntu
installation. I did a successful build already ("make install"). - But I do
not have experience in C programming, just in VB, VBA and SQL. 

>> i had to create an account on renesas' website to get the datasheet and a
few other documents. they are quite informative in general but there is very
little detail about the SPI interface unfortunately. OTOH the datasheet of
the uPD720202 describes the SPI and firmware access in detail and from what
i have seen i would presume that it is at least very similar to the 200A
interface. <<

To be honest, I am not sure and looked at the papers there as well with the
same result. The uPD720200 and uPD720200A seem to be NEC chips which RENESAS
inherited when they took over NEC. The newer devices are developed by
Renesas themselves I guess. uPD720200 and uPD720200A are closer to each
other where uPD720200A has improved power management. Maybe RENESAS just
provides the rom programming papers for uPD720200A on request, however I did
not ask yet. 

>> so to answer your question: yes, adding support is probably possible.
the interface is not very nice to work with, because it does not give direct
access to the SPI bus and hence it would not be a nice generic SPI flash
controller (like the intel nics are), but reading and writing firmware
should be possible to get working. 
i dont think any of the regulars here will be motivated to try though and i
do not presume that you would like to hire someone to do it? :) <<

That would not make much sense to fix a 40 EUR device indeed. Nevertheless I
think adding support to fix the RENESAS USB 3 chips would provide additional
value to flashrom as I see much trouble reports also for mainboards (from
Asus and others) on the web. I would be willing to give a moderate donnation
to the flashrom project if things could be fixed successfully but this will
certainly not pay the time of anyone. 

What about creating a simple patch which shows if we could access the
firmware at all and stop there if it does not work?

>> please send us the output of lspci -nnxxxvv -d 1033:0194 <<

output of lspci -nnxxxvv -d 1033:0194
03:00.0 USB Controller [0c03]: NEC Corporation uPD720200 USB 3.0 Host
Controller [1033:0194] (rev 04) (prog-if 30 [XHCI])
	Subsystem: NEC Corporation uPD720200 USB 3.0 Host Controller
	Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr-
Stepping- SERR+ FastB2B- DisINTx+
	Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort-
<TAbort- <MAbort- >SERR- <PERR- INTx-
	Latency: 0, Cache Line Size: 32 bytes
	Interrupt: pin A routed to IRQ 21
	Region 0: Memory at a0300000 (64-bit, non-prefetchable) [size=8K]
	Capabilities: <access denied>
	Kernel driver in use: xhci_hcd
	Kernel modules: xhci-hcd
00: 33 10 94 01 06 05 10 00 04 30 03 0c 08 00 00 00
10: 04 00 30 a0 00 00 00 00 00 00 00 00 00 00 00 00
20: 00 00 00 00 00 00 00 00 00 00 00 00 33 10 94 01
30: 00 00 00 00 50 00 00 00 00 00 00 00 0b 01 00 00

Thanks + brgds
Philipp Post

More information about the flashrom mailing list