1
1
openwrt/target/linux/airoha/image/an7581.mk
Kenneth Kasilag ecabaa534e
airoha: an7581: 6.18: switch to kmod-phy-realtek for w1700k
Use the new kmod-phy-realtek driver for kernel 6.18 on
Gemtek W1700K.

The driver selection is gated using `KERNEL_PATCHVER` to
avoid build failures on 6.12.

The device tree selection is also gated by `KERNEL_PATCHVER`
to select the appropriate device tree per kernel version.

Once kernel 6.18 is tested stable for airoha these changes
can be simplified and the obsolete properties removed.

Signed-off-by: Kenneth Kasilag <kenneth@kasilag.me>
Link: https://github.com/openwrt/openwrt/pull/21019
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
2026-06-03 09:06:34 +02:00

150 lines
5.3 KiB
Makefile

define Build/an7581-emmc-bl2-bl31-uboot
head -c $$((0x800)) /dev/zero > $@
cat $(STAGING_DIR_IMAGE)/an7581_$1-bl2.fip >> $@
dd if=$(STAGING_DIR_IMAGE)/an7581_$1-bl31-u-boot.fip of=$@ bs=1 seek=$$((0x20000)) conv=notrunc
endef
define Build/an7581-preloader
cat $(STAGING_DIR_IMAGE)/an7581_$1-bl2.fip >> $@
endef
define Build/an7581-bl31-uboot
cat $(STAGING_DIR_IMAGE)/an7581_$1-bl31-u-boot.fip >> $@
endef
define Build/an7581-chainloader
$(INSTALL_DIR) $(KDIR)/chainload-fit-$(notdir $@)
@if [ -f "$(STAGING_DIR_IMAGE)/an7581_$1-u-boot.bin.lzma" ]; then \
KERNEL="$(STAGING_DIR_IMAGE)/an7581_$1-u-boot.bin.lzma"; \
COMP="lzma"; \
else \
KERNEL="$(STAGING_DIR_IMAGE)/an7581_$1-u-boot.bin"; \
COMP="none"; \
fi; \
$(TOPDIR)/scripts/mkits.sh \
-D $(DEVICE_NAME) \
-o $(KDIR)/chainload-fit-$(notdir $@)/u-boot.its \
-k $$KERNEL \
-C $$COMP \
-a 0x80200000 -e 0x80200000 \
-c conf-uboot \
-A arm64 -v u-boot \
-d $(STAGING_DIR_IMAGE)/an7581_$1-u-boot.dtb \
-s 0x82000000
PATH=$(LINUX_DIR)/scripts/dtc:$(PATH) \
$(STAGING_DIR_HOST)/bin/mkimage \
-D "-i $(KDIR)/chainload-fit-$(notdir $@)" \
-f $(KDIR)/chainload-fit-$(notdir $@)/u-boot.its \
$(STAGING_DIR_IMAGE)/an7581_$1-chainload-u-boot.itb
cat $(STAGING_DIR_IMAGE)/an7581_$1-chainload-u-boot.itb >> $@
endef
define Device/FitImageLzma
KERNEL_SUFFIX := -uImage.itb
KERNEL = kernel-bin | lzma | fit lzma $$(KDIR)/image-$$(DEVICE_DTS).dtb
KERNEL_NAME := Image
endef
define Device/airoha_an7581-evb
$(call Device/FitImageLzma)
DEVICE_VENDOR := Airoha
DEVICE_MODEL := AN7581 Evaluation Board (SNAND)
DEVICE_PACKAGES := kmod-leds-pwm kmod-i2c-an7581 kmod-pwm-airoha kmod-input-gpio-keys-polled
DEVICE_DTS := an7581-evb
DEVICE_DTS_CONFIG := config@1
IMAGE/sysupgrade.bin := append-kernel | pad-to 128k | append-rootfs | pad-rootfs | append-metadata
ARTIFACT/preloader.bin := an7581-preloader rfb
ARTIFACT/bl31-uboot.fip := an7581-bl31-uboot rfb
ARTIFACTS := preloader.bin bl31-uboot.fip
endef
TARGET_DEVICES += airoha_an7581-evb
define Device/airoha_an7581-evb-emmc-eagle
DEVICE_VENDOR := Airoha
DEVICE_MODEL := AN7581 Evaluation Board (eMMC + Eagle)
DEVICE_DTS := an7581-evb-emmc-eagle
DEVICE_PACKAGES := kmod-i2c-an7581 airoha-en7581-mt7996-npu-firmware \
kmod-mt7996-firmware wpad-basic-mbedtls
ARTIFACT/preloader.bin := an7581-preloader rfb
ARTIFACT/bl31-uboot.fip := an7581-bl31-uboot rfb
ARTIFACTS := preloader.bin bl31-uboot.fip
endef
TARGET_DEVICES += airoha_an7581-evb-emmc-eagle
define Device/airoha_an7581-evb-emmc-kite
DEVICE_VENDOR := Airoha
DEVICE_MODEL := AN7581 Evaluation Board (eMMC + Kite)
DEVICE_DTS := an7581-evb-emmc-kite
DEVICE_PACKAGES := kmod-i2c-an7581 airoha-en7581-npu-firmware \
kmod-mt7992-firmware wpad-basic-mbedtls
ARTIFACT/preloader.bin := an7581-preloader rfb
ARTIFACT/bl31-uboot.fip := an7581-bl31-uboot rfb
ARTIFACTS := preloader.bin bl31-uboot.fip
endef
TARGET_DEVICES += airoha_an7581-evb-emmc-kite
define Device/gemtek_w1700k-ubi
DEVICE_VENDOR := Gemtek
DEVICE_MODEL := W1700K
DEVICE_VARIANT := UBI
DEVICE_ALT0_VENDOR := CenturyLink
DEVICE_ALT0_MODEL := W1700K
DEVICE_ALT0_VARIANT := UBI
DEVICE_ALT1_VENDOR := Lumen
DEVICE_ALT1_MODEL := W1700K
DEVICE_ALT1_VARIANT := UBI
DEVICE_ALT2_VENDOR := Quantum Fiber
DEVICE_ALT2_MODEL := W1700K
DEVICE_ALT2_VARIANT := UBI
ifeq ($(KERNEL_PATCHVER),6.18)
DEVICE_DTS := an7581-w1700k-ubi-618
else
DEVICE_DTS := an7581-w1700k-ubi
endif
DEVICE_COMPAT_VERSION := 2.0
DEVICE_COMPAT_MESSAGE := Partition table has been changed to cooperate \
with the vendor bootloader with regard to the BMT/BBT partition at \
the end of flash. A reinstall including corrected chainloader is needed.
DEVICE_PACKAGES := airoha-en7581-mt7996-npu-firmware fitblk kmod-i2c-an7581 \
kmod-hwmon-nct7802 kmod-mt7996-firmware wpad-basic-mbedtls
ifeq ($(DUMP),1)
# HACK adds: both packages to build the config dependency tree
DEVICE_PACKAGES += rtl8261n-firmware kmod-phy-rtl8261n
else
ifeq ($(KERNEL_PATCHVER),6.18)
DEVICE_PACKAGES += rtl8261n-firmware
else
DEVICE_PACKAGES += kmod-phy-rtl8261n
endif
endif
UBINIZE_OPTS := -E 5
BLOCKSIZE := 128k
PAGESIZE := 2048
UBOOTENV_IN_UBI := 1
KERNEL_IN_UBI := 1
KERNEL := kernel-bin | gzip
KERNEL_INITRAMFS := kernel-bin | lzma | \
fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb with-initrd | pad-to 128k
KERNEL_INITRAMFS_SUFFIX := -recovery.itb
IMAGES := sysupgrade.itb
IMAGE/sysupgrade.itb := append-kernel | fit gzip $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb external-static-with-rootfs | append-metadata
ARTIFACTS := chainload-uboot.itb
ARTIFACT/chainload-uboot.itb := an7581-chainloader gemtek_w1700k
SOC := an7581
endef
TARGET_DEVICES += gemtek_w1700k-ubi
define Device/nokia_valyrian
DEVICE_VENDOR := Nokia
DEVICE_MODEL := Valyrian
DEVICE_DTS := an7581-nokia-valyrian
DEVICE_PACKAGES := kmod-spi-gpio kmod-gpio-nxp-74hc164 kmod-leds-gpio \
kmod-i2c-an7581 kmod-i2c-gpio kmod-iio-richtek-rtq6056 \
kmod-sfp kmod-phy-aeonsemi-as21xxx \
kmod-mt7996-firmware
ARTIFACT/preloader.bin := an7581-preloader nokia_valyrian
ARTIFACT/bl31-uboot.fip := an7581-bl31-uboot nokia_valyrian
ARTIFACTS := preloader.bin bl31-uboot.fip
endef
TARGET_DEVICES += nokia_valyrian