blob: 1dd478bfff9636cabade5cecc00b8178442f3f61 [file] [log] [blame]
Wolfram Sang10b9dc62009-03-11 09:36:26 -06001/*
2 * phyCORE-MPC5200B-IO (pcm032) board Device Tree Source
3 *
4 * Copyright (C) 2006-2009 Pengutronix
5 * Sascha Hauer <s.hauer@pengutronix.de>
6 * Juergen Beisert <j.beisert@pengutronix.de>
7 * Wolfram Sang <w.sang@pengutronix.de>
8 *
9 * This program is free software; you can redistribute it and/or modify it
10 * under the terms of the GNU General Public License as published by the
11 * Free Software Foundation; either version 2 of the License, or (at your
12 * option) any later version.
13 */
14
John Bonesioc8bf6b52010-11-17 15:28:56 -080015/include/ "mpc5200b.dtsi"
Wolfram Sang10b9dc62009-03-11 09:36:26 -060016
17/ {
18 model = "phytec,pcm032";
19 compatible = "phytec,pcm032";
Wolfram Sang10b9dc62009-03-11 09:36:26 -060020
21 memory {
Wolfram Sang10b9dc62009-03-11 09:36:26 -060022 reg = <0x00000000 0x08000000>; // 128MB
23 };
24
25 soc5200@f0000000 {
John Bonesioc8bf6b52010-11-17 15:28:56 -080026 timer@600 { // General Purpose Timer
Wolfram Sang10b9dc62009-03-11 09:36:26 -060027 fsl,has-wdt;
28 };
29
Wolfram Sang10b9dc62009-03-11 09:36:26 -060030 gpt2: timer@620 { // General Purpose Timer in GPIO mode
Wolfram Sang10b9dc62009-03-11 09:36:26 -060031 gpio-controller;
32 #gpio-cells = <2>;
33 };
34
35 gpt3: timer@630 { // General Purpose Timer in GPIO mode
Wolfram Sang10b9dc62009-03-11 09:36:26 -060036 gpio-controller;
37 #gpio-cells = <2>;
38 };
39
40 gpt4: timer@640 { // General Purpose Timer in GPIO mode
Wolfram Sang10b9dc62009-03-11 09:36:26 -060041 gpio-controller;
42 #gpio-cells = <2>;
43 };
44
45 gpt5: timer@650 { // General Purpose Timer in GPIO mode
Wolfram Sang10b9dc62009-03-11 09:36:26 -060046 gpio-controller;
47 #gpio-cells = <2>;
48 };
49
50 gpt6: timer@660 { // General Purpose Timer in GPIO mode
51 compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt";
52 reg = <0x660 0x10>;
53 interrupts = <1 15 0>;
54 gpio-controller;
55 #gpio-cells = <2>;
56 };
57
58 gpt7: timer@670 { // General Purpose Timer in GPIO mode
Wolfram Sang10b9dc62009-03-11 09:36:26 -060059 gpio-controller;
60 #gpio-cells = <2>;
61 };
62
John Bonesioabf1e272010-11-17 15:28:30 -080063 psc@2000 { /* PSC1 is ac97 */
Wolfram Sang10b9dc62009-03-11 09:36:26 -060064 compatible = "fsl,mpc5200b-psc-ac97","fsl,mpc5200-psc-ac97";
65 cell-index = <0>;
Wolfram Sang10b9dc62009-03-11 09:36:26 -060066 };
67
68 /* PSC2 port is used by CAN1/2 */
John Bonesioc8bf6b52010-11-17 15:28:56 -080069 psc@2200 {
70 status = "disabled";
71 };
Wolfram Sang10b9dc62009-03-11 09:36:26 -060072
John Bonesioabf1e272010-11-17 15:28:30 -080073 psc@2400 { /* PSC3 in UART mode */
Wolfram Sang10b9dc62009-03-11 09:36:26 -060074 compatible = "fsl,mpc5200b-psc-uart","fsl,mpc5200-psc-uart";
Wolfram Sang10b9dc62009-03-11 09:36:26 -060075 };
76
77 /* PSC4 is ??? */
John Bonesioc8bf6b52010-11-17 15:28:56 -080078 psc@2600 {
79 status = "disabled";
80 };
Wolfram Sang10b9dc62009-03-11 09:36:26 -060081
82 /* PSC5 is ??? */
John Bonesioc8bf6b52010-11-17 15:28:56 -080083 psc@2800 {
84 status = "disabled";
85 };
Wolfram Sang10b9dc62009-03-11 09:36:26 -060086
John Bonesioabf1e272010-11-17 15:28:30 -080087 psc@2c00 { /* PSC6 in UART mode */
Wolfram Sang10b9dc62009-03-11 09:36:26 -060088 compatible = "fsl,mpc5200b-psc-uart","fsl,mpc5200-psc-uart";
Wolfram Sang10b9dc62009-03-11 09:36:26 -060089 };
90
91 ethernet@3000 {
Wolfram Sang10b9dc62009-03-11 09:36:26 -060092 phy-handle = <&phy0>;
93 };
94
95 mdio@3000 {
Wolfram Sang10b9dc62009-03-11 09:36:26 -060096 phy0: ethernet-phy@0 {
97 reg = <0>;
98 };
99 };
100
Wolfram Sang10b9dc62009-03-11 09:36:26 -0600101 i2c@3d40 {
Wolfram Sang10b9dc62009-03-11 09:36:26 -0600102 rtc@51 {
103 compatible = "nxp,pcf8563";
104 reg = <0x51>;
105 };
106 eeprom@52 {
Wolfram Sang55271022010-11-17 13:00:50 +0100107 compatible = "catalyst,24c32";
Wolfram Sang10b9dc62009-03-11 09:36:26 -0600108 reg = <0x52>;
Wolfram Sang55271022010-11-17 13:00:50 +0100109 pagesize = <32>;
Wolfram Sang10b9dc62009-03-11 09:36:26 -0600110 };
111 };
Wolfram Sang10b9dc62009-03-11 09:36:26 -0600112 };
113
114 pci@f0000d00 {
Wolfram Sang10b9dc62009-03-11 09:36:26 -0600115 interrupt-map-mask = <0xf800 0 0 7>;
116 interrupt-map = <0xc000 0 0 1 &mpc5200_pic 0 0 3 // 1st slot
117 0xc000 0 0 2 &mpc5200_pic 1 1 3
118 0xc000 0 0 3 &mpc5200_pic 1 2 3
119 0xc000 0 0 4 &mpc5200_pic 1 3 3
120
121 0xc800 0 0 1 &mpc5200_pic 1 1 3 // 2nd slot
122 0xc800 0 0 2 &mpc5200_pic 1 2 3
123 0xc800 0 0 3 &mpc5200_pic 1 3 3
124 0xc800 0 0 4 &mpc5200_pic 0 0 3>;
Wolfram Sang10b9dc62009-03-11 09:36:26 -0600125 ranges = <0x42000000 0 0x80000000 0x80000000 0 0x20000000
126 0x02000000 0 0xa0000000 0xa0000000 0 0x10000000
127 0x01000000 0 0x00000000 0xb0000000 0 0x01000000>;
128 };
129
130 localbus {
Wolfram Sang10b9dc62009-03-11 09:36:26 -0600131 ranges = <0 0 0xfe000000 0x02000000
132 1 0 0xfc000000 0x02000000
133 2 0 0xfbe00000 0x00200000
134 3 0 0xf9e00000 0x02000000
135 4 0 0xf7e00000 0x02000000
136 5 0 0xe6000000 0x02000000
137 6 0 0xe8000000 0x02000000
138 7 0 0xea000000 0x02000000>;
139
140 flash@0,0 {
141 compatible = "cfi-flash";
142 reg = <0 0 0x02000000>;
143 bank-width = <4>;
144 #size-cells = <1>;
145 #address-cells = <1>;
146
147 partition@0 {
148 label = "ubootl";
149 reg = <0x00000000 0x00040000>;
150 };
151 partition@40000 {
152 label = "kernel";
153 reg = <0x00040000 0x001c0000>;
154 };
155 partition@200000 {
156 label = "jffs2";
157 reg = <0x00200000 0x01d00000>;
158 };
159 partition@1f00000 {
160 label = "uboot";
161 reg = <0x01f00000 0x00040000>;
162 };
163 partition@1f40000 {
164 label = "env";
165 reg = <0x01f40000 0x00040000>;
166 };
167 partition@1f80000 {
168 label = "oftree";
169 reg = <0x01f80000 0x00040000>;
170 };
171 partition@1fc0000 {
172 label = "space";
173 reg = <0x01fc0000 0x00040000>;
174 };
175 };
176
177 sram@2,0 {
178 compatible = "mtd-ram";
179 reg = <2 0 0x00200000>;
180 bank-width = <2>;
181 };
182
John Bonesioc8bf6b52010-11-17 15:28:56 -0800183 /*
Wolfram Sang10b9dc62009-03-11 09:36:26 -0600184 * example snippets for FPGA
185 *
186 * fpga@3,0 {
John Bonesioc8bf6b52010-11-17 15:28:56 -0800187 * compatible = "fpga_driver";
188 * reg = <3 0 0x02000000>;
189 * bank-width = <4>;
Wolfram Sang10b9dc62009-03-11 09:36:26 -0600190 * };
191 *
192 * fpga@4,0 {
John Bonesioc8bf6b52010-11-17 15:28:56 -0800193 * compatible = "fpga_driver";
194 * reg = <4 0 0x02000000>;
195 * bank-width = <4>;
Wolfram Sang10b9dc62009-03-11 09:36:26 -0600196 * };
John Bonesioc8bf6b52010-11-17 15:28:56 -0800197 */
Wolfram Sang10b9dc62009-03-11 09:36:26 -0600198
John Bonesioc8bf6b52010-11-17 15:28:56 -0800199 /*
Wolfram Sang10b9dc62009-03-11 09:36:26 -0600200 * example snippets for free chipselects
John Bonesioc8bf6b52010-11-17 15:28:56 -0800201 *
Wolfram Sang10b9dc62009-03-11 09:36:26 -0600202 * device@5,0 {
John Bonesioc8bf6b52010-11-17 15:28:56 -0800203 * compatible = "custom_driver";
204 * reg = <5 0 0x02000000>;
Wolfram Sang10b9dc62009-03-11 09:36:26 -0600205 * };
John Bonesioc8bf6b52010-11-17 15:28:56 -0800206 *
Wolfram Sang10b9dc62009-03-11 09:36:26 -0600207 * device@6,0 {
John Bonesioc8bf6b52010-11-17 15:28:56 -0800208 * compatible = "custom_driver";
209 * reg = <6 0 0x02000000>;
Wolfram Sang10b9dc62009-03-11 09:36:26 -0600210 * };
John Bonesioc8bf6b52010-11-17 15:28:56 -0800211 *
Wolfram Sang10b9dc62009-03-11 09:36:26 -0600212 * device@7,0 {
John Bonesioc8bf6b52010-11-17 15:28:56 -0800213 * compatible = "custom_driver";
214 * reg = <7 0 0x02000000>;
Wolfram Sang10b9dc62009-03-11 09:36:26 -0600215 * };
John Bonesioc8bf6b52010-11-17 15:28:56 -0800216 */
Wolfram Sang10b9dc62009-03-11 09:36:26 -0600217 };
218};