aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorOlof Johansson <olof@lixom.net>2014-03-11 16:30:39 -0400
committerOlof Johansson <olof@lixom.net>2014-03-11 16:30:49 -0400
commitfdc52533f52f38a118ab131180df52c8b5db7ff7 (patch)
tree424a0e99627ba0f5d40fa911db109fbfd8688ad2
parent59bb376f0e0a2bf7103aa57b45faab9963b16c4f (diff)
parentb7c6c1760685f7d3a3eecc19f4b792881bf1d907 (diff)
Merge tag 'bcm2835-for-3.15-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/swarren/linux-rpi into next/dt
Merge "ARM: bcm2835: DT changes for 3.15" from Stephen Warren: A variety of features are added to the bcm2835 device trees: - ARM PMU, for perf_event - DMA controller - I2S controller A few cleanups are applied to the DTs too. * tag 'bcm2835-for-3.15-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/swarren/linux-rpi: ARM: bcm2835: fix clock DT node names ARM: bcm2835: node name unit address cleanup ARM: bcm2835: fix DT node sort order ARM: bcm2835: add I2S driver to device tree ARM: bcm2835: add dmaengine driver to device tree ARM: bcm2835: perf_event support for Raspberry-Pi Signed-off-by: Olof Johansson <olof@lixom.net>
-rw-r--r--arch/arm/boot/dts/bcm2835.dtsi92
1 files changed, 65 insertions, 27 deletions
diff --git a/arch/arm/boot/dts/bcm2835.dtsi b/arch/arm/boot/dts/bcm2835.dtsi
index b021c96d3ba1..b8473c43e888 100644
--- a/arch/arm/boot/dts/bcm2835.dtsi
+++ b/arch/arm/boot/dts/bcm2835.dtsi
@@ -15,39 +15,52 @@
15 #size-cells = <1>; 15 #size-cells = <1>;
16 ranges = <0x7e000000 0x20000000 0x02000000>; 16 ranges = <0x7e000000 0x20000000 0x02000000>;
17 17
18 timer { 18 timer@7e003000 {
19 compatible = "brcm,bcm2835-system-timer"; 19 compatible = "brcm,bcm2835-system-timer";
20 reg = <0x7e003000 0x1000>; 20 reg = <0x7e003000 0x1000>;
21 interrupts = <1 0>, <1 1>, <1 2>, <1 3>; 21 interrupts = <1 0>, <1 1>, <1 2>, <1 3>;
22 clock-frequency = <1000000>; 22 clock-frequency = <1000000>;
23 }; 23 };
24 24
25 intc: interrupt-controller { 25 dma: dma@7e007000 {
26 compatible = "brcm,bcm2835-dma";
27 reg = <0x7e007000 0xf00>;
28 interrupts = <1 16>,
29 <1 17>,
30 <1 18>,
31 <1 19>,
32 <1 20>,
33 <1 21>,
34 <1 22>,
35 <1 23>,
36 <1 24>,
37 <1 25>,
38 <1 26>,
39 <1 27>,
40 <1 28>;
41
42 #dma-cells = <1>;
43 brcm,dma-channel-mask = <0x7f35>;
44 };
45
46 intc: interrupt-controller@7e00b200 {
26 compatible = "brcm,bcm2835-armctrl-ic"; 47 compatible = "brcm,bcm2835-armctrl-ic";
27 reg = <0x7e00b200 0x200>; 48 reg = <0x7e00b200 0x200>;
28 interrupt-controller; 49 interrupt-controller;
29 #interrupt-cells = <2>; 50 #interrupt-cells = <2>;
30 }; 51 };
31 52
32 watchdog { 53 watchdog@7e100000 {
33 compatible = "brcm,bcm2835-pm-wdt"; 54 compatible = "brcm,bcm2835-pm-wdt";
34 reg = <0x7e100000 0x28>; 55 reg = <0x7e100000 0x28>;
35 }; 56 };
36 57
37 rng { 58 rng@7e104000 {
38 compatible = "brcm,bcm2835-rng"; 59 compatible = "brcm,bcm2835-rng";
39 reg = <0x7e104000 0x10>; 60 reg = <0x7e104000 0x10>;
40 }; 61 };
41 62
42 uart@20201000 { 63 gpio: gpio@7e200000 {
43 compatible = "brcm,bcm2835-pl011", "arm,pl011", "arm,primecell";
44 reg = <0x7e201000 0x1000>;
45 interrupts = <2 25>;
46 clock-frequency = <3000000>;
47 arm,primecell-periphid = <0x00241011>;
48 };
49
50 gpio: gpio {
51 compatible = "brcm,bcm2835-gpio"; 64 compatible = "brcm,bcm2835-gpio";
52 reg = <0x7e200000 0xb4>; 65 reg = <0x7e200000 0xb4>;
53 /* 66 /*
@@ -70,7 +83,25 @@
70 #interrupt-cells = <2>; 83 #interrupt-cells = <2>;
71 }; 84 };
72 85
73 spi: spi@20204000 { 86 uart@7e201000 {
87 compatible = "brcm,bcm2835-pl011", "arm,pl011", "arm,primecell";
88 reg = <0x7e201000 0x1000>;
89 interrupts = <2 25>;
90 clock-frequency = <3000000>;
91 arm,primecell-periphid = <0x00241011>;
92 };
93
94 i2s: i2s@7e203000 {
95 compatible = "brcm,bcm2835-i2s";
96 reg = <0x7e203000 0x20>,
97 <0x7e101098 0x02>;
98
99 dmas = <&dma 2>,
100 <&dma 3>;
101 dma-names = "tx", "rx";
102 };
103
104 spi: spi@7e204000 {
74 compatible = "brcm,bcm2835-spi"; 105 compatible = "brcm,bcm2835-spi";
75 reg = <0x7e204000 0x1000>; 106 reg = <0x7e204000 0x1000>;
76 interrupts = <2 22>; 107 interrupts = <2 22>;
@@ -90,7 +121,15 @@
90 status = "disabled"; 121 status = "disabled";
91 }; 122 };
92 123
93 i2c1: i2c@20804000 { 124 sdhci: sdhci@7e300000 {
125 compatible = "brcm,bcm2835-sdhci";
126 reg = <0x7e300000 0x100>;
127 interrupts = <2 30>;
128 clocks = <&clk_mmc>;
129 status = "disabled";
130 };
131
132 i2c1: i2c@7e804000 {
94 compatible = "brcm,bcm2835-i2c"; 133 compatible = "brcm,bcm2835-i2c";
95 reg = <0x7e804000 0x1000>; 134 reg = <0x7e804000 0x1000>;
96 interrupts = <2 21>; 135 interrupts = <2 21>;
@@ -100,19 +139,15 @@
100 status = "disabled"; 139 status = "disabled";
101 }; 140 };
102 141
103 sdhci: sdhci { 142 usb@7e980000 {
104 compatible = "brcm,bcm2835-sdhci";
105 reg = <0x7e300000 0x100>;
106 interrupts = <2 30>;
107 clocks = <&clk_mmc>;
108 status = "disabled";
109 };
110
111 usb {
112 compatible = "brcm,bcm2835-usb"; 143 compatible = "brcm,bcm2835-usb";
113 reg = <0x7e980000 0x10000>; 144 reg = <0x7e980000 0x10000>;
114 interrupts = <1 9>; 145 interrupts = <1 9>;
115 }; 146 };
147
148 arm-pmu {
149 compatible = "arm,arm1176-pmu";
150 };
116 }; 151 };
117 152
118 clocks { 153 clocks {
@@ -120,24 +155,27 @@
120 #address-cells = <1>; 155 #address-cells = <1>;
121 #size-cells = <0>; 156 #size-cells = <0>;
122 157
123 clk_mmc: mmc { 158 clk_mmc: clock@0 {
124 compatible = "fixed-clock"; 159 compatible = "fixed-clock";
125 reg = <0>; 160 reg = <0>;
126 #clock-cells = <0>; 161 #clock-cells = <0>;
162 clock-output-names = "mmc";
127 clock-frequency = <100000000>; 163 clock-frequency = <100000000>;
128 }; 164 };
129 165
130 clk_i2c: i2c { 166 clk_i2c: clock@1 {
131 compatible = "fixed-clock"; 167 compatible = "fixed-clock";
132 reg = <1>; 168 reg = <1>;
133 #clock-cells = <0>; 169 #clock-cells = <0>;
170 clock-output-names = "i2c";
134 clock-frequency = <250000000>; 171 clock-frequency = <250000000>;
135 }; 172 };
136 173
137 clk_spi: spi { 174 clk_spi: clock@2 {
138 compatible = "fixed-clock"; 175 compatible = "fixed-clock";
139 reg = <2>; 176 reg = <2>;
140 #clock-cells = <0>; 177 #clock-cells = <0>;
178 clock-output-names = "spi";
141 clock-frequency = <250000000>; 179 clock-frequency = <250000000>;
142 }; 180 };
143 }; 181 };