]> git.ipfire.org Git - thirdparty/openwrt.git/commitdiff
realtek: add NAND hardware description to RTL93xx 19583/head
authorMarkus Stockhausen <markus.stockhausen@gmx.de>
Mon, 28 Jul 2025 14:16:24 +0000 (10:16 -0400)
committerRobert Marko <robimarko@gmail.com>
Wed, 30 Jul 2025 21:22:24 +0000 (23:22 +0200)
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 <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/19583
Signed-off-by: Robert Marko <robimarko@gmail.com>
target/linux/realtek/dts/rtl930x.dtsi
target/linux/realtek/dts/rtl931x.dtsi

index 947f0d9be5f1991ad1dc1a186bc386f7126fa3d3..31fe3ffd8bf55a086a47109bc0e62fc8181ae1d3 100644 (file)
@@ -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";
                        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>;
index df85112464b75ae62c1bae14e2b50c7457ffeed5..86634d6c16bdf8e4f7edc6a1223e36f2af2e9123 100644 (file)
@@ -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";
                        #size-cells = <0>;
                };
 
+               snand: spi@1a400 {
+                       compatible = "realtek,rtl9301-snand";
+                       reg = <0x1a400 0x44>;
+                       interrupt-parent = <&gic>;
+                       interrupts = <GIC_SHARED 37 IRQ_TYPE_LEVEL_HIGH>;
+                       clocks = <&lx_clk>;
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+
+                       status = "disabled";
+               };
+
                watchdog0: watchdog@3260 {
                        compatible = "realtek,rtl9310-wdt";
                        reg = <0x3260 0xc>;