Table of Contents

VIA VL805 chipset

VL805 ‧ VL806 - Super Speed USB 3.0 Host Controller

https://www.via-labs.com/product_show.php?id=48

Description

The VIA Lab’s VL805 (4-Port)/VL806 (2-Port) is a USB 3.0 Host controller, which enables a PCI Express equipped platform to interface with USB Super-Speed (5 Gbps), High-Speed (480 Mbps), Full-Speed (12 Mbps), and Low-Speed (1.5 Mbps) devices. The root hub consists of four downstream facing ports enabling the simultaneous operation of multiple peripheral devices.

The VIA Lab’s VL805/VL806 complies with the Universal Serial Bus 3.0 Specification and Intel's eXtensible Host Controller Interface (xHCI), and is fully backward compatible with USB 2.0 and 1.1 specifications, ensuring seamless connectivity of legacy USB devices. VL805/VL806 have a PCI Express 2.0 x1 interface backwards compatible with PCI Express 1.0 and is perfectly suited for both PC Host and Add-In Card applications. 


    Compliant to Universal Serial Bus 3.0 Specification Revision 1.0
    Compliant to Universal Serial Bus 2.0 Specification
    Compliant to eXtensible Host Controller Interface (xHCI) Specification Revision 1.0
    Supports Legacy USB Function
    Compliant with PCI Express Base Specification 2.0
    In-house USB PHY employs advanced CMOS process to reduce power consumption

    Supports Battery Charging Specification
    Firmware upgrade options include integrated firmware in system BIOS
    Software
    - Initial Driver Support for Windows 7, Vista, and XP
    - USB Attached SCSI Protocol (UASP)
    - Supports various Linux kernels
    - Supports Windows 10, Windows 8 inbox driver
04:00.0 USB controller: VIA Technologies, Inc. VL805 USB 3.0 Host Controller (rev 01) (prog-if 30 [XHCI])
	Subsystem: VIA Technologies, Inc. VL805 USB 3.0 Host Controller
	Flags: bus master, fast devsel, latency 0, IRQ 29
	Memory at fe900000 (64-bit, non-prefetchable) [size=4K]
	Capabilities: <access denied>
	Kernel driver in use: xhci_hcd
	Kernel modules: xhci_pci

Issues

Bug 1409098 - Enabling AMD IOMMU blocks function of Via VL805 USB 3.0 chipset [NEEDINFO] Bug 1376455 - AMD IOMMU blocks function of Via VL805 USB 3.0 chipset

GRUB_CMDLINE_LINUX_DEFAULT="iommu=soft"
update-grub

Firmware

Versions:

Firmwares are available in Raspberry Pi 4 eeprom repo:

Update

I decided to use Windows XP VirtualBox based guest system and use PCI pass through feature

VBoxManage modifyvm "VM name" --pciattach 04:00.0@01:05.0

Targeted VID = 1106
Targeted PID = 3483
 
ISP file size: 24246(DW)

FW file = 013704.bin
VL805/VL806 is found.
Bus=1, Dev=5, Func=0
, Chip Verision=B1
 
Cannot Recognize SPI Flash, Try Default Flash Command To Download...
spi erase

pageSizeDW = 64

wait while programming...

Update ISP Success.

https://ubuntuforums.org/archive/index.php/t-2390208.html After some research I was able to successfully upgrade after editing the SpiFlash.ini file with the parameters of the 25P10VP chip on my board.

I added the following:

SpiFlash.ini

21=25P10VP



[25P10VP]
FlashID = 202011
ReadID = 9F
WriteEnable = 06
WriteStatus = 01
ChipErase = C7
ReadData = 03
ReadStatus = 05
PageProgram = 02
ClockRate = 32
PageSize = 10
Targeted VID = 1106
Targeted PID = 3483
 
ISP file size: 24246(DW)

FW file = 013704.bin
VL805/VL806 is found.
Bus=1, Dev=5, Func=0
, Chip Verision=B1
 
Match gFlashType No. = 21, FlashType = 25P10VP

spi erase

pageSizeDW = 64

wait while programming...

Update ISP Success.

To detach the same device, use:

VBoxManage modifyvm "VM name" --pcidetach 04:00.0