3 PORTVERSION= ${FWVERSION}
5 CATEGORIES= sysutils graphics
6 MASTER_SITES= https://leaf.dragonflybsd.org/~zrj/dports/fw/
11 MAINTAINER= zrj@ef.irc
12 COMMENT= ATI/AMD Radeon GPU firmware
15 HAINAN_pfp HAINAN_me HAINAN_ce HAINAN_mc \
16 HAINAN_mc2 HAINAN_rlc HAINAN_smc \
17 OLAND_pfp OLAND_me OLAND_ce OLAND_mc \
18 OLAND_mc2 OLAND_rlc OLAND_smc \
19 PITCAIRN_pfp PITCAIRN_me PITCAIRN_ce PITCAIRN_mc \
20 PITCAIRN_mc2 PITCAIRN_rlc PITCAIRN_smc \
21 TAHITI_pfp TAHITI_me TAHITI_ce TAHITI_mc \
22 TAHITI_mc2 TAHITI_rlc TAHITI_smc \
23 VERDE_pfp VERDE_me VERDE_ce VERDE_mc VERDE_mc2 VERDE_rlc VERDE_smc \
24 BONAIRE_pfp BONAIRE_me BONAIRE_ce BONAIRE_mec BONAIRE_mc \
25 BONAIRE_mc2 BONAIRE_rlc BONAIRE_sdma BONAIRE_smc \
26 HAWAII_pfp HAWAII_me HAWAII_ce HAWAII_mec HAWAII_mc \
27 HAWAII_mc2 HAWAII_rlc HAWAII_sdma HAWAII_smc \
28 KAVERI_pfp KAVERI_me KAVERI_ce KAVERI_mec KAVERI_rlc KAVERI_sdma \
29 KABINI_pfp KABINI_me KABINI_ce KABINI_mec KABINI_rlc KABINI_sdma \
30 MULLINS_pfp MULLINS_me MULLINS_ce MULLINS_mec MULLINS_rlc MULLINS_sdma
33 R100_cp R200_cp R300_cp R420_cp RS690_cp RS600_cp R520_cp
36 R600_pfp R600_me R600_rlc R700_rlc RS780_pfp RS780_me \
37 RV610_pfp RV610_me RV620_pfp RV620_me RV630_pfp RV630_me \
38 RV635_pfp RV635_me RV670_pfp RV670_me \
39 RV710_pfp RV710_me RV710_smc \
40 RV730_pfp RV730_me RV730_smc RV740_smc \
41 RV770_pfp RV770_me RV770_smc \
42 SUMO_pfp SUMO_me SUMO_rlc SUMO2_pfp SUMO2_me PALM_pfp PALM_me \
43 CEDAR_pfp CEDAR_me CEDAR_rlc CEDAR_smc \
44 CYPRESS_pfp CYPRESS_me CYPRESS_rlc CYPRESS_smc \
45 JUNIPER_pfp JUNIPER_me JUNIPER_rlc JUNIPER_smc \
46 REDWOOD_pfp REDWOOD_me REDWOOD_rlc REDWOOD_smc
49 ARUBA_pfp ARUBA_me ARUBA_rlc \
50 BARTS_pfp BARTS_me BARTS_mc BARTS_smc BTC_rlc \
51 CAICOS_pfp CAICOS_me CAICOS_mc CAICOS_smc \
52 CAYMAN_pfp CAYMAN_me CAYMAN_mc CAYMAN_rlc CAYMAN_smc \
53 TURKS_pfp TURKS_me TURKS_mc TURKS_smc
56 hainan_pfp hainan_me hainan_ce hainan_mc hainan_rlc hainan_smc \
57 oland_pfp oland_me oland_ce oland_mc oland_rlc oland_smc \
58 pitcairn_pfp pitcairn_me pitcairn_ce pitcairn_mc \
59 pitcairn_rlc pitcairn_smc \
60 tahiti_pfp tahiti_me tahiti_ce tahiti_mc tahiti_rlc tahiti_smc \
61 verde_pfp verde_me verde_ce verde_mc verde_rlc verde_smc
64 bonaire_pfp bonaire_me bonaire_ce bonaire_mec bonaire_mc \
65 bonaire_rlc bonaire_sdma bonaire_smc \
66 hawaii_pfp hawaii_me hawaii_ce hawaii_mec hawaii_mc \
67 hawaii_rlc hawaii_sdma hawaii_smc \
68 kaveri_pfp kaveri_me kaveri_ce kaveri_mec kaveri_mec2 \
69 kaveri_rlc kaveri_sdma \
70 kabini_pfp kabini_me kabini_ce kabini_mec kabini_rlc kabini_sdma \
71 mullins_pfp mullins_me mullins_ce mullins_mec mullins_rlc mullins_sdma
74 R600_uvd RS780_uvd RV770_uvd RV710_uvd CYPRESS_uvd SUMO_uvd \
75 TAHITI_uvd BONAIRE_uvd TAHITI_vce BONAIRE_vce
79 # afterthought: to preserve compatibility, case-insensitivity FS(like fat)
80 # use "kmsfw" for all uppercase firmware like TAHITI
81 # and "fw" for all lowercase firmware like hawaii
82 FWNAME_OLD= radeonkmsfw # deprecated old format firmware(si,cik)
83 FWNAME_KMS= radeonkmsfw # pre radeonsi asic firmware
84 FWNAME_NEW= radeonfw # new format firmware (si,cik)
85 FWFILE= radeon-firmware-${FWVERSION}.tar.gz
89 DATADIR= ${PREFIX}/share/fw-radeon
93 OPTIONS_DEFINE= OLD R100 R600 RCIK RNI RSI UVDVCE
94 OPTIONS_DEFAULT= R100 R600 RCIK RNI RSI UVDVCE
97 OLD_DESC= Old format firmware (deprecated, for testing only)
98 R100_DESC= R100 family (R100-R520, pre HD-series)
99 R600_DESC= R600 Evergreen (R600-R770 CEDAR JUNIPER CYPRESS PALM SUMO)
100 RCIK_DESC= Sea Islands (BONAIRE KABINI MULLINS KAVERI HAWAII) [AMDGPU]
101 RNI_DESC= Northen Islands (ARUBA BARTS CAICOS CAYMAN TURKS)
102 RSI_DESC= Southern Islands (HAINAN OLAND PITCAIRN TAHITI VERDE)
103 UVDVCE_DESC= Include UVD/VCE firmware (video decode/encode)
105 .if exists(/usr/share/examples/kld/firmware/wrap-fw_module.sh)
106 PKGINSTALL= pkg-install.fw
107 PKGDEINSTALL= pkg-deinstall.fw
109 DPMSG= ${WRKDIR}/dports-message
112 @${ECHO} "#########################################################" >> ${DPMSG}
113 @${ECHO} "# Run ${DATADIR}/regen-firmware.sh to create modules #" >> ${DPMSG}
114 @${ECHO} "#########################################################" >> ${DPMSG}
118 ${CP} ${FILESDIR}/regen-firmware.sh ${WRKSRC}/
119 ${CP} ${FILESDIR}/remove-firmware.sh ${WRKSRC}/
120 ${REINPLACE_CMD} -e "s@FIRMDIR@${DATADIR}@g" \
121 -e "s@FIRMS_OLD@${FWNAME_OLD}_@g" \
122 -e "s@FIRMS_R100@${FWNAME_KMS}_@g" \
123 -e "s@FIRMS_R600@${FWNAME_KMS}_@g" \
124 -e "s@FIRMS_RCIK@${FWNAME_NEW}_@g" \
125 -e "s@FIRMS_RNI@${FWNAME_KMS}_@g" \
126 -e "s@FIRMS_RSI@${FWNAME_NEW}_@g" \
127 -e "s@FIRMS_UV@${FWNAME_KMS}_@g" \
128 ${WRKSRC}/regen-firmware.sh \
129 ${WRKSRC}/remove-firmware.sh
131 tar xf ${DISTDIR}/${FWFILE}
132 ${MKDIR} ${WRKSRC}/old
133 . for fwo in ${FIRMWARES_OLD}
134 ${MV} ${WRKSRC}/radeon/${fwo}.bin ${WRKSRC}/old
136 ${MKDIR} ${WRKSRC}/r100
137 . for fwo in ${FIRMWARES_R100}
138 ${MV} ${WRKSRC}/radeon/${fwo}.bin ${WRKSRC}/r100
140 ${MKDIR} ${WRKSRC}/r600
141 . for fwo in ${FIRMWARES_R600}
142 ${MV} ${WRKSRC}/radeon/${fwo}.bin ${WRKSRC}/r600
144 ${MKDIR} ${WRKSRC}/rcik
145 . for fwo in ${FIRMWARES_RCIK}
146 ${MV} ${WRKSRC}/radeon/${fwo}.bin ${WRKSRC}/rcik
148 ${MKDIR} ${WRKSRC}/rni
149 . for fwo in ${FIRMWARES_RNI}
150 ${MV} ${WRKSRC}/radeon/${fwo}.bin ${WRKSRC}/rni
152 ${MKDIR} ${WRKSRC}/rsi
153 . for fwo in ${FIRMWARES_RSI}
154 ${MV} ${WRKSRC}/radeon/${fwo}.bin ${WRKSRC}/rsi
156 ${MKDIR} ${WRKSRC}/uvdvce
157 . for fwo in ${FIRMWARES_UV}
158 ${MV} ${WRKSRC}/radeon/${fwo}.bin ${WRKSRC}/uvdvce
160 ${LS} -l ${WRKSRC}/radeon #to check what amdgpu ones are left
163 ${REINPLACE_CMD} -e "s@ #FIRMW_OLD@\"${FIRMWARES_OLD}\"@g" \
164 ${WRKSRC}/regen-firmware.sh \
165 ${WRKSRC}/remove-firmware.sh
168 ${REINPLACE_CMD} -e "s@ #FIRMW_R100@\"${FIRMWARES_R100}\"@g" \
169 ${WRKSRC}/regen-firmware.sh \
170 ${WRKSRC}/remove-firmware.sh
173 ${REINPLACE_CMD} -e "s@ #FIRMW_R600@\"${FIRMWARES_R600}\"@g" \
174 ${WRKSRC}/regen-firmware.sh \
175 ${WRKSRC}/remove-firmware.sh
178 ${REINPLACE_CMD} -e "s@ #FIRMW_RCIK@\"${FIRMWARES_RCIK}\"@g" \
179 ${WRKSRC}/regen-firmware.sh \
180 ${WRKSRC}/remove-firmware.sh
183 ${REINPLACE_CMD} -e "s@ #FIRMW_RNI@\"${FIRMWARES_RNI}\"@g" \
184 ${WRKSRC}/regen-firmware.sh \
185 ${WRKSRC}/remove-firmware.sh
188 ${REINPLACE_CMD} -e "s@ #FIRMW_RSI@\"${FIRMWARES_RSI}\"@g" \
189 ${WRKSRC}/regen-firmware.sh \
190 ${WRKSRC}/remove-firmware.sh
192 post-build-UVDVCE-on:
193 ${REINPLACE_CMD} -e "s@ #FIRMW_UV@\"${FIRMWARES_UV}\"@g" \
194 ${WRKSRC}/regen-firmware.sh \
195 ${WRKSRC}/remove-firmware.sh
198 ${MKDIR} ${STAGEDIR}${DATADIR}/
199 ${INSTALL_DATA} ${WRKSRC}/LICENSE.radeon ${STAGEDIR}${DATADIR}
200 ${INSTALL_SCRIPT} ${WRKSRC}/regen-firmware.sh ${STAGEDIR}${DATADIR}
201 ${INSTALL_SCRIPT} ${WRKSRC}/remove-firmware.sh ${STAGEDIR}${DATADIR}
204 ${CP} -r ${WRKSRC}/old ${STAGEDIR}${DATADIR}
207 ${CP} -r ${WRKSRC}/r100 ${STAGEDIR}${DATADIR}
210 ${CP} -r ${WRKSRC}/r600 ${STAGEDIR}${DATADIR}
213 ${CP} -r ${WRKSRC}/rcik ${STAGEDIR}${DATADIR}
216 ${CP} -r ${WRKSRC}/rni ${STAGEDIR}${DATADIR}
219 ${CP} -r ${WRKSRC}/rsi ${STAGEDIR}${DATADIR}
221 do-install-UVDVCE-on:
222 ${CP} -r ${WRKSRC}/uvdvce ${STAGEDIR}${DATADIR}
224 .include <bsd.port.mk>