bcm27xx: add new bcm2712 subtarget
authorMarty Jones <mj8263788@gmail.com>
Thu, 18 Jan 2024 14:52:22 +0000 (09:52 -0500)
committerÁlvaro Fernández Rojas <noltari@gmail.com>
Thu, 25 Jan 2024 16:46:46 +0000 (17:46 +0100)
commit8b63d9ac4ae9bd9a83a656825fb0c74fe0f4f25f
treef0c05844a36b0c18c2d8e73e6cdb3d3f35a99336
parentbeccf65a93a3a54d4af7cbdbff4b7d51ce52a58c
bcm27xx: add new bcm2712 subtarget

This patch adds support for Raspberry Pi 5.

Instead of using 16K pages like Raspberry Pi OS, OpenWrt uses 4K pages due to
incompatibilities with F2FS and other applications.
There are multiple RPi forum posts with different cases and users are forcing
kernel8.img to workaround them, which is the 64 bit kernel of the RPi 4.
However, this isn't possible in OpenWrt because we only ship one kernel and we
would have to add RPi 5 support to bcm2711 subtarget (RPi 4) for that
workaround to work in OpenWrt.

Specification:
- Processor Broadcom BCM2712 2.4GHz quad-core 64-bit Arm Cortex-A76 CPU,
  with cryptographic extension, 512KB L2 caches per core, 2048KB L3 cache
Features:
- VideoCore VII GPU, supports OpenGL ES 3.1, Vulkan 1.2
- Dual 4Kp60 HDMI display output with HDR support 4Kp60 HEVC decoder
- LPDDR4X-4267 SDRAM 4GB and 8GB
- Dual-band 802.11ac Wi-Fi
- Bluetooth 5.0 / Bluetooth Low Energy
- microSD card slot, with support for SDR104 high-speed mode
- 2 x USB 3.0 ports
- 2 x USB 2.0 ports
- Gigabit Ethernet
- 2 x 4 lane MIPI camera/display
- PCIe 2.0 x1
- 5V/5A power via USB-C
- Raspberry Pi standard 40-pin header
- Real-time clock RTC
- Power button

Build system: x86_64
Build-tested: bcm2712
Run-tested: bcm2712/RPi5

Signed-off-by: Marty Jones <mj8263788@gmail.com>
[Remove device variant, improve description]
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
target/linux/bcm27xx/Makefile
target/linux/bcm27xx/base-files/etc/board.d/02_network
target/linux/bcm27xx/base-files/etc/diag.sh
target/linux/bcm27xx/bcm2712/config-6.1 [new file with mode: 0644]
target/linux/bcm27xx/bcm2712/target.mk [new file with mode: 0644]
target/linux/bcm27xx/image/Makefile