kernel: add missing symbol
[openwrt/staging/svanheule.git] / target / linux / bcm27xx / image / Makefile
1 # SPDX-License-Identifier: GPL-2.0-only
2 #
3 # Copyright (C) 2012-2019 OpenWrt.org
4 # Copyright (C) 2016-2017 LEDE project
5
6 include $(TOPDIR)/rules.mk
7 include $(INCLUDE_DIR)/image.mk
8
9 FAT32_BLOCK_SIZE=1024
10 FAT32_BLOCKS=$(shell echo $$(($(CONFIG_TARGET_KERNEL_PARTSIZE)*1024*1024/$(FAT32_BLOCK_SIZE))))
11
12 define Build/Compile
13 $(CP) $(LINUX_DIR)/COPYING $(KDIR)/COPYING.linux
14 endef
15
16 ### Image scripts ###
17 define Build/boot-common
18 echo $(IMG_PART_SIGNATURE) > $@-partuuid.txt
19 sed \
20 -e 's#@ROOT@#PARTUUID=$(IMG_PART_SIGNATURE)-02#g' \
21 cmdline.txt > $@-cmdline.txt
22
23 rm -f $@.boot
24 mkfs.fat -n boot -C $@.boot $(FAT32_BLOCKS)
25 mcopy -i $@.boot $(KDIR)/COPYING.linux ::
26 mcopy -i $@.boot $(KDIR)/LICENCE.broadcom ::
27 mcopy -i $@.boot $@-cmdline.txt ::cmdline.txt
28 mcopy -i $@.boot config.txt ::
29 mcopy -i $@.boot distroconfig.txt ::
30 mcopy -i $@.boot $@-partuuid.txt ::partuuid.txt
31 mcopy -i $@.boot $(IMAGE_KERNEL) ::$(KERNEL_IMG)
32 $(foreach dts,$(shell echo $(DEVICE_DTS)),mcopy -i $@.boot $(DTS_DIR)/$(dts).dtb ::;)
33 mmd -i $@.boot ::/overlays
34 mcopy -i $@.boot $(DTS_DIR)/overlays/*.dtbo ::/overlays/
35 mcopy -i $@.boot $(DTS_DIR)/overlays/README ::/overlays/
36 endef
37
38 define Build/boot-2708
39 mcopy -i $@.boot $(KDIR)/bootcode.bin ::
40 mcopy -i $@.boot $(KDIR)/start.elf ::
41 mcopy -i $@.boot $(KDIR)/start_cd.elf ::
42 mcopy -i $@.boot $(KDIR)/start_x.elf ::
43 mcopy -i $@.boot $(KDIR)/fixup.dat ::
44 mcopy -i $@.boot $(KDIR)/fixup_cd.dat ::
45 mcopy -i $@.boot $(KDIR)/fixup_x.dat ::
46 endef
47
48 define Build/boot-2711
49 mcopy -i $@.boot $(KDIR)/start4.elf ::
50 mcopy -i $@.boot $(KDIR)/start4cd.elf ::
51 mcopy -i $@.boot $(KDIR)/start4x.elf ::
52 mcopy -i $@.boot $(KDIR)/fixup4.dat ::
53 mcopy -i $@.boot $(KDIR)/fixup4cd.dat ::
54 mcopy -i $@.boot $(KDIR)/fixup4x.dat ::
55 endef
56
57 define Build/sdcard-img
58 SIGNATURE="$(IMG_PART_SIGNATURE)" \
59 ./gen_rpi_sdcard_img.sh $@ $@.boot $(IMAGE_ROOTFS) \
60 $(CONFIG_TARGET_KERNEL_PARTSIZE) $(CONFIG_TARGET_ROOTFS_PARTSIZE)
61 endef
62
63 ### Devices ###
64 define Device/Default
65 DEVICE_VENDOR := Raspberry Pi
66 KERNEL := kernel-bin
67 KERNEL_IMG := kernel.img
68 IMAGES := factory.img.gz sysupgrade.img.gz
69 IMAGE/sysupgrade.img.gz := boot-common | boot-2708 | sdcard-img | gzip | append-metadata
70 IMAGE/factory.img.gz := boot-common | boot-2708 | sdcard-img | gzip
71 endef
72
73 define Device/rpi
74 DEVICE_MODEL := A/A+/B/B+/CM/Zero/ZeroW
75 DEVICE_DTS := \
76 broadcom/bcm2708-rpi-b broadcom/bcm2708-rpi-b-rev1 broadcom/bcm2708-rpi-b-plus \
77 broadcom/bcm2708-rpi-cm \
78 broadcom/bcm2708-rpi-zero broadcom/bcm2708-rpi-zero-w
79 SUPPORTED_DEVICES := \
80 rpi-a rpi-a-plus \
81 rpi-b rpi-b-plus \
82 rpi-cm \
83 rpi-zero rpi-zero-w \
84 raspberrypi,model-a raspberrypi,model-a-plus \
85 raspberrypi,model-b raspberrypi,model-b-plus raspberrypi,model-b-rev2 \
86 raspberrypi,compute-module raspberrypi,compute-module-1 \
87 raspberrypi,model-zero raspberrypi,model-zero-w
88 DEVICE_PACKAGES := \
89 cypress-firmware-43430-sdio \
90 brcmfmac-nvram-43430-sdio \
91 kmod-brcmfmac wpad-basic-mbedtls
92 endef
93 ifeq ($(SUBTARGET),bcm2708)
94 TARGET_DEVICES += rpi
95 endif
96
97 define Device/rpi-2
98 DEVICE_MODEL := 2B/2B 1.2
99 DEVICE_VARIANT := (32bit)
100 DEVICE_ALT0_VENDOR := Raspberry Pi
101 DEVICE_ALT0_MODEL := 3A+/3B/3B+/CM3/Zero2/Zero2W
102 DEVICE_ALT0_VARIANT := (32bit)
103 DEVICE_ALT1_VENDOR := Raspberry Pi
104 DEVICE_ALT1_MODEL := 4B/400/CM4
105 DEVICE_ALT1_VARIANT := (32bit)
106 DEVICE_DTS := \
107 broadcom/bcm2709-rpi-2-b broadcom/bcm2710-rpi-2-b \
108 broadcom/bcm2710-rpi-3-b broadcom/bcm2710-rpi-3-b-plus \
109 broadcom/bcm2711-rpi-4-b broadcom/bcm2711-rpi-400 \
110 broadcom/bcm2710-rpi-cm3 broadcom/bcm2711-rpi-cm4 \
111 broadcom/bcm2710-rpi-zero-2 broadcom/bcm2710-rpi-zero-2-w
112 SUPPORTED_DEVICES := \
113 rpi-2-b \
114 rpi-3-a-plus \
115 rpi-3-b rpi-3-b-plus \
116 rpi-4-b rpi-400 \
117 rpi-cm \
118 rpi-zero-2 rpi-zero-2-w \
119 raspberrypi,2-model-b raspberrypi,2-model-b-rev2 \
120 raspberrypi,3-model-a-plus \
121 raspberrypi,3-model-b raspberrypi,3-model-b-plus \
122 raspberrypi,3-compute-module raspberrypi,compute-module-3 \
123 raspberrypi,400 raspberrypi,4-compute-module raspberrypi,4-model-b \
124 raspberrypi,model-zero-2 raspberrypi,model-zero-2-w
125 DEVICE_PACKAGES := \
126 cypress-firmware-43430-sdio \
127 brcmfmac-nvram-43430-sdio \
128 cypress-firmware-43455-sdio \
129 brcmfmac-nvram-43455-sdio \
130 kmod-brcmfmac wpad-basic-mbedtls
131 IMAGE/sysupgrade.img.gz := boot-common | boot-2708 | boot-2711 | sdcard-img | gzip | append-metadata
132 IMAGE/factory.img.gz := boot-common | boot-2708 | boot-2711 | sdcard-img | gzip
133 endef
134 ifeq ($(SUBTARGET),bcm2709)
135 TARGET_DEVICES += rpi-2
136 endif
137
138 define Device/rpi-3
139 DEVICE_MODEL := 3A+/3B/3B+/CM3/Zero2/Zero2W
140 DEVICE_VARIANT := (64bit)
141 DEVICE_ALT0_VENDOR := Raspberry Pi
142 DEVICE_ALT0_MODEL := 2B-1.2
143 DEVICE_ALT0_VARIANT := (64bit)
144 KERNEL_IMG := kernel8.img
145 DEVICE_DTS := \
146 broadcom/bcm2710-rpi-2-b \
147 broadcom/bcm2710-rpi-3-b broadcom/bcm2710-rpi-3-b-plus \
148 broadcom/bcm2710-rpi-cm3 \
149 broadcom/bcm2710-rpi-zero-2 broadcom/bcm2710-rpi-zero-2-w
150 SUPPORTED_DEVICES := \
151 rpi-3-a-plus \
152 rpi-3-b rpi-3-b-plus \
153 rpi-zero-2 rpi-zero-2-w \
154 raspberrypi,2-model-b-rev2 \
155 raspberrypi,3-model-a-plus \
156 raspberrypi,3-model-b raspberrypi,3-model-b-plus \
157 raspberrypi,3-compute-module raspberrypi,compute-module-3 \
158 raspberrypi,model-zero-2 raspberrypi,model-zero-2-w
159 DEVICE_PACKAGES := \
160 cypress-firmware-43430-sdio \
161 brcmfmac-nvram-43430-sdio \
162 cypress-firmware-43455-sdio \
163 brcmfmac-nvram-43455-sdio \
164 kmod-brcmfmac wpad-basic-mbedtls
165 endef
166 ifeq ($(SUBTARGET),bcm2710)
167 TARGET_DEVICES += rpi-3
168 endif
169
170 define Device/rpi-4
171 DEVICE_MODEL := 4B/400/CM4
172 DEVICE_VARIANT := (64bit)
173 KERNEL_IMG := kernel8.img
174 DEVICE_DTS := \
175 broadcom/bcm2711-rpi-400 \
176 broadcom/bcm2711-rpi-4-b \
177 broadcom/bcm2711-rpi-cm4
178 SUPPORTED_DEVICES := \
179 raspberrypi,400 \
180 raspberrypi,4-compute-module \
181 raspberrypi,4-model-b
182 DEVICE_PACKAGES := \
183 cypress-firmware-43455-sdio \
184 brcmfmac-nvram-43455-sdio \
185 kmod-brcmfmac wpad-basic-mbedtls \
186 kmod-usb-net-lan78xx \
187 kmod-r8169
188 IMAGE/sysupgrade.img.gz := boot-common | boot-2711 | sdcard-img | gzip | append-metadata
189 IMAGE/factory.img.gz := boot-common | boot-2711 | sdcard-img | gzip
190 endef
191 ifeq ($(SUBTARGET),bcm2711)
192 TARGET_DEVICES += rpi-4
193 endif
194
195 define Device/rpi-5
196 DEVICE_MODEL := 5
197 KERNEL_IMG := kernel_2712.img
198 DEVICE_DTS := broadcom/bcm2712-rpi-5-b
199 SUPPORTED_DEVICES := raspberrypi,5-model-b
200 DEVICE_PACKAGES := \
201 cypress-firmware-43455-sdio \
202 brcmfmac-nvram-43455-sdio \
203 kmod-brcmfmac wpad-basic-mbedtls \
204 kmod-hwmon-pwmfan kmod-thermal
205 IMAGE/sysupgrade.img.gz := boot-common | sdcard-img | gzip | append-metadata
206 IMAGE/factory.img.gz := boot-common | sdcard-img | gzip
207 endef
208 ifeq ($(SUBTARGET),bcm2712)
209 TARGET_DEVICES += rpi-5
210 endif
211
212 $(eval $(call BuildImage))