From ed4015375355570984a77de151d6bc2baf58a6ed Mon Sep 17 00:00:00 2001 From: Mikhail Zhilkin Date: Tue, 7 Apr 2026 19:53:33 +0300 Subject: [PATCH] mediatek: cudy nand: fix wrong nmbm configuration Nmbm is mistakenly enabled on ubootmod builds of nand Cudy routers: ------------------------------------------------------------------------ [ 0.923433] spi-nand spi0.0: calibration result: 0x3 [ 0.928485] spi-nand spi0.0: ESMT SPI NAND was found. [ 0.933560] spi-nand spi0.0: 128 MiB, block size: 128 KiB, page size: 2048, OOB size: 64 [ 1.828275] Signature not found ------------------------------------------------------------------------- This commit disables nmbm for such builds. Fixes: eb6dd61 ("mediatek: add cudy wr3000h-v1 ubootmod") Fixes: cfc17e8 ("mediatek: add cudy wr3000e-v1 ubootmod") Fixes: 6b3b7c7 ("mediatek: add cudy wr3000p-v1 ubootmod") Fixes: b7b4938 ("mediatek: add cudy wr3000s-v1 ubootmod") Fixes: 15df98f ("mediatek: add ubootmod layout for Cudy WBR3000UAX v1") Signed-off-by: Mikhail Zhilkin Link: https://github.com/openwrt/openwrt/pull/22832 Signed-off-by: Robert Marko --- target/linux/mediatek/dts/mt7981b-cudy-wbr3000uax-v1.dts | 6 ++++++ target/linux/mediatek/dts/mt7981b-cudy-wr3000-nand.dtsi | 3 --- target/linux/mediatek/dts/mt7981b-cudy-wr3000e-v1.dts | 6 ++++++ target/linux/mediatek/dts/mt7981b-cudy-wr3000h-v1.dts | 6 ++++++ target/linux/mediatek/dts/mt7981b-cudy-wr3000p-v1.dts | 6 ++++++ target/linux/mediatek/dts/mt7981b-cudy-wr3000s-v1.dts | 6 ++++++ 6 files changed, 30 insertions(+), 3 deletions(-) diff --git a/target/linux/mediatek/dts/mt7981b-cudy-wbr3000uax-v1.dts b/target/linux/mediatek/dts/mt7981b-cudy-wbr3000uax-v1.dts index 9402a319de..aac47268d8 100644 --- a/target/linux/mediatek/dts/mt7981b-cudy-wbr3000uax-v1.dts +++ b/target/linux/mediatek/dts/mt7981b-cudy-wbr3000uax-v1.dts @@ -7,3 +7,9 @@ model = "Cudy WBR3000UAX v1"; compatible = "cudy,wbr3000uax-v1", "mediatek,mt7981"; }; + +&spi_nand { + mediatek,nmbm; + mediatek,bmt-max-ratio = <1>; + mediatek,bmt-max-reserved-blocks = <64>; +}; diff --git a/target/linux/mediatek/dts/mt7981b-cudy-wr3000-nand.dtsi b/target/linux/mediatek/dts/mt7981b-cudy-wr3000-nand.dtsi index a3e4c7e4fe..3b505cc740 100644 --- a/target/linux/mediatek/dts/mt7981b-cudy-wr3000-nand.dtsi +++ b/target/linux/mediatek/dts/mt7981b-cudy-wr3000-nand.dtsi @@ -85,9 +85,6 @@ spi-tx-bus-width = <4>; spi-rx-bus-width = <4>; - mediatek,nmbm; - mediatek,bmt-max-ratio = <1>; - mediatek,bmt-max-reserved-blocks = <64>; partitions { compatible = "fixed-partitions"; diff --git a/target/linux/mediatek/dts/mt7981b-cudy-wr3000e-v1.dts b/target/linux/mediatek/dts/mt7981b-cudy-wr3000e-v1.dts index c737ff227c..fcf9d13341 100644 --- a/target/linux/mediatek/dts/mt7981b-cudy-wr3000e-v1.dts +++ b/target/linux/mediatek/dts/mt7981b-cudy-wr3000e-v1.dts @@ -8,3 +8,9 @@ model = "Cudy WR3000E v1"; compatible = "cudy,wr3000e-v1", "mediatek,mt7981"; }; + +&spi_nand { + mediatek,nmbm; + mediatek,bmt-max-ratio = <1>; + mediatek,bmt-max-reserved-blocks = <64>; +}; diff --git a/target/linux/mediatek/dts/mt7981b-cudy-wr3000h-v1.dts b/target/linux/mediatek/dts/mt7981b-cudy-wr3000h-v1.dts index b21cf5206f..497062ec68 100644 --- a/target/linux/mediatek/dts/mt7981b-cudy-wr3000h-v1.dts +++ b/target/linux/mediatek/dts/mt7981b-cudy-wr3000h-v1.dts @@ -8,3 +8,9 @@ model = "Cudy WR3000H v1"; compatible = "cudy,wr3000h-v1", "mediatek,mt7981"; }; + +&spi_nand { + mediatek,nmbm; + mediatek,bmt-max-ratio = <1>; + mediatek,bmt-max-reserved-blocks = <64>; +}; diff --git a/target/linux/mediatek/dts/mt7981b-cudy-wr3000p-v1.dts b/target/linux/mediatek/dts/mt7981b-cudy-wr3000p-v1.dts index 2d1bf97070..50bcecadf3 100644 --- a/target/linux/mediatek/dts/mt7981b-cudy-wr3000p-v1.dts +++ b/target/linux/mediatek/dts/mt7981b-cudy-wr3000p-v1.dts @@ -8,3 +8,9 @@ model = "Cudy WR3000P v1"; compatible = "cudy,wr3000p-v1", "mediatek,mt7981"; }; + +&spi_nand { + mediatek,nmbm; + mediatek,bmt-max-ratio = <1>; + mediatek,bmt-max-reserved-blocks = <64>; +}; diff --git a/target/linux/mediatek/dts/mt7981b-cudy-wr3000s-v1.dts b/target/linux/mediatek/dts/mt7981b-cudy-wr3000s-v1.dts index a61421319c..cc892d821e 100644 --- a/target/linux/mediatek/dts/mt7981b-cudy-wr3000s-v1.dts +++ b/target/linux/mediatek/dts/mt7981b-cudy-wr3000s-v1.dts @@ -8,3 +8,9 @@ model = "Cudy WR3000S v1"; compatible = "cudy,wr3000s-v1", "mediatek,mt7981"; }; + +&spi_nand { + mediatek,nmbm; + mediatek,bmt-max-ratio = <1>; + mediatek,bmt-max-reserved-blocks = <64>; +};