diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2011-01-10 11:57:03 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2011-01-10 11:57:03 -0500 |
commit | 0bd2cbcdfaff9cb22267d66fc843fa4f73f0c281 (patch) | |
tree | 7d9732bcf5f2f646cb0c2c529c48b454b15d4ae2 /arch/powerpc | |
parent | 57cc7215b70856dc6bae8e55b00ecd7b1d7429b1 (diff) | |
parent | a081748735c5feb96b1365e78a5ff0fb6ca7e3a4 (diff) |
Merge branch 'next-devicetree' of git://git.secretlab.ca/git/linux-2.6
* 'next-devicetree' of git://git.secretlab.ca/git/linux-2.6: (29 commits)
of/flattree: forward declare struct device_node in of_fdt.h
ipmi: explicitly include of_address.h and of_irq.h
sparc: explicitly cast negative phandle checks to s32
powerpc/405: Fix missing #{address,size}-cells in i2c node
powerpc/5200: dts: refactor dts files
powerpc/5200: dts: Change combatible strings on localbus
powerpc/5200: dts: remove unused properties
powerpc/5200: dts: rename nodes to prepare for refactoring dts files
of/flattree: Update dtc to current mainline.
of/device: Don't register disabled devices
powerpc/dts: fix syntax bugs in bluestone.dts
of: Fixes for OF probing on little endian systems
of: make drivers depend on CONFIG_OF instead of CONFIG_PPC_OF
of/flattree: Add of_flat_dt_match() helper function
of_serial: explicitly include of_irq.h
of/flattree: Refactor unflatten_device_tree and add fdt_unflatten_tree
of/flattree: Reorder unflatten_dt_node
of/flattree: Refactor unflatten_dt_node
of/flattree: Add non-boottime device tree functions
of/flattree: Add Kconfig for EARLY_FLATTREE
...
Fix up trivial conflict in arch/sparc/prom/tree_32.c as per Grant.
Diffstat (limited to 'arch/powerpc')
27 files changed, 583 insertions, 1655 deletions
diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig index e625e9e034ae..48fb4790bfec 100644 --- a/arch/powerpc/Kconfig +++ b/arch/powerpc/Kconfig | |||
@@ -116,7 +116,7 @@ config PPC | |||
116 | bool | 116 | bool |
117 | default y | 117 | default y |
118 | select OF | 118 | select OF |
119 | select OF_FLATTREE | 119 | select OF_EARLY_FLATTREE |
120 | select HAVE_FTRACE_MCOUNT_RECORD | 120 | select HAVE_FTRACE_MCOUNT_RECORD |
121 | select HAVE_DYNAMIC_FTRACE | 121 | select HAVE_DYNAMIC_FTRACE |
122 | select HAVE_FUNCTION_TRACER | 122 | select HAVE_FUNCTION_TRACER |
diff --git a/arch/powerpc/boot/Makefile b/arch/powerpc/boot/Makefile index fae8192c8fcc..96deec63bcf3 100644 --- a/arch/powerpc/boot/Makefile +++ b/arch/powerpc/boot/Makefile | |||
@@ -35,7 +35,7 @@ endif | |||
35 | 35 | ||
36 | BOOTCFLAGS += -I$(obj) -I$(srctree)/$(obj) | 36 | BOOTCFLAGS += -I$(obj) -I$(srctree)/$(obj) |
37 | 37 | ||
38 | DTS_FLAGS ?= -p 1024 | 38 | DTC_FLAGS ?= -p 1024 |
39 | 39 | ||
40 | $(obj)/4xx.o: BOOTCFLAGS += -mcpu=405 | 40 | $(obj)/4xx.o: BOOTCFLAGS += -mcpu=405 |
41 | $(obj)/ebony.o: BOOTCFLAGS += -mcpu=405 | 41 | $(obj)/ebony.o: BOOTCFLAGS += -mcpu=405 |
@@ -332,10 +332,8 @@ $(obj)/treeImage.%: vmlinux $(obj)/%.dtb $(wrapperbits) | |||
332 | $(call if_changed,wrap,treeboot-$*,,$(obj)/$*.dtb) | 332 | $(call if_changed,wrap,treeboot-$*,,$(obj)/$*.dtb) |
333 | 333 | ||
334 | # Rule to build device tree blobs | 334 | # Rule to build device tree blobs |
335 | DTC = $(objtree)/scripts/dtc/dtc | 335 | $(obj)/%.dtb: $(src)/dts/%.dts |
336 | 336 | $(call cmd,dtc) | |
337 | $(obj)/%.dtb: $(dtstree)/%.dts | ||
338 | $(DTC) -O dtb -o $(obj)/$*.dtb -b 0 $(DTS_FLAGS) $(dtstree)/$*.dts | ||
339 | 337 | ||
340 | # If there isn't a platform selected then just strip the vmlinux. | 338 | # If there isn't a platform selected then just strip the vmlinux. |
341 | ifeq (,$(image-y)) | 339 | ifeq (,$(image-y)) |
diff --git a/arch/powerpc/boot/dts/bluestone.dts b/arch/powerpc/boot/dts/bluestone.dts index 9bb3d72c0e5a..2a56a0dbd1f7 100644 --- a/arch/powerpc/boot/dts/bluestone.dts +++ b/arch/powerpc/boot/dts/bluestone.dts | |||
@@ -33,7 +33,7 @@ | |||
33 | aliases { | 33 | aliases { |
34 | ethernet0 = &EMAC0; | 34 | ethernet0 = &EMAC0; |
35 | serial0 = &UART0; | 35 | serial0 = &UART0; |
36 | serial1 = &UART1; | 36 | //serial1 = &UART1; --gcl missing UART1 label |
37 | }; | 37 | }; |
38 | 38 | ||
39 | cpus { | 39 | cpus { |
@@ -52,7 +52,7 @@ | |||
52 | d-cache-size = <32768>; | 52 | d-cache-size = <32768>; |
53 | dcr-controller; | 53 | dcr-controller; |
54 | dcr-access-method = "native"; | 54 | dcr-access-method = "native"; |
55 | next-level-cache = <&L2C0>; | 55 | //next-level-cache = <&L2C0>; --gcl missing L2C0 label |
56 | }; | 56 | }; |
57 | }; | 57 | }; |
58 | 58 | ||
@@ -142,7 +142,7 @@ | |||
142 | /*RXEOB*/ 0x7 0x4 | 142 | /*RXEOB*/ 0x7 0x4 |
143 | /*SERR*/ 0x3 0x4 | 143 | /*SERR*/ 0x3 0x4 |
144 | /*TXDE*/ 0x4 0x4 | 144 | /*TXDE*/ 0x4 0x4 |
145 | /*RXDE*/ 0x5 0x4 | 145 | /*RXDE*/ 0x5 0x4>; |
146 | }; | 146 | }; |
147 | 147 | ||
148 | POB0: opb { | 148 | POB0: opb { |
@@ -182,7 +182,7 @@ | |||
182 | reg = <0x001a0000 0x00060000>; | 182 | reg = <0x001a0000 0x00060000>; |
183 | }; | 183 | }; |
184 | }; | 184 | }; |
185 | } | 185 | }; |
186 | 186 | ||
187 | UART0: serial@ef600300 { | 187 | UART0: serial@ef600300 { |
188 | device_type = "serial"; | 188 | device_type = "serial"; |
diff --git a/arch/powerpc/boot/dts/cm5200.dts b/arch/powerpc/boot/dts/cm5200.dts index dd3860846f15..ad3a4f4a2b04 100644 --- a/arch/powerpc/boot/dts/cm5200.dts +++ b/arch/powerpc/boot/dts/cm5200.dts | |||
@@ -10,220 +10,74 @@ | |||
10 | * option) any later version. | 10 | * option) any later version. |
11 | */ | 11 | */ |
12 | 12 | ||
13 | /dts-v1/; | 13 | /include/ "mpc5200b.dtsi" |
14 | 14 | ||
15 | / { | 15 | / { |
16 | model = "schindler,cm5200"; | 16 | model = "schindler,cm5200"; |
17 | compatible = "schindler,cm5200"; | 17 | compatible = "schindler,cm5200"; |
18 | #address-cells = <1>; | ||
19 | #size-cells = <1>; | ||
20 | interrupt-parent = <&mpc5200_pic>; | ||
21 | |||
22 | cpus { | ||
23 | #address-cells = <1>; | ||
24 | #size-cells = <0>; | ||
25 | |||
26 | PowerPC,5200@0 { | ||
27 | device_type = "cpu"; | ||
28 | reg = <0>; | ||
29 | d-cache-line-size = <32>; | ||
30 | i-cache-line-size = <32>; | ||
31 | d-cache-size = <0x4000>; // L1, 16K | ||
32 | i-cache-size = <0x4000>; // L1, 16K | ||
33 | timebase-frequency = <0>; // from bootloader | ||
34 | bus-frequency = <0>; // from bootloader | ||
35 | clock-frequency = <0>; // from bootloader | ||
36 | }; | ||
37 | }; | ||
38 | |||
39 | memory { | ||
40 | device_type = "memory"; | ||
41 | reg = <0x00000000 0x04000000>; // 64MB | ||
42 | }; | ||
43 | 18 | ||
44 | soc5200@f0000000 { | 19 | soc5200@f0000000 { |
45 | #address-cells = <1>; | ||
46 | #size-cells = <1>; | ||
47 | compatible = "fsl,mpc5200b-immr"; | ||
48 | ranges = <0 0xf0000000 0x0000c000>; | ||
49 | reg = <0xf0000000 0x00000100>; | ||
50 | bus-frequency = <0>; // from bootloader | ||
51 | system-frequency = <0>; // from bootloader | ||
52 | |||
53 | cdm@200 { | ||
54 | compatible = "fsl,mpc5200b-cdm","fsl,mpc5200-cdm"; | ||
55 | reg = <0x200 0x38>; | ||
56 | }; | ||
57 | |||
58 | mpc5200_pic: interrupt-controller@500 { | ||
59 | // 5200 interrupts are encoded into two levels; | ||
60 | interrupt-controller; | ||
61 | #interrupt-cells = <3>; | ||
62 | compatible = "fsl,mpc5200b-pic","fsl,mpc5200-pic"; | ||
63 | reg = <0x500 0x80>; | ||
64 | }; | ||
65 | |||
66 | timer@600 { // General Purpose Timer | 20 | timer@600 { // General Purpose Timer |
67 | compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt"; | ||
68 | reg = <0x600 0x10>; | ||
69 | interrupts = <1 9 0>; | ||
70 | fsl,has-wdt; | 21 | fsl,has-wdt; |
71 | }; | 22 | }; |
72 | 23 | ||
73 | timer@610 { // General Purpose Timer | 24 | can@900 { |
74 | compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt"; | 25 | status = "disabled"; |
75 | reg = <0x610 0x10>; | ||
76 | interrupts = <1 10 0>; | ||
77 | }; | ||
78 | |||
79 | timer@620 { // General Purpose Timer | ||
80 | compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt"; | ||
81 | reg = <0x620 0x10>; | ||
82 | interrupts = <1 11 0>; | ||
83 | }; | ||
84 | |||
85 | timer@630 { // General Purpose Timer | ||
86 | compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt"; | ||
87 | reg = <0x630 0x10>; | ||
88 | interrupts = <1 12 0>; | ||
89 | }; | ||
90 | |||
91 | timer@640 { // General Purpose Timer | ||
92 | compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt"; | ||
93 | reg = <0x640 0x10>; | ||
94 | interrupts = <1 13 0>; | ||
95 | }; | ||
96 | |||
97 | timer@650 { // General Purpose Timer | ||
98 | compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt"; | ||
99 | reg = <0x650 0x10>; | ||
100 | interrupts = <1 14 0>; | ||
101 | }; | ||
102 | |||
103 | timer@660 { // General Purpose Timer | ||
104 | compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt"; | ||
105 | reg = <0x660 0x10>; | ||
106 | interrupts = <1 15 0>; | ||
107 | }; | ||
108 | |||
109 | timer@670 { // General Purpose Timer | ||
110 | compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt"; | ||
111 | reg = <0x670 0x10>; | ||
112 | interrupts = <1 16 0>; | ||
113 | }; | 26 | }; |
114 | 27 | ||
115 | rtc@800 { // Real time clock | 28 | can@980 { |
116 | compatible = "fsl,mpc5200b-rtc","fsl,mpc5200-rtc"; | 29 | status = "disabled"; |
117 | reg = <0x800 0x100>; | ||
118 | interrupts = <1 5 0 1 6 0>; | ||
119 | }; | 30 | }; |
120 | 31 | ||
121 | gpio_simple: gpio@b00 { | 32 | psc@2000 { // PSC1 |
122 | compatible = "fsl,mpc5200b-gpio","fsl,mpc5200-gpio"; | 33 | compatible = "fsl,mpc5200b-psc-uart","fsl,mpc5200-psc-uart"; |
123 | reg = <0xb00 0x40>; | ||
124 | interrupts = <1 7 0>; | ||
125 | gpio-controller; | ||
126 | #gpio-cells = <2>; | ||
127 | }; | ||
128 | |||
129 | gpio_wkup: gpio@c00 { | ||
130 | compatible = "fsl,mpc5200b-gpio-wkup","fsl,mpc5200-gpio-wkup"; | ||
131 | reg = <0xc00 0x40>; | ||
132 | interrupts = <1 8 0 0 3 0>; | ||
133 | gpio-controller; | ||
134 | #gpio-cells = <2>; | ||
135 | }; | ||
136 | |||
137 | spi@f00 { | ||
138 | compatible = "fsl,mpc5200b-spi","fsl,mpc5200-spi"; | ||
139 | reg = <0xf00 0x20>; | ||
140 | interrupts = <2 13 0 2 14 0>; | ||
141 | }; | ||
142 | |||
143 | usb@1000 { | ||
144 | compatible = "fsl,mpc5200b-ohci","fsl,mpc5200-ohci","ohci-be"; | ||
145 | reg = <0x1000 0xff>; | ||
146 | interrupts = <2 6 0>; | ||
147 | }; | ||
148 | |||
149 | dma-controller@1200 { | ||
150 | compatible = "fsl,mpc5200b-bestcomm","fsl,mpc5200-bestcomm"; | ||
151 | reg = <0x1200 0x80>; | ||
152 | interrupts = <3 0 0 3 1 0 3 2 0 3 3 0 | ||
153 | 3 4 0 3 5 0 3 6 0 3 7 0 | ||
154 | 3 8 0 3 9 0 3 10 0 3 11 0 | ||
155 | 3 12 0 3 13 0 3 14 0 3 15 0>; | ||
156 | }; | 34 | }; |
157 | 35 | ||
158 | xlb@1f00 { | 36 | psc@2200 { // PSC2 |
159 | compatible = "fsl,mpc5200b-xlb","fsl,mpc5200-xlb"; | 37 | compatible = "fsl,mpc5200b-psc-uart","fsl,mpc5200-psc-uart"; |
160 | reg = <0x1f00 0x100>; | ||
161 | }; | 38 | }; |
162 | 39 | ||
163 | serial@2000 { // PSC1 | 40 | psc@2400 { // PSC3 |
164 | compatible = "fsl,mpc5200b-psc-uart","fsl,mpc5200-psc-uart"; | 41 | compatible = "fsl,mpc5200b-psc-uart","fsl,mpc5200-psc-uart"; |
165 | reg = <0x2000 0x100>; | ||
166 | interrupts = <2 1 0>; | ||
167 | }; | 42 | }; |
168 | 43 | ||
169 | serial@2200 { // PSC2 | 44 | psc@2600 { // PSC4 |
170 | compatible = "fsl,mpc5200b-psc-uart","fsl,mpc5200-psc-uart"; | 45 | status = "disabled"; |
171 | reg = <0x2200 0x100>; | ||
172 | interrupts = <2 2 0>; | ||
173 | }; | 46 | }; |
174 | 47 | ||
175 | serial@2400 { // PSC3 | 48 | psc@2800 { // PSC5 |
176 | compatible = "fsl,mpc5200b-psc-uart","fsl,mpc5200-psc-uart"; | 49 | status = "disabled"; |
177 | reg = <0x2400 0x100>; | ||
178 | interrupts = <2 3 0>; | ||
179 | }; | 50 | }; |
180 | 51 | ||
181 | serial@2c00 { // PSC6 | 52 | psc@2c00 { // PSC6 |
182 | compatible = "fsl,mpc5200b-psc-uart","fsl,mpc5200-psc-uart"; | 53 | compatible = "fsl,mpc5200b-psc-uart","fsl,mpc5200-psc-uart"; |
183 | reg = <0x2c00 0x100>; | ||
184 | interrupts = <2 4 0>; | ||
185 | }; | 54 | }; |
186 | 55 | ||
187 | ethernet@3000 { | 56 | ethernet@3000 { |
188 | compatible = "fsl,mpc5200b-fec","fsl,mpc5200-fec"; | ||
189 | reg = <0x3000 0x400>; | ||
190 | local-mac-address = [ 00 00 00 00 00 00 ]; | ||
191 | interrupts = <2 5 0>; | ||
192 | phy-handle = <&phy0>; | 57 | phy-handle = <&phy0>; |
193 | }; | 58 | }; |
194 | 59 | ||
195 | mdio@3000 { | 60 | mdio@3000 { |
196 | #address-cells = <1>; | ||
197 | #size-cells = <0>; | ||
198 | compatible = "fsl,mpc5200b-mdio","fsl,mpc5200-mdio"; | ||
199 | reg = <0x3000 0x400>; // fec range, since we need to setup fec interrupts | ||
200 | interrupts = <2 5 0>; // these are for "mii command finished", not link changes & co. | ||
201 | |||
202 | phy0: ethernet-phy@0 { | 61 | phy0: ethernet-phy@0 { |
203 | reg = <0>; | 62 | reg = <0>; |
204 | }; | 63 | }; |
205 | }; | 64 | }; |
206 | 65 | ||
207 | i2c@3d40 { | 66 | ata@3a00 { |
208 | #address-cells = <1>; | 67 | status = "disabled"; |
209 | #size-cells = <0>; | ||
210 | compatible = "fsl,mpc5200b-i2c","fsl,mpc5200-i2c","fsl-i2c"; | ||
211 | reg = <0x3d40 0x40>; | ||
212 | interrupts = <2 16 0>; | ||
213 | }; | 68 | }; |
214 | 69 | ||
215 | sram@8000 { | 70 | i2c@3d00 { |
216 | compatible = "fsl,mpc5200b-sram","fsl,mpc5200-sram"; | 71 | status = "disabled"; |
217 | reg = <0x8000 0x4000>; | ||
218 | }; | 72 | }; |
73 | |||
219 | }; | 74 | }; |
220 | 75 | ||
221 | localbus { | 76 | pci@f0000d00 { |
222 | compatible = "fsl,mpc5200b-lpb","simple-bus"; | 77 | status = "disabled"; |
223 | #address-cells = <2>; | 78 | }; |
224 | #size-cells = <1>; | ||
225 | ranges = <0 0 0xfc000000 0x2000000>; | ||
226 | 79 | ||
80 | localbus { | ||
227 | // 16-bit flash device at LocalPlus Bus CS0 | 81 | // 16-bit flash device at LocalPlus Bus CS0 |
228 | flash@0,0 { | 82 | flash@0,0 { |
229 | compatible = "cfi-flash"; | 83 | compatible = "cfi-flash"; |
diff --git a/arch/powerpc/boot/dts/digsy_mtc.dts b/arch/powerpc/boot/dts/digsy_mtc.dts index 8e9be6bfe23e..27bd267d631c 100644 --- a/arch/powerpc/boot/dts/digsy_mtc.dts +++ b/arch/powerpc/boot/dts/digsy_mtc.dts | |||
@@ -11,195 +11,68 @@ | |||
11 | * option) any later version. | 11 | * option) any later version. |
12 | */ | 12 | */ |
13 | 13 | ||
14 | /dts-v1/; | 14 | /include/ "mpc5200b.dtsi" |
15 | 15 | ||
16 | / { | 16 | / { |
17 | model = "intercontrol,digsy-mtc"; | 17 | model = "intercontrol,digsy-mtc"; |
18 | compatible = "intercontrol,digsy-mtc"; | 18 | compatible = "intercontrol,digsy-mtc"; |
19 | #address-cells = <1>; | ||
20 | #size-cells = <1>; | ||
21 | interrupt-parent = <&mpc5200_pic>; | ||
22 | |||
23 | cpus { | ||
24 | #address-cells = <1>; | ||
25 | #size-cells = <0>; | ||
26 | |||
27 | PowerPC,5200@0 { | ||
28 | device_type = "cpu"; | ||
29 | reg = <0>; | ||
30 | d-cache-line-size = <32>; | ||
31 | i-cache-line-size = <32>; | ||
32 | d-cache-size = <0x4000>; // L1, 16K | ||
33 | i-cache-size = <0x4000>; // L1, 16K | ||
34 | timebase-frequency = <0>; // from bootloader | ||
35 | bus-frequency = <0>; // from bootloader | ||
36 | clock-frequency = <0>; // from bootloader | ||
37 | }; | ||
38 | }; | ||
39 | 19 | ||
40 | memory { | 20 | memory { |
41 | device_type = "memory"; | ||
42 | reg = <0x00000000 0x02000000>; // 32MB | 21 | reg = <0x00000000 0x02000000>; // 32MB |
43 | }; | 22 | }; |
44 | 23 | ||
45 | soc5200@f0000000 { | 24 | soc5200@f0000000 { |
46 | #address-cells = <1>; | ||
47 | #size-cells = <1>; | ||
48 | compatible = "fsl,mpc5200b-immr"; | ||
49 | ranges = <0 0xf0000000 0x0000c000>; | ||
50 | reg = <0xf0000000 0x00000100>; | ||
51 | bus-frequency = <0>; // from bootloader | ||
52 | system-frequency = <0>; // from bootloader | ||
53 | |||
54 | cdm@200 { | ||
55 | compatible = "fsl,mpc5200b-cdm","fsl,mpc5200-cdm"; | ||
56 | reg = <0x200 0x38>; | ||
57 | }; | ||
58 | |||
59 | mpc5200_pic: interrupt-controller@500 { | ||
60 | // 5200 interrupts are encoded into two levels; | ||
61 | interrupt-controller; | ||
62 | #interrupt-cells = <3>; | ||
63 | compatible = "fsl,mpc5200b-pic","fsl,mpc5200-pic"; | ||
64 | reg = <0x500 0x80>; | ||
65 | }; | ||
66 | |||
67 | timer@600 { // General Purpose Timer | 25 | timer@600 { // General Purpose Timer |
68 | compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt"; | ||
69 | reg = <0x600 0x10>; | ||
70 | interrupts = <1 9 0>; | ||
71 | fsl,has-wdt; | 26 | fsl,has-wdt; |
72 | }; | 27 | }; |
73 | 28 | ||
74 | timer@610 { // General Purpose Timer | 29 | rtc@800 { |
75 | compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt"; | 30 | status = "disabled"; |
76 | reg = <0x610 0x10>; | ||
77 | interrupts = <1 10 0>; | ||
78 | }; | ||
79 | |||
80 | timer@620 { // General Purpose Timer | ||
81 | compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt"; | ||
82 | reg = <0x620 0x10>; | ||
83 | interrupts = <1 11 0>; | ||
84 | }; | ||
85 | |||
86 | timer@630 { // General Purpose Timer | ||
87 | compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt"; | ||
88 | reg = <0x630 0x10>; | ||
89 | interrupts = <1 12 0>; | ||
90 | }; | ||
91 | |||
92 | timer@640 { // General Purpose Timer | ||
93 | compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt"; | ||
94 | reg = <0x640 0x10>; | ||
95 | interrupts = <1 13 0>; | ||
96 | }; | ||
97 | |||
98 | timer@650 { // General Purpose Timer | ||
99 | compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt"; | ||
100 | reg = <0x650 0x10>; | ||
101 | interrupts = <1 14 0>; | ||
102 | }; | 31 | }; |
103 | 32 | ||
104 | timer@660 { // General Purpose Timer | 33 | can@900 { |
105 | compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt"; | 34 | status = "disabled"; |
106 | reg = <0x660 0x10>; | ||
107 | interrupts = <1 15 0>; | ||
108 | }; | 35 | }; |
109 | 36 | ||
110 | timer@670 { // General Purpose Timer | 37 | can@980 { |
111 | compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt"; | 38 | status = "disabled"; |
112 | reg = <0x670 0x10>; | ||
113 | interrupts = <1 16 0>; | ||
114 | }; | 39 | }; |
115 | 40 | ||
116 | gpio_simple: gpio@b00 { | 41 | psc@2000 { // PSC1 |
117 | compatible = "fsl,mpc5200b-gpio","fsl,mpc5200-gpio"; | 42 | status = "disabled"; |
118 | reg = <0xb00 0x40>; | ||
119 | interrupts = <1 7 0>; | ||
120 | gpio-controller; | ||
121 | #gpio-cells = <2>; | ||
122 | }; | 43 | }; |
123 | 44 | ||
124 | gpio_wkup: gpio@c00 { | 45 | psc@2200 { // PSC2 |
125 | compatible = "fsl,mpc5200b-gpio-wkup","fsl,mpc5200-gpio-wkup"; | 46 | status = "disabled"; |
126 | reg = <0xc00 0x40>; | ||
127 | interrupts = <1 8 0 0 3 0>; | ||
128 | gpio-controller; | ||
129 | #gpio-cells = <2>; | ||
130 | }; | 47 | }; |
131 | 48 | ||
132 | spi@f00 { | 49 | psc@2400 { // PSC3 |
133 | compatible = "fsl,mpc5200b-spi","fsl,mpc5200-spi"; | 50 | status = "disabled"; |
134 | reg = <0xf00 0x20>; | ||
135 | interrupts = <2 13 0 2 14 0>; | ||
136 | }; | 51 | }; |
137 | 52 | ||
138 | usb@1000 { | 53 | psc@2600 { // PSC4 |
139 | compatible = "fsl,mpc5200b-ohci","fsl,mpc5200-ohci","ohci-be"; | 54 | compatible = "fsl,mpc5200b-psc-uart","fsl,mpc5200-psc-uart"; |
140 | reg = <0x1000 0xff>; | ||
141 | interrupts = <2 6 0>; | ||
142 | }; | ||
143 | |||
144 | dma-controller@1200 { | ||
145 | compatible = "fsl,mpc5200b-bestcomm","fsl,mpc5200-bestcomm"; | ||
146 | reg = <0x1200 0x80>; | ||
147 | interrupts = <3 0 0 3 1 0 3 2 0 3 3 0 | ||
148 | 3 4 0 3 5 0 3 6 0 3 7 0 | ||
149 | 3 8 0 3 9 0 3 10 0 3 11 0 | ||
150 | 3 12 0 3 13 0 3 14 0 3 15 0>; | ||
151 | }; | ||
152 | |||
153 | xlb@1f00 { | ||
154 | compatible = "fsl,mpc5200b-xlb","fsl,mpc5200-xlb"; | ||
155 | reg = <0x1f00 0x100>; | ||
156 | }; | 55 | }; |
157 | 56 | ||
158 | serial@2600 { // PSC4 | 57 | psc@2800 { // PSC5 |
159 | compatible = "fsl,mpc5200b-psc-uart","fsl,mpc5200-psc-uart"; | 58 | compatible = "fsl,mpc5200b-psc-uart","fsl,mpc5200-psc-uart"; |
160 | reg = <0x2600 0x100>; | ||
161 | interrupts = <2 11 0>; | ||
162 | }; | 59 | }; |
163 | 60 | ||
164 | serial@2800 { // PSC5 | 61 | psc@2c00 { // PSC6 |
165 | compatible = "fsl,mpc5200b-psc-uart","fsl,mpc5200-psc-uart"; | 62 | status = "disabled"; |
166 | reg = <0x2800 0x100>; | ||
167 | interrupts = <2 12 0>; | ||
168 | }; | 63 | }; |
169 | 64 | ||
170 | ethernet@3000 { | 65 | ethernet@3000 { |
171 | compatible = "fsl,mpc5200b-fec","fsl,mpc5200-fec"; | ||
172 | reg = <0x3000 0x400>; | ||
173 | local-mac-address = [ 00 00 00 00 00 00 ]; | ||
174 | interrupts = <2 5 0>; | ||
175 | phy-handle = <&phy0>; | 66 | phy-handle = <&phy0>; |
176 | }; | 67 | }; |
177 | 68 | ||
178 | mdio@3000 { | 69 | mdio@3000 { |
179 | #address-cells = <1>; | ||
180 | #size-cells = <0>; | ||
181 | compatible = "fsl,mpc5200b-mdio","fsl,mpc5200-mdio"; | ||
182 | reg = <0x3000 0x400>; // fec range, since we need to setup fec interrupts | ||
183 | interrupts = <2 5 0>; // these are for "mii command finished", not link changes & co. | ||
184 | |||
185 | phy0: ethernet-phy@0 { | 70 | phy0: ethernet-phy@0 { |
186 | reg = <0>; | 71 | reg = <0>; |
187 | }; | 72 | }; |
188 | }; | 73 | }; |
189 | 74 | ||
190 | ata@3a00 { | ||
191 | compatible = "fsl,mpc5200b-ata","fsl,mpc5200-ata"; | ||
192 | reg = <0x3a00 0x100>; | ||
193 | interrupts = <2 7 0>; | ||
194 | }; | ||
195 | |||
196 | i2c@3d00 { | 75 | i2c@3d00 { |
197 | #address-cells = <1>; | ||
198 | #size-cells = <0>; | ||
199 | compatible = "fsl,mpc5200b-i2c","fsl,mpc5200-i2c","fsl-i2c"; | ||
200 | reg = <0x3d00 0x40>; | ||
201 | interrupts = <2 15 0>; | ||
202 | |||
203 | rtc@50 { | 76 | rtc@50 { |
204 | compatible = "at,24c08"; | 77 | compatible = "at,24c08"; |
205 | reg = <0x50>; | 78 | reg = <0x50>; |
@@ -211,16 +84,16 @@ | |||
211 | }; | 84 | }; |
212 | }; | 85 | }; |
213 | 86 | ||
214 | sram@8000 { | 87 | i2c@3d40 { |
215 | compatible = "fsl,mpc5200b-sram","fsl,mpc5200-sram"; | 88 | status = "disabled"; |
216 | reg = <0x8000 0x4000>; | ||
217 | }; | 89 | }; |
218 | }; | 90 | }; |
219 | 91 | ||
220 | lpb { | 92 | pci@f0000d00 { |
221 | compatible = "fsl,mpc5200b-lpb","simple-bus"; | 93 | status = "disabled"; |
222 | #address-cells = <2>; | 94 | }; |
223 | #size-cells = <1>; | 95 | |
96 | localbus { | ||
224 | ranges = <0 0 0xff000000 0x1000000>; | 97 | ranges = <0 0 0xff000000 0x1000000>; |
225 | 98 | ||
226 | // 16-bit flash device at LocalPlus Bus CS0 | 99 | // 16-bit flash device at LocalPlus Bus CS0 |
diff --git a/arch/powerpc/boot/dts/hotfoot.dts b/arch/powerpc/boot/dts/hotfoot.dts index cad9c3840afc..71d3bb4931dc 100644 --- a/arch/powerpc/boot/dts/hotfoot.dts +++ b/arch/powerpc/boot/dts/hotfoot.dts | |||
@@ -117,6 +117,8 @@ | |||
117 | }; | 117 | }; |
118 | 118 | ||
119 | IIC: i2c@ef600500 { | 119 | IIC: i2c@ef600500 { |
120 | #address-cells = <1>; | ||
121 | #size-cells = <0>; | ||
120 | compatible = "ibm,iic-405ep", "ibm,iic"; | 122 | compatible = "ibm,iic-405ep", "ibm,iic"; |
121 | reg = <0xef600500 0x00000011>; | 123 | reg = <0xef600500 0x00000011>; |
122 | interrupt-parent = <&UIC0>; | 124 | interrupt-parent = <&UIC0>; |
diff --git a/arch/powerpc/boot/dts/lite5200b.dts b/arch/powerpc/boot/dts/lite5200b.dts index 59702ace900f..fb288bb882b6 100644 --- a/arch/powerpc/boot/dts/lite5200b.dts +++ b/arch/powerpc/boot/dts/lite5200b.dts | |||
@@ -10,256 +10,75 @@ | |||
10 | * option) any later version. | 10 | * option) any later version. |
11 | */ | 11 | */ |
12 | 12 | ||
13 | /dts-v1/; | 13 | /include/ "mpc5200b.dtsi" |
14 | 14 | ||
15 | / { | 15 | / { |
16 | model = "fsl,lite5200b"; | 16 | model = "fsl,lite5200b"; |
17 | compatible = "fsl,lite5200b"; | 17 | compatible = "fsl,lite5200b"; |
18 | #address-cells = <1>; | ||
19 | #size-cells = <1>; | ||
20 | interrupt-parent = <&mpc5200_pic>; | ||
21 | |||
22 | cpus { | ||
23 | #address-cells = <1>; | ||
24 | #size-cells = <0>; | ||
25 | |||
26 | PowerPC,5200@0 { | ||
27 | device_type = "cpu"; | ||
28 | reg = <0>; | ||
29 | d-cache-line-size = <32>; | ||
30 | i-cache-line-size = <32>; | ||
31 | d-cache-size = <0x4000>; // L1, 16K | ||
32 | i-cache-size = <0x4000>; // L1, 16K | ||
33 | timebase-frequency = <0>; // from bootloader | ||
34 | bus-frequency = <0>; // from bootloader | ||
35 | clock-frequency = <0>; // from bootloader | ||
36 | }; | ||
37 | }; | ||
38 | 18 | ||
39 | memory { | 19 | memory { |
40 | device_type = "memory"; | ||
41 | reg = <0x00000000 0x10000000>; // 256MB | 20 | reg = <0x00000000 0x10000000>; // 256MB |
42 | }; | 21 | }; |
43 | 22 | ||
44 | soc5200@f0000000 { | 23 | soc5200@f0000000 { |
45 | #address-cells = <1>; | ||
46 | #size-cells = <1>; | ||
47 | compatible = "fsl,mpc5200b-immr"; | ||
48 | ranges = <0 0xf0000000 0x0000c000>; | ||
49 | reg = <0xf0000000 0x00000100>; | ||
50 | bus-frequency = <0>; // from bootloader | ||
51 | system-frequency = <0>; // from bootloader | ||
52 | |||
53 | cdm@200 { | ||
54 | compatible = "fsl,mpc5200b-cdm","fsl,mpc5200-cdm"; | ||
55 | reg = <0x200 0x38>; | ||
56 | }; | ||
57 | |||
58 | mpc5200_pic: interrupt-controller@500 { | ||
59 | // 5200 interrupts are encoded into two levels; | ||
60 | interrupt-controller; | ||
61 | #interrupt-cells = <3>; | ||
62 | compatible = "fsl,mpc5200b-pic","fsl,mpc5200-pic"; | ||
63 | reg = <0x500 0x80>; | ||
64 | }; | ||
65 | |||
66 | timer@600 { // General Purpose Timer | 24 | timer@600 { // General Purpose Timer |
67 | compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt"; | ||
68 | reg = <0x600 0x10>; | ||
69 | interrupts = <1 9 0>; | ||
70 | fsl,has-wdt; | 25 | fsl,has-wdt; |
71 | }; | 26 | }; |
72 | 27 | ||
73 | timer@610 { // General Purpose Timer | 28 | psc@2000 { // PSC1 |
74 | compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt"; | 29 | compatible = "fsl,mpc5200b-psc-uart","fsl,mpc5200-psc-uart"; |
75 | reg = <0x610 0x10>; | 30 | cell-index = <0>; |
76 | interrupts = <1 10 0>; | ||
77 | }; | ||
78 | |||
79 | timer@620 { // General Purpose Timer | ||
80 | compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt"; | ||
81 | reg = <0x620 0x10>; | ||
82 | interrupts = <1 11 0>; | ||
83 | }; | ||
84 | |||
85 | timer@630 { // General Purpose Timer | ||
86 | compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt"; | ||
87 | reg = <0x630 0x10>; | ||
88 | interrupts = <1 12 0>; | ||
89 | }; | ||
90 | |||
91 | timer@640 { // General Purpose Timer | ||
92 | compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt"; | ||
93 | reg = <0x640 0x10>; | ||
94 | interrupts = <1 13 0>; | ||
95 | }; | ||
96 | |||
97 | timer@650 { // General Purpose Timer | ||
98 | compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt"; | ||
99 | reg = <0x650 0x10>; | ||
100 | interrupts = <1 14 0>; | ||
101 | }; | ||
102 | |||
103 | timer@660 { // General Purpose Timer | ||
104 | compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt"; | ||
105 | reg = <0x660 0x10>; | ||
106 | interrupts = <1 15 0>; | ||
107 | }; | ||
108 | |||
109 | timer@670 { // General Purpose Timer | ||
110 | compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt"; | ||
111 | reg = <0x670 0x10>; | ||
112 | interrupts = <1 16 0>; | ||
113 | }; | ||
114 | |||
115 | rtc@800 { // Real time clock | ||
116 | compatible = "fsl,mpc5200b-rtc","fsl,mpc5200-rtc"; | ||
117 | reg = <0x800 0x100>; | ||
118 | interrupts = <1 5 0 1 6 0>; | ||
119 | }; | ||
120 | |||
121 | can@900 { | ||
122 | compatible = "fsl,mpc5200b-mscan","fsl,mpc5200-mscan"; | ||
123 | interrupts = <2 17 0>; | ||
124 | reg = <0x900 0x80>; | ||
125 | }; | ||
126 | |||
127 | can@980 { | ||
128 | compatible = "fsl,mpc5200b-mscan","fsl,mpc5200-mscan"; | ||
129 | interrupts = <2 18 0>; | ||
130 | reg = <0x980 0x80>; | ||
131 | }; | ||
132 | |||
133 | gpio_simple: gpio@b00 { | ||
134 | compatible = "fsl,mpc5200b-gpio","fsl,mpc5200-gpio"; | ||
135 | reg = <0xb00 0x40>; | ||
136 | interrupts = <1 7 0>; | ||
137 | gpio-controller; | ||
138 | #gpio-cells = <2>; | ||
139 | }; | ||
140 | |||
141 | gpio_wkup: gpio@c00 { | ||
142 | compatible = "fsl,mpc5200b-gpio-wkup","fsl,mpc5200-gpio-wkup"; | ||
143 | reg = <0xc00 0x40>; | ||
144 | interrupts = <1 8 0 0 3 0>; | ||
145 | gpio-controller; | ||
146 | #gpio-cells = <2>; | ||
147 | }; | 31 | }; |
148 | 32 | ||
149 | spi@f00 { | 33 | psc@2200 { // PSC2 |
150 | compatible = "fsl,mpc5200b-spi","fsl,mpc5200-spi"; | 34 | status = "disabled"; |
151 | reg = <0xf00 0x20>; | ||
152 | interrupts = <2 13 0 2 14 0>; | ||
153 | }; | 35 | }; |
154 | 36 | ||
155 | usb@1000 { | 37 | psc@2400 { // PSC3 |
156 | compatible = "fsl,mpc5200b-ohci","fsl,mpc5200-ohci","ohci-be"; | 38 | status = "disabled"; |
157 | reg = <0x1000 0xff>; | ||
158 | interrupts = <2 6 0>; | ||
159 | }; | 39 | }; |
160 | 40 | ||
161 | dma-controller@1200 { | 41 | psc@2600 { // PSC4 |
162 | compatible = "fsl,mpc5200b-bestcomm","fsl,mpc5200-bestcomm"; | 42 | status = "disabled"; |
163 | reg = <0x1200 0x80>; | ||
164 | interrupts = <3 0 0 3 1 0 3 2 0 3 3 0 | ||
165 | 3 4 0 3 5 0 3 6 0 3 7 0 | ||
166 | 3 8 0 3 9 0 3 10 0 3 11 0 | ||
167 | 3 12 0 3 13 0 3 14 0 3 15 0>; | ||
168 | }; | 43 | }; |
169 | 44 | ||
170 | xlb@1f00 { | 45 | psc@2800 { // PSC5 |
171 | compatible = "fsl,mpc5200b-xlb","fsl,mpc5200-xlb"; | 46 | status = "disabled"; |
172 | reg = <0x1f00 0x100>; | ||
173 | }; | 47 | }; |
174 | 48 | ||
175 | serial@2000 { // PSC1 | 49 | psc@2c00 { // PSC6 |
176 | compatible = "fsl,mpc5200b-psc-uart","fsl,mpc5200-psc-uart"; | 50 | status = "disabled"; |
177 | cell-index = <0>; | ||
178 | reg = <0x2000 0x100>; | ||
179 | interrupts = <2 1 0>; | ||
180 | }; | 51 | }; |
181 | 52 | ||
182 | // PSC2 in ac97 mode example | 53 | // PSC2 in ac97 mode example |
183 | //ac97@2200 { // PSC2 | 54 | //ac97@2200 { // PSC2 |
184 | // compatible = "fsl,mpc5200b-psc-ac97","fsl,mpc5200-psc-ac97"; | 55 | // compatible = "fsl,mpc5200b-psc-ac97","fsl,mpc5200-psc-ac97"; |
185 | // cell-index = <1>; | 56 | // cell-index = <1>; |
186 | // reg = <0x2200 0x100>; | ||
187 | // interrupts = <2 2 0>; | ||
188 | //}; | 57 | //}; |
189 | 58 | ||
190 | // PSC3 in CODEC mode example | 59 | // PSC3 in CODEC mode example |
191 | //i2s@2400 { // PSC3 | 60 | //i2s@2400 { // PSC3 |
192 | // compatible = "fsl,mpc5200b-psc-i2s"; //not 5200 compatible | 61 | // compatible = "fsl,mpc5200b-psc-i2s"; //not 5200 compatible |
193 | // cell-index = <2>; | 62 | // cell-index = <2>; |
194 | // reg = <0x2400 0x100>; | ||
195 | // interrupts = <2 3 0>; | ||
196 | //}; | ||
197 | |||
198 | // PSC4 in uart mode example | ||
199 | //serial@2600 { // PSC4 | ||
200 | // compatible = "fsl,mpc5200b-psc-uart","fsl,mpc5200-psc-uart"; | ||
201 | // cell-index = <3>; | ||
202 | // reg = <0x2600 0x100>; | ||
203 | // interrupts = <2 11 0>; | ||
204 | //}; | ||
205 | |||
206 | // PSC5 in uart mode example | ||
207 | //serial@2800 { // PSC5 | ||
208 | // compatible = "fsl,mpc5200b-psc-uart","fsl,mpc5200-psc-uart"; | ||
209 | // cell-index = <4>; | ||
210 | // reg = <0x2800 0x100>; | ||
211 | // interrupts = <2 12 0>; | ||
212 | //}; | 63 | //}; |
213 | 64 | ||
214 | // PSC6 in spi mode example | 65 | // PSC6 in spi mode example |
215 | //spi@2c00 { // PSC6 | 66 | //spi@2c00 { // PSC6 |
216 | // compatible = "fsl,mpc5200b-psc-spi","fsl,mpc5200-psc-spi"; | 67 | // compatible = "fsl,mpc5200b-psc-spi","fsl,mpc5200-psc-spi"; |
217 | // cell-index = <5>; | 68 | // cell-index = <5>; |
218 | // reg = <0x2c00 0x100>; | ||
219 | // interrupts = <2 4 0>; | ||
220 | //}; | 69 | //}; |
221 | 70 | ||
222 | ethernet@3000 { | 71 | ethernet@3000 { |
223 | compatible = "fsl,mpc5200b-fec","fsl,mpc5200-fec"; | ||
224 | reg = <0x3000 0x400>; | ||
225 | local-mac-address = [ 00 00 00 00 00 00 ]; | ||
226 | interrupts = <2 5 0>; | ||
227 | phy-handle = <&phy0>; | 72 | phy-handle = <&phy0>; |
228 | }; | 73 | }; |
229 | 74 | ||
230 | mdio@3000 { | 75 | mdio@3000 { |
231 | #address-cells = <1>; | ||
232 | #size-cells = <0>; | ||
233 | compatible = "fsl,mpc5200b-mdio","fsl,mpc5200-mdio"; | ||
234 | reg = <0x3000 0x400>; // fec range, since we need to setup fec interrupts | ||
235 | interrupts = <2 5 0>; // these are for "mii command finished", not link changes & co. | ||
236 | |||
237 | phy0: ethernet-phy@0 { | 76 | phy0: ethernet-phy@0 { |
238 | reg = <0>; | 77 | reg = <0>; |
239 | }; | 78 | }; |
240 | }; | 79 | }; |
241 | 80 | ||
242 | ata@3a00 { | ||
243 | compatible = "fsl,mpc5200b-ata","fsl,mpc5200-ata"; | ||
244 | reg = <0x3a00 0x100>; | ||
245 | interrupts = <2 7 0>; | ||
246 | }; | ||
247 | |||
248 | i2c@3d00 { | ||
249 | #address-cells = <1>; | ||
250 | #size-cells = <0>; | ||
251 | compatible = "fsl,mpc5200b-i2c","fsl,mpc5200-i2c","fsl-i2c"; | ||
252 | reg = <0x3d00 0x40>; | ||
253 | interrupts = <2 15 0>; | ||
254 | }; | ||
255 | |||
256 | i2c@3d40 { | 81 | i2c@3d40 { |
257 | #address-cells = <1>; | ||
258 | #size-cells = <0>; | ||
259 | compatible = "fsl,mpc5200b-i2c","fsl,mpc5200-i2c","fsl-i2c"; | ||
260 | reg = <0x3d40 0x40>; | ||
261 | interrupts = <2 16 0>; | ||
262 | |||
263 | eeprom@50 { | 82 | eeprom@50 { |
264 | compatible = "atmel,24c02"; | 83 | compatible = "atmel,24c02"; |
265 | reg = <0x50>; | 84 | reg = <0x50>; |
@@ -273,12 +92,6 @@ | |||
273 | }; | 92 | }; |
274 | 93 | ||
275 | pci@f0000d00 { | 94 | pci@f0000d00 { |
276 | #interrupt-cells = <1>; | ||
277 | #size-cells = <2>; | ||
278 | #address-cells = <3>; | ||
279 | device_type = "pci"; | ||
280 | compatible = "fsl,mpc5200b-pci","fsl,mpc5200-pci"; | ||
281 | reg = <0xf0000d00 0x100>; | ||
282 | interrupt-map-mask = <0xf800 0 0 7>; | 95 | interrupt-map-mask = <0xf800 0 0 7>; |
283 | interrupt-map = <0xc000 0 0 1 &mpc5200_pic 0 0 3 // 1st slot | 96 | interrupt-map = <0xc000 0 0 1 &mpc5200_pic 0 0 3 // 1st slot |
284 | 0xc000 0 0 2 &mpc5200_pic 1 1 3 | 97 | 0xc000 0 0 2 &mpc5200_pic 1 1 3 |
@@ -298,11 +111,6 @@ | |||
298 | }; | 111 | }; |
299 | 112 | ||
300 | localbus { | 113 | localbus { |
301 | compatible = "fsl,mpc5200b-lpb","fsl,mpc5200-lpb","simple-bus"; | ||
302 | |||
303 | #address-cells = <2>; | ||
304 | #size-cells = <1>; | ||
305 | |||
306 | ranges = <0 0 0xfe000000 0x02000000>; | 114 | ranges = <0 0 0xfe000000 0x02000000>; |
307 | 115 | ||
308 | flash@0,0 { | 116 | flash@0,0 { |
diff --git a/arch/powerpc/boot/dts/media5200.dts b/arch/powerpc/boot/dts/media5200.dts index 0c3902bc5b6a..48d72f38e5ed 100644 --- a/arch/powerpc/boot/dts/media5200.dts +++ b/arch/powerpc/boot/dts/media5200.dts | |||
@@ -11,14 +11,11 @@ | |||
11 | * option) any later version. | 11 | * option) any later version. |
12 | */ | 12 | */ |
13 | 13 | ||
14 | /dts-v1/; | 14 | /include/ "mpc5200b.dtsi" |
15 | 15 | ||
16 | / { | 16 | / { |
17 | model = "fsl,media5200"; | 17 | model = "fsl,media5200"; |
18 | compatible = "fsl,media5200"; | 18 | compatible = "fsl,media5200"; |
19 | #address-cells = <1>; | ||
20 | #size-cells = <1>; | ||
21 | interrupt-parent = <&mpc5200_pic>; | ||
22 | 19 | ||
23 | aliases { | 20 | aliases { |
24 | console = &console; | 21 | console = &console; |
@@ -30,16 +27,7 @@ | |||
30 | }; | 27 | }; |
31 | 28 | ||
32 | cpus { | 29 | cpus { |
33 | #address-cells = <1>; | ||
34 | #size-cells = <0>; | ||
35 | |||
36 | PowerPC,5200@0 { | 30 | PowerPC,5200@0 { |
37 | device_type = "cpu"; | ||
38 | reg = <0>; | ||
39 | d-cache-line-size = <32>; | ||
40 | i-cache-line-size = <32>; | ||
41 | d-cache-size = <0x4000>; // L1, 16K | ||
42 | i-cache-size = <0x4000>; // L1, 16K | ||
43 | timebase-frequency = <33000000>; // 33 MHz, these were configured by U-Boot | 31 | timebase-frequency = <33000000>; // 33 MHz, these were configured by U-Boot |
44 | bus-frequency = <132000000>; // 132 MHz | 32 | bus-frequency = <132000000>; // 132 MHz |
45 | clock-frequency = <396000000>; // 396 MHz | 33 | clock-frequency = <396000000>; // 396 MHz |
@@ -47,205 +35,57 @@ | |||
47 | }; | 35 | }; |
48 | 36 | ||
49 | memory { | 37 | memory { |
50 | device_type = "memory"; | ||
51 | reg = <0x00000000 0x08000000>; // 128MB RAM | 38 | reg = <0x00000000 0x08000000>; // 128MB RAM |
52 | }; | 39 | }; |
53 | 40 | ||
54 | soc@f0000000 { | 41 | soc5200@f0000000 { |
55 | #address-cells = <1>; | ||
56 | #size-cells = <1>; | ||
57 | compatible = "fsl,mpc5200b-immr"; | ||
58 | ranges = <0 0xf0000000 0x0000c000>; | ||
59 | reg = <0xf0000000 0x00000100>; | ||
60 | bus-frequency = <132000000>;// 132 MHz | 42 | bus-frequency = <132000000>;// 132 MHz |
61 | system-frequency = <0>; // from bootloader | ||
62 | |||
63 | cdm@200 { | ||
64 | compatible = "fsl,mpc5200b-cdm","fsl,mpc5200-cdm"; | ||
65 | reg = <0x200 0x38>; | ||
66 | }; | ||
67 | |||
68 | mpc5200_pic: interrupt-controller@500 { | ||
69 | // 5200 interrupts are encoded into two levels; | ||
70 | interrupt-controller; | ||
71 | #interrupt-cells = <3>; | ||
72 | compatible = "fsl,mpc5200b-pic","fsl,mpc5200-pic"; | ||
73 | reg = <0x500 0x80>; | ||
74 | }; | ||
75 | 43 | ||
76 | timer@600 { // General Purpose Timer | 44 | timer@600 { // General Purpose Timer |
77 | compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt"; | ||
78 | reg = <0x600 0x10>; | ||
79 | interrupts = <1 9 0>; | ||
80 | fsl,has-wdt; | 45 | fsl,has-wdt; |
81 | }; | 46 | }; |
82 | 47 | ||
83 | timer@610 { // General Purpose Timer | 48 | psc@2000 { // PSC1 |
84 | compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt"; | 49 | status = "disabled"; |
85 | reg = <0x610 0x10>; | ||
86 | interrupts = <1 10 0>; | ||
87 | }; | ||
88 | |||
89 | timer@620 { // General Purpose Timer | ||
90 | compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt"; | ||
91 | reg = <0x620 0x10>; | ||
92 | interrupts = <1 11 0>; | ||
93 | }; | ||
94 | |||
95 | timer@630 { // General Purpose Timer | ||
96 | compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt"; | ||
97 | reg = <0x630 0x10>; | ||
98 | interrupts = <1 12 0>; | ||
99 | }; | ||
100 | |||
101 | timer@640 { // General Purpose Timer | ||
102 | compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt"; | ||
103 | reg = <0x640 0x10>; | ||
104 | interrupts = <1 13 0>; | ||
105 | }; | ||
106 | |||
107 | timer@650 { // General Purpose Timer | ||
108 | compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt"; | ||
109 | reg = <0x650 0x10>; | ||
110 | interrupts = <1 14 0>; | ||
111 | }; | ||
112 | |||
113 | timer@660 { // General Purpose Timer | ||
114 | compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt"; | ||
115 | reg = <0x660 0x10>; | ||
116 | interrupts = <1 15 0>; | ||
117 | }; | ||
118 | |||
119 | timer@670 { // General Purpose Timer | ||
120 | compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt"; | ||
121 | reg = <0x670 0x10>; | ||
122 | interrupts = <1 16 0>; | ||
123 | }; | ||
124 | |||
125 | rtc@800 { // Real time clock | ||
126 | compatible = "fsl,mpc5200b-rtc","fsl,mpc5200-rtc"; | ||
127 | reg = <0x800 0x100>; | ||
128 | interrupts = <1 5 0 1 6 0>; | ||
129 | }; | ||
130 | |||
131 | can@900 { | ||
132 | compatible = "fsl,mpc5200b-mscan","fsl,mpc5200-mscan"; | ||
133 | interrupts = <2 17 0>; | ||
134 | reg = <0x900 0x80>; | ||
135 | }; | 50 | }; |
136 | 51 | ||
137 | can@980 { | 52 | psc@2200 { // PSC2 |
138 | compatible = "fsl,mpc5200b-mscan","fsl,mpc5200-mscan"; | 53 | status = "disabled"; |
139 | interrupts = <2 18 0>; | ||
140 | reg = <0x980 0x80>; | ||
141 | }; | 54 | }; |
142 | 55 | ||
143 | gpio_simple: gpio@b00 { | 56 | psc@2400 { // PSC3 |
144 | compatible = "fsl,mpc5200b-gpio","fsl,mpc5200-gpio"; | 57 | status = "disabled"; |
145 | reg = <0xb00 0x40>; | ||
146 | interrupts = <1 7 0>; | ||
147 | gpio-controller; | ||
148 | #gpio-cells = <2>; | ||
149 | }; | 58 | }; |
150 | 59 | ||
151 | gpio_wkup: gpio@c00 { | 60 | psc@2600 { // PSC4 |
152 | compatible = "fsl,mpc5200b-gpio-wkup","fsl,mpc5200-gpio-wkup"; | 61 | status = "disabled"; |
153 | reg = <0xc00 0x40>; | ||
154 | interrupts = <1 8 0 0 3 0>; | ||
155 | gpio-controller; | ||
156 | #gpio-cells = <2>; | ||
157 | }; | 62 | }; |
158 | 63 | ||
159 | spi@f00 { | 64 | psc@2800 { // PSC5 |
160 | compatible = "fsl,mpc5200b-spi","fsl,mpc5200-spi"; | 65 | status = "disabled"; |
161 | reg = <0xf00 0x20>; | ||
162 | interrupts = <2 13 0 2 14 0>; | ||
163 | }; | ||
164 | |||
165 | usb@1000 { | ||
166 | compatible = "fsl,mpc5200b-ohci","fsl,mpc5200-ohci","ohci-be"; | ||
167 | reg = <0x1000 0x100>; | ||
168 | interrupts = <2 6 0>; | ||
169 | }; | ||
170 | |||
171 | dma-controller@1200 { | ||
172 | compatible = "fsl,mpc5200b-bestcomm","fsl,mpc5200-bestcomm"; | ||
173 | reg = <0x1200 0x80>; | ||
174 | interrupts = <3 0 0 3 1 0 3 2 0 3 3 0 | ||
175 | 3 4 0 3 5 0 3 6 0 3 7 0 | ||
176 | 3 8 0 3 9 0 3 10 0 3 11 0 | ||
177 | 3 12 0 3 13 0 3 14 0 3 15 0>; | ||
178 | }; | ||
179 | |||
180 | xlb@1f00 { | ||
181 | compatible = "fsl,mpc5200b-xlb","fsl,mpc5200-xlb"; | ||
182 | reg = <0x1f00 0x100>; | ||
183 | }; | 66 | }; |
184 | 67 | ||
185 | // PSC6 in uart mode | 68 | // PSC6 in uart mode |
186 | console: serial@2c00 { // PSC6 | 69 | console: psc@2c00 { // PSC6 |
187 | compatible = "fsl,mpc5200b-psc-uart","fsl,mpc5200-psc-uart"; | 70 | compatible = "fsl,mpc5200b-psc-uart","fsl,mpc5200-psc-uart"; |
188 | cell-index = <5>; | ||
189 | port-number = <0>; // Logical port assignment | ||
190 | reg = <0x2c00 0x100>; | ||
191 | interrupts = <2 4 0>; | ||
192 | }; | 71 | }; |
193 | 72 | ||
194 | eth0: ethernet@3000 { | 73 | ethernet@3000 { |
195 | compatible = "fsl,mpc5200b-fec","fsl,mpc5200-fec"; | ||
196 | reg = <0x3000 0x400>; | ||
197 | local-mac-address = [ 00 00 00 00 00 00 ]; | ||
198 | interrupts = <2 5 0>; | ||
199 | phy-handle = <&phy0>; | 74 | phy-handle = <&phy0>; |
200 | }; | 75 | }; |
201 | 76 | ||
202 | mdio@3000 { | 77 | mdio@3000 { |
203 | #address-cells = <1>; | ||
204 | #size-cells = <0>; | ||
205 | compatible = "fsl,mpc5200b-mdio","fsl,mpc5200-mdio"; | ||
206 | reg = <0x3000 0x400>; // fec range, since we need to setup fec interrupts | ||
207 | interrupts = <2 5 0>; // these are for "mii command finished", not link changes & co. | ||
208 | |||
209 | phy0: ethernet-phy@0 { | 78 | phy0: ethernet-phy@0 { |
210 | reg = <0>; | 79 | reg = <0>; |
211 | }; | 80 | }; |
212 | }; | 81 | }; |
213 | 82 | ||
214 | ata@3a00 { | 83 | usb@1000 { |
215 | compatible = "fsl,mpc5200b-ata","fsl,mpc5200-ata"; | 84 | reg = <0x1000 0x100>; |
216 | reg = <0x3a00 0x100>; | ||
217 | interrupts = <2 7 0>; | ||
218 | }; | ||
219 | |||
220 | i2c@3d00 { | ||
221 | #address-cells = <1>; | ||
222 | #size-cells = <0>; | ||
223 | compatible = "fsl,mpc5200b-i2c","fsl,mpc5200-i2c","fsl-i2c"; | ||
224 | reg = <0x3d00 0x40>; | ||
225 | interrupts = <2 15 0>; | ||
226 | }; | ||
227 | |||
228 | i2c@3d40 { | ||
229 | #address-cells = <1>; | ||
230 | #size-cells = <0>; | ||
231 | compatible = "fsl,mpc5200b-i2c","fsl,mpc5200-i2c","fsl-i2c"; | ||
232 | reg = <0x3d40 0x40>; | ||
233 | interrupts = <2 16 0>; | ||
234 | }; | ||
235 | |||
236 | sram@8000 { | ||
237 | compatible = "fsl,mpc5200b-sram","fsl,mpc5200-sram"; | ||
238 | reg = <0x8000 0x4000>; | ||
239 | }; | 85 | }; |
240 | }; | 86 | }; |
241 | 87 | ||
242 | pci@f0000d00 { | 88 | pci@f0000d00 { |
243 | #interrupt-cells = <1>; | ||
244 | #size-cells = <2>; | ||
245 | #address-cells = <3>; | ||
246 | device_type = "pci"; | ||
247 | compatible = "fsl,mpc5200b-pci","fsl,mpc5200-pci"; | ||
248 | reg = <0xf0000d00 0x100>; | ||
249 | interrupt-map-mask = <0xf800 0 0 7>; | 89 | interrupt-map-mask = <0xf800 0 0 7>; |
250 | interrupt-map = <0xc000 0 0 1 &media5200_fpga 0 2 // 1st slot | 90 | interrupt-map = <0xc000 0 0 1 &media5200_fpga 0 2 // 1st slot |
251 | 0xc000 0 0 2 &media5200_fpga 0 3 | 91 | 0xc000 0 0 2 &media5200_fpga 0 3 |
@@ -262,37 +102,29 @@ | |||
262 | 102 | ||
263 | 0xe000 0 0 1 &media5200_fpga 0 5 // CoralIP | 103 | 0xe000 0 0 1 &media5200_fpga 0 5 // CoralIP |
264 | >; | 104 | >; |
265 | clock-frequency = <0>; // From boot loader | ||
266 | interrupts = <2 8 0 2 9 0 2 10 0>; | ||
267 | interrupt-parent = <&mpc5200_pic>; | ||
268 | bus-range = <0 0>; | ||
269 | ranges = <0x42000000 0 0x80000000 0x80000000 0 0x20000000 | 105 | ranges = <0x42000000 0 0x80000000 0x80000000 0 0x20000000 |
270 | 0x02000000 0 0xa0000000 0xa0000000 0 0x10000000 | 106 | 0x02000000 0 0xa0000000 0xa0000000 0 0x10000000 |
271 | 0x01000000 0 0x00000000 0xb0000000 0 0x01000000>; | 107 | 0x01000000 0 0x00000000 0xb0000000 0 0x01000000>; |
108 | interrupt-parent = <&mpc5200_pic>; | ||
272 | }; | 109 | }; |
273 | 110 | ||
274 | localbus { | 111 | localbus { |
275 | compatible = "fsl,mpc5200b-lpb","simple-bus"; | ||
276 | #address-cells = <2>; | ||
277 | #size-cells = <1>; | ||
278 | |||
279 | ranges = < 0 0 0xfc000000 0x02000000 | 112 | ranges = < 0 0 0xfc000000 0x02000000 |
280 | 1 0 0xfe000000 0x02000000 | 113 | 1 0 0xfe000000 0x02000000 |
281 | 2 0 0xf0010000 0x00010000 | 114 | 2 0 0xf0010000 0x00010000 |
282 | 3 0 0xf0020000 0x00010000 >; | 115 | 3 0 0xf0020000 0x00010000 >; |
283 | |||
284 | flash@0,0 { | 116 | flash@0,0 { |
285 | compatible = "amd,am29lv28ml", "cfi-flash"; | 117 | compatible = "amd,am29lv28ml", "cfi-flash"; |
286 | reg = <0 0x0 0x2000000>; // 32 MB | 118 | reg = <0 0x0 0x2000000>; // 32 MB |
287 | bank-width = <4>; // Width in bytes of the flash bank | 119 | bank-width = <4>; // Width in bytes of the flash bank |
288 | device-width = <2>; // Two devices on each bank | 120 | device-width = <2>; // Two devices on each bank |
289 | }; | 121 | }; |
290 | 122 | ||
291 | flash@1,0 { | 123 | flash@1,0 { |
292 | compatible = "amd,am29lv28ml", "cfi-flash"; | 124 | compatible = "amd,am29lv28ml", "cfi-flash"; |
293 | reg = <1 0 0x2000000>; // 32 MB | 125 | reg = <1 0 0x2000000>; // 32 MB |
294 | bank-width = <4>; // Width in bytes of the flash bank | 126 | bank-width = <4>; // Width in bytes of the flash bank |
295 | device-width = <2>; // Two devices on each bank | 127 | device-width = <2>; // Two devices on each bank |
296 | }; | 128 | }; |
297 | 129 | ||
298 | media5200_fpga: fpga@2,0 { | 130 | media5200_fpga: fpga@2,0 { |
diff --git a/arch/powerpc/boot/dts/motionpro.dts b/arch/powerpc/boot/dts/motionpro.dts index 6ca4fc144a33..0b78e89ac69b 100644 --- a/arch/powerpc/boot/dts/motionpro.dts +++ b/arch/powerpc/boot/dts/motionpro.dts | |||
@@ -10,219 +10,73 @@ | |||
10 | * option) any later version. | 10 | * option) any later version. |
11 | */ | 11 | */ |
12 | 12 | ||
13 | /dts-v1/; | 13 | /include/ "mpc5200b.dtsi" |
14 | 14 | ||
15 | / { | 15 | / { |
16 | model = "promess,motionpro"; | 16 | model = "promess,motionpro"; |
17 | compatible = "promess,motionpro"; | 17 | compatible = "promess,motionpro"; |
18 | #address-cells = <1>; | ||
19 | #size-cells = <1>; | ||
20 | interrupt-parent = <&mpc5200_pic>; | ||
21 | |||
22 | cpus { | ||
23 | #address-cells = <1>; | ||
24 | #size-cells = <0>; | ||
25 | |||
26 | PowerPC,5200@0 { | ||
27 | device_type = "cpu"; | ||
28 | reg = <0>; | ||
29 | d-cache-line-size = <32>; | ||
30 | i-cache-line-size = <32>; | ||
31 | d-cache-size = <0x4000>; // L1, 16K | ||
32 | i-cache-size = <0x4000>; // L1, 16K | ||
33 | timebase-frequency = <0>; // from bootloader | ||
34 | bus-frequency = <0>; // from bootloader | ||
35 | clock-frequency = <0>; // from bootloader | ||
36 | }; | ||
37 | }; | ||
38 | |||
39 | memory { | ||
40 | device_type = "memory"; | ||
41 | reg = <0x00000000 0x04000000>; // 64MB | ||
42 | }; | ||
43 | 18 | ||
44 | soc5200@f0000000 { | 19 | soc5200@f0000000 { |
45 | #address-cells = <1>; | ||
46 | #size-cells = <1>; | ||
47 | compatible = "fsl,mpc5200b-immr"; | ||
48 | ranges = <0 0xf0000000 0x0000c000>; | ||
49 | reg = <0xf0000000 0x00000100>; | ||
50 | bus-frequency = <0>; // from bootloader | ||
51 | system-frequency = <0>; // from bootloader | ||
52 | |||
53 | cdm@200 { | ||
54 | compatible = "fsl,mpc5200b-cdm","fsl,mpc5200-cdm"; | ||
55 | reg = <0x200 0x38>; | ||
56 | }; | ||
57 | |||
58 | mpc5200_pic: interrupt-controller@500 { | ||
59 | // 5200 interrupts are encoded into two levels; | ||
60 | interrupt-controller; | ||
61 | #interrupt-cells = <3>; | ||
62 | compatible = "fsl,mpc5200b-pic","fsl,mpc5200-pic"; | ||
63 | reg = <0x500 0x80>; | ||
64 | }; | ||
65 | |||
66 | timer@600 { // General Purpose Timer | 20 | timer@600 { // General Purpose Timer |
67 | compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt"; | ||
68 | reg = <0x600 0x10>; | ||
69 | interrupts = <1 9 0>; | ||
70 | fsl,has-wdt; | 21 | fsl,has-wdt; |
71 | }; | 22 | }; |
72 | 23 | ||
73 | timer@610 { // General Purpose Timer | 24 | timer@660 { // Motion-PRO status LED |
74 | compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt"; | ||
75 | reg = <0x610 0x10>; | ||
76 | interrupts = <1 10 0>; | ||
77 | }; | ||
78 | |||
79 | timer@620 { // General Purpose Timer | ||
80 | compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt"; | ||
81 | reg = <0x620 0x10>; | ||
82 | interrupts = <1 11 0>; | ||
83 | }; | ||
84 | |||
85 | timer@630 { // General Purpose Timer | ||
86 | compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt"; | ||
87 | reg = <0x630 0x10>; | ||
88 | interrupts = <1 12 0>; | ||
89 | }; | ||
90 | |||
91 | timer@640 { // General Purpose Timer | ||
92 | compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt"; | ||
93 | reg = <0x640 0x10>; | ||
94 | interrupts = <1 13 0>; | ||
95 | }; | ||
96 | |||
97 | timer@650 { // General Purpose Timer | ||
98 | compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt"; | ||
99 | reg = <0x650 0x10>; | ||
100 | interrupts = <1 14 0>; | ||
101 | }; | ||
102 | |||
103 | motionpro-led@660 { // Motion-PRO status LED | ||
104 | compatible = "promess,motionpro-led"; | 25 | compatible = "promess,motionpro-led"; |
105 | label = "motionpro-statusled"; | 26 | label = "motionpro-statusled"; |
106 | reg = <0x660 0x10>; | ||
107 | interrupts = <1 15 0>; | ||
108 | blink-delay = <100>; // 100 msec | 27 | blink-delay = <100>; // 100 msec |
109 | }; | 28 | }; |
110 | 29 | ||
111 | motionpro-led@670 { // Motion-PRO ready LED | 30 | timer@670 { // Motion-PRO ready LED |
112 | compatible = "promess,motionpro-led"; | 31 | compatible = "promess,motionpro-led"; |
113 | label = "motionpro-readyled"; | 32 | label = "motionpro-readyled"; |
114 | reg = <0x670 0x10>; | ||
115 | interrupts = <1 16 0>; | ||
116 | }; | ||
117 | |||
118 | rtc@800 { // Real time clock | ||
119 | compatible = "fsl,mpc5200b-rtc","fsl,mpc5200-rtc"; | ||
120 | reg = <0x800 0x100>; | ||
121 | interrupts = <1 5 0 1 6 0>; | ||
122 | }; | ||
123 | |||
124 | can@980 { | ||
125 | compatible = "fsl,mpc5200b-mscan","fsl,mpc5200-mscan"; | ||
126 | interrupts = <2 18 0>; | ||
127 | reg = <0x980 0x80>; | ||
128 | }; | 33 | }; |
129 | 34 | ||
130 | gpio_simple: gpio@b00 { | 35 | can@900 { |
131 | compatible = "fsl,mpc5200b-gpio","fsl,mpc5200-gpio"; | 36 | status = "disabled"; |
132 | reg = <0xb00 0x40>; | ||
133 | interrupts = <1 7 0>; | ||
134 | gpio-controller; | ||
135 | #gpio-cells = <2>; | ||
136 | }; | 37 | }; |
137 | 38 | ||
138 | gpio_wkup: gpio@c00 { | 39 | psc@2000 { // PSC1 |
139 | compatible = "fsl,mpc5200b-gpio-wkup","fsl,mpc5200-gpio-wkup"; | 40 | compatible = "fsl,mpc5200b-psc-uart","fsl,mpc5200-psc-uart"; |
140 | reg = <0xc00 0x40>; | ||
141 | interrupts = <1 8 0 0 3 0>; | ||
142 | gpio-controller; | ||
143 | #gpio-cells = <2>; | ||
144 | }; | ||
145 | |||
146 | spi@f00 { | ||
147 | compatible = "fsl,mpc5200b-spi","fsl,mpc5200-spi"; | ||
148 | reg = <0xf00 0x20>; | ||
149 | interrupts = <2 13 0 2 14 0>; | ||
150 | }; | 41 | }; |
151 | 42 | ||
152 | usb@1000 { | 43 | // PSC2 in spi master mode |
153 | compatible = "fsl,mpc5200b-ohci","fsl,mpc5200-ohci","ohci-be"; | 44 | psc@2200 { // PSC2 |
154 | reg = <0x1000 0xff>; | 45 | compatible = "fsl,mpc5200b-psc-spi","fsl,mpc5200-psc-spi"; |
155 | interrupts = <2 6 0>; | 46 | cell-index = <1>; |
156 | }; | 47 | }; |
157 | 48 | ||
158 | dma-controller@1200 { | 49 | psc@2400 { // PSC3 |
159 | compatible = "fsl,mpc5200b-bestcomm","fsl,mpc5200-bestcomm"; | 50 | status = "disabled"; |
160 | reg = <0x1200 0x80>; | ||
161 | interrupts = <3 0 0 3 1 0 3 2 0 3 3 0 | ||
162 | 3 4 0 3 5 0 3 6 0 3 7 0 | ||
163 | 3 8 0 3 9 0 3 10 0 3 11 0 | ||
164 | 3 12 0 3 13 0 3 14 0 3 15 0>; | ||
165 | }; | 51 | }; |
166 | 52 | ||
167 | xlb@1f00 { | 53 | psc@2600 { // PSC4 |
168 | compatible = "fsl,mpc5200b-xlb","fsl,mpc5200-xlb"; | 54 | status = "disabled"; |
169 | reg = <0x1f00 0x100>; | ||
170 | }; | 55 | }; |
171 | 56 | ||
172 | serial@2000 { // PSC1 | 57 | psc@2800 { // PSC5 |
173 | compatible = "fsl,mpc5200b-psc-uart","fsl,mpc5200-psc-uart"; | 58 | compatible = "fsl,mpc5200b-psc-uart","fsl,mpc5200-psc-uart"; |
174 | reg = <0x2000 0x100>; | ||
175 | interrupts = <2 1 0>; | ||
176 | }; | ||
177 | |||
178 | // PSC2 in spi master mode | ||
179 | spi@2200 { // PSC2 | ||
180 | compatible = "fsl,mpc5200b-psc-spi","fsl,mpc5200-psc-spi"; | ||
181 | cell-index = <1>; | ||
182 | reg = <0x2200 0x100>; | ||
183 | interrupts = <2 2 0>; | ||
184 | }; | 59 | }; |
185 | 60 | ||
186 | // PSC5 in uart mode | 61 | psc@2c00 { // PSC6 |
187 | serial@2800 { // PSC5 | 62 | status = "disabled"; |
188 | compatible = "fsl,mpc5200b-psc-uart","fsl,mpc5200-psc-uart"; | ||
189 | reg = <0x2800 0x100>; | ||
190 | interrupts = <2 12 0>; | ||
191 | }; | 63 | }; |
192 | 64 | ||
193 | ethernet@3000 { | 65 | ethernet@3000 { |
194 | compatible = "fsl,mpc5200b-fec","fsl,mpc5200-fec"; | ||
195 | reg = <0x3000 0x400>; | ||
196 | local-mac-address = [ 00 00 00 00 00 00 ]; | ||
197 | interrupts = <2 5 0>; | ||
198 | phy-handle = <&phy0>; | 66 | phy-handle = <&phy0>; |
199 | }; | 67 | }; |
200 | 68 | ||
201 | mdio@3000 { | 69 | mdio@3000 { |
202 | #address-cells = <1>; | ||
203 | #size-cells = <0>; | ||
204 | compatible = "fsl,mpc5200b-mdio","fsl,mpc5200-mdio"; | ||
205 | reg = <0x3000 0x400>; // fec range, since we need to setup fec interrupts | ||
206 | interrupts = <2 5 0>; // these are for "mii command finished", not link changes & co. | ||
207 | |||
208 | phy0: ethernet-phy@2 { | 70 | phy0: ethernet-phy@2 { |
209 | reg = <2>; | 71 | reg = <2>; |
210 | }; | 72 | }; |
211 | }; | 73 | }; |
212 | 74 | ||
213 | ata@3a00 { | 75 | i2c@3d00 { |
214 | compatible = "fsl,mpc5200b-ata","fsl,mpc5200-ata"; | 76 | status = "disabled"; |
215 | reg = <0x3a00 0x100>; | ||
216 | interrupts = <2 7 0>; | ||
217 | }; | 77 | }; |
218 | 78 | ||
219 | i2c@3d40 { | 79 | i2c@3d40 { |
220 | #address-cells = <1>; | ||
221 | #size-cells = <0>; | ||
222 | compatible = "fsl,mpc5200b-i2c","fsl,mpc5200-i2c","fsl-i2c"; | ||
223 | reg = <0x3d40 0x40>; | ||
224 | interrupts = <2 16 0>; | ||
225 | |||
226 | rtc@68 { | 80 | rtc@68 { |
227 | compatible = "dallas,ds1339"; | 81 | compatible = "dallas,ds1339"; |
228 | reg = <0x68>; | 82 | reg = <0x68>; |
@@ -235,10 +89,11 @@ | |||
235 | }; | 89 | }; |
236 | }; | 90 | }; |
237 | 91 | ||
92 | pci@f0000d00 { | ||
93 | status = "disabled"; | ||
94 | }; | ||
95 | |||
238 | localbus { | 96 | localbus { |
239 | compatible = "fsl,mpc5200b-lpb","simple-bus"; | ||
240 | #address-cells = <2>; | ||
241 | #size-cells = <1>; | ||
242 | ranges = <0 0 0xff000000 0x01000000 | 97 | ranges = <0 0 0xff000000 0x01000000 |
243 | 1 0 0x50000000 0x00010000 | 98 | 1 0 0x50000000 0x00010000 |
244 | 2 0 0x50010000 0x00010000 | 99 | 2 0 0x50010000 0x00010000 |
@@ -280,5 +135,6 @@ | |||
280 | #size-cells = <1>; | 135 | #size-cells = <1>; |
281 | #address-cells = <1>; | 136 | #address-cells = <1>; |
282 | }; | 137 | }; |
138 | |||
283 | }; | 139 | }; |
284 | }; | 140 | }; |
diff --git a/arch/powerpc/boot/dts/mpc5200b.dtsi b/arch/powerpc/boot/dts/mpc5200b.dtsi new file mode 100644 index 000000000000..bc27548e895d --- /dev/null +++ b/arch/powerpc/boot/dts/mpc5200b.dtsi | |||
@@ -0,0 +1,275 @@ | |||
1 | /* | ||
2 | * base MPC5200b Device Tree Source | ||
3 | * | ||
4 | * Copyright (C) 2010 SecretLab | ||
5 | * Grant Likely <grant@secretlab.ca> | ||
6 | * John Bonesio <bones@secretlab.ca> | ||
7 | * | ||
8 | * This program is free software; you can redistribute it and/or modify it | ||
9 | * under the terms of the GNU General Public License as published by the | ||
10 | * Free Software Foundation; either version 2 of the License, or (at your | ||
11 | * option) any later version. | ||
12 | */ | ||
13 | |||
14 | /dts-v1/; | ||
15 | |||
16 | / { | ||
17 | model = "fsl,mpc5200b"; | ||
18 | compatible = "fsl,mpc5200b"; | ||
19 | #address-cells = <1>; | ||
20 | #size-cells = <1>; | ||
21 | interrupt-parent = <&mpc5200_pic>; | ||
22 | |||
23 | cpus { | ||
24 | #address-cells = <1>; | ||
25 | #size-cells = <0>; | ||
26 | |||
27 | powerpc: PowerPC,5200@0 { | ||
28 | device_type = "cpu"; | ||
29 | reg = <0>; | ||
30 | d-cache-line-size = <32>; | ||
31 | i-cache-line-size = <32>; | ||
32 | d-cache-size = <0x4000>; // L1, 16K | ||
33 | i-cache-size = <0x4000>; // L1, 16K | ||
34 | timebase-frequency = <0>; // from bootloader | ||
35 | bus-frequency = <0>; // from bootloader | ||
36 | clock-frequency = <0>; // from bootloader | ||
37 | }; | ||
38 | }; | ||
39 | |||
40 | memory: memory { | ||
41 | device_type = "memory"; | ||
42 | reg = <0x00000000 0x04000000>; // 64MB | ||
43 | }; | ||
44 | |||
45 | soc: soc5200@f0000000 { | ||
46 | #address-cells = <1>; | ||
47 | #size-cells = <1>; | ||
48 | compatible = "fsl,mpc5200b-immr"; | ||
49 | ranges = <0 0xf0000000 0x0000c000>; | ||
50 | reg = <0xf0000000 0x00000100>; | ||
51 | bus-frequency = <0>; // from bootloader | ||
52 | system-frequency = <0>; // from bootloader | ||
53 | |||
54 | cdm@200 { | ||
55 | compatible = "fsl,mpc5200b-cdm","fsl,mpc5200-cdm"; | ||
56 | reg = <0x200 0x38>; | ||
57 | }; | ||
58 | |||
59 | mpc5200_pic: interrupt-controller@500 { | ||
60 | // 5200 interrupts are encoded into two levels; | ||
61 | interrupt-controller; | ||
62 | #interrupt-cells = <3>; | ||
63 | compatible = "fsl,mpc5200b-pic","fsl,mpc5200-pic"; | ||
64 | reg = <0x500 0x80>; | ||
65 | }; | ||
66 | |||
67 | timer@600 { // General Purpose Timer | ||
68 | compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt"; | ||
69 | reg = <0x600 0x10>; | ||
70 | interrupts = <1 9 0>; | ||
71 | }; | ||
72 | |||
73 | timer@610 { // General Purpose Timer | ||
74 | compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt"; | ||
75 | reg = <0x610 0x10>; | ||
76 | interrupts = <1 10 0>; | ||
77 | }; | ||
78 | |||
79 | timer@620 { // General Purpose Timer | ||
80 | compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt"; | ||
81 | reg = <0x620 0x10>; | ||
82 | interrupts = <1 11 0>; | ||
83 | }; | ||
84 | |||
85 | timer@630 { // General Purpose Timer | ||
86 | compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt"; | ||
87 | reg = <0x630 0x10>; | ||
88 | interrupts = <1 12 0>; | ||
89 | }; | ||
90 | |||
91 | timer@640 { // General Purpose Timer | ||
92 | compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt"; | ||
93 | reg = <0x640 0x10>; | ||
94 | interrupts = <1 13 0>; | ||
95 | }; | ||
96 | |||
97 | timer@650 { // General Purpose Timer | ||
98 | compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt"; | ||
99 | reg = <0x650 0x10>; | ||
100 | interrupts = <1 14 0>; | ||
101 | }; | ||
102 | |||
103 | timer@660 { // General Purpose Timer | ||
104 | compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt"; | ||
105 | reg = <0x660 0x10>; | ||
106 | interrupts = <1 15 0>; | ||
107 | }; | ||
108 | |||
109 | timer@670 { // General Purpose Timer | ||
110 | compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt"; | ||
111 | reg = <0x670 0x10>; | ||
112 | interrupts = <1 16 0>; | ||
113 | }; | ||
114 | |||
115 | rtc@800 { // Real time clock | ||
116 | compatible = "fsl,mpc5200b-rtc","fsl,mpc5200-rtc"; | ||
117 | reg = <0x800 0x100>; | ||
118 | interrupts = <1 5 0 1 6 0>; | ||
119 | }; | ||
120 | |||
121 | can@900 { | ||
122 | compatible = "fsl,mpc5200b-mscan","fsl,mpc5200-mscan"; | ||
123 | interrupts = <2 17 0>; | ||
124 | reg = <0x900 0x80>; | ||
125 | }; | ||
126 | |||
127 | can@980 { | ||
128 | compatible = "fsl,mpc5200b-mscan","fsl,mpc5200-mscan"; | ||
129 | interrupts = <2 18 0>; | ||
130 | reg = <0x980 0x80>; | ||
131 | }; | ||
132 | |||
133 | gpio_simple: gpio@b00 { | ||
134 | compatible = "fsl,mpc5200b-gpio","fsl,mpc5200-gpio"; | ||
135 | reg = <0xb00 0x40>; | ||
136 | interrupts = <1 7 0>; | ||
137 | gpio-controller; | ||
138 | #gpio-cells = <2>; | ||
139 | }; | ||
140 | |||
141 | gpio_wkup: gpio@c00 { | ||
142 | compatible = "fsl,mpc5200b-gpio-wkup","fsl,mpc5200-gpio-wkup"; | ||
143 | reg = <0xc00 0x40>; | ||
144 | interrupts = <1 8 0 0 3 0>; | ||
145 | gpio-controller; | ||
146 | #gpio-cells = <2>; | ||
147 | }; | ||
148 | |||
149 | spi@f00 { | ||
150 | compatible = "fsl,mpc5200b-spi","fsl,mpc5200-spi"; | ||
151 | reg = <0xf00 0x20>; | ||
152 | interrupts = <2 13 0 2 14 0>; | ||
153 | }; | ||
154 | |||
155 | usb: usb@1000 { | ||
156 | compatible = "fsl,mpc5200b-ohci","fsl,mpc5200-ohci","ohci-be"; | ||
157 | reg = <0x1000 0xff>; | ||
158 | interrupts = <2 6 0>; | ||
159 | }; | ||
160 | |||
161 | dma-controller@1200 { | ||
162 | compatible = "fsl,mpc5200b-bestcomm","fsl,mpc5200-bestcomm"; | ||
163 | reg = <0x1200 0x80>; | ||
164 | interrupts = <3 0 0 3 1 0 3 2 0 3 3 0 | ||
165 | 3 4 0 3 5 0 3 6 0 3 7 0 | ||
166 | 3 8 0 3 9 0 3 10 0 3 11 0 | ||
167 | 3 12 0 3 13 0 3 14 0 3 15 0>; | ||
168 | }; | ||
169 | |||
170 | xlb@1f00 { | ||
171 | compatible = "fsl,mpc5200b-xlb","fsl,mpc5200-xlb"; | ||
172 | reg = <0x1f00 0x100>; | ||
173 | }; | ||
174 | |||
175 | psc1: psc@2000 { // PSC1 | ||
176 | compatible = "fsl,mpc5200b-psc","fsl,mpc5200-psc"; | ||
177 | reg = <0x2000 0x100>; | ||
178 | interrupts = <2 1 0>; | ||
179 | }; | ||
180 | |||
181 | psc2: psc@2200 { // PSC2 | ||
182 | compatible = "fsl,mpc5200b-psc","fsl,mpc5200-psc"; | ||
183 | reg = <0x2200 0x100>; | ||
184 | interrupts = <2 2 0>; | ||
185 | }; | ||
186 | |||
187 | psc3: psc@2400 { // PSC3 | ||
188 | compatible = "fsl,mpc5200b-psc","fsl,mpc5200-psc"; | ||
189 | reg = <0x2400 0x100>; | ||
190 | interrupts = <2 3 0>; | ||
191 | }; | ||
192 | |||
193 | psc4: psc@2600 { // PSC4 | ||
194 | compatible = "fsl,mpc5200b-psc","fsl,mpc5200-psc"; | ||
195 | reg = <0x2600 0x100>; | ||
196 | interrupts = <2 11 0>; | ||
197 | }; | ||
198 | |||
199 | psc5: psc@2800 { // PSC5 | ||
200 | compatible = "fsl,mpc5200b-psc","fsl,mpc5200-psc"; | ||
201 | reg = <0x2800 0x100>; | ||
202 | interrupts = <2 12 0>; | ||
203 | }; | ||
204 | |||
205 | psc6: psc@2c00 { // PSC6 | ||
206 | compatible = "fsl,mpc5200b-psc","fsl,mpc5200-psc"; | ||
207 | reg = <0x2c00 0x100>; | ||
208 | interrupts = <2 4 0>; | ||
209 | }; | ||
210 | |||
211 | eth0: ethernet@3000 { | ||
212 | compatible = "fsl,mpc5200b-fec","fsl,mpc5200-fec"; | ||
213 | reg = <0x3000 0x400>; | ||
214 | local-mac-address = [ 00 00 00 00 00 00 ]; | ||
215 | interrupts = <2 5 0>; | ||
216 | }; | ||
217 | |||
218 | mdio@3000 { | ||
219 | #address-cells = <1>; | ||
220 | #size-cells = <0>; | ||
221 | compatible = "fsl,mpc5200b-mdio","fsl,mpc5200-mdio"; | ||
222 | reg = <0x3000 0x400>; // fec range, since we need to setup fec interrupts | ||
223 | interrupts = <2 5 0>; // these are for "mii command finished", not link changes & co. | ||
224 | }; | ||
225 | |||
226 | ata@3a00 { | ||
227 | compatible = "fsl,mpc5200b-ata","fsl,mpc5200-ata"; | ||
228 | reg = <0x3a00 0x100>; | ||
229 | interrupts = <2 7 0>; | ||
230 | }; | ||
231 | |||
232 | i2c@3d00 { | ||
233 | #address-cells = <1>; | ||
234 | #size-cells = <0>; | ||
235 | compatible = "fsl,mpc5200b-i2c","fsl,mpc5200-i2c","fsl-i2c"; | ||
236 | reg = <0x3d00 0x40>; | ||
237 | interrupts = <2 15 0>; | ||
238 | }; | ||
239 | |||
240 | i2c@3d40 { | ||
241 | #address-cells = <1>; | ||
242 | #size-cells = <0>; | ||
243 | compatible = "fsl,mpc5200b-i2c","fsl,mpc5200-i2c","fsl-i2c"; | ||
244 | reg = <0x3d40 0x40>; | ||
245 | interrupts = <2 16 0>; | ||
246 | }; | ||
247 | |||
248 | sram@8000 { | ||
249 | compatible = "fsl,mpc5200b-sram","fsl,mpc5200-sram"; | ||
250 | reg = <0x8000 0x4000>; | ||
251 | }; | ||
252 | }; | ||
253 | |||
254 | pci: pci@f0000d00 { | ||
255 | #interrupt-cells = <1>; | ||
256 | #size-cells = <2>; | ||
257 | #address-cells = <3>; | ||
258 | device_type = "pci"; | ||
259 | compatible = "fsl,mpc5200b-pci","fsl,mpc5200-pci"; | ||
260 | reg = <0xf0000d00 0x100>; | ||
261 | // interrupt-map-mask = need to add | ||
262 | // interrupt-map = need to add | ||
263 | clock-frequency = <0>; // From boot loader | ||
264 | interrupts = <2 8 0 2 9 0 2 10 0>; | ||
265 | bus-range = <0 0>; | ||
266 | // ranges = need to add | ||
267 | }; | ||
268 | |||
269 | localbus: localbus { | ||
270 | compatible = "fsl,mpc5200b-lpb","fsl,mpc5200-lpb","simple-bus"; | ||
271 | #address-cells = <2>; | ||
272 | #size-cells = <1>; | ||
273 | ranges = <0 0 0xfc000000 0x2000000>; | ||
274 | }; | ||
275 | }; | ||
diff --git a/arch/powerpc/boot/dts/mucmc52.dts b/arch/powerpc/boot/dts/mucmc52.dts index b72a7581d798..21d34720fcc9 100644 --- a/arch/powerpc/boot/dts/mucmc52.dts +++ b/arch/powerpc/boot/dts/mucmc52.dts | |||
@@ -11,172 +11,109 @@ | |||
11 | * option) any later version. | 11 | * option) any later version. |
12 | */ | 12 | */ |
13 | 13 | ||
14 | /dts-v1/; | 14 | /include/ "mpc5200b.dtsi" |
15 | 15 | ||
16 | / { | 16 | / { |
17 | model = "manroland,mucmc52"; | 17 | model = "manroland,mucmc52"; |
18 | compatible = "manroland,mucmc52"; | 18 | compatible = "manroland,mucmc52"; |
19 | #address-cells = <1>; | ||
20 | #size-cells = <1>; | ||
21 | interrupt-parent = <&mpc5200_pic>; | ||
22 | |||
23 | cpus { | ||
24 | #address-cells = <1>; | ||
25 | #size-cells = <0>; | ||
26 | |||
27 | PowerPC,5200@0 { | ||
28 | device_type = "cpu"; | ||
29 | reg = <0>; | ||
30 | d-cache-line-size = <32>; | ||
31 | i-cache-line-size = <32>; | ||
32 | d-cache-size = <0x4000>; // L1, 16K | ||
33 | i-cache-size = <0x4000>; // L1, 16K | ||
34 | timebase-frequency = <0>; // from bootloader | ||
35 | bus-frequency = <0>; // from bootloader | ||
36 | clock-frequency = <0>; // from bootloader | ||
37 | }; | ||
38 | }; | ||
39 | |||
40 | memory { | ||
41 | device_type = "memory"; | ||
42 | reg = <0x00000000 0x04000000>; // 64MB | ||
43 | }; | ||
44 | 19 | ||
45 | soc5200@f0000000 { | 20 | soc5200@f0000000 { |
46 | #address-cells = <1>; | ||
47 | #size-cells = <1>; | ||
48 | compatible = "fsl,mpc5200b-immr"; | ||
49 | ranges = <0 0xf0000000 0x0000c000>; | ||
50 | reg = <0xf0000000 0x00000100>; | ||
51 | bus-frequency = <0>; // from bootloader | ||
52 | system-frequency = <0>; // from bootloader | ||
53 | |||
54 | cdm@200 { | ||
55 | compatible = "fsl,mpc5200b-cdm","fsl,mpc5200-cdm"; | ||
56 | reg = <0x200 0x38>; | ||
57 | }; | ||
58 | |||
59 | mpc5200_pic: interrupt-controller@500 { | ||
60 | // 5200 interrupts are encoded into two levels; | ||
61 | interrupt-controller; | ||
62 | #interrupt-cells = <3>; | ||
63 | compatible = "fsl,mpc5200b-pic","fsl,mpc5200-pic"; | ||
64 | reg = <0x500 0x80>; | ||
65 | }; | ||
66 | |||
67 | gpt0: timer@600 { // GPT 0 in GPIO mode | 21 | gpt0: timer@600 { // GPT 0 in GPIO mode |
68 | compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt"; | ||
69 | reg = <0x600 0x10>; | ||
70 | interrupts = <1 9 0>; | ||
71 | gpio-controller; | 22 | gpio-controller; |
72 | #gpio-cells = <2>; | 23 | #gpio-cells = <2>; |
73 | }; | 24 | }; |
74 | 25 | ||
75 | gpt1: timer@610 { // General Purpose Timer in GPIO mode | 26 | gpt1: timer@610 { // General Purpose Timer in GPIO mode |
76 | compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt"; | ||
77 | reg = <0x610 0x10>; | ||
78 | interrupts = <1 10 0>; | ||
79 | gpio-controller; | 27 | gpio-controller; |
80 | #gpio-cells = <2>; | 28 | #gpio-cells = <2>; |
81 | }; | 29 | }; |
82 | 30 | ||
83 | gpt2: timer@620 { // General Purpose Timer in GPIO mode | 31 | gpt2: timer@620 { // General Purpose Timer in GPIO mode |
84 | compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt"; | ||
85 | reg = <0x620 0x10>; | ||
86 | interrupts = <1 11 0>; | ||
87 | gpio-controller; | 32 | gpio-controller; |
88 | #gpio-cells = <2>; | 33 | #gpio-cells = <2>; |
89 | }; | 34 | }; |
90 | 35 | ||
91 | gpt3: timer@630 { // General Purpose Timer in GPIO mode | 36 | gpt3: timer@630 { // General Purpose Timer in GPIO mode |
92 | compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt"; | ||
93 | reg = <0x630 0x10>; | ||
94 | interrupts = <1 12 0>; | ||
95 | gpio-controller; | 37 | gpio-controller; |
96 | #gpio-cells = <2>; | 38 | #gpio-cells = <2>; |
97 | }; | 39 | }; |
98 | 40 | ||
99 | gpio_simple: gpio@b00 { | 41 | timer@640 { |
100 | compatible = "fsl,mpc5200b-gpio","fsl,mpc5200-gpio"; | 42 | status = "disabled"; |
101 | reg = <0xb00 0x40>; | ||
102 | interrupts = <1 7 0>; | ||
103 | gpio-controller; | ||
104 | #gpio-cells = <2>; | ||
105 | }; | 43 | }; |
106 | 44 | ||
107 | gpio_wkup: gpio@c00 { | 45 | timer@650 { |
108 | compatible = "fsl,mpc5200b-gpio-wkup","fsl,mpc5200-gpio-wkup"; | 46 | status = "disabled"; |
109 | reg = <0xc00 0x40>; | 47 | }; |
110 | interrupts = <1 8 0 0 3 0>; | 48 | |
111 | gpio-controller; | 49 | timer@660 { |
112 | #gpio-cells = <2>; | 50 | status = "disabled"; |
51 | }; | ||
52 | |||
53 | timer@670 { | ||
54 | status = "disabled"; | ||
113 | }; | 55 | }; |
114 | 56 | ||
115 | dma-controller@1200 { | 57 | rtc@800 { |
116 | compatible = "fsl,mpc5200b-bestcomm","fsl,mpc5200-bestcomm"; | 58 | status = "disabled"; |
117 | reg = <0x1200 0x80>; | ||
118 | interrupts = <3 0 0 3 1 0 3 2 0 3 3 0 | ||
119 | 3 4 0 3 5 0 3 6 0 3 7 0 | ||
120 | 3 8 0 3 9 0 3 10 0 3 11 0 | ||
121 | 3 12 0 3 13 0 3 14 0 3 15 0>; | ||
122 | }; | 59 | }; |
123 | 60 | ||
124 | xlb@1f00 { | 61 | can@900 { |
125 | compatible = "fsl,mpc5200b-xlb","fsl,mpc5200-xlb"; | 62 | status = "disabled"; |
126 | reg = <0x1f00 0x100>; | ||
127 | }; | 63 | }; |
128 | 64 | ||
129 | serial@2000 { /* PSC1 in UART mode */ | 65 | can@980 { |
66 | status = "disabled"; | ||
67 | }; | ||
68 | |||
69 | spi@f00 { | ||
70 | status = "disabled"; | ||
71 | }; | ||
72 | |||
73 | usb@1000 { | ||
74 | status = "disabled"; | ||
75 | }; | ||
76 | |||
77 | psc@2000 { // PSC1 | ||
130 | compatible = "fsl,mpc5200b-psc-uart","fsl,mpc5200-psc-uart"; | 78 | compatible = "fsl,mpc5200b-psc-uart","fsl,mpc5200-psc-uart"; |
131 | reg = <0x2000 0x100>; | ||
132 | interrupts = <2 1 0>; | ||
133 | }; | 79 | }; |
134 | 80 | ||
135 | serial@2200 { /* PSC2 in UART mode */ | 81 | psc@2200 { // PSC2 |
136 | compatible = "fsl,mpc5200b-psc-uart","fsl,mpc5200-psc-uart"; | 82 | compatible = "fsl,mpc5200b-psc-uart","fsl,mpc5200-psc-uart"; |
137 | reg = <0x2200 0x100>; | ||
138 | interrupts = <2 2 0>; | ||
139 | }; | 83 | }; |
140 | 84 | ||
141 | serial@2c00 { /* PSC6 in UART mode */ | 85 | psc@2400 { // PSC3 |
86 | status = "disabled"; | ||
87 | }; | ||
88 | |||
89 | psc@2600 { // PSC4 | ||
90 | status = "disabled"; | ||
91 | }; | ||
92 | |||
93 | psc@2800 { // PSC5 | ||
94 | status = "disabled"; | ||
95 | }; | ||
96 | |||
97 | psc@2c00 { // PSC6 | ||
142 | compatible = "fsl,mpc5200b-psc-uart","fsl,mpc5200-psc-uart"; | 98 | compatible = "fsl,mpc5200b-psc-uart","fsl,mpc5200-psc-uart"; |
143 | reg = <0x2c00 0x100>; | ||
144 | interrupts = <2 4 0>; | ||
145 | }; | 99 | }; |
146 | 100 | ||
147 | ethernet@3000 { | 101 | ethernet@3000 { |
148 | compatible = "fsl,mpc5200b-fec","fsl,mpc5200-fec"; | ||
149 | reg = <0x3000 0x400>; | ||
150 | local-mac-address = [ 00 00 00 00 00 00 ]; | ||
151 | interrupts = <2 5 0>; | ||
152 | phy-handle = <&phy0>; | 102 | phy-handle = <&phy0>; |
153 | }; | 103 | }; |
154 | 104 | ||
155 | mdio@3000 { | 105 | mdio@3000 { |
156 | #address-cells = <1>; | ||
157 | #size-cells = <0>; | ||
158 | compatible = "fsl,mpc5200b-mdio","fsl,mpc5200-mdio"; | ||
159 | reg = <0x3000 0x400>; // fec range, since we need to setup fec interrupts | ||
160 | interrupts = <2 5 0>; // these are for "mii command finished", not link changes & co. | ||
161 | |||
162 | phy0: ethernet-phy@0 { | 106 | phy0: ethernet-phy@0 { |
163 | compatible = "intel,lxt971"; | 107 | compatible = "intel,lxt971"; |
164 | reg = <0>; | 108 | reg = <0>; |
165 | }; | 109 | }; |
166 | }; | 110 | }; |
167 | 111 | ||
168 | ata@3a00 { | 112 | i2c@3d00 { |
169 | compatible = "fsl,mpc5200b-ata","fsl,mpc5200-ata"; | 113 | status = "disabled"; |
170 | reg = <0x3a00 0x100>; | ||
171 | interrupts = <2 7 0>; | ||
172 | }; | 114 | }; |
173 | 115 | ||
174 | i2c@3d40 { | 116 | i2c@3d40 { |
175 | #address-cells = <1>; | ||
176 | #size-cells = <0>; | ||
177 | compatible = "fsl,mpc5200b-i2c","fsl,mpc5200-i2c","fsl-i2c"; | ||
178 | reg = <0x3d40 0x40>; | ||
179 | interrupts = <2 16 0>; | ||
180 | hwmon@2c { | 117 | hwmon@2c { |
181 | compatible = "ad,adm9240"; | 118 | compatible = "ad,adm9240"; |
182 | reg = <0x2c>; | 119 | reg = <0x2c>; |
@@ -186,20 +123,9 @@ | |||
186 | reg = <0x51>; | 123 | reg = <0x51>; |
187 | }; | 124 | }; |
188 | }; | 125 | }; |
189 | |||
190 | sram@8000 { | ||
191 | compatible = "fsl,mpc5200b-sram","fsl,mpc5200-sram"; | ||
192 | reg = <0x8000 0x4000>; | ||
193 | }; | ||
194 | }; | 126 | }; |
195 | 127 | ||
196 | pci@f0000d00 { | 128 | pci@f0000d00 { |
197 | #interrupt-cells = <1>; | ||
198 | #size-cells = <2>; | ||
199 | #address-cells = <3>; | ||
200 | device_type = "pci"; | ||
201 | compatible = "fsl,mpc5200b-pci","fsl,mpc5200-pci"; | ||
202 | reg = <0xf0000d00 0x100>; | ||
203 | interrupt-map-mask = <0xf800 0 0 7>; | 129 | interrupt-map-mask = <0xf800 0 0 7>; |
204 | interrupt-map = < | 130 | interrupt-map = < |
205 | /* IDSEL 0x10 */ | 131 | /* IDSEL 0x10 */ |
@@ -208,20 +134,12 @@ | |||
208 | 0x8000 0 0 3 &mpc5200_pic 0 2 3 | 134 | 0x8000 0 0 3 &mpc5200_pic 0 2 3 |
209 | 0x8000 0 0 4 &mpc5200_pic 0 1 3 | 135 | 0x8000 0 0 4 &mpc5200_pic 0 1 3 |
210 | >; | 136 | >; |
211 | clock-frequency = <0>; // From boot loader | ||
212 | interrupts = <2 8 0 2 9 0 2 10 0>; | ||
213 | bus-range = <0 0>; | ||
214 | ranges = <0x42000000 0 0x60000000 0x60000000 0 0x10000000 | 137 | ranges = <0x42000000 0 0x60000000 0x60000000 0 0x10000000 |
215 | 0x02000000 0 0x90000000 0x90000000 0 0x10000000 | 138 | 0x02000000 0 0x90000000 0x90000000 0 0x10000000 |
216 | 0x01000000 0 0x00000000 0xa0000000 0 0x01000000>; | 139 | 0x01000000 0 0x00000000 0xa0000000 0 0x01000000>; |
217 | }; | 140 | }; |
218 | 141 | ||
219 | localbus { | 142 | localbus { |
220 | compatible = "fsl,mpc5200b-lpb","fsl,mpc5200-lpb","simple-bus"; | ||
221 | |||
222 | #address-cells = <2>; | ||
223 | #size-cells = <1>; | ||
224 | |||
225 | ranges = <0 0 0xff800000 0x00800000 | 143 | ranges = <0 0 0xff800000 0x00800000 |
226 | 1 0 0x80000000 0x00800000 | 144 | 1 0 0x80000000 0x00800000 |
227 | 3 0 0x80000000 0x00800000>; | 145 | 3 0 0x80000000 0x00800000>; |
diff --git a/arch/powerpc/boot/dts/pcm030.dts b/arch/powerpc/boot/dts/pcm030.dts index 8a4ec30b21ae..9e354997eb7e 100644 --- a/arch/powerpc/boot/dts/pcm030.dts +++ b/arch/powerpc/boot/dts/pcm030.dts | |||
@@ -12,246 +12,92 @@ | |||
12 | * option) any later version. | 12 | * option) any later version. |
13 | */ | 13 | */ |
14 | 14 | ||
15 | /dts-v1/; | 15 | /include/ "mpc5200b.dtsi" |
16 | 16 | ||
17 | / { | 17 | / { |
18 | model = "phytec,pcm030"; | 18 | model = "phytec,pcm030"; |
19 | compatible = "phytec,pcm030"; | 19 | compatible = "phytec,pcm030"; |
20 | #address-cells = <1>; | ||
21 | #size-cells = <1>; | ||
22 | interrupt-parent = <&mpc5200_pic>; | ||
23 | |||
24 | cpus { | ||
25 | #address-cells = <1>; | ||
26 | #size-cells = <0>; | ||
27 | |||
28 | PowerPC,5200@0 { | ||
29 | device_type = "cpu"; | ||
30 | reg = <0>; | ||
31 | d-cache-line-size = <32>; | ||
32 | i-cache-line-size = <32>; | ||
33 | d-cache-size = <0x4000>; // L1, 16K | ||
34 | i-cache-size = <0x4000>; // L1, 16K | ||
35 | timebase-frequency = <0>; // from bootloader | ||
36 | bus-frequency = <0>; // from bootloader | ||
37 | clock-frequency = <0>; // from bootloader | ||
38 | }; | ||
39 | }; | ||
40 | |||
41 | memory { | ||
42 | device_type = "memory"; | ||
43 | reg = <0x00000000 0x04000000>; // 64MB | ||
44 | }; | ||
45 | 20 | ||
46 | soc5200@f0000000 { | 21 | soc5200@f0000000 { |
47 | #address-cells = <1>; | 22 | timer@600 { // General Purpose Timer |
48 | #size-cells = <1>; | ||
49 | compatible = "fsl,mpc5200b-immr"; | ||
50 | ranges = <0 0xf0000000 0x0000c000>; | ||
51 | bus-frequency = <0>; // from bootloader | ||
52 | system-frequency = <0>; // from bootloader | ||
53 | |||
54 | cdm@200 { | ||
55 | compatible = "fsl,mpc5200b-cdm","fsl,mpc5200-cdm"; | ||
56 | reg = <0x200 0x38>; | ||
57 | }; | ||
58 | |||
59 | mpc5200_pic: interrupt-controller@500 { | ||
60 | // 5200 interrupts are encoded into two levels; | ||
61 | interrupt-controller; | ||
62 | #interrupt-cells = <3>; | ||
63 | compatible = "fsl,mpc5200b-pic","fsl,mpc5200-pic"; | ||
64 | reg = <0x500 0x80>; | ||
65 | }; | ||
66 | |||
67 | timer@600 { // General Purpose Timer | ||
68 | compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt"; | ||
69 | reg = <0x600 0x10>; | ||
70 | interrupts = <1 9 0>; | ||
71 | fsl,has-wdt; | 23 | fsl,has-wdt; |
72 | }; | 24 | }; |
73 | 25 | ||
74 | timer@610 { // General Purpose Timer | ||
75 | compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt"; | ||
76 | reg = <0x610 0x10>; | ||
77 | interrupts = <1 10 0>; | ||
78 | }; | ||
79 | |||
80 | gpt2: timer@620 { // General Purpose Timer in GPIO mode | 26 | gpt2: timer@620 { // General Purpose Timer in GPIO mode |
81 | compatible = "fsl,mpc5200b-gpt-gpio","fsl,mpc5200-gpt-gpio"; | 27 | compatible = "fsl,mpc5200b-gpt-gpio","fsl,mpc5200-gpt-gpio"; |
82 | reg = <0x620 0x10>; | ||
83 | interrupts = <1 11 0>; | ||
84 | gpio-controller; | 28 | gpio-controller; |
85 | #gpio-cells = <2>; | 29 | #gpio-cells = <2>; |
86 | }; | 30 | }; |
87 | 31 | ||
88 | gpt3: timer@630 { // General Purpose Timer in GPIO mode | 32 | gpt3: timer@630 { // General Purpose Timer in GPIO mode |
89 | compatible = "fsl,mpc5200b-gpt-gpio","fsl,mpc5200-gpt-gpio"; | 33 | compatible = "fsl,mpc5200b-gpt-gpio","fsl,mpc5200-gpt-gpio"; |
90 | reg = <0x630 0x10>; | ||
91 | interrupts = <1 12 0>; | ||
92 | gpio-controller; | 34 | gpio-controller; |
93 | #gpio-cells = <2>; | 35 | #gpio-cells = <2>; |
94 | }; | 36 | }; |
95 | 37 | ||
96 | gpt4: timer@640 { // General Purpose Timer in GPIO mode | 38 | gpt4: timer@640 { // General Purpose Timer in GPIO mode |
97 | compatible = "fsl,mpc5200b-gpt-gpio","fsl,mpc5200-gpt-gpio"; | 39 | compatible = "fsl,mpc5200b-gpt-gpio","fsl,mpc5200-gpt-gpio"; |
98 | reg = <0x640 0x10>; | ||
99 | interrupts = <1 13 0>; | ||
100 | gpio-controller; | 40 | gpio-controller; |
101 | #gpio-cells = <2>; | 41 | #gpio-cells = <2>; |
102 | }; | 42 | }; |
103 | 43 | ||
104 | gpt5: timer@650 { // General Purpose Timer in GPIO mode | 44 | gpt5: timer@650 { // General Purpose Timer in GPIO mode |
105 | compatible = "fsl,mpc5200b-gpt-gpio","fsl,mpc5200-gpt-gpio"; | 45 | compatible = "fsl,mpc5200b-gpt-gpio","fsl,mpc5200-gpt-gpio"; |
106 | reg = <0x650 0x10>; | ||
107 | interrupts = <1 14 0>; | ||
108 | gpio-controller; | 46 | gpio-controller; |
109 | #gpio-cells = <2>; | 47 | #gpio-cells = <2>; |
110 | }; | 48 | }; |
111 | 49 | ||
112 | gpt6: timer@660 { // General Purpose Timer in GPIO mode | 50 | gpt6: timer@660 { // General Purpose Timer in GPIO mode |
113 | compatible = "fsl,mpc5200b-gpt-gpio","fsl,mpc5200-gpt-gpio"; | 51 | compatible = "fsl,mpc5200b-gpt-gpio","fsl,mpc5200-gpt-gpio"; |
114 | reg = <0x660 0x10>; | ||
115 | interrupts = <1 15 0>; | ||
116 | gpio-controller; | 52 | gpio-controller; |
117 | #gpio-cells = <2>; | 53 | #gpio-cells = <2>; |
118 | }; | 54 | }; |
119 | 55 | ||
120 | gpt7: timer@670 { // General Purpose Timer in GPIO mode | 56 | gpt7: timer@670 { // General Purpose Timer in GPIO mode |
121 | compatible = "fsl,mpc5200b-gpt-gpio","fsl,mpc5200-gpt-gpio"; | 57 | compatible = "fsl,mpc5200b-gpt-gpio","fsl,mpc5200-gpt-gpio"; |
122 | reg = <0x670 0x10>; | ||
123 | interrupts = <1 16 0>; | ||
124 | gpio-controller; | ||
125 | #gpio-cells = <2>; | ||
126 | }; | ||
127 | |||
128 | rtc@800 { // Real time clock | ||
129 | compatible = "fsl,mpc5200b-rtc","fsl,mpc5200-rtc"; | ||
130 | reg = <0x800 0x100>; | ||
131 | interrupts = <1 5 0 1 6 0>; | ||
132 | }; | ||
133 | |||
134 | can@900 { | ||
135 | compatible = "fsl,mpc5200b-mscan","fsl,mpc5200-mscan"; | ||
136 | interrupts = <2 17 0>; | ||
137 | reg = <0x900 0x80>; | ||
138 | }; | ||
139 | |||
140 | can@980 { | ||
141 | compatible = "fsl,mpc5200b-mscan","fsl,mpc5200-mscan"; | ||
142 | interrupts = <2 18 0>; | ||
143 | reg = <0x980 0x80>; | ||
144 | }; | ||
145 | |||
146 | gpio_simple: gpio@b00 { | ||
147 | compatible = "fsl,mpc5200b-gpio","fsl,mpc5200-gpio"; | ||
148 | reg = <0xb00 0x40>; | ||
149 | interrupts = <1 7 0>; | ||
150 | gpio-controller; | 58 | gpio-controller; |
151 | #gpio-cells = <2>; | 59 | #gpio-cells = <2>; |
152 | }; | 60 | }; |
153 | 61 | ||
154 | gpio_wkup: gpio@c00 { | 62 | psc@2000 { /* PSC1 in ac97 mode */ |
155 | compatible = "fsl,mpc5200b-gpio-wkup","fsl,mpc5200-gpio-wkup"; | ||
156 | reg = <0xc00 0x40>; | ||
157 | interrupts = <1 8 0 0 3 0>; | ||
158 | gpio-controller; | ||
159 | #gpio-cells = <2>; | ||
160 | }; | ||
161 | |||
162 | spi@f00 { | ||
163 | compatible = "fsl,mpc5200b-spi","fsl,mpc5200-spi"; | ||
164 | reg = <0xf00 0x20>; | ||
165 | interrupts = <2 13 0 2 14 0>; | ||
166 | }; | ||
167 | |||
168 | usb@1000 { | ||
169 | compatible = "fsl,mpc5200b-ohci","fsl,mpc5200-ohci","ohci-be"; | ||
170 | reg = <0x1000 0xff>; | ||
171 | interrupts = <2 6 0>; | ||
172 | }; | ||
173 | |||
174 | dma-controller@1200 { | ||
175 | compatible = "fsl,mpc5200b-bestcomm","fsl,mpc5200-bestcomm"; | ||
176 | reg = <0x1200 0x80>; | ||
177 | interrupts = <3 0 0 3 1 0 3 2 0 3 3 0 | ||
178 | 3 4 0 3 5 0 3 6 0 3 7 0 | ||
179 | 3 8 0 3 9 0 3 10 0 3 11 0 | ||
180 | 3 12 0 3 13 0 3 14 0 3 15 0>; | ||
181 | }; | ||
182 | |||
183 | xlb@1f00 { | ||
184 | compatible = "fsl,mpc5200b-xlb","fsl,mpc5200-xlb"; | ||
185 | reg = <0x1f00 0x100>; | ||
186 | }; | ||
187 | |||
188 | ac97@2000 { /* PSC1 in ac97 mode */ | ||
189 | compatible = "mpc5200b-psc-ac97","fsl,mpc5200b-psc-ac97"; | 63 | compatible = "mpc5200b-psc-ac97","fsl,mpc5200b-psc-ac97"; |
190 | cell-index = <0>; | 64 | cell-index = <0>; |
191 | reg = <0x2000 0x100>; | ||
192 | interrupts = <2 1 0>; | ||
193 | }; | 65 | }; |
194 | 66 | ||
195 | /* PSC2 port is used by CAN1/2 */ | 67 | /* PSC2 port is used by CAN1/2 */ |
68 | psc@2200 { | ||
69 | status = "disabled"; | ||
70 | }; | ||
196 | 71 | ||
197 | serial@2400 { /* PSC3 in UART mode */ | 72 | psc@2400 { /* PSC3 in UART mode */ |
198 | compatible = "fsl,mpc5200b-psc-uart","fsl,mpc5200-psc-uart"; | 73 | compatible = "fsl,mpc5200b-psc-uart","fsl,mpc5200-psc-uart"; |
199 | cell-index = <2>; | ||
200 | reg = <0x2400 0x100>; | ||
201 | interrupts = <2 3 0>; | ||
202 | }; | 74 | }; |
203 | 75 | ||
204 | /* PSC4 is ??? */ | 76 | /* PSC4 is ??? */ |
77 | psc@2600 { | ||
78 | status = "disabled"; | ||
79 | }; | ||
205 | 80 | ||
206 | /* PSC5 is ??? */ | 81 | /* PSC5 is ??? */ |
82 | psc@2800 { | ||
83 | status = "disabled"; | ||
84 | }; | ||
207 | 85 | ||
208 | serial@2c00 { /* PSC6 in UART mode */ | 86 | psc@2c00 { /* PSC6 in UART mode */ |
209 | compatible = "fsl,mpc5200b-psc-uart","fsl,mpc5200-psc-uart"; | 87 | compatible = "fsl,mpc5200b-psc-uart","fsl,mpc5200-psc-uart"; |
210 | cell-index = <5>; | ||
211 | reg = <0x2c00 0x100>; | ||
212 | interrupts = <2 4 0>; | ||
213 | }; | 88 | }; |
214 | 89 | ||
215 | ethernet@3000 { | 90 | ethernet@3000 { |
216 | compatible = "fsl,mpc5200b-fec","fsl,mpc5200-fec"; | ||
217 | reg = <0x3000 0x400>; | ||
218 | local-mac-address = [ 00 00 00 00 00 00 ]; | ||
219 | interrupts = <2 5 0>; | ||
220 | phy-handle = <&phy0>; | 91 | phy-handle = <&phy0>; |
221 | }; | 92 | }; |
222 | 93 | ||
223 | mdio@3000 { | 94 | mdio@3000 { |
224 | #address-cells = <1>; | ||
225 | #size-cells = <0>; | ||
226 | compatible = "fsl,mpc5200b-mdio","fsl,mpc5200-mdio"; | ||
227 | reg = <0x3000 0x400>; // fec range, since we need to setup fec interrupts | ||
228 | interrupts = <2 5 0>; // these are for "mii command finished", not link changes & co. | ||
229 | |||
230 | phy0: ethernet-phy@0 { | 95 | phy0: ethernet-phy@0 { |
231 | reg = <0>; | 96 | reg = <0>; |
232 | }; | 97 | }; |
233 | }; | 98 | }; |
234 | 99 | ||
235 | ata@3a00 { | ||
236 | compatible = "fsl,mpc5200b-ata","fsl,mpc5200-ata"; | ||
237 | reg = <0x3a00 0x100>; | ||
238 | interrupts = <2 7 0>; | ||
239 | }; | ||
240 | |||
241 | i2c@3d00 { | ||
242 | #address-cells = <1>; | ||
243 | #size-cells = <0>; | ||
244 | compatible = "fsl,mpc5200b-i2c","fsl,mpc5200-i2c","fsl-i2c"; | ||
245 | reg = <0x3d00 0x40>; | ||
246 | interrupts = <2 15 0>; | ||
247 | }; | ||
248 | |||
249 | i2c@3d40 { | 100 | i2c@3d40 { |
250 | #address-cells = <1>; | ||
251 | #size-cells = <0>; | ||
252 | compatible = "fsl,mpc5200b-i2c","fsl,mpc5200-i2c","fsl-i2c"; | ||
253 | reg = <0x3d40 0x40>; | ||
254 | interrupts = <2 16 0>; | ||
255 | rtc@51 { | 101 | rtc@51 { |
256 | compatible = "nxp,pcf8563"; | 102 | compatible = "nxp,pcf8563"; |
257 | reg = <0x51>; | 103 | reg = <0x51>; |
@@ -259,6 +105,7 @@ | |||
259 | eeprom@52 { | 105 | eeprom@52 { |
260 | compatible = "catalyst,24c32"; | 106 | compatible = "catalyst,24c32"; |
261 | reg = <0x52>; | 107 | reg = <0x52>; |
108 | pagesize = <32>; | ||
262 | }; | 109 | }; |
263 | }; | 110 | }; |
264 | 111 | ||
@@ -269,12 +116,6 @@ | |||
269 | }; | 116 | }; |
270 | 117 | ||
271 | pci@f0000d00 { | 118 | pci@f0000d00 { |
272 | #interrupt-cells = <1>; | ||
273 | #size-cells = <2>; | ||
274 | #address-cells = <3>; | ||
275 | device_type = "pci"; | ||
276 | compatible = "fsl,mpc5200b-pci","fsl,mpc5200-pci"; | ||
277 | reg = <0xf0000d00 0x100>; | ||
278 | interrupt-map-mask = <0xf800 0 0 7>; | 119 | interrupt-map-mask = <0xf800 0 0 7>; |
279 | interrupt-map = <0xc000 0 0 1 &mpc5200_pic 0 0 3 // 1st slot | 120 | interrupt-map = <0xc000 0 0 1 &mpc5200_pic 0 0 3 // 1st slot |
280 | 0xc000 0 0 2 &mpc5200_pic 1 1 3 | 121 | 0xc000 0 0 2 &mpc5200_pic 1 1 3 |
@@ -285,11 +126,12 @@ | |||
285 | 0xc800 0 0 2 &mpc5200_pic 1 2 3 | 126 | 0xc800 0 0 2 &mpc5200_pic 1 2 3 |
286 | 0xc800 0 0 3 &mpc5200_pic 1 3 3 | 127 | 0xc800 0 0 3 &mpc5200_pic 1 3 3 |
287 | 0xc800 0 0 4 &mpc5200_pic 0 0 3>; | 128 | 0xc800 0 0 4 &mpc5200_pic 0 0 3>; |
288 | clock-frequency = <0>; // From boot loader | ||
289 | interrupts = <2 8 0 2 9 0 2 10 0>; | ||
290 | bus-range = <0 0>; | ||
291 | ranges = <0x42000000 0 0x80000000 0x80000000 0 0x20000000 | 129 | ranges = <0x42000000 0 0x80000000 0x80000000 0 0x20000000 |
292 | 0x02000000 0 0xa0000000 0xa0000000 0 0x10000000 | 130 | 0x02000000 0 0xa0000000 0xa0000000 0 0x10000000 |
293 | 0x01000000 0 0x00000000 0xb0000000 0 0x01000000>; | 131 | 0x01000000 0 0x00000000 0xb0000000 0 0x01000000>; |
294 | }; | 132 | }; |
133 | |||
134 | localbus { | ||
135 | status = "disabled"; | ||
136 | }; | ||
295 | }; | 137 | }; |
diff --git a/arch/powerpc/boot/dts/pcm032.dts b/arch/powerpc/boot/dts/pcm032.dts index 85d857a5d46e..1dd478bfff96 100644 --- a/arch/powerpc/boot/dts/pcm032.dts +++ b/arch/powerpc/boot/dts/pcm032.dts | |||
@@ -12,99 +12,37 @@ | |||
12 | * option) any later version. | 12 | * option) any later version. |
13 | */ | 13 | */ |
14 | 14 | ||
15 | /dts-v1/; | 15 | /include/ "mpc5200b.dtsi" |
16 | 16 | ||
17 | / { | 17 | / { |
18 | model = "phytec,pcm032"; | 18 | model = "phytec,pcm032"; |
19 | compatible = "phytec,pcm032"; | 19 | compatible = "phytec,pcm032"; |
20 | #address-cells = <1>; | ||
21 | #size-cells = <1>; | ||
22 | interrupt-parent = <&mpc5200_pic>; | ||
23 | |||
24 | cpus { | ||
25 | #address-cells = <1>; | ||
26 | #size-cells = <0>; | ||
27 | |||
28 | PowerPC,5200@0 { | ||
29 | device_type = "cpu"; | ||
30 | reg = <0>; | ||
31 | d-cache-line-size = <32>; | ||
32 | i-cache-line-size = <32>; | ||
33 | d-cache-size = <0x4000>; // L1, 16K | ||
34 | i-cache-size = <0x4000>; // L1, 16K | ||
35 | timebase-frequency = <0>; // from bootloader | ||
36 | bus-frequency = <0>; // from bootloader | ||
37 | clock-frequency = <0>; // from bootloader | ||
38 | }; | ||
39 | }; | ||
40 | 20 | ||
41 | memory { | 21 | memory { |
42 | device_type = "memory"; | ||
43 | reg = <0x00000000 0x08000000>; // 128MB | 22 | reg = <0x00000000 0x08000000>; // 128MB |
44 | }; | 23 | }; |
45 | 24 | ||
46 | soc5200@f0000000 { | 25 | soc5200@f0000000 { |
47 | #address-cells = <1>; | 26 | timer@600 { // General Purpose Timer |
48 | #size-cells = <1>; | ||
49 | compatible = "fsl,mpc5200b-immr"; | ||
50 | ranges = <0 0xf0000000 0x0000c000>; | ||
51 | bus-frequency = <0>; // from bootloader | ||
52 | system-frequency = <0>; // from bootloader | ||
53 | |||
54 | cdm@200 { | ||
55 | compatible = "fsl,mpc5200b-cdm","fsl,mpc5200-cdm"; | ||
56 | reg = <0x200 0x38>; | ||
57 | }; | ||
58 | |||
59 | mpc5200_pic: interrupt-controller@500 { | ||
60 | // 5200 interrupts are encoded into two levels; | ||
61 | interrupt-controller; | ||
62 | #interrupt-cells = <3>; | ||
63 | compatible = "fsl,mpc5200b-pic","fsl,mpc5200-pic"; | ||
64 | reg = <0x500 0x80>; | ||
65 | }; | ||
66 | |||
67 | timer@600 { // General Purpose Timer | ||
68 | compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt"; | ||
69 | reg = <0x600 0x10>; | ||
70 | interrupts = <1 9 0>; | ||
71 | fsl,has-wdt; | 27 | fsl,has-wdt; |
72 | }; | 28 | }; |
73 | 29 | ||
74 | timer@610 { // General Purpose Timer | ||
75 | compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt"; | ||
76 | reg = <0x610 0x10>; | ||
77 | interrupts = <1 10 0>; | ||
78 | }; | ||
79 | |||
80 | gpt2: timer@620 { // General Purpose Timer in GPIO mode | 30 | gpt2: timer@620 { // General Purpose Timer in GPIO mode |
81 | compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt"; | ||
82 | reg = <0x620 0x10>; | ||
83 | interrupts = <1 11 0>; | ||
84 | gpio-controller; | 31 | gpio-controller; |
85 | #gpio-cells = <2>; | 32 | #gpio-cells = <2>; |
86 | }; | 33 | }; |
87 | 34 | ||
88 | gpt3: timer@630 { // General Purpose Timer in GPIO mode | 35 | gpt3: timer@630 { // General Purpose Timer in GPIO mode |
89 | compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt"; | ||
90 | reg = <0x630 0x10>; | ||
91 | interrupts = <1 12 0>; | ||
92 | gpio-controller; | 36 | gpio-controller; |
93 | #gpio-cells = <2>; | 37 | #gpio-cells = <2>; |
94 | }; | 38 | }; |
95 | 39 | ||
96 | gpt4: timer@640 { // General Purpose Timer in GPIO mode | 40 | gpt4: timer@640 { // General Purpose Timer in GPIO mode |
97 | compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt"; | ||
98 | reg = <0x640 0x10>; | ||
99 | interrupts = <1 13 0>; | ||
100 | gpio-controller; | 41 | gpio-controller; |
101 | #gpio-cells = <2>; | 42 | #gpio-cells = <2>; |
102 | }; | 43 | }; |
103 | 44 | ||
104 | gpt5: timer@650 { // General Purpose Timer in GPIO mode | 45 | gpt5: timer@650 { // General Purpose Timer in GPIO mode |
105 | compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt"; | ||
106 | reg = <0x650 0x10>; | ||
107 | interrupts = <1 14 0>; | ||
108 | gpio-controller; | 46 | gpio-controller; |
109 | #gpio-cells = <2>; | 47 | #gpio-cells = <2>; |
110 | }; | 48 | }; |
@@ -118,163 +56,62 @@ | |||
118 | }; | 56 | }; |
119 | 57 | ||
120 | gpt7: timer@670 { // General Purpose Timer in GPIO mode | 58 | gpt7: timer@670 { // General Purpose Timer in GPIO mode |
121 | compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt"; | ||
122 | reg = <0x670 0x10>; | ||
123 | interrupts = <1 16 0>; | ||
124 | gpio-controller; | 59 | gpio-controller; |
125 | #gpio-cells = <2>; | 60 | #gpio-cells = <2>; |
126 | }; | 61 | }; |
127 | 62 | ||
128 | rtc@800 { // Real time clock | 63 | psc@2000 { /* PSC1 is ac97 */ |
129 | compatible = "fsl,mpc5200b-rtc","fsl,mpc5200-rtc"; | ||
130 | reg = <0x800 0x100>; | ||
131 | interrupts = <1 5 0 1 6 0>; | ||
132 | }; | ||
133 | |||
134 | can@900 { | ||
135 | compatible = "fsl,mpc5200b-mscan","fsl,mpc5200-mscan"; | ||
136 | interrupts = <2 17 0>; | ||
137 | reg = <0x900 0x80>; | ||
138 | }; | ||
139 | |||
140 | can@980 { | ||
141 | compatible = "fsl,mpc5200b-mscan","fsl,mpc5200-mscan"; | ||
142 | interrupts = <2 18 0>; | ||
143 | reg = <0x980 0x80>; | ||
144 | }; | ||
145 | |||
146 | gpio_simple: gpio@b00 { | ||
147 | compatible = "fsl,mpc5200b-gpio","fsl,mpc5200-gpio"; | ||
148 | reg = <0xb00 0x40>; | ||
149 | interrupts = <1 7 0>; | ||
150 | gpio-controller; | ||
151 | #gpio-cells = <2>; | ||
152 | }; | ||
153 | |||
154 | gpio_wkup: gpio@c00 { | ||
155 | compatible = "fsl,mpc5200b-gpio-wkup","fsl,mpc5200-gpio-wkup"; | ||
156 | reg = <0xc00 0x40>; | ||
157 | interrupts = <1 8 0 0 3 0>; | ||
158 | gpio-controller; | ||
159 | #gpio-cells = <2>; | ||
160 | }; | ||
161 | |||
162 | spi@f00 { | ||
163 | compatible = "fsl,mpc5200b-spi","fsl,mpc5200-spi"; | ||
164 | reg = <0xf00 0x20>; | ||
165 | interrupts = <2 13 0 2 14 0>; | ||
166 | }; | ||
167 | |||
168 | usb@1000 { | ||
169 | compatible = "fsl,mpc5200b-ohci","fsl,mpc5200-ohci","ohci-be"; | ||
170 | reg = <0x1000 0xff>; | ||
171 | interrupts = <2 6 0>; | ||
172 | }; | ||
173 | |||
174 | dma-controller@1200 { | ||
175 | compatible = "fsl,mpc5200b-bestcomm","fsl,mpc5200-bestcomm"; | ||
176 | reg = <0x1200 0x80>; | ||
177 | interrupts = <3 0 0 3 1 0 3 2 0 3 3 0 | ||
178 | 3 4 0 3 5 0 3 6 0 3 7 0 | ||
179 | 3 8 0 3 9 0 3 10 0 3 11 0 | ||
180 | 3 12 0 3 13 0 3 14 0 3 15 0>; | ||
181 | }; | ||
182 | |||
183 | xlb@1f00 { | ||
184 | compatible = "fsl,mpc5200b-xlb","fsl,mpc5200-xlb"; | ||
185 | reg = <0x1f00 0x100>; | ||
186 | }; | ||
187 | |||
188 | ac97@2000 { /* PSC1 is ac97 */ | ||
189 | compatible = "fsl,mpc5200b-psc-ac97","fsl,mpc5200-psc-ac97"; | 64 | compatible = "fsl,mpc5200b-psc-ac97","fsl,mpc5200-psc-ac97"; |
190 | cell-index = <0>; | 65 | cell-index = <0>; |
191 | reg = <0x2000 0x100>; | ||
192 | interrupts = <2 1 0>; | ||
193 | }; | 66 | }; |
194 | 67 | ||
195 | /* PSC2 port is used by CAN1/2 */ | 68 | /* PSC2 port is used by CAN1/2 */ |
69 | psc@2200 { | ||
70 | status = "disabled"; | ||
71 | }; | ||
196 | 72 | ||
197 | serial@2400 { /* PSC3 in UART mode */ | 73 | psc@2400 { /* PSC3 in UART mode */ |
198 | compatible = "fsl,mpc5200b-psc-uart","fsl,mpc5200-psc-uart"; | 74 | compatible = "fsl,mpc5200b-psc-uart","fsl,mpc5200-psc-uart"; |
199 | cell-index = <2>; | ||
200 | reg = <0x2400 0x100>; | ||
201 | interrupts = <2 3 0>; | ||
202 | }; | 75 | }; |
203 | 76 | ||
204 | /* PSC4 is ??? */ | 77 | /* PSC4 is ??? */ |
78 | psc@2600 { | ||
79 | status = "disabled"; | ||
80 | }; | ||
205 | 81 | ||
206 | /* PSC5 is ??? */ | 82 | /* PSC5 is ??? */ |
83 | psc@2800 { | ||
84 | status = "disabled"; | ||
85 | }; | ||
207 | 86 | ||
208 | serial@2c00 { /* PSC6 in UART mode */ | 87 | psc@2c00 { /* PSC6 in UART mode */ |
209 | compatible = "fsl,mpc5200b-psc-uart","fsl,mpc5200-psc-uart"; | 88 | compatible = "fsl,mpc5200b-psc-uart","fsl,mpc5200-psc-uart"; |
210 | cell-index = <5>; | ||
211 | reg = <0x2c00 0x100>; | ||
212 | interrupts = <2 4 0>; | ||
213 | }; | 89 | }; |
214 | 90 | ||
215 | ethernet@3000 { | 91 | ethernet@3000 { |
216 | compatible = "fsl,mpc5200b-fec","fsl,mpc5200-fec"; | ||
217 | reg = <0x3000 0x400>; | ||
218 | local-mac-address = [ 00 00 00 00 00 00 ]; | ||
219 | interrupts = <2 5 0>; | ||
220 | phy-handle = <&phy0>; | 92 | phy-handle = <&phy0>; |
221 | }; | 93 | }; |
222 | 94 | ||
223 | mdio@3000 { | 95 | mdio@3000 { |
224 | #address-cells = <1>; | ||
225 | #size-cells = <0>; | ||
226 | compatible = "fsl,mpc5200b-mdio","fsl,mpc5200-mdio"; | ||
227 | reg = <0x3000 0x400>; // fec range, since we need to setup fec interrupts | ||
228 | interrupts = <2 5 0>; // these are for "mii command finished", not link changes & co. | ||
229 | |||
230 | phy0: ethernet-phy@0 { | 96 | phy0: ethernet-phy@0 { |
231 | reg = <0>; | 97 | reg = <0>; |
232 | }; | 98 | }; |
233 | }; | 99 | }; |
234 | 100 | ||
235 | ata@3a00 { | ||
236 | compatible = "fsl,mpc5200b-ata","fsl,mpc5200-ata"; | ||
237 | reg = <0x3a00 0x100>; | ||
238 | interrupts = <2 7 0>; | ||
239 | }; | ||
240 | |||
241 | i2c@3d00 { | ||
242 | #address-cells = <1>; | ||
243 | #size-cells = <0>; | ||
244 | compatible = "fsl,mpc5200b-i2c","fsl,mpc5200-i2c","fsl-i2c"; | ||
245 | reg = <0x3d00 0x40>; | ||
246 | interrupts = <2 15 0>; | ||
247 | }; | ||
248 | |||
249 | i2c@3d40 { | 101 | i2c@3d40 { |
250 | #address-cells = <1>; | ||
251 | #size-cells = <0>; | ||
252 | compatible = "fsl,mpc5200b-i2c","fsl,mpc5200-i2c","fsl-i2c"; | ||
253 | reg = <0x3d40 0x40>; | ||
254 | interrupts = <2 16 0>; | ||
255 | rtc@51 { | 102 | rtc@51 { |
256 | compatible = "nxp,pcf8563"; | 103 | compatible = "nxp,pcf8563"; |
257 | reg = <0x51>; | 104 | reg = <0x51>; |
258 | }; | 105 | }; |
259 | eeprom@52 { | 106 | eeprom@52 { |
260 | compatible = "at24,24c32"; | 107 | compatible = "catalyst,24c32"; |
261 | reg = <0x52>; | 108 | reg = <0x52>; |
109 | pagesize = <32>; | ||
262 | }; | 110 | }; |
263 | }; | 111 | }; |
264 | |||
265 | sram@8000 { | ||
266 | compatible = "fsl,mpc5200b-sram","fsl,mpc5200-sram"; | ||
267 | reg = <0x8000 0x4000>; | ||
268 | }; | ||
269 | }; | 112 | }; |
270 | 113 | ||
271 | pci@f0000d00 { | 114 | pci@f0000d00 { |
272 | #interrupt-cells = <1>; | ||
273 | #size-cells = <2>; | ||
274 | #address-cells = <3>; | ||
275 | device_type = "pci"; | ||
276 | compatible = "fsl,mpc5200b-pci","fsl,mpc5200-pci"; | ||
277 | reg = <0xf0000d00 0x100>; | ||
278 | interrupt-map-mask = <0xf800 0 0 7>; | 115 | interrupt-map-mask = <0xf800 0 0 7>; |
279 | interrupt-map = <0xc000 0 0 1 &mpc5200_pic 0 0 3 // 1st slot | 116 | interrupt-map = <0xc000 0 0 1 &mpc5200_pic 0 0 3 // 1st slot |
280 | 0xc000 0 0 2 &mpc5200_pic 1 1 3 | 117 | 0xc000 0 0 2 &mpc5200_pic 1 1 3 |
@@ -285,20 +122,12 @@ | |||
285 | 0xc800 0 0 2 &mpc5200_pic 1 2 3 | 122 | 0xc800 0 0 2 &mpc5200_pic 1 2 3 |
286 | 0xc800 0 0 3 &mpc5200_pic 1 3 3 | 123 | 0xc800 0 0 3 &mpc5200_pic 1 3 3 |
287 | 0xc800 0 0 4 &mpc5200_pic 0 0 3>; | 124 | 0xc800 0 0 4 &mpc5200_pic 0 0 3>; |
288 | clock-frequency = <0>; // From boot loader | ||
289 | interrupts = <2 8 0 2 9 0 2 10 0>; | ||
290 | bus-range = <0 0>; | ||
291 | ranges = <0x42000000 0 0x80000000 0x80000000 0 0x20000000 | 125 | ranges = <0x42000000 0 0x80000000 0x80000000 0 0x20000000 |
292 | 0x02000000 0 0xa0000000 0xa0000000 0 0x10000000 | 126 | 0x02000000 0 0xa0000000 0xa0000000 0 0x10000000 |
293 | 0x01000000 0 0x00000000 0xb0000000 0 0x01000000>; | 127 | 0x01000000 0 0x00000000 0xb0000000 0 0x01000000>; |
294 | }; | 128 | }; |
295 | 129 | ||
296 | localbus { | 130 | localbus { |
297 | compatible = "fsl,mpc5200b-lpb","fsl,mpc5200-lpb","simple-bus"; | ||
298 | |||
299 | #address-cells = <2>; | ||
300 | #size-cells = <1>; | ||
301 | |||
302 | ranges = <0 0 0xfe000000 0x02000000 | 131 | ranges = <0 0 0xfe000000 0x02000000 |
303 | 1 0 0xfc000000 0x02000000 | 132 | 1 0 0xfc000000 0x02000000 |
304 | 2 0 0xfbe00000 0x00200000 | 133 | 2 0 0xfbe00000 0x00200000 |
@@ -351,40 +180,39 @@ | |||
351 | bank-width = <2>; | 180 | bank-width = <2>; |
352 | }; | 181 | }; |
353 | 182 | ||
354 | /* | 183 | /* |
355 | * example snippets for FPGA | 184 | * example snippets for FPGA |
356 | * | 185 | * |
357 | * fpga@3,0 { | 186 | * fpga@3,0 { |
358 | * compatible = "fpga_driver"; | 187 | * compatible = "fpga_driver"; |
359 | * reg = <3 0 0x02000000>; | 188 | * reg = <3 0 0x02000000>; |
360 | * bank-width = <4>; | 189 | * bank-width = <4>; |
361 | * }; | 190 | * }; |
362 | * | 191 | * |
363 | * fpga@4,0 { | 192 | * fpga@4,0 { |
364 | * compatible = "fpga_driver"; | 193 | * compatible = "fpga_driver"; |
365 | * reg = <4 0 0x02000000>; | 194 | * reg = <4 0 0x02000000>; |
366 | * bank-width = <4>; | 195 | * bank-width = <4>; |
367 | * }; | 196 | * }; |
368 | */ | 197 | */ |
369 | 198 | ||
370 | /* | 199 | /* |
371 | * example snippets for free chipselects | 200 | * example snippets for free chipselects |
372 | * | 201 | * |
373 | * device@5,0 { | 202 | * device@5,0 { |
374 | * compatible = "custom_driver"; | 203 | * compatible = "custom_driver"; |
375 | * reg = <5 0 0x02000000>; | 204 | * reg = <5 0 0x02000000>; |
376 | * }; | 205 | * }; |
377 | * | 206 | * |
378 | * device@6,0 { | 207 | * device@6,0 { |
379 | * compatible = "custom_driver"; | 208 | * compatible = "custom_driver"; |
380 | * reg = <6 0 0x02000000>; | 209 | * reg = <6 0 0x02000000>; |
381 | * }; | 210 | * }; |
382 | * | 211 | * |
383 | * device@7,0 { | 212 | * device@7,0 { |
384 | * compatible = "custom_driver"; | 213 | * compatible = "custom_driver"; |
385 | * reg = <7 0 0x02000000>; | 214 | * reg = <7 0 0x02000000>; |
386 | * }; | 215 | * }; |
387 | */ | 216 | */ |
388 | }; | 217 | }; |
389 | }; | 218 | }; |
390 | |||
diff --git a/arch/powerpc/boot/dts/uc101.dts b/arch/powerpc/boot/dts/uc101.dts index 019264c62904..ba83d5488ec6 100644 --- a/arch/powerpc/boot/dts/uc101.dts +++ b/arch/powerpc/boot/dts/uc101.dts | |||
@@ -11,79 +11,24 @@ | |||
11 | * option) any later version. | 11 | * option) any later version. |
12 | */ | 12 | */ |
13 | 13 | ||
14 | /dts-v1/; | 14 | /include/ "mpc5200b.dtsi" |
15 | 15 | ||
16 | / { | 16 | / { |
17 | model = "manroland,uc101"; | 17 | model = "manroland,uc101"; |
18 | compatible = "manroland,uc101"; | 18 | compatible = "manroland,uc101"; |
19 | #address-cells = <1>; | ||
20 | #size-cells = <1>; | ||
21 | interrupt-parent = <&mpc5200_pic>; | ||
22 | |||
23 | cpus { | ||
24 | #address-cells = <1>; | ||
25 | #size-cells = <0>; | ||
26 | |||
27 | PowerPC,5200@0 { | ||
28 | device_type = "cpu"; | ||
29 | reg = <0>; | ||
30 | d-cache-line-size = <32>; | ||
31 | i-cache-line-size = <32>; | ||
32 | d-cache-size = <0x4000>; // L1, 16K | ||
33 | i-cache-size = <0x4000>; // L1, 16K | ||
34 | timebase-frequency = <0>; // from bootloader | ||
35 | bus-frequency = <0>; // from bootloader | ||
36 | clock-frequency = <0>; // from bootloader | ||
37 | }; | ||
38 | }; | ||
39 | |||
40 | memory { | ||
41 | device_type = "memory"; | ||
42 | reg = <0x00000000 0x04000000>; // 64MB | ||
43 | }; | ||
44 | 19 | ||
45 | soc5200@f0000000 { | 20 | soc5200@f0000000 { |
46 | #address-cells = <1>; | ||
47 | #size-cells = <1>; | ||
48 | compatible = "fsl,mpc5200b-immr"; | ||
49 | ranges = <0 0xf0000000 0x0000c000>; | ||
50 | reg = <0xf0000000 0x00000100>; | ||
51 | bus-frequency = <0>; // from bootloader | ||
52 | system-frequency = <0>; // from bootloader | ||
53 | |||
54 | cdm@200 { | ||
55 | compatible = "fsl,mpc5200b-cdm","fsl,mpc5200-cdm"; | ||
56 | reg = <0x200 0x38>; | ||
57 | }; | ||
58 | |||
59 | mpc5200_pic: interrupt-controller@500 { | ||
60 | // 5200 interrupts are encoded into two levels; | ||
61 | interrupt-controller; | ||
62 | #interrupt-cells = <3>; | ||
63 | compatible = "fsl,mpc5200b-pic","fsl,mpc5200-pic"; | ||
64 | reg = <0x500 0x80>; | ||
65 | }; | ||
66 | |||
67 | gpt0: timer@600 { // General Purpose Timer in GPIO mode | 21 | gpt0: timer@600 { // General Purpose Timer in GPIO mode |
68 | compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt"; | ||
69 | reg = <0x600 0x10>; | ||
70 | interrupts = <1 9 0>; | ||
71 | gpio-controller; | 22 | gpio-controller; |
72 | #gpio-cells = <2>; | 23 | #gpio-cells = <2>; |
73 | }; | 24 | }; |
74 | 25 | ||
75 | gpt1: timer@610 { // General Purpose Timer in GPIO mode | 26 | gpt1: timer@610 { // General Purpose Timer in GPIO mode |
76 | compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt"; | ||
77 | reg = <0x610 0x10>; | ||
78 | interrupts = <1 10 0>; | ||
79 | gpio-controller; | 27 | gpio-controller; |
80 | #gpio-cells = <2>; | 28 | #gpio-cells = <2>; |
81 | }; | 29 | }; |
82 | 30 | ||
83 | gpt2: timer@620 { // General Purpose Timer in GPIO mode | 31 | gpt2: timer@620 { // General Purpose Timer in GPIO mode |
84 | compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt"; | ||
85 | reg = <0x620 0x10>; | ||
86 | interrupts = <1 11 0>; | ||
87 | gpio-controller; | 32 | gpio-controller; |
88 | #gpio-cells = <2>; | 33 | #gpio-cells = <2>; |
89 | }; | 34 | }; |
@@ -97,118 +42,85 @@ | |||
97 | }; | 42 | }; |
98 | 43 | ||
99 | gpt4: timer@640 { // General Purpose Timer in GPIO mode | 44 | gpt4: timer@640 { // General Purpose Timer in GPIO mode |
100 | compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt"; | ||
101 | reg = <0x640 0x10>; | ||
102 | interrupts = <1 13 0>; | ||
103 | gpio-controller; | 45 | gpio-controller; |
104 | #gpio-cells = <2>; | 46 | #gpio-cells = <2>; |
105 | }; | 47 | }; |
106 | 48 | ||
107 | gpt5: timer@650 { // General Purpose Timer in GPIO mode | 49 | gpt5: timer@650 { // General Purpose Timer in GPIO mode |
108 | compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt"; | ||
109 | reg = <0x650 0x10>; | ||
110 | interrupts = <1 14 0>; | ||
111 | gpio-controller; | 50 | gpio-controller; |
112 | #gpio-cells = <2>; | 51 | #gpio-cells = <2>; |
113 | }; | 52 | }; |
114 | 53 | ||
115 | gpt6: timer@660 { // General Purpose Timer in GPIO mode | 54 | gpt6: timer@660 { // General Purpose Timer in GPIO mode |
116 | compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt"; | ||
117 | reg = <0x660 0x10>; | ||
118 | interrupts = <1 15 0>; | ||
119 | gpio-controller; | 55 | gpio-controller; |
120 | #gpio-cells = <2>; | 56 | #gpio-cells = <2>; |
121 | }; | 57 | }; |
122 | 58 | ||
123 | gpt7: timer@670 { // General Purpose Timer in GPIO mode | 59 | gpt7: timer@670 { // General Purpose Timer in GPIO mode |
124 | compatible = "fsl,mpc5200b-gpt","fsl,mpc5200-gpt"; | ||
125 | reg = <0x670 0x10>; | ||
126 | interrupts = <1 16 0>; | ||
127 | gpio-controller; | 60 | gpio-controller; |
128 | #gpio-cells = <2>; | 61 | #gpio-cells = <2>; |
129 | }; | 62 | }; |
130 | 63 | ||
131 | gpio_simple: gpio@b00 { | 64 | rtc@800 { |
132 | compatible = "fsl,mpc5200b-gpio","fsl,mpc5200-gpio"; | 65 | status = "disabled"; |
133 | reg = <0xb00 0x40>; | ||
134 | interrupts = <1 7 0>; | ||
135 | gpio-controller; | ||
136 | #gpio-cells = <2>; | ||
137 | }; | 66 | }; |
138 | 67 | ||
139 | gpio_wkup: gpio@c00 { | 68 | can@900 { |
140 | compatible = "fsl,mpc5200b-gpio-wkup","fsl,mpc5200-gpio-wkup"; | 69 | status = "disabled"; |
141 | reg = <0xc00 0x40>; | 70 | }; |
142 | interrupts = <1 8 0 0 3 0>; | 71 | |
143 | gpio-controller; | 72 | can@980 { |
144 | #gpio-cells = <2>; | 73 | status = "disabled"; |
145 | }; | 74 | }; |
146 | 75 | ||
147 | dma-controller@1200 { | 76 | spi@f00 { |
148 | compatible = "fsl,mpc5200b-bestcomm","fsl,mpc5200-bestcomm"; | 77 | status = "disabled"; |
149 | reg = <0x1200 0x80>; | ||
150 | interrupts = <3 0 0 3 1 0 3 2 0 3 3 0 | ||
151 | 3 4 0 3 5 0 3 6 0 3 7 0 | ||
152 | 3 8 0 3 9 0 3 10 0 3 11 0 | ||
153 | 3 12 0 3 13 0 3 14 0 3 15 0>; | ||
154 | }; | 78 | }; |
155 | 79 | ||
156 | xlb@1f00 { | 80 | usb@1000 { |
157 | compatible = "fsl,mpc5200b-xlb","fsl,mpc5200-xlb"; | 81 | status = "disabled"; |
158 | reg = <0x1f00 0x100>; | ||
159 | }; | 82 | }; |
160 | 83 | ||
161 | serial@2000 { /* PSC1 in UART mode */ | 84 | psc@2000 { // PSC1 |
162 | compatible = "fsl,mpc5200b-psc-uart","fsl,mpc5200-psc-uart"; | 85 | compatible = "fsl,mpc5200b-psc-uart","fsl,mpc5200-psc-uart"; |
163 | reg = <0x2000 0x100>; | ||
164 | interrupts = <2 1 0>; | ||
165 | }; | 86 | }; |
166 | 87 | ||
167 | serial@2200 { /* PSC2 in UART mode */ | 88 | psc@2200 { // PSC2 |
168 | compatible = "fsl,mpc5200b-psc-uart","fsl,mpc5200-psc-uart"; | 89 | compatible = "fsl,mpc5200b-psc-uart","fsl,mpc5200-psc-uart"; |
169 | reg = <0x2200 0x100>; | ||
170 | interrupts = <2 2 0>; | ||
171 | }; | 90 | }; |
172 | 91 | ||
173 | serial@2c00 { /* PSC6 in UART mode */ | 92 | psc@2400 { // PSC3 |
93 | status = "disabled"; | ||
94 | }; | ||
95 | |||
96 | psc@2600 { // PSC4 | ||
97 | status = "disabled"; | ||
98 | }; | ||
99 | |||
100 | psc@2800 { // PSC5 | ||
101 | status = "disabled"; | ||
102 | }; | ||
103 | |||
104 | psc@2c00 { // PSC6 | ||
174 | compatible = "fsl,mpc5200b-psc-uart","fsl,mpc5200-psc-uart"; | 105 | compatible = "fsl,mpc5200b-psc-uart","fsl,mpc5200-psc-uart"; |
175 | reg = <0x2c00 0x100>; | ||
176 | interrupts = <2 4 0>; | ||
177 | }; | 106 | }; |
178 | 107 | ||
179 | ethernet@3000 { | 108 | ethernet@3000 { |
180 | compatible = "fsl,mpc5200b-fec","fsl,mpc5200-fec"; | ||
181 | reg = <0x3000 0x400>; | ||
182 | local-mac-address = [ 00 00 00 00 00 00 ]; | ||
183 | interrupts = <2 5 0>; | ||
184 | phy-handle = <&phy0>; | 109 | phy-handle = <&phy0>; |
185 | }; | 110 | }; |
186 | 111 | ||
187 | mdio@3000 { | 112 | mdio@3000 { |
188 | #address-cells = <1>; | ||
189 | #size-cells = <0>; | ||
190 | compatible = "fsl,mpc5200b-mdio","fsl,mpc5200-mdio"; | ||
191 | reg = <0x3000 0x400>; // fec range, since we need to setup fec interrupts | ||
192 | interrupts = <2 5 0>; // these are for "mii command finished", not link changes & co. | ||
193 | |||
194 | phy0: ethernet-phy@0 { | 113 | phy0: ethernet-phy@0 { |
195 | compatible = "intel,lxt971"; | 114 | compatible = "intel,lxt971"; |
196 | reg = <0>; | 115 | reg = <0>; |
197 | }; | 116 | }; |
198 | }; | 117 | }; |
199 | 118 | ||
200 | ata@3a00 { | 119 | i2c@3d00 { |
201 | compatible = "fsl,mpc5200b-ata","fsl,mpc5200-ata"; | 120 | status = "disabled"; |
202 | reg = <0x3a00 0x100>; | ||
203 | interrupts = <2 7 0>; | ||
204 | }; | 121 | }; |
205 | 122 | ||
206 | i2c@3d40 { | 123 | i2c@3d40 { |
207 | #address-cells = <1>; | ||
208 | #size-cells = <0>; | ||
209 | compatible = "fsl,mpc5200b-i2c","fsl,mpc5200-i2c","fsl-i2c"; | ||
210 | reg = <0x3d40 0x40>; | ||
211 | interrupts = <2 16 0>; | ||
212 | fsl,preserve-clocking; | 124 | fsl,preserve-clocking; |
213 | clock-frequency = <400000>; | 125 | clock-frequency = <400000>; |
214 | 126 | ||
@@ -221,19 +133,13 @@ | |||
221 | reg = <0x51>; | 133 | reg = <0x51>; |
222 | }; | 134 | }; |
223 | }; | 135 | }; |
136 | }; | ||
224 | 137 | ||
225 | sram@8000 { | 138 | pci@f0000d00 { |
226 | compatible = "fsl,mpc5200b-sram","fsl,mpc5200-sram"; | 139 | status = "disabled"; |
227 | reg = <0x8000 0x4000>; | ||
228 | }; | ||
229 | }; | 140 | }; |
230 | 141 | ||
231 | localbus { | 142 | localbus { |
232 | compatible = "fsl,mpc5200b-lpb","fsl,mpc5200-lpb","simple-bus"; | ||
233 | |||
234 | #address-cells = <2>; | ||
235 | #size-cells = <1>; | ||
236 | |||
237 | ranges = <0 0 0xff800000 0x00800000 | 143 | ranges = <0 0 0xff800000 0x00800000 |
238 | 1 0 0x80000000 0x00800000 | 144 | 1 0 0x80000000 0x00800000 |
239 | 3 0 0x80000000 0x00800000>; | 145 | 3 0 0x80000000 0x00800000>; |
diff --git a/arch/powerpc/include/asm/prom.h b/arch/powerpc/include/asm/prom.h index ae26f2efd089..d72757585595 100644 --- a/arch/powerpc/include/asm/prom.h +++ b/arch/powerpc/include/asm/prom.h | |||
@@ -42,7 +42,7 @@ extern void pci_create_OF_bus_map(void); | |||
42 | 42 | ||
43 | /* Translate a DMA address from device space to CPU space */ | 43 | /* Translate a DMA address from device space to CPU space */ |
44 | extern u64 of_translate_dma_address(struct device_node *dev, | 44 | extern u64 of_translate_dma_address(struct device_node *dev, |
45 | const u32 *in_addr); | 45 | const __be32 *in_addr); |
46 | 46 | ||
47 | #ifdef CONFIG_PCI | 47 | #ifdef CONFIG_PCI |
48 | extern unsigned long pci_address_to_pio(phys_addr_t address); | 48 | extern unsigned long pci_address_to_pio(phys_addr_t address); |
@@ -63,9 +63,6 @@ struct device_node *of_get_cpu_node(int cpu, unsigned int *thread); | |||
63 | /* cache lookup */ | 63 | /* cache lookup */ |
64 | struct device_node *of_find_next_cache_node(struct device_node *np); | 64 | struct device_node *of_find_next_cache_node(struct device_node *np); |
65 | 65 | ||
66 | /* Get the MAC address */ | ||
67 | extern const void *of_get_mac_address(struct device_node *np); | ||
68 | |||
69 | #ifdef CONFIG_NUMA | 66 | #ifdef CONFIG_NUMA |
70 | extern int of_node_to_nid(struct device_node *device); | 67 | extern int of_node_to_nid(struct device_node *device); |
71 | #else | 68 | #else |
diff --git a/arch/powerpc/kernel/prom_parse.c b/arch/powerpc/kernel/prom_parse.c index 88334af038e5..c2b7a07cc3d3 100644 --- a/arch/powerpc/kernel/prom_parse.c +++ b/arch/powerpc/kernel/prom_parse.c | |||
@@ -117,41 +117,3 @@ void of_parse_dma_window(struct device_node *dn, const void *dma_window_prop, | |||
117 | cells = prop ? *(u32 *)prop : of_n_size_cells(dn); | 117 | cells = prop ? *(u32 *)prop : of_n_size_cells(dn); |
118 | *size = of_read_number(dma_window, cells); | 118 | *size = of_read_number(dma_window, cells); |
119 | } | 119 | } |
120 | |||
121 | /** | ||
122 | * Search the device tree for the best MAC address to use. 'mac-address' is | ||
123 | * checked first, because that is supposed to contain to "most recent" MAC | ||
124 | * address. If that isn't set, then 'local-mac-address' is checked next, | ||
125 | * because that is the default address. If that isn't set, then the obsolete | ||
126 | * 'address' is checked, just in case we're using an old device tree. | ||
127 | * | ||
128 | * Note that the 'address' property is supposed to contain a virtual address of | ||
129 | * the register set, but some DTS files have redefined that property to be the | ||
130 | * MAC address. | ||
131 | * | ||
132 | * All-zero MAC addresses are rejected, because those could be properties that | ||
133 | * exist in the device tree, but were not set by U-Boot. For example, the | ||
134 | * DTS could define 'mac-address' and 'local-mac-address', with zero MAC | ||
135 | * addresses. Some older U-Boots only initialized 'local-mac-address'. In | ||
136 | * this case, the real MAC is in 'local-mac-address', and 'mac-address' exists | ||
137 | * but is all zeros. | ||
138 | */ | ||
139 | const void *of_get_mac_address(struct device_node *np) | ||
140 | { | ||
141 | struct property *pp; | ||
142 | |||
143 | pp = of_find_property(np, "mac-address", NULL); | ||
144 | if (pp && (pp->length == 6) && is_valid_ether_addr(pp->value)) | ||
145 | return pp->value; | ||
146 | |||
147 | pp = of_find_property(np, "local-mac-address", NULL); | ||
148 | if (pp && (pp->length == 6) && is_valid_ether_addr(pp->value)) | ||
149 | return pp->value; | ||
150 | |||
151 | pp = of_find_property(np, "address", NULL); | ||
152 | if (pp && (pp->length == 6) && is_valid_ether_addr(pp->value)) | ||
153 | return pp->value; | ||
154 | |||
155 | return NULL; | ||
156 | } | ||
157 | EXPORT_SYMBOL(of_get_mac_address); | ||
diff --git a/arch/powerpc/platforms/40x/ppc40x_simple.c b/arch/powerpc/platforms/40x/ppc40x_simple.c index 546bbc229d19..2521d93ef136 100644 --- a/arch/powerpc/platforms/40x/ppc40x_simple.c +++ b/arch/powerpc/platforms/40x/ppc40x_simple.c | |||
@@ -50,7 +50,7 @@ machine_device_initcall(ppc40x_simple, ppc40x_device_probe); | |||
50 | * Again, if your board needs to do things differently then create a | 50 | * Again, if your board needs to do things differently then create a |
51 | * board.c file for it rather than adding it to this list. | 51 | * board.c file for it rather than adding it to this list. |
52 | */ | 52 | */ |
53 | static char *board[] __initdata = { | 53 | static const char *board[] __initdata = { |
54 | "amcc,acadia", | 54 | "amcc,acadia", |
55 | "amcc,haleakala", | 55 | "amcc,haleakala", |
56 | "amcc,kilauea", | 56 | "amcc,kilauea", |
@@ -60,14 +60,9 @@ static char *board[] __initdata = { | |||
60 | 60 | ||
61 | static int __init ppc40x_probe(void) | 61 | static int __init ppc40x_probe(void) |
62 | { | 62 | { |
63 | unsigned long root = of_get_flat_dt_root(); | 63 | if (of_flat_dt_match(of_get_flat_dt_root(), board)) { |
64 | int i = 0; | 64 | ppc_pci_set_flags(PPC_PCI_REASSIGN_ALL_RSRC); |
65 | 65 | return 1; | |
66 | for (i = 0; i < ARRAY_SIZE(board); i++) { | ||
67 | if (of_flat_dt_is_compatible(root, board[i])) { | ||
68 | ppc_pci_set_flags(PPC_PCI_REASSIGN_ALL_RSRC); | ||
69 | return 1; | ||
70 | } | ||
71 | } | 66 | } |
72 | 67 | ||
73 | return 0; | 68 | return 0; |
diff --git a/arch/powerpc/platforms/512x/mpc5121_generic.c b/arch/powerpc/platforms/512x/mpc5121_generic.c index e487eb06ec6b..926731f1ff01 100644 --- a/arch/powerpc/platforms/512x/mpc5121_generic.c +++ b/arch/powerpc/platforms/512x/mpc5121_generic.c | |||
@@ -26,7 +26,7 @@ | |||
26 | /* | 26 | /* |
27 | * list of supported boards | 27 | * list of supported boards |
28 | */ | 28 | */ |
29 | static char *board[] __initdata = { | 29 | static const char *board[] __initdata = { |
30 | "prt,prtlvt", | 30 | "prt,prtlvt", |
31 | NULL | 31 | NULL |
32 | }; | 32 | }; |
@@ -36,16 +36,7 @@ static char *board[] __initdata = { | |||
36 | */ | 36 | */ |
37 | static int __init mpc5121_generic_probe(void) | 37 | static int __init mpc5121_generic_probe(void) |
38 | { | 38 | { |
39 | unsigned long node = of_get_flat_dt_root(); | 39 | return of_flat_dt_match(of_get_flat_dt_root(), board); |
40 | int i = 0; | ||
41 | |||
42 | while (board[i]) { | ||
43 | if (of_flat_dt_is_compatible(node, board[i])) | ||
44 | break; | ||
45 | i++; | ||
46 | } | ||
47 | |||
48 | return board[i] != NULL; | ||
49 | } | 40 | } |
50 | 41 | ||
51 | define_machine(mpc5121_generic) { | 42 | define_machine(mpc5121_generic) { |
diff --git a/arch/powerpc/platforms/52xx/lite5200.c b/arch/powerpc/platforms/52xx/lite5200.c index de55bc0584b5..01ffa64d2aa7 100644 --- a/arch/powerpc/platforms/52xx/lite5200.c +++ b/arch/powerpc/platforms/52xx/lite5200.c | |||
@@ -172,20 +172,18 @@ static void __init lite5200_setup_arch(void) | |||
172 | mpc52xx_setup_pci(); | 172 | mpc52xx_setup_pci(); |
173 | } | 173 | } |
174 | 174 | ||
175 | static const char *board[] __initdata = { | ||
176 | "fsl,lite5200", | ||
177 | "fsl,lite5200b", | ||
178 | NULL, | ||
179 | }; | ||
180 | |||
175 | /* | 181 | /* |
176 | * Called very early, MMU is off, device-tree isn't unflattened | 182 | * Called very early, MMU is off, device-tree isn't unflattened |
177 | */ | 183 | */ |
178 | static int __init lite5200_probe(void) | 184 | static int __init lite5200_probe(void) |
179 | { | 185 | { |
180 | unsigned long node = of_get_flat_dt_root(); | 186 | return of_flat_dt_match(of_get_flat_dt_root(), board); |
181 | const char *model = of_get_flat_dt_prop(node, "model", NULL); | ||
182 | |||
183 | if (!of_flat_dt_is_compatible(node, "fsl,lite5200") && | ||
184 | !of_flat_dt_is_compatible(node, "fsl,lite5200b")) | ||
185 | return 0; | ||
186 | pr_debug("%s board found\n", model ? model : "unknown"); | ||
187 | |||
188 | return 1; | ||
189 | } | 187 | } |
190 | 188 | ||
191 | define_machine(lite5200) { | 189 | define_machine(lite5200) { |
diff --git a/arch/powerpc/platforms/52xx/media5200.c b/arch/powerpc/platforms/52xx/media5200.c index 0bac3a3dbecf..2c7780cb68e5 100644 --- a/arch/powerpc/platforms/52xx/media5200.c +++ b/arch/powerpc/platforms/52xx/media5200.c | |||
@@ -239,7 +239,7 @@ static void __init media5200_setup_arch(void) | |||
239 | } | 239 | } |
240 | 240 | ||
241 | /* list of the supported boards */ | 241 | /* list of the supported boards */ |
242 | static char *board[] __initdata = { | 242 | static const char *board[] __initdata = { |
243 | "fsl,media5200", | 243 | "fsl,media5200", |
244 | NULL | 244 | NULL |
245 | }; | 245 | }; |
@@ -249,16 +249,7 @@ static char *board[] __initdata = { | |||
249 | */ | 249 | */ |
250 | static int __init media5200_probe(void) | 250 | static int __init media5200_probe(void) |
251 | { | 251 | { |
252 | unsigned long node = of_get_flat_dt_root(); | 252 | return of_flat_dt_match(of_get_flat_dt_root(), board); |
253 | int i = 0; | ||
254 | |||
255 | while (board[i]) { | ||
256 | if (of_flat_dt_is_compatible(node, board[i])) | ||
257 | break; | ||
258 | i++; | ||
259 | } | ||
260 | |||
261 | return (board[i] != NULL); | ||
262 | } | 253 | } |
263 | 254 | ||
264 | define_machine(media5200_platform) { | 255 | define_machine(media5200_platform) { |
diff --git a/arch/powerpc/platforms/52xx/mpc5200_simple.c b/arch/powerpc/platforms/52xx/mpc5200_simple.c index d45be5b5ad49..e36d6e232ae6 100644 --- a/arch/powerpc/platforms/52xx/mpc5200_simple.c +++ b/arch/powerpc/platforms/52xx/mpc5200_simple.c | |||
@@ -49,7 +49,7 @@ static void __init mpc5200_simple_setup_arch(void) | |||
49 | } | 49 | } |
50 | 50 | ||
51 | /* list of the supported boards */ | 51 | /* list of the supported boards */ |
52 | static char *board[] __initdata = { | 52 | static const char *board[] __initdata = { |
53 | "intercontrol,digsy-mtc", | 53 | "intercontrol,digsy-mtc", |
54 | "manroland,mucmc52", | 54 | "manroland,mucmc52", |
55 | "manroland,uc101", | 55 | "manroland,uc101", |
@@ -66,16 +66,7 @@ static char *board[] __initdata = { | |||
66 | */ | 66 | */ |
67 | static int __init mpc5200_simple_probe(void) | 67 | static int __init mpc5200_simple_probe(void) |
68 | { | 68 | { |
69 | unsigned long node = of_get_flat_dt_root(); | 69 | return of_flat_dt_match(of_get_flat_dt_root(), board); |
70 | int i = 0; | ||
71 | |||
72 | while (board[i]) { | ||
73 | if (of_flat_dt_is_compatible(node, board[i])) | ||
74 | break; | ||
75 | i++; | ||
76 | } | ||
77 | |||
78 | return (board[i] != NULL); | ||
79 | } | 70 | } |
80 | 71 | ||
81 | define_machine(mpc5200_simple_platform) { | 72 | define_machine(mpc5200_simple_platform) { |
diff --git a/arch/powerpc/platforms/83xx/mpc830x_rdb.c b/arch/powerpc/platforms/83xx/mpc830x_rdb.c index 846831d495b5..661d354e4ff2 100644 --- a/arch/powerpc/platforms/83xx/mpc830x_rdb.c +++ b/arch/powerpc/platforms/83xx/mpc830x_rdb.c | |||
@@ -57,16 +57,19 @@ static void __init mpc830x_rdb_init_IRQ(void) | |||
57 | ipic_set_default_priority(); | 57 | ipic_set_default_priority(); |
58 | } | 58 | } |
59 | 59 | ||
60 | struct const char *board[] __initdata = { | ||
61 | "MPC8308RDB", | ||
62 | "fsl,mpc8308rdb", | ||
63 | "denx,mpc8308_p1m", | ||
64 | NULL | ||
65 | } | ||
66 | |||
60 | /* | 67 | /* |
61 | * Called very early, MMU is off, device-tree isn't unflattened | 68 | * Called very early, MMU is off, device-tree isn't unflattened |
62 | */ | 69 | */ |
63 | static int __init mpc830x_rdb_probe(void) | 70 | static int __init mpc830x_rdb_probe(void) |
64 | { | 71 | { |
65 | unsigned long root = of_get_flat_dt_root(); | 72 | return of_flat_dt_match(of_get_flat_dt_root(), board); |
66 | |||
67 | return of_flat_dt_is_compatible(root, "MPC8308RDB") || | ||
68 | of_flat_dt_is_compatible(root, "fsl,mpc8308rdb") || | ||
69 | of_flat_dt_is_compatible(root, "denx,mpc8308_p1m"); | ||
70 | } | 73 | } |
71 | 74 | ||
72 | static struct of_device_id __initdata of_bus_ids[] = { | 75 | static struct of_device_id __initdata of_bus_ids[] = { |
diff --git a/arch/powerpc/platforms/83xx/mpc831x_rdb.c b/arch/powerpc/platforms/83xx/mpc831x_rdb.c index ae525e4745d2..b54cd736a895 100644 --- a/arch/powerpc/platforms/83xx/mpc831x_rdb.c +++ b/arch/powerpc/platforms/83xx/mpc831x_rdb.c | |||
@@ -60,15 +60,18 @@ static void __init mpc831x_rdb_init_IRQ(void) | |||
60 | ipic_set_default_priority(); | 60 | ipic_set_default_priority(); |
61 | } | 61 | } |
62 | 62 | ||
63 | struct const char *board[] __initdata = { | ||
64 | "MPC8313ERDB", | ||
65 | "fsl,mpc8315erdb", | ||
66 | NULL | ||
67 | } | ||
68 | |||
63 | /* | 69 | /* |
64 | * Called very early, MMU is off, device-tree isn't unflattened | 70 | * Called very early, MMU is off, device-tree isn't unflattened |
65 | */ | 71 | */ |
66 | static int __init mpc831x_rdb_probe(void) | 72 | static int __init mpc831x_rdb_probe(void) |
67 | { | 73 | { |
68 | unsigned long root = of_get_flat_dt_root(); | 74 | return of_flat_dt_match(of_get_flat_dt_root(), board); |
69 | |||
70 | return of_flat_dt_is_compatible(root, "MPC8313ERDB") || | ||
71 | of_flat_dt_is_compatible(root, "fsl,mpc8315erdb"); | ||
72 | } | 75 | } |
73 | 76 | ||
74 | static struct of_device_id __initdata of_bus_ids[] = { | 77 | static struct of_device_id __initdata of_bus_ids[] = { |
diff --git a/arch/powerpc/platforms/83xx/mpc837x_rdb.c b/arch/powerpc/platforms/83xx/mpc837x_rdb.c index 910caa6b5810..7bafbf2ec0f9 100644 --- a/arch/powerpc/platforms/83xx/mpc837x_rdb.c +++ b/arch/powerpc/platforms/83xx/mpc837x_rdb.c | |||
@@ -101,17 +101,20 @@ static void __init mpc837x_rdb_init_IRQ(void) | |||
101 | ipic_set_default_priority(); | 101 | ipic_set_default_priority(); |
102 | } | 102 | } |
103 | 103 | ||
104 | static const char *board[] __initdata = { | ||
105 | "fsl,mpc8377rdb", | ||
106 | "fsl,mpc8378rdb", | ||
107 | "fsl,mpc8379rdb", | ||
108 | "fsl,mpc8377wlan", | ||
109 | NULL | ||
110 | }; | ||
111 | |||
104 | /* | 112 | /* |
105 | * Called very early, MMU is off, device-tree isn't unflattened | 113 | * Called very early, MMU is off, device-tree isn't unflattened |
106 | */ | 114 | */ |
107 | static int __init mpc837x_rdb_probe(void) | 115 | static int __init mpc837x_rdb_probe(void) |
108 | { | 116 | { |
109 | unsigned long root = of_get_flat_dt_root(); | 117 | return of_flat_dt_match(of_get_flat_dt_root(), board); |
110 | |||
111 | return of_flat_dt_is_compatible(root, "fsl,mpc8377rdb") || | ||
112 | of_flat_dt_is_compatible(root, "fsl,mpc8378rdb") || | ||
113 | of_flat_dt_is_compatible(root, "fsl,mpc8379rdb") || | ||
114 | of_flat_dt_is_compatible(root, "fsl,mpc8377wlan"); | ||
115 | } | 118 | } |
116 | 119 | ||
117 | define_machine(mpc837x_rdb) { | 120 | define_machine(mpc837x_rdb) { |
diff --git a/arch/powerpc/platforms/85xx/tqm85xx.c b/arch/powerpc/platforms/85xx/tqm85xx.c index 8f29bbce5360..5e847d0b47c8 100644 --- a/arch/powerpc/platforms/85xx/tqm85xx.c +++ b/arch/powerpc/platforms/85xx/tqm85xx.c | |||
@@ -186,21 +186,21 @@ static int __init declare_of_platform_devices(void) | |||
186 | } | 186 | } |
187 | machine_device_initcall(tqm85xx, declare_of_platform_devices); | 187 | machine_device_initcall(tqm85xx, declare_of_platform_devices); |
188 | 188 | ||
189 | static const char *board[] __initdata = { | ||
190 | "tqc,tqm8540", | ||
191 | "tqc,tqm8541", | ||
192 | "tqc,tqm8548", | ||
193 | "tqc,tqm8555", | ||
194 | "tqc,tqm8560", | ||
195 | NULL | ||
196 | }; | ||
197 | |||
189 | /* | 198 | /* |
190 | * Called very early, device-tree isn't unflattened | 199 | * Called very early, device-tree isn't unflattened |
191 | */ | 200 | */ |
192 | static int __init tqm85xx_probe(void) | 201 | static int __init tqm85xx_probe(void) |
193 | { | 202 | { |
194 | unsigned long root = of_get_flat_dt_root(); | 203 | return of_flat_dt_match(of_get_flat_dt_root(), board); |
195 | |||
196 | if ((of_flat_dt_is_compatible(root, "tqc,tqm8540")) || | ||
197 | (of_flat_dt_is_compatible(root, "tqc,tqm8541")) || | ||
198 | (of_flat_dt_is_compatible(root, "tqc,tqm8548")) || | ||
199 | (of_flat_dt_is_compatible(root, "tqc,tqm8555")) || | ||
200 | (of_flat_dt_is_compatible(root, "tqc,tqm8560"))) | ||
201 | return 1; | ||
202 | |||
203 | return 0; | ||
204 | } | 204 | } |
205 | 205 | ||
206 | define_machine(tqm85xx) { | 206 | define_machine(tqm85xx) { |
diff --git a/arch/powerpc/sysdev/mv64x60_dev.c b/arch/powerpc/sysdev/mv64x60_dev.c index 1398bc454999..feaee402e2d6 100644 --- a/arch/powerpc/sysdev/mv64x60_dev.c +++ b/arch/powerpc/sysdev/mv64x60_dev.c | |||
@@ -16,6 +16,7 @@ | |||
16 | #include <linux/mv643xx.h> | 16 | #include <linux/mv643xx.h> |
17 | #include <linux/platform_device.h> | 17 | #include <linux/platform_device.h> |
18 | #include <linux/of_platform.h> | 18 | #include <linux/of_platform.h> |
19 | #include <linux/of_net.h> | ||
19 | #include <linux/dma-mapping.h> | 20 | #include <linux/dma-mapping.h> |
20 | 21 | ||
21 | #include <asm/prom.h> | 22 | #include <asm/prom.h> |
diff --git a/arch/powerpc/sysdev/tsi108_dev.c b/arch/powerpc/sysdev/tsi108_dev.c index d4d15aaf18fa..c2d675b6392c 100644 --- a/arch/powerpc/sysdev/tsi108_dev.c +++ b/arch/powerpc/sysdev/tsi108_dev.c | |||
@@ -19,6 +19,7 @@ | |||
19 | #include <linux/module.h> | 19 | #include <linux/module.h> |
20 | #include <linux/device.h> | 20 | #include <linux/device.h> |
21 | #include <linux/platform_device.h> | 21 | #include <linux/platform_device.h> |
22 | #include <linux/of_net.h> | ||
22 | #include <asm/tsi108.h> | 23 | #include <asm/tsi108.h> |
23 | 24 | ||
24 | #include <asm/system.h> | 25 | #include <asm/system.h> |