More documentation for PCIe

I want to port an operating system to my HiFive Unmatched board and need to write PCIe drivers and at least a simple generic VGA driver. The section about PCIe in the FU740 documentation is quite short. Is there more info available?

Also, ASMedia hasn’t responding yet regarding schematics and data sheets for their chips that SiFive uses which is … unfortunate.

The linux kernel patches for fu740 say it is a Synopsys Designware PCIe host controller. This is licensed IP so there are probably restrictions on what we can say about it. You might be able to get more info from Synopsys. Or by looking at various open source support for Synopsis Designware PCIe IP. The linux kernel patches for instance contain a lot of useful info.
https://github.com/sifive/meta-sifive/blob/2021.05/recipes-kernel/linux/files/0013-dt-bindings-PCI-Add-SiFive-FU740-PCIe-host-controlle.patch
https://github.com/sifive/meta-sifive/blob/2021.05/recipes-kernel/linux/files/0015-riscv-dts-Add-PCIe-support-for-the-SiFive-FU740-C000.patch

The ASMedia part is a PCIe switch. I’m not an expert in this area, but I would guess this works autonomously and you don’t have to worry about programming it. I don’t see linux kernel patches that mention ASMedia.

1 Like