mirror of
https://git.openwrt.org/openwrt/openwrt.git
synced 2025-09-12 07:49:41 +00:00
Boards such as [1] and [2] add an extra Ethernet port to Raspberry Pi (CM)5. These typically use Realtek PCIe or USB Ethernet NICs. Include kmod-r8169 and kmod-usb-net-rtl8152 by default to make it easy to configure LAN/WAN ports with these parts on Raspberry Pi 5. Because CM5 can fit in the same carrier boards as CM4, also ensure that both devices have the same Ethernet NIC kmods. [1]: https://www.waveshare.com/wiki/CM5-DUAL-ETH-MINI [2]: https://www.waveshare.com/wiki/PCIe_TO_Gigabit_ETH_Board_(C) Signed-off-by: Elbert Mai <code@elbertmai.com> Link: https://github.com/openwrt/openwrt/pull/19384 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
238 lines
7.2 KiB
Makefile
238 lines
7.2 KiB
Makefile
# SPDX-License-Identifier: GPL-2.0-only
|
|
#
|
|
# Copyright (C) 2012-2019 OpenWrt.org
|
|
# Copyright (C) 2016-2017 LEDE project
|
|
|
|
include $(TOPDIR)/rules.mk
|
|
include $(INCLUDE_DIR)/image.mk
|
|
|
|
FAT32_BLOCK_SIZE=1024
|
|
FAT32_BLOCKS=$(shell echo $$(($(CONFIG_TARGET_KERNEL_PARTSIZE)*1024*1024/$(FAT32_BLOCK_SIZE))))
|
|
|
|
define Build/Compile
|
|
$(CP) $(LINUX_DIR)/COPYING $(KDIR)/COPYING.linux
|
|
endef
|
|
|
|
### Image scripts ###
|
|
define Build/boot-common
|
|
echo $(IMG_PART_SIGNATURE) > $@-partuuid.txt
|
|
sed \
|
|
-e 's#@ROOT@#PARTUUID=$(IMG_PART_SIGNATURE)-02#g' \
|
|
cmdline.txt > $@-cmdline.txt
|
|
|
|
rm -f $@.boot
|
|
mkfs.fat -n boot -C $@.boot $(FAT32_BLOCKS)
|
|
mcopy -i $@.boot $(KDIR)/COPYING.linux ::
|
|
mcopy -i $@.boot $(KDIR)/LICENCE.broadcom ::
|
|
mcopy -i $@.boot $@-cmdline.txt ::cmdline.txt
|
|
mcopy -i $@.boot config.txt ::
|
|
mcopy -i $@.boot distroconfig.txt ::
|
|
mcopy -i $@.boot $@-partuuid.txt ::partuuid.txt
|
|
mcopy -i $@.boot $(IMAGE_KERNEL) ::$(KERNEL_IMG)
|
|
$(foreach dts,$(shell echo $(DEVICE_DTS)),mcopy -i $@.boot $(DTS_DIR)/$(dts).dtb ::;)
|
|
mmd -i $@.boot ::/overlays
|
|
mcopy -i $@.boot $(DTS_DIR)/overlays/*.dtbo ::/overlays/
|
|
mcopy -i $@.boot $(DTS_DIR)/overlays/README ::/overlays/
|
|
endef
|
|
|
|
define Build/boot-2708
|
|
mcopy -i $@.boot $(KDIR)/bootcode.bin ::
|
|
mcopy -i $@.boot $(KDIR)/start.elf ::
|
|
mcopy -i $@.boot $(KDIR)/start_cd.elf ::
|
|
mcopy -i $@.boot $(KDIR)/start_x.elf ::
|
|
mcopy -i $@.boot $(KDIR)/fixup.dat ::
|
|
mcopy -i $@.boot $(KDIR)/fixup_cd.dat ::
|
|
mcopy -i $@.boot $(KDIR)/fixup_x.dat ::
|
|
endef
|
|
|
|
define Build/boot-2711
|
|
mcopy -i $@.boot $(KDIR)/start4.elf ::
|
|
mcopy -i $@.boot $(KDIR)/start4cd.elf ::
|
|
mcopy -i $@.boot $(KDIR)/start4x.elf ::
|
|
mcopy -i $@.boot $(KDIR)/fixup4.dat ::
|
|
mcopy -i $@.boot $(KDIR)/fixup4cd.dat ::
|
|
mcopy -i $@.boot $(KDIR)/fixup4x.dat ::
|
|
endef
|
|
|
|
define Build/sdcard-img
|
|
SIGNATURE="$(IMG_PART_SIGNATURE)" \
|
|
./gen_rpi_sdcard_img.sh $@ $@.boot $(IMAGE_ROOTFS) \
|
|
$(CONFIG_TARGET_KERNEL_PARTSIZE) $(CONFIG_TARGET_ROOTFS_PARTSIZE)
|
|
endef
|
|
|
|
### Devices ###
|
|
define Device/Default
|
|
DEVICE_VENDOR := Raspberry Pi
|
|
KERNEL := kernel-bin
|
|
KERNEL_IMG := kernel.img
|
|
IMAGES := factory.img.gz sysupgrade.img.gz
|
|
IMAGE/sysupgrade.img.gz := boot-common | boot-2708 | sdcard-img | gzip | append-metadata
|
|
IMAGE/factory.img.gz := boot-common | boot-2708 | sdcard-img | gzip
|
|
endef
|
|
|
|
define Device/rpi
|
|
DEVICE_MODEL := A/A+/B/B+/CM/Zero/ZeroW
|
|
DEVICE_DTS := \
|
|
broadcom/bcm2708-rpi-b broadcom/bcm2708-rpi-b-rev1 broadcom/bcm2708-rpi-b-plus \
|
|
broadcom/bcm2708-rpi-cm \
|
|
broadcom/bcm2708-rpi-zero broadcom/bcm2708-rpi-zero-w
|
|
SUPPORTED_DEVICES := \
|
|
rpi-a rpi-a-plus \
|
|
rpi-b rpi-b-plus \
|
|
rpi-cm \
|
|
rpi-zero rpi-zero-w \
|
|
raspberrypi,model-a raspberrypi,model-a-plus \
|
|
raspberrypi,model-b raspberrypi,model-b-plus raspberrypi,model-b-rev2 \
|
|
raspberrypi,compute-module raspberrypi,compute-module-1 \
|
|
raspberrypi,model-zero raspberrypi,model-zero-w
|
|
DEVICE_PACKAGES := \
|
|
cypress-firmware-43430-sdio \
|
|
brcmfmac-nvram-43430-sdio \
|
|
kmod-brcmfmac wpad-basic-mbedtls \
|
|
kmod-i2c-bcm2835 kmod-spi-bcm2835 \
|
|
kmod-spi-bcm2835-aux
|
|
endef
|
|
ifeq ($(SUBTARGET),bcm2708)
|
|
TARGET_DEVICES += rpi
|
|
endif
|
|
|
|
define Device/rpi-2
|
|
DEVICE_MODEL := 2B/2B 1.2
|
|
DEVICE_VARIANT := (32bit)
|
|
DEVICE_ALT0_VENDOR := Raspberry Pi
|
|
DEVICE_ALT0_MODEL := 3A+/3B/3B+/CM3/Zero2/Zero2W
|
|
DEVICE_ALT0_VARIANT := (32bit)
|
|
DEVICE_ALT1_VENDOR := Raspberry Pi
|
|
DEVICE_ALT1_MODEL := 4B/400/CM4
|
|
DEVICE_ALT1_VARIANT := (32bit)
|
|
DEVICE_DTS := \
|
|
broadcom/bcm2709-rpi-2-b broadcom/bcm2710-rpi-2-b \
|
|
broadcom/bcm2710-rpi-3-b broadcom/bcm2710-rpi-3-b-plus \
|
|
broadcom/bcm2711-rpi-4-b broadcom/bcm2711-rpi-400 \
|
|
broadcom/bcm2710-rpi-cm3 broadcom/bcm2711-rpi-cm4 \
|
|
broadcom/bcm2710-rpi-zero-2 broadcom/bcm2710-rpi-zero-2-w
|
|
SUPPORTED_DEVICES := \
|
|
rpi-2-b \
|
|
rpi-3-a-plus \
|
|
rpi-3-b rpi-3-b-plus \
|
|
rpi-4-b rpi-400 \
|
|
rpi-cm \
|
|
rpi-zero-2 rpi-zero-2-w \
|
|
raspberrypi,2-model-b raspberrypi,2-model-b-rev2 \
|
|
raspberrypi,3-model-a-plus \
|
|
raspberrypi,3-model-b raspberrypi,3-model-b-plus \
|
|
raspberrypi,3-compute-module raspberrypi,compute-module-3 \
|
|
raspberrypi,400 raspberrypi,4-compute-module raspberrypi,4-model-b \
|
|
raspberrypi,model-zero-2 raspberrypi,model-zero-2-w
|
|
DEVICE_PACKAGES := \
|
|
cypress-firmware-43430-sdio \
|
|
brcmfmac-nvram-43430-sdio \
|
|
cypress-firmware-43455-sdio \
|
|
brcmfmac-nvram-43455-sdio \
|
|
kmod-brcmfmac wpad-basic-mbedtls \
|
|
kmod-i2c-bcm2835 kmod-spi-bcm2835 \
|
|
kmod-spi-bcm2835-aux
|
|
IMAGE/sysupgrade.img.gz := boot-common | boot-2708 | boot-2711 | sdcard-img | gzip | append-metadata
|
|
IMAGE/factory.img.gz := boot-common | boot-2708 | boot-2711 | sdcard-img | gzip
|
|
endef
|
|
ifeq ($(SUBTARGET),bcm2709)
|
|
TARGET_DEVICES += rpi-2
|
|
endif
|
|
|
|
define Device/rpi-3
|
|
DEVICE_MODEL := 3A+/3B/3B+/CM3/Zero2/Zero2W
|
|
DEVICE_VARIANT := (64bit)
|
|
DEVICE_ALT0_VENDOR := Raspberry Pi
|
|
DEVICE_ALT0_MODEL := 2B-1.2
|
|
DEVICE_ALT0_VARIANT := (64bit)
|
|
KERNEL_IMG := kernel8.img
|
|
DEVICE_DTS := \
|
|
broadcom/bcm2710-rpi-2-b \
|
|
broadcom/bcm2710-rpi-3-b broadcom/bcm2710-rpi-3-b-plus \
|
|
broadcom/bcm2710-rpi-cm3 \
|
|
broadcom/bcm2710-rpi-zero-2 broadcom/bcm2710-rpi-zero-2-w
|
|
SUPPORTED_DEVICES := \
|
|
rpi-3-a-plus \
|
|
rpi-3-b rpi-3-b-plus \
|
|
rpi-zero-2 rpi-zero-2-w \
|
|
raspberrypi,2-model-b-rev2 \
|
|
raspberrypi,3-model-a-plus \
|
|
raspberrypi,3-model-b raspberrypi,3-model-b-plus \
|
|
raspberrypi,3-compute-module raspberrypi,compute-module-3 \
|
|
raspberrypi,model-zero-2 raspberrypi,model-zero-2-w
|
|
DEVICE_PACKAGES := \
|
|
cypress-firmware-43430-sdio \
|
|
brcmfmac-nvram-43430-sdio \
|
|
cypress-firmware-43455-sdio \
|
|
brcmfmac-nvram-43455-sdio \
|
|
kmod-brcmfmac wpad-basic-mbedtls \
|
|
kmod-i2c-bcm2835 kmod-spi-bcm2835 \
|
|
kmod-spi-bcm2835-aux
|
|
endef
|
|
ifeq ($(SUBTARGET),bcm2710)
|
|
TARGET_DEVICES += rpi-3
|
|
endif
|
|
|
|
define Device/rpi-4
|
|
DEVICE_MODEL := 4B/400/CM4
|
|
DEVICE_VARIANT := (64bit)
|
|
KERNEL_IMG := kernel8.img
|
|
DEVICE_DTS := \
|
|
broadcom/bcm2711-rpi-400 \
|
|
broadcom/bcm2711-rpi-4-b \
|
|
broadcom/bcm2711-rpi-cm4
|
|
SUPPORTED_DEVICES := \
|
|
raspberrypi,400 \
|
|
raspberrypi,4-compute-module \
|
|
raspberrypi,4-model-b
|
|
DEVICE_PACKAGES := \
|
|
cypress-firmware-43455-sdio \
|
|
brcmfmac-nvram-43455-sdio \
|
|
kmod-brcmfmac wpad-basic-mbedtls \
|
|
kmod-i2c-bcm2835 kmod-spi-bcm2835 \
|
|
kmod-spi-bcm2835-aux \
|
|
kmod-i2c-brcmstb \
|
|
kmod-usb-net-lan78xx \
|
|
kmod-usb-net-rtl8152 \
|
|
kmod-r8169
|
|
IMAGE/sysupgrade.img.gz := boot-common | boot-2711 | sdcard-img | gzip | append-metadata
|
|
IMAGE/factory.img.gz := boot-common | boot-2711 | sdcard-img | gzip
|
|
endef
|
|
ifeq ($(SUBTARGET),bcm2711)
|
|
TARGET_DEVICES += rpi-4
|
|
endif
|
|
|
|
define Device/rpi-5
|
|
DEVICE_MODEL := 5/500/CM5
|
|
KERNEL_IMG := kernel_2712.img
|
|
DEVICE_DTS := \
|
|
broadcom/bcm2712-rpi-5-b \
|
|
broadcom/bcm2712-rpi-cm5-cm4io \
|
|
broadcom/bcm2712-rpi-cm5-cm5io \
|
|
broadcom/bcm2712-rpi-cm5l-cm4io \
|
|
broadcom/bcm2712-rpi-cm5l-cm5io \
|
|
broadcom/bcm2712d0-rpi-5-b
|
|
SUPPORTED_DEVICES := \
|
|
raspberrypi,500 \
|
|
raspberrypi,5-compute-module \
|
|
raspberrypi,5-model-b
|
|
DEVICE_PACKAGES := \
|
|
cypress-firmware-43455-sdio \
|
|
brcmfmac-nvram-43455-sdio \
|
|
kmod-brcmfmac wpad-basic-mbedtls \
|
|
kmod-i2c-bcm2835 kmod-spi-bcm2835 \
|
|
kmod-i2c-brcmstb \
|
|
kmod-i2c-designware-platform kmod-spi-dw-mmio \
|
|
kmod-hwmon-pwmfan kmod-thermal \
|
|
kmod-usb-net-lan78xx \
|
|
kmod-usb-net-rtl8152 \
|
|
kmod-r8169
|
|
IMAGE/sysupgrade.img.gz := boot-common | sdcard-img | gzip | append-metadata
|
|
IMAGE/factory.img.gz := boot-common | sdcard-img | gzip
|
|
endef
|
|
ifeq ($(SUBTARGET),bcm2712)
|
|
TARGET_DEVICES += rpi-5
|
|
endif
|
|
|
|
$(eval $(call BuildImage))
|