blob: 398eac377e3ca0796c4a6c5bbb3c8128004cc8c8 [file] [log] [blame]
Simon Arlottec9653b2012-05-26 01:04:43 -06001/include/ "skeleton.dtsi"
2
3/ {
4 compatible = "brcm,bcm2835";
5 model = "BCM2835";
Simon Arlott89214f02012-09-12 19:57:26 -06006 interrupt-parent = <&intc>;
Simon Arlottec9653b2012-05-26 01:04:43 -06007
8 chosen {
Simon Arlott407f9be2012-09-10 23:29:17 -06009 bootargs = "earlyprintk console=ttyAMA0";
Simon Arlottec9653b2012-05-26 01:04:43 -060010 };
11
12 soc {
13 compatible = "simple-bus";
14 #address-cells = <1>;
15 #size-cells = <1>;
16 ranges = <0x7e000000 0x20000000 0x02000000>;
Simon Arlott89214f02012-09-12 19:57:26 -060017
Simon Arlottee4af562012-09-10 22:38:35 -060018 timer {
19 compatible = "brcm,bcm2835-system-timer";
20 reg = <0x7e003000 0x1000>;
21 interrupts = <1 0>, <1 1>, <1 2>, <1 3>;
22 clock-frequency = <1000000>;
23 };
24
Florian Meier89072332014-01-13 12:11:43 +010025 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
Simon Arlott89214f02012-09-12 19:57:26 -060046 intc: interrupt-controller {
47 compatible = "brcm,bcm2835-armctrl-ic";
48 reg = <0x7e00b200 0x200>;
49 interrupt-controller;
50 #interrupt-cells = <2>;
51 };
Simon Arlott407f9be2012-09-10 23:29:17 -060052
Stephen Warrend0f1c7f2012-09-15 22:18:10 -060053 watchdog {
54 compatible = "brcm,bcm2835-pm-wdt";
55 reg = <0x7e100000 0x28>;
56 };
57
Lubomir Rintela1bf7082013-03-28 07:12:04 +010058 rng {
59 compatible = "brcm,bcm2835-rng";
60 reg = <0x7e104000 0x10>;
61 };
62
Simon Arlott407f9be2012-09-10 23:29:17 -060063 uart@20201000 {
64 compatible = "brcm,bcm2835-pl011", "arm,pl011", "arm,primecell";
65 reg = <0x7e201000 0x1000>;
66 interrupts = <2 25>;
67 clock-frequency = <3000000>;
Jongsung Kim13731d82013-05-29 22:07:39 -060068 arm,primecell-periphid = <0x00241011>;
Simon Arlott407f9be2012-09-10 23:29:17 -060069 };
Stephen Warren805504a2012-09-27 21:54:21 -060070
71 gpio: gpio {
72 compatible = "brcm,bcm2835-gpio";
73 reg = <0x7e200000 0xb4>;
74 /*
75 * The GPIO IP block is designed for 3 banks of GPIOs.
76 * Each bank has a GPIO interrupt for itself.
77 * There is an overall "any bank" interrupt.
78 * In order, these are GIC interrupts 17, 18, 19, 20.
79 * Since the BCM2835 only has 2 banks, the 2nd bank
80 * interrupt output appears to be mirrored onto the
81 * 3rd bank's interrupt signal.
82 * So, a bank0 interrupt shows up on 17, 20, and
83 * a bank1 interrupt shows up on 18, 19, 20!
84 */
85 interrupts = <2 17>, <2 18>, <2 19>, <2 20>;
86
87 gpio-controller;
88 #gpio-cells = <2>;
89
90 interrupt-controller;
91 #interrupt-cells = <2>;
92 };
Stephen Warren5186bf22012-12-24 21:58:56 -070093
Florian Meier9511cc4d2014-01-13 12:16:40 +010094 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
Stephen Warren6ce5f022013-02-19 21:39:58 -0700104 spi: spi@20204000 {
105 compatible = "brcm,bcm2835-spi";
106 reg = <0x7e204000 0x1000>;
107 interrupts = <2 22>;
108 clocks = <&clk_spi>;
109 #address-cells = <1>;
110 #size-cells = <0>;
111 status = "disabled";
112 };
113
Stephen Warren232fed42012-12-31 23:26:45 -0700114 i2c0: i2c@20205000 {
115 compatible = "brcm,bcm2835-i2c";
116 reg = <0x7e205000 0x1000>;
117 interrupts = <2 21>;
118 clocks = <&clk_i2c>;
Stephen Warrena31ab442013-11-25 20:35:42 -0700119 #address-cells = <1>;
120 #size-cells = <0>;
Stephen Warren232fed42012-12-31 23:26:45 -0700121 status = "disabled";
122 };
123
124 i2c1: i2c@20804000 {
125 compatible = "brcm,bcm2835-i2c";
126 reg = <0x7e804000 0x1000>;
127 interrupts = <2 21>;
128 clocks = <&clk_i2c>;
Stephen Warrena31ab442013-11-25 20:35:42 -0700129 #address-cells = <1>;
130 #size-cells = <0>;
Stephen Warren232fed42012-12-31 23:26:45 -0700131 status = "disabled";
132 };
133
Stephen Warren5186bf22012-12-24 21:58:56 -0700134 sdhci: sdhci {
135 compatible = "brcm,bcm2835-sdhci";
136 reg = <0x7e300000 0x100>;
137 interrupts = <2 30>;
138 clocks = <&clk_mmc>;
139 status = "disabled";
140 };
Stephen Warren5631e7f2013-12-26 19:43:10 -0700141
142 usb {
143 compatible = "brcm,bcm2835-usb";
144 reg = <0x7e980000 0x10000>;
145 interrupts = <1 9>;
146 };
Vince Weaver14ac6522013-12-31 16:54:16 -0500147
148 arm-pmu {
149 compatible = "arm,arm1176-pmu";
150 };
Stephen Warren5186bf22012-12-24 21:58:56 -0700151 };
152
Stephen Warren9692c192013-01-14 21:07:20 -0700153 clocks {
154 compatible = "simple-bus";
155 #address-cells = <1>;
156 #size-cells = <0>;
Stephen Warren232fed42012-12-31 23:26:45 -0700157
Stephen Warren9692c192013-01-14 21:07:20 -0700158 clk_mmc: mmc {
159 compatible = "fixed-clock";
160 reg = <0>;
161 #clock-cells = <0>;
162 clock-frequency = <100000000>;
163 };
164
165 clk_i2c: i2c {
166 compatible = "fixed-clock";
167 reg = <1>;
168 #clock-cells = <0>;
Stephen Warren2837a1d2013-02-21 22:42:38 -0700169 clock-frequency = <250000000>;
Stephen Warren9692c192013-01-14 21:07:20 -0700170 };
Stephen Warren6ce5f022013-02-19 21:39:58 -0700171
172 clk_spi: spi {
173 compatible = "fixed-clock";
174 reg = <2>;
175 #clock-cells = <0>;
176 clock-frequency = <250000000>;
177 };
Simon Arlottec9653b2012-05-26 01:04:43 -0600178 };
179};