Page MenuHomeFreeBSD

Allow RPI 3B and 3B+ to boot with the official upstream DTBs
ClosedPublic

Authored by sylvain_sylvaingarrigues.com on Jun 24 2018, 5:37 PM.

Details

Summary

The root node of upstream RPI3 DTBs used to be compatible with brcm,brcm2836: it is not any longer. Therefore, add brcm,bcm2837 as a compatibility string to our platform and drivers.

For reference, from the device trees available at https://github.com/raspberrypi/firmware/blob/master/boot/:

bcm2710-rpi-3-b.dtb:

compatible = "raspberrypi,3-model-b", "brcm,bcm2837";
model = "Raspberry Pi 3 Model B";

bcm2710-rpi-3-b-plus.dtb

compatible = "raspberrypi,3-model-b-plus", "brcm,bcm2837";
model = "Raspberry Pi 3 Model B+";
Test Plan

Tested on RPI3B

Diff Detail

Repository
rS FreeBSD src repository
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.

Event Timeline

db added a subscriber: db.Jun 24 2018, 6:05 PM
db added a comment.Jun 24 2018, 8:07 PM

Tested on both models of RPi-3
compatible = "raspberrypi,3-model-b", "brcm,bcm2837";
and
compatible = "raspberrypi,3-model-b-plus", "brcm,bcm2837";

bcm2835_cpufreq0: <CPU Frequency Control> on cpu0
...

bcm2835_cpufreq0: ARM 600MHz, Core 250MHz, SDRAM 400MHz, Turbo OFF

powerd failed to start without this fix now runs fine.

gonzo accepted this revision.Jun 24 2018, 11:15 PM

LGTM

This revision is now accepted and ready to land.Jun 24 2018, 11:15 PM
This revision was automatically updated to reflect the committed changes.