8feb3dd61ec36b7606b8681ab83d789c2cf82b20
[openwrt/staging/lynxis.git] / target / linux / brcm63xx / dts / bcm6358.dtsi
1 / {
2 #address-cells = <1>;
3 #size-cells = <1>;
4 compatible = "brcm,bcm6358";
5
6 aliases {
7 pflash = &pflash;
8 pinctrl = &pinctrl;
9 spi0 = &lsspi;
10 };
11
12 cpus {
13 #address-cells = <1>;
14 #size-cells = <0>;
15
16 cpu@0 {
17 compatible = "brcm,bmips4350", "mips,mips4Kc";
18 device_type = "cpu";
19 reg = <0>;
20 };
21
22 cpu@1 {
23 compatible = "brcm,bmips4350", "mips,mips4Kc";
24 device_type = "cpu";
25 reg = <1>;
26 };
27 };
28
29 cpu_intc: interrupt-controller {
30 #address-cells = <0>;
31 compatible = "mti,cpu-interrupt-controller";
32
33 interrupt-controller;
34 #interrupt-cells = <1>;
35 };
36
37 memory { device_type = "memory"; reg = <0 0>; };
38
39 pflash: nor@1e000000 {
40 compatible = "cfi-flash";
41 reg = <0x1e000000 0x2000000>;
42 bank-width = <2>;
43 #address-cells = <1>;
44 #size-cells = <1>;
45
46 status = "disabled";
47 };
48
49 ubus@fff00000 {
50 #address-cells = <1>;
51 #size-cells = <1>;
52 ranges;
53 compatible = "simple-bus";
54 interrupt-parent = <&periph_intc>;
55
56 periph_intc: interrupt-controller@fffe000c {
57 compatible = "brcm,bcm6345-l1-intc";
58 reg = <0xfffe000c 0x8>,
59 <0xfffe0038 0x8>;
60
61 interrupt-controller;
62 #interrupt-cells = <1>;
63
64 interrupt-parent = <&cpu_intc>;
65 interrupts = <2>, <3>;
66 };
67
68 ext_intc0: interrupt-controller@fffe0014 {
69 compatible = "brcm,bcm6345-ext-intc";
70 reg = <0xfffe0014 0x4>;
71
72 interrupt-controller;
73 #interrupt-cells = <2>;
74
75 interrupts = <25>, <26>, <27>, <28>;
76 };
77
78 ext_intc1: interrupt-controller@fffe001c {
79 compatible = "brcm,bcm6345-ext-intc";
80 reg = <0xfffe001c 0x4>;
81
82 interrupt-controller;
83 #interrupt-cells = <2>;
84
85 interrupts = <20>, <21>;
86 };
87
88 pinctrl: pin-controller@fffe0080 {
89 compatible = "brcm,bcm6358-pinctrl";
90 reg = <0xfffe0080 0x8>,
91 <0xfffe0088 0x8>;
92 reg-names = "dirout", "dat", "mode";
93 brcm,gpiomode = <&gpiomode>;
94
95 gpio-controller;
96 #gpio-cells = <2>;
97
98 interrupts-extended = <&ext_intc1 0 0>,
99 <&ext_intc1 1 0>,
100 <&ext_intc0 0 0>,
101 <&ext_intc0 1 0>,
102 <&ext_intc0 2 0>,
103 <&ext_intc0 3 0>;
104 interrupt-names = "gpio32", "gpio33", "gpio34", "gpio35",
105 "gpio36", "gpio37";
106
107 pinctrl_ebi_cs: ebi_cs {
108 function = "ebi_cs";
109 groups = "ebi_cs_grp";
110 };
111
112 pinctrl_uart1: uart1 {
113 function = "uart1";
114 groups = "uart1_grp";
115 };
116
117 pinctrl_serial_led: serial_led {
118 function = "serial_led";
119 groups = "serial_led_grp";
120 };
121
122 pinctrl_legacy_led: legacy_led {
123 function = "legacy_led";
124 groups = "legacy_led_grp";
125 };
126
127 pinctrl_led: led {
128 function = "led";
129 groups = "led_grp";
130 };
131
132 pinctrl_spi_cs_23: spi_cs {
133 function = "spi_cs";
134 groups = "spi_cs_grp";
135 };
136
137 pinctrl_utopia: utopia {
138 function = "utopia";
139 groups = "utopia_grp";
140 };
141
142 pinctrl_pwm_syn_clk: pwm_syn_clk {
143 function = "pwm_syn_clk";
144 groups = "pwm_syn_clk_grp";
145 };
146
147 pinctrl_sys_irq: sys_irq {
148 function = "sys_irq";
149 groups = "sys_irq_grp";
150 };
151 };
152
153 gpiomode: gpiomode@fffe0098 {
154 compatible = "brcm,bcm6358-gpiomode", "syscon";
155 reg = <0xfffe0098 0x4>;
156 };
157
158 leds: led-controller@fffe00d0 {
159 #address-cells = <1>;
160 #size-cells = <0>;
161 compatible = "brcm,bcm6358-leds";
162 reg = <0xfffe00d0 0x8>;
163 status = "disabled";
164 };
165
166 lsspi: spi@fffe0800 {
167 #address-cells = <1>;
168 #size-cells = <0>;
169 compatible = "brcm,bcm6358-spi";
170 reg = <0xfffe0800 0x70c>;
171 interrupts = <1>;
172 /* clocks = <&clkctl 9>; */
173 };
174 };
175 };