[PATCH] mpc85xx-p1010: add Kernel 5.10 support

David Bauer mail at david-bauer.net
Thu Feb 18 12:42:21 EST 2021


Hi,

On 2/18/21 6:16 PM, Adrian Schmutzler wrote:
> 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?

I'd rater bump a subtarget for which i at least know a board boots with the patches
than bump the complete target and break 2/3 subtargets in the process.

Best wishes
David

> 
> 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



More information about the openwrt-devel mailing list