ixp4xx: Switch to kernel v6.12
authorLinus Walleij <linus.walleij@linaro.org>
Tue, 27 May 2025 19:36:10 +0000 (21:36 +0200)
committerLinus Walleij <linus.walleij@linaro.org>
Mon, 2 Jun 2025 23:45:40 +0000 (01:45 +0200)
This can be done with so little effort, all but two patches are now
upstream. No need to keep support for v6.6, everything just works
the same or better with v6.12.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
17 files changed:
target/linux/ixp4xx/Makefile
target/linux/ixp4xx/config-6.12 [new file with mode: 0644]
target/linux/ixp4xx/config-6.6 [deleted file]
target/linux/ixp4xx/patches-6.12/0001-ARM-dts-ixp4xx-Fix-up-PCI-on-WG302.patch [new file with mode: 0644]
target/linux/ixp4xx/patches-6.12/0002-ARM-dts-ixp4xx-Add-Netgear-WG302-v1-GPIOs.patch [new file with mode: 0644]
target/linux/ixp4xx/patches-6.12/301-ARM-dts-ixp4xx-Boot-NSLU2-from-harddrive.patch [new file with mode: 0644]
target/linux/ixp4xx/patches-6.12/302-ARM-dts-ixp4xx-OpenWrt-LED-aliases.patch [new file with mode: 0644]
target/linux/ixp4xx/patches-6.6/0001-gpio-ixp4xx-Handle-clock-output-on-pin-14-and-15.patch [deleted file]
target/linux/ixp4xx/patches-6.6/0002-net-ixp4xx_eth-Support-changing-the-MTU.patch [deleted file]
target/linux/ixp4xx/patches-6.6/0003-ARM-dts-ixp4xx-Add-USRobotics-USR8200-device-tree.patch [deleted file]
target/linux/ixp4xx/patches-6.6/0004-ARM-dts-usr8200-Fix-phy-registers.patch [deleted file]
target/linux/ixp4xx/patches-6.6/0005-ARM-dts-ixp4xx-nslu2-Enable-write-on-flash.patch [deleted file]
target/linux/ixp4xx/patches-6.6/0006-ARM-dts-ixp4xx-Use-right-restart-keycode.patch [deleted file]
target/linux/ixp4xx/patches-6.6/0007-ARM-dts-ixp4xx-Fix-up-PCI-on-WG302.patch [deleted file]
target/linux/ixp4xx/patches-6.6/0008-ARM-dts-ixp4xx-Add-Netgear-WG302-v1-GPIOs.patch [deleted file]
target/linux/ixp4xx/patches-6.6/301-ARM-dts-ixp4xx-Boot-NSLU2-from-harddrive.patch [deleted file]
target/linux/ixp4xx/patches-6.6/302-ARM-dts-ixp4xx-OpenWrt-LED-aliases.patch [deleted file]

index f84f07798dc9f7150c7b47f5d701fcd7db7c72da..05ae41f549c8bdb7e1885ced552834af3aae22c4 100644 (file)
@@ -11,7 +11,7 @@ FEATURES:=dt squashfs gpio ext4 rootfs-part
 CPU_TYPE:=xscale
 SUBTARGETS:=generic
 
-KERNEL_PATCHVER:=6.6
+KERNEL_PATCHVER:=6.12
 
 define Target/Description
        Build firmware images for the IXP4xx XScale CPU
diff --git a/target/linux/ixp4xx/config-6.12 b/target/linux/ixp4xx/config-6.12
new file mode 100644 (file)
index 0000000..ce91fe5
--- /dev/null
@@ -0,0 +1,258 @@
+CONFIG_ALIGNMENT_TRAP=y
+CONFIG_AMD_PHY=y
+CONFIG_ARCH_32BIT_OFF_T=y
+CONFIG_ARCH_HIBERNATION_POSSIBLE=y
+CONFIG_ARCH_IXP4XX=y
+CONFIG_ARCH_KEEP_MEMBLOCK=y
+CONFIG_ARCH_MIGHT_HAVE_PC_PARPORT=y
+CONFIG_ARCH_MULTIPLATFORM=y
+CONFIG_ARCH_MULTI_CPU_AUTO=y
+# CONFIG_ARCH_MULTI_V4 is not set
+# CONFIG_ARCH_MULTI_V4T is not set
+CONFIG_ARCH_MULTI_V4_V5=y
+CONFIG_ARCH_MULTI_V5=y
+CONFIG_ARCH_OPTIONAL_KERNEL_RWX=y
+CONFIG_ARCH_SELECT_MEMORY_MODEL=y
+CONFIG_ARCH_SPARSEMEM_ENABLE=y
+CONFIG_ARCH_STACKWALK=y
+CONFIG_ARCH_SUSPEND_POSSIBLE=y
+CONFIG_ARM=y
+CONFIG_ARM_APPENDED_DTB=y
+# CONFIG_ARM_ATAG_DTB_COMPAT is not set
+CONFIG_ARM_HAS_GROUP_RELOCS=y
+CONFIG_ARM_L1_CACHE_SHIFT=5
+CONFIG_ARM_PATCH_PHYS_VIRT=y
+CONFIG_ARM_THUMB=y
+CONFIG_ARM_UNWIND=y
+CONFIG_ATA=y
+CONFIG_ATAGS=y
+CONFIG_AUTO_ZRELADDR=y
+CONFIG_BINFMT_FLAT_ARGVP_ENVP_ON_STACK=y
+CONFIG_BLK_DEV_SD=y
+CONFIG_BLK_MQ_PCI=y
+CONFIG_BUFFER_HEAD=y
+CONFIG_CC_HAVE_STACKPROTECTOR_TLS=y
+CONFIG_CLKSRC_MMIO=y
+CONFIG_CLONE_BACKWARDS=y
+CONFIG_COMMON_CLK=y
+CONFIG_COMPACT_UNEVICTABLE_DEFAULT=1
+CONFIG_COMPAT_32BIT_TIME=y
+CONFIG_CPU_32v5=y
+CONFIG_CPU_ABRT_EV5T=y
+CONFIG_CPU_BIG_ENDIAN=y
+CONFIG_CPU_CACHE_VIVT=y
+CONFIG_CPU_CP15=y
+CONFIG_CPU_CP15_MMU=y
+CONFIG_CPU_ENDIAN_BE32=y
+CONFIG_CPU_MITIGATIONS=y
+CONFIG_CPU_PABRT_LEGACY=y
+CONFIG_CPU_THUMB_CAPABLE=y
+CONFIG_CPU_TLB_V4WBI=y
+CONFIG_CPU_USE_DOMAINS=y
+CONFIG_CPU_XSCALE=y
+CONFIG_CRC16=y
+CONFIG_CRYPTO_AUTHENC=m
+CONFIG_CRYPTO_CBC=m
+CONFIG_CRYPTO_CRC32C=y
+CONFIG_CRYPTO_DES=m
+CONFIG_CRYPTO_DEV_IXP4XX=m
+CONFIG_CRYPTO_ECB=m
+CONFIG_CRYPTO_HW=y
+CONFIG_CRYPTO_LIB_BLAKE2S_GENERIC=y
+CONFIG_CRYPTO_LIB_DES=m
+CONFIG_CRYPTO_LIB_GF128MUL=y
+CONFIG_CRYPTO_LIB_SHA1=y
+CONFIG_CRYPTO_LIB_UTILS=y
+CONFIG_DEBUG_BUGVERBOSE=y
+CONFIG_DEBUG_INFO=y
+CONFIG_DEBUG_LL_INCLUDE="debug/8250.S"
+CONFIG_DEBUG_UART_8250=y
+CONFIG_DEBUG_UART_8250_SHIFT=2
+CONFIG_DEBUG_UART_PHYS=0xc8000003
+CONFIG_DEBUG_UART_VIRT=0xfec00003
+CONFIG_DMA_OPS=y
+CONFIG_DTC=y
+CONFIG_EDAC_ATOMIC_SCRUB=y
+CONFIG_EDAC_SUPPORT=y
+CONFIG_EXCLUSIVE_SYSTEM_RAM=y
+CONFIG_EXT4_FS=y
+# CONFIG_FARSYNC is not set
+CONFIG_FIXED_PHY=y
+CONFIG_FIX_EARLYCON_MEM=y
+CONFIG_FORCE_PCI=y
+# CONFIG_FRAMER is not set
+CONFIG_FS_IOMAP=y
+CONFIG_FS_MBCACHE=y
+CONFIG_FUNCTION_ALIGNMENT=0
+CONFIG_FWNODE_MDIO=y
+CONFIG_FW_LOADER_PAGED_BUF=y
+CONFIG_FW_LOADER_SYSFS=y
+CONFIG_GCC_ASM_GOTO_OUTPUT_WORKAROUND=y
+CONFIG_GENERIC_ALLOCATOR=y
+CONFIG_GENERIC_ATOMIC64=y
+CONFIG_GENERIC_BUG=y
+CONFIG_GENERIC_CLOCKEVENTS=y
+CONFIG_GENERIC_CPU_AUTOPROBE=y
+CONFIG_GENERIC_EARLY_IOREMAP=y
+CONFIG_GENERIC_IDLE_POLL_SETUP=y
+CONFIG_GENERIC_IRQ_MULTI_HANDLER=y
+CONFIG_GENERIC_IRQ_SHOW=y
+CONFIG_GENERIC_IRQ_SHOW_LEVEL=y
+CONFIG_GENERIC_LIB_DEVMEM_IS_ALLOWED=y
+CONFIG_GENERIC_PCI_IOMAP=y
+CONFIG_GENERIC_SCHED_CLOCK=y
+CONFIG_GENERIC_SMP_IDLE_THREAD=y
+CONFIG_GENERIC_STRNCPY_FROM_USER=y
+CONFIG_GENERIC_STRNLEN_USER=y
+CONFIG_GLOB=y
+CONFIG_GPIOLIB_IRQCHIP=y
+CONFIG_GPIO_CDEV=y
+CONFIG_GPIO_GENERIC=y
+CONFIG_GPIO_GW_PLD=y
+CONFIG_GPIO_IXP4XX=y
+CONFIG_GRO_CELLS=y
+CONFIG_HARDIRQS_SW_RESEND=y
+CONFIG_HAS_DMA=y
+CONFIG_HAS_IOMEM=y
+CONFIG_HAS_IOPORT=y
+CONFIG_HAS_IOPORT_MAP=y
+CONFIG_HDLC=y
+CONFIG_HWMON=y
+CONFIG_HW_RANDOM=y
+CONFIG_HW_RANDOM_IXP4XX=y
+CONFIG_HZ_FIXED=0
+CONFIG_HZ_PERIODIC=y
+CONFIG_I2C=y
+CONFIG_I2C_ALGOBIT=y
+CONFIG_I2C_BOARDINFO=y
+CONFIG_I2C_CHARDEV=y
+CONFIG_I2C_GPIO=y
+CONFIG_I2C_IOP3XX=y
+CONFIG_INITRAMFS_SOURCE=""
+CONFIG_INTEL_IXP4XX_EB=y
+CONFIG_IRQCHIP=y
+CONFIG_IRQSTACKS=y
+CONFIG_IRQ_DOMAIN=y
+CONFIG_IRQ_DOMAIN_HIERARCHY=y
+CONFIG_IRQ_FORCED_THREADING=y
+CONFIG_IRQ_WORK=y
+# CONFIG_IWMMXT is not set
+CONFIG_IXP4XX_ETH=y
+CONFIG_IXP4XX_HSS=y
+CONFIG_IXP4XX_IRQ=y
+CONFIG_IXP4XX_NPE=y
+CONFIG_IXP4XX_QMGR=y
+CONFIG_IXP4XX_TIMER=y
+CONFIG_IXP4XX_WATCHDOG=y
+CONFIG_JBD2=y
+CONFIG_LEDS_GPIO=y
+CONFIG_LEGACY_PTYS=y
+CONFIG_LEGACY_PTY_COUNT=256
+CONFIG_LIBFDT=y
+CONFIG_LOCK_DEBUGGING_SUPPORT=y
+CONFIG_MDIO_BUS=y
+CONFIG_MDIO_DEVICE=y
+CONFIG_MDIO_DEVRES=y
+CONFIG_MFD_SYSCON=y
+CONFIG_MIGRATION=y
+CONFIG_MMU_LAZY_TLB_REFCOUNT=y
+CONFIG_MODULES_USE_ELF_REL=y
+CONFIG_MTD_CFI_ADV_OPTIONS=y
+# CONFIG_MTD_CFI_GEOMETRY is not set
+CONFIG_MTD_OTP=y
+CONFIG_MTD_PHYSMAP=y
+CONFIG_MTD_PHYSMAP_IXP4XX=y
+CONFIG_MTD_REDBOOT_PARTS=y
+CONFIG_MTD_SPLIT_FIRMWARE=y
+CONFIG_MTD_SPLIT_FIRMWARE_NAME="linux"
+CONFIG_NEED_DMA_MAP_STATE=y
+CONFIG_NEED_KUSER_HELPERS=y
+CONFIG_NEED_PER_CPU_KM=y
+CONFIG_NET_DEVLINK=y
+CONFIG_NET_EGRESS=y
+CONFIG_NET_INGRESS=y
+CONFIG_NET_PTP_CLASSIFY=y
+CONFIG_NET_SELFTESTS=y
+CONFIG_NET_VENDOR_XSCALE=y
+CONFIG_NET_XGRESS=y
+CONFIG_NLS=y
+CONFIG_NVMEM=y
+CONFIG_NVMEM_LAYOUTS=y
+CONFIG_NVMEM_SYSFS=y
+CONFIG_OF=y
+CONFIG_OF_ADDRESS=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_OLD_SIGACTION=y
+CONFIG_OLD_SIGSUSPEND3=y
+CONFIG_PAGE_OFFSET=0xC0000000
+CONFIG_PAGE_POOL=y
+CONFIG_PAGE_SIZE_LESS_THAN_256KB=y
+CONFIG_PAGE_SIZE_LESS_THAN_64KB=y
+CONFIG_PAHOLE_HAS_LANG_EXCLUDE=y
+CONFIG_PATA_IXP4XX_CF=y
+CONFIG_PCI=y
+CONFIG_PCI_DOMAINS=y
+CONFIG_PCI_DOMAINS_GENERIC=y
+CONFIG_PCI_IXP4XX=y
+CONFIG_PERF_USE_VMALLOC=y
+CONFIG_PGTABLE_LEVELS=2
+CONFIG_PHYLIB=y
+CONFIG_PHYLIB_LEDS=y
+CONFIG_PHYLINK=y
+CONFIG_POWER_RESET=y
+CONFIG_POWER_RESET_GPIO=y
+CONFIG_PREEMPT_NONE_BUILD=y
+CONFIG_PTP_1588_CLOCK_OPTIONAL=y
+CONFIG_RANDSTRUCT_NONE=y
+CONFIG_RATIONAL=y
+CONFIG_REALTEK_PHY=y
+CONFIG_REALTEK_PHY_HWMON=y
+CONFIG_REGMAP=y
+CONFIG_REGMAP_MMIO=y
+CONFIG_SCSI=y
+CONFIG_SCSI_COMMON=y
+CONFIG_SERIAL_8250_FSL=y
+CONFIG_SERIAL_MCTRL_GPIO=y
+CONFIG_SERIAL_OF_PLATFORM=y
+CONFIG_SG_POOL=y
+CONFIG_SOFTIRQ_ON_OWN_STACK=y
+CONFIG_SPARSE_IRQ=y
+CONFIG_SPLIT_PTLOCK_CPUS=999999
+CONFIG_SQUASHFS_DECOMP_MULTI_PERCPU=y
+CONFIG_SWPHY=y
+CONFIG_SYS_SUPPORTS_APM_EMULATION=y
+CONFIG_THREAD_INFO_IN_TASK=y
+CONFIG_TICK_CPU_ACCOUNTING=y
+CONFIG_TIMER_OF=y
+CONFIG_TIMER_PROBE=y
+CONFIG_TINY_SRCU=y
+CONFIG_UNCOMPRESS_INCLUDE="debug/uncompress.h"
+CONFIG_UNWINDER_ARM=y
+CONFIG_USB=y
+CONFIG_USB_COMMON=y
+CONFIG_USB_EHCI_BIG_ENDIAN_DESC=y
+CONFIG_USB_EHCI_BIG_ENDIAN_MMIO=y
+CONFIG_USB_EHCI_HCD=y
+CONFIG_USB_EHCI_HCD_PLATFORM=y
+CONFIG_USB_EHCI_PCI=y
+CONFIG_USB_OHCI_HCD=y
+CONFIG_USB_OHCI_HCD_PCI=y
+# CONFIG_USB_OHCI_HCD_PLATFORM is not set
+CONFIG_USB_PCI=y
+CONFIG_USB_STORAGE=y
+CONFIG_USB_SUPPORT=y
+CONFIG_USB_UHCI_HCD=y
+CONFIG_USE_OF=y
+CONFIG_VM_EVENT_COUNTERS=y
+CONFIG_WAN=y
+CONFIG_WATCHDOG_CORE=y
+CONFIG_WATCHDOG_NOWAYOUT=y
+CONFIG_XZ_DEC_ARM=y
+CONFIG_XZ_DEC_BCJ=y
+CONFIG_ZBOOT_ROM_BSS=0x0
+CONFIG_ZBOOT_ROM_TEXT=0x0
diff --git a/target/linux/ixp4xx/config-6.6 b/target/linux/ixp4xx/config-6.6
deleted file mode 100644 (file)
index 1b39b14..0000000
+++ /dev/null
@@ -1,256 +0,0 @@
-CONFIG_ALIGNMENT_TRAP=y
-CONFIG_AMD_PHY=y
-CONFIG_ARCH_32BIT_OFF_T=y
-CONFIG_ARCH_HIBERNATION_POSSIBLE=y
-CONFIG_ARCH_IXP4XX=y
-CONFIG_ARCH_KEEP_MEMBLOCK=y
-CONFIG_ARCH_MIGHT_HAVE_PC_PARPORT=y
-CONFIG_ARCH_MULTIPLATFORM=y
-CONFIG_ARCH_MULTI_CPU_AUTO=y
-# CONFIG_ARCH_MULTI_V4 is not set
-# CONFIG_ARCH_MULTI_V4T is not set
-CONFIG_ARCH_MULTI_V4_V5=y
-CONFIG_ARCH_MULTI_V5=y
-CONFIG_ARCH_OPTIONAL_KERNEL_RWX=y
-CONFIG_ARCH_SELECT_MEMORY_MODEL=y
-CONFIG_ARCH_SPARSEMEM_ENABLE=y
-CONFIG_ARCH_STACKWALK=y
-CONFIG_ARCH_SUSPEND_POSSIBLE=y
-CONFIG_ARM=y
-CONFIG_ARM_APPENDED_DTB=y
-# CONFIG_ARM_ATAG_DTB_COMPAT is not set
-CONFIG_ARM_HAS_GROUP_RELOCS=y
-CONFIG_ARM_L1_CACHE_SHIFT=5
-CONFIG_ARM_PATCH_PHYS_VIRT=y
-CONFIG_ARM_THUMB=y
-CONFIG_ARM_UNWIND=y
-CONFIG_ATA=y
-CONFIG_ATAGS=y
-CONFIG_AUTO_ZRELADDR=y
-CONFIG_BINFMT_FLAT_ARGVP_ENVP_ON_STACK=y
-CONFIG_BLK_DEV_SD=y
-CONFIG_BLK_MQ_PCI=y
-CONFIG_BUFFER_HEAD=y
-CONFIG_CC_HAVE_STACKPROTECTOR_TLS=y
-CONFIG_CLKSRC_MMIO=y
-CONFIG_CLONE_BACKWARDS=y
-CONFIG_COMMON_CLK=y
-CONFIG_COMPACT_UNEVICTABLE_DEFAULT=1
-CONFIG_COMPAT_32BIT_TIME=y
-CONFIG_CPU_32v5=y
-CONFIG_CPU_ABRT_EV5T=y
-CONFIG_CPU_BIG_ENDIAN=y
-CONFIG_CPU_CACHE_VIVT=y
-CONFIG_CPU_CP15=y
-CONFIG_CPU_CP15_MMU=y
-CONFIG_CPU_ENDIAN_BE32=y
-CONFIG_CPU_MITIGATIONS=y
-CONFIG_CPU_PABRT_LEGACY=y
-CONFIG_CPU_THUMB_CAPABLE=y
-CONFIG_CPU_TLB_V4WBI=y
-CONFIG_CPU_USE_DOMAINS=y
-CONFIG_CPU_XSCALE=y
-CONFIG_CRC16=y
-CONFIG_CRYPTO_AUTHENC=m
-CONFIG_CRYPTO_CBC=m
-CONFIG_CRYPTO_CRC32C=y
-CONFIG_CRYPTO_DES=m
-CONFIG_CRYPTO_DEV_IXP4XX=m
-CONFIG_CRYPTO_ECB=m
-CONFIG_CRYPTO_HW=y
-CONFIG_CRYPTO_LIB_BLAKE2S_GENERIC=y
-CONFIG_CRYPTO_LIB_DES=m
-CONFIG_CRYPTO_LIB_GF128MUL=y
-CONFIG_CRYPTO_LIB_SHA1=y
-CONFIG_CRYPTO_LIB_UTILS=y
-CONFIG_DEBUG_BUGVERBOSE=y
-CONFIG_DEBUG_INFO=y
-CONFIG_DEBUG_LL_INCLUDE="debug/8250.S"
-CONFIG_DEBUG_UART_8250=y
-CONFIG_DEBUG_UART_8250_SHIFT=2
-CONFIG_DEBUG_UART_PHYS=0xc8000003
-CONFIG_DEBUG_UART_VIRT=0xfec00003
-CONFIG_DMA_OPS=y
-CONFIG_DTC=y
-CONFIG_EDAC_ATOMIC_SCRUB=y
-CONFIG_EDAC_SUPPORT=y
-CONFIG_EXCLUSIVE_SYSTEM_RAM=y
-CONFIG_EXT4_FS=y
-# CONFIG_FARSYNC is not set
-CONFIG_FIXED_PHY=y
-CONFIG_FIX_EARLYCON_MEM=y
-CONFIG_FORCE_PCI=y
-CONFIG_FS_IOMAP=y
-CONFIG_FS_MBCACHE=y
-CONFIG_FUNCTION_ALIGNMENT=0
-CONFIG_FWNODE_MDIO=y
-CONFIG_FW_LOADER_PAGED_BUF=y
-CONFIG_FW_LOADER_SYSFS=y
-CONFIG_GCC_ASM_GOTO_OUTPUT_WORKAROUND=y
-CONFIG_GENERIC_ALLOCATOR=y
-CONFIG_GENERIC_ATOMIC64=y
-CONFIG_GENERIC_BUG=y
-CONFIG_GENERIC_CLOCKEVENTS=y
-CONFIG_GENERIC_CPU_AUTOPROBE=y
-CONFIG_GENERIC_EARLY_IOREMAP=y
-CONFIG_GENERIC_IDLE_POLL_SETUP=y
-CONFIG_GENERIC_IRQ_MULTI_HANDLER=y
-CONFIG_GENERIC_IRQ_SHOW=y
-CONFIG_GENERIC_IRQ_SHOW_LEVEL=y
-CONFIG_GENERIC_LIB_DEVMEM_IS_ALLOWED=y
-CONFIG_GENERIC_PCI_IOMAP=y
-CONFIG_GENERIC_SCHED_CLOCK=y
-CONFIG_GENERIC_SMP_IDLE_THREAD=y
-CONFIG_GENERIC_STRNCPY_FROM_USER=y
-CONFIG_GENERIC_STRNLEN_USER=y
-CONFIG_GLOB=y
-CONFIG_GPIOLIB_IRQCHIP=y
-CONFIG_GPIO_CDEV=y
-CONFIG_GPIO_GENERIC=y
-CONFIG_GPIO_GW_PLD=y
-CONFIG_GPIO_IXP4XX=y
-CONFIG_GRO_CELLS=y
-CONFIG_HARDIRQS_SW_RESEND=y
-CONFIG_HAS_DMA=y
-CONFIG_HAS_IOMEM=y
-CONFIG_HAS_IOPORT=y
-CONFIG_HAS_IOPORT_MAP=y
-CONFIG_HDLC=y
-CONFIG_HWMON=y
-CONFIG_HW_RANDOM=y
-CONFIG_HW_RANDOM_IXP4XX=y
-CONFIG_HZ_FIXED=0
-CONFIG_HZ_PERIODIC=y
-CONFIG_I2C=y
-CONFIG_I2C_ALGOBIT=y
-CONFIG_I2C_BOARDINFO=y
-CONFIG_I2C_CHARDEV=y
-CONFIG_I2C_GPIO=y
-CONFIG_I2C_IOP3XX=y
-CONFIG_INITRAMFS_SOURCE=""
-CONFIG_INTEL_IXP4XX_EB=y
-CONFIG_IRQCHIP=y
-CONFIG_IRQSTACKS=y
-CONFIG_IRQ_DOMAIN=y
-CONFIG_IRQ_DOMAIN_HIERARCHY=y
-CONFIG_IRQ_FORCED_THREADING=y
-CONFIG_IRQ_WORK=y
-# CONFIG_IWMMXT is not set
-CONFIG_IXP4XX_ETH=y
-CONFIG_IXP4XX_HSS=y
-CONFIG_IXP4XX_IRQ=y
-CONFIG_IXP4XX_NPE=y
-CONFIG_IXP4XX_QMGR=y
-CONFIG_IXP4XX_TIMER=y
-CONFIG_IXP4XX_WATCHDOG=y
-CONFIG_JBD2=y
-CONFIG_LEDS_GPIO=y
-CONFIG_LEGACY_PTYS=y
-CONFIG_LEGACY_PTY_COUNT=256
-CONFIG_LIBFDT=y
-CONFIG_LOCK_DEBUGGING_SUPPORT=y
-CONFIG_MDIO_BUS=y
-CONFIG_MDIO_DEVICE=y
-CONFIG_MDIO_DEVRES=y
-CONFIG_MFD_SYSCON=y
-CONFIG_MIGRATION=y
-CONFIG_MMU_LAZY_TLB_REFCOUNT=y
-CONFIG_MODULES_USE_ELF_REL=y
-CONFIG_MTD_CFI_ADV_OPTIONS=y
-# CONFIG_MTD_CFI_GEOMETRY is not set
-CONFIG_MTD_OTP=y
-CONFIG_MTD_PHYSMAP=y
-CONFIG_MTD_PHYSMAP_IXP4XX=y
-CONFIG_MTD_REDBOOT_PARTS=y
-CONFIG_MTD_SPLIT_FIRMWARE=y
-CONFIG_MTD_SPLIT_FIRMWARE_NAME="linux"
-CONFIG_NEED_DMA_MAP_STATE=y
-CONFIG_NEED_KUSER_HELPERS=y
-CONFIG_NEED_PER_CPU_KM=y
-CONFIG_NET_DEVLINK=y
-CONFIG_NET_EGRESS=y
-CONFIG_NET_INGRESS=y
-CONFIG_NET_PTP_CLASSIFY=y
-CONFIG_NET_SELFTESTS=y
-CONFIG_NET_VENDOR_XSCALE=y
-CONFIG_NET_XGRESS=y
-CONFIG_NLS=y
-CONFIG_NVMEM=y
-CONFIG_NVMEM_LAYOUTS=y
-CONFIG_NVMEM_SYSFS=y
-CONFIG_OF=y
-CONFIG_OF_ADDRESS=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_OLD_SIGACTION=y
-CONFIG_OLD_SIGSUSPEND3=y
-CONFIG_PAGE_OFFSET=0xC0000000
-CONFIG_PAGE_POOL=y
-CONFIG_PAGE_SIZE_LESS_THAN_256KB=y
-CONFIG_PAGE_SIZE_LESS_THAN_64KB=y
-CONFIG_PAHOLE_HAS_LANG_EXCLUDE=y
-CONFIG_PATA_IXP4XX_CF=y
-CONFIG_PCI=y
-CONFIG_PCI_DOMAINS=y
-CONFIG_PCI_DOMAINS_GENERIC=y
-CONFIG_PCI_IXP4XX=y
-CONFIG_PERF_USE_VMALLOC=y
-CONFIG_PGTABLE_LEVELS=2
-CONFIG_PHYLIB=y
-CONFIG_PHYLIB_LEDS=y
-CONFIG_PHYLINK=y
-CONFIG_POWER_RESET=y
-CONFIG_POWER_RESET_GPIO=y
-CONFIG_PREEMPT_NONE_BUILD=y
-CONFIG_PTP_1588_CLOCK_OPTIONAL=y
-CONFIG_RANDSTRUCT_NONE=y
-CONFIG_RATIONAL=y
-CONFIG_REALTEK_PHY=y
-CONFIG_REGMAP=y
-CONFIG_REGMAP_MMIO=y
-CONFIG_SCSI=y
-CONFIG_SCSI_COMMON=y
-CONFIG_SERIAL_8250_FSL=y
-CONFIG_SERIAL_MCTRL_GPIO=y
-CONFIG_SERIAL_OF_PLATFORM=y
-CONFIG_SG_POOL=y
-CONFIG_SOFTIRQ_ON_OWN_STACK=y
-CONFIG_SPARSE_IRQ=y
-CONFIG_SPLIT_PTLOCK_CPUS=999999
-CONFIG_SQUASHFS_DECOMP_MULTI_PERCPU=y
-CONFIG_SWPHY=y
-CONFIG_SYS_SUPPORTS_APM_EMULATION=y
-CONFIG_THREAD_INFO_IN_TASK=y
-CONFIG_TICK_CPU_ACCOUNTING=y
-CONFIG_TIMER_OF=y
-CONFIG_TIMER_PROBE=y
-CONFIG_TINY_SRCU=y
-CONFIG_UNCOMPRESS_INCLUDE="debug/uncompress.h"
-CONFIG_UNWINDER_ARM=y
-CONFIG_USB=y
-CONFIG_USB_COMMON=y
-CONFIG_USB_EHCI_BIG_ENDIAN_DESC=y
-CONFIG_USB_EHCI_BIG_ENDIAN_MMIO=y
-CONFIG_USB_EHCI_HCD=y
-CONFIG_USB_EHCI_HCD_PLATFORM=y
-CONFIG_USB_EHCI_PCI=y
-CONFIG_USB_OHCI_HCD=y
-CONFIG_USB_OHCI_HCD_PCI=y
-# CONFIG_USB_OHCI_HCD_PLATFORM is not set
-CONFIG_USB_PCI=y
-CONFIG_USB_STORAGE=y
-CONFIG_USB_SUPPORT=y
-CONFIG_USB_UHCI_HCD=y
-CONFIG_USE_OF=y
-CONFIG_VM_EVENT_COUNTERS=y
-CONFIG_WAN=y
-CONFIG_WATCHDOG_CORE=y
-CONFIG_WATCHDOG_NOWAYOUT=y
-CONFIG_XZ_DEC_ARM=y
-CONFIG_XZ_DEC_BCJ=y
-CONFIG_ZBOOT_ROM_BSS=0x0
-CONFIG_ZBOOT_ROM_TEXT=0x0
diff --git a/target/linux/ixp4xx/patches-6.12/0001-ARM-dts-ixp4xx-Fix-up-PCI-on-WG302.patch b/target/linux/ixp4xx/patches-6.12/0001-ARM-dts-ixp4xx-Fix-up-PCI-on-WG302.patch
new file mode 100644 (file)
index 0000000..666c3e9
--- /dev/null
@@ -0,0 +1,41 @@
+From eff2700d2ec99aac06fff0ad35cbc594bd3e04a8 Mon Sep 17 00:00:00 2001
+From: Linus Walleij <linus.walleij@linaro.org>
+Date: Mon, 10 Feb 2025 10:31:16 +0100
+Subject: [PATCH 1/2] ARM: dts: ixp4xx: Fix up PCI on WG302
+
+Looking at the board file for WG302 v2 was not a good idea
+because the GPIO IRQ for slot 2 differs, and v1 uses GPIO
+10 instead of GPIO 9. Fix it up.
+
+Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
+Link: https://lore.kernel.org/20250210-ixp4xx-dts-v1-2-6b752d745e04@linaro.org
+---
+ .../dts/intel/ixp/intel-ixp42x-netgear-wg302v1.dts     | 10 +++++-----
+ 1 file changed, 5 insertions(+), 5 deletions(-)
+
+--- a/arch/arm/boot/dts/intel/ixp/intel-ixp42x-netgear-wg302v1.dts
++++ b/arch/arm/boot/dts/intel/ixp/intel-ixp42x-netgear-wg302v1.dts
+@@ -57,7 +57,7 @@
+                       status = "okay";
+                       /*
+-                       * Taken from WG302 v2 PCI boardfile (wg302v2-pci.c)
++                       * Taken from WG302 v1 PCI boardfile (wg302v1-pci.c)
+                        * We have slots (IDSEL) 1 and 2 with one assigned IRQ
+                        * each handling all IRQs.
+                        */
+@@ -70,10 +70,10 @@
+                       <0x0800 0 0 3 &gpio0 8 IRQ_TYPE_LEVEL_LOW>, /* INT C on slot 1 is irq 8 */
+                       <0x0800 0 0 4 &gpio0 8 IRQ_TYPE_LEVEL_LOW>, /* INT D on slot 1 is irq 8 */
+                       /* IDSEL 2 */
+-                      <0x1000 0 0 1 &gpio0 9 IRQ_TYPE_LEVEL_LOW>, /* INT A on slot 2 is irq 9 */
+-                      <0x1000 0 0 2 &gpio0 9 IRQ_TYPE_LEVEL_LOW>, /* INT B on slot 2 is irq 9 */
+-                      <0x1000 0 0 3 &gpio0 9 IRQ_TYPE_LEVEL_LOW>, /* INT C on slot 2 is irq 9 */
+-                      <0x1000 0 0 4 &gpio0 9 IRQ_TYPE_LEVEL_LOW>; /* INT D on slot 2 is irq 9 */
++                      <0x1000 0 0 1 &gpio0 10 IRQ_TYPE_LEVEL_LOW>, /* INT A on slot 2 is irq 10 */
++                      <0x1000 0 0 2 &gpio0 10 IRQ_TYPE_LEVEL_LOW>, /* INT B on slot 2 is irq 10 */
++                      <0x1000 0 0 3 &gpio0 10 IRQ_TYPE_LEVEL_LOW>, /* INT C on slot 2 is irq 10 */
++                      <0x1000 0 0 4 &gpio0 10 IRQ_TYPE_LEVEL_LOW>; /* INT D on slot 2 is irq 10 */
+               };
+               ethernet@c8009000 {
diff --git a/target/linux/ixp4xx/patches-6.12/0002-ARM-dts-ixp4xx-Add-Netgear-WG302-v1-GPIOs.patch b/target/linux/ixp4xx/patches-6.12/0002-ARM-dts-ixp4xx-Add-Netgear-WG302-v1-GPIOs.patch
new file mode 100644 (file)
index 0000000..a855cef
--- /dev/null
@@ -0,0 +1,60 @@
+From f8a9ef38de91ddffa51255d15589c460bb6d9916 Mon Sep 17 00:00:00 2001
+From: Linus Walleij <linus.walleij@linaro.org>
+Date: Mon, 10 Feb 2025 10:31:17 +0100
+Subject: [PATCH 2/2] ARM: dts: ixp4xx: Add Netgear WG302 v1 GPIOs
+
+This adds GPIO LED indicators, the reset GPIO RESET
+button on the Netgear WG302 v1 to the device tree.
+
+Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
+Link: https://lore.kernel.org/20250210-ixp4xx-dts-v1-3-6b752d745e04@linaro.org
+---
+ .../ixp/intel-ixp42x-netgear-wg302v1.dts      | 30 +++++++++++++++++++
+ 1 file changed, 30 insertions(+)
+
+--- a/arch/arm/boot/dts/intel/ixp/intel-ixp42x-netgear-wg302v1.dts
++++ b/arch/arm/boot/dts/intel/ixp/intel-ixp42x-netgear-wg302v1.dts
+@@ -8,6 +8,7 @@
+ #include "intel-ixp42x.dtsi"
+ #include <dt-bindings/input/input.h>
++#include <dt-bindings/leds/common.h>
+ / {
+       model = "Netgear WG302 v1";
+@@ -32,6 +33,35 @@
+               serial0 = &uart1;
+       };
++      leds {
++              compatible = "gpio-leds";
++              test_led: led-test {
++                      color = <LED_COLOR_ID_AMBER>;
++                      function = "test";
++                      gpios = <&gpio0 4 GPIO_ACTIVE_LOW>;
++                      default-state = "off";
++              };
++              wlan_led: led-wlan {
++                      color = <LED_COLOR_ID_GREEN>;
++                      function = LED_FUNCTION_WLAN;
++                      gpios = <&gpio0 5 GPIO_ACTIVE_LOW>;
++                      default-state = "off";
++                      linux,default-trigger = "phy0tx";
++              };
++      };
++
++      gpio_keys {
++              /* RESET is on GPIO13 which can't fire interrupts */
++              compatible = "gpio-keys-polled";
++              poll-interval = <100>;
++
++              button-reset {
++                      linux,code = <KEY_RESTART>;
++                      label = "reset";
++                      gpios = <&gpio0 13 GPIO_ACTIVE_LOW>;
++              };
++      };
++
+       soc {
+               bus@c4000000 {
+                       flash@0,0 {
diff --git a/target/linux/ixp4xx/patches-6.12/301-ARM-dts-ixp4xx-Boot-NSLU2-from-harddrive.patch b/target/linux/ixp4xx/patches-6.12/301-ARM-dts-ixp4xx-Boot-NSLU2-from-harddrive.patch
new file mode 100644 (file)
index 0000000..2a82ec0
--- /dev/null
@@ -0,0 +1,24 @@
+From 6484f966af53447deefcd4b805c201d8624981cb Mon Sep 17 00:00:00 2001
+From: Linus Walleij <linus.walleij@linaro.org>
+Date: Mon, 29 May 2023 23:32:44 +0200
+Subject: [PATCH] ARM: dts: ixp4xx: Boot NSLU2 from harddrive
+
+This enforces harddrive boot on the NSLU2. The flash is too small
+to hold any rootfs these days.
+
+Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
+---
+ arch/arm/boot/dts/intel/ixp/intel-ixp42x-linksys-nslu2.dts | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/arch/arm/boot/dts/intel/ixp/intel-ixp42x-linksys-nslu2.dts
++++ b/arch/arm/boot/dts/intel/ixp/intel-ixp42x-linksys-nslu2.dts
+@@ -21,7 +21,7 @@
+       };
+       chosen {
+-              bootargs = "console=ttyS0,115200n8 root=/dev/mtdblock2 rw rootfstype=squashfs,jffs2 rootwait";
++              bootargs = "console=ttyS0,115200n8 root=/dev/sda1 rw rootwait";
+               stdout-path = "uart0:115200n8";
+       };
diff --git a/target/linux/ixp4xx/patches-6.12/302-ARM-dts-ixp4xx-OpenWrt-LED-aliases.patch b/target/linux/ixp4xx/patches-6.12/302-ARM-dts-ixp4xx-OpenWrt-LED-aliases.patch
new file mode 100644 (file)
index 0000000..7fd1854
--- /dev/null
@@ -0,0 +1,228 @@
+From d672011e10097e5e61659a5d64ac9cb7b7544b60 Mon Sep 17 00:00:00 2001
+From: Linus Walleij <linus.walleij@linaro.org>
+Date: Wed, 25 Dec 2024 01:09:20 +0100
+Subject: [PATCH] ARM: dts: ixp4xx OpenWrt LED aliases
+
+This outoftree patch adds OpenWrt LED aliases to the DTS files
+of supported devices.
+
+Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
+---
+ .../boot/dts/intel/ixp/intel-ixp42x-dlink-dsm-g600.dts |  9 ++++++---
+ .../boot/dts/intel/ixp/intel-ixp42x-freecom-fsg-3.dts  | 10 +++++++---
+ .../dts/intel/ixp/intel-ixp42x-gateworks-gw2348.dts    |  6 +++++-
+ .../boot/dts/intel/ixp/intel-ixp42x-iomega-nas100d.dts |  9 ++++++---
+ .../boot/dts/intel/ixp/intel-ixp42x-linksys-nslu2.dts  |  9 ++++++---
+ .../dts/intel/ixp/intel-ixp42x-netgear-wg302v1.dts     |  3 +++
+ .../dts/intel/ixp/intel-ixp42x-usrobotics-usr8200.dts  |  5 ++++-
+ .../dts/intel/ixp/intel-ixp43x-gateworks-gw2358.dts    |  6 +++++-
+ 8 files changed, 42 insertions(+), 15 deletions(-)
+
+--- a/arch/arm/boot/dts/intel/ixp/intel-ixp42x-dlink-dsm-g600.dts
++++ b/arch/arm/boot/dts/intel/ixp/intel-ixp42x-dlink-dsm-g600.dts
+@@ -31,16 +31,19 @@
+       };
+       aliases {
++              led-boot = &led_power;
++              led-failsafe = &led_power;
++              led-running = &led_power;
++              led-upgrade = &led_power;
+               serial0 = &uart0;
+       };
+       leds {
+               compatible = "gpio-leds";
+-              led-power {
++              led_power: led-power {
+                       label = "dsmg600:green:power";
+                       gpios = <&gpio0 0 GPIO_ACTIVE_HIGH>;
+                       default-state = "on";
+-                      linux,default-trigger = "heartbeat";
+               };
+               led-wlan {
+                       label = "dsmg600:green:wlan";
+@@ -48,7 +51,7 @@
+                       gpios = <&gpio0 14 GPIO_ACTIVE_LOW>;
+                       default-state = "on";
+                       /* We don't have WLAN trigger in the kernel (yet) */
+-                      linux,default-trigger = "netdev";
++                      linux,default-trigger = "phy0tx";
+               };
+       };
+--- a/arch/arm/boot/dts/intel/ixp/intel-ixp42x-freecom-fsg-3.dts
++++ b/arch/arm/boot/dts/intel/ixp/intel-ixp42x-freecom-fsg-3.dts
+@@ -29,6 +29,10 @@
+       };
+       aliases {
++              led-boot = &led_ring;
++              led-failsafe = &led_sync;
++              led-running = &led_ring;
++              led-upgrade = &led_sync;
+               serial0 = &uart0;
+       };
+@@ -112,7 +116,7 @@
+                                       reg = <0x00 0x02>;
+                                       mask = <0x01>;
+                                       label = "fsg:blue:wlan";
+-                                      linux,default-trigger = "wlan";
++                                      linux,default-trigger = "phy0tx";
+                                       default-state = "on";
+                               };
+                               led@0,1 {
+@@ -139,7 +143,7 @@
+                                       linux,default-trigger = "";
+                                       default-state = "on";
+                               };
+-                              led@0,4 {
++                              led_sync: led@0,4 {
+                                       compatible = "register-bit-led";
+                                       reg = <0x00 0x02>;
+                                       mask = <0x08>;
+@@ -147,7 +151,7 @@
+                                       linux,default-trigger = "";
+                                       default-state = "on";
+                               };
+-                              led@0,5 {
++                              led_ring: led@0,5 {
+                                       compatible = "register-bit-led";
+                                       reg = <0x00 0x02>;
+                                       mask = <0x10>;
+--- a/arch/arm/boot/dts/intel/ixp/intel-ixp42x-gateworks-gw2348.dts
++++ b/arch/arm/boot/dts/intel/ixp/intel-ixp42x-gateworks-gw2348.dts
+@@ -26,12 +26,16 @@
+       };
+       aliases {
++              led-boot = &usr_led;
++              led-failsafe = &usr_led;
++              led-running = &usr_led;
++              led-upgrade = &usr_led;
+               serial0 = &uart0;
+       };
+       leds {
+               compatible = "gpio-leds";
+-              led-user {
++              usr_led: led-user {
+                       label = "gw2348:green:user";
+                       gpios = <&gpio0 3 GPIO_ACTIVE_LOW>;
+                       default-state = "on";
+--- a/arch/arm/boot/dts/intel/ixp/intel-ixp42x-iomega-nas100d.dts
++++ b/arch/arm/boot/dts/intel/ixp/intel-ixp42x-iomega-nas100d.dts
+@@ -26,6 +26,10 @@
+       };
+       aliases {
++              led-boot = &pwr_led;
++              led-failsafe = &pwr_led;
++              led-running = &pwr_led;
++              led-upgrade = &pwr_led;
+               serial0 = &uart0;
+       };
+@@ -36,7 +40,7 @@
+                       gpios = <&gpio0 0 GPIO_ACTIVE_HIGH>;
+                       default-state = "on";
+                       /* We don't have WLAN trigger in the kernel (yet) */
+-                      linux,default-trigger = "netdev";
++                      linux,default-trigger = "phy0tx";
+               };
+               led-disk {
+                       label = "nas100d:red:disk";
+@@ -44,11 +48,10 @@
+                       default-state = "on";
+                       linux,default-trigger = "disk-activity";
+               };
+-              led-power {
++              pwr_led: led-power {
+                       label = "nas100d:red:power";
+                       gpios = <&gpio0 15 GPIO_ACTIVE_LOW>;
+                       default-state = "on";
+-                      linux,default-trigger = "heartbeat";
+               };
+       };
+--- a/arch/arm/boot/dts/intel/ixp/intel-ixp42x-linksys-nslu2.dts
++++ b/arch/arm/boot/dts/intel/ixp/intel-ixp42x-linksys-nslu2.dts
+@@ -26,18 +26,21 @@
+       };
+       aliases {
++              led-boot = &led_status;
++              led-failsafe = &led_status;
++              led-running = &led_ready;
++              led-upgrade = &led_status;
+               serial0 = &uart0;
+       };
+       leds {
+               compatible = "gpio-leds";
+-              led-status {
++              led_status: led-status {
+                       label = "nslu2:red:status";
+                       gpios = <&gpio0 0 GPIO_ACTIVE_HIGH>;
+                       default-state = "on";
+-                      linux,default-trigger = "heartbeat";
+               };
+-              led-ready {
++              led_ready: led-ready {
+                       label = "nslu2:green:ready";
+                       gpios = <&gpio0 1 GPIO_ACTIVE_HIGH>;
+                       default-state = "on";
+--- a/arch/arm/boot/dts/intel/ixp/intel-ixp42x-netgear-wg302v1.dts
++++ b/arch/arm/boot/dts/intel/ixp/intel-ixp42x-netgear-wg302v1.dts
+@@ -29,6 +29,9 @@
+       };
+       aliases {
++              led-boot = &test_led;
++              led-failsafe = &test_led;
++              led-upgrade = &test_led;
+               /* These are switched around */
+               serial0 = &uart1;
+       };
+--- a/arch/arm/boot/dts/intel/ixp/intel-ixp42x-usrobotics-usr8200.dts
++++ b/arch/arm/boot/dts/intel/ixp/intel-ixp42x-usrobotics-usr8200.dts
+@@ -29,6 +29,10 @@
+       };
+       aliases {
++              led-boot = &pwr_led;
++              led-failsafe = &pwr_led;
++              led-running = &pwr_led;
++              led-upgrade = &pwr_led;
+               /* These are switched around */
+               serial0 = &uart1;
+               serial1 = &uart0;
+@@ -67,7 +71,6 @@
+                       label = "usr8200:green:pwr";
+                       gpios = <&gpio0 14 GPIO_ACTIVE_HIGH>;
+                       default-state = "on";
+-                      linux,default-trigger = "heartbeat";
+               };
+       };
+--- a/arch/arm/boot/dts/intel/ixp/intel-ixp43x-gateworks-gw2358.dts
++++ b/arch/arm/boot/dts/intel/ixp/intel-ixp43x-gateworks-gw2358.dts
+@@ -25,12 +25,16 @@
+       };
+       aliases {
++              led-boot = &usr_led;
++              led-failsafe = &usr_led;
++              led-running = &usr_led;
++              led-upgrade = &usr_led;
+               serial0 = &uart0;
+       };
+       leds {
+               compatible = "gpio-leds";
+-              led-user {
++              usr_led: led-user {
+                       label = "gw2358:green:LED";
+                       gpios = <&pld1 0 GPIO_ACTIVE_LOW>;
+                       default-state = "on";
diff --git a/target/linux/ixp4xx/patches-6.6/0001-gpio-ixp4xx-Handle-clock-output-on-pin-14-and-15.patch b/target/linux/ixp4xx/patches-6.6/0001-gpio-ixp4xx-Handle-clock-output-on-pin-14-and-15.patch
deleted file mode 100644 (file)
index 0498edc..0000000
+++ /dev/null
@@ -1,93 +0,0 @@
-From fc58944733a2082e3290eda240eb3247a00ad73a Mon Sep 17 00:00:00 2001
-From: Linus Walleij <linus.walleij@linaro.org>
-Date: Thu, 21 Sep 2023 00:12:42 +0200
-Subject: [PATCH] gpio: ixp4xx: Handle clock output on pin 14 and 15
-
-This makes it possible to provide basic clock output on pins
-14 and 15. The clocks are typically used by random electronics,
-not modeled in the device tree, so they just need to be provided
-on request.
-
-In order to not disturb old systems that require that the
-hardware defaults are kept in the clock setting bits, we only
-manipulate these if either device tree property is present.
-Once we know a device needs one of the clocks we can set it
-in the device tree.
-
-Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
----
- drivers/gpio/gpio-ixp4xx.c | 49 +++++++++++++++++++++++++++++++++++++-
- 1 file changed, 48 insertions(+), 1 deletion(-)
-
---- a/drivers/gpio/gpio-ixp4xx.c
-+++ b/drivers/gpio/gpio-ixp4xx.c
-@@ -38,6 +38,18 @@
- #define IXP4XX_GPIO_STYLE_MASK                GENMASK(2, 0)
- #define IXP4XX_GPIO_STYLE_SIZE                3
-+/*
-+ * Clock output control register defines.
-+ */
-+#define IXP4XX_GPCLK_CLK0DC_SHIFT     0
-+#define IXP4XX_GPCLK_CLK0TC_SHIFT     4
-+#define IXP4XX_GPCLK_CLK0_MASK                GENMASK(7, 0)
-+#define IXP4XX_GPCLK_MUX14            BIT(8)
-+#define IXP4XX_GPCLK_CLK1DC_SHIFT     16
-+#define IXP4XX_GPCLK_CLK1TC_SHIFT     20
-+#define IXP4XX_GPCLK_CLK1_MASK                GENMASK(23, 16)
-+#define IXP4XX_GPCLK_MUX15            BIT(24)
-+
- /**
-  * struct ixp4xx_gpio - IXP4 GPIO state container
-  * @dev: containing device for this instance
-@@ -202,6 +214,8 @@ static int ixp4xx_gpio_probe(struct plat
-       struct ixp4xx_gpio *g;
-       struct gpio_irq_chip *girq;
-       struct device_node *irq_parent;
-+      bool clk_14, clk_15;
-+      u32 val;
-       int ret;
-       g = devm_kzalloc(dev, sizeof(*g), GFP_KERNEL);
-@@ -231,7 +245,40 @@ static int ixp4xx_gpio_probe(struct plat
-        */
-       if (of_machine_is_compatible("dlink,dsm-g600-a") ||
-           of_machine_is_compatible("iom,nas-100d"))
--              __raw_writel(0x0, g->base + IXP4XX_REG_GPCLK);
-+              val = 0;
-+      else
-+              val = __raw_readl(g->base + IXP4XX_REG_GPCLK);
-+
-+      /*
-+       * If either clock output is enabled explicitly in the device tree
-+       * we take full control of the clock by masking off all bits for
-+       * the clock control and selectively enabling them. Otherwise
-+       * we leave the hardware default settings.
-+       *
-+       * Enable clock outputs with default timings of requested clock.
-+       * If you need control over TC and DC, add these to the device
-+       * tree bindings and use them here.
-+       */
-+      clk_14 = of_property_read_bool(np, "intel,ixp4xx-gpio14-clkout");
-+      clk_15 = of_property_read_bool(np, "intel,ixp4xx-gpio15-clkout");
-+      if (clk_14 || clk_15) {
-+              val &= ~(IXP4XX_GPCLK_MUX14 | IXP4XX_GPCLK_MUX15);
-+              val &= ~IXP4XX_GPCLK_CLK0_MASK;
-+              val &= ~IXP4XX_GPCLK_CLK1_MASK;
-+              if (clk_14) {
-+                      val |= (0 << IXP4XX_GPCLK_CLK0DC_SHIFT);
-+                      val |= (1 << IXP4XX_GPCLK_CLK0TC_SHIFT);
-+                      val |= IXP4XX_GPCLK_MUX14;
-+              }
-+
-+              if (clk_15) {
-+                      val |= (0 << IXP4XX_GPCLK_CLK1DC_SHIFT);
-+                      val |= (1 << IXP4XX_GPCLK_CLK1TC_SHIFT);
-+                      val |= IXP4XX_GPCLK_MUX15;
-+              }
-+      }
-+
-+      __raw_writel(val, g->base + IXP4XX_REG_GPCLK);
-       /*
-        * This is a very special big-endian ARM issue: when the IXP4xx is
diff --git a/target/linux/ixp4xx/patches-6.6/0002-net-ixp4xx_eth-Support-changing-the-MTU.patch b/target/linux/ixp4xx/patches-6.6/0002-net-ixp4xx_eth-Support-changing-the-MTU.patch
deleted file mode 100644 (file)
index 4abc6cd..0000000
+++ /dev/null
@@ -1,132 +0,0 @@
-From 6599df775e2cbb4988bdf8239acf4fbec70e5ef9 Mon Sep 17 00:00:00 2001
-From: Linus Walleij <linus.walleij@linaro.org>
-Date: Sat, 23 Sep 2023 20:38:22 +0200
-Subject: [PATCH 3/4] net: ixp4xx_eth: Support changing the MTU
-
-As we don't specify the MTU in the driver, the framework
-will fall back to 1500 bytes and this doesn't work very
-well when we try to attach a DSA switch:
-
-  eth1: mtu greater than device maximum
-  ixp4xx_eth c800a000.ethernet eth1: error -22 setting
-  MTU to 1504 to include DSA overhead
-
-After locating an out-of-tree patch in OpenWrt I found
-suitable code to set the MTU on the interface and ported
-it and updated it. Now the MTU gets set properly.
-
-Reviewed-by: Jacob Keller <jacob.e.keller@intel.com>
-Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
----
- drivers/net/ethernet/xscale/ixp4xx_eth.c | 65 +++++++++++++++++++++++-
- 1 file changed, 64 insertions(+), 1 deletion(-)
-
---- a/drivers/net/ethernet/xscale/ixp4xx_eth.c
-+++ b/drivers/net/ethernet/xscale/ixp4xx_eth.c
-@@ -24,6 +24,7 @@
- #include <linux/dma-mapping.h>
- #include <linux/dmapool.h>
- #include <linux/etherdevice.h>
-+#include <linux/if_vlan.h>
- #include <linux/io.h>
- #include <linux/kernel.h>
- #include <linux/net_tstamp.h>
-@@ -63,7 +64,15 @@
- #define POOL_ALLOC_SIZE               (sizeof(struct desc) * (RX_DESCS + TX_DESCS))
- #define REGS_SIZE             0x1000
--#define MAX_MRU                       1536 /* 0x600 */
-+
-+/* MRU is said to be 14320 in a code dump, the SW manual says that
-+ * MRU/MTU is 16320 and includes VLAN and ethernet headers.
-+ * See "IXP400 Software Programmer's Guide" section 10.3.2, page 161.
-+ *
-+ * FIXME: we have chosen the safe default (14320) but if you can test
-+ * jumboframes, experiment with 16320 and see what happens!
-+ */
-+#define MAX_MRU                       (14320 - VLAN_ETH_HLEN)
- #define RX_BUFF_SIZE          ALIGN((NET_IP_ALIGN) + MAX_MRU, 4)
- #define NAPI_WEIGHT           16
-@@ -1182,6 +1191,54 @@ static void destroy_queues(struct port *
-       }
- }
-+static int ixp4xx_do_change_mtu(struct net_device *dev, int new_mtu)
-+{
-+      struct port *port = netdev_priv(dev);
-+      struct npe *npe = port->npe;
-+      int framesize, chunks;
-+      struct msg msg = {};
-+
-+      /* adjust for ethernet headers */
-+      framesize = new_mtu + VLAN_ETH_HLEN;
-+      /* max rx/tx 64 byte chunks */
-+      chunks = DIV_ROUND_UP(framesize, 64);
-+
-+      msg.cmd = NPE_SETMAXFRAMELENGTHS;
-+      msg.eth_id = port->id;
-+
-+      /* Firmware wants to know buffer size in 64 byte chunks */
-+      msg.byte2 = chunks << 8;
-+      msg.byte3 = chunks << 8;
-+
-+      msg.byte4 = msg.byte6 = framesize >> 8;
-+      msg.byte5 = msg.byte7 = framesize & 0xff;
-+
-+      if (npe_send_recv_message(npe, &msg, "ETH_SET_MAX_FRAME_LENGTH"))
-+              return -EIO;
-+      netdev_dbg(dev, "set MTU on NPE %s to %d bytes\n",
-+                 npe_name(npe), new_mtu);
-+
-+      return 0;
-+}
-+
-+static int ixp4xx_eth_change_mtu(struct net_device *dev, int new_mtu)
-+{
-+      int ret;
-+
-+      /* MTU can only be changed when the interface is up. We also
-+       * set the MTU from dev->mtu when opening the device.
-+       */
-+      if (dev->flags & IFF_UP) {
-+              ret = ixp4xx_do_change_mtu(dev, new_mtu);
-+              if (ret < 0)
-+                      return ret;
-+      }
-+
-+      dev->mtu = new_mtu;
-+
-+      return 0;
-+}
-+
- static int eth_open(struct net_device *dev)
- {
-       struct port *port = netdev_priv(dev);
-@@ -1232,6 +1289,8 @@ static int eth_open(struct net_device *d
-       if (npe_send_recv_message(port->npe, &msg, "ETH_SET_FIREWALL_MODE"))
-               return -EIO;
-+      ixp4xx_do_change_mtu(dev, dev->mtu);
-+
-       if ((err = request_queues(port)) != 0)
-               return err;
-@@ -1374,6 +1433,7 @@ static int eth_close(struct net_device *
- static const struct net_device_ops ixp4xx_netdev_ops = {
-       .ndo_open = eth_open,
-       .ndo_stop = eth_close,
-+      .ndo_change_mtu = ixp4xx_eth_change_mtu,
-       .ndo_start_xmit = eth_xmit,
-       .ndo_set_rx_mode = eth_set_mcast_list,
-       .ndo_eth_ioctl = eth_ioctl,
-@@ -1488,6 +1548,9 @@ static int ixp4xx_eth_probe(struct platf
-       ndev->dev.dma_mask = dev->dma_mask;
-       ndev->dev.coherent_dma_mask = dev->coherent_dma_mask;
-+      ndev->min_mtu = ETH_MIN_MTU;
-+      ndev->max_mtu = MAX_MRU;
-+
-       netif_napi_add_weight(ndev, &port->napi, eth_poll, NAPI_WEIGHT);
-       if (!(port->npe = npe_request(NPE_ID(port->id))))
diff --git a/target/linux/ixp4xx/patches-6.6/0003-ARM-dts-ixp4xx-Add-USRobotics-USR8200-device-tree.patch b/target/linux/ixp4xx/patches-6.6/0003-ARM-dts-ixp4xx-Add-USRobotics-USR8200-device-tree.patch
deleted file mode 100644 (file)
index 93b12a5..0000000
+++ /dev/null
@@ -1,260 +0,0 @@
-From a1490c1e8a12a8286c6a34c3d277a519066fc51e Mon Sep 17 00:00:00 2001
-From: Linus Walleij <linus.walleij@linaro.org>
-Date: Sat, 7 Oct 2023 14:32:40 +0200
-Subject: [PATCH] ARM: dts: ixp4xx: Add USRobotics USR8200 device tree
-
-This is a USRobotics NAS/Firewall/router that has been supported
-by OpenWrt in the past. It had dedicated users so let's get it
-properly supported.
-
-Some debugging and fixing was provided by Howard Harte.
-
-Link: https://lore.kernel.org/r/20231007-ixp4xx-usr8200-v1-1-aded3d6ff6f1@linaro.org
-Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
----
- arch/arm/boot/dts/intel/ixp/Makefile          |   3 +-
- .../ixp/intel-ixp42x-usrobotics-usr8200.dts   | 229 ++++++++++++++++++
- 2 files changed, 231 insertions(+), 1 deletion(-)
- create mode 100644 arch/arm/boot/dts/intel/ixp/intel-ixp42x-usrobotics-usr8200.dts
-
---- a/arch/arm/boot/dts/intel/ixp/Makefile
-+++ b/arch/arm/boot/dts/intel/ixp/Makefile
-@@ -16,4 +16,5 @@ dtb-$(CONFIG_ARCH_IXP4XX) += \
-       intel-ixp43x-gateworks-gw2358.dtb \
-       intel-ixp42x-netgear-wg302v1.dtb \
-       intel-ixp42x-arcom-vulcan.dtb \
--      intel-ixp42x-gateway-7001.dtb
-+      intel-ixp42x-gateway-7001.dtb \
-+      intel-ixp42x-usrobotics-usr8200.dtb
---- /dev/null
-+++ b/arch/arm/boot/dts/intel/ixp/intel-ixp42x-usrobotics-usr8200.dts
-@@ -0,0 +1,229 @@
-+// SPDX-License-Identifier: ISC
-+/*
-+ * Device Tree file for the USRobotics USR8200 firewall
-+ * VPN and NAS. Based on know-how from Peter Denison.
-+ *
-+ * This machine is based on IXP422, the USR internal codename
-+ * is "Jeeves".
-+ */
-+
-+/dts-v1/;
-+
-+#include "intel-ixp42x.dtsi"
-+#include <dt-bindings/input/input.h>
-+
-+/ {
-+      model = "USRobotics USR8200";
-+      compatible = "usr,usr8200", "intel,ixp42x";
-+      #address-cells = <1>;
-+      #size-cells = <1>;
-+
-+      memory@0 {
-+              device_type = "memory";
-+              reg = <0x00000000 0x4000000>;
-+      };
-+
-+      chosen {
-+              bootargs = "console=ttyS0,115200n8";
-+              stdout-path = "uart1:115200n8";
-+      };
-+
-+      aliases {
-+              /* These are switched around */
-+              serial0 = &uart1;
-+              serial1 = &uart0;
-+      };
-+
-+      leds {
-+              compatible = "gpio-leds";
-+              ieee1394_led: led-1394 {
-+                      label = "usr8200:green:1394";
-+                      gpios = <&gpio0 0 GPIO_ACTIVE_LOW>;
-+                      default-state = "off";
-+              };
-+              usb1_led: led-usb1 {
-+                      label = "usr8200:green:usb1";
-+                      gpios = <&gpio0 1 GPIO_ACTIVE_LOW>;
-+                      default-state = "off";
-+              };
-+              usb2_led: led-usb2 {
-+                      label = "usr8200:green:usb2";
-+                      gpios = <&gpio0 2 GPIO_ACTIVE_LOW>;
-+                      default-state = "off";
-+              };
-+              wireless_led: led-wireless {
-+                      /*
-+                       * This LED is mounted inside the case but cannot be
-+                       * seen from the outside: probably USR planned at one
-+                       * point for the device to have a wireless card, then
-+                       * changed their mind and didn't mount it, leaving the
-+                       * LED in place.
-+                       */
-+                      label = "usr8200:green:wireless";
-+                      gpios = <&gpio0 3 GPIO_ACTIVE_LOW>;
-+                      default-state = "off";
-+              };
-+              pwr_led: led-pwr {
-+                      label = "usr8200:green:pwr";
-+                      gpios = <&gpio0 14 GPIO_ACTIVE_HIGH>;
-+                      default-state = "on";
-+                      linux,default-trigger = "heartbeat";
-+              };
-+      };
-+
-+      gpio_keys {
-+              compatible = "gpio-keys";
-+
-+              button-reset {
-+                      wakeup-source;
-+                      linux,code = <KEY_RESTART>;
-+                      label = "reset";
-+                      gpios = <&gpio0 12 GPIO_ACTIVE_LOW>;
-+              };
-+      };
-+
-+      soc {
-+              bus@c4000000 {
-+                      flash@0,0 {
-+                              compatible = "intel,ixp4xx-flash", "cfi-flash";
-+                              bank-width = <2>;
-+                              /* Enable writes on the expansion bus */
-+                              intel,ixp4xx-eb-write-enable = <1>;
-+                              /* 16 MB of Flash mapped in at CS0 */
-+                              reg = <0 0x00000000 0x1000000>;
-+
-+                              partitions {
-+                                      compatible = "redboot-fis";
-+                                      /* Eraseblock at 0x0fe0000 */
-+                                      fis-index-block = <0x7f>;
-+                              };
-+                      };
-+                      rtc@2,0 {
-+                              /* EPSON RTC7301 DG DIL-capsule */
-+                              compatible = "epson,rtc7301dg";
-+                              /*
-+                               * These timing settings were found in the boardfile patch:
-+                               * IXP4XX_EXP_CS2 = 0x3fff000 | IXP4XX_EXP_BUS_SIZE(0) | IXP4XX_EXP_BUS_WR_EN |
-+                               *                  IXP4XX_EXP_BUS_CS_EN | IXP4XX_EXP_BUS_BYTE_EN;
-+                               */
-+                              intel,ixp4xx-eb-t1 = <0>; // no cycles extra address phase
-+                              intel,ixp4xx-eb-t2 = <0>; // no cycles extra setup phase
-+                              intel,ixp4xx-eb-t3 = <15>; // 15 cycles extra strobe phase
-+                              intel,ixp4xx-eb-t4 = <3>; // 3 cycles extra hold phase
-+                              intel,ixp4xx-eb-t5 = <15>; // 15 cycles extra recovery phase
-+                              intel,ixp4xx-eb-cycle-type = <0>; // Intel cycle
-+                              intel,ixp4xx-eb-byte-access-on-halfword = <0>;
-+                              intel,ixp4xx-eb-mux-address-and-data = <0>;
-+                              intel,ixp4xx-eb-ahb-split-transfers = <0>;
-+                              intel,ixp4xx-eb-write-enable = <1>;
-+                              intel,ixp4xx-eb-byte-access = <1>;
-+                              /* 512 bytes at CS2 */
-+                              reg = <2 0x00000000 0x0000200>;
-+                              reg-io-width = <1>;
-+                              native-endian;
-+                              /* FIXME: try to check if there is an IRQ for the RTC? */
-+                      };
-+              };
-+
-+              pci@c0000000 {
-+                      status = "okay";
-+
-+                      /*
-+                       * Taken from USR8200 boardfile from OpenWrt
-+                       *
-+                       * We have 3 slots (IDSEL) with partly swizzled IRQs on slot 16.
-+                       * We assume the same IRQ for all pins on the remaining slots, that
-+                       * is what the boardfile was doing.
-+                       */
-+                      #interrupt-cells = <1>;
-+                      interrupt-map-mask = <0xf800 0 0 7>;
-+                      interrupt-map =
-+                      /* IDSEL 14 used for "Wireless" in the board file */
-+                      <0x7000 0 0 1 &gpio0 7  IRQ_TYPE_LEVEL_LOW>, /* INT A on slot 14 is irq 7 */
-+                      /* IDSEL 15 used for VIA VT6307 IEEE 1394 Firewire */
-+                      <0x7800 0 0 1 &gpio0 8  IRQ_TYPE_LEVEL_LOW>, /* INT A on slot 15 is irq 8 */
-+                      /* IDSEL 16 used for VIA VT6202 USB 2.0 4+1 */
-+                      <0x8000 0 0 1 &gpio0 11 IRQ_TYPE_LEVEL_LOW>, /* INT A on slot 16 is irq 11 */
-+                      <0x8000 0 0 2 &gpio0 10 IRQ_TYPE_LEVEL_LOW>, /* INT B on slot 16 is irq 10 */
-+                      <0x8000 0 0 3 &gpio0 9  IRQ_TYPE_LEVEL_LOW>; /* INT C on slot 16 is irq 9 */
-+              };
-+
-+              gpio@c8004000 {
-+                      /* Enable clock out on GPIO 15 */
-+                      intel,ixp4xx-gpio15-clkout;
-+              };
-+
-+              /* EthB WAN */
-+              ethernet@c8009000 {
-+                      status = "okay";
-+                      queue-rx = <&qmgr 3>;
-+                      queue-txready = <&qmgr 20>;
-+                      phy-mode = "rgmii";
-+                      phy-handle = <&phy9>;
-+
-+                      mdio {
-+                              #address-cells = <1>;
-+                              #size-cells = <0>;
-+
-+                              phy9: ethernet-phy@9 {
-+                                      reg = <9>;
-+                              };
-+
-+                              /* The switch uses MDIO addresses 16 thru 31 */
-+                              switch@16 {
-+                                      compatible = "marvell,mv88e6060";
-+                                      reg = <16>;
-+
-+                                      ports {
-+                                              #address-cells = <1>;
-+                                              #size-cells = <0>;
-+
-+                                              port@0 {
-+                                                      reg = <0>;
-+                                                      label = "lan1";
-+                                              };
-+
-+                                              port@1 {
-+                                                      reg = <1>;
-+                                                      label = "lan2";
-+                                              };
-+
-+                                              port@2 {
-+                                                      reg = <2>;
-+                                                      label = "lan3";
-+                                              };
-+
-+                                              port@3 {
-+                                                      reg = <3>;
-+                                                      label = "lan4";
-+                                              };
-+
-+                                              port@5 {
-+                                                      /* Port 5 is the CPU port according to the MV88E6060 datasheet */
-+                                                      reg = <5>;
-+                                                      phy-mode = "rgmii-id";
-+                                                      ethernet = <&ethc>;
-+                                                      label = "cpu";
-+                                                      fixed-link {
-+                                                              speed = <100>;
-+                                                              full-duplex;
-+                                                      };
-+                                              };
-+                                      };
-+                              };
-+                      };
-+              };
-+
-+              /* EthC LAN connected to the Marvell DSA Switch */
-+              ethc: ethernet@c800a000 {
-+                      status = "okay";
-+                      queue-rx = <&qmgr 4>;
-+                      queue-txready = <&qmgr 21>;
-+                      phy-mode = "rgmii";
-+                      fixed-link {
-+                              speed = <100>;
-+                              full-duplex;
-+                      };
-+              };
-+      };
-+};
diff --git a/target/linux/ixp4xx/patches-6.6/0004-ARM-dts-usr8200-Fix-phy-registers.patch b/target/linux/ixp4xx/patches-6.6/0004-ARM-dts-usr8200-Fix-phy-registers.patch
deleted file mode 100644 (file)
index 93458bc..0000000
+++ /dev/null
@@ -1,69 +0,0 @@
-From 98f3b5f44b9ae86c4a80185b57149867472a2570 Mon Sep 17 00:00:00 2001
-From: Linus Walleij <linus.walleij@linaro.org>
-Date: Fri, 20 Oct 2023 15:11:41 +0200
-Subject: [PATCH] ARM: dts: usr8200: Fix phy registers
-
-The MV88E6060 switch has internal PHY registers at MDIO
-addresses 0x00..0x04. Tie each port to the corresponding
-PHY.
-
-Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
-Link: https://lore.kernel.org/r/20231020-ixp4xx-usr8200-dtsfix-v1-1-3a8591dea259@linaro.org
-Signed-off-by: Arnd Bergmann <arnd@arndb.de>
----
- .../ixp/intel-ixp42x-usrobotics-usr8200.dts   | 22 +++++++++++++++++++
- 1 file changed, 22 insertions(+)
-
---- a/arch/arm/boot/dts/intel/ixp/intel-ixp42x-usrobotics-usr8200.dts
-+++ b/arch/arm/boot/dts/intel/ixp/intel-ixp42x-usrobotics-usr8200.dts
-@@ -165,6 +165,24 @@
-                               #address-cells = <1>;
-                               #size-cells = <0>;
-+                              /*
-+                               * PHY 0..4 are internal to the MV88E6060 switch but appear
-+                               * as independent devices.
-+                               */
-+                              phy0: ethernet-phy@0 {
-+                                      reg = <0>;
-+                              };
-+                              phy1: ethernet-phy@1 {
-+                                      reg = <1>;
-+                              };
-+                              phy2: ethernet-phy@2 {
-+                                      reg = <2>;
-+                              };
-+                              phy3: ethernet-phy@3 {
-+                                      reg = <3>;
-+                              };
-+
-+                              /* Altima AMI101L used by the WAN port */
-                               phy9: ethernet-phy@9 {
-                                       reg = <9>;
-                               };
-@@ -181,21 +199,25 @@
-                                               port@0 {
-                                                       reg = <0>;
-                                                       label = "lan1";
-+                                                      phy-handle = <&phy0>;
-                                               };
-                                               port@1 {
-                                                       reg = <1>;
-                                                       label = "lan2";
-+                                                      phy-handle = <&phy1>;
-                                               };
-                                               port@2 {
-                                                       reg = <2>;
-                                                       label = "lan3";
-+                                                      phy-handle = <&phy2>;
-                                               };
-                                               port@3 {
-                                                       reg = <3>;
-                                                       label = "lan4";
-+                                                      phy-handle = <&phy3>;
-                                               };
-                                               port@5 {
diff --git a/target/linux/ixp4xx/patches-6.6/0005-ARM-dts-ixp4xx-nslu2-Enable-write-on-flash.patch b/target/linux/ixp4xx/patches-6.6/0005-ARM-dts-ixp4xx-nslu2-Enable-write-on-flash.patch
deleted file mode 100644 (file)
index ccbd7ea..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-From 89eccb6726d93c9c78997e91bd641b0e46bc3c5f Mon Sep 17 00:00:00 2001
-From: Linus Walleij <linus.walleij@linaro.org>
-Date: Fri, 8 Sep 2023 12:49:48 +0200
-Subject: [PATCH] ARM: dts: ixp4xx-nslu2: Enable write on flash
-
-To upgrade the firmware and similar, the flash needs write
-access.
-
-Link: https://lore.kernel.org/r/20230908-ixp4xx-dts-v1-1-98d36264ed6d@linaro.org
-Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
----
- arch/arm/boot/dts/intel/ixp/intel-ixp42x-linksys-nslu2.dts | 2 ++
- 1 file changed, 2 insertions(+)
-
---- a/arch/arm/boot/dts/intel/ixp/intel-ixp42x-linksys-nslu2.dts
-+++ b/arch/arm/boot/dts/intel/ixp/intel-ixp42x-linksys-nslu2.dts
-@@ -101,6 +101,8 @@
-                       flash@0,0 {
-                               compatible = "intel,ixp4xx-flash", "cfi-flash";
-                               bank-width = <2>;
-+                              /* Enable writes on the expansion bus */
-+                              intel,ixp4xx-eb-write-enable = <1>;
-                               /*
-                                * 8 MB of Flash in 0x20000 byte blocks
-                                * mapped in at CS0.
diff --git a/target/linux/ixp4xx/patches-6.6/0006-ARM-dts-ixp4xx-Use-right-restart-keycode.patch b/target/linux/ixp4xx/patches-6.6/0006-ARM-dts-ixp4xx-Use-right-restart-keycode.patch
deleted file mode 100644 (file)
index 648c6ef..0000000
+++ /dev/null
@@ -1,62 +0,0 @@
-From deb93908958e74dffbef1ce6a1cc2f82ac4f96ed Mon Sep 17 00:00:00 2001
-From: Linus Walleij <linus.walleij@linaro.org>
-Date: Fri, 8 Sep 2023 12:49:49 +0200
-Subject: [PATCH] ARM: dts: ixp4xx: Use right restart keycode
-
-The "reset" key on a few IXP4xx routers were sending KEY_ESC
-but what we want to send is KEY_RESTART which will make
-OpenWrt and similar userspace do a controlled reboot.
-
-Link: https://lore.kernel.org/r/20230908-ixp4xx-dts-v1-2-98d36264ed6d@linaro.org
-Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
----
- arch/arm/boot/dts/intel/ixp/intel-ixp42x-dlink-dsm-g600.dts | 2 +-
- arch/arm/boot/dts/intel/ixp/intel-ixp42x-freecom-fsg-3.dts  | 2 +-
- arch/arm/boot/dts/intel/ixp/intel-ixp42x-iomega-nas100d.dts | 2 +-
- arch/arm/boot/dts/intel/ixp/intel-ixp42x-linksys-nslu2.dts  | 2 +-
- 4 files changed, 4 insertions(+), 4 deletions(-)
-
---- a/arch/arm/boot/dts/intel/ixp/intel-ixp42x-dlink-dsm-g600.dts
-+++ b/arch/arm/boot/dts/intel/ixp/intel-ixp42x-dlink-dsm-g600.dts
-@@ -57,7 +57,7 @@
-               button-reset {
-                       wakeup-source;
--                      linux,code = <KEY_ESC>;
-+                      linux,code = <KEY_RESTART>;
-                       label = "reset";
-                       gpios = <&gpio0 3 GPIO_ACTIVE_LOW>;
-               };
---- a/arch/arm/boot/dts/intel/ixp/intel-ixp42x-freecom-fsg-3.dts
-+++ b/arch/arm/boot/dts/intel/ixp/intel-ixp42x-freecom-fsg-3.dts
-@@ -44,7 +44,7 @@
-               };
-               button-reset {
-                       wakeup-source;
--                      linux,code = <KEY_ESC>;
-+                      linux,code = <KEY_RESTART>;
-                       label = "reset";
-                       gpios = <&gpio0 9 GPIO_ACTIVE_LOW>;
-               };
---- a/arch/arm/boot/dts/intel/ixp/intel-ixp42x-iomega-nas100d.dts
-+++ b/arch/arm/boot/dts/intel/ixp/intel-ixp42x-iomega-nas100d.dts
-@@ -63,7 +63,7 @@
-               };
-               button-reset {
-                       wakeup-source;
--                      linux,code = <KEY_ESC>;
-+                      linux,code = <KEY_RESTART>;
-                       label = "reset";
-                       gpios = <&gpio0 4 GPIO_ACTIVE_LOW>;
-               };
---- a/arch/arm/boot/dts/intel/ixp/intel-ixp42x-linksys-nslu2.dts
-+++ b/arch/arm/boot/dts/intel/ixp/intel-ixp42x-linksys-nslu2.dts
-@@ -65,7 +65,7 @@
-               };
-               button-reset {
-                       wakeup-source;
--                      linux,code = <KEY_ESC>;
-+                      linux,code = <KEY_RESTART>;
-                       label = "reset";
-                       gpios = <&gpio0 12 GPIO_ACTIVE_LOW>;
-               };
diff --git a/target/linux/ixp4xx/patches-6.6/0007-ARM-dts-ixp4xx-Fix-up-PCI-on-WG302.patch b/target/linux/ixp4xx/patches-6.6/0007-ARM-dts-ixp4xx-Fix-up-PCI-on-WG302.patch
deleted file mode 100644 (file)
index ca0df18..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-From ed23e07bf7a1896b6eaa85b773bb43b1fad66d4b Mon Sep 17 00:00:00 2001
-From: Linus Walleij <linus.walleij@linaro.org>
-Date: Sat, 21 Dec 2024 00:07:11 +0100
-Subject: [PATCH] ARM: dts: ixp4xx: Fix up PCI on WG302
-
-Looking at the board file for WG302 v2 was not a good idea
-because the GPIO IRQ for slot 2 differs, and v1 uses GPIO
-10 instead of GPIO 9. Fix it up.
-
-Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
----
- .../dts/intel/ixp/intel-ixp42x-netgear-wg302v1.dts     | 10 +++++-----
- 1 file changed, 5 insertions(+), 5 deletions(-)
-
---- a/arch/arm/boot/dts/intel/ixp/intel-ixp42x-netgear-wg302v1.dts
-+++ b/arch/arm/boot/dts/intel/ixp/intel-ixp42x-netgear-wg302v1.dts
-@@ -57,7 +57,7 @@
-                       status = "okay";
-                       /*
--                       * Taken from WG302 v2 PCI boardfile (wg302v2-pci.c)
-+                       * Taken from WG302 v1 PCI boardfile (wg302v1-pci.c)
-                        * We have slots (IDSEL) 1 and 2 with one assigned IRQ
-                        * each handling all IRQs.
-                        */
-@@ -70,10 +70,10 @@
-                       <0x0800 0 0 3 &gpio0 8 IRQ_TYPE_LEVEL_LOW>, /* INT C on slot 1 is irq 8 */
-                       <0x0800 0 0 4 &gpio0 8 IRQ_TYPE_LEVEL_LOW>, /* INT D on slot 1 is irq 8 */
-                       /* IDSEL 2 */
--                      <0x1000 0 0 1 &gpio0 9 IRQ_TYPE_LEVEL_LOW>, /* INT A on slot 2 is irq 9 */
--                      <0x1000 0 0 2 &gpio0 9 IRQ_TYPE_LEVEL_LOW>, /* INT B on slot 2 is irq 9 */
--                      <0x1000 0 0 3 &gpio0 9 IRQ_TYPE_LEVEL_LOW>, /* INT C on slot 2 is irq 9 */
--                      <0x1000 0 0 4 &gpio0 9 IRQ_TYPE_LEVEL_LOW>; /* INT D on slot 2 is irq 9 */
-+                      <0x1000 0 0 1 &gpio0 10 IRQ_TYPE_LEVEL_LOW>, /* INT A on slot 2 is irq 10 */
-+                      <0x1000 0 0 2 &gpio0 10 IRQ_TYPE_LEVEL_LOW>, /* INT B on slot 2 is irq 10 */
-+                      <0x1000 0 0 3 &gpio0 10 IRQ_TYPE_LEVEL_LOW>, /* INT C on slot 2 is irq 10 */
-+                      <0x1000 0 0 4 &gpio0 10 IRQ_TYPE_LEVEL_LOW>; /* INT D on slot 2 is irq 10 */
-               };
-               ethernet@c8009000 {
diff --git a/target/linux/ixp4xx/patches-6.6/0008-ARM-dts-ixp4xx-Add-Netgear-WG302-v1-GPIOs.patch b/target/linux/ixp4xx/patches-6.6/0008-ARM-dts-ixp4xx-Add-Netgear-WG302-v1-GPIOs.patch
deleted file mode 100644 (file)
index ef4f21f..0000000
+++ /dev/null
@@ -1,59 +0,0 @@
-From 1d22f422fca8875f6d2cb297f735d41fd5830000 Mon Sep 17 00:00:00 2001
-From: Linus Walleij <linus.walleij@linaro.org>
-Date: Mon, 23 Dec 2024 17:50:52 +0100
-Subject: [PATCH] ARM: dts: ixp4xx: Add Netgear WG302 v1 GPIOs
-
-This adds GPIO LED indicators, the reset GPIO RESET
-button on the Netgear WG302 v1 to the device tree.
-
-Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
----
- .../ixp/intel-ixp42x-netgear-wg302v1.dts      | 30 +++++++++++++++++++
- 1 file changed, 30 insertions(+)
-
---- a/arch/arm/boot/dts/intel/ixp/intel-ixp42x-netgear-wg302v1.dts
-+++ b/arch/arm/boot/dts/intel/ixp/intel-ixp42x-netgear-wg302v1.dts
-@@ -8,6 +8,7 @@
- #include "intel-ixp42x.dtsi"
- #include <dt-bindings/input/input.h>
-+#include <dt-bindings/leds/common.h>
- / {
-       model = "Netgear WG302 v1";
-@@ -32,6 +33,35 @@
-               serial0 = &uart1;
-       };
-+      leds {
-+              compatible = "gpio-leds";
-+              test_led: led-test {
-+                      color = <LED_COLOR_ID_AMBER>;
-+                      function = "test";
-+                      gpios = <&gpio0 4 GPIO_ACTIVE_LOW>;
-+                      default-state = "off";
-+              };
-+              wlan_led: led-wlan {
-+                      color = <LED_COLOR_ID_GREEN>;
-+                      function = LED_FUNCTION_WLAN;
-+                      gpios = <&gpio0 5 GPIO_ACTIVE_LOW>;
-+                      default-state = "off";
-+                      linux,default-trigger = "phy0tx";
-+              };
-+      };
-+
-+      gpio_keys {
-+              /* RESET is on GPIO13 which can't fire interrupts */
-+              compatible = "gpio-keys-polled";
-+              poll-interval = <100>;
-+
-+              button-reset {
-+                      linux,code = <KEY_RESTART>;
-+                      label = "reset";
-+                      gpios = <&gpio0 13 GPIO_ACTIVE_LOW>;
-+              };
-+      };
-+
-       soc {
-               bus@c4000000 {
-                       flash@0,0 {
diff --git a/target/linux/ixp4xx/patches-6.6/301-ARM-dts-ixp4xx-Boot-NSLU2-from-harddrive.patch b/target/linux/ixp4xx/patches-6.6/301-ARM-dts-ixp4xx-Boot-NSLU2-from-harddrive.patch
deleted file mode 100644 (file)
index 2a82ec0..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-From 6484f966af53447deefcd4b805c201d8624981cb Mon Sep 17 00:00:00 2001
-From: Linus Walleij <linus.walleij@linaro.org>
-Date: Mon, 29 May 2023 23:32:44 +0200
-Subject: [PATCH] ARM: dts: ixp4xx: Boot NSLU2 from harddrive
-
-This enforces harddrive boot on the NSLU2. The flash is too small
-to hold any rootfs these days.
-
-Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
----
- arch/arm/boot/dts/intel/ixp/intel-ixp42x-linksys-nslu2.dts | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
---- a/arch/arm/boot/dts/intel/ixp/intel-ixp42x-linksys-nslu2.dts
-+++ b/arch/arm/boot/dts/intel/ixp/intel-ixp42x-linksys-nslu2.dts
-@@ -21,7 +21,7 @@
-       };
-       chosen {
--              bootargs = "console=ttyS0,115200n8 root=/dev/mtdblock2 rw rootfstype=squashfs,jffs2 rootwait";
-+              bootargs = "console=ttyS0,115200n8 root=/dev/sda1 rw rootwait";
-               stdout-path = "uart0:115200n8";
-       };
diff --git a/target/linux/ixp4xx/patches-6.6/302-ARM-dts-ixp4xx-OpenWrt-LED-aliases.patch b/target/linux/ixp4xx/patches-6.6/302-ARM-dts-ixp4xx-OpenWrt-LED-aliases.patch
deleted file mode 100644 (file)
index 7fd1854..0000000
+++ /dev/null
@@ -1,228 +0,0 @@
-From d672011e10097e5e61659a5d64ac9cb7b7544b60 Mon Sep 17 00:00:00 2001
-From: Linus Walleij <linus.walleij@linaro.org>
-Date: Wed, 25 Dec 2024 01:09:20 +0100
-Subject: [PATCH] ARM: dts: ixp4xx OpenWrt LED aliases
-
-This outoftree patch adds OpenWrt LED aliases to the DTS files
-of supported devices.
-
-Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
----
- .../boot/dts/intel/ixp/intel-ixp42x-dlink-dsm-g600.dts |  9 ++++++---
- .../boot/dts/intel/ixp/intel-ixp42x-freecom-fsg-3.dts  | 10 +++++++---
- .../dts/intel/ixp/intel-ixp42x-gateworks-gw2348.dts    |  6 +++++-
- .../boot/dts/intel/ixp/intel-ixp42x-iomega-nas100d.dts |  9 ++++++---
- .../boot/dts/intel/ixp/intel-ixp42x-linksys-nslu2.dts  |  9 ++++++---
- .../dts/intel/ixp/intel-ixp42x-netgear-wg302v1.dts     |  3 +++
- .../dts/intel/ixp/intel-ixp42x-usrobotics-usr8200.dts  |  5 ++++-
- .../dts/intel/ixp/intel-ixp43x-gateworks-gw2358.dts    |  6 +++++-
- 8 files changed, 42 insertions(+), 15 deletions(-)
-
---- a/arch/arm/boot/dts/intel/ixp/intel-ixp42x-dlink-dsm-g600.dts
-+++ b/arch/arm/boot/dts/intel/ixp/intel-ixp42x-dlink-dsm-g600.dts
-@@ -31,16 +31,19 @@
-       };
-       aliases {
-+              led-boot = &led_power;
-+              led-failsafe = &led_power;
-+              led-running = &led_power;
-+              led-upgrade = &led_power;
-               serial0 = &uart0;
-       };
-       leds {
-               compatible = "gpio-leds";
--              led-power {
-+              led_power: led-power {
-                       label = "dsmg600:green:power";
-                       gpios = <&gpio0 0 GPIO_ACTIVE_HIGH>;
-                       default-state = "on";
--                      linux,default-trigger = "heartbeat";
-               };
-               led-wlan {
-                       label = "dsmg600:green:wlan";
-@@ -48,7 +51,7 @@
-                       gpios = <&gpio0 14 GPIO_ACTIVE_LOW>;
-                       default-state = "on";
-                       /* We don't have WLAN trigger in the kernel (yet) */
--                      linux,default-trigger = "netdev";
-+                      linux,default-trigger = "phy0tx";
-               };
-       };
---- a/arch/arm/boot/dts/intel/ixp/intel-ixp42x-freecom-fsg-3.dts
-+++ b/arch/arm/boot/dts/intel/ixp/intel-ixp42x-freecom-fsg-3.dts
-@@ -29,6 +29,10 @@
-       };
-       aliases {
-+              led-boot = &led_ring;
-+              led-failsafe = &led_sync;
-+              led-running = &led_ring;
-+              led-upgrade = &led_sync;
-               serial0 = &uart0;
-       };
-@@ -112,7 +116,7 @@
-                                       reg = <0x00 0x02>;
-                                       mask = <0x01>;
-                                       label = "fsg:blue:wlan";
--                                      linux,default-trigger = "wlan";
-+                                      linux,default-trigger = "phy0tx";
-                                       default-state = "on";
-                               };
-                               led@0,1 {
-@@ -139,7 +143,7 @@
-                                       linux,default-trigger = "";
-                                       default-state = "on";
-                               };
--                              led@0,4 {
-+                              led_sync: led@0,4 {
-                                       compatible = "register-bit-led";
-                                       reg = <0x00 0x02>;
-                                       mask = <0x08>;
-@@ -147,7 +151,7 @@
-                                       linux,default-trigger = "";
-                                       default-state = "on";
-                               };
--                              led@0,5 {
-+                              led_ring: led@0,5 {
-                                       compatible = "register-bit-led";
-                                       reg = <0x00 0x02>;
-                                       mask = <0x10>;
---- a/arch/arm/boot/dts/intel/ixp/intel-ixp42x-gateworks-gw2348.dts
-+++ b/arch/arm/boot/dts/intel/ixp/intel-ixp42x-gateworks-gw2348.dts
-@@ -26,12 +26,16 @@
-       };
-       aliases {
-+              led-boot = &usr_led;
-+              led-failsafe = &usr_led;
-+              led-running = &usr_led;
-+              led-upgrade = &usr_led;
-               serial0 = &uart0;
-       };
-       leds {
-               compatible = "gpio-leds";
--              led-user {
-+              usr_led: led-user {
-                       label = "gw2348:green:user";
-                       gpios = <&gpio0 3 GPIO_ACTIVE_LOW>;
-                       default-state = "on";
---- a/arch/arm/boot/dts/intel/ixp/intel-ixp42x-iomega-nas100d.dts
-+++ b/arch/arm/boot/dts/intel/ixp/intel-ixp42x-iomega-nas100d.dts
-@@ -26,6 +26,10 @@
-       };
-       aliases {
-+              led-boot = &pwr_led;
-+              led-failsafe = &pwr_led;
-+              led-running = &pwr_led;
-+              led-upgrade = &pwr_led;
-               serial0 = &uart0;
-       };
-@@ -36,7 +40,7 @@
-                       gpios = <&gpio0 0 GPIO_ACTIVE_HIGH>;
-                       default-state = "on";
-                       /* We don't have WLAN trigger in the kernel (yet) */
--                      linux,default-trigger = "netdev";
-+                      linux,default-trigger = "phy0tx";
-               };
-               led-disk {
-                       label = "nas100d:red:disk";
-@@ -44,11 +48,10 @@
-                       default-state = "on";
-                       linux,default-trigger = "disk-activity";
-               };
--              led-power {
-+              pwr_led: led-power {
-                       label = "nas100d:red:power";
-                       gpios = <&gpio0 15 GPIO_ACTIVE_LOW>;
-                       default-state = "on";
--                      linux,default-trigger = "heartbeat";
-               };
-       };
---- a/arch/arm/boot/dts/intel/ixp/intel-ixp42x-linksys-nslu2.dts
-+++ b/arch/arm/boot/dts/intel/ixp/intel-ixp42x-linksys-nslu2.dts
-@@ -26,18 +26,21 @@
-       };
-       aliases {
-+              led-boot = &led_status;
-+              led-failsafe = &led_status;
-+              led-running = &led_ready;
-+              led-upgrade = &led_status;
-               serial0 = &uart0;
-       };
-       leds {
-               compatible = "gpio-leds";
--              led-status {
-+              led_status: led-status {
-                       label = "nslu2:red:status";
-                       gpios = <&gpio0 0 GPIO_ACTIVE_HIGH>;
-                       default-state = "on";
--                      linux,default-trigger = "heartbeat";
-               };
--              led-ready {
-+              led_ready: led-ready {
-                       label = "nslu2:green:ready";
-                       gpios = <&gpio0 1 GPIO_ACTIVE_HIGH>;
-                       default-state = "on";
---- a/arch/arm/boot/dts/intel/ixp/intel-ixp42x-netgear-wg302v1.dts
-+++ b/arch/arm/boot/dts/intel/ixp/intel-ixp42x-netgear-wg302v1.dts
-@@ -29,6 +29,9 @@
-       };
-       aliases {
-+              led-boot = &test_led;
-+              led-failsafe = &test_led;
-+              led-upgrade = &test_led;
-               /* These are switched around */
-               serial0 = &uart1;
-       };
---- a/arch/arm/boot/dts/intel/ixp/intel-ixp42x-usrobotics-usr8200.dts
-+++ b/arch/arm/boot/dts/intel/ixp/intel-ixp42x-usrobotics-usr8200.dts
-@@ -29,6 +29,10 @@
-       };
-       aliases {
-+              led-boot = &pwr_led;
-+              led-failsafe = &pwr_led;
-+              led-running = &pwr_led;
-+              led-upgrade = &pwr_led;
-               /* These are switched around */
-               serial0 = &uart1;
-               serial1 = &uart0;
-@@ -67,7 +71,6 @@
-                       label = "usr8200:green:pwr";
-                       gpios = <&gpio0 14 GPIO_ACTIVE_HIGH>;
-                       default-state = "on";
--                      linux,default-trigger = "heartbeat";
-               };
-       };
---- a/arch/arm/boot/dts/intel/ixp/intel-ixp43x-gateworks-gw2358.dts
-+++ b/arch/arm/boot/dts/intel/ixp/intel-ixp43x-gateworks-gw2358.dts
-@@ -25,12 +25,16 @@
-       };
-       aliases {
-+              led-boot = &usr_led;
-+              led-failsafe = &usr_led;
-+              led-running = &usr_led;
-+              led-upgrade = &usr_led;
-               serial0 = &uart0;
-       };
-       leds {
-               compatible = "gpio-leds";
--              led-user {
-+              usr_led: led-user {
-                       label = "gw2358:green:LED";
-                       gpios = <&pld1 0 GPIO_ACTIVE_LOW>;
-                       default-state = "on";