aboutsummaryrefslogtreecommitdiffstats
path: root/arch/mips/boot
diff options
context:
space:
mode:
authorJaedon Shin <jaedon.shin@gmail.com>2016-08-18 22:52:29 -0400
committerRalf Baechle <ralf@linux-mips.org>2016-10-06 11:31:02 -0400
commitcfc8be04c36a1a6546b6f9cb8f02fd9f215c9d38 (patch)
tree8aa0bbf46d7c3485b992f4a7986659de6bf68882 /arch/mips/boot
parentb2420e2762e36ec3aab0c0b6b9ee277f7b1b48e2 (diff)
MIPS: BMIPS: Add support NAND device nodes
Adds NAND device nodes to BCM7xxx MIPS based SoCs. Signed-off-by: Jaedon Shin <jaedon.shin@gmail.com> Cc: Florian Fainelli <f.fainelli@gmail.com> Cc: Jonas Gorski <jonas.gorski@gmail.com> Cc: Kevin Cernekee <cernekee@gmail.com> Cc: Rob Herring <robh+dt@kernel.org> Cc: MIPS Mailing List <linux-mips@linux-mips.org> Cc: devicetree@vger.kernel.org Patchwork: https://patchwork.linux-mips.org/patch/14003/ Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Diffstat (limited to 'arch/mips/boot')
-rw-r--r--arch/mips/boot/dts/brcm/bcm7346.dtsi20
-rw-r--r--arch/mips/boot/dts/brcm/bcm7358.dtsi20
-rw-r--r--arch/mips/boot/dts/brcm/bcm7360.dtsi20
-rw-r--r--arch/mips/boot/dts/brcm/bcm7362.dtsi20
-rw-r--r--arch/mips/boot/dts/brcm/bcm7425.dtsi20
-rw-r--r--arch/mips/boot/dts/brcm/bcm7435.dtsi20
-rw-r--r--arch/mips/boot/dts/brcm/bcm97346dbsmb.dts5
-rw-r--r--arch/mips/boot/dts/brcm/bcm97358svmb.dts5
-rw-r--r--arch/mips/boot/dts/brcm/bcm97362svmb.dts5
-rw-r--r--arch/mips/boot/dts/brcm/bcm97425svmb.dts5
-rw-r--r--arch/mips/boot/dts/brcm/bcm97435svmb.dts5
-rw-r--r--arch/mips/boot/dts/brcm/bcm97xxx-nand-cs1-bch24.dtsi25
-rw-r--r--arch/mips/boot/dts/brcm/bcm97xxx-nand-cs1-bch4.dtsi25
13 files changed, 195 insertions, 0 deletions
diff --git a/arch/mips/boot/dts/brcm/bcm7346.dtsi b/arch/mips/boot/dts/brcm/bcm7346.dtsi
index 0da4f8a3744b..72d9cffa8927 100644
--- a/arch/mips/boot/dts/brcm/bcm7346.dtsi
+++ b/arch/mips/boot/dts/brcm/bcm7346.dtsi
@@ -372,6 +372,26 @@
372 status = "disabled"; 372 status = "disabled";
373 }; 373 };
374 374
375 hif_l2_intc: interrupt-controller@411000 {
376 compatible = "brcm,l2-intc";
377 reg = <0x411000 0x30>;
378 interrupt-controller;
379 #interrupt-cells = <1>;
380 interrupt-parent = <&periph_intc>;
381 interrupts = <30>;
382 };
383
384 nand: nand@412800 {
385 compatible = "brcm,brcmnand-v5.0", "brcm,brcmnand";
386 #address-cells = <1>;
387 #size-cells = <0>;
388 reg-names = "nand";
389 reg = <0x412800 0x400>;
390 interrupt-parent = <&hif_l2_intc>;
391 interrupts = <24>;
392 status = "disabled";
393 };
394
375 sata: sata@181000 { 395 sata: sata@181000 {
376 compatible = "brcm,bcm7425-ahci", "brcm,sata3-ahci"; 396 compatible = "brcm,bcm7425-ahci", "brcm,sata3-ahci";
377 reg-names = "ahci", "top-ctrl"; 397 reg-names = "ahci", "top-ctrl";
diff --git a/arch/mips/boot/dts/brcm/bcm7358.dtsi b/arch/mips/boot/dts/brcm/bcm7358.dtsi
index aec1b2e7e2ab..7f78bfab164b 100644
--- a/arch/mips/boot/dts/brcm/bcm7358.dtsi
+++ b/arch/mips/boot/dts/brcm/bcm7358.dtsi
@@ -298,5 +298,25 @@
298 interrupts = <66>; 298 interrupts = <66>;
299 status = "disabled"; 299 status = "disabled";
300 }; 300 };
301
302 hif_l2_intc: interrupt-controller@411000 {
303 compatible = "brcm,l2-intc";
304 reg = <0x411000 0x30>;
305 interrupt-controller;
306 #interrupt-cells = <1>;
307 interrupt-parent = <&periph_intc>;
308 interrupts = <30>;
309 };
310
311 nand: nand@412800 {
312 compatible = "brcm,brcmnand-v5.0", "brcm,brcmnand";
313 #address-cells = <1>;
314 #size-cells = <0>;
315 reg-names = "nand";
316 reg = <0x412800 0x400>;
317 interrupt-parent = <&hif_l2_intc>;
318 interrupts = <24>;
319 status = "disabled";
320 };
301 }; 321 };
302}; 322};
diff --git a/arch/mips/boot/dts/brcm/bcm7360.dtsi b/arch/mips/boot/dts/brcm/bcm7360.dtsi
index 9f72d3490427..64b9fd90941d 100644
--- a/arch/mips/boot/dts/brcm/bcm7360.dtsi
+++ b/arch/mips/boot/dts/brcm/bcm7360.dtsi
@@ -291,6 +291,26 @@
291 status = "disabled"; 291 status = "disabled";
292 }; 292 };
293 293
294 hif_l2_intc: interrupt-controller@411000 {
295 compatible = "brcm,l2-intc";
296 reg = <0x411000 0x30>;
297 interrupt-controller;
298 #interrupt-cells = <1>;
299 interrupt-parent = <&periph_intc>;
300 interrupts = <30>;
301 };
302
303 nand: nand@412800 {
304 compatible = "brcm,brcmnand-v5.0", "brcm,brcmnand";
305 #address-cells = <1>;
306 #size-cells = <0>;
307 reg-names = "nand";
308 reg = <0x412800 0x400>;
309 interrupt-parent = <&hif_l2_intc>;
310 interrupts = <24>;
311 status = "disabled";
312 };
313
294 sata: sata@181000 { 314 sata: sata@181000 {
295 compatible = "brcm,bcm7425-ahci", "brcm,sata3-ahci"; 315 compatible = "brcm,bcm7425-ahci", "brcm,sata3-ahci";
296 reg-names = "ahci", "top-ctrl"; 316 reg-names = "ahci", "top-ctrl";
diff --git a/arch/mips/boot/dts/brcm/bcm7362.dtsi b/arch/mips/boot/dts/brcm/bcm7362.dtsi
index ff734f45df92..784d58725227 100644
--- a/arch/mips/boot/dts/brcm/bcm7362.dtsi
+++ b/arch/mips/boot/dts/brcm/bcm7362.dtsi
@@ -287,6 +287,26 @@
287 status = "disabled"; 287 status = "disabled";
288 }; 288 };
289 289
290 hif_l2_intc: interrupt-controller@411000 {
291 compatible = "brcm,l2-intc";
292 reg = <0x411000 0x30>;
293 interrupt-controller;
294 #interrupt-cells = <1>;
295 interrupt-parent = <&periph_intc>;
296 interrupts = <30>;
297 };
298
299 nand: nand@412800 {
300 compatible = "brcm,brcmnand-v5.0", "brcm,brcmnand";
301 #address-cells = <1>;
302 #size-cells = <0>;
303 reg-names = "nand";
304 reg = <0x412800 0x400>;
305 interrupt-parent = <&hif_l2_intc>;
306 interrupts = <24>;
307 status = "disabled";
308 };
309
290 sata: sata@181000 { 310 sata: sata@181000 {
291 compatible = "brcm,bcm7425-ahci", "brcm,sata3-ahci"; 311 compatible = "brcm,bcm7425-ahci", "brcm,sata3-ahci";
292 reg-names = "ahci", "top-ctrl"; 312 reg-names = "ahci", "top-ctrl";
diff --git a/arch/mips/boot/dts/brcm/bcm7425.dtsi b/arch/mips/boot/dts/brcm/bcm7425.dtsi
index 1c8d3b4033a0..7124c9822479 100644
--- a/arch/mips/boot/dts/brcm/bcm7425.dtsi
+++ b/arch/mips/boot/dts/brcm/bcm7425.dtsi
@@ -371,6 +371,26 @@
371 status = "disabled"; 371 status = "disabled";
372 }; 372 };
373 373
374 hif_l2_intc: interrupt-controller@41a000 {
375 compatible = "brcm,l2-intc";
376 reg = <0x41a000 0x30>;
377 interrupt-controller;
378 #interrupt-cells = <1>;
379 interrupt-parent = <&periph_intc>;
380 interrupts = <24>;
381 };
382
383 nand: nand@41b800 {
384 compatible = "brcm,brcmnand-v5.0", "brcm,brcmnand";
385 #address-cells = <1>;
386 #size-cells = <0>;
387 reg-names = "nand";
388 reg = <0x41b800 0x400>;
389 interrupt-parent = <&hif_l2_intc>;
390 interrupts = <24>;
391 status = "disabled";
392 };
393
374 sata: sata@181000 { 394 sata: sata@181000 {
375 compatible = "brcm,bcm7425-ahci", "brcm,sata3-ahci"; 395 compatible = "brcm,bcm7425-ahci", "brcm,sata3-ahci";
376 reg-names = "ahci", "top-ctrl"; 396 reg-names = "ahci", "top-ctrl";
diff --git a/arch/mips/boot/dts/brcm/bcm7435.dtsi b/arch/mips/boot/dts/brcm/bcm7435.dtsi
index 2b28d91762ef..a3648964be3a 100644
--- a/arch/mips/boot/dts/brcm/bcm7435.dtsi
+++ b/arch/mips/boot/dts/brcm/bcm7435.dtsi
@@ -386,6 +386,26 @@
386 status = "disabled"; 386 status = "disabled";
387 }; 387 };
388 388
389 hif_l2_intc: interrupt-controller@41b000 {
390 compatible = "brcm,l2-intc";
391 reg = <0x41b000 0x30>;
392 interrupt-controller;
393 #interrupt-cells = <1>;
394 interrupt-parent = <&periph_intc>;
395 interrupts = <24>;
396 };
397
398 nand: nand@41c800 {
399 compatible = "brcm,brcmnand-v6.2", "brcm,brcmnand";
400 #address-cells = <1>;
401 #size-cells = <0>;
402 reg-names = "nand", "flash-dma";
403 reg = <0x41c800 0x600>, <0x41d000 0x100>;
404 interrupt-parent = <&hif_l2_intc>;
405 interrupts = <24>, <4>;
406 status = "disabled";
407 };
408
389 sata: sata@181000 { 409 sata: sata@181000 {
390 compatible = "brcm,bcm7425-ahci", "brcm,sata3-ahci"; 410 compatible = "brcm,bcm7425-ahci", "brcm,sata3-ahci";
391 reg-names = "ahci", "top-ctrl"; 411 reg-names = "ahci", "top-ctrl";
diff --git a/arch/mips/boot/dts/brcm/bcm97346dbsmb.dts b/arch/mips/boot/dts/brcm/bcm97346dbsmb.dts
index 27c9f127a7ca..e67eaf30de3d 100644
--- a/arch/mips/boot/dts/brcm/bcm97346dbsmb.dts
+++ b/arch/mips/boot/dts/brcm/bcm97346dbsmb.dts
@@ -1,6 +1,7 @@
1/dts-v1/; 1/dts-v1/;
2 2
3/include/ "bcm7346.dtsi" 3/include/ "bcm7346.dtsi"
4/include/ "bcm97xxx-nand-cs1-bch24.dtsi"
4 5
5/ { 6/ {
6 compatible = "brcm,bcm97346dbsmb", "brcm,bcm7346"; 7 compatible = "brcm,bcm97346dbsmb", "brcm,bcm7346";
@@ -93,6 +94,10 @@
93 status = "okay"; 94 status = "okay";
94}; 95};
95 96
97&nand {
98 status = "okay";
99};
100
96&sata { 101&sata {
97 status = "okay"; 102 status = "okay";
98}; 103};
diff --git a/arch/mips/boot/dts/brcm/bcm97358svmb.dts b/arch/mips/boot/dts/brcm/bcm97358svmb.dts
index 757fe9d5f4df..ee4607fae47a 100644
--- a/arch/mips/boot/dts/brcm/bcm97358svmb.dts
+++ b/arch/mips/boot/dts/brcm/bcm97358svmb.dts
@@ -1,6 +1,7 @@
1/dts-v1/; 1/dts-v1/;
2 2
3/include/ "bcm7358.dtsi" 3/include/ "bcm7358.dtsi"
4/include/ "bcm97xxx-nand-cs1-bch4.dtsi"
4 5
5/ { 6/ {
6 compatible = "brcm,bcm97358svmb", "brcm,bcm7358"; 7 compatible = "brcm,bcm97358svmb", "brcm,bcm7358";
@@ -64,3 +65,7 @@
64&ohci0 { 65&ohci0 {
65 status = "okay"; 66 status = "okay";
66}; 67};
68
69&nand {
70 status = "okay";
71};
diff --git a/arch/mips/boot/dts/brcm/bcm97362svmb.dts b/arch/mips/boot/dts/brcm/bcm97362svmb.dts
index 1b9bc4b2d9ae..68fd823868e0 100644
--- a/arch/mips/boot/dts/brcm/bcm97362svmb.dts
+++ b/arch/mips/boot/dts/brcm/bcm97362svmb.dts
@@ -1,6 +1,7 @@
1/dts-v1/; 1/dts-v1/;
2 2
3/include/ "bcm7362.dtsi" 3/include/ "bcm7362.dtsi"
4/include/ "bcm97xxx-nand-cs1-bch4.dtsi"
4 5
5/ { 6/ {
6 compatible = "brcm,bcm97362svmb", "brcm,bcm7362"; 7 compatible = "brcm,bcm97362svmb", "brcm,bcm7362";
@@ -57,6 +58,10 @@
57 status = "okay"; 58 status = "okay";
58}; 59};
59 60
61&nand {
62 status = "okay";
63};
64
60&sata { 65&sata {
61 status = "okay"; 66 status = "okay";
62}; 67};
diff --git a/arch/mips/boot/dts/brcm/bcm97425svmb.dts b/arch/mips/boot/dts/brcm/bcm97425svmb.dts
index 1c6b74daef56..f95ba1bf3e58 100644
--- a/arch/mips/boot/dts/brcm/bcm97425svmb.dts
+++ b/arch/mips/boot/dts/brcm/bcm97425svmb.dts
@@ -1,6 +1,7 @@
1/dts-v1/; 1/dts-v1/;
2 2
3/include/ "bcm7425.dtsi" 3/include/ "bcm7425.dtsi"
4/include/ "bcm97xxx-nand-cs1-bch24.dtsi"
4 5
5/ { 6/ {
6 compatible = "brcm,bcm97425svmb", "brcm,bcm7425"; 7 compatible = "brcm,bcm97425svmb", "brcm,bcm7425";
@@ -95,6 +96,10 @@
95 status = "okay"; 96 status = "okay";
96}; 97};
97 98
99&nand {
100 status = "okay";
101};
102
98&sdhci0 { 103&sdhci0 {
99 status = "okay"; 104 status = "okay";
100}; 105};
diff --git a/arch/mips/boot/dts/brcm/bcm97435svmb.dts b/arch/mips/boot/dts/brcm/bcm97435svmb.dts
index 64bb1988dbc8..fb37b7111bf4 100644
--- a/arch/mips/boot/dts/brcm/bcm97435svmb.dts
+++ b/arch/mips/boot/dts/brcm/bcm97435svmb.dts
@@ -1,6 +1,7 @@
1/dts-v1/; 1/dts-v1/;
2 2
3/include/ "bcm7435.dtsi" 3/include/ "bcm7435.dtsi"
4/include/ "bcm97xxx-nand-cs1-bch24.dtsi"
4 5
5/ { 6/ {
6 compatible = "brcm,bcm97435svmb", "brcm,bcm7435"; 7 compatible = "brcm,bcm97435svmb", "brcm,bcm7435";
@@ -95,6 +96,10 @@
95 status = "okay"; 96 status = "okay";
96}; 97};
97 98
99&nand {
100 status = "okay";
101};
102
98&sata { 103&sata {
99 status = "okay"; 104 status = "okay";
100}; 105};
diff --git a/arch/mips/boot/dts/brcm/bcm97xxx-nand-cs1-bch24.dtsi b/arch/mips/boot/dts/brcm/bcm97xxx-nand-cs1-bch24.dtsi
new file mode 100644
index 000000000000..3c24f97de922
--- /dev/null
+++ b/arch/mips/boot/dts/brcm/bcm97xxx-nand-cs1-bch24.dtsi
@@ -0,0 +1,25 @@
1&nand {
2 nandcs@1 {
3 compatible = "brcm,nandcs";
4 reg = <1>;
5 nand-on-flash-bbt;
6
7 nand-ecc-strength = <24>;
8 nand-ecc-step-size = <1024>;
9 brcm,nand-oob-sector-size = <27>;
10
11 partitions {
12 compatible = "fixed-partitions";
13 #address-cells = <1>;
14 #size-cells = <1>;
15
16 flash1.rootfs@0 {
17 reg = <0x0 0x10000000>;
18 };
19
20 flash1.kernel@10000000 {
21 reg = <0x10000000 0x400000>;
22 };
23 };
24 };
25};
diff --git a/arch/mips/boot/dts/brcm/bcm97xxx-nand-cs1-bch4.dtsi b/arch/mips/boot/dts/brcm/bcm97xxx-nand-cs1-bch4.dtsi
new file mode 100644
index 000000000000..cb531816ef4c
--- /dev/null
+++ b/arch/mips/boot/dts/brcm/bcm97xxx-nand-cs1-bch4.dtsi
@@ -0,0 +1,25 @@
1&nand {
2 nandcs@1 {
3 compatible = "brcm,nandcs";
4 reg = <1>;
5 nand-on-flash-bbt;
6
7 nand-ecc-strength = <4>;
8 nand-ecc-step-size = <512>;
9 brcm,nand-oob-sector-size = <16>;
10
11 partitions {
12 compatible = "fixed-partitions";
13 #address-cells = <1>;
14 #size-cells = <1>;
15
16 flash1.rootfs@0 {
17 reg = <0x0 0x10000000>;
18 };
19
20 flash1.kernel@10000000 {
21 reg = <0x10000000 0x400000>;
22 };
23 };
24 };
25};