ARM: dts: broadcom: bcmbca: Add NAND controller node
authorWilliam Zhang <william.zhang@broadcom.com>
Fri, 23 Feb 2024 03:47:52 +0000 (19:47 -0800)
committerMiquel Raynal <miquel.raynal@bootlin.com>
Thu, 14 Mar 2024 23:04:16 +0000 (00:04 +0100)
Add support for Broadcom STB NAND controller in BCMBCA ARMv7 chip dts
files.

Signed-off-by: William Zhang <william.zhang@broadcom.com>
Reviewed-by: David Regan <dregan@broadcom.com>
Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
Acked-by: Florian Fainelli <florian.fainelli@broadcom.com>
Link: https://lore.kernel.org/linux-mtd/20240223034758.13753-8-william.zhang@broadcom.com
17 files changed:
arch/arm/boot/dts/broadcom/bcm47622.dtsi
arch/arm/boot/dts/broadcom/bcm63138.dtsi
arch/arm/boot/dts/broadcom/bcm63148.dtsi
arch/arm/boot/dts/broadcom/bcm63178.dtsi
arch/arm/boot/dts/broadcom/bcm6756.dtsi
arch/arm/boot/dts/broadcom/bcm6846.dtsi
arch/arm/boot/dts/broadcom/bcm6855.dtsi
arch/arm/boot/dts/broadcom/bcm6878.dtsi
arch/arm/boot/dts/broadcom/bcm947622.dts
arch/arm/boot/dts/broadcom/bcm963138.dts
arch/arm/boot/dts/broadcom/bcm963138dvt.dts
arch/arm/boot/dts/broadcom/bcm963148.dts
arch/arm/boot/dts/broadcom/bcm963178.dts
arch/arm/boot/dts/broadcom/bcm96756.dts
arch/arm/boot/dts/broadcom/bcm96846.dts
arch/arm/boot/dts/broadcom/bcm96855.dts
arch/arm/boot/dts/broadcom/bcm96878.dts

index 7cd38de..485863f 100644 (file)
                        status = "disabled";
                };
 
+               nand_controller: nand-controller@1800 {
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       compatible = "brcm,nand-bcm63138", "brcm,brcmnand-v7.1", "brcm,brcmnand";
+                       reg = <0x1800 0x600>, <0x2000 0x10>;
+                       reg-names = "nand", "nand-int-base";
+                       status = "disabled";
+
+                       nandcs: nand@0 {
+                               compatible = "brcm,nandcs";
+                               reg = <0>;
+                       };
+               };
+
                uart0: serial@12000 {
                        compatible = "arm,pl011", "arm,primecell";
                        reg = <0x12000 0x1000>;
index 4ef0228..e74ba6b 100644 (file)
                        reg-names = "nand", "nand-int-base";
                        status = "disabled";
                        interrupts = <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>;
-                       interrupt-names = "nand";
+                       interrupt-names = "nand_ctlrdy";
+
+                       nandcs: nand@0 {
+                               compatible = "brcm,nandcs";
+                               reg = <0>;
+                       };
                };
 
                serial@4400 {
index 24431de..5370382 100644 (file)
                        num-cs = <8>;
                        status = "disabled";
                };
+
+               nand_controller: nand-controller@2000 {
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       compatible = "brcm,nand-bcm63138", "brcm,brcmnand-v7.1", "brcm,brcmnand";
+                       reg = <0x2000 0x600>, <0xf0 0x10>;
+                       reg-names = "nand", "nand-int-base";
+                       status = "disabled";
+
+                       nandcs: nand@0 {
+                               compatible = "brcm,nandcs";
+                               reg = <0>;
+                       };
+               };
        };
 };
index 3f9aed9..6d8d334 100644 (file)
                        status = "disabled";
                };
 
+               nand_controller: nand-controller@1800 {
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       compatible = "brcm,nand-bcm63138", "brcm,brcmnand-v7.1", "brcm,brcmnand";
+                       reg = <0x1800 0x600>, <0x2000 0x10>;
+                       reg-names = "nand", "nand-int-base";
+                       status = "disabled";
+
+                       nandcs: nand@0 {
+                               compatible = "brcm,nandcs";
+                               reg = <0>;
+                       };
+               };
+
                uart0: serial@12000 {
                        compatible = "arm,pl011", "arm,primecell";
                        reg = <0x12000 0x1000>;
index 1d8d957..6433f8f 100644 (file)
                        status = "disabled";
                };
 
+               nand_controller: nand-controller@1800 {
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       compatible = "brcm,nand-bcm63138", "brcm,brcmnand-v7.1", "brcm,brcmnand";
+                       reg = <0x1800 0x600>, <0x2000 0x10>;
+                       reg-names = "nand", "nand-int-base";
+                       status = "disabled";
+
+                       nandcs: nand@0 {
+                               compatible = "brcm,nandcs";
+                               reg = <0>;
+                       };
+               };
+
                uart0: serial@12000 {
                        compatible = "arm,pl011", "arm,primecell";
                        reg = <0x12000 0x1000>;
index cf92cf8..ee361cb 100644 (file)
                        num-cs = <8>;
                        status = "disabled";
                };
+
+               nand_controller: nand-controller@1800 {
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       compatible = "brcm,nand-bcm63138", "brcm,brcmnand-v7.1", "brcm,brcmnand";
+                       reg = <0x1800 0x600>, <0x2000 0x10>;
+                       reg-names = "nand", "nand-int-base";
+                       status = "disabled";
+
+                       nandcs: nand@0 {
+                               compatible = "brcm,nandcs";
+                               reg = <0>;
+                       };
+               };
        };
 };
index 52d6bc8..52915ec 100644 (file)
                        status = "disabled";
                };
 
+               nand_controller: nand-controller@1800 {
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       compatible = "brcm,nand-bcm63138", "brcm,brcmnand-v7.1", "brcm,brcmnand";
+                       reg = <0x1800 0x600>, <0x2000 0x10>;
+                       reg-names = "nand", "nand-int-base";
+                       status = "disabled";
+
+                       nandcs: nand@0 {
+                               compatible = "brcm,nandcs";
+                               reg = <0>;
+                       };
+               };
+
                uart0: serial@12000 {
                        compatible = "arm,pl011", "arm,primecell";
                        reg = <0x12000 0x1000>;
index 2c5d706..70cf23a 100644 (file)
                        status = "disabled";
                };
 
+               nand_controller: nand-controller@1800 {
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+                       compatible = "brcm,nand-bcm63138", "brcm,brcmnand-v7.1", "brcm,brcmnand";
+                       reg = <0x1800 0x600>, <0x2000 0x10>;
+                       reg-names = "nand", "nand-int-base";
+                       status = "disabled";
+
+                       nandcs: nand@0 {
+                               compatible = "brcm,nandcs";
+                               reg = <0>;
+                       };
+               };
+
                uart0: serial@12000 {
                        compatible = "arm,pl011", "arm,primecell";
                        reg = <0x12000 0x1000>;
index 93b8ce2..6241485 100644 (file)
 &hsspi {
        status = "okay";
 };
+
+&nand_controller {
+       brcm,wp-not-connected;
+       status = "okay";
+};
+
+&nandcs {
+       nand-on-flash-bbt;
+       brcm,nand-ecc-use-strap;
+};
index 1b405c2..7fd87e0 100644 (file)
 &hsspi {
        status = "okay";
 };
+
+&nand_controller {
+       brcm,wp-not-connected;
+       status = "okay";
+};
+
+&nandcs {
+       nand-on-flash-bbt;
+       brcm,nand-ecc-use-strap;
+};
index b5af618..f60d099 100644 (file)
 };
 
 &nand_controller {
+       brcm,wp-not-connected;
        status = "okay";
+};
 
-       nand@0 {
-               compatible = "brcm,nandcs";
-               reg = <0>;
-               nand-ecc-strength = <4>;
-               nand-ecc-step-size = <512>;
-               brcm,nand-oob-sectors-size = <16>;
-       };
+&nandcs {
+       nand-ecc-strength = <4>;
+       nand-ecc-step-size = <512>;
+       brcm,nand-oob-sector-size = <16>;
+       nand-on-flash-bbt;
 };
 
 &ahci {
index 1f5d6d7..44bca06 100644 (file)
 &hsspi {
        status = "okay";
 };
+
+&nand_controller {
+       brcm,wp-not-connected;
+       status = "okay";
+};
+
+&nandcs {
+       nand-on-flash-bbt;
+       brcm,nand-ecc-use-strap;
+};
index d036e99..098a222 100644 (file)
 &hsspi {
        status = "okay";
 };
+
+&nand_controller {
+       brcm,wp-not-connected;
+       status = "okay";
+};
+
+&nandcs {
+       nand-on-flash-bbt;
+       brcm,nand-ecc-use-strap;
+};
index 8b104f3..402038d 100644 (file)
 &hsspi {
        status = "okay";
 };
+
+&nand_controller {
+       brcm,wp-not-connected;
+       status = "okay";
+};
+
+&nandcs {
+       nand-on-flash-bbt;
+       brcm,nand-ecc-use-strap;
+};
index 55852c2..943896a 100644 (file)
 &hsspi {
        status = "okay";
 };
+
+&nand_controller {
+       brcm,wp-not-connected;
+       status = "okay";
+};
+
+&nandcs {
+       nand-on-flash-bbt;
+       brcm,nand-ecc-use-strap;
+};
index 2ad880a..571663d 100644 (file)
 &hsspi {
        status = "okay";
 };
+
+&nand_controller {
+       brcm,wp-not-connected;
+       status = "okay";
+};
+
+&nandcs {
+       nand-on-flash-bbt;
+       brcm,nand-ecc-use-strap;
+};
index b7af8ad..8d6eddd 100644 (file)
 &hsspi {
        status = "okay";
 };
+
+&nand_controller {
+       brcm,wp-not-connected;
+       status = "okay";
+};
+
+&nandcs {
+       nand-on-flash-bbt;
+       brcm,nand-ecc-use-strap;
+};