diff options
author | Paul Mackerras <paulus@samba.org> | 2008-06-29 20:16:50 -0400 |
---|---|---|
committer | Paul Mackerras <paulus@samba.org> | 2008-06-29 20:16:50 -0400 |
commit | e9a4b6a3f6592862a67837e80aad3f50468857a6 (patch) | |
tree | 087420cf91ac922c7e99757c4490a605ec7b10f2 /arch/powerpc/boot | |
parent | 441dbb500b4344a8e3125e5aabab4f9dbf72514f (diff) | |
parent | 1702b52092e9a6d05398d3f9581ddc050ef00d06 (diff) |
Merge branch 'linux-2.6'
Diffstat (limited to 'arch/powerpc/boot')
-rw-r--r-- | arch/powerpc/boot/Makefile | 2 | ||||
-rw-r--r-- | arch/powerpc/boot/crtsavres.S | 233 | ||||
-rw-r--r-- | arch/powerpc/boot/dts/mpc8377_rdb.dts | 8 | ||||
-rw-r--r-- | arch/powerpc/boot/dts/mpc8378_rdb.dts | 8 | ||||
-rw-r--r-- | arch/powerpc/boot/dts/mpc8379_rdb.dts | 8 | ||||
-rw-r--r-- | arch/powerpc/boot/dts/mpc8548cds.dts | 4 |
6 files changed, 239 insertions, 24 deletions
diff --git a/arch/powerpc/boot/Makefile b/arch/powerpc/boot/Makefile index 3463253893f2..4721baf92892 100644 --- a/arch/powerpc/boot/Makefile +++ b/arch/powerpc/boot/Makefile | |||
@@ -51,7 +51,7 @@ $(addprefix $(obj)/,$(zlib) gunzip_util.o main.o): \ | |||
51 | $(addprefix $(obj)/,$(zliblinuxheader)) $(addprefix $(obj)/,$(zlibheader)) | 51 | $(addprefix $(obj)/,$(zliblinuxheader)) $(addprefix $(obj)/,$(zlibheader)) |
52 | 52 | ||
53 | src-libfdt := fdt.c fdt_ro.c fdt_wip.c fdt_sw.c fdt_rw.c fdt_strerror.c | 53 | src-libfdt := fdt.c fdt_ro.c fdt_wip.c fdt_sw.c fdt_rw.c fdt_strerror.c |
54 | src-wlib := string.S crt0.S stdio.c main.c \ | 54 | src-wlib := string.S crt0.S crtsavres.S stdio.c main.c \ |
55 | $(addprefix libfdt/,$(src-libfdt)) libfdt-wrapper.c \ | 55 | $(addprefix libfdt/,$(src-libfdt)) libfdt-wrapper.c \ |
56 | ns16550.c serial.c simple_alloc.c div64.S util.S \ | 56 | ns16550.c serial.c simple_alloc.c div64.S util.S \ |
57 | gunzip_util.c elf_util.c $(zlib) devtree.c oflib.c ofconsole.c \ | 57 | gunzip_util.c elf_util.c $(zlib) devtree.c oflib.c ofconsole.c \ |
diff --git a/arch/powerpc/boot/crtsavres.S b/arch/powerpc/boot/crtsavres.S new file mode 100644 index 000000000000..f3d9b35c07d4 --- /dev/null +++ b/arch/powerpc/boot/crtsavres.S | |||
@@ -0,0 +1,233 @@ | |||
1 | /* | ||
2 | * Special support for eabi and SVR4 | ||
3 | * | ||
4 | * Copyright (C) 1995, 1996, 1998, 2000, 2001 Free Software Foundation, Inc. | ||
5 | * Copyright 2008 Freescale Semiconductor, Inc. | ||
6 | * Written By Michael Meissner | ||
7 | * | ||
8 | * Based on gcc/config/rs6000/crtsavres.asm from gcc | ||
9 | * | ||
10 | * This file is free software; you can redistribute it and/or modify it | ||
11 | * under the terms of the GNU General Public License as published by the | ||
12 | * Free Software Foundation; either version 2, or (at your option) any | ||
13 | * later version. | ||
14 | * | ||
15 | * In addition to the permissions in the GNU General Public License, the | ||
16 | * Free Software Foundation gives you unlimited permission to link the | ||
17 | * compiled version of this file with other programs, and to distribute | ||
18 | * those programs without any restriction coming from the use of this | ||
19 | * file. (The General Public License restrictions do apply in other | ||
20 | * respects; for example, they cover modification of the file, and | ||
21 | * distribution when not linked into another program.) | ||
22 | * | ||
23 | * This file is distributed in the hope that it will be useful, but | ||
24 | * WITHOUT ANY WARRANTY; without even the implied warranty of | ||
25 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
26 | * General Public License for more details. | ||
27 | * | ||
28 | * You should have received a copy of the GNU General Public License | ||
29 | * along with this program; see the file COPYING. If not, write to | ||
30 | * the Free Software Foundation, 51 Franklin Street, Fifth Floor, | ||
31 | * Boston, MA 02110-1301, USA. | ||
32 | * | ||
33 | * As a special exception, if you link this library with files | ||
34 | * compiled with GCC to produce an executable, this does not cause | ||
35 | * the resulting executable to be covered by the GNU General Public License. | ||
36 | * This exception does not however invalidate any other reasons why | ||
37 | * the executable file might be covered by the GNU General Public License. | ||
38 | */ | ||
39 | |||
40 | .file "crtsavres.S" | ||
41 | .section ".text" | ||
42 | |||
43 | /* On PowerPC64 Linux, these functions are provided by the linker. */ | ||
44 | #ifndef __powerpc64__ | ||
45 | |||
46 | #define _GLOBAL(name) \ | ||
47 | .type name,@function; \ | ||
48 | .globl name; \ | ||
49 | name: | ||
50 | |||
51 | /* Routines for saving integer registers, called by the compiler. */ | ||
52 | /* Called with r11 pointing to the stack header word of the caller of the */ | ||
53 | /* function, just beyond the end of the integer save area. */ | ||
54 | |||
55 | _GLOBAL(_savegpr_14) | ||
56 | _GLOBAL(_save32gpr_14) | ||
57 | stw 14,-72(11) /* save gp registers */ | ||
58 | _GLOBAL(_savegpr_15) | ||
59 | _GLOBAL(_save32gpr_15) | ||
60 | stw 15,-68(11) | ||
61 | _GLOBAL(_savegpr_16) | ||
62 | _GLOBAL(_save32gpr_16) | ||
63 | stw 16,-64(11) | ||
64 | _GLOBAL(_savegpr_17) | ||
65 | _GLOBAL(_save32gpr_17) | ||
66 | stw 17,-60(11) | ||
67 | _GLOBAL(_savegpr_18) | ||
68 | _GLOBAL(_save32gpr_18) | ||
69 | stw 18,-56(11) | ||
70 | _GLOBAL(_savegpr_19) | ||
71 | _GLOBAL(_save32gpr_19) | ||
72 | stw 19,-52(11) | ||
73 | _GLOBAL(_savegpr_20) | ||
74 | _GLOBAL(_save32gpr_20) | ||
75 | stw 20,-48(11) | ||
76 | _GLOBAL(_savegpr_21) | ||
77 | _GLOBAL(_save32gpr_21) | ||
78 | stw 21,-44(11) | ||
79 | _GLOBAL(_savegpr_22) | ||
80 | _GLOBAL(_save32gpr_22) | ||
81 | stw 22,-40(11) | ||
82 | _GLOBAL(_savegpr_23) | ||
83 | _GLOBAL(_save32gpr_23) | ||
84 | stw 23,-36(11) | ||
85 | _GLOBAL(_savegpr_24) | ||
86 | _GLOBAL(_save32gpr_24) | ||
87 | stw 24,-32(11) | ||
88 | _GLOBAL(_savegpr_25) | ||
89 | _GLOBAL(_save32gpr_25) | ||
90 | stw 25,-28(11) | ||
91 | _GLOBAL(_savegpr_26) | ||
92 | _GLOBAL(_save32gpr_26) | ||
93 | stw 26,-24(11) | ||
94 | _GLOBAL(_savegpr_27) | ||
95 | _GLOBAL(_save32gpr_27) | ||
96 | stw 27,-20(11) | ||
97 | _GLOBAL(_savegpr_28) | ||
98 | _GLOBAL(_save32gpr_28) | ||
99 | stw 28,-16(11) | ||
100 | _GLOBAL(_savegpr_29) | ||
101 | _GLOBAL(_save32gpr_29) | ||
102 | stw 29,-12(11) | ||
103 | _GLOBAL(_savegpr_30) | ||
104 | _GLOBAL(_save32gpr_30) | ||
105 | stw 30,-8(11) | ||
106 | _GLOBAL(_savegpr_31) | ||
107 | _GLOBAL(_save32gpr_31) | ||
108 | stw 31,-4(11) | ||
109 | blr | ||
110 | |||
111 | /* Routines for restoring integer registers, called by the compiler. */ | ||
112 | /* Called with r11 pointing to the stack header word of the caller of the */ | ||
113 | /* function, just beyond the end of the integer restore area. */ | ||
114 | |||
115 | _GLOBAL(_restgpr_14) | ||
116 | _GLOBAL(_rest32gpr_14) | ||
117 | lwz 14,-72(11) /* restore gp registers */ | ||
118 | _GLOBAL(_restgpr_15) | ||
119 | _GLOBAL(_rest32gpr_15) | ||
120 | lwz 15,-68(11) | ||
121 | _GLOBAL(_restgpr_16) | ||
122 | _GLOBAL(_rest32gpr_16) | ||
123 | lwz 16,-64(11) | ||
124 | _GLOBAL(_restgpr_17) | ||
125 | _GLOBAL(_rest32gpr_17) | ||
126 | lwz 17,-60(11) | ||
127 | _GLOBAL(_restgpr_18) | ||
128 | _GLOBAL(_rest32gpr_18) | ||
129 | lwz 18,-56(11) | ||
130 | _GLOBAL(_restgpr_19) | ||
131 | _GLOBAL(_rest32gpr_19) | ||
132 | lwz 19,-52(11) | ||
133 | _GLOBAL(_restgpr_20) | ||
134 | _GLOBAL(_rest32gpr_20) | ||
135 | lwz 20,-48(11) | ||
136 | _GLOBAL(_restgpr_21) | ||
137 | _GLOBAL(_rest32gpr_21) | ||
138 | lwz 21,-44(11) | ||
139 | _GLOBAL(_restgpr_22) | ||
140 | _GLOBAL(_rest32gpr_22) | ||
141 | lwz 22,-40(11) | ||
142 | _GLOBAL(_restgpr_23) | ||
143 | _GLOBAL(_rest32gpr_23) | ||
144 | lwz 23,-36(11) | ||
145 | _GLOBAL(_restgpr_24) | ||
146 | _GLOBAL(_rest32gpr_24) | ||
147 | lwz 24,-32(11) | ||
148 | _GLOBAL(_restgpr_25) | ||
149 | _GLOBAL(_rest32gpr_25) | ||
150 | lwz 25,-28(11) | ||
151 | _GLOBAL(_restgpr_26) | ||
152 | _GLOBAL(_rest32gpr_26) | ||
153 | lwz 26,-24(11) | ||
154 | _GLOBAL(_restgpr_27) | ||
155 | _GLOBAL(_rest32gpr_27) | ||
156 | lwz 27,-20(11) | ||
157 | _GLOBAL(_restgpr_28) | ||
158 | _GLOBAL(_rest32gpr_28) | ||
159 | lwz 28,-16(11) | ||
160 | _GLOBAL(_restgpr_29) | ||
161 | _GLOBAL(_rest32gpr_29) | ||
162 | lwz 29,-12(11) | ||
163 | _GLOBAL(_restgpr_30) | ||
164 | _GLOBAL(_rest32gpr_30) | ||
165 | lwz 30,-8(11) | ||
166 | _GLOBAL(_restgpr_31) | ||
167 | _GLOBAL(_rest32gpr_31) | ||
168 | lwz 31,-4(11) | ||
169 | blr | ||
170 | |||
171 | /* Routines for restoring integer registers, called by the compiler. */ | ||
172 | /* Called with r11 pointing to the stack header word of the caller of the */ | ||
173 | /* function, just beyond the end of the integer restore area. */ | ||
174 | |||
175 | _GLOBAL(_restgpr_14_x) | ||
176 | _GLOBAL(_rest32gpr_14_x) | ||
177 | lwz 14,-72(11) /* restore gp registers */ | ||
178 | _GLOBAL(_restgpr_15_x) | ||
179 | _GLOBAL(_rest32gpr_15_x) | ||
180 | lwz 15,-68(11) | ||
181 | _GLOBAL(_restgpr_16_x) | ||
182 | _GLOBAL(_rest32gpr_16_x) | ||
183 | lwz 16,-64(11) | ||
184 | _GLOBAL(_restgpr_17_x) | ||
185 | _GLOBAL(_rest32gpr_17_x) | ||
186 | lwz 17,-60(11) | ||
187 | _GLOBAL(_restgpr_18_x) | ||
188 | _GLOBAL(_rest32gpr_18_x) | ||
189 | lwz 18,-56(11) | ||
190 | _GLOBAL(_restgpr_19_x) | ||
191 | _GLOBAL(_rest32gpr_19_x) | ||
192 | lwz 19,-52(11) | ||
193 | _GLOBAL(_restgpr_20_x) | ||
194 | _GLOBAL(_rest32gpr_20_x) | ||
195 | lwz 20,-48(11) | ||
196 | _GLOBAL(_restgpr_21_x) | ||
197 | _GLOBAL(_rest32gpr_21_x) | ||
198 | lwz 21,-44(11) | ||
199 | _GLOBAL(_restgpr_22_x) | ||
200 | _GLOBAL(_rest32gpr_22_x) | ||
201 | lwz 22,-40(11) | ||
202 | _GLOBAL(_restgpr_23_x) | ||
203 | _GLOBAL(_rest32gpr_23_x) | ||
204 | lwz 23,-36(11) | ||
205 | _GLOBAL(_restgpr_24_x) | ||
206 | _GLOBAL(_rest32gpr_24_x) | ||
207 | lwz 24,-32(11) | ||
208 | _GLOBAL(_restgpr_25_x) | ||
209 | _GLOBAL(_rest32gpr_25_x) | ||
210 | lwz 25,-28(11) | ||
211 | _GLOBAL(_restgpr_26_x) | ||
212 | _GLOBAL(_rest32gpr_26_x) | ||
213 | lwz 26,-24(11) | ||
214 | _GLOBAL(_restgpr_27_x) | ||
215 | _GLOBAL(_rest32gpr_27_x) | ||
216 | lwz 27,-20(11) | ||
217 | _GLOBAL(_restgpr_28_x) | ||
218 | _GLOBAL(_rest32gpr_28_x) | ||
219 | lwz 28,-16(11) | ||
220 | _GLOBAL(_restgpr_29_x) | ||
221 | _GLOBAL(_rest32gpr_29_x) | ||
222 | lwz 29,-12(11) | ||
223 | _GLOBAL(_restgpr_30_x) | ||
224 | _GLOBAL(_rest32gpr_30_x) | ||
225 | lwz 30,-8(11) | ||
226 | _GLOBAL(_restgpr_31_x) | ||
227 | _GLOBAL(_rest32gpr_31_x) | ||
228 | lwz 0,4(11) | ||
229 | lwz 31,-4(11) | ||
230 | mtlr 0 | ||
231 | mr 1,11 | ||
232 | blr | ||
233 | #endif | ||
diff --git a/arch/powerpc/boot/dts/mpc8377_rdb.dts b/arch/powerpc/boot/dts/mpc8377_rdb.dts index e05743ad7b3f..1f4538790302 100644 --- a/arch/powerpc/boot/dts/mpc8377_rdb.dts +++ b/arch/powerpc/boot/dts/mpc8377_rdb.dts | |||
@@ -199,12 +199,6 @@ | |||
199 | reg = <0x2>; | 199 | reg = <0x2>; |
200 | device_type = "ethernet-phy"; | 200 | device_type = "ethernet-phy"; |
201 | }; | 201 | }; |
202 | phy3: ethernet-phy@3 { | ||
203 | interrupt-parent = <&ipic>; | ||
204 | interrupts = <18 0x8>; | ||
205 | reg = <0x3>; | ||
206 | device_type = "ethernet-phy"; | ||
207 | }; | ||
208 | }; | 202 | }; |
209 | 203 | ||
210 | enet0: ethernet@24000 { | 204 | enet0: ethernet@24000 { |
@@ -230,7 +224,7 @@ | |||
230 | interrupts = <35 0x8 36 0x8 37 0x8>; | 224 | interrupts = <35 0x8 36 0x8 37 0x8>; |
231 | phy-connection-type = "mii"; | 225 | phy-connection-type = "mii"; |
232 | interrupt-parent = <&ipic>; | 226 | interrupt-parent = <&ipic>; |
233 | phy-handle = <&phy3>; | 227 | fixed-link = <1 1 1000 0 0>; |
234 | }; | 228 | }; |
235 | 229 | ||
236 | serial0: serial@4500 { | 230 | serial0: serial@4500 { |
diff --git a/arch/powerpc/boot/dts/mpc8378_rdb.dts b/arch/powerpc/boot/dts/mpc8378_rdb.dts index a8bdbaa975c9..44e34d3f21cf 100644 --- a/arch/powerpc/boot/dts/mpc8378_rdb.dts +++ b/arch/powerpc/boot/dts/mpc8378_rdb.dts | |||
@@ -199,12 +199,6 @@ | |||
199 | reg = <0x2>; | 199 | reg = <0x2>; |
200 | device_type = "ethernet-phy"; | 200 | device_type = "ethernet-phy"; |
201 | }; | 201 | }; |
202 | phy3: ethernet-phy@3 { | ||
203 | interrupt-parent = <&ipic>; | ||
204 | interrupts = <18 0x8>; | ||
205 | reg = <0x3>; | ||
206 | device_type = "ethernet-phy"; | ||
207 | }; | ||
208 | }; | 202 | }; |
209 | 203 | ||
210 | enet0: ethernet@24000 { | 204 | enet0: ethernet@24000 { |
@@ -230,7 +224,7 @@ | |||
230 | interrupts = <35 0x8 36 0x8 37 0x8>; | 224 | interrupts = <35 0x8 36 0x8 37 0x8>; |
231 | phy-connection-type = "mii"; | 225 | phy-connection-type = "mii"; |
232 | interrupt-parent = <&ipic>; | 226 | interrupt-parent = <&ipic>; |
233 | phy-handle = <&phy3>; | 227 | fixed-link = <1 1 1000 0 0>; |
234 | }; | 228 | }; |
235 | 229 | ||
236 | serial0: serial@4500 { | 230 | serial0: serial@4500 { |
diff --git a/arch/powerpc/boot/dts/mpc8379_rdb.dts b/arch/powerpc/boot/dts/mpc8379_rdb.dts index 9d636e39f23f..eeedf5884881 100644 --- a/arch/powerpc/boot/dts/mpc8379_rdb.dts +++ b/arch/powerpc/boot/dts/mpc8379_rdb.dts | |||
@@ -199,12 +199,6 @@ | |||
199 | reg = <0x2>; | 199 | reg = <0x2>; |
200 | device_type = "ethernet-phy"; | 200 | device_type = "ethernet-phy"; |
201 | }; | 201 | }; |
202 | phy3: ethernet-phy@3 { | ||
203 | interrupt-parent = <&ipic>; | ||
204 | interrupts = <18 0x8>; | ||
205 | reg = <0x3>; | ||
206 | device_type = "ethernet-phy"; | ||
207 | }; | ||
208 | }; | 202 | }; |
209 | 203 | ||
210 | enet0: ethernet@24000 { | 204 | enet0: ethernet@24000 { |
@@ -230,7 +224,7 @@ | |||
230 | interrupts = <35 0x8 36 0x8 37 0x8>; | 224 | interrupts = <35 0x8 36 0x8 37 0x8>; |
231 | phy-connection-type = "mii"; | 225 | phy-connection-type = "mii"; |
232 | interrupt-parent = <&ipic>; | 226 | interrupt-parent = <&ipic>; |
233 | phy-handle = <&phy3>; | 227 | fixed-link = <1 1 1000 0 0>; |
234 | }; | 228 | }; |
235 | 229 | ||
236 | serial0: serial@4500 { | 230 | serial0: serial@4500 { |
diff --git a/arch/powerpc/boot/dts/mpc8548cds.dts b/arch/powerpc/boot/dts/mpc8548cds.dts index 621388db3c9e..d1fa6bbfaea0 100644 --- a/arch/powerpc/boot/dts/mpc8548cds.dts +++ b/arch/powerpc/boot/dts/mpc8548cds.dts | |||
@@ -449,7 +449,7 @@ | |||
449 | interrupts = <26 2>; | 449 | interrupts = <26 2>; |
450 | bus-range = <0 255>; | 450 | bus-range = <0 255>; |
451 | ranges = <0x2000000 0x0 0xa0000000 0xa0000000 0x0 0x20000000 | 451 | ranges = <0x2000000 0x0 0xa0000000 0xa0000000 0x0 0x20000000 |
452 | 0x1000000 0x0 0x0 0xe3000000 0x0 0x8000000>; | 452 | 0x1000000 0x0 0x0 0xe3000000 0x0 0x100000>; |
453 | clock-frequency = <33333333>; | 453 | clock-frequency = <33333333>; |
454 | #interrupt-cells = <1>; | 454 | #interrupt-cells = <1>; |
455 | #size-cells = <2>; | 455 | #size-cells = <2>; |
@@ -468,7 +468,7 @@ | |||
468 | 468 | ||
469 | 0x1000000 0x0 0x0 | 469 | 0x1000000 0x0 0x0 |
470 | 0x1000000 0x0 0x0 | 470 | 0x1000000 0x0 0x0 |
471 | 0x0 0x8000000>; | 471 | 0x0 0x100000>; |
472 | }; | 472 | }; |
473 | }; | 473 | }; |
474 | }; | 474 | }; |