brcm63xx: implement gpio_to_irq for bcm63xx-gpio
[openwrt/openwrt.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 gpio0 = &gpio0;
9 gpio1 = &gpio1;
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
55 periph_intc: interrupt-controller@fffe000c {
56 compatible = "brcm,bcm6345-l1-intc";
57 reg = <0xfffe000c 0x8>,
58 <0xfffe0038 0x8>;
59
60 interrupt-controller;
61 #interrupt-cells = <1>;
62
63 interrupt-parent = <&cpu_intc>;
64 interrupts = <2>, <3>;
65 };
66
67 ext_intc0: interrupt-controller@fffe0014 {
68 compatible = "brcm,bcm6345-ext-intc";
69 reg = <0xfffe0014 0x4>;
70
71 interrupt-controller;
72 #interrupt-cells = <2>;
73
74 interrupt-parent = <&periph_intc>;
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 interrupt-parent = <&periph_intc>;
86 interrupts = <20>, <21>;
87 };
88
89 gpio1: gpio-controller@fffe0080 {
90 compatible = "brcm,bcm6345-gpio";
91 reg = <0xfffe0080 4>, <0xfffe0088 4>;
92
93 gpio-controller;
94 #gpio-cells = <2>;
95
96 ngpios = <8>;
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 = "gpio0", "gpio1", "gpio2", "gpio3",
105 "gpio4", "gpio5";
106 };
107
108 gpio0: gpio-controller@fffe0084 {
109 compatible = "brcm,bcm6345-gpio";
110 reg = <0xfffe0084 4>, <0xfffe008c 4>;
111
112 gpio-controller;
113 #gpio-cells = <2>;
114 };
115 };
116 };