diff --git a/backports/0004-mediatek-update-to-latest-trunk-version.patch b/backports/0004-mediatek-update-to-latest-trunk-version.patch index 23344e8b7..3ba2f9552 100644 --- a/backports/0004-mediatek-update-to-latest-trunk-version.patch +++ b/backports/0004-mediatek-update-to-latest-trunk-version.patch @@ -1,7 +1,7 @@ -From 690744436b9fe7bf5414c766e8bc8c8cc67758cc Mon Sep 17 00:00:00 2001 +From 583b54e2f10ee14b5756d7035e641f7a1bb3095c Mon Sep 17 00:00:00 2001 From: Felix Fietkau Date: Thu, 9 Apr 2020 09:53:24 +0200 -Subject: [PATCH 01/38] mediatek: update to latest trunk version +Subject: [PATCH 01/43] mediatek: update to latest trunk version Signed-off-by: Felix Fietkau --- @@ -170,7 +170,7 @@ Signed-off-by: Felix Fietkau .../base-files/lib/preinit/79_move_config | 18 - .../mt7622/base-files/lib/upgrade/buffalo.sh | 126 + .../mt7622/base-files/lib/upgrade/platform.sh | 61 +- - .../mt7622/{config-5.4 => config-5.10} | 181 +- + .../mt7622/{config-5.4 => config-5.10} | 207 +- target/linux/mediatek/mt7622/target.mk | 3 +- .../mt7623/base-files/etc/board.d/02_network | 1 - target/linux/mediatek/mt7623/config-5.4 | 1 + @@ -178,6 +178,7 @@ Signed-off-by: Felix Fietkau target/linux/mediatek/mt7629/config-5.4 | 1 + .../100-dts-update-mt7622-rfb1.patch | 119 + .../101-dts-update-mt7629-rfb.patch | 37 + + .../105-dts-mt7622-enable-pstore.patch | 25 + .../110-dts-fix-bpi2-console.patch | 10 + .../111-dts-fix-bpi64-console.patch | 11 + .../112-dts-fix-bpi64-lan-names.patch | 37 + @@ -214,7 +215,7 @@ Signed-off-by: Felix Fietkau .../patches-5.4/0310-mtk-bmt-support.patch | 837 + ...trx-Allow-to-specify-trx-magic-in-DT.patch | 75 + ...ove-dependency-to-BRCM-architectures.patch | 23 + - 209 files changed, 105053 insertions(+), 1565 deletions(-) + 210 files changed, 105104 insertions(+), 1565 deletions(-) create mode 100644 target/linux/mediatek/dts/mt7622-buffalo-wsr-2533dhp2.dts rename target/linux/mediatek/{files-5.4/arch/arm64/boot/dts/mediatek => dts}/mt7622-elecom-wrc-2533gent.dts (99%) create mode 100644 target/linux/mediatek/dts/mt7622-linksys-e8450-ubi.dts @@ -377,6 +378,7 @@ Signed-off-by: Felix Fietkau mode change 100755 => 100644 target/linux/mediatek/mt7629/base-files/etc/board.d/02_network create mode 100644 target/linux/mediatek/patches-5.10/100-dts-update-mt7622-rfb1.patch create mode 100644 target/linux/mediatek/patches-5.10/101-dts-update-mt7629-rfb.patch + create mode 100644 target/linux/mediatek/patches-5.10/105-dts-mt7622-enable-pstore.patch create mode 100644 target/linux/mediatek/patches-5.10/110-dts-fix-bpi2-console.patch create mode 100644 target/linux/mediatek/patches-5.10/111-dts-fix-bpi64-console.patch create mode 100644 target/linux/mediatek/patches-5.10/112-dts-fix-bpi64-lan-names.patch @@ -101955,7 +101957,7 @@ diff --git a/target/linux/mediatek/mt7622/config-5.4 b/target/linux/mediatek/mt7 similarity index 67% rename from target/linux/mediatek/mt7622/config-5.4 rename to target/linux/mediatek/mt7622/config-5.10 -index b873bdc40c..7f1c3d169a 100644 +index b873bdc40c..2d7f82ce23 100644 --- a/target/linux/mediatek/mt7622/config-5.4 +++ b/target/linux/mediatek/mt7622/config-5.10 @@ -1,59 +1,6 @@ @@ -102072,7 +102074,24 @@ index b873bdc40c..7f1c3d169a 100644 CONFIG_CLONE_BACKWARDS=y CONFIG_COMMON_CLK=y CONFIG_COMMON_CLK_MEDIATEK=y -@@ -220,19 +151,17 @@ CONFIG_DMA_ENGINE_RAID=y +@@ -184,6 +115,8 @@ CONFIG_CRYPTO_ACOMP2=y + CONFIG_CRYPTO_AEAD=y + CONFIG_CRYPTO_AEAD2=y + CONFIG_CRYPTO_CMAC=y ++CONFIG_CRYPTO_CRC32=y ++CONFIG_CRYPTO_CRC32C=y + CONFIG_CRYPTO_DEFLATE=y + CONFIG_CRYPTO_DRBG=y + CONFIG_CRYPTO_DRBG_HMAC=y +@@ -207,6 +140,7 @@ CONFIG_CRYPTO_RNG=y + CONFIG_CRYPTO_RNG2=y + CONFIG_CRYPTO_RNG_DEFAULT=y + CONFIG_CRYPTO_SHA256=y ++CONFIG_CRYPTO_ZSTD=y + CONFIG_DCACHE_WORD_ACCESS=y + CONFIG_DEBUG_MISC=y + CONFIG_DEVTMPFS=y +@@ -220,19 +154,19 @@ CONFIG_DMA_ENGINE_RAID=y CONFIG_DMA_OF=y CONFIG_DMA_REMAP=y CONFIG_DMA_VIRTUAL_CHANNELS=y @@ -102083,6 +102102,7 @@ index b873bdc40c..7f1c3d169a 100644 -CONFIG_EFI_EARLYCON=y CONFIG_EINT_MTK=y +CONFIG_EXT4_FS=y ++CONFIG_F2FS_FS=y +CONFIG_FIT_PARTITION=y CONFIG_FIXED_PHY=y CONFIG_FIX_EARLYCON_MEM=y @@ -102091,11 +102111,12 @@ index b873bdc40c..7f1c3d169a 100644 -CONFIG_FONT_AUTOSELECT=y -CONFIG_FONT_SUPPORT=y CONFIG_FRAME_POINTER=y -+CONFIG_F2FS_FS=y ++CONFIG_FS_IOMAP=y ++CONFIG_FS_MBCACHE=y # CONFIG_FUJITSU_ERRATUM_010001 is not set CONFIG_FW_LOADER_PAGED_BUF=y CONFIG_GENERIC_ALLOCATOR=y -@@ -267,102 +196,19 @@ CONFIG_GLOB=y +@@ -267,102 +201,19 @@ CONFIG_GLOB=y CONFIG_GPIOLIB=y CONFIG_GRO_CELLS=y CONFIG_HANDLE_DOMAIN_IRQ=y @@ -102198,9 +102219,11 @@ index b873bdc40c..7f1c3d169a 100644 CONFIG_IO_URING=y CONFIG_IRQCHIP=y CONFIG_IRQ_DOMAIN=y -@@ -371,8 +217,8 @@ CONFIG_IRQ_FORCED_THREADING=y +@@ -370,9 +221,10 @@ CONFIG_IRQ_DOMAIN_HIERARCHY=y + CONFIG_IRQ_FORCED_THREADING=y CONFIG_IRQ_TIME_ACCOUNTING=y CONFIG_IRQ_WORK=y ++CONFIG_JBD2=y CONFIG_JUMP_LABEL=y -CONFIG_LEDS_UBNT_LEDBAR=y CONFIG_LIBFDT=y @@ -102208,8 +102231,11 @@ index b873bdc40c..7f1c3d169a 100644 CONFIG_LOCK_DEBUGGING_SUPPORT=y CONFIG_LOCK_SPIN_ON_OWNER=y CONFIG_LZO_COMPRESS=y -@@ -382,22 +228,25 @@ CONFIG_MDIO_BUS=y +@@ -380,21 +232,25 @@ CONFIG_LZO_DECOMPRESS=y + CONFIG_MAGIC_SYSRQ=y + CONFIG_MDIO_BUS=y CONFIG_MDIO_DEVICE=y ++CONFIG_MDIO_DEVRES=y CONFIG_MEDIATEK_MT6577_AUXADC=y CONFIG_MEDIATEK_WATCHDOG=y -CONFIG_MEDIA_SUPPORT=y @@ -102229,14 +102255,11 @@ index b873bdc40c..7f1c3d169a 100644 CONFIG_MTD_NAND_ECC_SW_HAMMING=y CONFIG_MTD_NAND_MTK=y +CONFIG_MTD_NAND_MTK_BMT=y ++CONFIG_MTD_PARSER_TRX=y CONFIG_MTD_RAW_NAND=y CONFIG_MTD_SPI_NAND=y CONFIG_MTD_SPI_NOR=y -+CONFIG_MTD_PARSER_TRX=y - CONFIG_MTD_SPLIT_FIRMWARE=y - CONFIG_MTD_SPLIT_FIT_FW=y - CONFIG_MTD_UBI=y -@@ -422,7 +271,6 @@ CONFIG_NET_DSA=y +@@ -422,7 +278,6 @@ CONFIG_NET_DSA=y CONFIG_NET_DSA_MT7530=y CONFIG_NET_DSA_TAG_MTK=y CONFIG_NET_FLOW_LIMIT=y @@ -102244,7 +102267,7 @@ index b873bdc40c..7f1c3d169a 100644 CONFIG_NET_MEDIATEK_SOC=y CONFIG_NET_SWITCHDEV=y CONFIG_NET_VENDOR_MEDIATEK=y -@@ -447,7 +295,6 @@ CONFIG_PARTITION_PERCPU=y +@@ -447,7 +302,6 @@ CONFIG_PARTITION_PERCPU=y CONFIG_PCI=y CONFIG_PCIEAER=y CONFIG_PCIEASPM=y @@ -102252,7 +102275,7 @@ index b873bdc40c..7f1c3d169a 100644 # CONFIG_PCIEASPM_DEFAULT is not set CONFIG_PCIEASPM_PERFORMANCE=y # CONFIG_PCIEASPM_POWERSAVE is not set -@@ -460,6 +307,7 @@ CONFIG_PCI_DOMAINS=y +@@ -460,6 +314,7 @@ CONFIG_PCI_DOMAINS=y CONFIG_PCI_DOMAINS_GENERIC=y CONFIG_PCI_MSI=y CONFIG_PCI_MSI_IRQ_DOMAIN=y @@ -102260,7 +102283,7 @@ index b873bdc40c..7f1c3d169a 100644 CONFIG_PGTABLE_LEVELS=3 CONFIG_PHYLIB=y CONFIG_PHYLINK=y -@@ -477,7 +325,7 @@ CONFIG_PINCTRL_MT7622=y +@@ -477,7 +332,7 @@ CONFIG_PINCTRL_MT7622=y CONFIG_PINCTRL_MT8516=y CONFIG_PINCTRL_MTK=y CONFIG_PINCTRL_MTK_MOORE=y @@ -102269,23 +102292,39 @@ index b873bdc40c..7f1c3d169a 100644 CONFIG_PM=y CONFIG_PM_CLK=y CONFIG_PM_GENERIC_DOMAINS=y -@@ -499,7 +347,6 @@ CONFIG_RATIONAL=y +@@ -487,6 +342,20 @@ CONFIG_POWER_RESET=y + CONFIG_POWER_RESET_SYSCON=y + CONFIG_POWER_SUPPLY=y + CONFIG_PRINTK_TIME=y ++CONFIG_PSTORE=y ++# CONFIG_PSTORE_842_COMPRESS is not set ++# CONFIG_PSTORE_BLK is not set ++CONFIG_PSTORE_COMPRESS=y ++CONFIG_PSTORE_COMPRESS_DEFAULT="deflate" ++CONFIG_PSTORE_CONSOLE=y ++CONFIG_PSTORE_DEFLATE_COMPRESS=y ++CONFIG_PSTORE_DEFLATE_COMPRESS_DEFAULT=y ++# CONFIG_PSTORE_LZ4HC_COMPRESS is not set ++# CONFIG_PSTORE_LZ4_COMPRESS is not set ++# CONFIG_PSTORE_LZO_COMPRESS is not set ++CONFIG_PSTORE_PMSG=y ++CONFIG_PSTORE_RAM=y ++# CONFIG_PSTORE_ZSTD_COMPRESS is not set + CONFIG_PWM=y + CONFIG_PWM_MEDIATEK=y + # CONFIG_PWM_MTK_DISP is not set +@@ -499,7 +368,9 @@ CONFIG_RATIONAL=y CONFIG_RCU_NEED_SEGCBLIST=y CONFIG_RCU_STALL_COMMON=y CONFIG_REALTEK_PHY=y -CONFIG_REFCOUNT_FULL=y ++CONFIG_REED_SOLOMON=y ++CONFIG_REED_SOLOMON_DEC8=y ++CONFIG_REED_SOLOMON_ENC8=y CONFIG_REGMAP=y CONFIG_REGMAP_MMIO=y CONFIG_REGULATOR=y -@@ -514,6 +361,7 @@ CONFIG_RTC_DRV_MT7622=y - CONFIG_RTC_I2C_AND_SPI=y - CONFIG_RTL8367S_GSW=y - CONFIG_RWSEM_SPIN_ON_OWNER=y -+CONFIG_SATA_HOST=y - CONFIG_SCSI=y - # CONFIG_SECTION_MISMATCH_WARN_ONLY is not set - CONFIG_SERIAL_8250_FSL=y -@@ -552,7 +400,6 @@ CONFIG_THERMAL_EMERGENCY_POWEROFF_DELAY_MS=0 +@@ -552,7 +423,6 @@ CONFIG_THERMAL_EMERGENCY_POWEROFF_DELAY_MS=0 CONFIG_THERMAL_EMULATION=y CONFIG_THERMAL_GOV_BANG_BANG=y CONFIG_THERMAL_GOV_FAIR_SHARE=y @@ -102293,6 +102332,16 @@ index b873bdc40c..7f1c3d169a 100644 CONFIG_THERMAL_GOV_STEP_WISE=y CONFIG_THERMAL_GOV_USER_SPACE=y CONFIG_THERMAL_OF=y +@@ -584,6 +454,9 @@ CONFIG_WATCHDOG_PRETIMEOUT_GOV_PANIC=y + CONFIG_WATCHDOG_PRETIMEOUT_GOV_SEL=m + CONFIG_WATCHDOG_SYSFS=y + CONFIG_XPS=y ++CONFIG_XXHASH=y + CONFIG_ZLIB_DEFLATE=y + CONFIG_ZLIB_INFLATE=y + CONFIG_ZONE_DMA32=y ++CONFIG_ZSTD_COMPRESS=y ++CONFIG_ZSTD_DECOMPRESS=y diff --git a/target/linux/mediatek/mt7622/target.mk b/target/linux/mediatek/mt7622/target.mk index cb5a6b48cd..f43a6c4bf4 100644 --- a/target/linux/mediatek/mt7622/target.mk @@ -102522,6 +102571,37 @@ index 0000000000..8d3e283315 + }; + }; + }; +diff --git a/target/linux/mediatek/patches-5.10/105-dts-mt7622-enable-pstore.patch b/target/linux/mediatek/patches-5.10/105-dts-mt7622-enable-pstore.patch +new file mode 100644 +index 0000000000..6ef56f8584 +--- /dev/null ++++ b/target/linux/mediatek/patches-5.10/105-dts-mt7622-enable-pstore.patch +@@ -0,0 +1,25 @@ ++--- a/arch/arm64/boot/dts/mediatek/mt7622.dtsi +++++ b/arch/arm64/boot/dts/mediatek/mt7622.dtsi ++@@ -111,7 +111,7 @@ ++ }; ++ ++ psci { ++- compatible = "arm,psci-0.2"; +++ compatible = "arm,psci-1.0"; ++ method = "smc"; ++ }; ++ ++@@ -127,6 +127,13 @@ ++ #size-cells = <2>; ++ ranges; ++ +++ /* 64 KiB reserved for ramoops/pstore */ +++ ramoops@0x42ff0000 { +++ compatible = "ramoops"; +++ reg = <0 0x42ff0000 0 0x10000>; +++ record-size = <0x1000>; +++ }; +++ ++ /* 192 KiB reserved for ARM Trusted Firmware (BL31) */ ++ secmon_reserved: secmon@43000000 { ++ reg = <0 0x43000000 0 0x30000>; diff --git a/target/linux/mediatek/patches-5.10/110-dts-fix-bpi2-console.patch b/target/linux/mediatek/patches-5.10/110-dts-fix-bpi2-console.patch new file mode 100644 index 0000000000..c696e7d369 @@ -102792,13 +102872,13 @@ index 0000000000..479694b400 + pinctrl-0 = <&spi_pins>; diff --git a/target/linux/mediatek/patches-5.10/131-dts-mt7622-add-snand-support.patch b/target/linux/mediatek/patches-5.10/131-dts-mt7622-add-snand-support.patch new file mode 100644 -index 0000000000..de96162e8a +index 0000000000..5f89d58b06 --- /dev/null +++ b/target/linux/mediatek/patches-5.10/131-dts-mt7622-add-snand-support.patch @@ -0,0 +1,96 @@ +--- a/arch/arm64/boot/dts/mediatek/mt7622.dtsi ++++ b/arch/arm64/boot/dts/mediatek/mt7622.dtsi -+@@ -554,6 +554,19 @@ ++@@ -561,6 +561,19 @@ + status = "disabled"; + }; + @@ -106407,7 +106487,7 @@ index 0000000000..9c18565319 + if (PTR_ERR(pcie->free_ck) == -EPROBE_DEFER) diff --git a/target/linux/mediatek/patches-5.10/602-arm64-dts-mediatek-Split-PCIe-node-for-MT2712-MT7622.patch b/target/linux/mediatek/patches-5.10/602-arm64-dts-mediatek-Split-PCIe-node-for-MT2712-MT7622.patch new file mode 100644 -index 0000000000..5e0114328c +index 0000000000..f613e7c49e --- /dev/null +++ b/target/linux/mediatek/patches-5.10/602-arm64-dts-mediatek-Split-PCIe-node-for-MT2712-MT7622.patch @@ -0,0 +1,417 @@ @@ -106694,7 +106774,7 @@ index 0000000000..5e0114328c + &pio { +--- a/arch/arm64/boot/dts/mediatek/mt7622.dtsi ++++ b/arch/arm64/boot/dts/mediatek/mt7622.dtsi -+@@ -794,45 +794,41 @@ ++@@ -801,45 +801,41 @@ + #reset-cells = <1>; + }; + @@ -106757,7 +106837,7 @@ index 0000000000..5e0114328c + interrupt-map-mask = <0 0 0 7>; + interrupt-map = <0 0 0 1 &pcie_intc0 0>, + <0 0 0 2 &pcie_intc0 1>, -+@@ -844,15 +840,39 @@ ++@@ -851,15 +847,39 @@ + #interrupt-cells = <1>; + }; + }; @@ -107069,7 +107149,7 @@ index 0000000000..7b74a8ac73 + diff --git a/target/linux/mediatek/patches-5.10/700-net-ethernet-mtk_eth_soc-add-support-for-coherent-DM.patch b/target/linux/mediatek/patches-5.10/700-net-ethernet-mtk_eth_soc-add-support-for-coherent-DM.patch new file mode 100644 -index 0000000000..873317eb00 +index 0000000000..e617d9ad66 --- /dev/null +++ b/target/linux/mediatek/patches-5.10/700-net-ethernet-mtk_eth_soc-add-support-for-coherent-DM.patch @@ -0,0 +1,85 @@ @@ -107084,7 +107164,7 @@ index 0000000000..873317eb00 + +--- a/arch/arm64/boot/dts/mediatek/mt7622.dtsi ++++ b/arch/arm64/boot/dts/mediatek/mt7622.dtsi -+@@ -357,7 +357,7 @@ ++@@ -364,7 +364,7 @@ + }; + + cci_control2: slave-if@5000 { @@ -107093,7 +107173,7 @@ index 0000000000..873317eb00 + interface-type = "ace"; + reg = <0x5000 0x1000>; + }; -+@@ -969,6 +969,8 @@ ++@@ -976,6 +976,8 @@ + power-domains = <&scpsys MT7622_POWER_DOMAIN_ETHSYS>; + mediatek,ethsys = <ðsys>; + mediatek,sgmiisys = <&sgmiisys>; @@ -107160,7 +107240,7 @@ index 0000000000..873317eb00 + #define SGMSYS_PCS_CONTROL_1 0x0 diff --git a/target/linux/mediatek/patches-5.10/710-pci-pcie-mediatek-add-support-for-coherent-DMA.patch b/target/linux/mediatek/patches-5.10/710-pci-pcie-mediatek-add-support-for-coherent-DMA.patch new file mode 100644 -index 0000000000..0156d89bba +index 0000000000..e3800bdf9d --- /dev/null +++ b/target/linux/mediatek/patches-5.10/710-pci-pcie-mediatek-add-support-for-coherent-DMA.patch @@ -0,0 +1,108 @@ @@ -107176,7 +107256,7 @@ index 0000000000..0156d89bba + +--- a/arch/arm64/boot/dts/mediatek/mt7622.dtsi ++++ b/arch/arm64/boot/dts/mediatek/mt7622.dtsi -+@@ -805,6 +805,8 @@ ++@@ -812,6 +812,8 @@ + reg = <0 0x1a143000 0 0x1000>; + reg-names = "port0"; + mediatek,pcie-cfg = <&pciecfg>; @@ -107185,7 +107265,7 @@ index 0000000000..0156d89bba + #address-cells = <3>; + #size-cells = <2>; + interrupts = ; -+@@ -822,6 +824,7 @@ ++@@ -829,6 +831,7 @@ + bus-range = <0x00 0xff>; + ranges = <0x82000000 0 0x20000000 0x0 0x20000000 0 0x8000000>; + status = "disabled"; @@ -107193,7 +107273,7 @@ index 0000000000..0156d89bba + + slot0: pcie@0,0 { + reg = <0x0000 0 0 0 0>; -+@@ -848,6 +851,8 @@ ++@@ -855,6 +858,8 @@ + reg = <0 0x1a145000 0 0x1000>; + reg-names = "port1"; + mediatek,pcie-cfg = <&pciecfg>; @@ -107202,7 +107282,7 @@ index 0000000000..0156d89bba + #address-cells = <3>; + #size-cells = <2>; + interrupts = ; -+@@ -866,6 +871,7 @@ ++@@ -873,6 +878,7 @@ + bus-range = <0x00 0xff>; + ranges = <0x82000000 0 0x28000000 0x0 0x28000000 0 0x8000000>; + status = "disabled"; @@ -107210,7 +107290,7 @@ index 0000000000..0156d89bba + + slot1: pcie@1,0 { + reg = <0x0800 0 0 0 0>; -+@@ -925,6 +931,11 @@ ++@@ -932,6 +938,11 @@ + }; + }; + diff --git a/backports/0011-backport-mkits.sh.patch b/backports/0011-backport-mkits.sh.patch new file mode 100644 index 000000000..13b151bd4 --- /dev/null +++ b/backports/0011-backport-mkits.sh.patch @@ -0,0 +1,266 @@ +From 43f832c25bb9dee1a817370ab11531e81348f177 Mon Sep 17 00:00:00 2001 +From: John Crispin +Date: Sun, 9 May 2021 12:23:00 +0200 +Subject: [PATCH 42/43] backport: mkits.sh + +969083634481c3ab5fb80509f385ef10ab45b55f +e991c1b8a2385397fc1e657ed73878938997d951 +9f714398e060c6338fbfad44cdbfa8c940dbb84b + +Signed-off-by: John Crispin +--- + include/image-commands.mk | 2 +- + include/image.mk | 2 +- + scripts/mkits.sh | 101 +++++++++++++++++++++++++--- + target/linux/ipq40xx/image/Makefile | 1 + + target/linux/ipq806x/image/Makefile | 1 + + 5 files changed, 95 insertions(+), 12 deletions(-) + +diff --git a/include/image-commands.mk b/include/image-commands.mk +index bde6e030bc..f97d4363d1 100644 +--- a/include/image-commands.mk ++++ b/include/image-commands.mk +@@ -204,7 +204,7 @@ define Build/fit + $(if $(word 3,$(1)),-r $(IMAGE_ROOTFS) -f $(subst _,$(comma),$(DEVICE_NAME))) \ + -a $(KERNEL_LOADADDR) -e $(if $(KERNEL_ENTRY),$(KERNEL_ENTRY),$(KERNEL_LOADADDR)) \ + $(if $(DEVICE_FDT_NUM),-n $(DEVICE_FDT_NUM)) \ +- -c $(if $(DEVICE_DTS_CONFIG),$(DEVICE_DTS_CONFIG),"config@1") \ ++ -c $(if $(DEVICE_DTS_CONFIG),$(DEVICE_DTS_CONFIG),"config-1") \ + -A $(LINUX_KARCH) -v $(LINUX_VERSION) + PATH=$(LINUX_DIR)/scripts/dtc:$(PATH) mkimage $(if $(word 3,$(1)),-E -B 0x1000 -p 0x1000) -f $@.its $@.new + @mv $@.new $@ +diff --git a/include/image.mk b/include/image.mk +index fc46012e87..7a48b789af 100644 +--- a/include/image.mk ++++ b/include/image.mk +@@ -139,7 +139,7 @@ endef + define Image/BuildKernel/MkFIT + $(TOPDIR)/scripts/mkits.sh \ + -D $(1) -o $(KDIR)/fit-$(1).its -k $(2) $(if $(3),-d $(3)) -C $(4) -a $(5) -e $(6) \ +- -c $(if $(DEVICE_DTS_CONFIG),$(DEVICE_DTS_CONFIG),"config@1") \ ++ -c $(if $(DEVICE_DTS_CONFIG),$(DEVICE_DTS_CONFIG),"config-1") \ + -A $(LINUX_KARCH) -v $(LINUX_VERSION) + PATH=$(LINUX_DIR)/scripts/dtc:$(PATH) mkimage -f $(KDIR)/fit-$(1).its $(KDIR)/fit-$(1)$(7).itb + endef +diff --git a/scripts/mkits.sh b/scripts/mkits.sh +index 3d68fdacbc..7533baf799 100755 +--- a/scripts/mkits.sh ++++ b/scripts/mkits.sh +@@ -24,22 +24,29 @@ usage() { + printf "\n\t-a ==> set load address to 'addr' (hex)" + printf "\n\t-e ==> set entry point to 'entry' (hex)" + printf "\n\t-f ==> set device tree compatible string" ++ printf "\n\t-i ==> include initrd Blob 'initrd'" + printf "\n\t-v ==> set kernel version to 'version'" + printf "\n\t-k ==> include kernel image 'kernel'" + printf "\n\t-D ==> human friendly Device Tree Blob 'name'" + printf "\n\t-n ==> fdt unit-address 'address'" + printf "\n\t-d ==> include Device Tree Blob 'dtb'" +- printf "\n\t-r ==> include RootFS blob" ++ printf "\n\t-r ==> include RootFS blob 'rootfs'" + printf "\n\t-H ==> specify hash algo instead of SHA1" +- printf "\n\t-o ==> create output file 'its_file'\n" ++ printf "\n\t-o ==> create output file 'its_file'" ++ printf "\n\t-O ==> create config with dt overlay 'name:dtb'" ++ printf "\n\t\t(can be specified more than once)\n" + exit 1 + } + + FDTNUM=1 + ROOTFSNUM=1 ++INITRDNUM=1 + HASH=sha1 ++LOADABLES= ++DTOVERLAY= ++DTADDR= + +-while getopts ":A:a:c:C:D:d:e:f:k:n:o:v:r:S" OPTION ++while getopts ":A:a:c:C:D:d:e:f:i:k:n:o:O:v:r:S" OPTION + do + case $OPTION in + A ) ARCH=$OPTARG;; +@@ -50,9 +57,11 @@ do + d ) DTB=$OPTARG;; + e ) ENTRY_ADDR=$OPTARG;; + f ) COMPATIBLE=$OPTARG;; ++ i ) INITRD=$OPTARG;; + k ) KERNEL=$OPTARG;; + n ) FDTNUM=$OPTARG;; + o ) OUTPUT=$OPTARG;; ++ O ) DTOVERLAY="$DTOVERLAY ${OPTARG}";; + r ) ROOTFS=$OPTARG;; + S ) HASH=$OPTARG;; + v ) VERSION=$OPTARG;; +@@ -74,14 +83,20 @@ if [ -n "${COMPATIBLE}" ]; then + COMPATIBLE_PROP="compatible = \"${COMPATIBLE}\";" + fi + ++[ "$DTOVERLAY" ] && { ++ dtbsize=$(wc -c "$DTB" | cut -d' ' -f1) ++ DTADDR=$(printf "0x%08x" $(($LOAD_ADDR - $dtbsize)) ) ++} ++ + # Conditionally create fdt information + if [ -n "${DTB}" ]; then + FDT_NODE=" +- fdt@$FDTNUM { ++ fdt-$FDTNUM { + description = \"${ARCH_UPPER} OpenWrt ${DEVICE} device tree blob\"; + ${COMPATIBLE_PROP} + data = /incbin/(\"${DTB}\"); + type = \"flat_dt\"; ++ ${DTADDR:+load = <${DTADDR}>;} + arch = \"${ARCH}\"; + compression = \"none\"; + hash@1 { +@@ -92,13 +107,34 @@ if [ -n "${DTB}" ]; then + }; + }; + " +- FDT_PROP="fdt = \"fdt@$FDTNUM\";" ++ FDT_PROP="fdt = \"fdt-$FDTNUM\";" + fi + ++if [ -n "${INITRD}" ]; then ++ INITRD_NODE=" ++ initrd-$INITRDNUM { ++ description = \"${ARCH_UPPER} OpenWrt ${DEVICE} initrd\"; ++ ${COMPATIBLE_PROP} ++ data = /incbin/(\"${INITRD}\"); ++ type = \"ramdisk\"; ++ arch = \"${ARCH}\"; ++ os = \"linux\"; ++ hash@1 { ++ algo = \"crc32\"; ++ }; ++ hash@2 { ++ algo = \"${HASH}\"; ++ }; ++ }; ++" ++ INITRD_PROP="ramdisk=\"initrd-${INITRDNUM}\";" ++fi ++ ++ + if [ -n "${ROOTFS}" ]; then + dd if="${ROOTFS}" of="${ROOTFS}.pagesync" bs=4096 conv=sync + ROOTFS_NODE=" +- rootfs@$ROOTFSNUM { ++ rootfs-$ROOTFSNUM { + description = \"${ARCH_UPPER} OpenWrt ${DEVICE} rootfs\"; + ${COMPATIBLE_PROP} + data = /incbin/(\"${ROOTFS}.pagesync\"); +@@ -113,9 +149,50 @@ if [ -n "${ROOTFS}" ]; then + }; + }; + " +- ROOTFS_PROP="loadables = \"rootfs@${ROOTFSNUM}\";" ++ LOADABLES="${LOADABLES:+$LOADABLES, }\"rootfs-${ROOTFSNUM}\"" + fi + ++# add DT overlay blobs ++FDTOVERLAY_NODE="" ++OVCONFIGS="" ++[ "$DTOVERLAY" ] && for overlay in $DTOVERLAY ; do ++ overlay_blob=${overlay##*:} ++ ovname=${overlay%%:*} ++ ovnode="fdt-$ovname" ++ ovsize=$(wc -c "$overlay_blob" | cut -d' ' -f1) ++ echo "$ovname ($overlay_blob) : $ovsize" >&2 ++ DTADDR=$(printf "0x%08x" $(($DTADDR - $ovsize))) ++ FDTOVERLAY_NODE="$FDTOVERLAY_NODE ++ ++ $ovnode { ++ description = \"${ARCH_UPPER} OpenWrt ${DEVICE} device tree overlay $ovname\"; ++ ${COMPATIBLE_PROP} ++ data = /incbin/(\"${overlay_blob}\"); ++ type = \"flat_dt\"; ++ arch = \"${ARCH}\"; ++ load = <${DTADDR}>; ++ compression = \"none\"; ++ hash@1 { ++ algo = \"crc32\"; ++ }; ++ hash@2 { ++ algo = \"${HASH}\"; ++ }; ++ }; ++" ++ OVCONFIGS="$OVCONFIGS ++ ++ config-$ovname { ++ description = \"OpenWrt ${DEVICE} with $ovname\"; ++ kernel = \"kernel-1\"; ++ fdt = \"fdt-$FDTNUM\", \"$ovnode\"; ++ ${LOADABLES:+loadables = ${LOADABLES};} ++ ${COMPATIBLE_PROP} ++ ${INITRD_PROP} ++ }; ++ " ++done ++ + # Create a default, fully populated DTS file + DATA="/dts-v1/; + +@@ -124,7 +201,7 @@ DATA="/dts-v1/; + #address-cells = <1>; + + images { +- kernel@1 { ++ kernel-1 { + description = \"${ARCH_UPPER} OpenWrt Linux-${VERSION}\"; + data = /incbin/(\"${KERNEL}\"); + type = \"kernel\"; +@@ -140,7 +217,9 @@ DATA="/dts-v1/; + algo = \"$HASH\"; + }; + }; ++${INITRD_NODE} + ${FDT_NODE} ++${FDTOVERLAY_NODE} + ${ROOTFS_NODE} + }; + +@@ -148,11 +227,13 @@ ${ROOTFS_NODE} + default = \"${CONFIG}\"; + ${CONFIG} { + description = \"OpenWrt ${DEVICE}\"; +- kernel = \"kernel@1\"; ++ kernel = \"kernel-1\"; + ${FDT_PROP} +- ${ROOTFS_PROP} ++ ${LOADABLES:+loadables = ${LOADABLES};} + ${COMPATIBLE_PROP} ++ ${INITRD_PROP} + }; ++ ${OVCONFIGS} + }; + };" + +diff --git a/target/linux/ipq40xx/image/Makefile b/target/linux/ipq40xx/image/Makefile +index 2be262936f..a0d6242a28 100644 +--- a/target/linux/ipq40xx/image/Makefile ++++ b/target/linux/ipq40xx/image/Makefile +@@ -8,6 +8,7 @@ define Device/Default + KERNEL_PREFIX := $$(IMAGE_PREFIX) + KERNEL_LOADADDR := 0x80208000 + DEVICE_DTS = $$(SOC)-$(lastword $(subst _, ,$(1))) ++ DEVICE_DTS_CONFIG := config@1 + IMAGES := sysupgrade.bin + IMAGE/sysupgrade.bin = sysupgrade-tar | append-metadata + IMAGE/sysupgrade.bin/squashfs := +diff --git a/target/linux/ipq806x/image/Makefile b/target/linux/ipq806x/image/Makefile +index bab1da0090..3bc60fa931 100644 +--- a/target/linux/ipq806x/image/Makefile ++++ b/target/linux/ipq806x/image/Makefile +@@ -30,6 +30,7 @@ define Device/Default + KERNEL_PREFIX := $$(IMAGE_PREFIX) + KERNEL_LOADADDR = 0x42208000 + DEVICE_DTS = $$(SOC)-$(lastword $(subst _, ,$(1))) ++ DEVICE_DTS_CONFIG := config@1 + IMAGES := sysupgrade.bin + IMAGE/sysupgrade.bin = sysupgrade-tar | append-metadata + IMAGE/sysupgrade.bin/squashfs := +-- +2.25.1 + diff --git a/patches/0025-target-add-pstore-support.patch b/patches/0025-target-add-pstore-support.patch index e0af77e88..80940ac93 100644 --- a/patches/0025-target-add-pstore-support.patch +++ b/patches/0025-target-add-pstore-support.patch @@ -87,29 +87,6 @@ index 0000000000..89ea4a438e + }; + + aliases { -diff --git a/target/linux/mediatek/patches-5.10/160-add-pstore-support.patch b/target/linux/mediatek/patches-5.10/160-add-pstore-support.patch -new file mode 100644 -index 0000000000..6959fc09b3 ---- /dev/null -+++ b/target/linux/mediatek/patches-5.10/160-add-pstore-support.patch -@@ -0,0 +1,17 @@ -+Index: linux-5.10.16/arch/arm64/boot/dts/mediatek/mt7622.dtsi -+=================================================================== -+--- linux-5.10.16.orig/arch/arm64/boot/dts/mediatek/mt7622.dtsi -++++ linux-5.10.16/arch/arm64/boot/dts/mediatek/mt7622.dtsi -+@@ -132,6 +132,12 @@ -+ reg = <0 0x43000000 0 0x30000>; -+ no-map; -+ }; -++ -++ ramoops@50000000 { -++ compatible = "ramoops"; -++ reg = <0 0x50000000 0 0x10000>; -++ record-size = <0x1000>; -++ }; -+ }; -+ -+ thermal-zones { -- 2.25.1