[PATCH] mpc85xx-p1010: add Kernel 5.10 support

Adrian Schmutzler mail at adrianschmutzler.de
Thu Feb 18 12:16:19 EST 2021


Hi,

> -----Original Message-----
> From: openwrt-devel [mailto:openwrt-devel-bounces at lists.openwrt.org]
> On Behalf Of David Bauer
> Sent: Dienstag, 16. Februar 2021 23:48
> To: openwrt-devel at lists.openwrt.org
> Subject: [PATCH] mpc85xx-p1010: add Kernel 5.10 support

no offense, but I wonder whether bumping by subtargets is really the way to go here?

Best

Adrian

> 
> Tested on: Sophos RED 15W
> 
> The TP-Link WL-WDR4900 needs to be disabled when 5.10 becomes the
> default kernel.
> 
> When building with all kmods enabled, the resulting kernel image exceeds
> the maximum size the bootloader reads from the flash.
> 
> For more information, see GitHub issue #1773
> 
> Signed-off-by: David Bauer <mail at david-bauer.net>
> ---
>  target/linux/mpc85xx/config-5.10              | 280 ++++++++++++++++++
>  target/linux/mpc85xx/p1010/target.mk          |   2 +
>  ...85xx-add-gpio-keys-to-of-match-table.patch |  10 +  ...0-powerpc-85xx-tl-
> wdr4900-v1-support.patch |  83 ++++++  .../101-powerpc-85xx-hiveap-330-
> support.patch |  30 ++
>  .../102-powerpc-add-cmdline-override.patch    |  37 +++
>  .../103-powerpc-85xx-red-15w-rev1.patch       |  29 ++
>  ...change-P2020RDB-dts-file-for-OpenWRT.patch | 162 ++++++++++
>  .../105-powerpc-85xx-panda-support.patch      |  30 ++
>  .../106-powerpc-85xx-ws-ap3710i-support.patch |  30 ++  ...ootwrapper-
> disable-uImage-generation.patch |  42 +++
>  11 files changed, 735 insertions(+)
>  create mode 100644 target/linux/mpc85xx/config-5.10  create mode 100644
> target/linux/mpc85xx/patches-5.10/001-powerpc-85xx-add-gpio-keys-to-of-
> match-table.patch
>  create mode 100644 target/linux/mpc85xx/patches-5.10/100-powerpc-85xx-
> tl-wdr4900-v1-support.patch
>  create mode 100644 target/linux/mpc85xx/patches-5.10/101-powerpc-85xx-
> hiveap-330-support.patch
>  create mode 100644 target/linux/mpc85xx/patches-5.10/102-powerpc-add-
> cmdline-override.patch
>  create mode 100644 target/linux/mpc85xx/patches-5.10/103-powerpc-85xx-
> red-15w-rev1.patch
>  create mode 100644 target/linux/mpc85xx/patches-5.10/104-powerpc-
> mpc85xx-change-P2020RDB-dts-file-for-OpenWRT.patch
>  create mode 100644 target/linux/mpc85xx/patches-5.10/105-powerpc-85xx-
> panda-support.patch
>  create mode 100644 target/linux/mpc85xx/patches-5.10/106-powerpc-85xx-
> ws-ap3710i-support.patch
>  create mode 100644 target/linux/mpc85xx/patches-5.10/900-powerpc-
> bootwrapper-disable-uImage-generation.patch
> 
> diff --git a/target/linux/mpc85xx/config-5.10 b/target/linux/mpc85xx/config-
> 5.10
> new file mode 100644
> index 0000000000..cb0d08ba91
> --- /dev/null
> +++ b/target/linux/mpc85xx/config-5.10
> @@ -0,0 +1,280 @@
> +# CONFIG_40x is not set
> +# CONFIG_44x is not set
> +# CONFIG_ADVANCED_OPTIONS is not set
> +CONFIG_AR8216_PHY=y
> +CONFIG_AR8216_PHY_LEDS=y
> +CONFIG_ARCH_32BIT_OFF_T=y
> +CONFIG_ARCH_HIBERNATION_POSSIBLE=y
> +CONFIG_ARCH_KEEP_MEMBLOCK=y
> +CONFIG_ARCH_MAY_HAVE_PC_FDC=y
> +CONFIG_ARCH_MIGHT_HAVE_PC_PARPORT=y
> +CONFIG_ARCH_MIGHT_HAVE_PC_SERIO=y
> +CONFIG_ARCH_MMAP_RND_BITS=11
> +CONFIG_ARCH_MMAP_RND_BITS_MAX=17
> +CONFIG_ARCH_MMAP_RND_BITS_MIN=11
> +CONFIG_ARCH_MMAP_RND_COMPAT_BITS_MAX=17
> +CONFIG_ARCH_MMAP_RND_COMPAT_BITS_MIN=11
> +CONFIG_ARCH_OPTIONAL_KERNEL_RWX=y
> +CONFIG_ARCH_SUSPEND_POSSIBLE=y
> +CONFIG_ARCH_WEAK_RELEASE_ACQUIRE=y
> +CONFIG_ASN1=y
> +CONFIG_AUDIT_ARCH=y
> +CONFIG_BLK_MQ_PCI=y
> +CONFIG_BOOKE=y
> +CONFIG_BOOKE_WDT=y
> +# CONFIG_BSC9131_RDB is not set
> +# CONFIG_BSC9132_QDS is not set
> +# CONFIG_C293_PCIE is not set
> +CONFIG_CLONE_BACKWARDS=y
> +CONFIG_CLZ_TAB=y
> +CONFIG_CMDLINE="console=ttyS0,115200"
> +CONFIG_CMDLINE_FROM_BOOTLOADER=y
> +# CONFIG_CMDLINE_OVERRIDE is not set
> +# CONFIG_COMMON_CLK is not set
> +CONFIG_COMPAT_32BIT_TIME=y
> +# CONFIG_CORENET_GENERIC is not set
> +# CONFIG_CPM2 is not set
> +CONFIG_CPU_BIG_ENDIAN=y
> +CONFIG_CRYPTO_AEAD=y
> +CONFIG_CRYPTO_AEAD2=y
> +# CONFIG_CRYPTO_AES_PPC_SPE is not set
> +CONFIG_CRYPTO_AKCIPHER=y
> +CONFIG_CRYPTO_AKCIPHER2=y
> +CONFIG_CRYPTO_AUTHENC=y
> +CONFIG_CRYPTO_HASH=y
> +CONFIG_CRYPTO_HASH2=y
> +CONFIG_CRYPTO_HW=y
> +CONFIG_CRYPTO_LIB_POLY1305_RSIZE=1
> +CONFIG_CRYPTO_MANAGER=y
> +CONFIG_CRYPTO_MANAGER2=y
> +# CONFIG_CRYPTO_MD5_PPC is not set
> +CONFIG_CRYPTO_NULL=y
> +CONFIG_CRYPTO_NULL2=y
> +CONFIG_CRYPTO_RNG=y
> +CONFIG_CRYPTO_RNG2=y
> +CONFIG_CRYPTO_RSA=y
> +# CONFIG_CRYPTO_SHA1_PPC is not set
> +# CONFIG_CRYPTO_SHA1_PPC_SPE is not set #
> CONFIG_CRYPTO_SHA256_PPC_SPE
> +is not set
> +CONFIG_DATA_SHIFT=12
> +CONFIG_DEBUG_BUGVERBOSE=y
> +CONFIG_DNOTIFY=y
> +CONFIG_DTC=y
> +# CONFIG_E200 is not set
> +CONFIG_E500=y
> +# CONFIG_E5500_CPU is not set
> +# CONFIG_E6500_CPU is not set
> +CONFIG_EARLY_PRINTK=y
> +CONFIG_EDAC_ATOMIC_SCRUB=y
> +CONFIG_EDAC_SUPPORT=y
> +CONFIG_ENABLE_MUST_CHECK=y
> +CONFIG_FIXED_PHY=y
> +CONFIG_FSL_BOOKE=y
> +CONFIG_FSL_EMB_PERFMON=y
> +# CONFIG_FSL_ENETC_MDIO is not set
> +# CONFIG_FSL_FMAN is not set
> +CONFIG_FSL_LBC=y
> +CONFIG_FSL_PCI=y
> +CONFIG_FSL_PQ_MDIO=y
> +CONFIG_FSL_SOC=y
> +CONFIG_FSL_SOC_BOOKE=y
> +CONFIG_FW_LOADER_PAGED_BUF=y
> +CONFIG_GENERIC_ALLOCATOR=y
> +CONFIG_GENERIC_ATOMIC64=y
> +CONFIG_GENERIC_BUG=y
> +CONFIG_GENERIC_CLOCKEVENTS=y
> +CONFIG_GENERIC_CMOS_UPDATE=y
> +CONFIG_GENERIC_CPU=y
> +CONFIG_GENERIC_CPU_AUTOPROBE=y
> +CONFIG_GENERIC_CPU_VULNERABILITIES=y
> +CONFIG_GENERIC_EARLY_IOREMAP=y
> +CONFIG_GENERIC_IRQ_SHOW=y
> +CONFIG_GENERIC_IRQ_SHOW_LEVEL=y
> +CONFIG_GENERIC_ISA_DMA=y
> +CONFIG_GENERIC_PCI_IOMAP=y
> +CONFIG_GENERIC_SMP_IDLE_THREAD=y
> +CONFIG_GENERIC_STRNCPY_FROM_USER=y
> +CONFIG_GENERIC_STRNLEN_USER=y
> +CONFIG_GENERIC_TIME_VSYSCALL=y
> +CONFIG_GEN_RTC=y
> +# CONFIG_GE_IMP3A is not set
> +CONFIG_GIANFAR=y
> +CONFIG_GPIOLIB=y
> +CONFIG_GPIO_GENERIC=y
> +CONFIG_GPIO_MPC8XXX=y
> +CONFIG_HAS_DMA=y
> +CONFIG_HAS_IOMEM=y
> +CONFIG_HAS_IOPORT_MAP=y
> +# CONFIG_HIVEAP_330 is not set
> +CONFIG_HW_RANDOM=y
> +# CONFIG_HW_RANDOM_XIPHERA is not set
> +CONFIG_HZ=250
> +CONFIG_HZ_250=y
> +CONFIG_HZ_PERIODIC=y
> +CONFIG_I2C=y
> +CONFIG_I2C_BOARDINFO=y
> +CONFIG_I2C_MPC=y
> +CONFIG_ILLEGAL_POINTER_VALUE=0
> +CONFIG_INITRAMFS_SOURCE=""
> +CONFIG_IRQCHIP=y
> +CONFIG_IRQ_DOMAIN=y
> +CONFIG_IRQ_FORCED_THREADING=y
> +CONFIG_IRQ_WORK=y
> +CONFIG_ISA_DMA_API=y
> +CONFIG_KERNEL_START=0xc0000000
> +# CONFIG_KSI8560 is not set
> +CONFIG_LEGACY_PTYS=y
> +CONFIG_LEGACY_PTY_COUNT=256
> +CONFIG_LIBFDT=y
> +CONFIG_LLD_VERSION=0
> +CONFIG_LOCK_DEBUGGING_SUPPORT=y
> +CONFIG_LOWMEM_CAM_NUM=3
> +CONFIG_LOWMEM_SIZE=0x30000000
> +CONFIG_LXT_PHY=y
> +# CONFIG_MATH_EMULATION is not set
> +CONFIG_MDIO_BUS=y
> +CONFIG_MDIO_DEVICE=y
> +CONFIG_MEMFD_CREATE=y
> +# CONFIG_MFD_ROHM_BD71828 is not set
> +CONFIG_MIGRATION=y
> +CONFIG_MMU_GATHER_PAGE_SIZE=y
> +CONFIG_MODULES_USE_ELF_RELA=y
> +# CONFIG_MPC8536_DS is not set
> +# CONFIG_MPC8540_ADS is not set
> +# CONFIG_MPC8560_ADS is not set
> +# CONFIG_MPC85xx_CDS is not set
> +# CONFIG_MPC85xx_DS is not set
> +# CONFIG_MPC85xx_MDS is not set
> +# CONFIG_MPC85xx_RDB is not set
> +CONFIG_MPIC=y
> +# CONFIG_MPIC_MSGR is not set
> +CONFIG_MPIC_TIMER=y
> +CONFIG_MPILIB=y
> +# CONFIG_MTD_CFI is not set
> +CONFIG_MTD_NAND_CORE=y
> +CONFIG_MTD_NAND_ECC=y
> +CONFIG_MTD_NAND_ECC_SW_HAMMING=y
> +CONFIG_MTD_RAW_NAND=y
> +CONFIG_MTD_SPI_NOR=y
> +# CONFIG_MVME2500 is not set
> +CONFIG_NEED_PER_CPU_KM=y
> +CONFIG_NEED_SG_DMA_LENGTH=y
> +CONFIG_NLS=y
> +CONFIG_NR_IRQS=512
> +CONFIG_NVMEM=y
> +CONFIG_OF=y
> +CONFIG_OF_ADDRESS=y
> +CONFIG_OF_DMA_DEFAULT_COHERENT=y
> +CONFIG_OF_EARLY_FLATTREE=y
> +CONFIG_OF_FLATTREE=y
> +CONFIG_OF_GPIO=y
> +CONFIG_OF_IRQ=y
> +CONFIG_OF_KOBJ=y
> +CONFIG_OF_MDIO=y
> +CONFIG_OF_NET=y
> +CONFIG_OLD_SIGACTION=y
> +CONFIG_OLD_SIGSUSPEND=y
> +# CONFIG_P1010_RDB is not set
> +# CONFIG_P1022_DS is not set
> +# CONFIG_P1022_RDK is not set
> +# CONFIG_P1023_RDB is not set
> +CONFIG_PAGE_OFFSET=0xc0000000
> +# CONFIG_PANDA is not set
> +CONFIG_PCI=y
> +CONFIG_PCIEAER=y
> +CONFIG_PCIEASPM=y
> +CONFIG_PCIEASPM_DEFAULT=y
> +# CONFIG_PCIEASPM_PERFORMANCE is not set #
> CONFIG_PCIEASPM_POWERSAVE is
> +not set # CONFIG_PCIEASPM_POWER_SUPERSAVE is not set
> +CONFIG_PCIEPORTBUS=y CONFIG_PCI_DOMAINS=y
> +CONFIG_PGTABLE_LEVELS=2
> +CONFIG_PHYLIB=y
> +CONFIG_PHYSICAL_ALIGN=0x04000000
> +CONFIG_PHYSICAL_START=0x00000000
> +# CONFIG_PHYS_64BIT is not set
> +# CONFIG_PMU_SYSFS is not set
> +# CONFIG_PPA8548 is not set
> +CONFIG_PPC=y
> +CONFIG_PPC32=y
> +# CONFIG_PPC64 is not set
> +CONFIG_PPC_85xx=y
> +# CONFIG_PPC_8xx is not set
> +CONFIG_PPC_ADV_DEBUG_DACS=2
> +CONFIG_PPC_ADV_DEBUG_DVCS=0
> +CONFIG_PPC_ADV_DEBUG_IACS=2
> +CONFIG_PPC_ADV_DEBUG_REGS=y
> +CONFIG_PPC_BARRIER_NOSPEC=y
> +CONFIG_PPC_BOOK3E_MMU=y
> +# CONFIG_PPC_BOOK3S_6xx is not set
> +CONFIG_PPC_DOORBELL=y
> +# CONFIG_PPC_E500MC is not set
> +# CONFIG_PPC_EARLY_DEBUG is not set
> +CONFIG_PPC_FSL_BOOK3E=y
> +CONFIG_PPC_INDIRECT_PCI=y
> +# CONFIG_PPC_IRQ_SOFT_MASK_DEBUG is not set
> CONFIG_PPC_MMU_NOHASH=y
> +CONFIG_PPC_MMU_NOHASH_32=y
> +CONFIG_PPC_PAGE_SHIFT=12
> +# CONFIG_PPC_PTDUMP is not set
> +# CONFIG_PPC_QEMU_E500 is not set
> +CONFIG_PPC_SMP_MUXED_IPI=y
> +CONFIG_PPC_UDBG_16550=y
> +CONFIG_PPC_WERROR=y
> +CONFIG_QE_GPIO=y
> +CONFIG_QUICC_ENGINE=y
> +CONFIG_RAS=y
> +# CONFIG_RED_15W_REV1 is not set
> +CONFIG_RTC_CLASS=y
> +CONFIG_RTC_DRV_GENERIC=y
> +# CONFIG_RTC_DRV_RV3032 is not set
> +CONFIG_RTC_I2C_AND_SPI=y
> +CONFIG_RTC_MC146818_LIB=y
> +# CONFIG_SBC8548 is not set
> +# CONFIG_SCOM_DEBUGFS is not set
> +CONFIG_SERIAL_8250_EXTENDED=y
> +CONFIG_SERIAL_8250_FSL=y
> +CONFIG_SERIAL_8250_SHARE_IRQ=y
> +CONFIG_SERIAL_MCTRL_GPIO=y
> +CONFIG_SERIAL_OF_PLATFORM=y
> +# CONFIG_SERIAL_QE is not set
> +# CONFIG_SOCRATES is not set
> +CONFIG_SPARSE_IRQ=y
> +CONFIG_SPE=y
> +CONFIG_SPE_POSSIBLE=y
> +CONFIG_SPI=y
> +CONFIG_SPI_FSL_ESPI=y
> +CONFIG_SPI_MASTER=y
> +CONFIG_SPI_MEM=y
> +CONFIG_SRCU=y
> +# CONFIG_STRIP_ASM_SYMS is not set
> +# CONFIG_STX_GP3 is not set
> +CONFIG_SWCONFIG=y
> +CONFIG_SWPHY=y
> +CONFIG_SYSCTL_EXCEPTION_TRACE=y
> +CONFIG_TASK_SIZE=0xc0000000
> +CONFIG_THREAD_INFO_IN_TASK=y
> +CONFIG_THREAD_SHIFT=13
> +CONFIG_TICK_CPU_ACCOUNTING=y
> +CONFIG_TINY_SRCU=y
> +# CONFIG_TL_WDR4900_V1 is not set
> +# CONFIG_TQM8540 is not set
> +# CONFIG_TQM8541 is not set
> +# CONFIG_TQM8548 is not set
> +# CONFIG_TQM8555 is not set
> +# CONFIG_TQM8560 is not set
> +# CONFIG_TWR_P102x is not set
> +CONFIG_UCC=y
> +CONFIG_UCC_FAST=y
> +CONFIG_UCC_GETH=y
> +# CONFIG_UGETH_TX_ON_DEMAND is not set
> +CONFIG_USB_SUPPORT=y
> +CONFIG_VDSO32=y
> +# CONFIG_VIRT_CPU_ACCOUNTING_NATIVE is not set
> +CONFIG_VM_EVENT_COUNTERS=y CONFIG_WATCHDOG_CORE=y #
> CONFIG_WS_AP3710I
> +is not set # CONFIG_XES_MPC85xx is not set CONFIG_XZ_DEC_BCJ=y
> +CONFIG_XZ_DEC_POWERPC=y
> diff --git a/target/linux/mpc85xx/p1010/target.mk
> b/target/linux/mpc85xx/p1010/target.mk
> index 12ed78ace1..1140a325b6 100644
> --- a/target/linux/mpc85xx/p1010/target.mk
> +++ b/target/linux/mpc85xx/p1010/target.mk
> @@ -2,6 +2,8 @@ BOARDNAME:=P1010
>  FEATURES+=nand
>  KERNELNAME:=simpleImage.tl-wdr4900-v1
> 
> +KERNEL_TESTING_PATCHVER:=5.10
> +
>  define Target/Description
>  	Build firmware images for P1010 based boards.
>  endef
> diff --git a/target/linux/mpc85xx/patches-5.10/001-powerpc-85xx-add-gpio-
> keys-to-of-match-table.patch b/target/linux/mpc85xx/patches-5.10/001-
> powerpc-85xx-add-gpio-keys-to-of-match-table.patch
> new file mode 100644
> index 0000000000..5e5ab10daf
> --- /dev/null
> +++ b/target/linux/mpc85xx/patches-5.10/001-powerpc-85xx-add-gpio-
> keys-t
> +++ o-of-match-table.patch
> @@ -0,0 +1,10 @@
> +--- a/arch/powerpc/platforms/85xx/common.c
> ++++ b/arch/powerpc/platforms/85xx/common.c
> +@@ -30,6 +30,7 @@ static const struct of_device_id mpc85xx
> + 	{ .compatible = "fsl,mpc8548-guts", },
> + 	/* Probably unnecessary? */
> + 	{ .compatible = "gpio-leds", },
> ++	{ .compatible = "gpio-keys", },
> + 	/* For all PCI controllers */
> + 	{ .compatible = "fsl,mpc8540-pci", },
> + 	{ .compatible = "fsl,mpc8548-pcie", },
> diff --git a/target/linux/mpc85xx/patches-5.10/100-powerpc-85xx-tl-
> wdr4900-v1-support.patch b/target/linux/mpc85xx/patches-5.10/100-
> powerpc-85xx-tl-wdr4900-v1-support.patch
> new file mode 100644
> index 0000000000..4da431ec23
> --- /dev/null
> +++ b/target/linux/mpc85xx/patches-5.10/100-powerpc-85xx-tl-wdr4900-v1-
> s
> +++ upport.patch
> @@ -0,0 +1,83 @@
> +From 1d9f596e572917772b87a2a37e1680902964782f Mon Sep 17 00:00:00
> 2001
> +From: Gabor Juhos <juhosg at openwrt.org>
> +Date: Wed, 20 Feb 2013 08:40:33 +0100
> +Subject: [PATCH] powerpc: 85xx: add support for the TP-Link TL-WDR4900
> +v1  board
> +
> +This patch adds support for the TP-Link TL-WDR4900 v1 concurrent
> +dual-band wireless router. The devices uses the Freescale P1014 SoC.
> +
> +Signed-off-by: Gabor Juhos <juhosg at openwrt.org>
> +Signed-off-by: Pawel Dembicki <paweldembicki at gmail.com>
> +---
> + arch/powerpc/boot/Makefile           |  3 ++-
> + arch/powerpc/boot/wrapper            |  5 +++++
> + arch/powerpc/platforms/85xx/Kconfig  | 12 ++++++++++++
> +arch/powerpc/platforms/85xx/Makefile |  1 +
> + 4 files changed, 20 insertions(+), 1 deletion(-)
> +
> +--- a/arch/powerpc/boot/Makefile
> ++++ b/arch/powerpc/boot/Makefile
> +@@ -157,6 +157,7 @@ src-plat-$(CONFIG_PPC_PSERIES) += pserie
> + src-plat-$(CONFIG_PPC_POWERNV) += pseries-head.S
> + src-plat-$(CONFIG_PPC_IBM_CELL_BLADE) += pseries-head.S
> + src-plat-$(CONFIG_MVME7100) += motload-head.S mvme7100.c
> ++src-plat-$(CONFIG_TL_WDR4900_V1) += simpleboot.c fixed-head.S
> +
> + src-wlib := $(sort $(src-wlib-y))
> + src-plat := $(sort $(src-plat-y))
> +@@ -336,7 +337,7 @@ image-$(CONFIG_TQM8555)			+=
> cuImage.tqm
> + image-$(CONFIG_TQM8560)			+= cuImage.tqm8560
> + image-$(CONFIG_SBC8548)			+= cuImage.sbc8548
> + image-$(CONFIG_KSI8560)			+= cuImage.ksi8560
> +-
> ++image-$(CONFIG_TL_WDR4900_V1)		+= simpleImage.tl-
> wdr4900-v1
> + # Board ports in arch/powerpc/platform/86xx/Kconfig
> + image-$(CONFIG_MVME7100)                += dtbImage.mvme7100
> +
> +--- a/arch/powerpc/boot/wrapper
> ++++ b/arch/powerpc/boot/wrapper
> +@@ -324,6 +324,11 @@ adder875-redboot)
> +     platformo="$object/fixed-head.o $object/redboot-8xx.o"
> +     binary=y
> +     ;;
> ++simpleboot-tl-wdr4900-v1)
> ++    platformo="$object/fixed-head.o $object/simpleboot.o"
> ++    link_address='0x1000000'
> ++    binary=y
> ++    ;;
> + simpleboot-*)
> +     platformo="$object/fixed-head.o $object/simpleboot.o"
> +     binary=y
> +--- a/arch/powerpc/platforms/85xx/Kconfig
> ++++ b/arch/powerpc/platforms/85xx/Kconfig
> +@@ -170,6 +170,18 @@ config STX_GP3
> + 	select CPM2
> + 	select DEFAULT_UIMAGE
> +
> ++config TL_WDR4900_V1
> ++    bool "TP-Link TL-WDR4900 v1"
> ++    select DEFAULT_UIMAGE
> ++    select ARCH_REQUIRE_GPIOLIB
> ++    select GPIO_MPC8XXX
> ++    select SWIOTLB
> ++    help
> ++      This option enables support for the TP-Link TL-WDR4900 v1 board.
> ++
> ++      This board is a Concurrent Dual-Band wireless router with a
> ++      Freescale P1014 SoC.
> ++
> + config TQM8540
> + 	bool "TQ Components TQM8540"
> + 	help
> +--- a/arch/powerpc/platforms/85xx/Makefile
> ++++ b/arch/powerpc/platforms/85xx/Makefile
> +@@ -26,6 +26,7 @@ obj-$(CONFIG_CORENET_GENERIC)   += coren
> + obj-$(CONFIG_FB_FSL_DIU)	+= t1042rdb_diu.o
> + obj-$(CONFIG_STX_GP3)	  += stx_gp3.o
> + obj-$(CONFIG_TQM85xx)	  += tqm85xx.o
> ++obj-$(CONFIG_TL_WDR4900_V1) += tl_wdr4900_v1.o
> + obj-$(CONFIG_SBC8548)     += sbc8548.o
> + obj-$(CONFIG_PPA8548)     += ppa8548.o
> + obj-$(CONFIG_SOCRATES)    += socrates.o socrates_fpga_pic.o
> diff --git a/target/linux/mpc85xx/patches-5.10/101-powerpc-85xx-hiveap-
> 330-support.patch b/target/linux/mpc85xx/patches-5.10/101-powerpc-85xx-
> hiveap-330-support.patch
> new file mode 100644
> index 0000000000..34568398c2
> --- /dev/null
> +++ b/target/linux/mpc85xx/patches-5.10/101-powerpc-85xx-hiveap-330-
> supp
> +++ ort.patch
> @@ -0,0 +1,30 @@
> +--- a/arch/powerpc/platforms/85xx/Kconfig
> ++++ b/arch/powerpc/platforms/85xx/Kconfig
> +@@ -49,6 +49,17 @@ config BSC9132_QDS
> + 	  and dual StarCore SC3850 DSP cores.
> + 	  Manufacturer : Freescale Semiconductor, Inc
> +
> ++config HIVEAP_330
> ++    bool "Aerohive HiveAP-330"
> ++    select DEFAULT_UIMAGE
> ++    select ARCH_REQUIRE_GPIOLIB
> ++    select GPIO_MPC8XXX
> ++    help
> ++      This option enables support for the Aerohive HiveAP-330 board.
> ++
> ++      This board is a Concurrent Dual-Band wireless access point with a
> ++      Freescale P1020 SoC.
> ++
> + config MPC8540_ADS
> + 	bool "Freescale MPC8540 ADS"
> + 	select DEFAULT_UIMAGE
> +--- a/arch/powerpc/platforms/85xx/Makefile
> ++++ b/arch/powerpc/platforms/85xx/Makefile
> +@@ -10,6 +10,7 @@ obj-y += common.o
> + obj-$(CONFIG_BSC9131_RDB) += bsc913x_rdb.o
> + obj-$(CONFIG_BSC9132_QDS) += bsc913x_qds.o
> + obj-$(CONFIG_C293_PCIE)   += c293pcie.o
> ++obj-$(CONFIG_HIVEAP_330) += hiveap-330.o
> + obj-$(CONFIG_MPC8540_ADS) += mpc85xx_ads.o
> + obj-$(CONFIG_MPC8560_ADS) += mpc85xx_ads.o
> + obj-$(CONFIG_MPC85xx_CDS) += mpc85xx_cds.o
> diff --git a/target/linux/mpc85xx/patches-5.10/102-powerpc-add-cmdline-
> override.patch b/target/linux/mpc85xx/patches-5.10/102-powerpc-add-
> cmdline-override.patch
> new file mode 100644
> index 0000000000..924ce9307e
> --- /dev/null
> +++ b/target/linux/mpc85xx/patches-5.10/102-powerpc-add-cmdline-
> override
> +++ .patch
> @@ -0,0 +1,37 @@
> +--- a/arch/powerpc/Kconfig
> ++++ b/arch/powerpc/Kconfig
> +@@ -885,6 +885,14 @@ config CMDLINE_FORCE
> + 	  This is useful if you cannot or don't want to change the
> + 	  command-line options your boot loader passes to the kernel.
> +
> ++config CMDLINE_OVERRIDE
> ++    bool "Use alternative cmdline from device tree"
> ++    help
> ++      Some bootloaders may have uneditable bootargs. While
> CMDLINE_FORCE can
> ++      be used, this is not a good option for kernels that are shared across
> ++      devices. This setting enables using "chosen/cmdline-override" as the
> ++      cmdline if it exists in the device tree.
> ++
> + config EXTRA_TARGETS
> + 	string "Additional default image types"
> + 	help
> +--- a/drivers/of/fdt.c
> ++++ b/drivers/of/fdt.c
> +@@ -1060,6 +1060,17 @@ int __init early_init_dt_scan_chosen(uns
> + 	if (p != NULL && l > 0)
> + 		strlcpy(data, p, min(l, COMMAND_LINE_SIZE));
> +
> ++    /* CONFIG_CMDLINE_OVERRIDE is used to fallback to a different
> ++     * device tree option of chosen/bootargs-override. This is
> ++     * helpful on boards where u-boot sets bootargs, and is unable
> ++     * to be modified.
> ++     */
> ++#ifdef CONFIG_CMDLINE_OVERRIDE
> ++	p = of_get_flat_dt_prop(node, "bootargs-override", &l);
> ++	if (p != NULL && l > 0)
> ++		strlcpy(data, p, min((int)l, COMMAND_LINE_SIZE)); #endif
> ++
> + 	/*
> + 	 * CONFIG_CMDLINE is meant to be a default in case nothing else
> + 	 * managed to set the command line, unless
> CONFIG_CMDLINE_FORCE
> diff --git a/target/linux/mpc85xx/patches-5.10/103-powerpc-85xx-red-15w-
> rev1.patch b/target/linux/mpc85xx/patches-5.10/103-powerpc-85xx-red-
> 15w-rev1.patch
> new file mode 100644
> index 0000000000..b84a56659c
> --- /dev/null
> +++ b/target/linux/mpc85xx/patches-5.10/103-powerpc-85xx-red-15w-
> rev1.pa
> +++ tch
> @@ -0,0 +1,29 @@
> +--- a/arch/powerpc/platforms/85xx/Kconfig
> ++++ b/arch/powerpc/platforms/85xx/Kconfig
> +@@ -173,6 +173,16 @@ config XES_MPC85xx
> + 	  Manufacturer: Extreme Engineering Solutions, Inc.
> + 	  URL: <http://www.xes-inc.com/>
> +
> ++config RED_15W_REV1
> ++	bool "Sophos RED 15w Rev.1"
> ++	select DEFAULT_UIMAGE
> ++	select ARCH_REQUIRE_GPIOLIB
> ++	select GPIO_MPC8XXX
> ++	help
> ++	  This option enables support for the Sophos RED 15w Rev.1 board.
> ++
> ++	  This board is a wireless VPN router with a Freescale P1010 SoC.
> ++
> + config STX_GP3
> + 	bool "Silicon Turnkey Express GP3"
> + 	help
> +--- a/arch/powerpc/platforms/85xx/Makefile
> ++++ b/arch/powerpc/platforms/85xx/Makefile
> +@@ -25,6 +25,7 @@ obj-$(CONFIG_P1023_RDB)   += p1023_rdb.o
> + obj-$(CONFIG_TWR_P102x)   += twr_p102x.o
> + obj-$(CONFIG_CORENET_GENERIC)   += corenet_generic.o
> + obj-$(CONFIG_FB_FSL_DIU)	+= t1042rdb_diu.o
> ++obj-$(CONFIG_RED_15W_REV1)	+= red15w_rev1.o
> + obj-$(CONFIG_STX_GP3)	  += stx_gp3.o
> + obj-$(CONFIG_TQM85xx)	  += tqm85xx.o
> + obj-$(CONFIG_TL_WDR4900_V1) += tl_wdr4900_v1.o
> diff --git a/target/linux/mpc85xx/patches-5.10/104-powerpc-mpc85xx-
> change-P2020RDB-dts-file-for-OpenWRT.patch
> b/target/linux/mpc85xx/patches-5.10/104-powerpc-mpc85xx-change-
> P2020RDB-dts-file-for-OpenWRT.patch
> new file mode 100644
> index 0000000000..a22f251077
> --- /dev/null
> +++ b/target/linux/mpc85xx/patches-5.10/104-powerpc-mpc85xx-change-
> P2020
> +++ RDB-dts-file-for-OpenWRT.patch
> @@ -0,0 +1,162 @@
> +From 93514afd769c305182beeed1f9c4c46235879ef8 Mon Sep 17 00:00:00
> 2001
> +From: Pawel Dembicki <paweldembicki at gmail.com>
> +Date: Sun, 30 Dec 2018 23:24:41 +0100
> +Subject: [PATCH] powerpc: mpc85xx: change P2020RDB dts file for
> OpenWRT
> +
> +This patch apply chages for OpenWRT in P2020RDB dts file.
> +
> +Signed-off-by: Pawel Dembicki <paweldembicki at gmail.com>
> +---
> + arch/powerpc/boot/dts/fsl/p2020rdb.dts | 98 +++++++++++++++++--------
> -
> + 1 file changed, 63 insertions(+), 35 deletions(-)
> +
> +--- a/arch/powerpc/boot/dts/fsl/p2020rdb.dts
> ++++ b/arch/powerpc/boot/dts/fsl/p2020rdb.dts
> +@@ -5,10 +5,15 @@
> +  * Copyright 2009-2012 Freescale Semiconductor Inc.
> +  */
> +
> ++/dts-v1/;
> ++
> + /include/ "p2020si-pre.dtsi"
> +
> ++#include <dt-bindings/gpio/gpio.h>
> ++#include <dt-bindings/input/input.h>
> ++
> + / {
> +-	model = "fsl,P2020RDB";
> ++	model = "Freescale P2020RDB";
> + 	compatible = "fsl,P2020RDB";
> +
> + 	aliases {
> +@@ -34,48 +39,38 @@
> + 			  0x2 0x0 0x0 0xffb00000 0x00020000>;
> +
> + 		nor at 0,0 {
> +-			#address-cells = <1>;
> +-			#size-cells = <1>;
> + 			compatible = "cfi-flash";
> + 			reg = <0x0 0x0 0x1000000>;
> + 			bank-width = <2>;
> + 			device-width = <1>;
> +
> +-			partition at 0 {
> +-				/* This location must not be altered  */
> +-				/* 256KB for Vitesse 7385 Switch firmware */
> +-				reg = <0x0 0x00040000>;
> +-				label = "NOR (RO) Vitesse-7385 Firmware";
> +-				read-only;
> +-			};
> +-
> +-			partition at 40000 {
> +-				/* 256KB for DTB Image */
> +-				reg = <0x00040000 0x00040000>;
> +-				label = "NOR (RO) DTB Image";
> +-				read-only;
> +-			};
> ++			partitions {
> ++				compatible = "fixed-partitions";
> ++				#address-cells = <1>;
> ++				#size-cells = <1>;
> +
> +-			partition at 80000 {
> +-				/* 3.5 MB for Linux Kernel Image */
> +-				reg = <0x00080000 0x00380000>;
> +-				label = "NOR (RO) Linux Kernel Image";
> +-				read-only;
> +-			};
> ++				partition at 0 {
> ++					/* This location must not be altered
> */
> ++					/* 256KB for Vitesse 7385 Switch
> firmware */
> ++					reg = <0x0 0x00040000>;
> ++					label = "NOR (RO) Vitesse-7385
> Firmware";
> ++					read-only;
> ++				};
> +
> +-			partition at 400000 {
> +-				/* 11MB for JFFS2 based Root file System */
> +-				reg = <0x00400000 0x00b00000>;
> +-				label = "NOR (RW) JFFS2 Root File System";
> +-			};
> ++				partition at 40000 {
> ++					compatible = "denx,fit";
> ++					reg = <0x00040000 0x00ec0000>;
> ++					label = "firmware";
> ++				};
> +
> +-			partition at f00000 {
> +-				/* This location must not be altered  */
> +-				/* 512KB for u-boot Bootloader Image */
> +-				/* 512KB for u-boot Environment Variables */
> +-				reg = <0x00f00000 0x00100000>;
> +-				label = "NOR (RO) U-Boot Image";
> +-				read-only;
> ++				partition at f00000 {
> ++					/* This location must not be altered
> */
> ++					/* 512KB for u-boot Bootloader Image
> */
> ++					/* 512KB for u-boot Environment
> Variables */
> ++					reg = <0x00f00000 0x00100000>;
> ++					label = "u-boot";
> ++					read-only;
> ++				};
> + 			};
> + 		};
> +
> +@@ -140,13 +135,43 @@
> + 	soc: soc at ffe00000 {
> + 		ranges = <0x0 0x0 0xffe00000 0x100000>;
> +
> ++		gpio0: gpio-controller at fc00 {
> ++		};
> ++
> + 		i2c at 3000 {
> ++			temperature-sensor at 4c {
> ++				compatible = "adi,adt7461";
> ++				reg = <0x4c>;
> ++			};
> ++
> ++			eeprom at 50 {
> ++				compatible = "atmel,24c256";
> ++				reg = <0x50>;
> ++			};
> ++
> + 			rtc at 68 {
> + 				compatible = "dallas,ds1339";
> + 				reg = <0x68>;
> + 			};
> + 		};
> +
> ++		i2c at 3100 {
> ++			pmic at 11 {
> ++				compatible = "zl2006";
> ++				reg = <0x11>;
> ++			};
> ++
> ++			gpio at 18 {
> ++				compatible = "nxp,pca9557";
> ++				reg = <0x18>;
> ++			};
> ++
> ++			eeprom at 52 {
> ++				compatible = "atmel,24c01";
> ++				reg = <0x52>;
> ++			};
> ++		};
> ++
> + 		spi at 7000 {
> + 			flash at 0 {
> + 				#address-cells = <1>;
> +@@ -200,10 +225,12 @@
> + 			phy0: ethernet-phy at 0 {
> + 				interrupts = <3 1 0 0>;
> + 				reg = <0x0>;
> ++				reset-gpios = <&gpio0 14
> GPIO_ACTIVE_LOW>;
> + 			};
> + 			phy1: ethernet-phy at 1 {
> + 				interrupts = <3 1 0 0>;
> + 				reg = <0x1>;
> ++				reset-gpios = <&gpio0 6 GPIO_ACTIVE_LOW>;
> + 			};
> + 			tbi-phy at 2 {
> + 				device_type = "tbi-phy";
> diff --git a/target/linux/mpc85xx/patches-5.10/105-powerpc-85xx-panda-
> support.patch b/target/linux/mpc85xx/patches-5.10/105-powerpc-85xx-
> panda-support.patch
> new file mode 100644
> index 0000000000..a08bc302f2
> --- /dev/null
> +++ b/target/linux/mpc85xx/patches-5.10/105-powerpc-85xx-panda-
> support.p
> +++ atch
> @@ -0,0 +1,30 @@
> +--- a/arch/powerpc/platforms/85xx/Kconfig
> ++++ b/arch/powerpc/platforms/85xx/Kconfig
> +@@ -60,6 +60,17 @@ config HIVEAP_330
> +       This board is a Concurrent Dual-Band wireless access point with a
> +       Freescale P1020 SoC.
> +
> ++config PANDA
> ++	bool "OCEDO PANDA"
> ++	select DEFAULT_UIMAGE
> ++	select ARCH_REQUIRE_GPIOLIB
> ++	select GPIO_MPC8XXX
> ++	help
> ++	  This option enables support for the OCEDO PANDA board.
> ++
> ++	  This board is a Concurrent Dual-Band wireless access point with a
> ++	  Freescale P1020 SoC.
> ++
> + config MPC8540_ADS
> + 	bool "Freescale MPC8540 ADS"
> + 	select DEFAULT_UIMAGE
> +--- a/arch/powerpc/platforms/85xx/Makefile
> ++++ b/arch/powerpc/platforms/85xx/Makefile
> +@@ -22,6 +22,7 @@ obj-$(CONFIG_P1010_RDB)   += p1010rdb.o
> + obj-$(CONFIG_P1022_DS)    += p1022_ds.o
> + obj-$(CONFIG_P1022_RDK)   += p1022_rdk.o
> + obj-$(CONFIG_P1023_RDB)   += p1023_rdb.o
> ++obj-$(CONFIG_PANDA)       += panda.o
> + obj-$(CONFIG_TWR_P102x)   += twr_p102x.o
> + obj-$(CONFIG_CORENET_GENERIC)   += corenet_generic.o
> + obj-$(CONFIG_FB_FSL_DIU)	+= t1042rdb_diu.o
> diff --git a/target/linux/mpc85xx/patches-5.10/106-powerpc-85xx-ws-
> ap3710i-support.patch b/target/linux/mpc85xx/patches-5.10/106-powerpc-
> 85xx-ws-ap3710i-support.patch
> new file mode 100644
> index 0000000000..4bacedbcd7
> --- /dev/null
> +++ b/target/linux/mpc85xx/patches-5.10/106-powerpc-85xx-ws-ap3710i-
> supp
> +++ ort.patch
> @@ -0,0 +1,30 @@
> +--- a/arch/powerpc/platforms/85xx/Kconfig
> ++++ b/arch/powerpc/platforms/85xx/Kconfig
> +@@ -71,6 +71,17 @@ config PANDA
> + 	  This board is a Concurrent Dual-Band wireless access point with a
> + 	  Freescale P1020 SoC.
> +
> ++config WS_AP3710I
> ++	bool "Enterasys WS-AP3710i"
> ++	select DEFAULT_UIMAGE
> ++	select ARCH_REQUIRE_GPIOLIB
> ++	select GPIO_MPC8XXX
> ++	help
> ++	  This option enables support for the Enterasys WS-AP3710i board.
> ++
> ++	  This board is a Concurrent Dual-Band wireless access point with a
> ++	  Freescale P1020 SoC.
> ++
> + config MPC8540_ADS
> + 	bool "Freescale MPC8540 ADS"
> + 	select DEFAULT_UIMAGE
> +--- a/arch/powerpc/platforms/85xx/Makefile
> ++++ b/arch/powerpc/platforms/85xx/Makefile
> +@@ -24,6 +24,7 @@ obj-$(CONFIG_P1022_RDK)   += p1022_rdk.o
> + obj-$(CONFIG_P1023_RDB)   += p1023_rdb.o
> + obj-$(CONFIG_PANDA)       += panda.o
> + obj-$(CONFIG_TWR_P102x)   += twr_p102x.o
> ++obj-$(CONFIG_WS_AP3710I)  += ws-ap3710i.o
> + obj-$(CONFIG_CORENET_GENERIC)   += corenet_generic.o
> + obj-$(CONFIG_FB_FSL_DIU)	+= t1042rdb_diu.o
> + obj-$(CONFIG_RED_15W_REV1)	+= red15w_rev1.o
> diff --git a/target/linux/mpc85xx/patches-5.10/900-powerpc-bootwrapper-
> disable-uImage-generation.patch b/target/linux/mpc85xx/patches-5.10/900-
> powerpc-bootwrapper-disable-uImage-generation.patch
> new file mode 100644
> index 0000000000..2ba3f83326
> --- /dev/null
> +++ b/target/linux/mpc85xx/patches-5.10/900-powerpc-bootwrapper-
> disable-
> +++ uImage-generation.patch
> @@ -0,0 +1,42 @@
> +From d43ab14605510d9d2bd257a8cd70f24ada4621b0 Mon Sep 17 00:00:00
> 2001
> +From: David Bauer <mail at david-bauer.net>
> +Date: Sat, 29 Feb 2020 14:27:04 +0100
> +Subject: [PATCH] powerpc: bootwrapper: disable uImage generation
> +
> +Due to CONFIG_KERNEL_XZ symbol, the bootwrapper code tries to instruct
> +the mkimage to use the xz compression, which isn't supported. This
> +disables the uImage generation, as OpenWrt generates individual uImages
> +for each board using it's own toolchain.
> +
> +Signed-off-by: David Bauer <mail at david-bauer.net>
> +---
> + arch/powerpc/boot/Makefile | 9 ---------
> + 1 file changed, 9 deletions(-)
> +
> +--- a/arch/powerpc/boot/Makefile
> ++++ b/arch/powerpc/boot/Makefile
> +@@ -264,7 +264,6 @@ image-$(CONFIG_PPC_CHRP)		+=
> zImage.chrp
> + image-$(CONFIG_PPC_EFIKA)		+= zImage.chrp
> + image-$(CONFIG_PPC_PMAC)		+= zImage.pmac
> + image-$(CONFIG_PPC_HOLLY)		+= dtbImage.holly
> +-image-$(CONFIG_DEFAULT_UIMAGE)		+= uImage
> + image-$(CONFIG_EPAPR_BOOT)		+= zImage.epapr
> +
> + #
> +@@ -395,15 +394,6 @@ $(obj)/dtbImage.%: vmlinux $(wrapperbits
> + $(obj)/vmlinux.strip: vmlinux
> + 	$(STRIP) -s -R .comment $< -o $@
> +
> +-$(obj)/uImage: vmlinux $(wrapperbits) FORCE
> +-	$(call if_changed,wrap,uboot)
> +-
> +-$(obj)/uImage.initrd.%: vmlinux $(obj)/dts/%.dtb $(wrapperbits) FORCE
> +-	$(call if_changed,wrap,uboot-
> $*,,$(obj)/dts/$*.dtb,$(obj)/ramdisk.image.gz)
> +-
> +-$(obj)/uImage.%: vmlinux $(obj)/dts/%.dtb $(wrapperbits) FORCE
> +-	$(call if_changed,wrap,uboot-$*,,$(obj)/dts/$*.dtb)
> +-
> + $(obj)/cuImage.initrd.%: vmlinux $(obj)/dts/%.dtb $(wrapperbits) FORCE
> + 	$(call
> +if_changed,wrap,cuboot-$*,,$(obj)/dts/$*.dtb,$(obj)/ramdisk.image.gz)
> +
> --
> 2.30.1
> 
> 
> _______________________________________________
> openwrt-devel mailing list
> openwrt-devel at lists.openwrt.org
> https://lists.openwrt.org/mailman/listinfo/openwrt-devel
-------------- next part --------------
A non-text attachment was scrubbed...
Name: openpgp-digital-signature.asc
Type: application/pgp-signature
Size: 834 bytes
Desc: not available
URL: <http://lists.openwrt.org/pipermail/openwrt-devel/attachments/20210218/8f84c866/attachment-0001.sig>


More information about the openwrt-devel mailing list