Skip to content

Commit 55353cb

Browse files
committed
raspberrypi2-64.conf: add machine for Raspberry Pi 2B V1.2 (64-bit)
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 <[email protected]>
1 parent bf06560 commit 55353cb

File tree

4 files changed

+36
-0
lines changed

4 files changed

+36
-0
lines changed

conf/machine/raspberrypi-armv8.conf

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ MACHINE_EXTRA_RRECOMMENDS += "\
2323
"
2424

2525
RPI_KERNEL_DEVICETREE = " \
26+
broadcom/bcm2710-rpi-2-b.dtb \
2627
broadcom/bcm2710-rpi-3-b.dtb \
2728
broadcom/bcm2710-rpi-3-b-plus.dtb \
2829
broadcom/bcm2837-rpi-3-b.dtb \

conf/machine/raspberrypi2-64.conf

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
#@TYPE: Machine
2+
#@NAME: RaspberryPi 2 V1.2 Development Board
3+
#@DESCRIPTION: Machine configuration for the RaspberryPi 2 in 64 bits mode
4+
5+
MACHINEOVERRIDES =. "raspberrypi3-64:"
6+
7+
DEFAULTTUNE ?= "cortexa53-nocrypto"
8+
require conf/machine/include/arm/armv8a/tune-cortexa53.inc
9+
include conf/machine/include/rpi-base.inc
10+
11+
RPI_KERNEL_DEVICETREE = " \
12+
broadcom/bcm2710-rpi-2-b.dtb \
13+
broadcom/bcm2710-rpi-3-b.dtb \
14+
broadcom/bcm2710-rpi-3-b-plus.dtb \
15+
broadcom/bcm2837-rpi-3-b.dtb \
16+
broadcom/bcm2710-rpi-cm3.dtb \
17+
"
18+
19+
SDIMG_KERNELIMAGE ?= "kernel8.img"
20+
# When u-boot is enabled we need to use the "Image" format and the "booti"
21+
# command to load the kernel
22+
KERNEL_IMAGETYPE_UBOOT ?= "Image"
23+
# "zImage" not supported on arm64 and ".gz" images not supported by bootloader yet
24+
KERNEL_IMAGETYPE_DIRECT ?= "Image"
25+
KERNEL_BOOTCMD ?= "booti"
26+
UBOOT_MACHINE = "rpi_arm64_config"
27+
SERIAL_CONSOLES ?= "115200;ttyAMA0"
28+
29+
VC4DTBO ?= "vc4-fkms-v3d"
30+
ARMSTUB ?= "armstub8.bin"

conf/machine/raspberrypi3-64.conf

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ require conf/machine/include/arm/armv8a/tune-cortexa53.inc
1616
include conf/machine/include/rpi-base.inc
1717

1818
RPI_KERNEL_DEVICETREE = " \
19+
broadcom/bcm2710-rpi-2-b.dtb \
1920
broadcom/bcm2710-rpi-3-b.dtb \
2021
broadcom/bcm2710-rpi-3-b-plus.dtb \
2122
broadcom/bcm2837-rpi-3-b.dtb \

docs/layer-contents.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
* raspberrypi0-wifi
88
* raspberrypi0-2w-64
99
* raspberrypi2
10+
* raspberrypi2-64 (64 bit kernel & userspace)
1011
* raspberrypi3
1112
* raspberrypi3-64 (64 bit kernel & userspace)
1213
* raspberrypi4
@@ -15,6 +16,9 @@
1516
* raspberrypi-cm (dummy alias for raspberrypi)
1617
* raspberrypi-cm3
1718

19+
Note: The raspberrypi2-64 machine includes 64-bit support for Raspberry Pi 2B
20+
V1.2.
21+
1822
Note: The raspberrypi3 machines include support for Raspberry Pi 3B+.
1923

2024
## Multi-board Machines

0 commit comments

Comments
 (0)