Hacker Read top | best | new | newcomments | leaders | about | bookmarklet login

Modern SoCs use PCIe. The Raspberry Pi 4 B+'s USB 3 chip is connected to it's SoC via PCIe bus.


sort by: page size:

Yeah but RPi SoC is apparently lacking in PCIe lanes. I think they need a different SoC so they can finally have ethernet/storage/usb controller on the PCIe bus.

Please correct me if I’m wrong but no RaspPi has a PCIe interface, yet. From the embedded side of things, I would expect that to be a whole Pi generation out. Even then, I’m honestly not sure what the use case is, the Pi is doing amazing things with SPI and USB.

It's enabled in the Pi 4 compute module; the carrier board has a PCIe slot.

It's pretty awesome stuff, but what could be a real use of PCIe in Raspberry Pi except for experimenting ? Just curious, but most things I can think of are probably going to bottleneck...

The recently released RPI 5 offers PCIe connectivity I believe.

The Raspberry Pi 4 Compute Module can be installed onto several carrier boards that offer PCIe - Check out Jeff Geerlings channel on YouTube.

You can certainly use the PCIe support on the RPi 4 CM with a SATA controller. Either with a PCIe SATA card on the IO board you linked, or by building a custom board.

The Turing Pi project looks to do that with their next version: https://turingpi.com/v2/

Should be much more stable than a USB3 connection.


Here's some mad lad adding PCIe slots to a Raspberry Pi 4:

https://twitter.com/domipheus/status/1167566293861588992

It's definitely possible, just need to expost the PCIe lanes in a sensible way (this has been rare to see on ARM-based machines so far) and have PCIe device manufacturers distribute drivers for ARM macOS.


I see, thanks.

Have you seen the compute module though? It exposes a PCIe slot via a separate I/O board. At first I assumed there was some free lanes, but now I see it doesn't exposea usb 3.0 ports, only 2.0.

Still, I would rather have a dedicated bus for storage with usb 2.0 rather than usb 3.0

[1]: https://www.raspberrypi.org/products/compute-module-4/?varia...


Depending on what your idea of a computer is, the reference carrier board for the Raspberry Pi 4 compute module has a pcie x1 slot. The jetson family of developer kits have pcie connectivity. The 4GB Jetson Nano has an m.2 E key slot which has a pcie x1 lane, with the right adapter available from Amazon or alibaba or where ever, you can plug in a pcie card of your choice. The Xavier NX has two m.2 slots, which again, with adapters can connect to pcie cards. Though I’m not sure of the use case as the jetson line has fairly capable gpus built in.

There's at least one reported case of a PCIe multiplier card working with the Pi4: http://labs.domipheus.com/blog/raspberry-pi-4-pci-express-it...

Yes, many ARM based SOCs include PCIE IP...SOCs from Freescale, TI, Nvidia, etc. typically supporting PCIE RC and EP.

Lots of boards with ARM based SOCs are using PCIE WiFi/BT combo chips which traditionally used SDIO. PCIE also being used for storage.


I'm curious if we'll see a PCIe Raspberry 4 this March.

If not I'll use Intel Atoms with SATA as backup to my Raspberry 2/4 cluster.


I think that these days there's a lot of convergence going on - everything is essentially serdes in some form - some chips just have N serdes lanes and let you config them for PCIe/ether/data/USB/etc as you need them, much as more traditional SoCs config GPIOs between a bunch of other functions like uarts/spi/i2c/i2s/pcm/...

My understanding is that the ethernet module on the raspberry pi is a usb device, not a pci device.

> So it seems like it's kind of like low-pin-count ISA-ish bus with direct pin connections to the cpu's pins.

SPI and I2C plus some generic pins. This are the typical interfaces used in microcontrollers.

If I were to build a “bigger” versions of this, I’d avoid PCIe altogether and jump to USB 3.x directly, since it’s a much better fit.


IIRC, If you hack into PCIe, you only lose USB 3.0, because the USB 2.0 ports are directly connected to the SoC.

Are you referring to pcie 4?

That's probably the way to think about it. PCIe devices communicate point-to-point over dual-simplex serial connections. If you have something like a Raspberry Pi CM4, which only has a single PCIe lane, then there's going to be a PCIe switch.
next

Legal | privacy