[Buildroot] [v1 0/4] [PATCH 0/3] Add support for Pi5
Gaël PORTAY
gael.portay at rtone.fr
Tue Nov 21 19:34:44 UTC 2023
Dear maintainers,
This patch series adds the support for the Raspberry Pi 5[0].
The first patch enables MMU 16K page-size on ARM64 as the Raspberry Pi 5
supports 16K page-size[1].
The two following patches bump the packages rpi-firmware and linux.
- The package rpi-firmware bumps the dtb overlays to the commit
7e9c2063fc15274fbc4dab1ca614f9228834d881[2]. The commit states "Add
support for PI 5" and it bumps the kernel files. The firmware files
transferred to the VideoCore GPU are left untouched since they are
self-contained in the bootloader EEPROM of the Raspberry Pi 5
firmware[3].
- The package linux bumps to the raspberrypi kernel to 6.1.55 up to the
commit[4]. The branch rpi-6.1.y supports the Raspberry Pi 5.
The last patch adds the raspberrypi5_defconfig for the Raspberry Pi 5
64-bit. It uses the defconfig bcm2712_defconfig[5] and the device-tree
source bcm2712-rpi-5-b.dts[6]. The Raspberry Pi 5 has now a dedicated
debug UART connector[7] (it is always active and enabled; there is no
more need to enable_uart=1 in the file config.txt). The UART device name
changes to ttyAMA10 and the command line has to be updated in the file
cmdline.txt. The Raspberry Pi 5 only supports 64-bit kernel[8].
The output boots fine and it runs getty on uart and virtual tty if it is
built using the toolchain built by buildroot.
The output boots the kernel but the kernel cannot run the init process
if it is built using the bootlin prebuilt toolchain. Something is broken
due to the 16k MMU page-size :(
Question: the device-tree overlays are taken from the rpi-firmware; is
there a plan to compile the one from the downstream kernel sources
instead? by tweaking the linux.mk maybe?
Changes since RFC:
- Update README to add model Pi 5 B
- Add support for 64K MMU page-size for ARM64 and Raspberry Pi 5
- Add Raspberry Pi 5 specific cmdline_5.txt to set its console on its
debug uart (ttyAMA10 instead of ttyAMA0)
- Remove 32-bit variant since Raspberry Pi 5 supports booting a 64-bit
kernel only
- Remove the property arm_64bit=1 from config_5_64bit.txt
- Remove the _64bit suffix
- Remove unecessary Pi 5 variant from package rpi-firmware
[0]: https://www.raspberrypi.com/documentation/computers/raspberry-pi-5.html#introduction
[1]: https://www.raspberrypi.com/documentation/computers/config_txt.html#kernel
[2]: https://github.com/raspberrypi/firmware/commit/7e9c2063fc15274fbc4dab1ca614f9228834d881
[3]: https://www.raspberrypi.com/documentation/computers/config_txt.html#start_file-fixup_file
[4]: https://github.com/raspberrypi/linux/commit/feb4ea51e77af09c1a4c7c3e5dd33237750f95cd
[5]: https://github.com/raspberrypi/linux/commit/9cfb379147f803b0362b0fe249e5b145d232bea3
[6]: https://github.com/raspberrypi/linux/commit/1196bf1a7736ff0ab79f5012fa84082e298031a7
[7]: https://www.raspberrypi.com/documentation/computers/raspberry-pi-5.html#uart-connector
[8]: https://www.raspberrypi.com/documentation/computers/config_txt.html#arm_64bit
Kind Regards,
Gaël PORTAY (4):
arch: add support 16k page size on ARM64
package/rpi-firmware: bump version for pi5 support
configs/raspberrypi*: bump kernel version to feb4ea5 (6.1.55)
configs: add raspberrypi 5 defconfig
arch/Config.in.arm | 4 +++
arch/arch.mk | 2 +-
board/raspberrypi/cmdline_5.txt | 1 +
board/raspberrypi/config_5.txt | 24 ++++++++++++++++
board/raspberrypi/readme.txt | 8 +++++-
board/raspberrypi5 | 1 +
configs/raspberrypi0_defconfig | 2 +-
configs/raspberrypi0w_defconfig | 2 +-
configs/raspberrypi2_defconfig | 2 +-
configs/raspberrypi3_64_defconfig | 2 +-
configs/raspberrypi3_defconfig | 2 +-
configs/raspberrypi3_qt5we_defconfig | 2 +-
configs/raspberrypi4_64_defconfig | 2 +-
configs/raspberrypi4_defconfig | 2 +-
configs/raspberrypi5_defconfig | 39 ++++++++++++++++++++++++++
configs/raspberrypi_defconfig | 2 +-
configs/raspberrypicm4io_64_defconfig | 2 +-
configs/raspberrypicm4io_defconfig | 2 +-
configs/raspberrypizero2w_defconfig | 2 +-
linux/linux.mk | 4 +++
package/rpi-firmware/rpi-firmware.hash | 2 +-
package/rpi-firmware/rpi-firmware.mk | 2 +-
22 files changed, 95 insertions(+), 16 deletions(-)
create mode 100644 board/raspberrypi/cmdline_5.txt
create mode 100644 board/raspberrypi/config_5.txt
create mode 120000 board/raspberrypi5
create mode 100644 configs/raspberrypi5_defconfig
--
2.42.1
More information about the buildroot
mailing list