docs/ikteam: Delete most files.
[haiku.git] / src / data / dts / arch / arm / rpi.dts
blob548f888b2bb88abe9e0c691cb7ce18eb3c2a683d
1 /*
2  * Copyright (c) 2012 Oleksandr Tymoshenko <gonzo@bluezbox.com>
3  *
4  * Redistribution and use in source and binary forms, with or without
5  * modification, are permitted provided that the following conditions
6  * are met:
7  * 1. Redistributions of source code must retain the above copyright
8  *    notice, this list of conditions and the following disclaimer.
9  * 2. Redistributions in binary form must reproduce the above copyright
10  *    notice, this list of conditions and the following disclaimer in the
11  *    documentation and/or other materials provided with the distribution.
12  *
13  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
14  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
15  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
16  * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
17  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
18  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
19  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
20  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
21  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
22  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
23  * SUCH DAMAGE.
24  *
25  * $FreeBSD$
26  */
27 /dts-v1/;
29 /include/ "bcm2835.dtsi"
31 / {
32         model = "Raspberry Pi (BCM2835)";
33         compatible = "raspberrypi,model-a", "raspberrypi,model-b", 
34                      "broadcom,bcm2835-vc", "broadcom,bcm2708-vc";
36         memreserve = <0x08000000 0x08000000>;   /* Set by VideoCore */
38         cpus {
39                 #address-cells = <1>;
40                 #size-cells = <0>;
41                 cpu@0 {
42                         compatible = "arm,1176jzf-s";
43                         device_type = "cpu";
44                         reg = <0>;                      /* CPU ID=0 */
45                         clock-frequency = <700000000>;  /* 700MHz */
46                 };
47         };
49         memory {
50                 device_type = "memory";
51                 reg = <0 0x8000000>; /* 128MB, Set by VideoCore */
52         
53         };
55         system {
56                 revision = <0>;                 /* Set by VideoCore */
57                 serial = <0 0>;                 /* Set by VideoCore */
58         };
60         axi {
61                 gpio: gpio {
62                         /* BSC0 */
63                         pins_bsc0_a: bsc0_a {
64                                 broadcom,function = "ALT0";
65                         };
67                         pins_bsc0_b: bsc0_b {
68                                 broadcom,function = "ALT0";
69                         };
71                         pins_bsc0_c: bsc0_c {
72                                 broadcom,function = "ALT1";
73                         };
75                         /* BSC1 */
76                         pins_bsc1_a: bsc1_a {
77                                 broadcom,function = "ALT0";
78                         };
80                         pins_bsc1_b: bsc1_b {
81                                 broadcom,function = "ALT2";
82                         };
84                         /* GPCLK0 */
85                         pins_gpclk0_a: gpclk0_a {
86                                 broadcom,function = "ALT0";
87                         };
89                         pins_gpclk0_b: gpclk0_b {
90                                 broadcom,function = "ALT5";
91                         };
93                         pins_gpclk0_c: gpclk0_c {
94                                 broadcom,function = "ALT0";
95                         };
97                         pins_gpclk0_d: gpclk0_d {
98                                 broadcom,function = "ALT0";
99                         };
101                         /* GPCLK1 */
102                         pins_gpclk1_a: gpclk1_a {
103                                 broadcom,function = "ALT0";
104                         };
106                         pins_gpclk1_b: gpclk1_b {
107                                 broadcom,function = "ALT5";
108                         };
110                         pins_gpclk1_c: gpclk1_c {
111                                 broadcom,function = "ALT0";
112                         };
114                         pins_gpclk1_d: gpclk1_d {
115                                 broadcom,function = "ALT0";
116                         };
118                         /* GPCLK2 */
119                         pins_gpclk2_a: gpclk2_a {
120                                 broadcom,function = "ALT0";
121                         };
123                         pins_gpclk2_b: gpclk2_b {
124                                 broadcom,function = "ALT0";
125                         };
127                         /* SPI0 */
128                         pins_spi0_a: spi0_a {
129                                 broadcom,function = "ALT0";
130                         };
132                         pins_spi0_b: spi0_b {
133                                 broadcom,function = "ALT0";
134                         };
136                         /* PWM */
137                         pins_pwm0_a: pwm0_a {
138                                 broadcom,function = "ALT0";
139                         };
141                         pins_pwm0_b: pwm0_b {
142                                 broadcom,function = "ALT5";
143                         };
145                         pins_pwm0_c: pwm0_c {
146                                 broadcom,function = "ALT0";
147                         };
149                         pins_pwm1_a: pwm1_a {
150                                 broadcom,function = "ALT0";
151                         };
153                         pins_pwm1_b: pwm1_b {
154                                 broadcom,function = "ALT5";
155                         };
157                         pins_pwm1_c: pwm1_c {
158                                 broadcom,function = "ALT0";
159                         };
161                         pins_pwm1_d: pwm1_d {
162                                 broadcom,function = "ALT0";
163                         };
165                         /* UART0 */
166                         pins_uart0_a: uart0_a {
167                                 broadcom,function = "ALT0";
168                         };
170                         pins_uart0_b: uart0_b {
171                                 broadcom,function = "ALT3";
172                         };
174                         pins_uart0_c: uart0_c {
175                                 broadcom,function = "ALT2";
176                         };
178                         pins_uart0_fc_a: uart0_fc_a {
179                                 broadcom,function = "ALT3";
180                         };
182                         pins_uart0_fc_b: uart0_fc_b {
183                                 broadcom,function = "ALT3";
184                         };
186                         pins_uart0_fc_c: uart0_fc_c {
187                                 broadcom,function = "ALT2";
188                         };
190                         /* PCM */
191                         pins_pcm_a: pcm_a {
192                                 broadcom,function = "ALT0";
193                         };
195                         pins_pcm_b: pcm_b {
196                                 broadcom,function = "ALT2";
197                         };
199                         /* Secondary Address Bus */
200                         pins_sm_addr_a: sm_addr_a {
201                                 broadcom,function = "ALT1";
202                         };
204                         pins_sm_addr_b: sm_addr_b {
205                                 broadcom,function = "ALT1";
206                         };
208                         pins_sm_ctl_a: sm_ctl_a {
209                                 broadcom,function = "ALT1";
210                         };
212                         pins_sm_ctl_b: sm_ctl_b {
213                                 broadcom,function = "ALT1";
214                         };
216                         pins_sm_data_8bit_a: sm_data_8bit_a {
217                                 broadcom,function = "ALT1";
218                         };
220                         pins_sm_data_8bit_b: sm_data_8bit_b {
221                                 broadcom,function = "ALT1";
222                         };
224                         pins_sm_data_16bit: sm_data_16bit {
225                                 broadcom,function = "ALT1";
226                         };
228                         pins_sm_data_18bit: sm_data_18bit {
229                                 broadcom,function = "ALT1";
230                         };
232                         /* BSCSL */
233                         pins_bscsl: bscsl {
234                                 broadcom,function = "ALT3";
235                         };
237                         /* SPISL */
238                         pins_spisl: spisl {
239                                 broadcom,function = "ALT3";
240                         };
242                         /* SPI1 */
243                         pins_spi1: spi1 {
244                                 broadcom,function = "ALT4";
245                         };
247                         /* UART1 */
248                         pins_uart1_a: uart1_a {
249                                 broadcom,function = "ALT5";
250                         };
252                         pins_uart1_b: uart1_b {
253                                 broadcom,function = "ALT5";
254                         };
256                         pins_uart1_c: uart1_c {
257                                 broadcom,function = "ALT5";
258                         };
260                         pins_uart1_fc_a: uart1_fc_a {
261                                 broadcom,function = "ALT5";
262                         };
264                         pins_uart1_fc_b: uart1_fc_b {
265                                 broadcom,function = "ALT5";
266                         };
268                         pins_uart1_fc_c: uart1_fc_c {
269                                 broadcom,function = "ALT5";
270                         };
272                         /* SPI2 */
273                         pins_spi2: spi2 {
274                                 broadcom,function = "ALT4";
275                         };
277                         /* ARM JTAG */
278                         pins_arm_jtag_trst: arm_jtag_trst {
279                                 broadcom,function = "ALT4";
280                         };
282                         pins_arm_jtag_a: arm_jtag_a {
283                                 broadcom,function = "ALT5";
284                         };
286                         pins_arm_jtag_b: arm_jtag_b {
287                                 broadcom,function = "ALT4";
288                         };
290                         /* Reserved */
291                         pins_reserved: reserved {
292                                 broadcom,function = "ALT3";
293                         };
294                 };
295                 usb {
296                         hub {
297                                 compatible = "usb,hub", "usb,device";
298                                 reg = <0x00000001>;
299                                 #address-cells = <1>;
300                                 #size-cells = <0>;
301                                 ethernet {
302                                         compatible = "net,ethernet",
303                                                      "usb,device";
304                                         reg = <0x00000001>;
305                                         mac-address = [00 00 00 00 00 00];
306                                 };
307                         };
309                 };
312         };
314         display {
315                 compatible = "broadcom,bcm2835-fb", "broadcom,bcm2708-fb";
317                 broadcom,vc-mailbox = <&vc_mbox>;
318                 broadcom,vc-channel = <1>;
320                 broadcom,width = <0>;           /* Set by VideoCore */
321                 broadcom,height = <0>;          /* Set by VideoCore */
322                 broadcom,depth = <0>;           /* Set by VideoCore */
323         };
325         leds {
326                 compatible = "gpio-leds";
328                 ok {
329                         label = "ok";
330                         gpios = <&gpio 16 1>;
332                         /* Don't change this - it configures
333                          * how the led driver determines if
334                          * the led is on or off when it loads.
335                          */
336                         default-state = "keep";
338                         /* This is the real default state. */
339                         linux,default-trigger = "default-on";
340                 };
341         };
343         power: regulator {
344                 compatible = "broadcom,bcm2835-power-mgr",
345                              "broadcom,bcm2708-power-mgr",
346                              "simple-bus";
347                 #address-cells = <1>;
348                 #size-cells = <0>;
350                 broadcom,vc-mailbox = <&vc_mbox>;
351                 broadcom,vc-channel = <0>;
353                 regulator-name = "VideoCore";
354                 regulator-min-microvolt = <5000000>;
355                 regulator-max-microvolt = <5000000>;
356                 regulator-always-on = <1>;
358                 sd_card_power: regulator@0 {
359                         compatible = "broadcom,bcm2835-power-dev",
360                                      "broadcom,bcm2708-power-dev";
361                         reg = <0>;
363                         vin-supply = <&power>;
364                         regulator-name = "SD Card";
365                         regulator-min-microvolt = <3300000>;
366                         regulator-max-microvolt = <3300000>;
367                 };
369                 /* This is for the controller itself, not the root port */
370                 usb_hcd_power: regulator@3 {
371                         compatible = "broadcom,bcm2835-power-dev",
372                                      "broadcom,bcm2708-power-dev";
373                         reg = <3>;
375                         vin-supply = <&power>;
376                         regulator-name = "USB HCD";
377                         regulator-min-microvolt = <5000000>;
378                         regulator-max-microvolt = <5000000>;
379                 };
380         };
382         aliases {
383                 uart0 = &uart0;
384         };
386         chosen {
387                 bootargs = "";                  /* Set by VideoCore */
388                 stdin = "uart0";
389                 stdout = "uart0";
390         };
392         __overrides__ {
393                 cache_line_size  = <&vchiq>, "cache-line-size:0";
394         };