Details
- Reviewers
gonzo mmel imp bapt - Commits
- rP465175: sysutils/rpi-firmware: Add DTB and overlays
Diff Detail
- Repository
- rP FreeBSD ports repository
- Lint
Lint Not Applicable - Unit
Tests Not Applicable
Event Timeline
this is fine to go in, but it might make sense how it can be more table driven (both for the install lines and the PLIST generation).
+100 for overlays.
But I'm not sure if it's right time to publish base .dtb files in this way. We cannot use it for now (because interrupts for uart and spi are routed throw "bcm2835-aux") and it's unclear if binding headers (dts/include/dt-bindings/*) are same (or compatible) as linux mainstream ones.
Hmm, so question is:
Can be overlays used with different (linux mainstream) base .DTB's? I think that yes, but is better to be sure.
We already use the rpi3 dtb from this repo in the release image (see https://svnweb.freebsd.org/base/head/release/arm64/RPI3.conf?revision=326013&view=markup)
The overlays are used (in the case of rpi3) by the firmware.
I used a one liner shell command for generating the makefile and plist, not sure it's worth adding complexity (but I don't really know rule from portmgr).
- I think it's OK to use .../overlays/* or just overlays with INSTALL_DATA in Makefile
- At the moment only RPi3 (and may be cm3) dtb is loaded from FAT partition. RPI2 and RPI-B load custom dtb from UFS /boot/dtb. mmel@ works on getting closer to vendor dtb but it's a multistep process. I think installing only Rpi3 dtb in order not to confuse users. Once we get to the point where we can use vendor .dtb for Pi2 and Pi-B we can add them to the port
sysutils/rpi-firmware/Makefile | ||
---|---|---|
45 ↗ | (On Diff #39145) | It seems that we just install everything under boot/overlays, I recommend using ${COPYTREE_SHARE} to prevent massive similar lines. |
Also, since we are installing almost everything under boot/, maybe we can just remove unneeded files in post-patch: (for also removing .orig files) and then do ${COPYTREE_SHARE} from boot/.
And for PLIST generation, you can define PLIST= ${WRKDIR}/pkg-plist and put your shell script PLIST generator into do-install: target, direct output to ${PLIST}.
I believe this will save you time when doing next update.