1{
2 lib,
3 stdenvNoCC,
4 raspberrypifw,
5}:
6
7stdenvNoCC.mkDerivation {
8 pname = "raspberrypi-dtbs";
9 version = raspberrypifw.version;
10 nativeBuildInputs = [ raspberrypifw ];
11
12 # Rename DTBs so u-boot finds them, like linux-rpi.nix
13 buildCommand = ''
14 mkdir -p $out/broadcom/
15 cd $out/broadcom/
16
17 cp ${raspberrypifw}/share/raspberrypi/boot/bcm*.dtb .
18
19 cp bcm2708-rpi-zero-w.dtb bcm2835-rpi-zero-w.dtb
20 cp bcm2708-rpi-b.dtb bcm2835-rpi-a.dtb
21 cp bcm2708-rpi-b.dtb bcm2835-rpi-b.dtb
22 cp bcm2708-rpi-b.dtb bcm2835-rpi-b-rev2.dtb
23 cp bcm2708-rpi-b-plus.dtb bcm2835-rpi-a-plus
24 cp bcm2708-rpi-b-plus.dtb bcm2835-rpi-b-plus
25 cp bcm2708-rpi-b-plus.dtb bcm2835-rpi-zero.dtb
26 cp bcm2708-rpi-cm.dtb bcm2835-rpi-cm.dtb
27 cp bcm2709-rpi-2-b.dtb bcm2836-rpi-2-b.dtb
28 cp bcm2710-rpi-3-b.dtb bcm2837-rpi-3-b.dtb
29 cp bcm2710-rpi-3-b-plus.dtb bcm2837-rpi-3-b-plus.dtb
30 cp bcm2710-rpi-cm3.dtb bcm2837-rpi-cm3.dtb
31 cp bcm2711-rpi-4-b.dtb bcm2838-rpi-4-b.dtb
32 '';
33
34 passthru = {
35 # Compatible overlays that may be used
36 overlays = "${raspberrypifw}/share/raspberrypi/boot/overlays";
37 };
38 meta = with lib; {
39 inherit (raspberrypifw.meta) homepage license;
40 description = "DTBs for the Raspberry Pi";
41 };
42}