1#
2# Copyright (C) 2012-2016 OpenWrt.org
3#
4# This is free software, licensed under the GNU General Public License v2.
5# See /LICENSE for more information.
6#
7include $(TOPDIR)/rules.mk
8include $(INCLUDE_DIR)/kernel.mk
9
10PKG_NAME:=brcm2708-gpu-fw
11PKG_VERSION:=2016-06-08
12PKG_RELEASE:=70143fe9d371cd6486a80d6765e93b5574212b64
13
14PKG_BUILD_DIR:=$(KERNEL_BUILD_DIR)/$(PKG_NAME)/rpi-firmware-$(PKG_RELEASE)
15
16PKG_FLAGS:=nonshared
17
18include $(INCLUDE_DIR)/package.mk
19
20RPI_FIRMWARE_URL:=@GITHUB/raspberrypi/firmware/$(PKG_RELEASE)/boot/
21RPI_FIRMWARE_FILE:=rpi-firmware-$(PKG_RELEASE)
22
23define Download/LICENCE_broadcom
24  FILE:=$(RPI_FIRMWARE_FILE)-LICENCE.broadcom
25  URL:=$(RPI_FIRMWARE_URL)
26  URL_FILE:=LICENCE.broadcom
27  MD5SUM:=4a4d169737c0786fb9482bb6d30401d1
28endef
29$(eval $(call Download,LICENCE_broadcom))
30
31define Download/bootcode_bin
32  FILE:=$(RPI_FIRMWARE_FILE)-bootcode.bin
33  URL:=$(RPI_FIRMWARE_URL)
34  URL_FILE:=bootcode.bin
35  MD5SUM:=5bbb5f25dfe16f2871d5defcc48ac9ff
36endef
37$(eval $(call Download,bootcode_bin))
38
39define Download/fixup_dat
40  FILE:=$(RPI_FIRMWARE_FILE)-fixup.dat
41  URL:=$(RPI_FIRMWARE_URL)
42  URL_FILE:=fixup.dat
43  MD5SUM:=c85a8a7fd6f1012dedb979d5a5350135
44endef
45$(eval $(call Download,fixup_dat))
46
47define Download/fixup_cd_dat
48  FILE:=$(RPI_FIRMWARE_FILE)-fixup_cd.dat
49  URL:=$(RPI_FIRMWARE_URL)
50  URL_FILE:=fixup_cd.dat
51  MD5SUM:=1e6c0d6c576956282b498f255eb12d3b
52endef
53$(eval $(call Download,fixup_cd_dat))
54
55define Download/start_elf
56  FILE:=$(RPI_FIRMWARE_FILE)-start.elf
57  URL:=$(RPI_FIRMWARE_URL)
58  URL_FILE:=start.elf
59  MD5SUM:=94f8e421d6e46e89a60aa001af63844e
60endef
61$(eval $(call Download,start_elf))
62
63define Download/start_cd_elf
64  FILE:=$(RPI_FIRMWARE_FILE)-start_cd.elf
65  URL:=$(RPI_FIRMWARE_URL)
66  URL_FILE:=start_cd.elf
67  MD5SUM:=0a9082c25af181cbf16338de2362d5d6
68endef
69$(eval $(call Download,start_cd_elf))
70
71define Package/brcm2708-gpu-fw
72  SECTION:=boot
73  CATEGORY:=Boot Loaders
74  DEPENDS:=@TARGET_brcm2708
75  TITLE:=brcm2708-gpu-fw
76  DEFAULT:=y if TARGET_brcm2708
77endef
78
79define Package/brcm2708-gpu-fw/description
80 GPU and kernel boot firmware for brcm2708. 
81endef
82
83define Build/Prepare
84	rm -rf $(PKG_BUILD_DIR)
85	mkdir -p $(PKG_BUILD_DIR)
86	cp $(DL_DIR)/$(RPI_FIRMWARE_FILE)-LICENCE.broadcom $(PKG_BUILD_DIR)/LICENCE.broadcom
87	cp $(DL_DIR)/$(RPI_FIRMWARE_FILE)-bootcode.bin $(PKG_BUILD_DIR)/bootcode.bin
88	cp $(DL_DIR)/$(RPI_FIRMWARE_FILE)-fixup.dat $(PKG_BUILD_DIR)/fixup.dat
89	cp $(DL_DIR)/$(RPI_FIRMWARE_FILE)-fixup_cd.dat $(PKG_BUILD_DIR)/fixup_cd.dat
90	cp $(DL_DIR)/$(RPI_FIRMWARE_FILE)-start.elf $(PKG_BUILD_DIR)/start.elf
91	cp $(DL_DIR)/$(RPI_FIRMWARE_FILE)-start_cd.elf $(PKG_BUILD_DIR)/start_cd.elf
92endef
93
94define Build/Compile
95	true
96endef
97
98define Package/brcm2708-gpu-fw/install
99	true
100endef
101
102define Build/InstallDev
103	$(CP) $(PKG_BUILD_DIR)/bootcode.bin $(KERNEL_BUILD_DIR)
104	$(CP) $(PKG_BUILD_DIR)/LICENCE.broadcom $(KERNEL_BUILD_DIR)
105	$(CP) $(PKG_BUILD_DIR)/start.elf $(KERNEL_BUILD_DIR)
106	$(CP) $(PKG_BUILD_DIR)/start_cd.elf $(KERNEL_BUILD_DIR)
107	$(CP) $(PKG_BUILD_DIR)/fixup.dat $(KERNEL_BUILD_DIR)
108	$(CP) $(PKG_BUILD_DIR)/fixup_cd.dat $(KERNEL_BUILD_DIR)
109endef
110
111$(eval $(call BuildPackage,brcm2708-gpu-fw))
112