Raspberry pi 5 status

Such as....
Well tonight I am assembling a couple of NanoT4 for Xmas gifts.
I got the boards on the cheap and had to accessorize. Case, heatsink and NVMe.


Pretty much anything they sell is better than RPi. That is my opinion.
FriendlyElec products are more expensive but they seem more refined than Raxda ones.
 
Well tonight I am assembling a couple of NanoT4 for Xmas gifts.
I got the boards on the cheap and had to accessorize. Case, heatsink and NVMe.

How does that compare to this?

Code:
~> lscpu
Architecture:          aarch64
Byte Order:            Little Endian
CPU(s):                56
On-line CPU(s) list:   0-55
Thread(s) per core:    1
Core(s) per socket:    28
Socket(s):             2
NUMA node(s):          2
Model:                 1
CPU max MHz:           2500.0000
CPU min MHz:           1000.0000
BogoMIPS:              400.00
L1d cache:             32K
L1i cache:             32K
L2 cache:              256K
L3 cache:              32768K
NUMA node0 CPU(s):     0-27
NUMA node1 CPU(s):     28-55
Flags:                 fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics cpuid
asimdrdm
 
That is what I call an Arm Board.

i didn't mean to dump on your post.

Personally I laughed when I saw the gizmo that RPI4 was using for nvme adapter.
 
Last edited:
I received my Pi 5 and tried a fresh install of FreeBSD 14 on it. I ran into the following:

One first boot received message:
"The installed operating system (OS) does not indicate support for Raspberry Pi 5
Update the OS or set os_check=0 in config.txt to skip this check."

Additionally I also noticed this line displayed:
Device-tree file "BCM2712-rpi-5-b.dtb" not found.

I tried modifying the config.txt (there is an [all] section and [pi4] section). Tried adding os_check=0 to the [all] section. When the Pi 5 was turned back on the fan turns on but the screen stays blank. (Adding it to the [pi4] section has unsurprisingly no effect)

I tried copying over bcm2712-rpi-5-b.dtb from the Raspberry Pi image, but I just got a blank screen with and without the os_check=0 set.

That's as far as I have tried at this point.
 
with u-boot patches https://lore.kernel.org/u-boot/?q=rpi5

fb0: <BCM2835 VT framebuffer driver> on simplebus0
panic: No suitable SOC memory configuration found.
cpuid = 0
time = 1
KDB: stack backtrace:
#0 0xffff00000050d4b4 at kdb_backtrace+0x58
#1 0xffff0000004b8fcc at vpanic+0x19c
#2 0xffff0000004b8e2c at panic+0x44
#3 0xffff00000095c098 at bcm283x_get_current_memcfg+0x1f0
#4 0xffff00000095c134 at bcm283x_dmabus_peripheral_lowaddr+0x8
#5 0xffff0000009569bc at bcm2835_mbox_property+0xc4
#6 0xffff000000956e48 at bcm2835_mbox_fb_get_w_h+0x3c
#7 0xffff0000009537ac at bcm_fb_init+0x28
#8 0xffff00000095353c at bcm_fb_attach+0x15c
#9 0xffff0000004fa040 at device_attach+0x3f8
#10 0xffff0000004fc1cc at bus_generic_new_pass+0x120
#11 0xffff0000004fc15c at bus_generic_new_pass+0xb0
#12 0xffff0000004fc15c at bus_generic_new_pass+0xb0
#13 0xffff0000004fc15c at bus_generic_new_pass+0xb0
#14 0xffff0000004fe4b4 at root_bus_configure+0x40
#15 0xffff00000042a0ec at mi_startup+0xdc
#16 0xffff0000000008ac at virtdone+0x70
Uptime: 1s
 
with this patch it gets to mount root but cannot find any storage devices..

diff --git a/sys/arm/broadcom/bcm2835/bcm2835_vcbus.c b/sys/arm/broadcom/bcm2835/bcm2835_vcbus.c index 88b54467e0c8..906265cf49a5 100644 --- a/sys/arm/broadcom/bcm2835/bcm2835_vcbus.c +++ b/sys/arm/broadcom/bcm2835/bcm2835_vcbus.c @@ -129,7 +129,26 @@ static struct bcm283x_memory_mapping bcm2838_memmap[] = { }, { 0, 0, 0 }, }; +static struct bcm283x_memory_mapping bcm2712_memmap[] = { + { + /* SDRAM */ + .armc_start = 0x00000000, + .armc_size = 0x3fc00000, + .vcbus_start = BCM2836_VCBUS_IO_BASE, + }, { + + .armc_start = 0x1000000000 , + .armc_size = 0x0002000000, + .vcbus_start = BCM2836_VCBUS_IO_BASE, + }, + { + .armc_start = 0x107c000000 , + .armc_size = 0x0004000000, + .vcbus_start = BCM2836_VCBUS_IO_BASE, + }, + { 0, 0, 0 }, +}; static struct bcm283x_memory_soc_cfg { struct bcm283x_memory_mapping *memmap; const char *soc_compat; @@ -174,6 +193,11 @@ static struct bcm283x_memory_soc_cfg { .soc_compat = "brcm,bcm2838", .busdma_lowaddr = BCM2838_PERIPH_MAXADDR, }, + { + .memmap = bcm2712_memmap, + .soc_compat = "brcm,bcm2712", + .busdma_lowaddr = BCM2838_PERIPH_MAXADDR, + } };
 
Do you have the HDMI VCHIQ audio working?. Does the HDMI Audio hardware from Broadcom in the BCM2711 also work the same in the BCM2712 Raspberry Pi 5? Macos code revision and patch file D37878 worked for me in the Raspberry Pi 4B with 8 gigs Revision 1.2 from 2021.
https://reviews.freebsd.org/D36431 https://reviews.freebsd.org/D37878 https://reviews.freebsd.org/D37879 Use these
https://reviews.freebsd.org/D43399 3 patches to enable VCHIQ HDMI Audio for playing out your TV Stereo Speakers.
https://reviews.freebsd.org/F75131370 More instructions and examples, Yan-Hao Wang testing on FreeBSD-15.0-CURRENT

https://ghostbsd-arm64.blogspot.com/2023/12/how-to-install-ghostbsd-arm64-into-usb.html
http://ghostbsdarm64.hopto.org/packages/write_arm64_image_file_dd_to_da1.sh One shell script file to download. chmod +x write_arm64*.sh DISK1=/dev/da1 ; export DISK1 ; echo ${DISK1}

Will download the 700MB image , decompress it to 12GB takes about 850 seconds (or 14+ minutes on a Raspi) dd write to ${DISK1} disk. Resize the partition /dev/da1p3 to 80GB, growfs /dev/da1p3 ;

Now just plug the USB flash drive into a USB connector, connect the ethernet cable from your router to the RJ-45 connector on the Raspi. Connect HDMI cable to your HDMI TV input. Turn on the power. Have fun. Follow the other 4 steps to move these files to a USB SSD that you can reboot with.

I would like to help do the same for the Raspberry Pi 5 to boot from a single image written to a USB Flash Drive. Klara Systems document was very helpful. https://klarasystems.com/articles/building-customized-freebsd-images/ https://klarasystems.com/articles/the-freebsd-boot-process/
https://t.me/+ST6N61pnu3Di8zgk ARM Open-Source Telegram Channel
https://t.me/ghostbsd_dev/24054 GhostBSD_Dev ARM64 Development Telegram Channel

ps. Any body compiled the rasp-config software to work under FreeBSD, so you have the tool to change the EEPROM value to 0xF214 ??
https://github.com/stweil/raspberrypi-documentation/blob/master/configuration/raspi-config.md
https://pimylifeup.com/raspi-config-tool/ Good information about raspi-config tool, but a lot of ads.
 
Last edited:
Under u-boot I am working on the sd card driver. It is progressing okay, i can read one time with cmd7 but it times out after first write.. Will share some code at some point soon.
Update: No data comes out of the SD-card but all commands runs with good exit code..
 
From https://lists.freebsd.org/archives/freebsd-arm/2024-January/003568.html Turns out that the SD-controller can be supported by

Diff:
diff --git a/sys/dev/sdhci/sdhci_fdt.c b/sys/dev/sdhci/sdhci_fdt.c
index 02077e9766c6..f6677dd2195b 100644
--- a/sys/dev/sdhci/sdhci_fdt.c
+++ b/sys/dev/sdhci/sdhci_fdt.c
@@ -74,6 +74,7 @@
 #define        SDHCI_FDT_RK3399        4
 #define        SDHCI_FDT_RK3568        5
 #define        SDHCI_FDT_XLNX_ZMP      6
+#define        SDHCI_FDT_BRCM2712      7
 
 #define        RK3399_GRF_EMMCCORE_CON0                0xf000
 #define         RK3399_CORECFG_BASECLKFREQ             0xff00
@@ -119,6 +120,7 @@ static struct ofw_compat_data compat_data[] = {
        { "xlnx,zy7_sdhci",             SDHCI_FDT_XLNX_ZY7 },
        { "rockchip,rk3568-dwcmshc",    SDHCI_FDT_RK3568 },
        { "xlnx,zynqmp-8.9a",           SDHCI_FDT_XLNX_ZMP },
+       { "brcm,bcm2712-sdhci",         SDHCI_FDT_BRCM2712 },
        { NULL, 0 }
 };
 
@@ -510,7 +512,6 @@ sdhci_fdt_probe(device_t dev)
        sc->quirks = 0;
        sc->num_slots = 1;
        sc->max_clk = 0;
-
        if (!ofw_bus_status_okay(dev))
                return (ENXIO);
 
@@ -538,6 +539,9 @@ sdhci_fdt_probe(device_t dev)
        case SDHCI_FDT_XLNX_ZMP:
                device_set_desc(dev, "ZynqMP generic fdt SDHCI controller");
                break;
+        case SDHCI_FDT_BRCM2712:
+               device_set_desc(dev, "brcm 2712 generic fdt SDHCI controller");
+               break;
        default:
                return (ENXIO);
        }
 
Got my Pi 5. Running raspbian for the moment. The freebsd-arm mailing list looks like the place to continue discussion.
 
The Pi5 is almost 3x as fast as the Pi4 but the crypto extensions make it really shine with `cryptsetup benchmark` showing it's more than 10x faster, specially with AES.

On Pi 4b:

$ cryptsetup benchmark # Tests are approximate using memory only (no storage IO). PBKDF2-sha1 371835 iterations per second for 256-bit key PBKDF2-sha256 623410 iterations per second for 256-bit key PBKDF2-sha512 486352 iterations per second for 256-bit key PBKDF2-ripemd160 313569 iterations per second for 256-bit key PBKDF2-whirlpool 128250 iterations per second for 256-bit key argon2i 4 iterations, 313569 memory, 4 parallel threads (CPUs) for 256-bit key (requested 2000 ms time) argon2id 4 iterations, 341396 memory, 4 parallel threads (CPUs) for 256-bit key (requested 2000 ms time) # Algorithm | Key | Encryption | Decryption aes-cbc 128b 96.7 MiB/s 98.3 MiB/s serpent-cbc 128b 41.7 MiB/s 44.7 MiB/s twofish-cbc 128b 65.8 MiB/s 69.7 MiB/s aes-cbc 256b 76.4 MiB/s 77.2 MiB/s serpent-cbc 256b 43.4 MiB/s 44.7 MiB/s twofish-cbc 256b 68.5 MiB/s 69.6 MiB/s aes-xts 256b 90.6 MiB/s 101.5 MiB/s serpent-xts 256b 41.5 MiB/s 44.9 MiB/s twofish-xts 256b 66.5 MiB/s 70.1 MiB/s aes-xts 512b 78.6 MiB/s 79.5 MiB/s serpent-xts 512b 44.1 MiB/s 44.9 MiB/s twofish-xts 512b 70.6 MiB/s 70.1 MiB/s

On Pi 5:

$ cryptsetup benchmark # Tests are approximate using memory only (no storage IO). PBKDF2-sha1 1012138 iterations per second for 256-bit key PBKDF2-sha256 1789378 iterations per second for 256-bit key PBKDF2-sha512 902388 iterations per second for 256-bit key PBKDF2-ripemd160 574247 iterations per second for 256-bit key PBKDF2-whirlpool 292898 iterations per second for 256-bit key argon2i 4 iterations, 626599 memory, 4 parallel threads (CPUs) for 256-bit key (requested 2000 ms time) argon2id 4 iterations, 627641 memory, 4 parallel threads (CPUs) for 256-bit key (requested 2000 ms time) # Algorithm | Key | Encryption | Decryption aes-cbc 128b 1207.5 MiB/s 2337.5 MiB/s serpent-cbc 128b N/A N/A twofish-cbc 128b 123.4 MiB/s 129.4 MiB/s aes-cbc 256b 956.1 MiB/s 1868.6 MiB/s serpent-cbc 256b N/A N/A twofish-cbc 256b 125.8 MiB/s 129.5 MiB/s aes-xts 256b 1822.5 MiB/s 1822.1 MiB/s serpent-xts 256b N/A N/A twofish-xts 256b 128.5 MiB/s 130.8 MiB/s aes-xts 512b 1558.3 MiB/s 1557.8 MiB/s serpent-xts 512b N/A N/A twofish-xts 512b 130.2 MiB/s 130.7 MiB/s
 
Back
Top