From: Markus Stockhausen Date: Mon, 28 Jul 2025 14:16:24 +0000 (-0400) Subject: realtek: add NAND hardware description to RTL93xx X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=refs%2Fpull%2F19583%2Fhead;p=thirdparty%2Fopenwrt.git realtek: add NAND hardware description to RTL93xx Include the NAND specs into the DTS. It is unclear which devices really need it. Keep it disabled for now. As the SoC register area is defined too small until now, increase the size to an appropriate value. If enabled one can see the following log messages (e.g. Linksys LGS328C or LGS352C). [ 1.206600] spi-nand spi1.0: Macronix SPI NAND was found. [ 1.212795] spi-nand spi1.0: 128 MiB, block size: 128 KiB, page size: 2048, OOB size: 64 [ 1.222217] 3 fixed-partitions partitions found on MTD device spi1.0 [ 1.229466] OF: Bad cell count for /soc/spi@1a400/flash@0/partitions [ 1.236617] OF: Bad cell count for /soc/spi@1a400/flash@0/partitions [ 1.244164] Creating 3 MTD partitions on "spi1.0": [ 1.249620] 0x000000000000-0x000004000000 : "ubifs" [ 1.423593] 0x000004000000-0x000005e00000 : "firmware" [ 1.738268] mtdsplit_uimage: no uImage found in "firmware" [ 1.744577] 0x000005e00000-0x000007c00000 : "runtime2" Signed-off-by: Markus Stockhausen Link: https://github.com/openwrt/openwrt/pull/19583 Signed-off-by: Robert Marko --- diff --git a/target/linux/realtek/dts/rtl930x.dtsi b/target/linux/realtek/dts/rtl930x.dtsi index 947f0d9be5f..31fe3ffd8bf 100644 --- a/target/linux/realtek/dts/rtl930x.dtsi +++ b/target/linux/realtek/dts/rtl930x.dtsi @@ -59,7 +59,7 @@ compatible = "simple-bus"; #address-cells = <1>; #size-cells = <1>; - ranges = <0x0 0x18000000 0x10000>; + ranges = <0x0 0x18000000 0x20000>; intc: interrupt-controller@3000 { compatible = "realtek,rtl9300-intc", "realtek,rtl-intc"; @@ -71,6 +71,18 @@ interrupts = <2>, <3>, <4>, <5>, <6>, <7>; }; + snand: spi@1a400 { + compatible = "realtek,rtl9301-snand"; + reg = <0x1a400 0x44>; + interrupt-parent = <&intc>; + interrupts = <19 2>; + clocks = <&lx_clk>; + #address-cells = <1>; + #size-cells = <0>; + + status = "disabled"; + }; + spi0: spi@1200 { compatible = "realtek,rtl8380-spi"; reg = <0x1200 0x100>; diff --git a/target/linux/realtek/dts/rtl931x.dtsi b/target/linux/realtek/dts/rtl931x.dtsi index df85112464b..86634d6c16b 100644 --- a/target/linux/realtek/dts/rtl931x.dtsi +++ b/target/linux/realtek/dts/rtl931x.dtsi @@ -95,7 +95,7 @@ compatible = "simple-bus"; #address-cells = <1>; #size-cells = <1>; - ranges = <0x0 0x18000000 0x10000>; + ranges = <0x0 0x18000000 0x20000>; spi0: spi@1200 { status = "okay"; @@ -107,6 +107,18 @@ #size-cells = <0>; }; + snand: spi@1a400 { + compatible = "realtek,rtl9301-snand"; + reg = <0x1a400 0x44>; + interrupt-parent = <&gic>; + interrupts = ; + clocks = <&lx_clk>; + #address-cells = <1>; + #size-cells = <0>; + + status = "disabled"; + }; + watchdog0: watchdog@3260 { compatible = "realtek,rtl9310-wdt"; reg = <0x3260 0xc>;