aboutsummaryrefslogtreecommitdiffstats
path: root/arch/mips/boot/dts/brcm
diff options
context:
space:
mode:
Diffstat (limited to 'arch/mips/boot/dts/brcm')
-rw-r--r--arch/mips/boot/dts/brcm/Makefile36
-rw-r--r--arch/mips/boot/dts/brcm/bcm3368-netgear-cvg834g.dts22
-rw-r--r--arch/mips/boot/dts/brcm/bcm3368.dtsi101
-rw-r--r--arch/mips/boot/dts/brcm/bcm63268-comtrend-vr-3032u.dts108
-rw-r--r--arch/mips/boot/dts/brcm/bcm63268.dtsi134
-rw-r--r--arch/mips/boot/dts/brcm/bcm6358-neufbox4-sercomm.dts (renamed from arch/mips/boot/dts/brcm/bcm96358nb4ser.dts)1
-rw-r--r--arch/mips/boot/dts/brcm/bcm6362-neufbox6-sercomm.dts22
-rw-r--r--arch/mips/boot/dts/brcm/bcm6362.dtsi134
-rw-r--r--arch/mips/boot/dts/brcm/bcm7125.dtsi34
-rw-r--r--arch/mips/boot/dts/brcm/bcm7346.dtsi97
-rw-r--r--arch/mips/boot/dts/brcm/bcm7358.dtsi89
-rw-r--r--arch/mips/boot/dts/brcm/bcm7360.dtsi89
-rw-r--r--arch/mips/boot/dts/brcm/bcm7362.dtsi89
-rw-r--r--arch/mips/boot/dts/brcm/bcm7420.dtsi42
-rw-r--r--arch/mips/boot/dts/brcm/bcm7425.dtsi109
-rw-r--r--arch/mips/boot/dts/brcm/bcm7435.dtsi109
-rw-r--r--arch/mips/boot/dts/brcm/bcm97125cbmb.dts4
-rw-r--r--arch/mips/boot/dts/brcm/bcm97346dbsmb.dts17
-rw-r--r--arch/mips/boot/dts/brcm/bcm97358svmb.dts13
-rw-r--r--arch/mips/boot/dts/brcm/bcm97360svmb.dts8
-rw-r--r--arch/mips/boot/dts/brcm/bcm97362svmb.dts13
-rw-r--r--arch/mips/boot/dts/brcm/bcm97420c.dts8
-rw-r--r--arch/mips/boot/dts/brcm/bcm97425svmb.dts21
-rw-r--r--arch/mips/boot/dts/brcm/bcm97435svmb.dts21
-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
26 files changed, 1319 insertions, 52 deletions
diff --git a/arch/mips/boot/dts/brcm/Makefile b/arch/mips/boot/dts/brcm/Makefile
index fda9d387cc08..d61bc2aebf69 100644
--- a/arch/mips/boot/dts/brcm/Makefile
+++ b/arch/mips/boot/dts/brcm/Makefile
@@ -1,6 +1,5 @@
1dtb-$(CONFIG_DT_BCM93384WVG) += bcm93384wvg.dtb 1dtb-$(CONFIG_DT_BCM93384WVG) += bcm93384wvg.dtb
2dtb-$(CONFIG_DT_BCM93384WVG_VIPER) += bcm93384wvg_viper.dtb 2dtb-$(CONFIG_DT_BCM93384WVG_VIPER) += bcm93384wvg_viper.dtb
3dtb-$(CONFIG_DT_BCM96358NB4SER) += bcm96358nb4ser.dtb
4dtb-$(CONFIG_DT_BCM96368MVWG) += bcm96368mvwg.dtb 3dtb-$(CONFIG_DT_BCM96368MVWG) += bcm96368mvwg.dtb
5dtb-$(CONFIG_DT_BCM9EJTAGPRB) += bcm9ejtagprb.dtb 4dtb-$(CONFIG_DT_BCM9EJTAGPRB) += bcm9ejtagprb.dtb
6dtb-$(CONFIG_DT_BCM97125CBMB) += bcm97125cbmb.dtb 5dtb-$(CONFIG_DT_BCM97125CBMB) += bcm97125cbmb.dtb
@@ -11,20 +10,29 @@ dtb-$(CONFIG_DT_BCM97362SVMB) += bcm97362svmb.dtb
11dtb-$(CONFIG_DT_BCM97420C) += bcm97420c.dtb 10dtb-$(CONFIG_DT_BCM97420C) += bcm97420c.dtb
12dtb-$(CONFIG_DT_BCM97425SVMB) += bcm97425svmb.dtb 11dtb-$(CONFIG_DT_BCM97425SVMB) += bcm97425svmb.dtb
13dtb-$(CONFIG_DT_BCM97435SVMB) += bcm97435svmb.dtb 12dtb-$(CONFIG_DT_BCM97435SVMB) += bcm97435svmb.dtb
13dtb-$(CONFIG_DT_COMTREND_VR3032U) += bcm63268-comtrend-vr-3032u.dtb
14dtb-$(CONFIG_DT_NETGEAR_CVG834G) += bcm3368-netgear-cvg834g.dtb
15dtb-$(CONFIG_DT_SFR_NEUFBOX4_SERCOMM) += bcm6358-neufbox4-sercomm.dtb
16dtb-$(CONFIG_DT_SFR_NEUFBOX6_SERCOMM) += bcm6362-neufbox6-sercomm.dtb
14 17
15dtb-$(CONFIG_DT_NONE) += \ 18dtb-$(CONFIG_DT_NONE) += \
16 bcm93384wvg.dtb \ 19 bcm3368-netgear-cvg834g.dtb \
17 bcm93384wvg_viper.dtb \ 20 bcm6358-neufbox4-sercomm.dtb \
18 bcm96358nb4ser.dtb \ 21 bcm6362-neufbox6-sercomm.dtb \
19 bcm96368mvwg.dtb \ 22 bcm63268-comtrend-vr-3032u.dtb \
20 bcm9ejtagprb.dtb \ 23 bcm93384wvg.dtb \
21 bcm97125cbmb.dtb \ 24 bcm93384wvg_viper.dtb \
22 bcm97346dbsmb.dtb \ 25 bcm96358nb4ser.dtb \
23 bcm97358svmb.dtb \ 26 bcm96368mvwg.dtb \
24 bcm97360svmb.dtb \ 27 bcm9ejtagprb.dtb \
25 bcm97362svmb.dtb \ 28 bcm97125cbmb.dtb \
26 bcm97420c.dtb \ 29 bcm97346dbsmb.dtb \
27 bcm97425svmb.dtb 30 bcm97358svmb.dtb \
31 bcm97360svmb.dtb \
32 bcm97362svmb.dtb \
33 bcm97420c.dtb \
34 bcm97425svmb.dtb \
35 bcm97435svmb.dtb
28 36
29obj-y += $(patsubst %.dtb, %.dtb.o, $(dtb-y)) 37obj-y += $(patsubst %.dtb, %.dtb.o, $(dtb-y))
30 38
diff --git a/arch/mips/boot/dts/brcm/bcm3368-netgear-cvg834g.dts b/arch/mips/boot/dts/brcm/bcm3368-netgear-cvg834g.dts
new file mode 100644
index 000000000000..2f2e80fdcde8
--- /dev/null
+++ b/arch/mips/boot/dts/brcm/bcm3368-netgear-cvg834g.dts
@@ -0,0 +1,22 @@
1/dts-v1/;
2
3/include/ "bcm3368.dtsi"
4
5/ {
6 compatible = "netgear,cvg834g", "brcm,bcm3368";
7 model = "NETGEAR CVG834G";
8
9 memory@0 {
10 device_type = "memory";
11 reg = <0x00000000 0x02000000>;
12 };
13
14 chosen {
15 bootargs = "console=ttyS0,115200";
16 stdout-path = &uart0;
17 };
18};
19
20&uart0 {
21 status = "okay";
22};
diff --git a/arch/mips/boot/dts/brcm/bcm3368.dtsi b/arch/mips/boot/dts/brcm/bcm3368.dtsi
new file mode 100644
index 000000000000..bee855cb8073
--- /dev/null
+++ b/arch/mips/boot/dts/brcm/bcm3368.dtsi
@@ -0,0 +1,101 @@
1/ {
2 #address-cells = <1>;
3 #size-cells = <1>;
4 compatible = "brcm,bcm3368";
5
6 cpus {
7 #address-cells = <1>;
8 #size-cells = <0>;
9
10 mips-hpt-frequency = <150000000>;
11
12 cpu@0 {
13 compatible = "brcm,bmips4350";
14 device_type = "cpu";
15 reg = <0>;
16 };
17
18 cpu@1 {
19 compatible = "brcm,bmips4350";
20 device_type = "cpu";
21 reg = <1>;
22 };
23 };
24
25 clocks {
26 periph_clk: periph-clk {
27 compatible = "fixed-clock";
28 #clock-cells = <0>;
29 clock-frequency = <50000000>;
30 };
31 };
32
33 aliases {
34 serial0 = &uart0;
35 serial1 = &uart1;
36 };
37
38 cpu_intc: interrupt-controller {
39 #address-cells = <0>;
40 compatible = "mti,cpu-interrupt-controller";
41
42 interrupt-controller;
43 #interrupt-cells = <1>;
44 };
45
46 ubus {
47 #address-cells = <1>;
48 #size-cells = <1>;
49
50 compatible = "simple-bus";
51 ranges;
52
53 periph_cntl: syscon@fff8c000 {
54 compatible = "syscon";
55 reg = <0xfff8c000 0xc>;
56 native-endian;
57 };
58
59 reboot: syscon-reboot@fff8c008 {
60 compatible = "syscon-reboot";
61 regmap = <&periph_cntl>;
62 offset = <0x8>;
63 mask = <0x1>;
64 };
65
66 periph_intc: interrupt-controller@fff8c00c {
67 compatible = "brcm,bcm6345-l1-intc";
68 reg = <0xfff8c00c 0x8>;
69
70 interrupt-controller;
71 #interrupt-cells = <1>;
72
73 interrupt-parent = <&cpu_intc>;
74 interrupts = <2>;
75 };
76
77 uart0: serial@fff8c100 {
78 compatible = "brcm,bcm6345-uart";
79 reg = <0xfff8c100 0x18>;
80
81 interrupt-parent = <&periph_intc>;
82 interrupts = <2>;
83
84 clocks = <&periph_clk>;
85
86 status = "disabled";
87 };
88
89 uart1: serial@fff8c120 {
90 compatible = "brcm,bcm6345-uart";
91 reg = <0xfff8c120 0x18>;
92
93 interrupt-parent = <&periph_intc>;
94 interrupts = <3>;
95
96 clocks = <&periph_clk>;
97
98 status = "disabled";
99 };
100 };
101};
diff --git a/arch/mips/boot/dts/brcm/bcm63268-comtrend-vr-3032u.dts b/arch/mips/boot/dts/brcm/bcm63268-comtrend-vr-3032u.dts
new file mode 100644
index 000000000000..430d35ca33d5
--- /dev/null
+++ b/arch/mips/boot/dts/brcm/bcm63268-comtrend-vr-3032u.dts
@@ -0,0 +1,108 @@
1/dts-v1/;
2
3/include/ "bcm63268.dtsi"
4
5/ {
6 compatible = "comtrend,vr-3032u", "brcm,bcm63268";
7 model = "Comtrend VR-3032u";
8
9 memory@0 {
10 device_type = "memory";
11 reg = <0x00000000 0x04000000>;
12 };
13
14 chosen {
15 bootargs = "console=ttyS0,115200";
16 stdout-path = &uart0;
17 };
18};
19
20&leds0 {
21 status = "ok";
22 brcm,serial-leds;
23 brcm,serial-dat-low;
24 brcm,serial-shift-inv;
25
26 led@0 {
27 reg = <0>;
28 brcm,hardware-controlled;
29 brcm,link-signal-sources = <0>;
30 /* GPHY0 Speed 0 */
31 };
32 led@1 {
33 reg = <1>;
34 brcm,hardware-controlled;
35 brcm,link-signal-sources = <1>;
36 /* GPHY0 Speed 1 */
37 };
38 led@2 {
39 reg = <2>;
40 active-low;
41 label = "vr-3032u:red:inet";
42 };
43 led@3 {
44 reg = <3>;
45 active-low;
46 label = "vr-3032u:green:dsl";
47 };
48 led@4 {
49 reg = <4>;
50 active-low;
51 label = "vr-3032u:green:usb";
52 };
53 led@7 {
54 reg = <7>;
55 active-low;
56 label = "vr-3032u:green:wps";
57 };
58 led@8 {
59 reg = <8>;
60 active-low;
61 label = "vr-3032u:green:inet";
62 };
63 led@9 {
64 reg = <9>;
65 brcm,hardware-controlled;
66 /* EPHY0 Activity */
67 };
68 led@10 {
69 reg = <10>;
70 brcm,hardware-controlled;
71 /* EPHY1 Activity */
72 };
73 led@11 {
74 reg = <11>;
75 brcm,hardware-controlled;
76 /* EPHY2 Activity */
77 };
78 led@12 {
79 reg = <12>;
80 brcm,hardware-controlled;
81 /* GPHY0 Activity */
82 };
83 led@13 {
84 reg = <13>;
85 brcm,hardware-controlled;
86 /* EPHY0 Speed */
87 };
88 led@14 {
89 reg = <14>;
90 brcm,hardware-controlled;
91 /* EPHY1 Speed */
92 };
93 led@15 {
94 reg = <15>;
95 brcm,hardware-controlled;
96 /* EPHY2 Speed */
97 };
98 led@20 {
99 reg = <20>;
100 active-low;
101 label = "vr-3032u:green:power";
102 default-state = "on";
103 };
104};
105
106&uart0 {
107 status = "okay";
108};
diff --git a/arch/mips/boot/dts/brcm/bcm63268.dtsi b/arch/mips/boot/dts/brcm/bcm63268.dtsi
new file mode 100644
index 000000000000..7e6bf2cc0287
--- /dev/null
+++ b/arch/mips/boot/dts/brcm/bcm63268.dtsi
@@ -0,0 +1,134 @@
1/ {
2 #address-cells = <1>;
3 #size-cells = <1>;
4 compatible = "brcm,bcm63268";
5
6 cpus {
7 #address-cells = <1>;
8 #size-cells = <0>;
9
10 mips-hpt-frequency = <200000000>;
11
12 cpu@0 {
13 compatible = "brcm,bmips4350";
14 device_type = "cpu";
15 reg = <0>;
16 };
17
18 cpu@1 {
19 compatible = "brcm,bmips4350";
20 device_type = "cpu";
21 reg = <1>;
22 };
23 };
24
25 clocks {
26 periph_clk: periph-clk {
27 compatible = "fixed-clock";
28 #clock-cells = <0>;
29 clock-frequency = <50000000>;
30 };
31 };
32
33 aliases {
34 serial0 = &uart0;
35 serial1 = &uart1;
36 };
37
38 cpu_intc: interrupt-controller {
39 #address-cells = <0>;
40 compatible = "mti,cpu-interrupt-controller";
41
42 interrupt-controller;
43 #interrupt-cells = <1>;
44 };
45
46 ubus {
47 #address-cells = <1>;
48 #size-cells = <1>;
49
50 compatible = "simple-bus";
51 ranges;
52
53 periph_cntl: syscon@10000000 {
54 compatible = "syscon";
55 reg = <0x10000000 0x14>;
56 native-endian;
57 };
58
59 reboot: syscon-reboot@10000008 {
60 compatible = "syscon-reboot";
61 regmap = <&periph_cntl>;
62 offset = <0x8>;
63 mask = <0x1>;
64 };
65
66 periph_intc: interrupt-controller@10000020 {
67 compatible = "brcm,bcm6345-l1-intc";
68 reg = <0x10000020 0x20>,
69 <0x10000040 0x20>;
70
71 interrupt-controller;
72 #interrupt-cells = <1>;
73
74 interrupt-parent = <&cpu_intc>;
75 interrupts = <2>, <3>;
76 };
77
78 uart0: serial@10000180 {
79 compatible = "brcm,bcm6345-uart";
80 reg = <0x10000180 0x18>;
81
82 interrupt-parent = <&periph_intc>;
83 interrupts = <5>;
84
85 clocks = <&periph_clk>;
86
87 status = "disabled";
88 };
89
90 uart1: serial@100001a0 {
91 compatible = "brcm,bcm6345-uart";
92 reg = <0x100001a0 0x18>;
93
94 interrupt-parent = <&periph_intc>;
95 interrupts = <34>;
96
97 clocks = <&periph_clk>;
98
99 status = "disabled";
100 };
101
102 leds0: led-controller@10001900 {
103 #address-cells = <1>;
104 #size-cells = <0>;
105 compatible = "brcm,bcm6328-leds";
106 reg = <0x10001900 0x24>;
107
108 status = "disabled";
109 };
110
111 ehci: usb@10002500 {
112 compatible = "brcm,bcm63268-ehci", "generic-ehci";
113 reg = <0x10002500 0x100>;
114 big-endian;
115
116 interrupt-parent = <&periph_intc>;
117 interrupts = <10>;
118
119 status = "disabled";
120 };
121
122 ohci: usb@10002600 {
123 compatible = "brcm,bcm63268-ohci", "generic-ohci";
124 reg = <0x10002600 0x100>;
125 big-endian;
126 no-big-frame-no;
127
128 interrupt-parent = <&periph_intc>;
129 interrupts = <9>;
130
131 status = "disabled";
132 };
133 };
134};
diff --git a/arch/mips/boot/dts/brcm/bcm96358nb4ser.dts b/arch/mips/boot/dts/brcm/bcm6358-neufbox4-sercomm.dts
index f412117972e6..702eae2a22a0 100644
--- a/arch/mips/boot/dts/brcm/bcm96358nb4ser.dts
+++ b/arch/mips/boot/dts/brcm/bcm6358-neufbox4-sercomm.dts
@@ -12,6 +12,7 @@
12 }; 12 };
13 13
14 chosen { 14 chosen {
15 bootargs = "console=ttyS0,115200";
15 stdout-path = &uart0; 16 stdout-path = &uart0;
16 }; 17 };
17}; 18};
diff --git a/arch/mips/boot/dts/brcm/bcm6362-neufbox6-sercomm.dts b/arch/mips/boot/dts/brcm/bcm6362-neufbox6-sercomm.dts
new file mode 100644
index 000000000000..480f2a5bf1da
--- /dev/null
+++ b/arch/mips/boot/dts/brcm/bcm6362-neufbox6-sercomm.dts
@@ -0,0 +1,22 @@
1/dts-v1/;
2
3/include/ "bcm6362.dtsi"
4
5/ {
6 compatible = "sfr,nb6-ser", "brcm,bcm6362";
7 model = "SFR NeufBox 6 (Sercomm)";
8
9 memory@0 {
10 device_type = "memory";
11 reg = <0x00000000 0x08000000>;
12 };
13
14 chosen {
15 bootargs = "console=ttyS0,115200";
16 stdout-path = &uart0;
17 };
18};
19
20&uart0 {
21 status = "okay";
22};
diff --git a/arch/mips/boot/dts/brcm/bcm6362.dtsi b/arch/mips/boot/dts/brcm/bcm6362.dtsi
new file mode 100644
index 000000000000..c507da594f2f
--- /dev/null
+++ b/arch/mips/boot/dts/brcm/bcm6362.dtsi
@@ -0,0 +1,134 @@
1/ {
2 #address-cells = <1>;
3 #size-cells = <1>;
4 compatible = "brcm,bcm6362";
5
6 cpus {
7 #address-cells = <1>;
8 #size-cells = <0>;
9
10 mips-hpt-frequency = <200000000>;
11
12 cpu@0 {
13 compatible = "brcm,bmips4350";
14 device_type = "cpu";
15 reg = <0>;
16 };
17
18 cpu@1 {
19 compatible = "brcm,bmips4350";
20 device_type = "cpu";
21 reg = <1>;
22 };
23 };
24
25 clocks {
26 periph_clk: periph-clk {
27 compatible = "fixed-clock";
28 #clock-cells = <0>;
29 clock-frequency = <50000000>;
30 };
31 };
32
33 aliases {
34 serial0 = &uart0;
35 serial1 = &uart1;
36 };
37
38 cpu_intc: interrupt-controller {
39 #address-cells = <0>;
40 compatible = "mti,cpu-interrupt-controller";
41
42 interrupt-controller;
43 #interrupt-cells = <1>;
44 };
45
46 ubus {
47 #address-cells = <1>;
48 #size-cells = <1>;
49
50 compatible = "simple-bus";
51 ranges;
52
53 periph_cntl: syscon@10000000 {
54 compatible = "syscon";
55 reg = <0x10000000 0x14>;
56 native-endian;
57 };
58
59 reboot: syscon-reboot@10000008 {
60 compatible = "syscon-reboot";
61 regmap = <&periph_cntl>;
62 offset = <0x8>;
63 mask = <0x1>;
64 };
65
66 periph_intc: interrupt-controller@10000020 {
67 compatible = "brcm,bcm6345-l1-intc";
68 reg = <0x10000020 0x10>,
69 <0x10000030 0x10>;
70
71 interrupt-controller;
72 #interrupt-cells = <1>;
73
74 interrupt-parent = <&cpu_intc>;
75 interrupts = <2>, <3>;
76 };
77
78 uart0: serial@10000100 {
79 compatible = "brcm,bcm6345-uart";
80 reg = <0x10000100 0x18>;
81
82 interrupt-parent = <&periph_intc>;
83 interrupts = <3>;
84
85 clocks = <&periph_clk>;
86
87 status = "disabled";
88 };
89
90 uart1: serial@10000120 {
91 compatible = "brcm,bcm6345-uart";
92 reg = <0x10000120 0x18>;
93
94 interrupt-parent = <&periph_intc>;
95 interrupts = <4>;
96
97 clocks = <&periph_clk>;
98
99 status = "disabled";
100 };
101
102 leds0: led-controller@10001900 {
103 #address-cells = <1>;
104 #size-cells = <0>;
105 compatible = "brcm,bcm6328-leds";
106 reg = <0x10001900 0x24>;
107
108 status = "disabled";
109 };
110
111 ehci: usb@10002500 {
112 compatible = "brcm,bcm6362-ehci", "generic-ehci";
113 reg = <0x10002500 0x100>;
114 big-endian;
115
116 interrupt-parent = <&periph_intc>;
117 interrupts = <10>;
118
119 status = "disabled";
120 };
121
122 ohci: usb@10002600 {
123 compatible = "brcm,bcm6362-ohci", "generic-ohci";
124 reg = <0x10002600 0x100>;
125 big-endian;
126 no-big-frame-no;
127
128 interrupt-parent = <&periph_intc>;
129 interrupts = <9>;
130
131 status = "disabled";
132 };
133 };
134};
diff --git a/arch/mips/boot/dts/brcm/bcm7125.dtsi b/arch/mips/boot/dts/brcm/bcm7125.dtsi
index 550e1d9e3ee0..bbd00f65ce39 100644
--- a/arch/mips/boot/dts/brcm/bcm7125.dtsi
+++ b/arch/mips/boot/dts/brcm/bcm7125.dtsi
@@ -26,7 +26,7 @@
26 uart0 = &uart0; 26 uart0 = &uart0;
27 }; 27 };
28 28
29 cpu_intc: cpu_intc { 29 cpu_intc: interrupt-controller {
30 #address-cells = <0>; 30 #address-cells = <0>;
31 compatible = "mti,cpu-interrupt-controller"; 31 compatible = "mti,cpu-interrupt-controller";
32 32
@@ -40,6 +40,12 @@
40 #clock-cells = <0>; 40 #clock-cells = <0>;
41 clock-frequency = <81000000>; 41 clock-frequency = <81000000>;
42 }; 42 };
43
44 upg_clk: upg_clk {
45 compatible = "fixed-clock";
46 #clock-cells = <0>;
47 clock-frequency = <27000000>;
48 };
43 }; 49 };
44 50
45 rdb { 51 rdb {
@@ -49,7 +55,7 @@
49 compatible = "simple-bus"; 55 compatible = "simple-bus";
50 ranges = <0 0x10000000 0x01000000>; 56 ranges = <0 0x10000000 0x01000000>;
51 57
52 periph_intc: periph_intc@441400 { 58 periph_intc: interrupt-controller@441400 {
53 compatible = "brcm,bcm7038-l1-intc"; 59 compatible = "brcm,bcm7038-l1-intc";
54 reg = <0x441400 0x30>, <0x441600 0x30>; 60 reg = <0x441400 0x30>, <0x441600 0x30>;
55 61
@@ -60,7 +66,7 @@
60 interrupts = <2>, <3>; 66 interrupts = <2>, <3>;
61 }; 67 };
62 68
63 sun_l2_intc: sun_l2_intc@401800 { 69 sun_l2_intc: interrupt-controller@401800 {
64 compatible = "brcm,l2-intc"; 70 compatible = "brcm,l2-intc";
65 reg = <0x401800 0x30>; 71 reg = <0x401800 0x30>;
66 interrupt-controller; 72 interrupt-controller;
@@ -81,7 +87,7 @@
81 "avd_0", "jtag_0"; 87 "avd_0", "jtag_0";
82 }; 88 };
83 89
84 upg_irq0_intc: upg_irq0_intc@406780 { 90 upg_irq0_intc: interrupt-controller@406780 {
85 compatible = "brcm,bcm7120-l2-intc"; 91 compatible = "brcm,bcm7120-l2-intc";
86 reg = <0x406780 0x8>; 92 reg = <0x406780 0x8>;
87 93
@@ -183,6 +189,26 @@
183 status = "disabled"; 189 status = "disabled";
184 }; 190 };
185 191
192 pwma: pwm@406580 {
193 compatible = "brcm,bcm7038-pwm";
194 reg = <0x406580 0x28>;
195 #pwm-cells = <2>;
196 clocks = <&upg_clk>;
197 status = "disabled";
198 };
199
200 upg_gio: gpio@406700 {
201 compatible = "brcm,brcmstb-gpio";
202 reg = <0x406700 0x80>;
203 #gpio-cells = <2>;
204 #interrupt-cells = <2>;
205 gpio-controller;
206 interrupt-controller;
207 interrupt-parent = <&upg_irq0_intc>;
208 interrupts = <6>;
209 brcm,gpio-bank-widths = <32 32 32 18>;
210 };
211
186 ehci0: usb@488300 { 212 ehci0: usb@488300 {
187 compatible = "brcm,bcm7125-ehci", "generic-ehci"; 213 compatible = "brcm,bcm7125-ehci", "generic-ehci";
188 reg = <0x488300 0x100>; 214 reg = <0x488300 0x100>;
diff --git a/arch/mips/boot/dts/brcm/bcm7346.dtsi b/arch/mips/boot/dts/brcm/bcm7346.dtsi
index ec959061d52e..4bbcc95f1c15 100644
--- a/arch/mips/boot/dts/brcm/bcm7346.dtsi
+++ b/arch/mips/boot/dts/brcm/bcm7346.dtsi
@@ -26,7 +26,7 @@
26 uart0 = &uart0; 26 uart0 = &uart0;
27 }; 27 };
28 28
29 cpu_intc: cpu_intc { 29 cpu_intc: interrupt-controller {
30 #address-cells = <0>; 30 #address-cells = <0>;
31 compatible = "mti,cpu-interrupt-controller"; 31 compatible = "mti,cpu-interrupt-controller";
32 32
@@ -40,6 +40,12 @@
40 #clock-cells = <0>; 40 #clock-cells = <0>;
41 clock-frequency = <81000000>; 41 clock-frequency = <81000000>;
42 }; 42 };
43
44 upg_clk: upg_clk {
45 compatible = "fixed-clock";
46 #clock-cells = <0>;
47 clock-frequency = <27000000>;
48 };
43 }; 49 };
44 50
45 rdb { 51 rdb {
@@ -49,7 +55,7 @@
49 compatible = "simple-bus"; 55 compatible = "simple-bus";
50 ranges = <0 0x10000000 0x01000000>; 56 ranges = <0 0x10000000 0x01000000>;
51 57
52 periph_intc: periph_intc@411400 { 58 periph_intc: interrupt-controller@411400 {
53 compatible = "brcm,bcm7038-l1-intc"; 59 compatible = "brcm,bcm7038-l1-intc";
54 reg = <0x411400 0x30>, <0x411600 0x30>; 60 reg = <0x411400 0x30>, <0x411600 0x30>;
55 61
@@ -60,7 +66,7 @@
60 interrupts = <2>, <3>; 66 interrupts = <2>, <3>;
61 }; 67 };
62 68
63 sun_l2_intc: sun_l2_intc@403000 { 69 sun_l2_intc: interrupt-controller@403000 {
64 compatible = "brcm,l2-intc"; 70 compatible = "brcm,l2-intc";
65 reg = <0x403000 0x30>; 71 reg = <0x403000 0x30>;
66 interrupt-controller; 72 interrupt-controller;
@@ -81,7 +87,7 @@
81 "jtag_0", "svd_0"; 87 "jtag_0", "svd_0";
82 }; 88 };
83 89
84 upg_irq0_intc: upg_irq0_intc@406780 { 90 upg_irq0_intc: interrupt-controller@406780 {
85 compatible = "brcm,bcm7120-l2-intc"; 91 compatible = "brcm,bcm7120-l2-intc";
86 reg = <0x406780 0x8>; 92 reg = <0x406780 0x8>;
87 93
@@ -96,7 +102,7 @@
96 interrupt-names = "upg_main", "upg_bsc"; 102 interrupt-names = "upg_main", "upg_bsc";
97 }; 103 };
98 104
99 upg_aon_irq0_intc: upg_aon_irq0_intc@408b80 { 105 upg_aon_irq0_intc: interrupt-controller@408b80 {
100 compatible = "brcm,bcm7120-l2-intc"; 106 compatible = "brcm,bcm7120-l2-intc";
101 reg = <0x408b80 0x8>; 107 reg = <0x408b80 0x8>;
102 108
@@ -210,6 +216,59 @@
210 status = "disabled"; 216 status = "disabled";
211 }; 217 };
212 218
219 pwma: pwm@406580 {
220 compatible = "brcm,bcm7038-pwm";
221 reg = <0x406580 0x28>;
222 #pwm-cells = <2>;
223 clocks = <&upg_clk>;
224 status = "disabled";
225 };
226
227 pwmb: pwm@406800 {
228 compatible = "brcm,bcm7038-pwm";
229 reg = <0x406800 0x28>;
230 #pwm-cells = <2>;
231 clocks = <&upg_clk>;
232 status = "disabled";
233 };
234
235 aon_pm_l2_intc: interrupt-controller@408440 {
236 compatible = "brcm,l2-intc";
237 reg = <0x408440 0x30>;
238 interrupt-controller;
239 #interrupt-cells = <1>;
240 interrupt-parent = <&periph_intc>;
241 interrupts = <53>;
242 brcm,irq-can-wake;
243 };
244
245 upg_gio: gpio@406700 {
246 compatible = "brcm,brcmstb-gpio";
247 reg = <0x406700 0x60>;
248 #gpio-cells = <2>;
249 #interrupt-cells = <2>;
250 gpio-controller;
251 interrupt-controller;
252 interrupt-parent = <&upg_irq0_intc>;
253 interrupts = <6>;
254 brcm,gpio-bank-widths = <32 32 16>;
255 };
256
257 upg_gio_aon: gpio@408c00 {
258 compatible = "brcm,brcmstb-gpio";
259 reg = <0x408c00 0x60>;
260 #gpio-cells = <2>;
261 #interrupt-cells = <2>;
262 gpio-controller;
263 interrupt-controller;
264 interrupt-parent = <&upg_aon_irq0_intc>;
265 interrupts = <6>;
266 interrupts-extended = <&upg_aon_irq0_intc 6>,
267 <&aon_pm_l2_intc 5>;
268 wakeup-source;
269 brcm,gpio-bank-widths = <27 32 2>;
270 };
271
213 enet0: ethernet@430000 { 272 enet0: ethernet@430000 {
214 phy-mode = "internal"; 273 phy-mode = "internal";
215 phy-handle = <&phy1>; 274 phy-handle = <&phy1>;
@@ -313,6 +372,26 @@
313 status = "disabled"; 372 status = "disabled";
314 }; 373 };
315 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
316 sata: sata@181000 { 395 sata: sata@181000 {
317 compatible = "brcm,bcm7425-ahci", "brcm,sata3-ahci"; 396 compatible = "brcm,bcm7425-ahci", "brcm,sata3-ahci";
318 reg-names = "ahci", "top-ctrl"; 397 reg-names = "ahci", "top-ctrl";
@@ -352,5 +431,13 @@
352 #phy-cells = <0>; 431 #phy-cells = <0>;
353 }; 432 };
354 }; 433 };
434
435 sdhci0: sdhci@413500 {
436 compatible = "brcm,bcm7425-sdhci";
437 reg = <0x413500 0x100>;
438 interrupt-parent = <&periph_intc>;
439 interrupts = <85>;
440 status = "disabled";
441 };
355 }; 442 };
356}; 443};
diff --git a/arch/mips/boot/dts/brcm/bcm7358.dtsi b/arch/mips/boot/dts/brcm/bcm7358.dtsi
index ca57fb5eb122..3e42535c8d29 100644
--- a/arch/mips/boot/dts/brcm/bcm7358.dtsi
+++ b/arch/mips/boot/dts/brcm/bcm7358.dtsi
@@ -20,7 +20,7 @@
20 uart0 = &uart0; 20 uart0 = &uart0;
21 }; 21 };
22 22
23 cpu_intc: cpu_intc { 23 cpu_intc: interrupt-controller {
24 #address-cells = <0>; 24 #address-cells = <0>;
25 compatible = "mti,cpu-interrupt-controller"; 25 compatible = "mti,cpu-interrupt-controller";
26 26
@@ -34,6 +34,12 @@
34 #clock-cells = <0>; 34 #clock-cells = <0>;
35 clock-frequency = <81000000>; 35 clock-frequency = <81000000>;
36 }; 36 };
37
38 upg_clk: upg_clk {
39 compatible = "fixed-clock";
40 #clock-cells = <0>;
41 clock-frequency = <27000000>;
42 };
37 }; 43 };
38 44
39 rdb { 45 rdb {
@@ -43,7 +49,7 @@
43 compatible = "simple-bus"; 49 compatible = "simple-bus";
44 ranges = <0 0x10000000 0x01000000>; 50 ranges = <0 0x10000000 0x01000000>;
45 51
46 periph_intc: periph_intc@411400 { 52 periph_intc: interrupt-controller@411400 {
47 compatible = "brcm,bcm7038-l1-intc"; 53 compatible = "brcm,bcm7038-l1-intc";
48 reg = <0x411400 0x30>; 54 reg = <0x411400 0x30>;
49 55
@@ -54,7 +60,7 @@
54 interrupts = <2>; 60 interrupts = <2>;
55 }; 61 };
56 62
57 sun_l2_intc: sun_l2_intc@403000 { 63 sun_l2_intc: interrupt-controller@403000 {
58 compatible = "brcm,l2-intc"; 64 compatible = "brcm,l2-intc";
59 reg = <0x403000 0x30>; 65 reg = <0x403000 0x30>;
60 interrupt-controller; 66 interrupt-controller;
@@ -75,7 +81,7 @@
75 "avd_0", "jtag_0"; 81 "avd_0", "jtag_0";
76 }; 82 };
77 83
78 upg_irq0_intc: upg_irq0_intc@406600 { 84 upg_irq0_intc: interrupt-controller@406600 {
79 compatible = "brcm,bcm7120-l2-intc"; 85 compatible = "brcm,bcm7120-l2-intc";
80 reg = <0x406600 0x8>; 86 reg = <0x406600 0x8>;
81 87
@@ -90,7 +96,7 @@
90 interrupt-names = "upg_main", "upg_bsc"; 96 interrupt-names = "upg_main", "upg_bsc";
91 }; 97 };
92 98
93 upg_aon_irq0_intc: upg_aon_irq0_intc@408b80 { 99 upg_aon_irq0_intc: interrupt-controller@408b80 {
94 compatible = "brcm,bcm7120-l2-intc"; 100 compatible = "brcm,bcm7120-l2-intc";
95 reg = <0x408b80 0x8>; 101 reg = <0x408b80 0x8>;
96 102
@@ -194,6 +200,59 @@
194 status = "disabled"; 200 status = "disabled";
195 }; 201 };
196 202
203 pwma: pwm@406400 {
204 compatible = "brcm,bcm7038-pwm";
205 reg = <0x406400 0x28>;
206 #pwm-cells = <2>;
207 clocks = <&upg_clk>;
208 status = "disabled";
209 };
210
211 pwmb: pwm@406700 {
212 compatible = "brcm,bcm7038-pwm";
213 reg = <0x406700 0x28>;
214 #pwm-cells = <2>;
215 clocks = <&upg_clk>;
216 status = "disabled";
217 };
218
219 aon_pm_l2_intc: interrupt-controller@408240 {
220 compatible = "brcm,l2-intc";
221 reg = <0x408240 0x30>;
222 interrupt-controller;
223 #interrupt-cells = <1>;
224 interrupt-parent = <&periph_intc>;
225 interrupts = <50>;
226 brcm,irq-can-wake;
227 };
228
229 upg_gio: gpio@406500 {
230 compatible = "brcm,brcmstb-gpio";
231 reg = <0x406500 0xa0>;
232 #gpio-cells = <2>;
233 #interrupt-cells = <2>;
234 gpio-controller;
235 interrupt-controller;
236 interrupt-parent = <&upg_irq0_intc>;
237 interrupts = <6>;
238 brcm,gpio-bank-widths = <32 32 32 29 4>;
239 };
240
241 upg_gio_aon: gpio@408c00 {
242 compatible = "brcm,brcmstb-gpio";
243 reg = <0x408c00 0x60>;
244 #gpio-cells = <2>;
245 #interrupt-cells = <2>;
246 gpio-controller;
247 interrupt-controller;
248 interrupt-parent = <&upg_aon_irq0_intc>;
249 interrupts = <6>;
250 interrupts-extended = <&upg_aon_irq0_intc 6>,
251 <&aon_pm_l2_intc 5>;
252 wakeup-source;
253 brcm,gpio-bank-widths = <21 32 2>;
254 };
255
197 enet0: ethernet@430000 { 256 enet0: ethernet@430000 {
198 phy-mode = "internal"; 257 phy-mode = "internal";
199 phy-handle = <&phy1>; 258 phy-handle = <&phy1>;
@@ -239,5 +298,25 @@
239 interrupts = <66>; 298 interrupts = <66>;
240 status = "disabled"; 299 status = "disabled";
241 }; 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 };
242 }; 321 };
243}; 322};
diff --git a/arch/mips/boot/dts/brcm/bcm7360.dtsi b/arch/mips/boot/dts/brcm/bcm7360.dtsi
index 1c0c3d438c7a..112a5571c596 100644
--- a/arch/mips/boot/dts/brcm/bcm7360.dtsi
+++ b/arch/mips/boot/dts/brcm/bcm7360.dtsi
@@ -20,7 +20,7 @@
20 uart0 = &uart0; 20 uart0 = &uart0;
21 }; 21 };
22 22
23 cpu_intc: cpu_intc { 23 cpu_intc: interrupt-controller {
24 #address-cells = <0>; 24 #address-cells = <0>;
25 compatible = "mti,cpu-interrupt-controller"; 25 compatible = "mti,cpu-interrupt-controller";
26 26
@@ -34,6 +34,12 @@
34 #clock-cells = <0>; 34 #clock-cells = <0>;
35 clock-frequency = <81000000>; 35 clock-frequency = <81000000>;
36 }; 36 };
37
38 upg_clk: upg_clk {
39 compatible = "fixed-clock";
40 #clock-cells = <0>;
41 clock-frequency = <27000000>;
42 };
37 }; 43 };
38 44
39 rdb { 45 rdb {
@@ -43,7 +49,7 @@
43 compatible = "simple-bus"; 49 compatible = "simple-bus";
44 ranges = <0 0x10000000 0x01000000>; 50 ranges = <0 0x10000000 0x01000000>;
45 51
46 periph_intc: periph_intc@411400 { 52 periph_intc: interrupt-controller@411400 {
47 compatible = "brcm,bcm7038-l1-intc"; 53 compatible = "brcm,bcm7038-l1-intc";
48 reg = <0x411400 0x30>; 54 reg = <0x411400 0x30>;
49 55
@@ -54,7 +60,7 @@
54 interrupts = <2>; 60 interrupts = <2>;
55 }; 61 };
56 62
57 sun_l2_intc: sun_l2_intc@403000 { 63 sun_l2_intc: interrupt-controller@403000 {
58 compatible = "brcm,l2-intc"; 64 compatible = "brcm,l2-intc";
59 reg = <0x403000 0x30>; 65 reg = <0x403000 0x30>;
60 interrupt-controller; 66 interrupt-controller;
@@ -75,7 +81,7 @@
75 "avd_0", "jtag_0"; 81 "avd_0", "jtag_0";
76 }; 82 };
77 83
78 upg_irq0_intc: upg_irq0_intc@406600 { 84 upg_irq0_intc: interrupt-controller@406600 {
79 compatible = "brcm,bcm7120-l2-intc"; 85 compatible = "brcm,bcm7120-l2-intc";
80 reg = <0x406600 0x8>; 86 reg = <0x406600 0x8>;
81 87
@@ -90,7 +96,7 @@
90 interrupt-names = "upg_main", "upg_bsc"; 96 interrupt-names = "upg_main", "upg_bsc";
91 }; 97 };
92 98
93 upg_aon_irq0_intc: upg_aon_irq0_intc@408b80 { 99 upg_aon_irq0_intc: interrupt-controller@408b80 {
94 compatible = "brcm,bcm7120-l2-intc"; 100 compatible = "brcm,bcm7120-l2-intc";
95 reg = <0x408b80 0x8>; 101 reg = <0x408b80 0x8>;
96 102
@@ -194,6 +200,51 @@
194 status = "disabled"; 200 status = "disabled";
195 }; 201 };
196 202
203 pwma: pwm@406400 {
204 compatible = "brcm,bcm7038-pwm";
205 reg = <0x406400 0x28>;
206 #pwm-cells = <2>;
207 clocks = <&upg_clk>;
208 status = "disabled";
209 };
210
211 aon_pm_l2_intc: interrupt-controller@408440 {
212 compatible = "brcm,l2-intc";
213 reg = <0x408440 0x30>;
214 interrupt-controller;
215 #interrupt-cells = <1>;
216 interrupt-parent = <&periph_intc>;
217 interrupts = <50>;
218 brcm,irq-can-wake;
219 };
220
221 upg_gio: gpio@406500 {
222 compatible = "brcm,brcmstb-gpio";
223 reg = <0x406500 0xa0>;
224 #gpio-cells = <2>;
225 #interrupt-cells = <2>;
226 gpio-controller;
227 interrupt-controller;
228 interrupt-parent = <&upg_irq0_intc>;
229 interrupts = <6>;
230 brcm,gpio-bank-widths = <32 32 32 29 4>;
231 };
232
233 upg_gio_aon: gpio@408c00 {
234 compatible = "brcm,brcmstb-gpio";
235 reg = <0x408c00 0x60>;
236 #gpio-cells = <2>;
237 #interrupt-cells = <2>;
238 gpio-controller;
239 interrupt-controller;
240 interrupt-parent = <&upg_aon_irq0_intc>;
241 interrupts = <6>;
242 interrupts-extended = <&upg_aon_irq0_intc 6>,
243 <&aon_pm_l2_intc 5>;
244 wakeup-source;
245 brcm,gpio-bank-widths = <21 32 2>;
246 };
247
197 enet0: ethernet@430000 { 248 enet0: ethernet@430000 {
198 phy-mode = "internal"; 249 phy-mode = "internal";
199 phy-handle = <&phy1>; 250 phy-handle = <&phy1>;
@@ -240,6 +291,26 @@
240 status = "disabled"; 291 status = "disabled";
241 }; 292 };
242 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
243 sata: sata@181000 { 314 sata: sata@181000 {
244 compatible = "brcm,bcm7425-ahci", "brcm,sata3-ahci"; 315 compatible = "brcm,bcm7425-ahci", "brcm,sata3-ahci";
245 reg-names = "ahci", "top-ctrl"; 316 reg-names = "ahci", "top-ctrl";
@@ -279,5 +350,13 @@
279 #phy-cells = <0>; 350 #phy-cells = <0>;
280 }; 351 };
281 }; 352 };
353
354 sdhci0: sdhci@410000 {
355 compatible = "brcm,bcm7425-sdhci";
356 reg = <0x410000 0x100>;
357 interrupt-parent = <&periph_intc>;
358 interrupts = <82>;
359 status = "disabled";
360 };
282 }; 361 };
283}; 362};
diff --git a/arch/mips/boot/dts/brcm/bcm7362.dtsi b/arch/mips/boot/dts/brcm/bcm7362.dtsi
index 6b4713add4b8..34abfb0b07e7 100644
--- a/arch/mips/boot/dts/brcm/bcm7362.dtsi
+++ b/arch/mips/boot/dts/brcm/bcm7362.dtsi
@@ -26,7 +26,7 @@
26 uart0 = &uart0; 26 uart0 = &uart0;
27 }; 27 };
28 28
29 cpu_intc: cpu_intc { 29 cpu_intc: interrupt-controller {
30 #address-cells = <0>; 30 #address-cells = <0>;
31 compatible = "mti,cpu-interrupt-controller"; 31 compatible = "mti,cpu-interrupt-controller";
32 32
@@ -40,6 +40,12 @@
40 #clock-cells = <0>; 40 #clock-cells = <0>;
41 clock-frequency = <81000000>; 41 clock-frequency = <81000000>;
42 }; 42 };
43
44 upg_clk: upg_clk {
45 compatible = "fixed-clock";
46 #clock-cells = <0>;
47 clock-frequency = <27000000>;
48 };
43 }; 49 };
44 50
45 rdb { 51 rdb {
@@ -49,7 +55,7 @@
49 compatible = "simple-bus"; 55 compatible = "simple-bus";
50 ranges = <0 0x10000000 0x01000000>; 56 ranges = <0 0x10000000 0x01000000>;
51 57
52 periph_intc: periph_intc@411400 { 58 periph_intc: interrupt-controller@411400 {
53 compatible = "brcm,bcm7038-l1-intc"; 59 compatible = "brcm,bcm7038-l1-intc";
54 reg = <0x411400 0x30>, <0x411600 0x30>; 60 reg = <0x411400 0x30>, <0x411600 0x30>;
55 61
@@ -60,7 +66,7 @@
60 interrupts = <2>, <3>; 66 interrupts = <2>, <3>;
61 }; 67 };
62 68
63 sun_l2_intc: sun_l2_intc@403000 { 69 sun_l2_intc: interrupt-controller@403000 {
64 compatible = "brcm,l2-intc"; 70 compatible = "brcm,l2-intc";
65 reg = <0x403000 0x30>; 71 reg = <0x403000 0x30>;
66 interrupt-controller; 72 interrupt-controller;
@@ -81,7 +87,7 @@
81 "avd_0", "jtag_0"; 87 "avd_0", "jtag_0";
82 }; 88 };
83 89
84 upg_irq0_intc: upg_irq0_intc@406600 { 90 upg_irq0_intc: interrupt-controller@406600 {
85 compatible = "brcm,bcm7120-l2-intc"; 91 compatible = "brcm,bcm7120-l2-intc";
86 reg = <0x406600 0x8>; 92 reg = <0x406600 0x8>;
87 93
@@ -96,7 +102,7 @@
96 interrupt-names = "upg_main", "upg_bsc"; 102 interrupt-names = "upg_main", "upg_bsc";
97 }; 103 };
98 104
99 upg_aon_irq0_intc: upg_aon_irq0_intc@408b80 { 105 upg_aon_irq0_intc: interrupt-controller@408b80 {
100 compatible = "brcm,bcm7120-l2-intc"; 106 compatible = "brcm,bcm7120-l2-intc";
101 reg = <0x408b80 0x8>; 107 reg = <0x408b80 0x8>;
102 108
@@ -190,6 +196,51 @@
190 status = "disabled"; 196 status = "disabled";
191 }; 197 };
192 198
199 pwma: pwm@406400 {
200 compatible = "brcm,bcm7038-pwm";
201 reg = <0x406400 0x28>;
202 #pwm-cells = <2>;
203 clocks = <&upg_clk>;
204 status = "disabled";
205 };
206
207 aon_pm_l2_intc: interrupt-controller@408440 {
208 compatible = "brcm,l2-intc";
209 reg = <0x408440 0x30>;
210 interrupt-controller;
211 #interrupt-cells = <1>;
212 interrupt-parent = <&periph_intc>;
213 interrupts = <50>;
214 brcm,irq-can-wake;
215 };
216
217 upg_gio: gpio@406500 {
218 compatible = "brcm,brcmstb-gpio";
219 reg = <0x406500 0xa0>;
220 #gpio-cells = <2>;
221 #interrupt-cells = <2>;
222 gpio-controller;
223 interrupt-controller;
224 interrupt-parent = <&upg_irq0_intc>;
225 interrupts = <6>;
226 brcm,gpio-bank-widths = <32 32 32 29 4>;
227 };
228
229 upg_gio_aon: gpio@408c00 {
230 compatible = "brcm,brcmstb-gpio";
231 reg = <0x408c00 0x60>;
232 #gpio-cells = <2>;
233 #interrupt-cells = <2>;
234 gpio-controller;
235 interrupt-controller;
236 interrupt-parent = <&upg_aon_irq0_intc>;
237 interrupts = <6>;
238 interrupts-extended = <&upg_aon_irq0_intc 6>,
239 <&aon_pm_l2_intc 5>;
240 wakeup-source;
241 brcm,gpio-bank-widths = <21 32 2>;
242 };
243
193 enet0: ethernet@430000 { 244 enet0: ethernet@430000 {
194 phy-mode = "internal"; 245 phy-mode = "internal";
195 phy-handle = <&phy1>; 246 phy-handle = <&phy1>;
@@ -236,6 +287,26 @@
236 status = "disabled"; 287 status = "disabled";
237 }; 288 };
238 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
239 sata: sata@181000 { 310 sata: sata@181000 {
240 compatible = "brcm,bcm7425-ahci", "brcm,sata3-ahci"; 311 compatible = "brcm,bcm7425-ahci", "brcm,sata3-ahci";
241 reg-names = "ahci", "top-ctrl"; 312 reg-names = "ahci", "top-ctrl";
@@ -275,5 +346,13 @@
275 #phy-cells = <0>; 346 #phy-cells = <0>;
276 }; 347 };
277 }; 348 };
349
350 sdhci0: sdhci@410000 {
351 compatible = "brcm,bcm7425-sdhci";
352 reg = <0x410000 0x100>;
353 interrupt-parent = <&periph_intc>;
354 interrupts = <82>;
355 status = "disabled";
356 };
278 }; 357 };
279}; 358};
diff --git a/arch/mips/boot/dts/brcm/bcm7420.dtsi b/arch/mips/boot/dts/brcm/bcm7420.dtsi
index 0586bf662571..b143723c674e 100644
--- a/arch/mips/boot/dts/brcm/bcm7420.dtsi
+++ b/arch/mips/boot/dts/brcm/bcm7420.dtsi
@@ -26,7 +26,7 @@
26 uart0 = &uart0; 26 uart0 = &uart0;
27 }; 27 };
28 28
29 cpu_intc: cpu_intc { 29 cpu_intc: interrupt-controller {
30 #address-cells = <0>; 30 #address-cells = <0>;
31 compatible = "mti,cpu-interrupt-controller"; 31 compatible = "mti,cpu-interrupt-controller";
32 32
@@ -40,6 +40,12 @@
40 #clock-cells = <0>; 40 #clock-cells = <0>;
41 clock-frequency = <81000000>; 41 clock-frequency = <81000000>;
42 }; 42 };
43
44 upg_clk: upg_clk {
45 compatible = "fixed-clock";
46 #clock-cells = <0>;
47 clock-frequency = <27000000>;
48 };
43 }; 49 };
44 50
45 rdb { 51 rdb {
@@ -49,7 +55,7 @@
49 compatible = "simple-bus"; 55 compatible = "simple-bus";
50 ranges = <0 0x10000000 0x01000000>; 56 ranges = <0 0x10000000 0x01000000>;
51 57
52 periph_intc: periph_intc@441400 { 58 periph_intc: interrupt-controller@441400 {
53 compatible = "brcm,bcm7038-l1-intc"; 59 compatible = "brcm,bcm7038-l1-intc";
54 reg = <0x441400 0x30>, <0x441600 0x30>; 60 reg = <0x441400 0x30>, <0x441600 0x30>;
55 61
@@ -60,7 +66,7 @@
60 interrupts = <2>, <3>; 66 interrupts = <2>, <3>;
61 }; 67 };
62 68
63 sun_l2_intc: sun_l2_intc@401800 { 69 sun_l2_intc: interrupt-controller@401800 {
64 compatible = "brcm,l2-intc"; 70 compatible = "brcm,l2-intc";
65 reg = <0x401800 0x30>; 71 reg = <0x401800 0x30>;
66 interrupt-controller; 72 interrupt-controller;
@@ -82,7 +88,7 @@
82 "jtag_0"; 88 "jtag_0";
83 }; 89 };
84 90
85 upg_irq0_intc: upg_irq0_intc@406780 { 91 upg_irq0_intc: interrupt-controller@406780 {
86 compatible = "brcm,bcm7120-l2-intc"; 92 compatible = "brcm,bcm7120-l2-intc";
87 reg = <0x406780 0x8>; 93 reg = <0x406780 0x8>;
88 94
@@ -191,6 +197,34 @@
191 status = "disabled"; 197 status = "disabled";
192 }; 198 };
193 199
200 pwma: pwm@406580 {
201 compatible = "brcm,bcm7038-pwm";
202 reg = <0x406580 0x28>;
203 #pwm-cells = <2>;
204 clocks = <&upg_clk>;
205 status = "disabled";
206 };
207
208 pwmb: pwm@406880 {
209 compatible = "brcm,bcm7038-pwm";
210 reg = <0x406880 0x28>;
211 #pwm-cells = <2>;
212 clocks = <&upg_clk>;
213 status = "disabled";
214 };
215
216 upg_gio: gpio@406700 {
217 compatible = "brcm,brcmstb-gpio";
218 reg = <0x406700 0x80>;
219 #gpio-cells = <2>;
220 #interrupt-cells = <2>;
221 gpio-controller;
222 interrupt-controller;
223 interrupt-parent = <&upg_irq0_intc>;
224 interrupts = <6>;
225 brcm,gpio-bank-widths = <32 32 32 27>;
226 };
227
194 enet0: ethernet@468000 { 228 enet0: ethernet@468000 {
195 phy-mode = "internal"; 229 phy-mode = "internal";
196 phy-handle = <&phy1>; 230 phy-handle = <&phy1>;
diff --git a/arch/mips/boot/dts/brcm/bcm7425.dtsi b/arch/mips/boot/dts/brcm/bcm7425.dtsi
index c1c15edaf829..2488d2f61f60 100644
--- a/arch/mips/boot/dts/brcm/bcm7425.dtsi
+++ b/arch/mips/boot/dts/brcm/bcm7425.dtsi
@@ -26,7 +26,7 @@
26 uart0 = &uart0; 26 uart0 = &uart0;
27 }; 27 };
28 28
29 cpu_intc: cpu_intc { 29 cpu_intc: interrupt-controller {
30 #address-cells = <0>; 30 #address-cells = <0>;
31 compatible = "mti,cpu-interrupt-controller"; 31 compatible = "mti,cpu-interrupt-controller";
32 32
@@ -40,6 +40,12 @@
40 #clock-cells = <0>; 40 #clock-cells = <0>;
41 clock-frequency = <81000000>; 41 clock-frequency = <81000000>;
42 }; 42 };
43
44 upg_clk: upg_clk {
45 compatible = "fixed-clock";
46 #clock-cells = <0>;
47 clock-frequency = <27000000>;
48 };
43 }; 49 };
44 50
45 rdb { 51 rdb {
@@ -49,7 +55,7 @@
49 compatible = "simple-bus"; 55 compatible = "simple-bus";
50 ranges = <0 0x10000000 0x01000000>; 56 ranges = <0 0x10000000 0x01000000>;
51 57
52 periph_intc: periph_intc@41a400 { 58 periph_intc: interrupt-controller@41a400 {
53 compatible = "brcm,bcm7038-l1-intc"; 59 compatible = "brcm,bcm7038-l1-intc";
54 reg = <0x41a400 0x30>, <0x41a600 0x30>; 60 reg = <0x41a400 0x30>, <0x41a600 0x30>;
55 61
@@ -60,7 +66,7 @@
60 interrupts = <2>, <3>; 66 interrupts = <2>, <3>;
61 }; 67 };
62 68
63 sun_l2_intc: sun_l2_intc@403000 { 69 sun_l2_intc: interrupt-controller@403000 {
64 compatible = "brcm,l2-intc"; 70 compatible = "brcm,l2-intc";
65 reg = <0x403000 0x30>; 71 reg = <0x403000 0x30>;
66 interrupt-controller; 72 interrupt-controller;
@@ -83,7 +89,7 @@
83 "vice_0"; 89 "vice_0";
84 }; 90 };
85 91
86 upg_irq0_intc: upg_irq0_intc@406780 { 92 upg_irq0_intc: interrupt-controller@406780 {
87 compatible = "brcm,bcm7120-l2-intc"; 93 compatible = "brcm,bcm7120-l2-intc";
88 reg = <0x406780 0x8>; 94 reg = <0x406780 0x8>;
89 95
@@ -98,7 +104,7 @@
98 interrupt-names = "upg_main", "upg_bsc"; 104 interrupt-names = "upg_main", "upg_bsc";
99 }; 105 };
100 106
101 upg_aon_irq0_intc: upg_aon_irq0_intc@409480 { 107 upg_aon_irq0_intc: interrupt-controller@409480 {
102 compatible = "brcm,bcm7120-l2-intc"; 108 compatible = "brcm,bcm7120-l2-intc";
103 reg = <0x409480 0x8>; 109 reg = <0x409480 0x8>;
104 110
@@ -209,6 +215,59 @@
209 status = "disabled"; 215 status = "disabled";
210 }; 216 };
211 217
218 pwma: pwm@406580 {
219 compatible = "brcm,bcm7038-pwm";
220 reg = <0x406580 0x28>;
221 #pwm-cells = <2>;
222 clocks = <&upg_clk>;
223 status = "disabled";
224 };
225
226 pwmb: pwm@406800 {
227 compatible = "brcm,bcm7038-pwm";
228 reg = <0x406800 0x28>;
229 #pwm-cells = <2>;
230 clocks = <&upg_clk>;
231 status = "disabled";
232 };
233
234 aon_pm_l2_intc: interrupt-controller@408440 {
235 compatible = "brcm,l2-intc";
236 reg = <0x408440 0x30>;
237 interrupt-controller;
238 #interrupt-cells = <1>;
239 interrupt-parent = <&periph_intc>;
240 interrupts = <49>;
241 brcm,irq-can-wake;
242 };
243
244 upg_gio: gpio@406700 {
245 compatible = "brcm,brcmstb-gpio";
246 reg = <0x406700 0x80>;
247 #gpio-cells = <2>;
248 #interrupt-cells = <2>;
249 gpio-controller;
250 interrupt-controller;
251 interrupt-parent = <&upg_irq0_intc>;
252 interrupts = <6>;
253 brcm,gpio-bank-widths = <32 32 32 21>;
254 };
255
256 upg_gio_aon: gpio@4094c0 {
257 compatible = "brcm,brcmstb-gpio";
258 reg = <0x4094c0 0x40>;
259 #gpio-cells = <2>;
260 #interrupt-cells = <2>;
261 gpio-controller;
262 interrupt-controller;
263 interrupt-parent = <&upg_aon_irq0_intc>;
264 interrupts = <6>;
265 interrupts-extended = <&upg_aon_irq0_intc 6>,
266 <&aon_pm_l2_intc 5>;
267 wakeup-source;
268 brcm,gpio-bank-widths = <18 4>;
269 };
270
212 enet0: ethernet@b80000 { 271 enet0: ethernet@b80000 {
213 phy-mode = "internal"; 272 phy-mode = "internal";
214 phy-handle = <&phy1>; 273 phy-handle = <&phy1>;
@@ -312,6 +371,26 @@
312 status = "disabled"; 371 status = "disabled";
313 }; 372 };
314 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
315 sata: sata@181000 { 394 sata: sata@181000 {
316 compatible = "brcm,bcm7425-ahci", "brcm,sata3-ahci"; 395 compatible = "brcm,bcm7425-ahci", "brcm,sata3-ahci";
317 reg-names = "ahci", "top-ctrl"; 396 reg-names = "ahci", "top-ctrl";
@@ -351,5 +430,25 @@
351 #phy-cells = <0>; 430 #phy-cells = <0>;
352 }; 431 };
353 }; 432 };
433
434 sdhci0: sdhci@419000 {
435 compatible = "brcm,bcm7425-sdhci";
436 reg = <0x419000 0x100>;
437 interrupt-parent = <&periph_intc>;
438 interrupts = <43>;
439 sd-uhs-sdr50;
440 mmc-hs200-1_8v;
441 status = "disabled";
442 };
443
444 sdhci1: sdhci@419200 {
445 compatible = "brcm,bcm7425-sdhci";
446 reg = <0x419200 0x100>;
447 interrupt-parent = <&periph_intc>;
448 interrupts = <44>;
449 sd-uhs-sdr50;
450 mmc-hs200-1_8v;
451 status = "disabled";
452 };
354 }; 453 };
355}; 454};
diff --git a/arch/mips/boot/dts/brcm/bcm7435.dtsi b/arch/mips/boot/dts/brcm/bcm7435.dtsi
index a874d3a0e2ee..19fa259b968b 100644
--- a/arch/mips/boot/dts/brcm/bcm7435.dtsi
+++ b/arch/mips/boot/dts/brcm/bcm7435.dtsi
@@ -38,7 +38,7 @@
38 uart0 = &uart0; 38 uart0 = &uart0;
39 }; 39 };
40 40
41 cpu_intc: cpu_intc { 41 cpu_intc: interrupt-controller {
42 #address-cells = <0>; 42 #address-cells = <0>;
43 compatible = "mti,cpu-interrupt-controller"; 43 compatible = "mti,cpu-interrupt-controller";
44 44
@@ -52,6 +52,12 @@
52 #clock-cells = <0>; 52 #clock-cells = <0>;
53 clock-frequency = <81000000>; 53 clock-frequency = <81000000>;
54 }; 54 };
55
56 upg_clk: upg_clk {
57 compatible = "fixed-clock";
58 #clock-cells = <0>;
59 clock-frequency = <27000000>;
60 };
55 }; 61 };
56 62
57 rdb { 63 rdb {
@@ -61,7 +67,7 @@
61 compatible = "simple-bus"; 67 compatible = "simple-bus";
62 ranges = <0 0x10000000 0x01000000>; 68 ranges = <0 0x10000000 0x01000000>;
63 69
64 periph_intc: periph_intc@41b500 { 70 periph_intc: interrupt-controller@41b500 {
65 compatible = "brcm,bcm7038-l1-intc"; 71 compatible = "brcm,bcm7038-l1-intc";
66 reg = <0x41b500 0x40>, <0x41b600 0x40>, 72 reg = <0x41b500 0x40>, <0x41b600 0x40>,
67 <0x41b700 0x40>, <0x41b800 0x40>; 73 <0x41b700 0x40>, <0x41b800 0x40>;
@@ -73,7 +79,7 @@
73 interrupts = <2>, <3>, <2>, <3>; 79 interrupts = <2>, <3>, <2>, <3>;
74 }; 80 };
75 81
76 sun_l2_intc: sun_l2_intc@403000 { 82 sun_l2_intc: interrupt-controller@403000 {
77 compatible = "brcm,l2-intc"; 83 compatible = "brcm,l2-intc";
78 reg = <0x403000 0x30>; 84 reg = <0x403000 0x30>;
79 interrupt-controller; 85 interrupt-controller;
@@ -98,7 +104,7 @@
98 "scpu"; 104 "scpu";
99 }; 105 };
100 106
101 upg_irq0_intc: upg_irq0_intc@406780 { 107 upg_irq0_intc: interrupt-controller@406780 {
102 compatible = "brcm,bcm7120-l2-intc"; 108 compatible = "brcm,bcm7120-l2-intc";
103 reg = <0x406780 0x8>; 109 reg = <0x406780 0x8>;
104 110
@@ -113,7 +119,7 @@
113 interrupt-names = "upg_main", "upg_bsc"; 119 interrupt-names = "upg_main", "upg_bsc";
114 }; 120 };
115 121
116 upg_aon_irq0_intc: upg_aon_irq0_intc@409480 { 122 upg_aon_irq0_intc: interrupt-controller@409480 {
117 compatible = "brcm,bcm7120-l2-intc"; 123 compatible = "brcm,bcm7120-l2-intc";
118 reg = <0x409480 0x8>; 124 reg = <0x409480 0x8>;
119 125
@@ -224,6 +230,59 @@
224 status = "disabled"; 230 status = "disabled";
225 }; 231 };
226 232
233 pwma: pwm@406580 {
234 compatible = "brcm,bcm7038-pwm";
235 reg = <0x406580 0x28>;
236 #pwm-cells = <2>;
237 clocks = <&upg_clk>;
238 status = "disabled";
239 };
240
241 pwmb: pwm@406800 {
242 compatible = "brcm,bcm7038-pwm";
243 reg = <0x406800 0x28>;
244 #pwm-cells = <2>;
245 clocks = <&upg_clk>;
246 status = "disabled";
247 };
248
249 aon_pm_l2_intc: interrupt-controller@408440 {
250 compatible = "brcm,l2-intc";
251 reg = <0x408440 0x30>;
252 interrupt-controller;
253 #interrupt-cells = <1>;
254 interrupt-parent = <&periph_intc>;
255 interrupts = <54>;
256 brcm,irq-can-wake;
257 };
258
259 upg_gio: gpio@406700 {
260 compatible = "brcm,brcmstb-gpio";
261 reg = <0x406700 0x80>;
262 #gpio-cells = <2>;
263 #interrupt-cells = <2>;
264 gpio-controller;
265 interrupt-controller;
266 interrupt-parent = <&upg_irq0_intc>;
267 interrupts = <6>;
268 brcm,gpio-bank-widths = <32 32 32 21>;
269 };
270
271 upg_gio_aon: gpio@4094c0 {
272 compatible = "brcm,brcmstb-gpio";
273 reg = <0x4094c0 0x40>;
274 #gpio-cells = <2>;
275 #interrupt-cells = <2>;
276 gpio-controller;
277 interrupt-controller;
278 interrupt-parent = <&upg_aon_irq0_intc>;
279 interrupts = <6>;
280 interrupts-extended = <&upg_aon_irq0_intc 6>,
281 <&aon_pm_l2_intc 5>;
282 wakeup-source;
283 brcm,gpio-bank-widths = <18 4>;
284 };
285
227 enet0: ethernet@b80000 { 286 enet0: ethernet@b80000 {
228 phy-mode = "internal"; 287 phy-mode = "internal";
229 phy-handle = <&phy1>; 288 phy-handle = <&phy1>;
@@ -327,6 +386,26 @@
327 status = "disabled"; 386 status = "disabled";
328 }; 387 };
329 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
330 sata: sata@181000 { 409 sata: sata@181000 {
331 compatible = "brcm,bcm7425-ahci", "brcm,sata3-ahci"; 410 compatible = "brcm,bcm7425-ahci", "brcm,sata3-ahci";
332 reg-names = "ahci", "top-ctrl"; 411 reg-names = "ahci", "top-ctrl";
@@ -366,5 +445,25 @@
366 #phy-cells = <0>; 445 #phy-cells = <0>;
367 }; 446 };
368 }; 447 };
448
449 sdhci0: sdhci@41a000 {
450 compatible = "brcm,bcm7425-sdhci";
451 reg = <0x41a000 0x100>;
452 interrupt-parent = <&periph_intc>;
453 interrupts = <47>;
454 sd-uhs-sdr50;
455 mmc-hs200-1_8v;
456 status = "disabled";
457 };
458
459 sdhci1: sdhci@41a200 {
460 compatible = "brcm,bcm7425-sdhci";
461 reg = <0x41a200 0x100>;
462 interrupt-parent = <&periph_intc>;
463 interrupts = <48>;
464 sd-uhs-sdr50;
465 mmc-hs200-1_8v;
466 status = "disabled";
467 };
369 }; 468 };
370}; 469};
diff --git a/arch/mips/boot/dts/brcm/bcm97125cbmb.dts b/arch/mips/boot/dts/brcm/bcm97125cbmb.dts
index f2449d147c6d..5c24eacd72dd 100644
--- a/arch/mips/boot/dts/brcm/bcm97125cbmb.dts
+++ b/arch/mips/boot/dts/brcm/bcm97125cbmb.dts
@@ -45,6 +45,10 @@
45 status = "okay"; 45 status = "okay";
46}; 46};
47 47
48&pwma {
49 status = "okay";
50};
51
48/* FIXME: USB is wonky; disable it for now */ 52/* FIXME: USB is wonky; disable it for now */
49&ehci0 { 53&ehci0 {
50 status = "disabled"; 54 status = "disabled";
diff --git a/arch/mips/boot/dts/brcm/bcm97346dbsmb.dts b/arch/mips/boot/dts/brcm/bcm97346dbsmb.dts
index d3d28816a027..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";
@@ -49,6 +50,14 @@
49 status = "okay"; 50 status = "okay";
50}; 51};
51 52
53&pwma {
54 status = "okay";
55};
56
57&pwmb {
58 status = "okay";
59};
60
52&enet0 { 61&enet0 {
53 status = "okay"; 62 status = "okay";
54}; 63};
@@ -85,6 +94,10 @@
85 status = "okay"; 94 status = "okay";
86}; 95};
87 96
97&nand {
98 status = "okay";
99};
100
88&sata { 101&sata {
89 status = "okay"; 102 status = "okay";
90}; 103};
@@ -92,3 +105,7 @@
92&sata_phy { 105&sata_phy {
93 status = "okay"; 106 status = "okay";
94}; 107};
108
109&sdhci0 {
110 status = "okay";
111};
diff --git a/arch/mips/boot/dts/brcm/bcm97358svmb.dts b/arch/mips/boot/dts/brcm/bcm97358svmb.dts
index 02ce6b429dc4..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";
@@ -45,6 +46,14 @@
45 status = "okay"; 46 status = "okay";
46}; 47};
47 48
49&pwma {
50 status = "okay";
51};
52
53&pwmb {
54 status = "okay";
55};
56
48&enet0 { 57&enet0 {
49 status = "okay"; 58 status = "okay";
50}; 59};
@@ -56,3 +65,7 @@
56&ohci0 { 65&ohci0 {
57 status = "okay"; 66 status = "okay";
58}; 67};
68
69&nand {
70 status = "okay";
71};
diff --git a/arch/mips/boot/dts/brcm/bcm97360svmb.dts b/arch/mips/boot/dts/brcm/bcm97360svmb.dts
index 73124be9548a..bed821b03013 100644
--- a/arch/mips/boot/dts/brcm/bcm97360svmb.dts
+++ b/arch/mips/boot/dts/brcm/bcm97360svmb.dts
@@ -45,6 +45,10 @@
45 status = "okay"; 45 status = "okay";
46}; 46};
47 47
48&pwma {
49 status = "okay";
50};
51
48&enet0 { 52&enet0 {
49 status = "okay"; 53 status = "okay";
50}; 54};
@@ -64,3 +68,7 @@
64&sata_phy { 68&sata_phy {
65 status = "okay"; 69 status = "okay";
66}; 70};
71
72&sdhci0 {
73 status = "okay";
74};
diff --git a/arch/mips/boot/dts/brcm/bcm97362svmb.dts b/arch/mips/boot/dts/brcm/bcm97362svmb.dts
index 3cfcaebe7f79..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";
@@ -41,6 +42,10 @@
41 status = "okay"; 42 status = "okay";
42}; 43};
43 44
45&pwma {
46 status = "okay";
47};
48
44&enet0 { 49&enet0 {
45 status = "okay"; 50 status = "okay";
46}; 51};
@@ -53,6 +58,10 @@
53 status = "okay"; 58 status = "okay";
54}; 59};
55 60
61&nand {
62 status = "okay";
63};
64
56&sata { 65&sata {
57 status = "okay"; 66 status = "okay";
58}; 67};
@@ -60,3 +69,7 @@
60&sata_phy { 69&sata_phy {
61 status = "okay"; 70 status = "okay";
62}; 71};
72
73&sdhci0 {
74 status = "okay";
75};
diff --git a/arch/mips/boot/dts/brcm/bcm97420c.dts b/arch/mips/boot/dts/brcm/bcm97420c.dts
index 600d57abee05..e66271af055e 100644
--- a/arch/mips/boot/dts/brcm/bcm97420c.dts
+++ b/arch/mips/boot/dts/brcm/bcm97420c.dts
@@ -51,6 +51,14 @@
51 status = "okay"; 51 status = "okay";
52}; 52};
53 53
54&pwma {
55 status = "okay";
56};
57
58&pwmb {
59 status = "okay";
60};
61
54/* FIXME: MAC driver comes up but cannot attach to PHY */ 62/* FIXME: MAC driver comes up but cannot attach to PHY */
55&enet0 { 63&enet0 {
56 status = "disabled"; 64 status = "disabled";
diff --git a/arch/mips/boot/dts/brcm/bcm97425svmb.dts b/arch/mips/boot/dts/brcm/bcm97425svmb.dts
index 119c714805cb..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";
@@ -51,6 +52,14 @@
51 status = "okay"; 52 status = "okay";
52}; 53};
53 54
55&pwma {
56 status = "okay";
57};
58
59&pwmb {
60 status = "okay";
61};
62
54&enet0 { 63&enet0 {
55 status = "okay"; 64 status = "okay";
56}; 65};
@@ -86,3 +95,15 @@
86&ohci3 { 95&ohci3 {
87 status = "okay"; 96 status = "okay";
88}; 97};
98
99&nand {
100 status = "okay";
101};
102
103&sdhci0 {
104 status = "okay";
105};
106
107&sdhci1 {
108 status = "okay";
109};
diff --git a/arch/mips/boot/dts/brcm/bcm97435svmb.dts b/arch/mips/boot/dts/brcm/bcm97435svmb.dts
index 43e3ba27f07b..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";
@@ -51,6 +52,14 @@
51 status = "okay"; 52 status = "okay";
52}; 53};
53 54
55&pwma {
56 status = "okay";
57};
58
59&pwmb {
60 status = "okay";
61};
62
54&enet0 { 63&enet0 {
55 status = "okay"; 64 status = "okay";
56}; 65};
@@ -87,6 +96,10 @@
87 status = "okay"; 96 status = "okay";
88}; 97};
89 98
99&nand {
100 status = "okay";
101};
102
90&sata { 103&sata {
91 status = "okay"; 104 status = "okay";
92}; 105};
@@ -94,3 +107,11 @@
94&sata_phy { 107&sata_phy {
95 status = "okay"; 108 status = "okay";
96}; 109};
110
111&sdhci0 {
112 status = "okay";
113};
114
115&sdhci1 {
116 status = "okay";
117};
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};