From 49451bdf95cef1d5791274a17a2aa077625f6b46 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=81lvaro=20Fern=C3=A1ndez=20Rojas?= Date: Thu, 8 May 2025 17:49:39 +0200 Subject: [PATCH] bmips: update files for kernel 6.12 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Update subtarget configs for kernel 6.12. - Refresh patches for kernel 6.12. - Drop 210-revert-macronix-nand-block-protection.patch since brcmnand no longer implements low level ops. - Adapt bcm63268 gpio switches for 6.12 numbering. - Add b53 pending patches from Jonas Gorski to fix system hangs. Signed-off-by: Álvaro Fernández Rojas --- target/linux/bmips/bcm6318/config-6.12 | 9 +- .../base-files/etc/board.d/03_gpio_switches | 11 +- target/linux/bmips/bcm63268/config-6.12 | 9 +- target/linux/bmips/bcm6328/config-6.12 | 9 +- target/linux/bmips/bcm6358/config-6.12 | 10 +- target/linux/bmips/bcm6362/config-6.12 | 9 +- target/linux/bmips/bcm6368/config-6.12 | 10 +- ...ort-for-bcm6345-style-external-inter.patch | 2 +- ...dsa-b53-do-not-enable-EEE-on-bcm63xx.patch | 41 +++++++ ...-allow-RGMII-for-bcm63xx-RGMII-ports.patch | 34 ++++++ ...202-mips-bmips-tweak-Kconfig-options.patch | 8 +- ...evert-macronix-nand-block-protection.patch | 114 ------------------ .../600-mips-bmips-add-pci-support.patch | 2 +- ...rt-for-Sercomm-MSP430-LED-controller.patch | 14 +-- 14 files changed, 112 insertions(+), 170 deletions(-) create mode 100644 target/linux/bmips/patches-6.12/110-net-dsa-b53-do-not-enable-EEE-on-bcm63xx.patch create mode 100644 target/linux/bmips/patches-6.12/111-net-dsa-b53-allow-RGMII-for-bcm63xx-RGMII-ports.patch delete mode 100644 target/linux/bmips/patches-6.12/210-revert-macronix-nand-block-protection.patch diff --git a/target/linux/bmips/bcm6318/config-6.12 b/target/linux/bmips/bcm6318/config-6.12 index e01970155d6..0851a2eb692 100644 --- a/target/linux/bmips/bcm6318/config-6.12 +++ b/target/linux/bmips/bcm6318/config-6.12 @@ -44,10 +44,9 @@ CONFIG_CPU_RMAP=y CONFIG_CPU_SUPPORTS_32BIT_KERNEL=y CONFIG_CPU_SUPPORTS_CPUFREQ=y CONFIG_CPU_SUPPORTS_HIGHMEM=y -CONFIG_CRASH_CORE=y -CONFIG_CRASH_DUMP=y CONFIG_CRC16=y CONFIG_CRYPTO_DEFLATE=y +CONFIG_CRYPTO_ECB=y CONFIG_CRYPTO_LIB_BLAKE2S_GENERIC=y CONFIG_CRYPTO_LIB_GF128MUL=y CONFIG_CRYPTO_LIB_POLY1305_RSIZE=2 @@ -57,6 +56,7 @@ CONFIG_CRYPTO_LZO=y CONFIG_CRYPTO_ZSTD=y CONFIG_CSRC_R4K=y CONFIG_DEBUG_INFO=y +CONFIG_DMA_NEED_SYNC=y CONFIG_DMA_NONCOHERENT=y CONFIG_DTC=y # CONFIG_DT_BCM93384WVG is not set @@ -124,7 +124,6 @@ CONFIG_IRQ_DOMAIN=y CONFIG_IRQ_FORCED_THREADING=y CONFIG_IRQ_MIPS_CPU=y CONFIG_IRQ_WORK=y -CONFIG_KEXEC_CORE=y # CONFIG_LEDS_SERCOMM_MSP430 is not set CONFIG_LIBFDT=y CONFIG_LOCK_DEBUGGING_SUPPORT=y @@ -209,7 +208,6 @@ CONFIG_PGTABLE_LEVELS=2 CONFIG_PHYLIB=y CONFIG_PHYLIB_LEDS=y CONFIG_PHYLINK=y -CONFIG_PHYSICAL_START=0x80010000 CONFIG_PHY_BCM63XX_USBH=y # CONFIG_PHY_BRCM_SATA is not set CONFIG_PINCTRL=y @@ -229,8 +227,6 @@ CONFIG_POSIX_MQUEUE_SYSCTL=y CONFIG_POWER_RESET=y CONFIG_POWER_RESET_SYSCON=y CONFIG_POWER_SUPPLY=y -CONFIG_PREEMPT_NONE_BUILD=y -CONFIG_PROC_VMCORE=y CONFIG_PTP_1588_CLOCK_OPTIONAL=y CONFIG_QUEUED_RWLOCKS=y CONFIG_QUEUED_SPINLOCKS=y @@ -250,7 +246,6 @@ CONFIG_SGL_ALLOC=y CONFIG_SMP=y CONFIG_SMP_UP=y CONFIG_SOCK_RX_QUEUE_MAPPING=y -CONFIG_SOC_BCM63XX=y CONFIG_SPI=y # CONFIG_SPI_BCM63XX is not set CONFIG_SPI_BCM63XX_HSSPI=y diff --git a/target/linux/bmips/bcm63268/base-files/etc/board.d/03_gpio_switches b/target/linux/bmips/bcm63268/base-files/etc/board.d/03_gpio_switches index 75ac111b0cb..2e754ad498c 100644 --- a/target/linux/bmips/bcm63268/base-files/etc/board.d/03_gpio_switches +++ b/target/linux/bmips/bcm63268/base-files/etc/board.d/03_gpio_switches @@ -2,12 +2,21 @@ . /lib/functions/uci-defaults.sh +KERNEL_MAJOR=$(uname -r | awk -F '.' '{print $1}') +KERNEL_MINOR=$(uname -r | awk -F '.' '{print $2}') + board_config_update +if [ "${KERNEL_MAJOR}" -ge "6" ] && [ "${KERNEL_MINOR}" -ge "12" ]; then + GPIO_BASE=512 +else + GPIO_BASE=460 +fi + case "$(board_name)" in sercomm,h500-s-lowi |\ sercomm,h500-s-vfes) - ucidef_add_gpio_switch "qtn_power" "Quantenna Module Power" "480" "1" + ucidef_add_gpio_switch "qtn_power" "Quantenna Module Power" "$(($GPIO_BASE + 20))" "1" ;; esac diff --git a/target/linux/bmips/bcm63268/config-6.12 b/target/linux/bmips/bcm63268/config-6.12 index 00609efc15f..2cc5a85d08a 100644 --- a/target/linux/bmips/bcm63268/config-6.12 +++ b/target/linux/bmips/bcm63268/config-6.12 @@ -44,10 +44,9 @@ CONFIG_CPU_RMAP=y CONFIG_CPU_SUPPORTS_32BIT_KERNEL=y CONFIG_CPU_SUPPORTS_CPUFREQ=y CONFIG_CPU_SUPPORTS_HIGHMEM=y -CONFIG_CRASH_CORE=y -CONFIG_CRASH_DUMP=y CONFIG_CRC16=y CONFIG_CRYPTO_DEFLATE=y +CONFIG_CRYPTO_ECB=y CONFIG_CRYPTO_HASH_INFO=y CONFIG_CRYPTO_LIB_BLAKE2S_GENERIC=y CONFIG_CRYPTO_LIB_GF128MUL=y @@ -58,6 +57,7 @@ CONFIG_CRYPTO_LZO=y CONFIG_CRYPTO_ZSTD=y CONFIG_CSRC_R4K=y CONFIG_DEBUG_INFO=y +CONFIG_DMA_NEED_SYNC=y CONFIG_DMA_NONCOHERENT=y CONFIG_DTC=y # CONFIG_DT_BCM93384WVG is not set @@ -127,7 +127,6 @@ CONFIG_IRQ_DOMAIN=y CONFIG_IRQ_FORCED_THREADING=y CONFIG_IRQ_MIPS_CPU=y CONFIG_IRQ_WORK=y -CONFIG_KEXEC_CORE=y # CONFIG_LEDS_SERCOMM_MSP430 is not set CONFIG_LIBFDT=y CONFIG_LOCK_DEBUGGING_SUPPORT=y @@ -223,7 +222,6 @@ CONFIG_PGTABLE_LEVELS=2 CONFIG_PHYLIB=y CONFIG_PHYLIB_LEDS=y CONFIG_PHYLINK=y -CONFIG_PHYSICAL_START=0x80010000 CONFIG_PHY_BCM63XX_USBH=y # CONFIG_PHY_BRCM_SATA is not set CONFIG_PINCTRL=y @@ -243,8 +241,6 @@ CONFIG_POSIX_MQUEUE_SYSCTL=y CONFIG_POWER_RESET=y CONFIG_POWER_RESET_SYSCON=y CONFIG_POWER_SUPPLY=y -CONFIG_PREEMPT_NONE_BUILD=y -CONFIG_PROC_VMCORE=y CONFIG_PTP_1588_CLOCK_OPTIONAL=y CONFIG_QUEUED_RWLOCKS=y CONFIG_QUEUED_SPINLOCKS=y @@ -264,7 +260,6 @@ CONFIG_SGL_ALLOC=y CONFIG_SMP=y CONFIG_SMP_UP=y CONFIG_SOCK_RX_QUEUE_MAPPING=y -CONFIG_SOC_BCM63XX=y CONFIG_SPI=y CONFIG_SPI_BCM63XX=y CONFIG_SPI_BCM63XX_HSSPI=y diff --git a/target/linux/bmips/bcm6328/config-6.12 b/target/linux/bmips/bcm6328/config-6.12 index ac6c5d4ab4d..00582dd2774 100644 --- a/target/linux/bmips/bcm6328/config-6.12 +++ b/target/linux/bmips/bcm6328/config-6.12 @@ -44,10 +44,9 @@ CONFIG_CPU_RMAP=y CONFIG_CPU_SUPPORTS_32BIT_KERNEL=y CONFIG_CPU_SUPPORTS_CPUFREQ=y CONFIG_CPU_SUPPORTS_HIGHMEM=y -CONFIG_CRASH_CORE=y -CONFIG_CRASH_DUMP=y CONFIG_CRC16=y CONFIG_CRYPTO_DEFLATE=y +CONFIG_CRYPTO_ECB=y CONFIG_CRYPTO_HASH_INFO=y CONFIG_CRYPTO_LIB_BLAKE2S_GENERIC=y CONFIG_CRYPTO_LIB_GF128MUL=y @@ -58,6 +57,7 @@ CONFIG_CRYPTO_LZO=y CONFIG_CRYPTO_ZSTD=y CONFIG_CSRC_R4K=y CONFIG_DEBUG_INFO=y +CONFIG_DMA_NEED_SYNC=y CONFIG_DMA_NONCOHERENT=y CONFIG_DTC=y # CONFIG_DT_BCM93384WVG is not set @@ -125,7 +125,6 @@ CONFIG_IRQ_DOMAIN=y CONFIG_IRQ_FORCED_THREADING=y CONFIG_IRQ_MIPS_CPU=y CONFIG_IRQ_WORK=y -CONFIG_KEXEC_CORE=y # CONFIG_LEDS_SERCOMM_MSP430 is not set CONFIG_LIBFDT=y CONFIG_LOCK_DEBUGGING_SUPPORT=y @@ -222,7 +221,6 @@ CONFIG_PGTABLE_LEVELS=2 CONFIG_PHYLIB=y CONFIG_PHYLIB_LEDS=y CONFIG_PHYLINK=y -CONFIG_PHYSICAL_START=0x80010000 CONFIG_PHY_BCM63XX_USBH=y # CONFIG_PHY_BRCM_SATA is not set CONFIG_PINCTRL=y @@ -242,8 +240,6 @@ CONFIG_POSIX_MQUEUE_SYSCTL=y CONFIG_POWER_RESET=y CONFIG_POWER_RESET_SYSCON=y CONFIG_POWER_SUPPLY=y -CONFIG_PREEMPT_NONE_BUILD=y -CONFIG_PROC_VMCORE=y CONFIG_PTP_1588_CLOCK_OPTIONAL=y CONFIG_QUEUED_RWLOCKS=y CONFIG_QUEUED_SPINLOCKS=y @@ -263,7 +259,6 @@ CONFIG_SGL_ALLOC=y CONFIG_SMP=y CONFIG_SMP_UP=y CONFIG_SOCK_RX_QUEUE_MAPPING=y -CONFIG_SOC_BCM63XX=y CONFIG_SPI=y # CONFIG_SPI_BCM63XX is not set CONFIG_SPI_BCM63XX_HSSPI=y diff --git a/target/linux/bmips/bcm6358/config-6.12 b/target/linux/bmips/bcm6358/config-6.12 index 395f68c6c68..9829ecad474 100644 --- a/target/linux/bmips/bcm6358/config-6.12 +++ b/target/linux/bmips/bcm6358/config-6.12 @@ -11,6 +11,7 @@ CONFIG_BCM6345_EXT_IRQ=y CONFIG_BCM6345_L1_IRQ=y CONFIG_BCM6348_ENET=y # CONFIG_BCM6368_ENETSW is not set +# CONFIG_BCM63XX_POWER is not set CONFIG_BCM7038_WDT=y CONFIG_BLK_MQ_PCI=y CONFIG_BLK_PM=y @@ -42,10 +43,9 @@ CONFIG_CPU_RMAP=y CONFIG_CPU_SUPPORTS_32BIT_KERNEL=y CONFIG_CPU_SUPPORTS_CPUFREQ=y CONFIG_CPU_SUPPORTS_HIGHMEM=y -CONFIG_CRASH_CORE=y -CONFIG_CRASH_DUMP=y CONFIG_CRC16=y CONFIG_CRYPTO_DEFLATE=y +CONFIG_CRYPTO_ECB=y CONFIG_CRYPTO_LIB_BLAKE2S_GENERIC=y CONFIG_CRYPTO_LIB_GF128MUL=y CONFIG_CRYPTO_LIB_POLY1305_RSIZE=2 @@ -55,6 +55,7 @@ CONFIG_CRYPTO_LZO=y CONFIG_CRYPTO_ZSTD=y CONFIG_CSRC_R4K=y CONFIG_DEBUG_INFO=y +CONFIG_DMA_NEED_SYNC=y CONFIG_DMA_NONCOHERENT=y CONFIG_DTC=y # CONFIG_DT_BCM93384WVG is not set @@ -122,7 +123,6 @@ CONFIG_IRQ_DOMAIN=y CONFIG_IRQ_FORCED_THREADING=y CONFIG_IRQ_MIPS_CPU=y CONFIG_IRQ_WORK=y -CONFIG_KEXEC_CORE=y # CONFIG_LEDS_SERCOMM_MSP430 is not set CONFIG_LIBFDT=y CONFIG_LOCK_DEBUGGING_SUPPORT=y @@ -205,7 +205,6 @@ CONFIG_PGTABLE_LEVELS=2 CONFIG_PHYLIB=y CONFIG_PHYLIB_LEDS=y CONFIG_PHYLINK=y -CONFIG_PHYSICAL_START=0x80010000 CONFIG_PHY_BCM63XX_USBH=y # CONFIG_PHY_BRCM_SATA is not set CONFIG_PINCTRL=y @@ -223,8 +222,6 @@ CONFIG_POSIX_MQUEUE_SYSCTL=y CONFIG_POWER_RESET=y CONFIG_POWER_RESET_SYSCON=y CONFIG_POWER_SUPPLY=y -CONFIG_PREEMPT_NONE_BUILD=y -CONFIG_PROC_VMCORE=y CONFIG_PTP_1588_CLOCK_OPTIONAL=y CONFIG_QUEUED_RWLOCKS=y CONFIG_QUEUED_SPINLOCKS=y @@ -244,7 +241,6 @@ CONFIG_SGL_ALLOC=y CONFIG_SMP=y CONFIG_SMP_UP=y CONFIG_SOCK_RX_QUEUE_MAPPING=y -# CONFIG_SOC_BCM63XX is not set CONFIG_SPI=y CONFIG_SPI_BCM63XX=y CONFIG_SPI_MASTER=y diff --git a/target/linux/bmips/bcm6362/config-6.12 b/target/linux/bmips/bcm6362/config-6.12 index 06b5e06dd3f..a247ee77b69 100644 --- a/target/linux/bmips/bcm6362/config-6.12 +++ b/target/linux/bmips/bcm6362/config-6.12 @@ -44,10 +44,9 @@ CONFIG_CPU_RMAP=y CONFIG_CPU_SUPPORTS_32BIT_KERNEL=y CONFIG_CPU_SUPPORTS_CPUFREQ=y CONFIG_CPU_SUPPORTS_HIGHMEM=y -CONFIG_CRASH_CORE=y -CONFIG_CRASH_DUMP=y CONFIG_CRC16=y CONFIG_CRYPTO_DEFLATE=y +CONFIG_CRYPTO_ECB=y CONFIG_CRYPTO_HASH_INFO=y CONFIG_CRYPTO_LIB_BLAKE2S_GENERIC=y CONFIG_CRYPTO_LIB_GF128MUL=y @@ -58,6 +57,7 @@ CONFIG_CRYPTO_LZO=y CONFIG_CRYPTO_ZSTD=y CONFIG_CSRC_R4K=y CONFIG_DEBUG_INFO=y +CONFIG_DMA_NEED_SYNC=y CONFIG_DMA_NONCOHERENT=y CONFIG_DTC=y # CONFIG_DT_BCM93384WVG is not set @@ -127,7 +127,6 @@ CONFIG_IRQ_DOMAIN=y CONFIG_IRQ_FORCED_THREADING=y CONFIG_IRQ_MIPS_CPU=y CONFIG_IRQ_WORK=y -CONFIG_KEXEC_CORE=y # CONFIG_LEDS_SERCOMM_MSP430 is not set CONFIG_LIBFDT=y CONFIG_LOCK_DEBUGGING_SUPPORT=y @@ -223,7 +222,6 @@ CONFIG_PGTABLE_LEVELS=2 CONFIG_PHYLIB=y CONFIG_PHYLIB_LEDS=y CONFIG_PHYLINK=y -CONFIG_PHYSICAL_START=0x80010000 CONFIG_PHY_BCM63XX_USBH=y # CONFIG_PHY_BRCM_SATA is not set CONFIG_PINCTRL=y @@ -243,8 +241,6 @@ CONFIG_POSIX_MQUEUE_SYSCTL=y CONFIG_POWER_RESET=y CONFIG_POWER_RESET_SYSCON=y CONFIG_POWER_SUPPLY=y -CONFIG_PREEMPT_NONE_BUILD=y -CONFIG_PROC_VMCORE=y CONFIG_PTP_1588_CLOCK_OPTIONAL=y CONFIG_QUEUED_RWLOCKS=y CONFIG_QUEUED_SPINLOCKS=y @@ -264,7 +260,6 @@ CONFIG_SGL_ALLOC=y CONFIG_SMP=y CONFIG_SMP_UP=y CONFIG_SOCK_RX_QUEUE_MAPPING=y -CONFIG_SOC_BCM63XX=y CONFIG_SPI=y CONFIG_SPI_BCM63XX=y CONFIG_SPI_BCM63XX_HSSPI=y diff --git a/target/linux/bmips/bcm6368/config-6.12 b/target/linux/bmips/bcm6368/config-6.12 index c191ba2a790..ffe3317b506 100644 --- a/target/linux/bmips/bcm6368/config-6.12 +++ b/target/linux/bmips/bcm6368/config-6.12 @@ -12,6 +12,7 @@ CONFIG_BCM6345_EXT_IRQ=y CONFIG_BCM6345_L1_IRQ=y # CONFIG_BCM6348_ENET is not set CONFIG_BCM6368_ENETSW=y +# CONFIG_BCM63XX_POWER is not set CONFIG_BCM7038_WDT=y CONFIG_BLK_MQ_PCI=y CONFIG_BLK_PM=y @@ -43,10 +44,9 @@ CONFIG_CPU_RMAP=y CONFIG_CPU_SUPPORTS_32BIT_KERNEL=y CONFIG_CPU_SUPPORTS_CPUFREQ=y CONFIG_CPU_SUPPORTS_HIGHMEM=y -CONFIG_CRASH_CORE=y -CONFIG_CRASH_DUMP=y CONFIG_CRC16=y CONFIG_CRYPTO_DEFLATE=y +CONFIG_CRYPTO_ECB=y CONFIG_CRYPTO_HASH_INFO=y CONFIG_CRYPTO_LIB_BLAKE2S_GENERIC=y CONFIG_CRYPTO_LIB_GF128MUL=y @@ -57,6 +57,7 @@ CONFIG_CRYPTO_LZO=y CONFIG_CRYPTO_ZSTD=y CONFIG_CSRC_R4K=y CONFIG_DEBUG_INFO=y +CONFIG_DMA_NEED_SYNC=y CONFIG_DMA_NONCOHERENT=y CONFIG_DTC=y # CONFIG_DT_BCM93384WVG is not set @@ -126,7 +127,6 @@ CONFIG_IRQ_DOMAIN=y CONFIG_IRQ_FORCED_THREADING=y CONFIG_IRQ_MIPS_CPU=y CONFIG_IRQ_WORK=y -CONFIG_KEXEC_CORE=y # CONFIG_LEDS_SERCOMM_MSP430 is not set CONFIG_LIBFDT=y CONFIG_LOCK_DEBUGGING_SUPPORT=y @@ -221,7 +221,6 @@ CONFIG_PGTABLE_LEVELS=2 CONFIG_PHYLIB=y CONFIG_PHYLIB_LEDS=y CONFIG_PHYLINK=y -CONFIG_PHYSICAL_START=0x80010000 CONFIG_PHY_BCM63XX_USBH=y # CONFIG_PHY_BRCM_SATA is not set CONFIG_PINCTRL=y @@ -239,8 +238,6 @@ CONFIG_POSIX_MQUEUE_SYSCTL=y CONFIG_POWER_RESET=y CONFIG_POWER_RESET_SYSCON=y CONFIG_POWER_SUPPLY=y -CONFIG_PREEMPT_NONE_BUILD=y -CONFIG_PROC_VMCORE=y CONFIG_PTP_1588_CLOCK_OPTIONAL=y CONFIG_QUEUED_RWLOCKS=y CONFIG_QUEUED_SPINLOCKS=y @@ -260,7 +257,6 @@ CONFIG_SGL_ALLOC=y CONFIG_SMP=y CONFIG_SMP_UP=y CONFIG_SOCK_RX_QUEUE_MAPPING=y -# CONFIG_SOC_BCM63XX is not set CONFIG_SPI=y CONFIG_SPI_BCM63XX=y CONFIG_SPI_MASTER=y diff --git a/target/linux/bmips/patches-6.12/100-irqchip-add-support-for-bcm6345-style-external-inter.patch b/target/linux/bmips/patches-6.12/100-irqchip-add-support-for-bcm6345-style-external-inter.patch index 9516e1c80c7..5829fee2edd 100644 --- a/target/linux/bmips/patches-6.12/100-irqchip-add-support-for-bcm6345-style-external-inter.patch +++ b/target/linux/bmips/patches-6.12/100-irqchip-add-support-for-bcm6345-style-external-inter.patch @@ -50,7 +50,7 @@ Signed-off-by: Jonas Gorski +}; --- a/drivers/irqchip/Kconfig +++ b/drivers/irqchip/Kconfig -@@ -111,6 +111,10 @@ config I8259 +@@ -109,6 +109,10 @@ config I8259 bool select IRQ_DOMAIN diff --git a/target/linux/bmips/patches-6.12/110-net-dsa-b53-do-not-enable-EEE-on-bcm63xx.patch b/target/linux/bmips/patches-6.12/110-net-dsa-b53-do-not-enable-EEE-on-bcm63xx.patch new file mode 100644 index 00000000000..96a9d9ff142 --- /dev/null +++ b/target/linux/bmips/patches-6.12/110-net-dsa-b53-do-not-enable-EEE-on-bcm63xx.patch @@ -0,0 +1,41 @@ +From 2ba8f6d6759ec0bb1eaf3840eb2201a5d4931126 Mon Sep 17 00:00:00 2001 +From: Jonas Gorski +Date: Mon, 19 May 2025 19:45:48 +0200 +Subject: [PATCH] net: dsa: b53: do not enable EEE on bcm63xx + +BCM63xx internal switches do not support EEE, but provide multiple RGMII +ports where external PHYs may be connected. If one of these PHYs are EEE +capable, we may try to enable EEE for the MACs, which then hangs the +system on access of the (non-existent) EEE registers. + +Fix this by checking if the switch actually supports EEE before +attempting to configure it. + +Fixes: 22256b0afb12 ("net: dsa: b53: Move EEE functions to b53") +Signed-off-by: Jonas Gorski +Reviewed-by: Florian Fainelli +--- + drivers/net/dsa/b53/b53_common.c | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +--- a/drivers/net/dsa/b53/b53_common.c ++++ b/drivers/net/dsa/b53/b53_common.c +@@ -2353,6 +2353,9 @@ int b53_eee_init(struct dsa_switch *ds, + { + int ret; + ++ if (!b53_support_eee(ds, port)) ++ return 0; ++ + ret = phy_init_eee(phy, false); + if (ret) + return 0; +@@ -2367,7 +2370,7 @@ bool b53_support_eee(struct dsa_switch * + { + struct b53_device *dev = ds->priv; + +- return !is5325(dev) && !is5365(dev); ++ return !is5325(dev) && !is5365(dev) && !is63xx(dev); + } + EXPORT_SYMBOL(b53_support_eee); + diff --git a/target/linux/bmips/patches-6.12/111-net-dsa-b53-allow-RGMII-for-bcm63xx-RGMII-ports.patch b/target/linux/bmips/patches-6.12/111-net-dsa-b53-allow-RGMII-for-bcm63xx-RGMII-ports.patch new file mode 100644 index 00000000000..8ef8f1c10b8 --- /dev/null +++ b/target/linux/bmips/patches-6.12/111-net-dsa-b53-allow-RGMII-for-bcm63xx-RGMII-ports.patch @@ -0,0 +1,34 @@ +From b1308c8642f6a75b4494370784fba86dd2f0b0e0 Mon Sep 17 00:00:00 2001 +From: Jonas Gorski +Date: Mon, 19 May 2025 19:45:50 +0200 +Subject: [PATCH] net: dsa: b53: allow RGMII for bcm63xx RGMII ports + +Add RGMII to supported interfaces for BCM63xx RGMII ports so they can be +actually used in RGMII mode. + +Without this, phylink will fail to configure them: + +[ 3.580000] b53-switch 10700000.switch GbE3 (uninitialized): validation of rgmii with support 0000000,00000000,00000000,000062ff and advertisement 0000000,00000000,00000000,000062ff failed: -EINVAL +[ 3.600000] b53-switch 10700000.switch GbE3 (uninitialized): failed to connect to PHY: -EINVAL +[ 3.610000] b53-switch 10700000.switch GbE3 (uninitialized): error -22 setting up PHY for tree 0, switch 0, port 4 + +Fixes: ce3bf94871f7 ("net: dsa: b53: add support for BCM63xx RGMIIs") +Signed-off-by: Jonas Gorski +Reviewed-by: Florian Fainelli +--- + drivers/net/dsa/b53/b53_common.c | 4 ++++ + 1 file changed, 4 insertions(+) + +--- a/drivers/net/dsa/b53/b53_common.c ++++ b/drivers/net/dsa/b53/b53_common.c +@@ -1462,6 +1462,10 @@ static void b53_phylink_get_caps(struct + __set_bit(PHY_INTERFACE_MODE_MII, config->supported_interfaces); + __set_bit(PHY_INTERFACE_MODE_REVMII, config->supported_interfaces); + ++ /* BCM63xx RGMII ports support RGMII */ ++ if (is63xx(dev) && port >= B53_63XX_RGMII0) ++ phy_interface_set_rgmii(config->supported_interfaces); ++ + config->mac_capabilities = MAC_ASYM_PAUSE | MAC_SYM_PAUSE | + MAC_10 | MAC_100; + diff --git a/target/linux/bmips/patches-6.12/202-mips-bmips-tweak-Kconfig-options.patch b/target/linux/bmips/patches-6.12/202-mips-bmips-tweak-Kconfig-options.patch index 3c6a0eb7a07..e7a69b81846 100644 --- a/target/linux/bmips/patches-6.12/202-mips-bmips-tweak-Kconfig-options.patch +++ b/target/linux/bmips/patches-6.12/202-mips-bmips-tweak-Kconfig-options.patch @@ -13,7 +13,7 @@ Signed-off-by: Álvaro Fernández Rojas --- a/arch/mips/Kconfig +++ b/arch/mips/Kconfig -@@ -272,19 +272,13 @@ config BMIPS_GENERIC +@@ -259,19 +259,13 @@ config BMIPS_GENERIC select SYNC_R4K select COMMON_CLK select BCM6345_L1_IRQ @@ -33,7 +33,7 @@ Signed-off-by: Álvaro Fernández Rojas select SWAP_IO_SPACE select USB_EHCI_BIG_ENDIAN_DESC if CPU_BIG_ENDIAN select USB_EHCI_BIG_ENDIAN_MMIO if CPU_BIG_ENDIAN -@@ -294,6 +288,7 @@ config BMIPS_GENERIC +@@ -281,6 +275,7 @@ config BMIPS_GENERIC select HAVE_PCI select PCI_DRIVERS_GENERIC select FW_CFE @@ -43,7 +43,7 @@ Signed-off-by: Álvaro Fernández Rojas BCM33xx cable modem chips, BCM63xx DSL chips, and BCM7xxx set-top --- a/drivers/irqchip/Kconfig +++ b/drivers/irqchip/Kconfig -@@ -124,7 +124,6 @@ config BCM6345_L1_IRQ +@@ -122,7 +122,6 @@ config BCM6345_L1_IRQ config BCM7038_L1_IRQ tristate "Broadcom STB 7038-style L1/L2 interrupt controller driver" depends on ARCH_BRCMSTB || BMIPS_GENERIC @@ -51,7 +51,7 @@ Signed-off-by: Álvaro Fernández Rojas select GENERIC_IRQ_CHIP select IRQ_DOMAIN select GENERIC_IRQ_EFFECTIVE_AFF_MASK if SMP -@@ -132,14 +131,12 @@ config BCM7038_L1_IRQ +@@ -130,14 +129,12 @@ config BCM7038_L1_IRQ config BCM7120_L2_IRQ tristate "Broadcom STB 7120-style L2 interrupt controller driver" depends on ARCH_BRCMSTB || BMIPS_GENERIC diff --git a/target/linux/bmips/patches-6.12/210-revert-macronix-nand-block-protection.patch b/target/linux/bmips/patches-6.12/210-revert-macronix-nand-block-protection.patch deleted file mode 100644 index 2298c8ea31e..00000000000 --- a/target/linux/bmips/patches-6.12/210-revert-macronix-nand-block-protection.patch +++ /dev/null @@ -1,114 +0,0 @@ -From 5a37811de679bff03e9c5a746f75574910ede964 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?=C3=81lvaro=20Fern=C3=A1ndez=20Rojas?= -Date: Wed, 22 Mar 2023 20:52:13 +0100 -Subject: [PATCH] Revert "mtd: rawnand: Macronix: Add support for block - protection" -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -This reverts commit 03a539c7a118427a6609a26461358c56ac8f3a06. - -Macronix block protection doesn't seem to be supported on Sercomm H-500s -devices since it hangs the device. - -Signed-off-by: Álvaro Fernández Rojas ---- - drivers/mtd/nand/raw/nand_macronix.c | 72 ---------------------------- - 1 file changed, 72 deletions(-) - ---- a/drivers/mtd/nand/raw/nand_macronix.c -+++ b/drivers/mtd/nand/raw/nand_macronix.c -@@ -13,10 +13,6 @@ - #define MACRONIX_READ_RETRY_BIT BIT(0) - #define MACRONIX_NUM_READ_RETRY_MODES 6 - --#define ONFI_FEATURE_ADDR_MXIC_PROTECTION 0xA0 --#define MXIC_BLOCK_PROTECTION_ALL_LOCK 0x38 --#define MXIC_BLOCK_PROTECTION_ALL_UNLOCK 0x0 -- - #define ONFI_FEATURE_ADDR_MXIC_RANDOMIZER 0xB0 - #define MACRONIX_RANDOMIZER_BIT BIT(1) - #define MACRONIX_RANDOMIZER_ENPGM BIT(0) -@@ -189,73 +185,6 @@ static void macronix_nand_fix_broken_get - ONFI_FEATURE_ADDR_TIMING_MODE, 1); - } - --/* -- * Macronix NAND supports Block Protection by Protectoin(PT) pin; -- * active high at power-on which protects the entire chip even the #WP is -- * disabled. Lock/unlock protection area can be partition according to -- * protection bits, i.e. upper 1/2 locked, upper 1/4 locked and so on. -- */ --static int mxic_nand_lock(struct nand_chip *chip, loff_t ofs, uint64_t len) --{ -- u8 feature[ONFI_SUBFEATURE_PARAM_LEN]; -- int ret; -- -- feature[0] = MXIC_BLOCK_PROTECTION_ALL_LOCK; -- nand_select_target(chip, 0); -- ret = nand_set_features(chip, ONFI_FEATURE_ADDR_MXIC_PROTECTION, -- feature); -- nand_deselect_target(chip); -- if (ret) -- pr_err("%s all blocks failed\n", __func__); -- -- return ret; --} -- --static int mxic_nand_unlock(struct nand_chip *chip, loff_t ofs, uint64_t len) --{ -- u8 feature[ONFI_SUBFEATURE_PARAM_LEN]; -- int ret; -- -- feature[0] = MXIC_BLOCK_PROTECTION_ALL_UNLOCK; -- nand_select_target(chip, 0); -- ret = nand_set_features(chip, ONFI_FEATURE_ADDR_MXIC_PROTECTION, -- feature); -- nand_deselect_target(chip); -- if (ret) -- pr_err("%s all blocks failed\n", __func__); -- -- return ret; --} -- --static void macronix_nand_block_protection_support(struct nand_chip *chip) --{ -- u8 feature[ONFI_SUBFEATURE_PARAM_LEN]; -- int ret; -- -- bitmap_set(chip->parameters.get_feature_list, -- ONFI_FEATURE_ADDR_MXIC_PROTECTION, 1); -- -- feature[0] = MXIC_BLOCK_PROTECTION_ALL_UNLOCK; -- nand_select_target(chip, 0); -- ret = nand_get_features(chip, ONFI_FEATURE_ADDR_MXIC_PROTECTION, -- feature); -- nand_deselect_target(chip); -- if (ret || feature[0] != MXIC_BLOCK_PROTECTION_ALL_LOCK) { -- if (ret) -- pr_err("Block protection check failed\n"); -- -- bitmap_clear(chip->parameters.get_feature_list, -- ONFI_FEATURE_ADDR_MXIC_PROTECTION, 1); -- return; -- } -- -- bitmap_set(chip->parameters.set_feature_list, -- ONFI_FEATURE_ADDR_MXIC_PROTECTION, 1); -- -- chip->ops.lock_area = mxic_nand_lock; -- chip->ops.unlock_area = mxic_nand_unlock; --} -- - static int nand_power_down_op(struct nand_chip *chip) - { - int ret; -@@ -488,7 +417,6 @@ static int macronix_nand_init(struct nan - - macronix_nand_fix_broken_get_timings(chip); - macronix_nand_onfi_init(chip); -- macronix_nand_block_protection_support(chip); - macronix_nand_deep_power_down_support(chip); - macronix_nand_setup_otp(chip); - diff --git a/target/linux/bmips/patches-6.12/600-mips-bmips-add-pci-support.patch b/target/linux/bmips/patches-6.12/600-mips-bmips-add-pci-support.patch index f28dda908d7..76833e3e2db 100644 --- a/target/linux/bmips/patches-6.12/600-mips-bmips-add-pci-support.patch +++ b/target/linux/bmips/patches-6.12/600-mips-bmips-add-pci-support.patch @@ -14,7 +14,7 @@ Signed-off-by: Álvaro Fernández Rojas --- a/arch/mips/Kconfig +++ b/arch/mips/Kconfig -@@ -286,7 +286,6 @@ config BMIPS_GENERIC +@@ -273,7 +273,6 @@ config BMIPS_GENERIC select USB_OHCI_BIG_ENDIAN_MMIO if CPU_BIG_ENDIAN select HARDIRQS_SW_RESEND select HAVE_PCI diff --git a/target/linux/bmips/patches-6.12/700-leds-add-support-for-Sercomm-MSP430-LED-controller.patch b/target/linux/bmips/patches-6.12/700-leds-add-support-for-Sercomm-MSP430-LED-controller.patch index 0b9a29b18f5..8e92e39675c 100644 --- a/target/linux/bmips/patches-6.12/700-leds-add-support-for-Sercomm-MSP430-LED-controller.patch +++ b/target/linux/bmips/patches-6.12/700-leds-add-support-for-Sercomm-MSP430-LED-controller.patch @@ -17,7 +17,7 @@ Signed-off-by: Álvaro Fernández Rojas --- a/drivers/leds/Kconfig +++ b/drivers/leds/Kconfig -@@ -299,6 +299,15 @@ config LEDS_COBALT_RAQ +@@ -328,6 +328,15 @@ config LEDS_COBALT_RAQ help This option enables support for the Cobalt Raq series LEDs. @@ -27,19 +27,19 @@ Signed-off-by: Álvaro Fernández Rojas + depends on SPI + depends on OF + help -+ This option enables support for the Sercomm MSP430G2513 SPI LED ++ This option enables support for the Sercomm MSP430G2513 SPI LED + controllers. + - config LEDS_SUNFIRE - tristate "LED support for SunFire servers." - depends on LEDS_CLASS + config LEDS_SUN50I_A100 + tristate "LED support for Allwinner A100 RGB LED controller" + depends on LEDS_CLASS_MULTICOLOR --- a/drivers/leds/Makefile +++ b/drivers/leds/Makefile -@@ -78,6 +78,7 @@ obj-$(CONFIG_LEDS_POWERNV) += leds-powe +@@ -81,6 +81,7 @@ obj-$(CONFIG_LEDS_POWERNV) += leds-powe obj-$(CONFIG_LEDS_PWM) += leds-pwm.o obj-$(CONFIG_LEDS_REGULATOR) += leds-regulator.o obj-$(CONFIG_LEDS_SC27XX_BLTC) += leds-sc27xx-bltc.o +obj-$(CONFIG_LEDS_SERCOMM_MSP430) += leds-sercomm-msp430.o + obj-$(CONFIG_LEDS_SUN50I_A100) += leds-sun50i-a100.o obj-$(CONFIG_LEDS_ST1202) += leds-st1202.o obj-$(CONFIG_LEDS_SUNFIRE) += leds-sunfire.o - obj-$(CONFIG_LEDS_SYSCON) += leds-syscon.o