mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-25 16:31:13 +00:00
31ccc27f41
Some vendors like Seeedstudio in their product [1] with Raspberry Pi Compute Module 4 uses Microchip LAN7800 (USB 3.0 to Gigabit Ethernet Bridge) - USB 3.0 extended from PCIe of CM4. lsusb output: ``` Bus 002 Device 002: ID 0424:7800 Microchip LAN7800 ``` Raspberry Pi 4 and even Compute Module 4 has many resources available and for just one kernel module it is not necessary to add additional specific CM4 profiles. Let's include it by default, so the both Ethernet ports will be usable to have better user-experience. Because previous generation of Raspberry Pi included LAN7800 Gigabit Ethernet by default and it is enabled there [2] in kernel without additional kernel module, which was added recently [3]. After this commit in dmesg can be found this: ``` root@OpenWrt:~# dmesg | grep lan [ 7.038889] lan78xx 2-3:1.0 (unnamed net_device) (uninitialized): int urb period 64 [ 7.090484] usbcore: registered new interface driver lan78xx ``` Tested and works with sysupgrade image. [1] https://www.seeedstudio.com/Dual-GbE-Carrier-Board-with-4GB-RAM-32GB-eMMC-RPi-CM4-Case-p-5029.html [2]32c74552b2/target/linux/bcm27xx/bcm2709/config-5.4 (L437)
[3]31647d8be8
Signed-off-by: Josef Schlehofer <pepe.schlehofer@gmail.com>
171 lines
5.3 KiB
Makefile
171 lines
5.3 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
|
|
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 ::
|
|
mcopy -i $@.boot config.txt ::
|
|
mcopy -i $@.boot distroconfig.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
|
|
./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 := B/B+/CM/Zero/ZeroW
|
|
DEVICE_DTS := \
|
|
bcm2708-rpi-b bcm2708-rpi-b-rev1 bcm2708-rpi-b-plus \
|
|
bcm2708-rpi-cm \
|
|
bcm2708-rpi-zero bcm2708-rpi-zero-w
|
|
SUPPORTED_DEVICES := \
|
|
rpi-b rpi-b-plus rpi-cm rpi-zero rpi-zero-w \
|
|
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 \
|
|
cypress-nvram-43430-sdio-rpi-zero-w \
|
|
kmod-brcmfmac wpad-basic-wolfssl
|
|
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 := 3B/3B+/3CM
|
|
DEVICE_ALT0_VARIANT := (32bit)
|
|
DEVICE_ALT1_VENDOR := Raspberry Pi
|
|
DEVICE_ALT1_MODEL := 4B/400/4CM
|
|
DEVICE_ALT1_VARIANT := (32bit)
|
|
DEVICE_DTS := \
|
|
bcm2709-rpi-2-b bcm2710-rpi-2-b \
|
|
bcm2710-rpi-3-b bcm2710-rpi-3-b-plus \
|
|
bcm2711-rpi-4-b bcm2711-rpi-400 \
|
|
bcm2710-rpi-cm3 bcm2711-rpi-cm4
|
|
SUPPORTED_DEVICES := \
|
|
rpi-2-b rpi-3-b rpi-3-b-plus rpi-cm \
|
|
raspberrypi,2-model-b raspberrypi,2-model-b-rev2 \
|
|
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
|
|
DEVICE_PACKAGES := \
|
|
cypress-firmware-43430-sdio \
|
|
cypress-nvram-43430-sdio-rpi-3b \
|
|
cypress-firmware-43455-sdio \
|
|
cypress-nvram-43455-sdio-rpi-3b-plus cypress-nvram-43455-sdio-rpi-4b \
|
|
kmod-brcmfmac wpad-basic-wolfssl
|
|
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 := 3B/3B+/3CM
|
|
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
|
|
SUPPORTED_DEVICES := \
|
|
rpi-3-b rpi-3-b-plus \
|
|
raspberrypi,2-model-b-rev2 \
|
|
raspberrypi,3-model-b raspberrypi,3-model-b-plus \
|
|
raspberrypi,3-compute-module raspberrypi,compute-module-3
|
|
DEVICE_PACKAGES := \
|
|
cypress-firmware-43430-sdio \
|
|
cypress-nvram-43430-sdio-rpi-3b \
|
|
cypress-firmware-43455-sdio \
|
|
cypress-nvram-43455-sdio-rpi-3b-plus \
|
|
kmod-brcmfmac wpad-basic-wolfssl
|
|
endef
|
|
ifeq ($(SUBTARGET),bcm2710)
|
|
TARGET_DEVICES += rpi-3
|
|
endif
|
|
|
|
define Device/rpi-4
|
|
DEVICE_MODEL := 4B/400/4CM
|
|
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 \
|
|
cypress-nvram-43455-sdio-rpi-4b \
|
|
kmod-brcmfmac wpad-basic-wolfssl \
|
|
kmod-usb-net-lan78xx
|
|
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
|
|
|
|
$(eval $(call BuildImage))
|