Vengineerの妄想(準備期間)

人生は短いけど、長いです。人生を楽しみましょう!

Raspberry Pi 5のBCM2712は、BCM2711とどこが違う?

はじめに

Raspberry Pi 5のSoCはBCM2712です。Raspberry Pi 4のSoCであるBCM2711とどこが違うのかを調べてみました。

BCM2712

arch/arm/boot/dts/bcm2712.dtsi を下記のように整理してみました。

  • bcm2712-hvs (vc4) : 割り込み 2835-hvs, 2711-hvs, 2712-hvs
  • bcm2712-mop (vc4) : 2835-txp, 2712-mop, 2712-moplet
  • bcm2712-moplet (vc4) : 2835-txp, 2712-mop, 2712-moplet
  • bcm2712-aon-pinctrl
  • bcm2712-pinctrl
  • bcm2712-pm : 2835-pm-wdt, 2835-pm, 2711-pm, 2712-pm ("v3d", "peri_image", "h264", "isp")
  • bcm2712-hdmi0 : 2835-hdmi, 2711-hdmi0, 2711-hdmi1, 2712-hdmi0, 2712-hdmi1
  • bcm2712-hdmi1
  • bcm2711-l2-intc : 7271-l2-intc, 2711-l2-intc
  • bcm2712-vc6 : cygnus-vc4, 2835, 2711-vc5, 2712-vc6 (VC4 GenX)
  • brcm,2712-v3d : 7278, 7268, 2711, 2712
  • bcm2712-iommu
  • bcm2712-iommuc
  • bcm2712-dma : 2835, 2711, 2712
  • bcm2712-pcie : pcie0 (x1), pcie1 (x1), pcie2 (x4) : 2711, 2712, 7211, 7278
  • bcm7216-pcie-sata-rescal
  • bcm2712-mip-intc : mip0, mip1
  • bcm2711-genet-v5 : GbE(rgmii) gnet-v1, v2, v3, v4, v5, 7712, 2711, 2712
  • brcm,syscon-piarbctl
  • raspberrypi,rpivid-vid-decoder
  • bcm2712-sdhci : sdio1, sdio2 7425, 7445, 7216, 2712
  • bcm2711-emmc2 : sdio0 2835-sdhci, 2711-emmc2, 7211a0-sdhci, sdhci-iproc
  • brcmstb-reset
  • raspberrypi,pispbe
  • brcm2711-dvp : DVP clock制御
  • bcm2711-i2c : i2c0, 3, 4, 5, 6, 8
  • bcm2711-cprman
  • bcm2711-rng200
  • bcm2711-avs-monitor
  • arm,pl011 : uart0, 2, 3, 4, 5
  • bcm2835-system-timer
  • bcm2835-mbox
  • bcm2835-usb
  • bcm2835-sdhost
  • bcm2835-pwm : pwm0, 1
  • bcm2835-i2s
  • bcm2835-spi : spi0, 3, 4, 5, 6
  • bcm7038-pwm
  • bcm7271-uart : uarta, uartb, uartc
  • brcmstb-i2c : ddc0, 1bscd
  • brcmstb-gpio

2712 が付いているものは、下記のものです。Raspberry Pi 5 で使われている部分 (VideoCore, HDMI, SDHC/SDIOI) が多いです。

  • bcm2712-hvs (vc4) : 割り込み 2835-hvs, 2711-hvs, 2712-hvs
  • bcm2712-mop (vc4) : 2835-txp, 2712-mop, 2712-moplet
  • bcm2712-moplet (vc4) : 2835-txp, 2712-mop, 2712-moplet
  • bcm2712-aon-pinctrl
  • bcm2712-pinctrl
  • bcm2712-pm : 2835-pm-wdt, 2835-pm, 2711-pm, 2712-pm
  • bcm2712-hdmi0 : 2835-hdmi, 2711-hdmi0, 2711-hdmi1, 2712-hdmi0, 2712-hdmi1
  • bcm2712-hdmi1
  • bcm2712-vc6 : cygnus-vc4, 2835, 2711-vc5, 2712-vc6 (VC4 GenX)
  • brcm,2712-v3d : 7278, 7268, 2711, 2712
  • bcm2712-iommu
  • bcm2712-iommuc
  • bcm2712-dma : 2835, 2711, 2712
  • bcm2712-pcie : pcie0 (x1), pcie1 (x1), pcie2 (x4) : 2711, 2712, 7211, 7278
  • bcm2712-mip-intc : mip0, mip1
  • bcm2712-sdhci : sdio1, sdio2 7425, 7445, 7216, 2712

新規は下記だけで、少ないです。

  • bcm2712-aon-pinctrl
  • bcm2712-pinctrl
  • bcm2712-iommu
  • bcm2712-iommuc

I/O MMU が追加されました。

  • iommu2 : PISP-BE, HEVC; H264 accelerators
  • iommu4 : HVS, MPL/TXP ; Unicam, PISP-FE, MiniBVN
  • iommu5 : PCIe2 (RP1); and (unused) BSTM

PCIe

BCM2711 では、PCIe RootComplex は 1つ (x1) ですが、BCM2712 では、PCIe Root Complex は 3つです。

Gen3 のようです。

おわりに

BCM2712単体でも使えるようですが、RP1と一緒に使うとより機能を増やせる感じですかね。また、BCM2712 単体でもそれなりの機能があるのでもしかしたら、BCM2712 単体のボードも出てくるかもしれませんね。