This machine configuration is for the Raspberry Pi 2B V1.2 (64-bit).
Note: Raspberry Pi 2 Model B V1.2[1] switched from BCM2836[2] (V1.0,
V1.1) to BCM2837[3] that is 64-bit CPU used in Raspberry Pi 3 Model B.
BCM2836[2]
The Broadcom chip used in the Raspberry Pi 2 Model B. The
underlying architecture in BCM2836 is identical to BCM2835. The
only significant difference is the removal of the ARM1176JZF-S
processor and replacement with a quad-core Cortex-A7 cluster.
BCM2837[3]
This is the Broadcom chip used in the Raspberry Pi 3 Model B,
later models of the Raspberry Pi 2 Model B, and the Raspberry Pi
Compute Module 3. The underlying architecture of the BCM2837 is
identical to the BCM2836. The only significant difference is the
replacement of the ARMv7 quad core cluster with a quad-core ARM
Cortex A53 (ARMv8) cluster.
The ARM cores run at 1.2GHz, making the device about 50% faster
than the Raspberry Pi 2. The VideoCore IV runs at 400MHz.
See:
Poky (Yocto Project Reference Distro) 5.2.99+snapshot-cfbb00657ab961a3c3a8e6619fc08a2a3f4255c7 raspberrypi2-64 ttyAMA0
raspberrypi2-64 login: root
WARNING: Poky is a reference Yocto Project distribution that should be used for testing and development purposes only. It is recommended that you create your own distribution for production use.
root@raspberrypi2-64:~# uname -a
Linux raspberrypi2-64 6.12.41-v8 #1 SMP PREEMPT Thu Aug 7 16:48:46 UTC 2025 aarch64 GNU/Linux
root@raspberrypi2-64:~# cat /proc/device-tree/compatible
raspberrypi,2-model-b-rev2brcm,bcm2837
root@raspberrypi2-64:~# tty
/dev/ttyAMA0
root@raspberrypi2-64:~# dmesg | head
[ 0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd034]
[ 0.000000] Linux version 6.12.41-v8 (oe-user@oe-host) (aarch64-poky-linux-gcc (GCC) 15.2.0, GNU ld (GNU Binutils) 2.45.0.20250908) #1 SMP PREEMPT Thu Aug 7 16:48:46 UTC 2025
[ 0.000000] KASLR enabled
[ 0.000000] random: crng init done
[ 0.000000] Machine model: Raspberry Pi 2 Model B Rev 1.2
[ 0.000000] efi: UEFI not found.
[ 0.000000] Reserved memory: created CMA memory pool at 0x000000001ec00000, size 256 MiB
[ 0.000000] OF: reserved mem: initialized node linux,cma, compatible id shared-dma-pool
[ 0.000000] OF: reserved mem: 0x000000001ec00000..0x000000002ebfffff (262144 KiB) map reusable linux,cma
[ 0.000000] NUMA: Faking a node at [mem 0x0000000000000000-0x000000003b3fffff]
[1]: https://www.raspberrypi.com/documentation/computers/raspberry-pi.html#flagship-series
[2]: https://www.raspberrypi.com/documentation/computers/processors.html#bcm2836
[3]: https://www.raspberrypi.com/documentation/computers/processors.html#bcm2837
Signed-off-by: Gaël PORTAY <gael.portay@rtone.fr>
SOCs used in rpi3 and rpi4 do not have AES crypto HW engine
denote it by using more appropriate default tune, this ensures
that it enforces +nocrypto into -mtune regardless of gcc or clang
compiler.
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Prepending new definitions should be preferred to assignment, as it is
simpler and more conducive to defining new machine configurations that
reuse these configurations.
Signed-off-by: Zachary T Welch <zach@aquabyte.ai>
This is the result of automated script conversion:
oe-core/scripts/contrib/convert-overrides.py .
converting the metadata to use ":" as the override character instead of "_".
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
The rpi_arm64 configuration supports both Raspberry Pi 3 & 4 in 64-bit
mode. Switching to this config is a small step towards supporting a
unified build for these targets.
Signed-off-by: Paul Barker <pbarker@konsulko.com>
rpi3 is based on cortex-a53 implementation which is armv8+crc+simd
now that OE-Core has the appropriate tunes, switch to using the new
tune file, bonus, is that chromium will be more optimized now
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Raspberry Pi hardware requires firmware that supersedes or is not
present in the standard linux-firmware distribution. These files are
maintained in the RPi-Distro project on github.
Several attempts have been made to reconcile conflicts between what's in
linux-firmware and what the hardware needs. The existing approach is
functional but not maintainable since it combines material from three
repositories into a single package that claims to be linux-firmware.
Remove the appends that change the content of linux-firmware for rpi
hardware. Add two new recipes that follow the RPi-Distro repositories:
* firmware-nonfree which forked from linux-firmware and replaces
content is provided as linux-firmware-rpidistro;
* bluez-firmware which forked from (very old) bluez and adds content is
provided as bluez-firmware-rpidistro.
The packages are named to make clear that these come from RPi-Distro,
rather than generic sources. Licensing attempts to record the state of
licensing as documented in RPi-Distro.
Resolves: #298
Signed-off-by: Peter A. Bigot <pab@pabigot.com>
The attempt to Raspbian updated firmware blobs in packages separate from
linux-firmware introduced unresolvable conflicts with the standard
linux-firmware roll-up package. Revert to using an augmented
linux-firmware recipe that overrides and adds firmware from two Raspbian
repositories that have up-to-date images.
Closes#244
Signed-off-by: Peter A. Bigot <pab@pabigot.com>
We can't just override KERNEL_IMAGETYPE in machine-specific conf files without
breaking the implementation of RPI_USE_U_BOOT. Instead we need to define a new
KERNEL_IMAGETYPE_DIRECT variable which will control the value when u-boot is not
in use. This new variable may then be overridden as needed without breaking our
u-boot support.
Signed-off-by: Paul Barker <pbarker@toganlabs.com>
Fixes: 50fd319205 for raspberrypi3-64.
Fixes: #153
For raspberrypi3-64 set default kernel image to "Image".
"zImage" are not supported by arm64 platforms. And ".gz" images are not
handled by bootloader yet.
Signed-off-by: Loys Ollivier <lollivier@baylibre.com>
For raspberrypi3-64 we need to use the Image or Image.gz format with u-boot
instead of the legacy uImage format. We also need to issue the 'booti' command
to boot the kernel instead of 'bootm'.
Signed-off-by: Paul Barker <pbarker@toganlabs.com>
Use correct overlay for enabled vc4 accelaration
This enable 3D accelaration over dispmanx on vc4/rpi64
Enable audio over HDMI
Disable overscan to avoid graphics glitches
Signed-off-by: Khem Raj <raj.khem@gmail.com>