This adds the NAND flash chip description for a standard chip found
connected to this SoC. This makes use of generic Broadcom NAND driver
with the iProc interface.

Signed-off-by: Hauke Mehrtens <ha...@hauke-m.de>
---

This would be the patch when we completely change to device tree only 
for the nand flash controller.

 arch/arm/boot/dts/bcm4708-asus-rt-ac56u.dts        |  4 +++
 arch/arm/boot/dts/bcm4708-asus-rt-ac68u.dts        |  4 +++
 arch/arm/boot/dts/bcm4708-buffalo-wzr-1750dhp.dts  |  4 +++
 arch/arm/boot/dts/bcm4708-luxul-xwc-1000.dts       |  8 ++---
 arch/arm/boot/dts/bcm4708-netgear-r6250.dts        |  4 +++
 arch/arm/boot/dts/bcm4708-netgear-r6300-v2.dts     |  4 +++
 arch/arm/boot/dts/bcm4708-smartrg-sr400ac.dts      |  4 +++
 arch/arm/boot/dts/bcm47081-asus-rt-n18u.dts        |  4 +++
 arch/arm/boot/dts/bcm47081-buffalo-wzr-600dhp2.dts |  4 +++
 arch/arm/boot/dts/bcm47081-buffalo-wzr-900dhp.dts  |  4 +++
 arch/arm/boot/dts/bcm4709-buffalo-wxr-1900dhp.dts  |  4 +++
 arch/arm/boot/dts/bcm4709-netgear-r8000.dts        |  4 +++
 arch/arm/boot/dts/bcm5301x.dtsi                    | 38 +++++++++++++++-------
 13 files changed, 74 insertions(+), 16 deletions(-)

diff --git a/arch/arm/boot/dts/bcm4708-asus-rt-ac56u.dts 
b/arch/arm/boot/dts/bcm4708-asus-rt-ac56u.dts
index 71cff8d..f9e187f 100644
--- a/arch/arm/boot/dts/bcm4708-asus-rt-ac56u.dts
+++ b/arch/arm/boot/dts/bcm4708-asus-rt-ac56u.dts
@@ -23,6 +23,10 @@
                reg = <0x00000000 0x08000000>;
        };
 
+       nand: nand@18028000 {
+               status = "ok";
+       };
+
        leds {
                compatible = "gpio-leds";
 
diff --git a/arch/arm/boot/dts/bcm4708-asus-rt-ac68u.dts 
b/arch/arm/boot/dts/bcm4708-asus-rt-ac68u.dts
index 8b62836..0559dcf 100644
--- a/arch/arm/boot/dts/bcm4708-asus-rt-ac68u.dts
+++ b/arch/arm/boot/dts/bcm4708-asus-rt-ac68u.dts
@@ -23,6 +23,10 @@
                reg = <0x00000000 0x08000000>;
        };
 
+       nand: nand@18028000 {
+               status = "ok";
+       };
+
        leds {
                compatible = "gpio-leds";
 
diff --git a/arch/arm/boot/dts/bcm4708-buffalo-wzr-1750dhp.dts 
b/arch/arm/boot/dts/bcm4708-buffalo-wzr-1750dhp.dts
index 78e95c0..6e1ab06 100644
--- a/arch/arm/boot/dts/bcm4708-buffalo-wzr-1750dhp.dts
+++ b/arch/arm/boot/dts/bcm4708-buffalo-wzr-1750dhp.dts
@@ -23,6 +23,10 @@
                reg = <0x00000000 0x08000000>;
        };
 
+       nand: nand@18028000 {
+               status = "ok";
+       };
+
        spi {
                compatible = "spi-gpio";
                num-chipselects = <1>;
diff --git a/arch/arm/boot/dts/bcm4708-luxul-xwc-1000.dts 
b/arch/arm/boot/dts/bcm4708-luxul-xwc-1000.dts
index 946c728..1aa141c 100644
--- a/arch/arm/boot/dts/bcm4708-luxul-xwc-1000.dts
+++ b/arch/arm/boot/dts/bcm4708-luxul-xwc-1000.dts
@@ -23,12 +23,10 @@
                reg = <0x00000000 0x08000000>;
        };
 
-       axi@18000000 {
-               nand@28000 {
-                       reg = <0x00028000 0x1000>;
-                       #address-cells = <1>;
-                       #size-cells = <1>;
+       nand: nand@18028000 {
+               status = "ok";
 
+               nandcs@0 {
                        partition@0 {
                                label = "ubi";
                                reg = <0x00000000 0x08000000>;
diff --git a/arch/arm/boot/dts/bcm4708-netgear-r6250.dts 
b/arch/arm/boot/dts/bcm4708-netgear-r6250.dts
index 2ed9e57..236e0ee 100644
--- a/arch/arm/boot/dts/bcm4708-netgear-r6250.dts
+++ b/arch/arm/boot/dts/bcm4708-netgear-r6250.dts
@@ -33,6 +33,10 @@
                };
        };
 
+       nand: nand@18028000 {
+               status = "ok";
+       };
+
        leds {
                compatible = "gpio-leds";
 
diff --git a/arch/arm/boot/dts/bcm4708-netgear-r6300-v2.dts 
b/arch/arm/boot/dts/bcm4708-netgear-r6300-v2.dts
index 3991042..d36eee5 100644
--- a/arch/arm/boot/dts/bcm4708-netgear-r6300-v2.dts
+++ b/arch/arm/boot/dts/bcm4708-netgear-r6300-v2.dts
@@ -23,6 +23,10 @@
                reg = <0x00000000 0x08000000>;
        };
 
+       nand: nand@18028000 {
+               status = "ok";
+       };
+
        leds {
                compatible = "gpio-leds";
 
diff --git a/arch/arm/boot/dts/bcm4708-smartrg-sr400ac.dts 
b/arch/arm/boot/dts/bcm4708-smartrg-sr400ac.dts
index 66dfb53..bd4ad04 100644
--- a/arch/arm/boot/dts/bcm4708-smartrg-sr400ac.dts
+++ b/arch/arm/boot/dts/bcm4708-smartrg-sr400ac.dts
@@ -23,6 +23,10 @@
                reg = <0x00000000 0x08000000>;
        };
 
+       nand: nand@18028000 {
+               status = "ok";
+       };
+
        leds {
                compatible = "gpio-leds";
 
diff --git a/arch/arm/boot/dts/bcm47081-asus-rt-n18u.dts 
b/arch/arm/boot/dts/bcm47081-asus-rt-n18u.dts
index 0ee85ea..815d3b7 100644
--- a/arch/arm/boot/dts/bcm47081-asus-rt-n18u.dts
+++ b/arch/arm/boot/dts/bcm47081-asus-rt-n18u.dts
@@ -23,6 +23,10 @@
                reg = <0x00000000 0x08000000>;
        };
 
+       nand: nand@18028000 {
+               status = "ok";
+       };
+
        leds {
                compatible = "gpio-leds";
 
diff --git a/arch/arm/boot/dts/bcm47081-buffalo-wzr-600dhp2.dts 
b/arch/arm/boot/dts/bcm47081-buffalo-wzr-600dhp2.dts
index db9131e..488d2b6 100644
--- a/arch/arm/boot/dts/bcm47081-buffalo-wzr-600dhp2.dts
+++ b/arch/arm/boot/dts/bcm47081-buffalo-wzr-600dhp2.dts
@@ -23,6 +23,10 @@
                reg = <0x00000000 0x08000000>;
        };
 
+       nand: nand@18028000 {
+               status = "ok";
+       };
+
        spi {
                compatible = "spi-gpio";
                num-chipselects = <1>;
diff --git a/arch/arm/boot/dts/bcm47081-buffalo-wzr-900dhp.dts 
b/arch/arm/boot/dts/bcm47081-buffalo-wzr-900dhp.dts
index 7d6868a..547a70a 100644
--- a/arch/arm/boot/dts/bcm47081-buffalo-wzr-900dhp.dts
+++ b/arch/arm/boot/dts/bcm47081-buffalo-wzr-900dhp.dts
@@ -23,6 +23,10 @@
                reg = <0x00000000 0x08000000>;
        };
 
+       nand: nand@18028000 {
+               status = "ok";
+       };
+
        gpio-keys {
                compatible = "gpio-keys";
                #address-cells = <1>;
diff --git a/arch/arm/boot/dts/bcm4709-buffalo-wxr-1900dhp.dts 
b/arch/arm/boot/dts/bcm4709-buffalo-wxr-1900dhp.dts
index 548e93b..ad2b27f 100644
--- a/arch/arm/boot/dts/bcm4709-buffalo-wxr-1900dhp.dts
+++ b/arch/arm/boot/dts/bcm4709-buffalo-wxr-1900dhp.dts
@@ -23,6 +23,10 @@
                reg = <0x00000000 0x08000000>;
        };
 
+       nand: nand@18028000 {
+               status = "ok";
+       };
+
        leds {
                compatible = "gpio-leds";
 
diff --git a/arch/arm/boot/dts/bcm4709-netgear-r8000.dts 
b/arch/arm/boot/dts/bcm4709-netgear-r8000.dts
index ea26dd3..ff50fd4 100644
--- a/arch/arm/boot/dts/bcm4709-netgear-r8000.dts
+++ b/arch/arm/boot/dts/bcm4709-netgear-r8000.dts
@@ -23,6 +23,10 @@
                reg = <0x00000000 0x08000000>;
        };
 
+       nand: nand@18028000 {
+               status = "ok";
+       };
+
        leds {
                compatible = "gpio-leds";
 
diff --git a/arch/arm/boot/dts/bcm5301x.dtsi b/arch/arm/boot/dts/bcm5301x.dtsi
index 78aec62..cb86748 100644
--- a/arch/arm/boot/dts/bcm5301x.dtsi
+++ b/arch/arm/boot/dts/bcm5301x.dtsi
@@ -124,17 +124,7 @@
                        <0x00026000 0 &gic GIC_SPI 149 IRQ_TYPE_LEVEL_HIGH>,
 
                        /* Ethernet Controller 3 */
-                       <0x00027000 0 &gic GIC_SPI 150 IRQ_TYPE_LEVEL_HIGH>,
-
-                       /* NAND Controller */
-                       <0x00028000 0 &gic GIC_SPI 64 IRQ_TYPE_LEVEL_HIGH>,
-                       <0x00028000 1 &gic GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>,
-                       <0x00028000 2 &gic GIC_SPI 66 IRQ_TYPE_LEVEL_HIGH>,
-                       <0x00028000 3 &gic GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>,
-                       <0x00028000 4 &gic GIC_SPI 68 IRQ_TYPE_LEVEL_HIGH>,
-                       <0x00028000 5 &gic GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>,
-                       <0x00028000 6 &gic GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH>,
-                       <0x00028000 7 &gic GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>;
+                       <0x00027000 0 &gic GIC_SPI 150 IRQ_TYPE_LEVEL_HIGH>;
 
                chipcommon: chipcommon@0 {
                        reg = <0x00000000 0x1000>;
@@ -143,4 +133,30 @@
                        #gpio-cells = <2>;
                };
        };
+
+       nand: nand@18028000 {
+               compatible = "brcm,nand-iproc", "brcm,brcmnand-v6.1", 
"brcm,brcmnand";
+               reg = <0x18028000 0x600>, <0x1811a408 0x600>, <0x18028f00 0x20>;
+               reg-names = "nand", "iproc-idm", "iproc-ext";
+               interrupts = <GIC_SPI 68 IRQ_TYPE_LEVEL_HIGH>;
+
+               status = "disabled";
+
+               #address-cells = <1>;
+               #size-cells = <0>;
+
+               brcm,nand-has-wp;
+
+               nandcs@0 {
+                       compatible = "brcm,nandcs";
+                       reg = <0>;
+                       #address-cells = <1>;
+                       #size-cells = <1>;
+
+                       nand-ecc-strength = <8>;
+                       nand-ecc-step-size = <512>;
+
+                       linux,part-probe = "ofpart", "bcm47xxpart";
+               };
+       };
 };
-- 
2.1.4

--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to