Commit d873133f2ba9bd613d5f6552c31cc70fb13f15d3
Committed by
Wolfgang Denk
1 parent
837db3d87f
Exists in
master
and in
55 other branches
ppc4xx: Add Sequoia RAM-booting target
This patch adds another build target for the AMCC Sequoia PPC440EPx eval board. This RAM-booting version is targeted for boards without NOR FLASH (NAND booting) which need a possibility to initially program their NAND FLASH. Using a JTAG debugger (e.g. BDI2000/3000) configured to setup the SDRAM, this debugger can load this RAM- booting image to the target address in SDRAM (in this case 0x1000000) and start it there. Then U-Boot's standard NAND commands can be used to program the NAND FLASH (e.g. "nand write ..."). Here the commands to load and start this image from the BDI2000: 440EPX>reset halt 440EPX>load 0x1000000 /tftpboot/sequoia/u-boot.bin 440EPX>go 0x1000000 Please note that this image automatically scans for an already initialized SDRAM TLB (detected by EPN=0). This TLB will not be cleared. This TLB doesn't need to be TLB #0, this RAM-booting version will detect it and preserve it. So booting via BDI2000 will work and booting with a complete different TLB init via U-Boot works as well. Signed-off-by: Stefan Roese <sr@denx.de>
Showing 8 changed files with 215 additions and 16 deletions Inline Diff
Makefile
1 | # | 1 | # |
2 | # (C) Copyright 2000-2009 | 2 | # (C) Copyright 2000-2009 |
3 | # Wolfgang Denk, DENX Software Engineering, wd@denx.de. | 3 | # Wolfgang Denk, DENX Software Engineering, wd@denx.de. |
4 | # | 4 | # |
5 | # See file CREDITS for list of people who contributed to this | 5 | # See file CREDITS for list of people who contributed to this |
6 | # project. | 6 | # project. |
7 | # | 7 | # |
8 | # This program is free software; you can redistribute it and/or | 8 | # This program is free software; you can redistribute it and/or |
9 | # modify it under the terms of the GNU General Public License as | 9 | # modify it under the terms of the GNU General Public License as |
10 | # published by the Free Software Foundatio; either version 2 of | 10 | # published by the Free Software Foundatio; either version 2 of |
11 | # the License, or (at your option) any later version. | 11 | # the License, or (at your option) any later version. |
12 | # | 12 | # |
13 | # This program is distributed in the hope that it will be useful, | 13 | # This program is distributed in the hope that it will be useful, |
14 | # but WITHOUT ANY WARRANTY; without even the implied warranty of | 14 | # but WITHOUT ANY WARRANTY; without even the implied warranty of |
15 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | 15 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
16 | # GNU General Public License for more details. | 16 | # GNU General Public License for more details. |
17 | # | 17 | # |
18 | # You should have received a copy of the GNU General Public License | 18 | # You should have received a copy of the GNU General Public License |
19 | # along with this program; if not, write to the Free Software | 19 | # along with this program; if not, write to the Free Software |
20 | # Foundation, Inc., 59 Temple Place, Suite 330, Boston, | 20 | # Foundation, Inc., 59 Temple Place, Suite 330, Boston, |
21 | # MA 02111-1307 USA | 21 | # MA 02111-1307 USA |
22 | # | 22 | # |
23 | 23 | ||
24 | VERSION = 2009 | 24 | VERSION = 2009 |
25 | PATCHLEVEL = 06 | 25 | PATCHLEVEL = 06 |
26 | SUBLEVEL = | 26 | SUBLEVEL = |
27 | EXTRAVERSION = -rc3 | 27 | EXTRAVERSION = -rc3 |
28 | ifneq "$(SUBLEVEL)" "" | 28 | ifneq "$(SUBLEVEL)" "" |
29 | U_BOOT_VERSION = $(VERSION).$(PATCHLEVEL).$(SUBLEVEL)$(EXTRAVERSION) | 29 | U_BOOT_VERSION = $(VERSION).$(PATCHLEVEL).$(SUBLEVEL)$(EXTRAVERSION) |
30 | else | 30 | else |
31 | U_BOOT_VERSION = $(VERSION).$(PATCHLEVEL)$(EXTRAVERSION) | 31 | U_BOOT_VERSION = $(VERSION).$(PATCHLEVEL)$(EXTRAVERSION) |
32 | endif | 32 | endif |
33 | TIMESTAMP_FILE = $(obj)include/timestamp_autogenerated.h | 33 | TIMESTAMP_FILE = $(obj)include/timestamp_autogenerated.h |
34 | VERSION_FILE = $(obj)include/version_autogenerated.h | 34 | VERSION_FILE = $(obj)include/version_autogenerated.h |
35 | 35 | ||
36 | HOSTARCH := $(shell uname -m | \ | 36 | HOSTARCH := $(shell uname -m | \ |
37 | sed -e s/i.86/i386/ \ | 37 | sed -e s/i.86/i386/ \ |
38 | -e s/sun4u/sparc64/ \ | 38 | -e s/sun4u/sparc64/ \ |
39 | -e s/arm.*/arm/ \ | 39 | -e s/arm.*/arm/ \ |
40 | -e s/sa110/arm/ \ | 40 | -e s/sa110/arm/ \ |
41 | -e s/powerpc/ppc/ \ | 41 | -e s/powerpc/ppc/ \ |
42 | -e s/ppc64/ppc/ \ | 42 | -e s/ppc64/ppc/ \ |
43 | -e s/macppc/ppc/) | 43 | -e s/macppc/ppc/) |
44 | 44 | ||
45 | HOSTOS := $(shell uname -s | tr '[:upper:]' '[:lower:]' | \ | 45 | HOSTOS := $(shell uname -s | tr '[:upper:]' '[:lower:]' | \ |
46 | sed -e 's/\(cygwin\).*/cygwin/') | 46 | sed -e 's/\(cygwin\).*/cygwin/') |
47 | 47 | ||
48 | # Set shell to bash if possible, otherwise fall back to sh | 48 | # Set shell to bash if possible, otherwise fall back to sh |
49 | SHELL := $(shell if [ -x "$$BASH" ]; then echo $$BASH; \ | 49 | SHELL := $(shell if [ -x "$$BASH" ]; then echo $$BASH; \ |
50 | else if [ -x /bin/bash ]; then echo /bin/bash; \ | 50 | else if [ -x /bin/bash ]; then echo /bin/bash; \ |
51 | else echo sh; fi; fi) | 51 | else echo sh; fi; fi) |
52 | 52 | ||
53 | export HOSTARCH HOSTOS SHELL | 53 | export HOSTARCH HOSTOS SHELL |
54 | 54 | ||
55 | # Deal with colliding definitions from tcsh etc. | 55 | # Deal with colliding definitions from tcsh etc. |
56 | VENDOR= | 56 | VENDOR= |
57 | 57 | ||
58 | ######################################################################### | 58 | ######################################################################### |
59 | # Allow for silent builds | 59 | # Allow for silent builds |
60 | ifeq (,$(findstring s,$(MAKEFLAGS))) | 60 | ifeq (,$(findstring s,$(MAKEFLAGS))) |
61 | XECHO = echo | 61 | XECHO = echo |
62 | else | 62 | else |
63 | XECHO = : | 63 | XECHO = : |
64 | endif | 64 | endif |
65 | 65 | ||
66 | ######################################################################### | 66 | ######################################################################### |
67 | # | 67 | # |
68 | # U-boot build supports producing a object files to the separate external | 68 | # U-boot build supports producing a object files to the separate external |
69 | # directory. Two use cases are supported: | 69 | # directory. Two use cases are supported: |
70 | # | 70 | # |
71 | # 1) Add O= to the make command line | 71 | # 1) Add O= to the make command line |
72 | # 'make O=/tmp/build all' | 72 | # 'make O=/tmp/build all' |
73 | # | 73 | # |
74 | # 2) Set environement variable BUILD_DIR to point to the desired location | 74 | # 2) Set environement variable BUILD_DIR to point to the desired location |
75 | # 'export BUILD_DIR=/tmp/build' | 75 | # 'export BUILD_DIR=/tmp/build' |
76 | # 'make' | 76 | # 'make' |
77 | # | 77 | # |
78 | # The second approach can also be used with a MAKEALL script | 78 | # The second approach can also be used with a MAKEALL script |
79 | # 'export BUILD_DIR=/tmp/build' | 79 | # 'export BUILD_DIR=/tmp/build' |
80 | # './MAKEALL' | 80 | # './MAKEALL' |
81 | # | 81 | # |
82 | # Command line 'O=' setting overrides BUILD_DIR environent variable. | 82 | # Command line 'O=' setting overrides BUILD_DIR environent variable. |
83 | # | 83 | # |
84 | # When none of the above methods is used the local build is performed and | 84 | # When none of the above methods is used the local build is performed and |
85 | # the object files are placed in the source directory. | 85 | # the object files are placed in the source directory. |
86 | # | 86 | # |
87 | 87 | ||
88 | ifdef O | 88 | ifdef O |
89 | ifeq ("$(origin O)", "command line") | 89 | ifeq ("$(origin O)", "command line") |
90 | BUILD_DIR := $(O) | 90 | BUILD_DIR := $(O) |
91 | endif | 91 | endif |
92 | endif | 92 | endif |
93 | 93 | ||
94 | ifneq ($(BUILD_DIR),) | 94 | ifneq ($(BUILD_DIR),) |
95 | saved-output := $(BUILD_DIR) | 95 | saved-output := $(BUILD_DIR) |
96 | 96 | ||
97 | # Attempt to create a output directory. | 97 | # Attempt to create a output directory. |
98 | $(shell [ -d ${BUILD_DIR} ] || mkdir -p ${BUILD_DIR}) | 98 | $(shell [ -d ${BUILD_DIR} ] || mkdir -p ${BUILD_DIR}) |
99 | 99 | ||
100 | # Verify if it was successful. | 100 | # Verify if it was successful. |
101 | BUILD_DIR := $(shell cd $(BUILD_DIR) && /bin/pwd) | 101 | BUILD_DIR := $(shell cd $(BUILD_DIR) && /bin/pwd) |
102 | $(if $(BUILD_DIR),,$(error output directory "$(saved-output)" does not exist)) | 102 | $(if $(BUILD_DIR),,$(error output directory "$(saved-output)" does not exist)) |
103 | endif # ifneq ($(BUILD_DIR),) | 103 | endif # ifneq ($(BUILD_DIR),) |
104 | 104 | ||
105 | OBJTREE := $(if $(BUILD_DIR),$(BUILD_DIR),$(CURDIR)) | 105 | OBJTREE := $(if $(BUILD_DIR),$(BUILD_DIR),$(CURDIR)) |
106 | SRCTREE := $(CURDIR) | 106 | SRCTREE := $(CURDIR) |
107 | TOPDIR := $(SRCTREE) | 107 | TOPDIR := $(SRCTREE) |
108 | LNDIR := $(OBJTREE) | 108 | LNDIR := $(OBJTREE) |
109 | export TOPDIR SRCTREE OBJTREE | 109 | export TOPDIR SRCTREE OBJTREE |
110 | 110 | ||
111 | MKCONFIG := $(SRCTREE)/mkconfig | 111 | MKCONFIG := $(SRCTREE)/mkconfig |
112 | export MKCONFIG | 112 | export MKCONFIG |
113 | 113 | ||
114 | ifneq ($(OBJTREE),$(SRCTREE)) | 114 | ifneq ($(OBJTREE),$(SRCTREE)) |
115 | REMOTE_BUILD := 1 | 115 | REMOTE_BUILD := 1 |
116 | export REMOTE_BUILD | 116 | export REMOTE_BUILD |
117 | endif | 117 | endif |
118 | 118 | ||
119 | # $(obj) and (src) are defined in config.mk but here in main Makefile | 119 | # $(obj) and (src) are defined in config.mk but here in main Makefile |
120 | # we also need them before config.mk is included which is the case for | 120 | # we also need them before config.mk is included which is the case for |
121 | # some targets like unconfig, clean, clobber, distclean, etc. | 121 | # some targets like unconfig, clean, clobber, distclean, etc. |
122 | ifneq ($(OBJTREE),$(SRCTREE)) | 122 | ifneq ($(OBJTREE),$(SRCTREE)) |
123 | obj := $(OBJTREE)/ | 123 | obj := $(OBJTREE)/ |
124 | src := $(SRCTREE)/ | 124 | src := $(SRCTREE)/ |
125 | else | 125 | else |
126 | obj := | 126 | obj := |
127 | src := | 127 | src := |
128 | endif | 128 | endif |
129 | export obj src | 129 | export obj src |
130 | 130 | ||
131 | # Make sure CDPATH settings don't interfere | 131 | # Make sure CDPATH settings don't interfere |
132 | unexport CDPATH | 132 | unexport CDPATH |
133 | 133 | ||
134 | ######################################################################### | 134 | ######################################################################### |
135 | 135 | ||
136 | ifeq ($(ARCH),powerpc) | 136 | ifeq ($(ARCH),powerpc) |
137 | ARCH = ppc | 137 | ARCH = ppc |
138 | endif | 138 | endif |
139 | 139 | ||
140 | ifeq ($(obj)include/config.mk,$(wildcard $(obj)include/config.mk)) | 140 | ifeq ($(obj)include/config.mk,$(wildcard $(obj)include/config.mk)) |
141 | 141 | ||
142 | # load ARCH, BOARD, and CPU configuration | 142 | # load ARCH, BOARD, and CPU configuration |
143 | include $(obj)include/config.mk | 143 | include $(obj)include/config.mk |
144 | export ARCH CPU BOARD VENDOR SOC | 144 | export ARCH CPU BOARD VENDOR SOC |
145 | 145 | ||
146 | ifndef CROSS_COMPILE | 146 | ifndef CROSS_COMPILE |
147 | ifeq ($(HOSTARCH),$(ARCH)) | 147 | ifeq ($(HOSTARCH),$(ARCH)) |
148 | CROSS_COMPILE = | 148 | CROSS_COMPILE = |
149 | else | 149 | else |
150 | ifeq ($(ARCH),ppc) | 150 | ifeq ($(ARCH),ppc) |
151 | CROSS_COMPILE = ppc_8xx- | 151 | CROSS_COMPILE = ppc_8xx- |
152 | endif | 152 | endif |
153 | ifeq ($(ARCH),arm) | 153 | ifeq ($(ARCH),arm) |
154 | CROSS_COMPILE = arm-linux- | 154 | CROSS_COMPILE = arm-linux- |
155 | endif | 155 | endif |
156 | ifeq ($(ARCH),i386) | 156 | ifeq ($(ARCH),i386) |
157 | CROSS_COMPILE = i386-linux- | 157 | CROSS_COMPILE = i386-linux- |
158 | endif | 158 | endif |
159 | ifeq ($(ARCH),mips) | 159 | ifeq ($(ARCH),mips) |
160 | CROSS_COMPILE = mips_4KC- | 160 | CROSS_COMPILE = mips_4KC- |
161 | endif | 161 | endif |
162 | ifeq ($(ARCH),nios) | 162 | ifeq ($(ARCH),nios) |
163 | CROSS_COMPILE = nios-elf- | 163 | CROSS_COMPILE = nios-elf- |
164 | endif | 164 | endif |
165 | ifeq ($(ARCH),nios2) | 165 | ifeq ($(ARCH),nios2) |
166 | CROSS_COMPILE = nios2-elf- | 166 | CROSS_COMPILE = nios2-elf- |
167 | endif | 167 | endif |
168 | ifeq ($(ARCH),m68k) | 168 | ifeq ($(ARCH),m68k) |
169 | CROSS_COMPILE = m68k-elf- | 169 | CROSS_COMPILE = m68k-elf- |
170 | endif | 170 | endif |
171 | ifeq ($(ARCH),microblaze) | 171 | ifeq ($(ARCH),microblaze) |
172 | CROSS_COMPILE = mb- | 172 | CROSS_COMPILE = mb- |
173 | endif | 173 | endif |
174 | ifeq ($(ARCH),blackfin) | 174 | ifeq ($(ARCH),blackfin) |
175 | CROSS_COMPILE = bfin-uclinux- | 175 | CROSS_COMPILE = bfin-uclinux- |
176 | endif | 176 | endif |
177 | ifeq ($(ARCH),avr32) | 177 | ifeq ($(ARCH),avr32) |
178 | CROSS_COMPILE = avr32-linux- | 178 | CROSS_COMPILE = avr32-linux- |
179 | endif | 179 | endif |
180 | ifeq ($(ARCH),sh) | 180 | ifeq ($(ARCH),sh) |
181 | CROSS_COMPILE = sh4-linux- | 181 | CROSS_COMPILE = sh4-linux- |
182 | endif | 182 | endif |
183 | ifeq ($(ARCH),sparc) | 183 | ifeq ($(ARCH),sparc) |
184 | CROSS_COMPILE = sparc-elf- | 184 | CROSS_COMPILE = sparc-elf- |
185 | endif # sparc | 185 | endif # sparc |
186 | endif # HOSTARCH,ARCH | 186 | endif # HOSTARCH,ARCH |
187 | endif # CROSS_COMPILE | 187 | endif # CROSS_COMPILE |
188 | 188 | ||
189 | export CROSS_COMPILE | 189 | export CROSS_COMPILE |
190 | 190 | ||
191 | # load other configuration | 191 | # load other configuration |
192 | include $(TOPDIR)/config.mk | 192 | include $(TOPDIR)/config.mk |
193 | 193 | ||
194 | ######################################################################### | 194 | ######################################################################### |
195 | # U-Boot objects....order is important (i.e. start must be first) | 195 | # U-Boot objects....order is important (i.e. start must be first) |
196 | 196 | ||
197 | OBJS = cpu/$(CPU)/start.o | 197 | OBJS = cpu/$(CPU)/start.o |
198 | ifeq ($(CPU),i386) | 198 | ifeq ($(CPU),i386) |
199 | OBJS += cpu/$(CPU)/start16.o | 199 | OBJS += cpu/$(CPU)/start16.o |
200 | OBJS += cpu/$(CPU)/resetvec.o | 200 | OBJS += cpu/$(CPU)/resetvec.o |
201 | endif | 201 | endif |
202 | ifeq ($(CPU),ppc4xx) | 202 | ifeq ($(CPU),ppc4xx) |
203 | OBJS += cpu/$(CPU)/resetvec.o | 203 | OBJS += cpu/$(CPU)/resetvec.o |
204 | endif | 204 | endif |
205 | ifeq ($(CPU),mpc85xx) | 205 | ifeq ($(CPU),mpc85xx) |
206 | OBJS += cpu/$(CPU)/resetvec.o | 206 | OBJS += cpu/$(CPU)/resetvec.o |
207 | endif | 207 | endif |
208 | 208 | ||
209 | OBJS := $(addprefix $(obj),$(OBJS)) | 209 | OBJS := $(addprefix $(obj),$(OBJS)) |
210 | 210 | ||
211 | LIBS = lib_generic/libgeneric.a | 211 | LIBS = lib_generic/libgeneric.a |
212 | LIBS += lib_generic/lzma/liblzma.a | 212 | LIBS += lib_generic/lzma/liblzma.a |
213 | LIBS += lib_generic/lzo/liblzo.a | 213 | LIBS += lib_generic/lzo/liblzo.a |
214 | LIBS += $(shell if [ -f board/$(VENDOR)/common/Makefile ]; then echo \ | 214 | LIBS += $(shell if [ -f board/$(VENDOR)/common/Makefile ]; then echo \ |
215 | "board/$(VENDOR)/common/lib$(VENDOR).a"; fi) | 215 | "board/$(VENDOR)/common/lib$(VENDOR).a"; fi) |
216 | LIBS += cpu/$(CPU)/lib$(CPU).a | 216 | LIBS += cpu/$(CPU)/lib$(CPU).a |
217 | ifdef SOC | 217 | ifdef SOC |
218 | LIBS += cpu/$(CPU)/$(SOC)/lib$(SOC).a | 218 | LIBS += cpu/$(CPU)/$(SOC)/lib$(SOC).a |
219 | endif | 219 | endif |
220 | ifeq ($(CPU),ixp) | 220 | ifeq ($(CPU),ixp) |
221 | LIBS += cpu/ixp/npe/libnpe.a | 221 | LIBS += cpu/ixp/npe/libnpe.a |
222 | endif | 222 | endif |
223 | LIBS += lib_$(ARCH)/lib$(ARCH).a | 223 | LIBS += lib_$(ARCH)/lib$(ARCH).a |
224 | LIBS += fs/cramfs/libcramfs.a fs/fat/libfat.a fs/fdos/libfdos.a fs/jffs2/libjffs2.a \ | 224 | LIBS += fs/cramfs/libcramfs.a fs/fat/libfat.a fs/fdos/libfdos.a fs/jffs2/libjffs2.a \ |
225 | fs/reiserfs/libreiserfs.a fs/ext2/libext2fs.a fs/yaffs2/libyaffs2.a \ | 225 | fs/reiserfs/libreiserfs.a fs/ext2/libext2fs.a fs/yaffs2/libyaffs2.a \ |
226 | fs/ubifs/libubifs.a | 226 | fs/ubifs/libubifs.a |
227 | LIBS += net/libnet.a | 227 | LIBS += net/libnet.a |
228 | LIBS += disk/libdisk.a | 228 | LIBS += disk/libdisk.a |
229 | LIBS += drivers/bios_emulator/libatibiosemu.a | 229 | LIBS += drivers/bios_emulator/libatibiosemu.a |
230 | LIBS += drivers/block/libblock.a | 230 | LIBS += drivers/block/libblock.a |
231 | LIBS += drivers/dma/libdma.a | 231 | LIBS += drivers/dma/libdma.a |
232 | LIBS += drivers/fpga/libfpga.a | 232 | LIBS += drivers/fpga/libfpga.a |
233 | LIBS += drivers/gpio/libgpio.a | 233 | LIBS += drivers/gpio/libgpio.a |
234 | LIBS += drivers/hwmon/libhwmon.a | 234 | LIBS += drivers/hwmon/libhwmon.a |
235 | LIBS += drivers/i2c/libi2c.a | 235 | LIBS += drivers/i2c/libi2c.a |
236 | LIBS += drivers/input/libinput.a | 236 | LIBS += drivers/input/libinput.a |
237 | LIBS += drivers/misc/libmisc.a | 237 | LIBS += drivers/misc/libmisc.a |
238 | LIBS += drivers/mmc/libmmc.a | 238 | LIBS += drivers/mmc/libmmc.a |
239 | LIBS += drivers/mtd/libmtd.a | 239 | LIBS += drivers/mtd/libmtd.a |
240 | LIBS += drivers/mtd/nand/libnand.a | 240 | LIBS += drivers/mtd/nand/libnand.a |
241 | LIBS += drivers/mtd/nand_legacy/libnand_legacy.a | 241 | LIBS += drivers/mtd/nand_legacy/libnand_legacy.a |
242 | LIBS += drivers/mtd/onenand/libonenand.a | 242 | LIBS += drivers/mtd/onenand/libonenand.a |
243 | LIBS += drivers/mtd/ubi/libubi.a | 243 | LIBS += drivers/mtd/ubi/libubi.a |
244 | LIBS += drivers/mtd/spi/libspi_flash.a | 244 | LIBS += drivers/mtd/spi/libspi_flash.a |
245 | LIBS += drivers/net/libnet.a | 245 | LIBS += drivers/net/libnet.a |
246 | LIBS += drivers/net/phy/libphy.a | 246 | LIBS += drivers/net/phy/libphy.a |
247 | LIBS += drivers/net/sk98lin/libsk98lin.a | 247 | LIBS += drivers/net/sk98lin/libsk98lin.a |
248 | LIBS += drivers/pci/libpci.a | 248 | LIBS += drivers/pci/libpci.a |
249 | LIBS += drivers/pcmcia/libpcmcia.a | 249 | LIBS += drivers/pcmcia/libpcmcia.a |
250 | LIBS += drivers/spi/libspi.a | 250 | LIBS += drivers/spi/libspi.a |
251 | ifeq ($(CPU),mpc83xx) | 251 | ifeq ($(CPU),mpc83xx) |
252 | LIBS += drivers/qe/qe.a | 252 | LIBS += drivers/qe/qe.a |
253 | endif | 253 | endif |
254 | ifeq ($(CPU),mpc85xx) | 254 | ifeq ($(CPU),mpc85xx) |
255 | LIBS += drivers/qe/qe.a | 255 | LIBS += drivers/qe/qe.a |
256 | LIBS += cpu/mpc8xxx/ddr/libddr.a | 256 | LIBS += cpu/mpc8xxx/ddr/libddr.a |
257 | TAG_SUBDIRS += cpu/mpc8xxx | 257 | TAG_SUBDIRS += cpu/mpc8xxx |
258 | endif | 258 | endif |
259 | ifeq ($(CPU),mpc86xx) | 259 | ifeq ($(CPU),mpc86xx) |
260 | LIBS += cpu/mpc8xxx/ddr/libddr.a | 260 | LIBS += cpu/mpc8xxx/ddr/libddr.a |
261 | TAG_SUBDIRS += cpu/mpc8xxx | 261 | TAG_SUBDIRS += cpu/mpc8xxx |
262 | endif | 262 | endif |
263 | LIBS += drivers/rtc/librtc.a | 263 | LIBS += drivers/rtc/librtc.a |
264 | LIBS += drivers/serial/libserial.a | 264 | LIBS += drivers/serial/libserial.a |
265 | LIBS += drivers/twserial/libtws.a | 265 | LIBS += drivers/twserial/libtws.a |
266 | LIBS += drivers/usb/gadget/libusb_gadget.a | 266 | LIBS += drivers/usb/gadget/libusb_gadget.a |
267 | LIBS += drivers/usb/host/libusb_host.a | 267 | LIBS += drivers/usb/host/libusb_host.a |
268 | LIBS += drivers/usb/musb/libusb_musb.a | 268 | LIBS += drivers/usb/musb/libusb_musb.a |
269 | LIBS += drivers/video/libvideo.a | 269 | LIBS += drivers/video/libvideo.a |
270 | LIBS += drivers/watchdog/libwatchdog.a | 270 | LIBS += drivers/watchdog/libwatchdog.a |
271 | LIBS += common/libcommon.a | 271 | LIBS += common/libcommon.a |
272 | LIBS += libfdt/libfdt.a | 272 | LIBS += libfdt/libfdt.a |
273 | LIBS += api/libapi.a | 273 | LIBS += api/libapi.a |
274 | LIBS += post/libpost.a | 274 | LIBS += post/libpost.a |
275 | 275 | ||
276 | LIBS := $(addprefix $(obj),$(LIBS)) | 276 | LIBS := $(addprefix $(obj),$(LIBS)) |
277 | .PHONY : $(LIBS) $(TIMESTAMP_FILE) $(VERSION_FILE) | 277 | .PHONY : $(LIBS) $(TIMESTAMP_FILE) $(VERSION_FILE) |
278 | 278 | ||
279 | LIBBOARD = board/$(BOARDDIR)/lib$(BOARD).a | 279 | LIBBOARD = board/$(BOARDDIR)/lib$(BOARD).a |
280 | LIBBOARD := $(addprefix $(obj),$(LIBBOARD)) | 280 | LIBBOARD := $(addprefix $(obj),$(LIBBOARD)) |
281 | 281 | ||
282 | # Add GCC lib | 282 | # Add GCC lib |
283 | PLATFORM_LIBS += -L $(shell dirname `$(CC) $(CFLAGS) -print-libgcc-file-name`) -lgcc | 283 | PLATFORM_LIBS += -L $(shell dirname `$(CC) $(CFLAGS) -print-libgcc-file-name`) -lgcc |
284 | 284 | ||
285 | # The "tools" are needed early, so put this first | 285 | # The "tools" are needed early, so put this first |
286 | # Don't include stuff already done in $(LIBS) | 286 | # Don't include stuff already done in $(LIBS) |
287 | SUBDIRS = tools \ | 287 | SUBDIRS = tools \ |
288 | examples \ | 288 | examples \ |
289 | api_examples | 289 | api_examples |
290 | 290 | ||
291 | .PHONY : $(SUBDIRS) | 291 | .PHONY : $(SUBDIRS) |
292 | 292 | ||
293 | ifeq ($(CONFIG_NAND_U_BOOT),y) | 293 | ifeq ($(CONFIG_NAND_U_BOOT),y) |
294 | NAND_SPL = nand_spl | 294 | NAND_SPL = nand_spl |
295 | U_BOOT_NAND = $(obj)u-boot-nand.bin | 295 | U_BOOT_NAND = $(obj)u-boot-nand.bin |
296 | endif | 296 | endif |
297 | 297 | ||
298 | ifeq ($(CONFIG_ONENAND_U_BOOT),y) | 298 | ifeq ($(CONFIG_ONENAND_U_BOOT),y) |
299 | ONENAND_IPL = onenand_ipl | 299 | ONENAND_IPL = onenand_ipl |
300 | U_BOOT_ONENAND = $(obj)u-boot-onenand.bin | 300 | U_BOOT_ONENAND = $(obj)u-boot-onenand.bin |
301 | endif | 301 | endif |
302 | 302 | ||
303 | __OBJS := $(subst $(obj),,$(OBJS)) | 303 | __OBJS := $(subst $(obj),,$(OBJS)) |
304 | __LIBS := $(subst $(obj),,$(LIBS)) $(subst $(obj),,$(LIBBOARD)) | 304 | __LIBS := $(subst $(obj),,$(LIBS)) $(subst $(obj),,$(LIBBOARD)) |
305 | 305 | ||
306 | ######################################################################### | 306 | ######################################################################### |
307 | ######################################################################### | 307 | ######################################################################### |
308 | 308 | ||
309 | ALL += $(obj)u-boot.srec $(obj)u-boot.bin $(obj)System.map $(U_BOOT_NAND) $(U_BOOT_ONENAND) | 309 | ALL += $(obj)u-boot.srec $(obj)u-boot.bin $(obj)System.map $(U_BOOT_NAND) $(U_BOOT_ONENAND) |
310 | ifeq ($(ARCH),blackfin) | 310 | ifeq ($(ARCH),blackfin) |
311 | ALL += $(obj)u-boot.ldr | 311 | ALL += $(obj)u-boot.ldr |
312 | endif | 312 | endif |
313 | 313 | ||
314 | all: $(ALL) | 314 | all: $(ALL) |
315 | 315 | ||
316 | $(obj)u-boot.hex: $(obj)u-boot | 316 | $(obj)u-boot.hex: $(obj)u-boot |
317 | $(OBJCOPY) ${OBJCFLAGS} -O ihex $< $@ | 317 | $(OBJCOPY) ${OBJCFLAGS} -O ihex $< $@ |
318 | 318 | ||
319 | $(obj)u-boot.srec: $(obj)u-boot | 319 | $(obj)u-boot.srec: $(obj)u-boot |
320 | $(OBJCOPY) -O srec $< $@ | 320 | $(OBJCOPY) -O srec $< $@ |
321 | 321 | ||
322 | $(obj)u-boot.bin: $(obj)u-boot | 322 | $(obj)u-boot.bin: $(obj)u-boot |
323 | $(OBJCOPY) ${OBJCFLAGS} -O binary $< $@ | 323 | $(OBJCOPY) ${OBJCFLAGS} -O binary $< $@ |
324 | 324 | ||
325 | $(obj)u-boot.ldr: $(obj)u-boot | 325 | $(obj)u-boot.ldr: $(obj)u-boot |
326 | $(LDR) -T $(CONFIG_BFIN_CPU) -c $@ $< $(LDR_FLAGS) | 326 | $(LDR) -T $(CONFIG_BFIN_CPU) -c $@ $< $(LDR_FLAGS) |
327 | 327 | ||
328 | $(obj)u-boot.ldr.hex: $(obj)u-boot.ldr | 328 | $(obj)u-boot.ldr.hex: $(obj)u-boot.ldr |
329 | $(OBJCOPY) ${OBJCFLAGS} -O ihex $< $@ -I binary | 329 | $(OBJCOPY) ${OBJCFLAGS} -O ihex $< $@ -I binary |
330 | 330 | ||
331 | $(obj)u-boot.ldr.srec: $(obj)u-boot.ldr | 331 | $(obj)u-boot.ldr.srec: $(obj)u-boot.ldr |
332 | $(OBJCOPY) ${OBJCFLAGS} -O srec $< $@ -I binary | 332 | $(OBJCOPY) ${OBJCFLAGS} -O srec $< $@ -I binary |
333 | 333 | ||
334 | $(obj)u-boot.img: $(obj)u-boot.bin | 334 | $(obj)u-boot.img: $(obj)u-boot.bin |
335 | ./tools/mkimage -A $(ARCH) -T firmware -C none \ | 335 | ./tools/mkimage -A $(ARCH) -T firmware -C none \ |
336 | -a $(TEXT_BASE) -e 0 \ | 336 | -a $(TEXT_BASE) -e 0 \ |
337 | -n $(shell sed -n -e 's/.*U_BOOT_VERSION//p' $(VERSION_FILE) | \ | 337 | -n $(shell sed -n -e 's/.*U_BOOT_VERSION//p' $(VERSION_FILE) | \ |
338 | sed -e 's/"[ ]*$$/ for $(BOARD) board"/') \ | 338 | sed -e 's/"[ ]*$$/ for $(BOARD) board"/') \ |
339 | -d $< $@ | 339 | -d $< $@ |
340 | 340 | ||
341 | $(obj)u-boot.sha1: $(obj)u-boot.bin | 341 | $(obj)u-boot.sha1: $(obj)u-boot.bin |
342 | $(obj)tools/ubsha1 $(obj)u-boot.bin | 342 | $(obj)tools/ubsha1 $(obj)u-boot.bin |
343 | 343 | ||
344 | $(obj)u-boot.dis: $(obj)u-boot | 344 | $(obj)u-boot.dis: $(obj)u-boot |
345 | $(OBJDUMP) -d $< > $@ | 345 | $(OBJDUMP) -d $< > $@ |
346 | 346 | ||
347 | $(obj)u-boot: depend $(SUBDIRS) $(OBJS) $(LIBBOARD) $(LIBS) $(LDSCRIPT) | 347 | $(obj)u-boot: depend $(SUBDIRS) $(OBJS) $(LIBBOARD) $(LIBS) $(LDSCRIPT) |
348 | UNDEF_SYM=`$(OBJDUMP) -x $(LIBBOARD) $(LIBS) | \ | 348 | UNDEF_SYM=`$(OBJDUMP) -x $(LIBBOARD) $(LIBS) | \ |
349 | sed -n -e 's/.*\($(SYM_PREFIX)__u_boot_cmd_.*\)/-u\1/p'|sort|uniq`;\ | 349 | sed -n -e 's/.*\($(SYM_PREFIX)__u_boot_cmd_.*\)/-u\1/p'|sort|uniq`;\ |
350 | cd $(LNDIR) && $(LD) $(LDFLAGS) $$UNDEF_SYM $(__OBJS) \ | 350 | cd $(LNDIR) && $(LD) $(LDFLAGS) $$UNDEF_SYM $(__OBJS) \ |
351 | --start-group $(__LIBS) --end-group $(PLATFORM_LIBS) \ | 351 | --start-group $(__LIBS) --end-group $(PLATFORM_LIBS) \ |
352 | -Map u-boot.map -o u-boot | 352 | -Map u-boot.map -o u-boot |
353 | 353 | ||
354 | $(OBJS): depend | 354 | $(OBJS): depend |
355 | $(MAKE) -C cpu/$(CPU) $(if $(REMOTE_BUILD),$@,$(notdir $@)) | 355 | $(MAKE) -C cpu/$(CPU) $(if $(REMOTE_BUILD),$@,$(notdir $@)) |
356 | 356 | ||
357 | $(LIBS): depend $(SUBDIRS) | 357 | $(LIBS): depend $(SUBDIRS) |
358 | $(MAKE) -C $(dir $(subst $(obj),,$@)) | 358 | $(MAKE) -C $(dir $(subst $(obj),,$@)) |
359 | 359 | ||
360 | $(LIBBOARD): depend $(LIBS) | 360 | $(LIBBOARD): depend $(LIBS) |
361 | $(MAKE) -C $(dir $(subst $(obj),,$@)) | 361 | $(MAKE) -C $(dir $(subst $(obj),,$@)) |
362 | 362 | ||
363 | $(SUBDIRS): depend | 363 | $(SUBDIRS): depend |
364 | $(MAKE) -C $@ all | 364 | $(MAKE) -C $@ all |
365 | 365 | ||
366 | $(LDSCRIPT): depend | 366 | $(LDSCRIPT): depend |
367 | $(MAKE) -C $(dir $@) $(notdir $@) | 367 | $(MAKE) -C $(dir $@) $(notdir $@) |
368 | 368 | ||
369 | $(NAND_SPL): $(TIMESTAMP_FILE) $(VERSION_FILE) $(obj)include/autoconf.mk | 369 | $(NAND_SPL): $(TIMESTAMP_FILE) $(VERSION_FILE) $(obj)include/autoconf.mk |
370 | $(MAKE) -C nand_spl/board/$(BOARDDIR) all | 370 | $(MAKE) -C nand_spl/board/$(BOARDDIR) all |
371 | 371 | ||
372 | $(U_BOOT_NAND): $(NAND_SPL) $(obj)u-boot.bin | 372 | $(U_BOOT_NAND): $(NAND_SPL) $(obj)u-boot.bin |
373 | cat $(obj)nand_spl/u-boot-spl-16k.bin $(obj)u-boot.bin > $(obj)u-boot-nand.bin | 373 | cat $(obj)nand_spl/u-boot-spl-16k.bin $(obj)u-boot.bin > $(obj)u-boot-nand.bin |
374 | 374 | ||
375 | $(ONENAND_IPL): $(TIMESTAMP_FILE) $(VERSION_FILE) $(obj)include/autoconf.mk | 375 | $(ONENAND_IPL): $(TIMESTAMP_FILE) $(VERSION_FILE) $(obj)include/autoconf.mk |
376 | $(MAKE) -C onenand_ipl/board/$(BOARDDIR) all | 376 | $(MAKE) -C onenand_ipl/board/$(BOARDDIR) all |
377 | 377 | ||
378 | $(U_BOOT_ONENAND): $(ONENAND_IPL) $(obj)u-boot.bin | 378 | $(U_BOOT_ONENAND): $(ONENAND_IPL) $(obj)u-boot.bin |
379 | cat $(obj)onenand_ipl/onenand-ipl-2k.bin $(obj)u-boot.bin > $(obj)u-boot-onenand.bin | 379 | cat $(obj)onenand_ipl/onenand-ipl-2k.bin $(obj)u-boot.bin > $(obj)u-boot-onenand.bin |
380 | cat $(obj)onenand_ipl/onenand-ipl-4k.bin $(obj)u-boot.bin > $(obj)u-boot-flexonenand.bin | 380 | cat $(obj)onenand_ipl/onenand-ipl-4k.bin $(obj)u-boot.bin > $(obj)u-boot-flexonenand.bin |
381 | 381 | ||
382 | $(VERSION_FILE): | 382 | $(VERSION_FILE): |
383 | @( printf '#define U_BOOT_VERSION "U-Boot %s%s"\n' "$(U_BOOT_VERSION)" \ | 383 | @( printf '#define U_BOOT_VERSION "U-Boot %s%s"\n' "$(U_BOOT_VERSION)" \ |
384 | '$(shell $(TOPDIR)/tools/setlocalversion $(TOPDIR))' ) > $@.tmp | 384 | '$(shell $(TOPDIR)/tools/setlocalversion $(TOPDIR))' ) > $@.tmp |
385 | @cmp -s $@ $@.tmp && rm -f $@.tmp || mv -f $@.tmp $@ | 385 | @cmp -s $@ $@.tmp && rm -f $@.tmp || mv -f $@.tmp $@ |
386 | 386 | ||
387 | $(TIMESTAMP_FILE): | 387 | $(TIMESTAMP_FILE): |
388 | @date +'#define U_BOOT_DATE "%b %d %C%y"' > $@ | 388 | @date +'#define U_BOOT_DATE "%b %d %C%y"' > $@ |
389 | @date +'#define U_BOOT_TIME "%T"' >> $@ | 389 | @date +'#define U_BOOT_TIME "%T"' >> $@ |
390 | 390 | ||
391 | gdbtools: | 391 | gdbtools: |
392 | $(MAKE) -C tools/gdb all || exit 1 | 392 | $(MAKE) -C tools/gdb all || exit 1 |
393 | 393 | ||
394 | updater: | 394 | updater: |
395 | $(MAKE) -C tools/updater all || exit 1 | 395 | $(MAKE) -C tools/updater all || exit 1 |
396 | 396 | ||
397 | env: | 397 | env: |
398 | $(MAKE) -C tools/env all MTD_VERSION=${MTD_VERSION} || exit 1 | 398 | $(MAKE) -C tools/env all MTD_VERSION=${MTD_VERSION} || exit 1 |
399 | 399 | ||
400 | depend dep: $(TIMESTAMP_FILE) $(VERSION_FILE) $(obj)include/autoconf.mk | 400 | depend dep: $(TIMESTAMP_FILE) $(VERSION_FILE) $(obj)include/autoconf.mk |
401 | for dir in $(SUBDIRS) ; do $(MAKE) -C $$dir _depend ; done | 401 | for dir in $(SUBDIRS) ; do $(MAKE) -C $$dir _depend ; done |
402 | 402 | ||
403 | TAG_SUBDIRS += include | 403 | TAG_SUBDIRS += include |
404 | TAG_SUBDIRS += lib_generic board/$(BOARDDIR) | 404 | TAG_SUBDIRS += lib_generic board/$(BOARDDIR) |
405 | TAG_SUBDIRS += cpu/$(CPU) | 405 | TAG_SUBDIRS += cpu/$(CPU) |
406 | TAG_SUBDIRS += lib_$(ARCH) | 406 | TAG_SUBDIRS += lib_$(ARCH) |
407 | TAG_SUBDIRS += fs/cramfs | 407 | TAG_SUBDIRS += fs/cramfs |
408 | TAG_SUBDIRS += fs/fat | 408 | TAG_SUBDIRS += fs/fat |
409 | TAG_SUBDIRS += fs/fdos | 409 | TAG_SUBDIRS += fs/fdos |
410 | TAG_SUBDIRS += fs/jffs2 | 410 | TAG_SUBDIRS += fs/jffs2 |
411 | TAG_SUBDIRS += fs/yaffs2 | 411 | TAG_SUBDIRS += fs/yaffs2 |
412 | TAG_SUBDIRS += net | 412 | TAG_SUBDIRS += net |
413 | TAG_SUBDIRS += disk | 413 | TAG_SUBDIRS += disk |
414 | TAG_SUBDIRS += common | 414 | TAG_SUBDIRS += common |
415 | TAG_SUBDIRS += drivers/bios_emulator | 415 | TAG_SUBDIRS += drivers/bios_emulator |
416 | TAG_SUBDIRS += drivers/block | 416 | TAG_SUBDIRS += drivers/block |
417 | TAG_SUBDIRS += drivers/gpio | 417 | TAG_SUBDIRS += drivers/gpio |
418 | TAG_SUBDIRS += drivers/hwmon | 418 | TAG_SUBDIRS += drivers/hwmon |
419 | TAG_SUBDIRS += drivers/i2c | 419 | TAG_SUBDIRS += drivers/i2c |
420 | TAG_SUBDIRS += drivers/input | 420 | TAG_SUBDIRS += drivers/input |
421 | TAG_SUBDIRS += drivers/misc | 421 | TAG_SUBDIRS += drivers/misc |
422 | TAG_SUBDIRS += drivers/mmc | 422 | TAG_SUBDIRS += drivers/mmc |
423 | TAG_SUBDIRS += drivers/mtd | 423 | TAG_SUBDIRS += drivers/mtd |
424 | TAG_SUBDIRS += drivers/mtd/nand | 424 | TAG_SUBDIRS += drivers/mtd/nand |
425 | TAG_SUBDIRS += drivers/mtd/nand_legacy | 425 | TAG_SUBDIRS += drivers/mtd/nand_legacy |
426 | TAG_SUBDIRS += drivers/mtd/onenand | 426 | TAG_SUBDIRS += drivers/mtd/onenand |
427 | TAG_SUBDIRS += drivers/mtd/spi | 427 | TAG_SUBDIRS += drivers/mtd/spi |
428 | TAG_SUBDIRS += drivers/net | 428 | TAG_SUBDIRS += drivers/net |
429 | TAG_SUBDIRS += drivers/net/sk98lin | 429 | TAG_SUBDIRS += drivers/net/sk98lin |
430 | TAG_SUBDIRS += drivers/pci | 430 | TAG_SUBDIRS += drivers/pci |
431 | TAG_SUBDIRS += drivers/pcmcia | 431 | TAG_SUBDIRS += drivers/pcmcia |
432 | TAG_SUBDIRS += drivers/qe | 432 | TAG_SUBDIRS += drivers/qe |
433 | TAG_SUBDIRS += drivers/rtc | 433 | TAG_SUBDIRS += drivers/rtc |
434 | TAG_SUBDIRS += drivers/serial | 434 | TAG_SUBDIRS += drivers/serial |
435 | TAG_SUBDIRS += drivers/spi | 435 | TAG_SUBDIRS += drivers/spi |
436 | TAG_SUBDIRS += drivers/usb | 436 | TAG_SUBDIRS += drivers/usb |
437 | TAG_SUBDIRS += drivers/video | 437 | TAG_SUBDIRS += drivers/video |
438 | 438 | ||
439 | tags ctags: | 439 | tags ctags: |
440 | ctags -w -o $(obj)ctags `find $(SUBDIRS) $(TAG_SUBDIRS) \ | 440 | ctags -w -o $(obj)ctags `find $(SUBDIRS) $(TAG_SUBDIRS) \ |
441 | -name '*.[ch]' -print` | 441 | -name '*.[ch]' -print` |
442 | 442 | ||
443 | etags: | 443 | etags: |
444 | etags -a -o $(obj)etags `find $(SUBDIRS) $(TAG_SUBDIRS) \ | 444 | etags -a -o $(obj)etags `find $(SUBDIRS) $(TAG_SUBDIRS) \ |
445 | -name '*.[ch]' -print` | 445 | -name '*.[ch]' -print` |
446 | cscope: | 446 | cscope: |
447 | find $(SUBDIRS) $(TAG_SUBDIRS) -name '*.[ch]' -print \ | 447 | find $(SUBDIRS) $(TAG_SUBDIRS) -name '*.[ch]' -print \ |
448 | > cscope.files | 448 | > cscope.files |
449 | cscope -b -q -k | 449 | cscope -b -q -k |
450 | 450 | ||
451 | $(obj)System.map: $(obj)u-boot | 451 | $(obj)System.map: $(obj)u-boot |
452 | @$(NM) $< | \ | 452 | @$(NM) $< | \ |
453 | grep -v '\(compiled\)\|\(\.o$$\)\|\( [aUw] \)\|\(\.\.ng$$\)\|\(LASH[RL]DI\)' | \ | 453 | grep -v '\(compiled\)\|\(\.o$$\)\|\( [aUw] \)\|\(\.\.ng$$\)\|\(LASH[RL]DI\)' | \ |
454 | sort > $(obj)System.map | 454 | sort > $(obj)System.map |
455 | 455 | ||
456 | # | 456 | # |
457 | # Auto-generate the autoconf.mk file (which is included by all makefiles) | 457 | # Auto-generate the autoconf.mk file (which is included by all makefiles) |
458 | # | 458 | # |
459 | # This target actually generates 2 files; autoconf.mk and autoconf.mk.dep. | 459 | # This target actually generates 2 files; autoconf.mk and autoconf.mk.dep. |
460 | # the dep file is only include in this top level makefile to determine when | 460 | # the dep file is only include in this top level makefile to determine when |
461 | # to regenerate the autoconf.mk file. | 461 | # to regenerate the autoconf.mk file. |
462 | $(obj)include/autoconf.mk.dep: $(obj)include/config.h include/common.h | 462 | $(obj)include/autoconf.mk.dep: $(obj)include/config.h include/common.h |
463 | @$(XECHO) Generating $@ ; \ | 463 | @$(XECHO) Generating $@ ; \ |
464 | set -e ; \ | 464 | set -e ; \ |
465 | : Generate the dependancies ; \ | 465 | : Generate the dependancies ; \ |
466 | $(CC) -x c -DDO_DEPS_ONLY -M $(HOST_CFLAGS) $(CPPFLAGS) \ | 466 | $(CC) -x c -DDO_DEPS_ONLY -M $(HOST_CFLAGS) $(CPPFLAGS) \ |
467 | -MQ $(obj)include/autoconf.mk include/common.h > $@ | 467 | -MQ $(obj)include/autoconf.mk include/common.h > $@ |
468 | 468 | ||
469 | $(obj)include/autoconf.mk: $(obj)include/config.h | 469 | $(obj)include/autoconf.mk: $(obj)include/config.h |
470 | @$(XECHO) Generating $@ ; \ | 470 | @$(XECHO) Generating $@ ; \ |
471 | set -e ; \ | 471 | set -e ; \ |
472 | : Extract the config macros ; \ | 472 | : Extract the config macros ; \ |
473 | $(CPP) $(CFLAGS) -DDO_DEPS_ONLY -dM include/common.h | \ | 473 | $(CPP) $(CFLAGS) -DDO_DEPS_ONLY -dM include/common.h | \ |
474 | sed -n -f tools/scripts/define2mk.sed > $@.tmp && \ | 474 | sed -n -f tools/scripts/define2mk.sed > $@.tmp && \ |
475 | mv $@.tmp $@ | 475 | mv $@.tmp $@ |
476 | 476 | ||
477 | sinclude $(obj)include/autoconf.mk.dep | 477 | sinclude $(obj)include/autoconf.mk.dep |
478 | 478 | ||
479 | ######################################################################### | 479 | ######################################################################### |
480 | else # !config.mk | 480 | else # !config.mk |
481 | all $(obj)u-boot.hex $(obj)u-boot.srec $(obj)u-boot.bin \ | 481 | all $(obj)u-boot.hex $(obj)u-boot.srec $(obj)u-boot.bin \ |
482 | $(obj)u-boot.img $(obj)u-boot.dis $(obj)u-boot \ | 482 | $(obj)u-boot.img $(obj)u-boot.dis $(obj)u-boot \ |
483 | $(SUBDIRS) $(TIMESTAMP_FILE) $(VERSION_FILE) gdbtools updater env depend \ | 483 | $(SUBDIRS) $(TIMESTAMP_FILE) $(VERSION_FILE) gdbtools updater env depend \ |
484 | dep tags ctags etags cscope $(obj)System.map: | 484 | dep tags ctags etags cscope $(obj)System.map: |
485 | @echo "System not configured - see README" >&2 | 485 | @echo "System not configured - see README" >&2 |
486 | @ exit 1 | 486 | @ exit 1 |
487 | endif # config.mk | 487 | endif # config.mk |
488 | 488 | ||
489 | .PHONY : CHANGELOG | 489 | .PHONY : CHANGELOG |
490 | CHANGELOG: | 490 | CHANGELOG: |
491 | git log --no-merges U-Boot-1_1_5.. | \ | 491 | git log --no-merges U-Boot-1_1_5.. | \ |
492 | unexpand -a | sed -e 's/\s\s*$$//' > $@ | 492 | unexpand -a | sed -e 's/\s\s*$$//' > $@ |
493 | 493 | ||
494 | include/license.h: tools/bin2header COPYING | 494 | include/license.h: tools/bin2header COPYING |
495 | cat COPYING | gzip -9 -c | ./tools/bin2header license_gzip > include/license.h | 495 | cat COPYING | gzip -9 -c | ./tools/bin2header license_gzip > include/license.h |
496 | ######################################################################### | 496 | ######################################################################### |
497 | 497 | ||
498 | unconfig: | 498 | unconfig: |
499 | @rm -f $(obj)include/config.h $(obj)include/config.mk \ | 499 | @rm -f $(obj)include/config.h $(obj)include/config.mk \ |
500 | $(obj)board/*/config.tmp $(obj)board/*/*/config.tmp \ | 500 | $(obj)board/*/config.tmp $(obj)board/*/*/config.tmp \ |
501 | $(obj)include/autoconf.mk $(obj)include/autoconf.mk.dep | 501 | $(obj)include/autoconf.mk $(obj)include/autoconf.mk.dep |
502 | 502 | ||
503 | #======================================================================== | 503 | #======================================================================== |
504 | # PowerPC | 504 | # PowerPC |
505 | #======================================================================== | 505 | #======================================================================== |
506 | 506 | ||
507 | ######################################################################### | 507 | ######################################################################### |
508 | ## MPC5xx Systems | 508 | ## MPC5xx Systems |
509 | ######################################################################### | 509 | ######################################################################### |
510 | 510 | ||
511 | canmb_config: unconfig | 511 | canmb_config: unconfig |
512 | @$(MKCONFIG) -a canmb ppc mpc5xxx canmb | 512 | @$(MKCONFIG) -a canmb ppc mpc5xxx canmb |
513 | 513 | ||
514 | cmi_mpc5xx_config: unconfig | 514 | cmi_mpc5xx_config: unconfig |
515 | @$(MKCONFIG) $(@:_config=) ppc mpc5xx cmi | 515 | @$(MKCONFIG) $(@:_config=) ppc mpc5xx cmi |
516 | 516 | ||
517 | PATI_config: unconfig | 517 | PATI_config: unconfig |
518 | @$(MKCONFIG) $(@:_config=) ppc mpc5xx pati mpl | 518 | @$(MKCONFIG) $(@:_config=) ppc mpc5xx pati mpl |
519 | 519 | ||
520 | ######################################################################### | 520 | ######################################################################### |
521 | ## MPC5xxx Systems | 521 | ## MPC5xxx Systems |
522 | ######################################################################### | 522 | ######################################################################### |
523 | 523 | ||
524 | aev_config: unconfig | 524 | aev_config: unconfig |
525 | @$(MKCONFIG) -a aev ppc mpc5xxx tqm5200 tqc | 525 | @$(MKCONFIG) -a aev ppc mpc5xxx tqm5200 tqc |
526 | 526 | ||
527 | BC3450_config: unconfig | 527 | BC3450_config: unconfig |
528 | @$(MKCONFIG) -a BC3450 ppc mpc5xxx bc3450 | 528 | @$(MKCONFIG) -a BC3450 ppc mpc5xxx bc3450 |
529 | 529 | ||
530 | cm5200_config: unconfig | 530 | cm5200_config: unconfig |
531 | @$(MKCONFIG) -a cm5200 ppc mpc5xxx cm5200 | 531 | @$(MKCONFIG) -a cm5200 ppc mpc5xxx cm5200 |
532 | 532 | ||
533 | cpci5200_config: unconfig | 533 | cpci5200_config: unconfig |
534 | @$(MKCONFIG) -a cpci5200 ppc mpc5xxx cpci5200 esd | 534 | @$(MKCONFIG) -a cpci5200 ppc mpc5xxx cpci5200 esd |
535 | 535 | ||
536 | digsy_mtc_config \ | 536 | digsy_mtc_config \ |
537 | digsy_mtc_LOWBOOT_config \ | 537 | digsy_mtc_LOWBOOT_config \ |
538 | digsy_mtc_RAMBOOT_config: unconfig | 538 | digsy_mtc_RAMBOOT_config: unconfig |
539 | @mkdir -p $(obj)include | 539 | @mkdir -p $(obj)include |
540 | @mkdir -p $(obj)board/digsy_mtc | 540 | @mkdir -p $(obj)board/digsy_mtc |
541 | @ >$(obj)include/config.h | 541 | @ >$(obj)include/config.h |
542 | @[ -z "$(findstring LOWBOOT_,$@)" ] || \ | 542 | @[ -z "$(findstring LOWBOOT_,$@)" ] || \ |
543 | { echo "TEXT_BASE = 0xFF000000" >$(obj)board/digsy_mtc/config.tmp ; \ | 543 | { echo "TEXT_BASE = 0xFF000000" >$(obj)board/digsy_mtc/config.tmp ; \ |
544 | echo "... with LOWBOOT configuration" ; \ | 544 | echo "... with LOWBOOT configuration" ; \ |
545 | } | 545 | } |
546 | @[ -z "$(findstring RAMBOOT_,$@)" ] || \ | 546 | @[ -z "$(findstring RAMBOOT_,$@)" ] || \ |
547 | { echo "TEXT_BASE = 0x00100000" >$(obj)board/digsy_mtc/config.tmp ; \ | 547 | { echo "TEXT_BASE = 0x00100000" >$(obj)board/digsy_mtc/config.tmp ; \ |
548 | echo "... with RAMBOOT configuration" ; \ | 548 | echo "... with RAMBOOT configuration" ; \ |
549 | } | 549 | } |
550 | @$(MKCONFIG) -a digsy_mtc ppc mpc5xxx digsy_mtc | 550 | @$(MKCONFIG) -a digsy_mtc ppc mpc5xxx digsy_mtc |
551 | 551 | ||
552 | hmi1001_config: unconfig | 552 | hmi1001_config: unconfig |
553 | @$(MKCONFIG) hmi1001 ppc mpc5xxx hmi1001 | 553 | @$(MKCONFIG) hmi1001 ppc mpc5xxx hmi1001 |
554 | 554 | ||
555 | Lite5200_config \ | 555 | Lite5200_config \ |
556 | Lite5200_LOWBOOT_config \ | 556 | Lite5200_LOWBOOT_config \ |
557 | Lite5200_LOWBOOT08_config \ | 557 | Lite5200_LOWBOOT08_config \ |
558 | icecube_5200_config \ | 558 | icecube_5200_config \ |
559 | icecube_5200_LOWBOOT_config \ | 559 | icecube_5200_LOWBOOT_config \ |
560 | icecube_5200_LOWBOOT08_config \ | 560 | icecube_5200_LOWBOOT08_config \ |
561 | icecube_5200_DDR_config \ | 561 | icecube_5200_DDR_config \ |
562 | icecube_5200_DDR_LOWBOOT_config \ | 562 | icecube_5200_DDR_LOWBOOT_config \ |
563 | icecube_5200_DDR_LOWBOOT08_config \ | 563 | icecube_5200_DDR_LOWBOOT08_config \ |
564 | icecube_5100_config: unconfig | 564 | icecube_5100_config: unconfig |
565 | @mkdir -p $(obj)include | 565 | @mkdir -p $(obj)include |
566 | @mkdir -p $(obj)board/icecube | 566 | @mkdir -p $(obj)board/icecube |
567 | @[ -z "$(findstring LOWBOOT_,$@)" ] || \ | 567 | @[ -z "$(findstring LOWBOOT_,$@)" ] || \ |
568 | { if [ "$(findstring DDR,$@)" ] ; \ | 568 | { if [ "$(findstring DDR,$@)" ] ; \ |
569 | then echo "TEXT_BASE = 0xFF800000" >$(obj)board/icecube/config.tmp ; \ | 569 | then echo "TEXT_BASE = 0xFF800000" >$(obj)board/icecube/config.tmp ; \ |
570 | else echo "TEXT_BASE = 0xFF000000" >$(obj)board/icecube/config.tmp ; \ | 570 | else echo "TEXT_BASE = 0xFF000000" >$(obj)board/icecube/config.tmp ; \ |
571 | fi ; \ | 571 | fi ; \ |
572 | $(XECHO) "... with LOWBOOT configuration" ; \ | 572 | $(XECHO) "... with LOWBOOT configuration" ; \ |
573 | } | 573 | } |
574 | @[ -z "$(findstring LOWBOOT08,$@)" ] || \ | 574 | @[ -z "$(findstring LOWBOOT08,$@)" ] || \ |
575 | { echo "TEXT_BASE = 0xFF800000" >$(obj)board/icecube/config.tmp ; \ | 575 | { echo "TEXT_BASE = 0xFF800000" >$(obj)board/icecube/config.tmp ; \ |
576 | echo "... with 8 MB flash only" ; \ | 576 | echo "... with 8 MB flash only" ; \ |
577 | $(XECHO) "... with LOWBOOT configuration" ; \ | 577 | $(XECHO) "... with LOWBOOT configuration" ; \ |
578 | } | 578 | } |
579 | @[ -z "$(findstring DDR,$@)" ] || \ | 579 | @[ -z "$(findstring DDR,$@)" ] || \ |
580 | { echo "#define CONFIG_MPC5200_DDR" >>$(obj)include/config.h ; \ | 580 | { echo "#define CONFIG_MPC5200_DDR" >>$(obj)include/config.h ; \ |
581 | $(XECHO) "... DDR memory revision" ; \ | 581 | $(XECHO) "... DDR memory revision" ; \ |
582 | } | 582 | } |
583 | @[ -z "$(findstring 5200,$@)" ] || \ | 583 | @[ -z "$(findstring 5200,$@)" ] || \ |
584 | { echo "#define CONFIG_MPC5200" >>$(obj)include/config.h ; \ | 584 | { echo "#define CONFIG_MPC5200" >>$(obj)include/config.h ; \ |
585 | $(XECHO) "... with MPC5200 processor" ; \ | 585 | $(XECHO) "... with MPC5200 processor" ; \ |
586 | } | 586 | } |
587 | @[ -z "$(findstring 5100,$@)" ] || \ | 587 | @[ -z "$(findstring 5100,$@)" ] || \ |
588 | { echo "#define CONFIG_MGT5100" >>$(obj)include/config.h ; \ | 588 | { echo "#define CONFIG_MGT5100" >>$(obj)include/config.h ; \ |
589 | $(XECHO) "... with MGT5100 processor" ; \ | 589 | $(XECHO) "... with MGT5100 processor" ; \ |
590 | } | 590 | } |
591 | @$(MKCONFIG) -a IceCube ppc mpc5xxx icecube | 591 | @$(MKCONFIG) -a IceCube ppc mpc5xxx icecube |
592 | 592 | ||
593 | jupiter_config: unconfig | 593 | jupiter_config: unconfig |
594 | @$(MKCONFIG) jupiter ppc mpc5xxx jupiter | 594 | @$(MKCONFIG) jupiter ppc mpc5xxx jupiter |
595 | 595 | ||
596 | inka4x0_config: unconfig | 596 | inka4x0_config: unconfig |
597 | @$(MKCONFIG) inka4x0 ppc mpc5xxx inka4x0 | 597 | @$(MKCONFIG) inka4x0 ppc mpc5xxx inka4x0 |
598 | 598 | ||
599 | lite5200b_config \ | 599 | lite5200b_config \ |
600 | lite5200b_PM_config \ | 600 | lite5200b_PM_config \ |
601 | lite5200b_LOWBOOT_config: unconfig | 601 | lite5200b_LOWBOOT_config: unconfig |
602 | @mkdir -p $(obj)include | 602 | @mkdir -p $(obj)include |
603 | @mkdir -p $(obj)board/icecube | 603 | @mkdir -p $(obj)board/icecube |
604 | @ echo "#define CONFIG_MPC5200_DDR" >>$(obj)include/config.h | 604 | @ echo "#define CONFIG_MPC5200_DDR" >>$(obj)include/config.h |
605 | @ $(XECHO) "... DDR memory revision" | 605 | @ $(XECHO) "... DDR memory revision" |
606 | @ echo "#define CONFIG_MPC5200" >>$(obj)include/config.h | 606 | @ echo "#define CONFIG_MPC5200" >>$(obj)include/config.h |
607 | @ echo "#define CONFIG_LITE5200B" >>$(obj)include/config.h | 607 | @ echo "#define CONFIG_LITE5200B" >>$(obj)include/config.h |
608 | @[ -z "$(findstring _PM_,$@)" ] || \ | 608 | @[ -z "$(findstring _PM_,$@)" ] || \ |
609 | { echo "#define CONFIG_LITE5200B_PM" >>$(obj)include/config.h ; \ | 609 | { echo "#define CONFIG_LITE5200B_PM" >>$(obj)include/config.h ; \ |
610 | $(XECHO) "... with power management (low-power mode) support" ; \ | 610 | $(XECHO) "... with power management (low-power mode) support" ; \ |
611 | } | 611 | } |
612 | @[ -z "$(findstring LOWBOOT_,$@)" ] || \ | 612 | @[ -z "$(findstring LOWBOOT_,$@)" ] || \ |
613 | { echo "TEXT_BASE = 0xFF000000" >$(obj)board/icecube/config.tmp ; \ | 613 | { echo "TEXT_BASE = 0xFF000000" >$(obj)board/icecube/config.tmp ; \ |
614 | $(XECHO) "... with LOWBOOT configuration" ; \ | 614 | $(XECHO) "... with LOWBOOT configuration" ; \ |
615 | } | 615 | } |
616 | @ $(XECHO) "... with MPC5200B processor" | 616 | @ $(XECHO) "... with MPC5200B processor" |
617 | @$(MKCONFIG) -a IceCube ppc mpc5xxx icecube | 617 | @$(MKCONFIG) -a IceCube ppc mpc5xxx icecube |
618 | 618 | ||
619 | mcc200_config \ | 619 | mcc200_config \ |
620 | mcc200_SDRAM_config \ | 620 | mcc200_SDRAM_config \ |
621 | mcc200_highboot_config \ | 621 | mcc200_highboot_config \ |
622 | mcc200_COM12_config \ | 622 | mcc200_COM12_config \ |
623 | mcc200_COM12_SDRAM_config \ | 623 | mcc200_COM12_SDRAM_config \ |
624 | mcc200_COM12_highboot_config \ | 624 | mcc200_COM12_highboot_config \ |
625 | mcc200_COM12_highboot_SDRAM_config \ | 625 | mcc200_COM12_highboot_SDRAM_config \ |
626 | mcc200_highboot_SDRAM_config \ | 626 | mcc200_highboot_SDRAM_config \ |
627 | prs200_config \ | 627 | prs200_config \ |
628 | prs200_DDR_config \ | 628 | prs200_DDR_config \ |
629 | prs200_highboot_config \ | 629 | prs200_highboot_config \ |
630 | prs200_highboot_DDR_config: unconfig | 630 | prs200_highboot_DDR_config: unconfig |
631 | @mkdir -p $(obj)include | 631 | @mkdir -p $(obj)include |
632 | @mkdir -p $(obj)board/mcc200 | 632 | @mkdir -p $(obj)board/mcc200 |
633 | @[ -n "$(findstring highboot,$@)" ] || \ | 633 | @[ -n "$(findstring highboot,$@)" ] || \ |
634 | { $(XECHO) "... with lowboot configuration" ; \ | 634 | { $(XECHO) "... with lowboot configuration" ; \ |
635 | } | 635 | } |
636 | @[ -z "$(findstring highboot,$@)" ] || \ | 636 | @[ -z "$(findstring highboot,$@)" ] || \ |
637 | { echo "TEXT_BASE = 0xFFF00000" >$(obj)board/mcc200/config.tmp ; \ | 637 | { echo "TEXT_BASE = 0xFFF00000" >$(obj)board/mcc200/config.tmp ; \ |
638 | $(XECHO) "... with highboot configuration" ; \ | 638 | $(XECHO) "... with highboot configuration" ; \ |
639 | } | 639 | } |
640 | @[ -n "$(findstring _SDRAM,$@)" ] || \ | 640 | @[ -n "$(findstring _SDRAM,$@)" ] || \ |
641 | { if [ -n "$(findstring mcc200,$@)" ]; \ | 641 | { if [ -n "$(findstring mcc200,$@)" ]; \ |
642 | then \ | 642 | then \ |
643 | $(XECHO) "... with DDR" ; \ | 643 | $(XECHO) "... with DDR" ; \ |
644 | else \ | 644 | else \ |
645 | if [ -n "$(findstring _DDR,$@)" ];\ | 645 | if [ -n "$(findstring _DDR,$@)" ];\ |
646 | then \ | 646 | then \ |
647 | $(XECHO) "... with DDR" ; \ | 647 | $(XECHO) "... with DDR" ; \ |
648 | else \ | 648 | else \ |
649 | echo "#define CONFIG_MCC200_SDRAM" >>$(obj)include/config.h ;\ | 649 | echo "#define CONFIG_MCC200_SDRAM" >>$(obj)include/config.h ;\ |
650 | $(XECHO) "... with SDRAM" ; \ | 650 | $(XECHO) "... with SDRAM" ; \ |
651 | fi; \ | 651 | fi; \ |
652 | fi; \ | 652 | fi; \ |
653 | } | 653 | } |
654 | @[ -z "$(findstring _SDRAM,$@)" ] || \ | 654 | @[ -z "$(findstring _SDRAM,$@)" ] || \ |
655 | { echo "#define CONFIG_MCC200_SDRAM" >>$(obj)include/config.h ; \ | 655 | { echo "#define CONFIG_MCC200_SDRAM" >>$(obj)include/config.h ; \ |
656 | $(XECHO) "... with SDRAM" ; \ | 656 | $(XECHO) "... with SDRAM" ; \ |
657 | } | 657 | } |
658 | @[ -z "$(findstring COM12,$@)" ] || \ | 658 | @[ -z "$(findstring COM12,$@)" ] || \ |
659 | { echo "#define CONFIG_CONSOLE_COM12" >>$(obj)include/config.h ; \ | 659 | { echo "#define CONFIG_CONSOLE_COM12" >>$(obj)include/config.h ; \ |
660 | $(XECHO) "... with console on COM12" ; \ | 660 | $(XECHO) "... with console on COM12" ; \ |
661 | } | 661 | } |
662 | @[ -z "$(findstring prs200,$@)" ] || \ | 662 | @[ -z "$(findstring prs200,$@)" ] || \ |
663 | { echo "#define CONFIG_PRS200" >>$(obj)include/config.h ;\ | 663 | { echo "#define CONFIG_PRS200" >>$(obj)include/config.h ;\ |
664 | } | 664 | } |
665 | @$(MKCONFIG) -n $@ -a mcc200 ppc mpc5xxx mcc200 | 665 | @$(MKCONFIG) -n $@ -a mcc200 ppc mpc5xxx mcc200 |
666 | 666 | ||
667 | mecp5200_config: unconfig | 667 | mecp5200_config: unconfig |
668 | @$(MKCONFIG) mecp5200 ppc mpc5xxx mecp5200 esd | 668 | @$(MKCONFIG) mecp5200 ppc mpc5xxx mecp5200 esd |
669 | 669 | ||
670 | motionpro_config: unconfig | 670 | motionpro_config: unconfig |
671 | @$(MKCONFIG) motionpro ppc mpc5xxx motionpro | 671 | @$(MKCONFIG) motionpro ppc mpc5xxx motionpro |
672 | 672 | ||
673 | mucmc52_config: unconfig | 673 | mucmc52_config: unconfig |
674 | @$(MKCONFIG) mucmc52 ppc mpc5xxx mucmc52 | 674 | @$(MKCONFIG) mucmc52 ppc mpc5xxx mucmc52 |
675 | 675 | ||
676 | munices_config: unconfig | 676 | munices_config: unconfig |
677 | @$(MKCONFIG) munices ppc mpc5xxx munices | 677 | @$(MKCONFIG) munices ppc mpc5xxx munices |
678 | 678 | ||
679 | MVBC_P_config: unconfig | 679 | MVBC_P_config: unconfig |
680 | @mkdir -p $(obj)include | 680 | @mkdir -p $(obj)include |
681 | @mkdir -p $(obj)board/mvbc_p | 681 | @mkdir -p $(obj)board/mvbc_p |
682 | @ >$(obj)include/config.h | 682 | @ >$(obj)include/config.h |
683 | @[ -z "$(findstring MVBC_P,$@)" ] || \ | 683 | @[ -z "$(findstring MVBC_P,$@)" ] || \ |
684 | { echo "#define CONFIG_MVBC_P" >>$(obj)include/config.h; } | 684 | { echo "#define CONFIG_MVBC_P" >>$(obj)include/config.h; } |
685 | @$(MKCONFIG) -n $@ -a MVBC_P ppc mpc5xxx mvbc_p matrix_vision | 685 | @$(MKCONFIG) -n $@ -a MVBC_P ppc mpc5xxx mvbc_p matrix_vision |
686 | 686 | ||
687 | o2dnt_config: unconfig | 687 | o2dnt_config: unconfig |
688 | @$(MKCONFIG) o2dnt ppc mpc5xxx o2dnt | 688 | @$(MKCONFIG) o2dnt ppc mpc5xxx o2dnt |
689 | 689 | ||
690 | pf5200_config: unconfig | 690 | pf5200_config: unconfig |
691 | @$(MKCONFIG) pf5200 ppc mpc5xxx pf5200 esd | 691 | @$(MKCONFIG) pf5200 ppc mpc5xxx pf5200 esd |
692 | 692 | ||
693 | PM520_config \ | 693 | PM520_config \ |
694 | PM520_DDR_config \ | 694 | PM520_DDR_config \ |
695 | PM520_ROMBOOT_config \ | 695 | PM520_ROMBOOT_config \ |
696 | PM520_ROMBOOT_DDR_config: unconfig | 696 | PM520_ROMBOOT_DDR_config: unconfig |
697 | @mkdir -p $(obj)include | 697 | @mkdir -p $(obj)include |
698 | @[ -z "$(findstring DDR,$@)" ] || \ | 698 | @[ -z "$(findstring DDR,$@)" ] || \ |
699 | { echo "#define CONFIG_MPC5200_DDR" >>$(obj)include/config.h ; \ | 699 | { echo "#define CONFIG_MPC5200_DDR" >>$(obj)include/config.h ; \ |
700 | $(XECHO) "... DDR memory revision" ; \ | 700 | $(XECHO) "... DDR memory revision" ; \ |
701 | } | 701 | } |
702 | @[ -z "$(findstring ROMBOOT,$@)" ] || \ | 702 | @[ -z "$(findstring ROMBOOT,$@)" ] || \ |
703 | { echo "#define CONFIG_BOOT_ROM" >>$(obj)include/config.h ; \ | 703 | { echo "#define CONFIG_BOOT_ROM" >>$(obj)include/config.h ; \ |
704 | $(XECHO) "... booting from 8-bit flash" ; \ | 704 | $(XECHO) "... booting from 8-bit flash" ; \ |
705 | } | 705 | } |
706 | @$(MKCONFIG) -a PM520 ppc mpc5xxx pm520 | 706 | @$(MKCONFIG) -a PM520 ppc mpc5xxx pm520 |
707 | 707 | ||
708 | smmaco4_config: unconfig | 708 | smmaco4_config: unconfig |
709 | @$(MKCONFIG) -a smmaco4 ppc mpc5xxx tqm5200 tqc | 709 | @$(MKCONFIG) -a smmaco4 ppc mpc5xxx tqm5200 tqc |
710 | 710 | ||
711 | spieval_config: unconfig | 711 | spieval_config: unconfig |
712 | @$(MKCONFIG) -a spieval ppc mpc5xxx tqm5200 tqc | 712 | @$(MKCONFIG) -a spieval ppc mpc5xxx tqm5200 tqc |
713 | 713 | ||
714 | TB5200_B_config \ | 714 | TB5200_B_config \ |
715 | TB5200_config: unconfig | 715 | TB5200_config: unconfig |
716 | @mkdir -p $(obj)include | 716 | @mkdir -p $(obj)include |
717 | @[ -z "$(findstring _B,$@)" ] || \ | 717 | @[ -z "$(findstring _B,$@)" ] || \ |
718 | { echo "#define CONFIG_TQM5200_B" >>$(obj)include/config.h ; \ | 718 | { echo "#define CONFIG_TQM5200_B" >>$(obj)include/config.h ; \ |
719 | $(XECHO) "... with MPC5200B processor" ; \ | 719 | $(XECHO) "... with MPC5200B processor" ; \ |
720 | } | 720 | } |
721 | @$(MKCONFIG) -n $@ -a TB5200 ppc mpc5xxx tqm5200 tqc | 721 | @$(MKCONFIG) -n $@ -a TB5200 ppc mpc5xxx tqm5200 tqc |
722 | 722 | ||
723 | MINI5200_config \ | 723 | MINI5200_config \ |
724 | EVAL5200_config \ | 724 | EVAL5200_config \ |
725 | TOP5200_config: unconfig | 725 | TOP5200_config: unconfig |
726 | @mkdir -p $(obj)include | 726 | @mkdir -p $(obj)include |
727 | @ echo "#define CONFIG_$(@:_config=) 1" >$(obj)include/config.h | 727 | @ echo "#define CONFIG_$(@:_config=) 1" >$(obj)include/config.h |
728 | @$(MKCONFIG) -n $@ -a TOP5200 ppc mpc5xxx top5200 emk | 728 | @$(MKCONFIG) -n $@ -a TOP5200 ppc mpc5xxx top5200 emk |
729 | 729 | ||
730 | Total5100_config \ | 730 | Total5100_config \ |
731 | Total5200_config \ | 731 | Total5200_config \ |
732 | Total5200_lowboot_config \ | 732 | Total5200_lowboot_config \ |
733 | Total5200_Rev2_config \ | 733 | Total5200_Rev2_config \ |
734 | Total5200_Rev2_lowboot_config: unconfig | 734 | Total5200_Rev2_lowboot_config: unconfig |
735 | @mkdir -p $(obj)include | 735 | @mkdir -p $(obj)include |
736 | @mkdir -p $(obj)board/total5200 | 736 | @mkdir -p $(obj)board/total5200 |
737 | @[ -z "$(findstring 5100,$@)" ] || \ | 737 | @[ -z "$(findstring 5100,$@)" ] || \ |
738 | { echo "#define CONFIG_MGT5100" >>$(obj)include/config.h ; \ | 738 | { echo "#define CONFIG_MGT5100" >>$(obj)include/config.h ; \ |
739 | $(XECHO) "... with MGT5100 processor" ; \ | 739 | $(XECHO) "... with MGT5100 processor" ; \ |
740 | } | 740 | } |
741 | @[ -z "$(findstring 5200,$@)" ] || \ | 741 | @[ -z "$(findstring 5200,$@)" ] || \ |
742 | { echo "#define CONFIG_MPC5200" >>$(obj)include/config.h ; \ | 742 | { echo "#define CONFIG_MPC5200" >>$(obj)include/config.h ; \ |
743 | $(XECHO) "... with MPC5200 processor" ; \ | 743 | $(XECHO) "... with MPC5200 processor" ; \ |
744 | } | 744 | } |
745 | @[ -n "$(findstring Rev,$@)" ] || \ | 745 | @[ -n "$(findstring Rev,$@)" ] || \ |
746 | { echo "#define CONFIG_TOTAL5200_REV 1" >>$(obj)include/config.h ; \ | 746 | { echo "#define CONFIG_TOTAL5200_REV 1" >>$(obj)include/config.h ; \ |
747 | $(XECHO) "... revision 1 board" ; \ | 747 | $(XECHO) "... revision 1 board" ; \ |
748 | } | 748 | } |
749 | @[ -z "$(findstring Rev2_,$@)" ] || \ | 749 | @[ -z "$(findstring Rev2_,$@)" ] || \ |
750 | { echo "#define CONFIG_TOTAL5200_REV 2" >>$(obj)include/config.h ; \ | 750 | { echo "#define CONFIG_TOTAL5200_REV 2" >>$(obj)include/config.h ; \ |
751 | $(XECHO) "... revision 2 board" ; \ | 751 | $(XECHO) "... revision 2 board" ; \ |
752 | } | 752 | } |
753 | @[ -z "$(findstring lowboot_,$@)" ] || \ | 753 | @[ -z "$(findstring lowboot_,$@)" ] || \ |
754 | { echo "TEXT_BASE = 0xFE000000" >$(obj)board/total5200/config.tmp ; \ | 754 | { echo "TEXT_BASE = 0xFE000000" >$(obj)board/total5200/config.tmp ; \ |
755 | $(XECHO) "... with lowboot configuration" ; \ | 755 | $(XECHO) "... with lowboot configuration" ; \ |
756 | } | 756 | } |
757 | @$(MKCONFIG) -a Total5200 ppc mpc5xxx total5200 | 757 | @$(MKCONFIG) -a Total5200 ppc mpc5xxx total5200 |
758 | 758 | ||
759 | cam5200_config \ | 759 | cam5200_config \ |
760 | cam5200_niosflash_config \ | 760 | cam5200_niosflash_config \ |
761 | fo300_config \ | 761 | fo300_config \ |
762 | MiniFAP_config \ | 762 | MiniFAP_config \ |
763 | TQM5200S_config \ | 763 | TQM5200S_config \ |
764 | TQM5200S_HIGHBOOT_config \ | 764 | TQM5200S_HIGHBOOT_config \ |
765 | TQM5200_B_config \ | 765 | TQM5200_B_config \ |
766 | TQM5200_B_HIGHBOOT_config \ | 766 | TQM5200_B_HIGHBOOT_config \ |
767 | TQM5200_config \ | 767 | TQM5200_config \ |
768 | TQM5200_STK100_config: unconfig | 768 | TQM5200_STK100_config: unconfig |
769 | @mkdir -p $(obj)include | 769 | @mkdir -p $(obj)include |
770 | @mkdir -p $(obj)board/tqc/tqm5200 | 770 | @mkdir -p $(obj)board/tqc/tqm5200 |
771 | @[ -z "$(findstring cam5200,$@)" ] || \ | 771 | @[ -z "$(findstring cam5200,$@)" ] || \ |
772 | { echo "#define CONFIG_CAM5200" >>$(obj)include/config.h ; \ | 772 | { echo "#define CONFIG_CAM5200" >>$(obj)include/config.h ; \ |
773 | echo "#define CONFIG_TQM5200S" >>$(obj)include/config.h ; \ | 773 | echo "#define CONFIG_TQM5200S" >>$(obj)include/config.h ; \ |
774 | echo "#define CONFIG_TQM5200_B" >>$(obj)include/config.h ; \ | 774 | echo "#define CONFIG_TQM5200_B" >>$(obj)include/config.h ; \ |
775 | $(XECHO) "... TQM5200S on Cam5200" ; \ | 775 | $(XECHO) "... TQM5200S on Cam5200" ; \ |
776 | } | 776 | } |
777 | @[ -z "$(findstring niosflash,$@)" ] || \ | 777 | @[ -z "$(findstring niosflash,$@)" ] || \ |
778 | { echo "#define CONFIG_CAM5200_NIOSFLASH" >>$(obj)include/config.h ; \ | 778 | { echo "#define CONFIG_CAM5200_NIOSFLASH" >>$(obj)include/config.h ; \ |
779 | $(XECHO) "... with NIOS flash driver" ; \ | 779 | $(XECHO) "... with NIOS flash driver" ; \ |
780 | } | 780 | } |
781 | @[ -z "$(findstring fo300,$@)" ] || \ | 781 | @[ -z "$(findstring fo300,$@)" ] || \ |
782 | { echo "#define CONFIG_FO300" >>$(obj)include/config.h ; \ | 782 | { echo "#define CONFIG_FO300" >>$(obj)include/config.h ; \ |
783 | $(XECHO) "... TQM5200 on FO300" ; \ | 783 | $(XECHO) "... TQM5200 on FO300" ; \ |
784 | } | 784 | } |
785 | @[ -z "$(findstring MiniFAP,$@)" ] || \ | 785 | @[ -z "$(findstring MiniFAP,$@)" ] || \ |
786 | { echo "#define CONFIG_MINIFAP" >>$(obj)include/config.h ; \ | 786 | { echo "#define CONFIG_MINIFAP" >>$(obj)include/config.h ; \ |
787 | $(XECHO) "... TQM5200_AC on MiniFAP" ; \ | 787 | $(XECHO) "... TQM5200_AC on MiniFAP" ; \ |
788 | } | 788 | } |
789 | @[ -z "$(findstring STK100,$@)" ] || \ | 789 | @[ -z "$(findstring STK100,$@)" ] || \ |
790 | { echo "#define CONFIG_STK52XX_REV100" >>$(obj)include/config.h ; \ | 790 | { echo "#define CONFIG_STK52XX_REV100" >>$(obj)include/config.h ; \ |
791 | $(XECHO) "... on a STK52XX.100 base board" ; \ | 791 | $(XECHO) "... on a STK52XX.100 base board" ; \ |
792 | } | 792 | } |
793 | @[ -z "$(findstring TQM5200_B,$@)" ] || \ | 793 | @[ -z "$(findstring TQM5200_B,$@)" ] || \ |
794 | { echo "#define CONFIG_TQM5200_B" >>$(obj)include/config.h ; \ | 794 | { echo "#define CONFIG_TQM5200_B" >>$(obj)include/config.h ; \ |
795 | } | 795 | } |
796 | @[ -z "$(findstring TQM5200S,$@)" ] || \ | 796 | @[ -z "$(findstring TQM5200S,$@)" ] || \ |
797 | { echo "#define CONFIG_TQM5200S" >>$(obj)include/config.h ; \ | 797 | { echo "#define CONFIG_TQM5200S" >>$(obj)include/config.h ; \ |
798 | echo "#define CONFIG_TQM5200_B" >>$(obj)include/config.h ; \ | 798 | echo "#define CONFIG_TQM5200_B" >>$(obj)include/config.h ; \ |
799 | } | 799 | } |
800 | @[ -z "$(findstring HIGHBOOT,$@)" ] || \ | 800 | @[ -z "$(findstring HIGHBOOT,$@)" ] || \ |
801 | { echo "TEXT_BASE = 0xFFF00000" >$(obj)board/tqm5200/config.tmp ; \ | 801 | { echo "TEXT_BASE = 0xFFF00000" >$(obj)board/tqm5200/config.tmp ; \ |
802 | } | 802 | } |
803 | @$(MKCONFIG) -n $@ -a TQM5200 ppc mpc5xxx tqm5200 tqc | 803 | @$(MKCONFIG) -n $@ -a TQM5200 ppc mpc5xxx tqm5200 tqc |
804 | 804 | ||
805 | uc101_config: unconfig | 805 | uc101_config: unconfig |
806 | @$(MKCONFIG) uc101 ppc mpc5xxx uc101 | 806 | @$(MKCONFIG) uc101 ppc mpc5xxx uc101 |
807 | 807 | ||
808 | v38b_config: unconfig | 808 | v38b_config: unconfig |
809 | @$(MKCONFIG) -a v38b ppc mpc5xxx v38b | 809 | @$(MKCONFIG) -a v38b ppc mpc5xxx v38b |
810 | 810 | ||
811 | ######################################################################### | 811 | ######################################################################### |
812 | ## MPC512x Systems | 812 | ## MPC512x Systems |
813 | ######################################################################### | 813 | ######################################################################### |
814 | 814 | ||
815 | ads5121_config \ | 815 | ads5121_config \ |
816 | ads5121_rev2_config \ | 816 | ads5121_rev2_config \ |
817 | : unconfig | 817 | : unconfig |
818 | @mkdir -p $(obj)include | 818 | @mkdir -p $(obj)include |
819 | @if [ "$(findstring rev2,$@)" ] ; then \ | 819 | @if [ "$(findstring rev2,$@)" ] ; then \ |
820 | echo "#define CONFIG_ADS5121_REV2 1" > $(obj)include/config.h; \ | 820 | echo "#define CONFIG_ADS5121_REV2 1" > $(obj)include/config.h; \ |
821 | fi | 821 | fi |
822 | @$(MKCONFIG) -a ads5121 ppc mpc512x ads5121 | 822 | @$(MKCONFIG) -a ads5121 ppc mpc512x ads5121 |
823 | 823 | ||
824 | 824 | ||
825 | ######################################################################### | 825 | ######################################################################### |
826 | ## MPC8xx Systems | 826 | ## MPC8xx Systems |
827 | ######################################################################### | 827 | ######################################################################### |
828 | 828 | ||
829 | Adder_config \ | 829 | Adder_config \ |
830 | Adder87x_config \ | 830 | Adder87x_config \ |
831 | AdderII_config \ | 831 | AdderII_config \ |
832 | : unconfig | 832 | : unconfig |
833 | @mkdir -p $(obj)include | 833 | @mkdir -p $(obj)include |
834 | $(if $(findstring AdderII,$@), \ | 834 | $(if $(findstring AdderII,$@), \ |
835 | @echo "#define CONFIG_MPC852T" > $(obj)include/config.h) | 835 | @echo "#define CONFIG_MPC852T" > $(obj)include/config.h) |
836 | @$(MKCONFIG) -a Adder ppc mpc8xx adder | 836 | @$(MKCONFIG) -a Adder ppc mpc8xx adder |
837 | 837 | ||
838 | AdderUSB_config: unconfig | 838 | AdderUSB_config: unconfig |
839 | @$(MKCONFIG) -a AdderUSB ppc mpc8xx adder | 839 | @$(MKCONFIG) -a AdderUSB ppc mpc8xx adder |
840 | 840 | ||
841 | ADS860_config \ | 841 | ADS860_config \ |
842 | FADS823_config \ | 842 | FADS823_config \ |
843 | FADS850SAR_config \ | 843 | FADS850SAR_config \ |
844 | MPC86xADS_config \ | 844 | MPC86xADS_config \ |
845 | MPC885ADS_config \ | 845 | MPC885ADS_config \ |
846 | FADS860T_config: unconfig | 846 | FADS860T_config: unconfig |
847 | @$(MKCONFIG) $(@:_config=) ppc mpc8xx fads | 847 | @$(MKCONFIG) $(@:_config=) ppc mpc8xx fads |
848 | 848 | ||
849 | AMX860_config : unconfig | 849 | AMX860_config : unconfig |
850 | @$(MKCONFIG) $(@:_config=) ppc mpc8xx amx860 westel | 850 | @$(MKCONFIG) $(@:_config=) ppc mpc8xx amx860 westel |
851 | 851 | ||
852 | c2mon_config: unconfig | 852 | c2mon_config: unconfig |
853 | @$(MKCONFIG) $(@:_config=) ppc mpc8xx c2mon | 853 | @$(MKCONFIG) $(@:_config=) ppc mpc8xx c2mon |
854 | 854 | ||
855 | CCM_config: unconfig | 855 | CCM_config: unconfig |
856 | @$(MKCONFIG) $(@:_config=) ppc mpc8xx CCM siemens | 856 | @$(MKCONFIG) $(@:_config=) ppc mpc8xx CCM siemens |
857 | 857 | ||
858 | cogent_mpc8xx_config: unconfig | 858 | cogent_mpc8xx_config: unconfig |
859 | @$(MKCONFIG) $(@:_config=) ppc mpc8xx cogent | 859 | @$(MKCONFIG) $(@:_config=) ppc mpc8xx cogent |
860 | 860 | ||
861 | ELPT860_config: unconfig | 861 | ELPT860_config: unconfig |
862 | @$(MKCONFIG) $(@:_config=) ppc mpc8xx elpt860 LEOX | 862 | @$(MKCONFIG) $(@:_config=) ppc mpc8xx elpt860 LEOX |
863 | 863 | ||
864 | EP88x_config: unconfig | 864 | EP88x_config: unconfig |
865 | @$(MKCONFIG) $(@:_config=) ppc mpc8xx ep88x | 865 | @$(MKCONFIG) $(@:_config=) ppc mpc8xx ep88x |
866 | 866 | ||
867 | ESTEEM192E_config: unconfig | 867 | ESTEEM192E_config: unconfig |
868 | @$(MKCONFIG) $(@:_config=) ppc mpc8xx esteem192e | 868 | @$(MKCONFIG) $(@:_config=) ppc mpc8xx esteem192e |
869 | 869 | ||
870 | ETX094_config : unconfig | 870 | ETX094_config : unconfig |
871 | @$(MKCONFIG) $(@:_config=) ppc mpc8xx etx094 | 871 | @$(MKCONFIG) $(@:_config=) ppc mpc8xx etx094 |
872 | 872 | ||
873 | FLAGADM_config: unconfig | 873 | FLAGADM_config: unconfig |
874 | @$(MKCONFIG) $(@:_config=) ppc mpc8xx flagadm | 874 | @$(MKCONFIG) $(@:_config=) ppc mpc8xx flagadm |
875 | 875 | ||
876 | xtract_GEN860T = $(subst _SC,,$(subst _config,,$1)) | 876 | xtract_GEN860T = $(subst _SC,,$(subst _config,,$1)) |
877 | 877 | ||
878 | GEN860T_SC_config \ | 878 | GEN860T_SC_config \ |
879 | GEN860T_config: unconfig | 879 | GEN860T_config: unconfig |
880 | @mkdir -p $(obj)include | 880 | @mkdir -p $(obj)include |
881 | @[ -z "$(findstring _SC,$@)" ] || \ | 881 | @[ -z "$(findstring _SC,$@)" ] || \ |
882 | { echo "#define CONFIG_SC" >>$(obj)include/config.h ; \ | 882 | { echo "#define CONFIG_SC" >>$(obj)include/config.h ; \ |
883 | $(XECHO) "With reduced H/W feature set (SC)..." ; \ | 883 | $(XECHO) "With reduced H/W feature set (SC)..." ; \ |
884 | } | 884 | } |
885 | @$(MKCONFIG) -a $(call xtract_GEN860T,$@) ppc mpc8xx gen860t | 885 | @$(MKCONFIG) -a $(call xtract_GEN860T,$@) ppc mpc8xx gen860t |
886 | 886 | ||
887 | GENIETV_config: unconfig | 887 | GENIETV_config: unconfig |
888 | @$(MKCONFIG) $(@:_config=) ppc mpc8xx genietv | 888 | @$(MKCONFIG) $(@:_config=) ppc mpc8xx genietv |
889 | 889 | ||
890 | GTH_config: unconfig | 890 | GTH_config: unconfig |
891 | @$(MKCONFIG) $(@:_config=) ppc mpc8xx gth | 891 | @$(MKCONFIG) $(@:_config=) ppc mpc8xx gth |
892 | 892 | ||
893 | hermes_config : unconfig | 893 | hermes_config : unconfig |
894 | @$(MKCONFIG) $(@:_config=) ppc mpc8xx hermes | 894 | @$(MKCONFIG) $(@:_config=) ppc mpc8xx hermes |
895 | 895 | ||
896 | HMI10_config : unconfig | 896 | HMI10_config : unconfig |
897 | @$(MKCONFIG) $(@:_config=) ppc mpc8xx tqm8xx tqc | 897 | @$(MKCONFIG) $(@:_config=) ppc mpc8xx tqm8xx tqc |
898 | 898 | ||
899 | IAD210_config: unconfig | 899 | IAD210_config: unconfig |
900 | @$(MKCONFIG) $(@:_config=) ppc mpc8xx IAD210 siemens | 900 | @$(MKCONFIG) $(@:_config=) ppc mpc8xx IAD210 siemens |
901 | 901 | ||
902 | xtract_ICU862 = $(subst _100MHz,,$(subst _config,,$1)) | 902 | xtract_ICU862 = $(subst _100MHz,,$(subst _config,,$1)) |
903 | 903 | ||
904 | ICU862_100MHz_config \ | 904 | ICU862_100MHz_config \ |
905 | ICU862_config: unconfig | 905 | ICU862_config: unconfig |
906 | @mkdir -p $(obj)include | 906 | @mkdir -p $(obj)include |
907 | @[ -z "$(findstring _100MHz,$@)" ] || \ | 907 | @[ -z "$(findstring _100MHz,$@)" ] || \ |
908 | { echo "#define CONFIG_100MHz" >>$(obj)include/config.h ; \ | 908 | { echo "#define CONFIG_100MHz" >>$(obj)include/config.h ; \ |
909 | $(XECHO) "... with 100MHz system clock" ; \ | 909 | $(XECHO) "... with 100MHz system clock" ; \ |
910 | } | 910 | } |
911 | @$(MKCONFIG) -a $(call xtract_ICU862,$@) ppc mpc8xx icu862 | 911 | @$(MKCONFIG) -a $(call xtract_ICU862,$@) ppc mpc8xx icu862 |
912 | 912 | ||
913 | IP860_config : unconfig | 913 | IP860_config : unconfig |
914 | @$(MKCONFIG) $(@:_config=) ppc mpc8xx ip860 | 914 | @$(MKCONFIG) $(@:_config=) ppc mpc8xx ip860 |
915 | 915 | ||
916 | IVML24_256_config \ | 916 | IVML24_256_config \ |
917 | IVML24_128_config \ | 917 | IVML24_128_config \ |
918 | IVML24_config: unconfig | 918 | IVML24_config: unconfig |
919 | @mkdir -p $(obj)include | 919 | @mkdir -p $(obj)include |
920 | @[ -z "$(findstring IVML24_config,$@)" ] || \ | 920 | @[ -z "$(findstring IVML24_config,$@)" ] || \ |
921 | { echo "#define CONFIG_IVML24_16M" >>$(obj)include/config.h ; \ | 921 | { echo "#define CONFIG_IVML24_16M" >>$(obj)include/config.h ; \ |
922 | } | 922 | } |
923 | @[ -z "$(findstring IVML24_128_config,$@)" ] || \ | 923 | @[ -z "$(findstring IVML24_128_config,$@)" ] || \ |
924 | { echo "#define CONFIG_IVML24_32M" >>$(obj)include/config.h ; \ | 924 | { echo "#define CONFIG_IVML24_32M" >>$(obj)include/config.h ; \ |
925 | } | 925 | } |
926 | @[ -z "$(findstring IVML24_256_config,$@)" ] || \ | 926 | @[ -z "$(findstring IVML24_256_config,$@)" ] || \ |
927 | { echo "#define CONFIG_IVML24_64M" >>$(obj)include/config.h ; \ | 927 | { echo "#define CONFIG_IVML24_64M" >>$(obj)include/config.h ; \ |
928 | } | 928 | } |
929 | @$(MKCONFIG) -a IVML24 ppc mpc8xx ivm | 929 | @$(MKCONFIG) -a IVML24 ppc mpc8xx ivm |
930 | 930 | ||
931 | IVMS8_256_config \ | 931 | IVMS8_256_config \ |
932 | IVMS8_128_config \ | 932 | IVMS8_128_config \ |
933 | IVMS8_config: unconfig | 933 | IVMS8_config: unconfig |
934 | @mkdir -p $(obj)include | 934 | @mkdir -p $(obj)include |
935 | @[ -z "$(findstring IVMS8_config,$@)" ] || \ | 935 | @[ -z "$(findstring IVMS8_config,$@)" ] || \ |
936 | { echo "#define CONFIG_IVMS8_16M" >>$(obj)include/config.h ; \ | 936 | { echo "#define CONFIG_IVMS8_16M" >>$(obj)include/config.h ; \ |
937 | } | 937 | } |
938 | @[ -z "$(findstring IVMS8_128_config,$@)" ] || \ | 938 | @[ -z "$(findstring IVMS8_128_config,$@)" ] || \ |
939 | { echo "#define CONFIG_IVMS8_32M" >>$(obj)include/config.h ; \ | 939 | { echo "#define CONFIG_IVMS8_32M" >>$(obj)include/config.h ; \ |
940 | } | 940 | } |
941 | @[ -z "$(findstring IVMS8_256_config,$@)" ] || \ | 941 | @[ -z "$(findstring IVMS8_256_config,$@)" ] || \ |
942 | { echo "#define CONFIG_IVMS8_64M" >>$(obj)include/config.h ; \ | 942 | { echo "#define CONFIG_IVMS8_64M" >>$(obj)include/config.h ; \ |
943 | } | 943 | } |
944 | @$(MKCONFIG) -a IVMS8 ppc mpc8xx ivm | 944 | @$(MKCONFIG) -a IVMS8 ppc mpc8xx ivm |
945 | 945 | ||
946 | kmsupx4_config: unconfig | 946 | kmsupx4_config: unconfig |
947 | @$(MKCONFIG) $(@:_config=) ppc mpc8xx km8xx keymile | 947 | @$(MKCONFIG) $(@:_config=) ppc mpc8xx km8xx keymile |
948 | 948 | ||
949 | KUP4K_config : unconfig | 949 | KUP4K_config : unconfig |
950 | @$(MKCONFIG) $(@:_config=) ppc mpc8xx kup4k kup | 950 | @$(MKCONFIG) $(@:_config=) ppc mpc8xx kup4k kup |
951 | 951 | ||
952 | KUP4X_config : unconfig | 952 | KUP4X_config : unconfig |
953 | @$(MKCONFIG) $(@:_config=) ppc mpc8xx kup4x kup | 953 | @$(MKCONFIG) $(@:_config=) ppc mpc8xx kup4x kup |
954 | 954 | ||
955 | LANTEC_config : unconfig | 955 | LANTEC_config : unconfig |
956 | @$(MKCONFIG) $(@:_config=) ppc mpc8xx lantec | 956 | @$(MKCONFIG) $(@:_config=) ppc mpc8xx lantec |
957 | 957 | ||
958 | lwmon_config: unconfig | 958 | lwmon_config: unconfig |
959 | @$(MKCONFIG) $(@:_config=) ppc mpc8xx lwmon | 959 | @$(MKCONFIG) $(@:_config=) ppc mpc8xx lwmon |
960 | 960 | ||
961 | MBX_config \ | 961 | MBX_config \ |
962 | MBX860T_config: unconfig | 962 | MBX860T_config: unconfig |
963 | @$(MKCONFIG) $(@:_config=) ppc mpc8xx mbx8xx | 963 | @$(MKCONFIG) $(@:_config=) ppc mpc8xx mbx8xx |
964 | 964 | ||
965 | mgsuvd_config: unconfig | 965 | mgsuvd_config: unconfig |
966 | @$(MKCONFIG) $(@:_config=) ppc mpc8xx km8xx keymile | 966 | @$(MKCONFIG) $(@:_config=) ppc mpc8xx km8xx keymile |
967 | 967 | ||
968 | MHPC_config: unconfig | 968 | MHPC_config: unconfig |
969 | @$(MKCONFIG) $(@:_config=) ppc mpc8xx mhpc eltec | 969 | @$(MKCONFIG) $(@:_config=) ppc mpc8xx mhpc eltec |
970 | 970 | ||
971 | xtract_NETVIA = $(subst _V2,,$(subst _config,,$1)) | 971 | xtract_NETVIA = $(subst _V2,,$(subst _config,,$1)) |
972 | 972 | ||
973 | NETVIA_V2_config \ | 973 | NETVIA_V2_config \ |
974 | NETVIA_config: unconfig | 974 | NETVIA_config: unconfig |
975 | @mkdir -p $(obj)include | 975 | @mkdir -p $(obj)include |
976 | @[ -z "$(findstring NETVIA_config,$@)" ] || \ | 976 | @[ -z "$(findstring NETVIA_config,$@)" ] || \ |
977 | { echo "#define CONFIG_NETVIA_VERSION 1" >>$(obj)include/config.h ; \ | 977 | { echo "#define CONFIG_NETVIA_VERSION 1" >>$(obj)include/config.h ; \ |
978 | $(XECHO) "... Version 1" ; \ | 978 | $(XECHO) "... Version 1" ; \ |
979 | } | 979 | } |
980 | @[ -z "$(findstring NETVIA_V2_config,$@)" ] || \ | 980 | @[ -z "$(findstring NETVIA_V2_config,$@)" ] || \ |
981 | { echo "#define CONFIG_NETVIA_VERSION 2" >>$(obj)include/config.h ; \ | 981 | { echo "#define CONFIG_NETVIA_VERSION 2" >>$(obj)include/config.h ; \ |
982 | $(XECHO) "... Version 2" ; \ | 982 | $(XECHO) "... Version 2" ; \ |
983 | } | 983 | } |
984 | @$(MKCONFIG) -a $(call xtract_NETVIA,$@) ppc mpc8xx netvia | 984 | @$(MKCONFIG) -a $(call xtract_NETVIA,$@) ppc mpc8xx netvia |
985 | 985 | ||
986 | xtract_NETPHONE = $(subst _V2,,$(subst _config,,$1)) | 986 | xtract_NETPHONE = $(subst _V2,,$(subst _config,,$1)) |
987 | 987 | ||
988 | NETPHONE_V2_config \ | 988 | NETPHONE_V2_config \ |
989 | NETPHONE_config: unconfig | 989 | NETPHONE_config: unconfig |
990 | @mkdir -p $(obj)include | 990 | @mkdir -p $(obj)include |
991 | @[ -z "$(findstring NETPHONE_config,$@)" ] || \ | 991 | @[ -z "$(findstring NETPHONE_config,$@)" ] || \ |
992 | { echo "#define CONFIG_NETPHONE_VERSION 1" >>$(obj)include/config.h ; \ | 992 | { echo "#define CONFIG_NETPHONE_VERSION 1" >>$(obj)include/config.h ; \ |
993 | } | 993 | } |
994 | @[ -z "$(findstring NETPHONE_V2_config,$@)" ] || \ | 994 | @[ -z "$(findstring NETPHONE_V2_config,$@)" ] || \ |
995 | { echo "#define CONFIG_NETPHONE_VERSION 2" >>$(obj)include/config.h ; \ | 995 | { echo "#define CONFIG_NETPHONE_VERSION 2" >>$(obj)include/config.h ; \ |
996 | } | 996 | } |
997 | @$(MKCONFIG) -a $(call xtract_NETPHONE,$@) ppc mpc8xx netphone | 997 | @$(MKCONFIG) -a $(call xtract_NETPHONE,$@) ppc mpc8xx netphone |
998 | 998 | ||
999 | xtract_NETTA = $(subst _SWAPHOOK,,$(subst _6412,,$(subst _ISDN,,$(subst _config,,$1)))) | 999 | xtract_NETTA = $(subst _SWAPHOOK,,$(subst _6412,,$(subst _ISDN,,$(subst _config,,$1)))) |
1000 | 1000 | ||
1001 | NETTA_ISDN_6412_SWAPHOOK_config \ | 1001 | NETTA_ISDN_6412_SWAPHOOK_config \ |
1002 | NETTA_ISDN_SWAPHOOK_config \ | 1002 | NETTA_ISDN_SWAPHOOK_config \ |
1003 | NETTA_6412_SWAPHOOK_config \ | 1003 | NETTA_6412_SWAPHOOK_config \ |
1004 | NETTA_SWAPHOOK_config \ | 1004 | NETTA_SWAPHOOK_config \ |
1005 | NETTA_ISDN_6412_config \ | 1005 | NETTA_ISDN_6412_config \ |
1006 | NETTA_ISDN_config \ | 1006 | NETTA_ISDN_config \ |
1007 | NETTA_6412_config \ | 1007 | NETTA_6412_config \ |
1008 | NETTA_config: unconfig | 1008 | NETTA_config: unconfig |
1009 | @mkdir -p $(obj)include | 1009 | @mkdir -p $(obj)include |
1010 | @[ -z "$(findstring ISDN_,$@)" ] || \ | 1010 | @[ -z "$(findstring ISDN_,$@)" ] || \ |
1011 | { echo "#define CONFIG_NETTA_ISDN 1" >>$(obj)include/config.h ; \ | 1011 | { echo "#define CONFIG_NETTA_ISDN 1" >>$(obj)include/config.h ; \ |
1012 | } | 1012 | } |
1013 | @[ -n "$(findstring ISDN_,$@)" ] || \ | 1013 | @[ -n "$(findstring ISDN_,$@)" ] || \ |
1014 | { echo "#undef CONFIG_NETTA_ISDN" >>$(obj)include/config.h ; \ | 1014 | { echo "#undef CONFIG_NETTA_ISDN" >>$(obj)include/config.h ; \ |
1015 | } | 1015 | } |
1016 | @[ -z "$(findstring 6412_,$@)" ] || \ | 1016 | @[ -z "$(findstring 6412_,$@)" ] || \ |
1017 | { echo "#define CONFIG_NETTA_6412 1" >>$(obj)include/config.h ; \ | 1017 | { echo "#define CONFIG_NETTA_6412 1" >>$(obj)include/config.h ; \ |
1018 | } | 1018 | } |
1019 | @[ -n "$(findstring 6412_,$@)" ] || \ | 1019 | @[ -n "$(findstring 6412_,$@)" ] || \ |
1020 | { echo "#undef CONFIG_NETTA_6412" >>$(obj)include/config.h ; \ | 1020 | { echo "#undef CONFIG_NETTA_6412" >>$(obj)include/config.h ; \ |
1021 | } | 1021 | } |
1022 | @[ -z "$(findstring SWAPHOOK_,$@)" ] || \ | 1022 | @[ -z "$(findstring SWAPHOOK_,$@)" ] || \ |
1023 | { echo "#define CONFIG_NETTA_SWAPHOOK 1" >>$(obj)include/config.h ; \ | 1023 | { echo "#define CONFIG_NETTA_SWAPHOOK 1" >>$(obj)include/config.h ; \ |
1024 | } | 1024 | } |
1025 | @[ -n "$(findstring SWAPHOOK_,$@)" ] || \ | 1025 | @[ -n "$(findstring SWAPHOOK_,$@)" ] || \ |
1026 | { echo "#undef CONFIG_NETTA_SWAPHOOK" >>$(obj)include/config.h ; \ | 1026 | { echo "#undef CONFIG_NETTA_SWAPHOOK" >>$(obj)include/config.h ; \ |
1027 | } | 1027 | } |
1028 | @$(MKCONFIG) -a $(call xtract_NETTA,$@) ppc mpc8xx netta | 1028 | @$(MKCONFIG) -a $(call xtract_NETTA,$@) ppc mpc8xx netta |
1029 | 1029 | ||
1030 | xtract_NETTA2 = $(subst _V2,,$(subst _config,,$1)) | 1030 | xtract_NETTA2 = $(subst _V2,,$(subst _config,,$1)) |
1031 | 1031 | ||
1032 | NETTA2_V2_config \ | 1032 | NETTA2_V2_config \ |
1033 | NETTA2_config: unconfig | 1033 | NETTA2_config: unconfig |
1034 | @mkdir -p $(obj)include | 1034 | @mkdir -p $(obj)include |
1035 | @[ -z "$(findstring NETTA2_config,$@)" ] || \ | 1035 | @[ -z "$(findstring NETTA2_config,$@)" ] || \ |
1036 | { echo "#define CONFIG_NETTA2_VERSION 1" >>$(obj)include/config.h ; \ | 1036 | { echo "#define CONFIG_NETTA2_VERSION 1" >>$(obj)include/config.h ; \ |
1037 | } | 1037 | } |
1038 | @[ -z "$(findstring NETTA2_V2_config,$@)" ] || \ | 1038 | @[ -z "$(findstring NETTA2_V2_config,$@)" ] || \ |
1039 | { echo "#define CONFIG_NETTA2_VERSION 2" >>$(obj)include/config.h ; \ | 1039 | { echo "#define CONFIG_NETTA2_VERSION 2" >>$(obj)include/config.h ; \ |
1040 | } | 1040 | } |
1041 | @$(MKCONFIG) -a $(call xtract_NETTA2,$@) ppc mpc8xx netta2 | 1041 | @$(MKCONFIG) -a $(call xtract_NETTA2,$@) ppc mpc8xx netta2 |
1042 | 1042 | ||
1043 | NC650_Rev1_config \ | 1043 | NC650_Rev1_config \ |
1044 | NC650_Rev2_config \ | 1044 | NC650_Rev2_config \ |
1045 | CP850_config: unconfig | 1045 | CP850_config: unconfig |
1046 | @mkdir -p $(obj)include | 1046 | @mkdir -p $(obj)include |
1047 | @[ -z "$(findstring CP850,$@)" ] || \ | 1047 | @[ -z "$(findstring CP850,$@)" ] || \ |
1048 | { echo "#define CONFIG_CP850 1" >>$(obj)include/config.h ; \ | 1048 | { echo "#define CONFIG_CP850 1" >>$(obj)include/config.h ; \ |
1049 | echo "#define CONFIG_IDS852_REV2 1" >>$(obj)include/config.h ; \ | 1049 | echo "#define CONFIG_IDS852_REV2 1" >>$(obj)include/config.h ; \ |
1050 | } | 1050 | } |
1051 | @[ -z "$(findstring Rev1,$@)" ] || \ | 1051 | @[ -z "$(findstring Rev1,$@)" ] || \ |
1052 | { echo "#define CONFIG_IDS852_REV1 1" >>$(obj)include/config.h ; \ | 1052 | { echo "#define CONFIG_IDS852_REV1 1" >>$(obj)include/config.h ; \ |
1053 | } | 1053 | } |
1054 | @[ -z "$(findstring Rev2,$@)" ] || \ | 1054 | @[ -z "$(findstring Rev2,$@)" ] || \ |
1055 | { echo "#define CONFIG_IDS852_REV2 1" >>$(obj)include/config.h ; \ | 1055 | { echo "#define CONFIG_IDS852_REV2 1" >>$(obj)include/config.h ; \ |
1056 | } | 1056 | } |
1057 | @$(MKCONFIG) -a NC650 ppc mpc8xx nc650 | 1057 | @$(MKCONFIG) -a NC650 ppc mpc8xx nc650 |
1058 | 1058 | ||
1059 | NX823_config: unconfig | 1059 | NX823_config: unconfig |
1060 | @$(MKCONFIG) $(@:_config=) ppc mpc8xx nx823 | 1060 | @$(MKCONFIG) $(@:_config=) ppc mpc8xx nx823 |
1061 | 1061 | ||
1062 | pcu_e_config: unconfig | 1062 | pcu_e_config: unconfig |
1063 | @$(MKCONFIG) $(@:_config=) ppc mpc8xx pcu_e siemens | 1063 | @$(MKCONFIG) $(@:_config=) ppc mpc8xx pcu_e siemens |
1064 | 1064 | ||
1065 | QS850_config: unconfig | 1065 | QS850_config: unconfig |
1066 | @$(MKCONFIG) $(@:_config=) ppc mpc8xx qs850 snmc | 1066 | @$(MKCONFIG) $(@:_config=) ppc mpc8xx qs850 snmc |
1067 | 1067 | ||
1068 | QS823_config: unconfig | 1068 | QS823_config: unconfig |
1069 | @$(MKCONFIG) $(@:_config=) ppc mpc8xx qs850 snmc | 1069 | @$(MKCONFIG) $(@:_config=) ppc mpc8xx qs850 snmc |
1070 | 1070 | ||
1071 | QS860T_config: unconfig | 1071 | QS860T_config: unconfig |
1072 | @$(MKCONFIG) $(@:_config=) ppc mpc8xx qs860t snmc | 1072 | @$(MKCONFIG) $(@:_config=) ppc mpc8xx qs860t snmc |
1073 | 1073 | ||
1074 | quantum_config: unconfig | 1074 | quantum_config: unconfig |
1075 | @$(MKCONFIG) $(@:_config=) ppc mpc8xx quantum | 1075 | @$(MKCONFIG) $(@:_config=) ppc mpc8xx quantum |
1076 | 1076 | ||
1077 | R360MPI_config: unconfig | 1077 | R360MPI_config: unconfig |
1078 | @$(MKCONFIG) $(@:_config=) ppc mpc8xx r360mpi | 1078 | @$(MKCONFIG) $(@:_config=) ppc mpc8xx r360mpi |
1079 | 1079 | ||
1080 | RBC823_config: unconfig | 1080 | RBC823_config: unconfig |
1081 | @$(MKCONFIG) $(@:_config=) ppc mpc8xx rbc823 | 1081 | @$(MKCONFIG) $(@:_config=) ppc mpc8xx rbc823 |
1082 | 1082 | ||
1083 | RPXClassic_config: unconfig | 1083 | RPXClassic_config: unconfig |
1084 | @$(MKCONFIG) $(@:_config=) ppc mpc8xx RPXClassic | 1084 | @$(MKCONFIG) $(@:_config=) ppc mpc8xx RPXClassic |
1085 | 1085 | ||
1086 | RPXlite_config: unconfig | 1086 | RPXlite_config: unconfig |
1087 | @$(MKCONFIG) $(@:_config=) ppc mpc8xx RPXlite | 1087 | @$(MKCONFIG) $(@:_config=) ppc mpc8xx RPXlite |
1088 | 1088 | ||
1089 | RPXlite_DW_64_config \ | 1089 | RPXlite_DW_64_config \ |
1090 | RPXlite_DW_LCD_config \ | 1090 | RPXlite_DW_LCD_config \ |
1091 | RPXlite_DW_64_LCD_config \ | 1091 | RPXlite_DW_64_LCD_config \ |
1092 | RPXlite_DW_NVRAM_config \ | 1092 | RPXlite_DW_NVRAM_config \ |
1093 | RPXlite_DW_NVRAM_64_config \ | 1093 | RPXlite_DW_NVRAM_64_config \ |
1094 | RPXlite_DW_NVRAM_LCD_config \ | 1094 | RPXlite_DW_NVRAM_LCD_config \ |
1095 | RPXlite_DW_NVRAM_64_LCD_config \ | 1095 | RPXlite_DW_NVRAM_64_LCD_config \ |
1096 | RPXlite_DW_config: unconfig | 1096 | RPXlite_DW_config: unconfig |
1097 | @mkdir -p $(obj)include | 1097 | @mkdir -p $(obj)include |
1098 | @[ -z "$(findstring _64,$@)" ] || \ | 1098 | @[ -z "$(findstring _64,$@)" ] || \ |
1099 | { echo "#define RPXlite_64MHz" >>$(obj)include/config.h ; \ | 1099 | { echo "#define RPXlite_64MHz" >>$(obj)include/config.h ; \ |
1100 | $(XECHO) "... with 64MHz system clock ..."; \ | 1100 | $(XECHO) "... with 64MHz system clock ..."; \ |
1101 | } | 1101 | } |
1102 | @[ -z "$(findstring _LCD,$@)" ] || \ | 1102 | @[ -z "$(findstring _LCD,$@)" ] || \ |
1103 | { echo "#define CONFIG_LCD" >>$(obj)include/config.h ; \ | 1103 | { echo "#define CONFIG_LCD" >>$(obj)include/config.h ; \ |
1104 | echo "#define CONFIG_NEC_NL6448BC20" >>$(obj)include/config.h ; \ | 1104 | echo "#define CONFIG_NEC_NL6448BC20" >>$(obj)include/config.h ; \ |
1105 | $(XECHO) "... with LCD display ..."; \ | 1105 | $(XECHO) "... with LCD display ..."; \ |
1106 | } | 1106 | } |
1107 | @[ -z "$(findstring _NVRAM,$@)" ] || \ | 1107 | @[ -z "$(findstring _NVRAM,$@)" ] || \ |
1108 | { echo "#define CONFIG_ENV_IS_IN_NVRAM" >>$(obj)include/config.h ; \ | 1108 | { echo "#define CONFIG_ENV_IS_IN_NVRAM" >>$(obj)include/config.h ; \ |
1109 | $(XECHO) "... with ENV in NVRAM ..."; \ | 1109 | $(XECHO) "... with ENV in NVRAM ..."; \ |
1110 | } | 1110 | } |
1111 | @$(MKCONFIG) -a RPXlite_DW ppc mpc8xx RPXlite_dw | 1111 | @$(MKCONFIG) -a RPXlite_DW ppc mpc8xx RPXlite_dw |
1112 | 1112 | ||
1113 | rmu_config: unconfig | 1113 | rmu_config: unconfig |
1114 | @$(MKCONFIG) $(@:_config=) ppc mpc8xx rmu | 1114 | @$(MKCONFIG) $(@:_config=) ppc mpc8xx rmu |
1115 | 1115 | ||
1116 | RRvision_config: unconfig | 1116 | RRvision_config: unconfig |
1117 | @$(MKCONFIG) $(@:_config=) ppc mpc8xx RRvision | 1117 | @$(MKCONFIG) $(@:_config=) ppc mpc8xx RRvision |
1118 | 1118 | ||
1119 | RRvision_LCD_config: unconfig | 1119 | RRvision_LCD_config: unconfig |
1120 | @mkdir -p $(obj)include | 1120 | @mkdir -p $(obj)include |
1121 | @echo "#define CONFIG_LCD" >$(obj)include/config.h | 1121 | @echo "#define CONFIG_LCD" >$(obj)include/config.h |
1122 | @echo "#define CONFIG_SHARP_LQ104V7DS01" >>$(obj)include/config.h | 1122 | @echo "#define CONFIG_SHARP_LQ104V7DS01" >>$(obj)include/config.h |
1123 | @$(MKCONFIG) -a RRvision ppc mpc8xx RRvision | 1123 | @$(MKCONFIG) -a RRvision ppc mpc8xx RRvision |
1124 | 1124 | ||
1125 | SM850_config : unconfig | 1125 | SM850_config : unconfig |
1126 | @$(MKCONFIG) $(@:_config=) ppc mpc8xx tqm8xx tqc | 1126 | @$(MKCONFIG) $(@:_config=) ppc mpc8xx tqm8xx tqc |
1127 | 1127 | ||
1128 | spc1920_config: unconfig | 1128 | spc1920_config: unconfig |
1129 | @$(MKCONFIG) $(@:_config=) ppc mpc8xx spc1920 | 1129 | @$(MKCONFIG) $(@:_config=) ppc mpc8xx spc1920 |
1130 | 1130 | ||
1131 | SPD823TS_config: unconfig | 1131 | SPD823TS_config: unconfig |
1132 | @$(MKCONFIG) $(@:_config=) ppc mpc8xx spd8xx | 1132 | @$(MKCONFIG) $(@:_config=) ppc mpc8xx spd8xx |
1133 | 1133 | ||
1134 | stxxtc_config: unconfig | 1134 | stxxtc_config: unconfig |
1135 | @$(MKCONFIG) $(@:_config=) ppc mpc8xx stxxtc | 1135 | @$(MKCONFIG) $(@:_config=) ppc mpc8xx stxxtc |
1136 | 1136 | ||
1137 | svm_sc8xx_config: unconfig | 1137 | svm_sc8xx_config: unconfig |
1138 | @$(MKCONFIG) $(@:_config=) ppc mpc8xx svm_sc8xx | 1138 | @$(MKCONFIG) $(@:_config=) ppc mpc8xx svm_sc8xx |
1139 | 1139 | ||
1140 | SXNI855T_config: unconfig | 1140 | SXNI855T_config: unconfig |
1141 | @$(MKCONFIG) $(@:_config=) ppc mpc8xx sixnet | 1141 | @$(MKCONFIG) $(@:_config=) ppc mpc8xx sixnet |
1142 | 1142 | ||
1143 | # EMK MPC8xx based modules | 1143 | # EMK MPC8xx based modules |
1144 | TOP860_config: unconfig | 1144 | TOP860_config: unconfig |
1145 | @$(MKCONFIG) $(@:_config=) ppc mpc8xx top860 emk | 1145 | @$(MKCONFIG) $(@:_config=) ppc mpc8xx top860 emk |
1146 | 1146 | ||
1147 | # Play some tricks for configuration selection | 1147 | # Play some tricks for configuration selection |
1148 | # Only 855 and 860 boards may come with FEC | 1148 | # Only 855 and 860 boards may come with FEC |
1149 | # and only 823 boards may have LCD support | 1149 | # and only 823 boards may have LCD support |
1150 | xtract_8xx = $(subst _LCD,,$(subst _config,,$1)) | 1150 | xtract_8xx = $(subst _LCD,,$(subst _config,,$1)) |
1151 | 1151 | ||
1152 | FPS850L_config \ | 1152 | FPS850L_config \ |
1153 | FPS860L_config \ | 1153 | FPS860L_config \ |
1154 | NSCU_config \ | 1154 | NSCU_config \ |
1155 | TQM823L_config \ | 1155 | TQM823L_config \ |
1156 | TQM823L_LCD_config \ | 1156 | TQM823L_LCD_config \ |
1157 | TQM850L_config \ | 1157 | TQM850L_config \ |
1158 | TQM855L_config \ | 1158 | TQM855L_config \ |
1159 | TQM860L_config \ | 1159 | TQM860L_config \ |
1160 | TQM862L_config \ | 1160 | TQM862L_config \ |
1161 | TQM823M_config \ | 1161 | TQM823M_config \ |
1162 | TQM850M_config \ | 1162 | TQM850M_config \ |
1163 | TQM855M_config \ | 1163 | TQM855M_config \ |
1164 | TQM860M_config \ | 1164 | TQM860M_config \ |
1165 | TQM862M_config \ | 1165 | TQM862M_config \ |
1166 | TQM866M_config \ | 1166 | TQM866M_config \ |
1167 | TQM885D_config \ | 1167 | TQM885D_config \ |
1168 | TK885D_config \ | 1168 | TK885D_config \ |
1169 | virtlab2_config: unconfig | 1169 | virtlab2_config: unconfig |
1170 | @mkdir -p $(obj)include | 1170 | @mkdir -p $(obj)include |
1171 | @[ -z "$(findstring _LCD,$@)" ] || \ | 1171 | @[ -z "$(findstring _LCD,$@)" ] || \ |
1172 | { echo "#define CONFIG_LCD" >>$(obj)include/config.h ; \ | 1172 | { echo "#define CONFIG_LCD" >>$(obj)include/config.h ; \ |
1173 | echo "#define CONFIG_NEC_NL6448BC20" >>$(obj)include/config.h ; \ | 1173 | echo "#define CONFIG_NEC_NL6448BC20" >>$(obj)include/config.h ; \ |
1174 | $(XECHO) "... with LCD display" ; \ | 1174 | $(XECHO) "... with LCD display" ; \ |
1175 | } | 1175 | } |
1176 | @$(MKCONFIG) -a $(call xtract_8xx,$@) ppc mpc8xx tqm8xx tqc | 1176 | @$(MKCONFIG) -a $(call xtract_8xx,$@) ppc mpc8xx tqm8xx tqc |
1177 | 1177 | ||
1178 | TTTech_config: unconfig | 1178 | TTTech_config: unconfig |
1179 | @mkdir -p $(obj)include | 1179 | @mkdir -p $(obj)include |
1180 | @echo "#define CONFIG_LCD" >$(obj)include/config.h | 1180 | @echo "#define CONFIG_LCD" >$(obj)include/config.h |
1181 | @echo "#define CONFIG_SHARP_LQ104V7DS01" >>$(obj)include/config.h | 1181 | @echo "#define CONFIG_SHARP_LQ104V7DS01" >>$(obj)include/config.h |
1182 | @$(MKCONFIG) -a TQM823L ppc mpc8xx tqm8xx tqc | 1182 | @$(MKCONFIG) -a TQM823L ppc mpc8xx tqm8xx tqc |
1183 | 1183 | ||
1184 | uc100_config : unconfig | 1184 | uc100_config : unconfig |
1185 | @$(MKCONFIG) $(@:_config=) ppc mpc8xx uc100 | 1185 | @$(MKCONFIG) $(@:_config=) ppc mpc8xx uc100 |
1186 | 1186 | ||
1187 | v37_config: unconfig | 1187 | v37_config: unconfig |
1188 | @mkdir -p $(obj)include | 1188 | @mkdir -p $(obj)include |
1189 | @echo "#define CONFIG_LCD" >$(obj)include/config.h | 1189 | @echo "#define CONFIG_LCD" >$(obj)include/config.h |
1190 | @echo "#define CONFIG_SHARP_LQ084V1DG21" >>$(obj)include/config.h | 1190 | @echo "#define CONFIG_SHARP_LQ084V1DG21" >>$(obj)include/config.h |
1191 | @$(MKCONFIG) $(@:_config=) ppc mpc8xx v37 | 1191 | @$(MKCONFIG) $(@:_config=) ppc mpc8xx v37 |
1192 | 1192 | ||
1193 | wtk_config: unconfig | 1193 | wtk_config: unconfig |
1194 | @mkdir -p $(obj)include | 1194 | @mkdir -p $(obj)include |
1195 | @echo "#define CONFIG_LCD" >$(obj)include/config.h | 1195 | @echo "#define CONFIG_LCD" >$(obj)include/config.h |
1196 | @echo "#define CONFIG_SHARP_LQ065T9DR51U" >>$(obj)include/config.h | 1196 | @echo "#define CONFIG_SHARP_LQ065T9DR51U" >>$(obj)include/config.h |
1197 | @$(MKCONFIG) -a TQM823L ppc mpc8xx tqm8xx tqc | 1197 | @$(MKCONFIG) -a TQM823L ppc mpc8xx tqm8xx tqc |
1198 | 1198 | ||
1199 | ######################################################################### | 1199 | ######################################################################### |
1200 | ## PPC4xx Systems | 1200 | ## PPC4xx Systems |
1201 | ######################################################################### | 1201 | ######################################################################### |
1202 | xtract_4xx = $(subst _25,,$(subst _33,,$(subst _BA,,$(subst _ME,,$(subst _HI,,$(subst _config,,$1)))))) | 1202 | xtract_4xx = $(subst _25,,$(subst _33,,$(subst _BA,,$(subst _ME,,$(subst _HI,,$(subst _config,,$1)))))) |
1203 | 1203 | ||
1204 | acadia_config: unconfig | 1204 | acadia_config: unconfig |
1205 | @$(MKCONFIG) $(@:_config=) ppc ppc4xx acadia amcc | 1205 | @$(MKCONFIG) $(@:_config=) ppc ppc4xx acadia amcc |
1206 | 1206 | ||
1207 | acadia_nand_config: unconfig | 1207 | acadia_nand_config: unconfig |
1208 | @mkdir -p $(obj)include $(obj)board/amcc/acadia | 1208 | @mkdir -p $(obj)include $(obj)board/amcc/acadia |
1209 | @mkdir -p $(obj)nand_spl/board/amcc/acadia | 1209 | @mkdir -p $(obj)nand_spl/board/amcc/acadia |
1210 | @echo "#define CONFIG_NAND_U_BOOT" > $(obj)include/config.h | 1210 | @echo "#define CONFIG_NAND_U_BOOT" > $(obj)include/config.h |
1211 | @$(MKCONFIG) -n $@ -a acadia ppc ppc4xx acadia amcc | 1211 | @$(MKCONFIG) -n $@ -a acadia ppc ppc4xx acadia amcc |
1212 | @echo "TEXT_BASE = 0x01000000" > $(obj)board/amcc/acadia/config.tmp | 1212 | @echo "TEXT_BASE = 0x01000000" > $(obj)board/amcc/acadia/config.tmp |
1213 | @echo "CONFIG_NAND_U_BOOT = y" >> $(obj)include/config.mk | 1213 | @echo "CONFIG_NAND_U_BOOT = y" >> $(obj)include/config.mk |
1214 | 1214 | ||
1215 | ADCIOP_config: unconfig | 1215 | ADCIOP_config: unconfig |
1216 | @$(MKCONFIG) $(@:_config=) ppc ppc4xx adciop esd | 1216 | @$(MKCONFIG) $(@:_config=) ppc ppc4xx adciop esd |
1217 | 1217 | ||
1218 | alpr_config: unconfig | 1218 | alpr_config: unconfig |
1219 | @$(MKCONFIG) $(@:_config=) ppc ppc4xx alpr prodrive | 1219 | @$(MKCONFIG) $(@:_config=) ppc ppc4xx alpr prodrive |
1220 | 1220 | ||
1221 | AP1000_config:unconfig | 1221 | AP1000_config:unconfig |
1222 | @$(MKCONFIG) $(@:_config=) ppc ppc4xx ap1000 amirix | 1222 | @$(MKCONFIG) $(@:_config=) ppc ppc4xx ap1000 amirix |
1223 | 1223 | ||
1224 | APC405_config: unconfig | 1224 | APC405_config: unconfig |
1225 | @$(MKCONFIG) $(@:_config=) ppc ppc4xx apc405 esd | 1225 | @$(MKCONFIG) $(@:_config=) ppc ppc4xx apc405 esd |
1226 | 1226 | ||
1227 | AR405_config: unconfig | 1227 | AR405_config: unconfig |
1228 | @$(MKCONFIG) $(@:_config=) ppc ppc4xx ar405 esd | 1228 | @$(MKCONFIG) $(@:_config=) ppc ppc4xx ar405 esd |
1229 | 1229 | ||
1230 | ASH405_config: unconfig | 1230 | ASH405_config: unconfig |
1231 | @$(MKCONFIG) $(@:_config=) ppc ppc4xx ash405 esd | 1231 | @$(MKCONFIG) $(@:_config=) ppc ppc4xx ash405 esd |
1232 | 1232 | ||
1233 | bamboo_config: unconfig | 1233 | bamboo_config: unconfig |
1234 | @$(MKCONFIG) $(@:_config=) ppc ppc4xx bamboo amcc | 1234 | @$(MKCONFIG) $(@:_config=) ppc ppc4xx bamboo amcc |
1235 | 1235 | ||
1236 | bamboo_nand_config: unconfig | 1236 | bamboo_nand_config: unconfig |
1237 | @mkdir -p $(obj)include $(obj)board/amcc/bamboo | 1237 | @mkdir -p $(obj)include $(obj)board/amcc/bamboo |
1238 | @mkdir -p $(obj)nand_spl/board/amcc/bamboo | 1238 | @mkdir -p $(obj)nand_spl/board/amcc/bamboo |
1239 | @echo "#define CONFIG_NAND_U_BOOT" > $(obj)include/config.h | 1239 | @echo "#define CONFIG_NAND_U_BOOT" > $(obj)include/config.h |
1240 | @$(MKCONFIG) -n $@ -a bamboo ppc ppc4xx bamboo amcc | 1240 | @$(MKCONFIG) -n $@ -a bamboo ppc ppc4xx bamboo amcc |
1241 | @echo "TEXT_BASE = 0x01000000" > $(obj)board/amcc/bamboo/config.tmp | 1241 | @echo "TEXT_BASE = 0x01000000" > $(obj)board/amcc/bamboo/config.tmp |
1242 | @echo "CONFIG_NAND_U_BOOT = y" >> $(obj)include/config.mk | 1242 | @echo "CONFIG_NAND_U_BOOT = y" >> $(obj)include/config.mk |
1243 | 1243 | ||
1244 | bubinga_config: unconfig | 1244 | bubinga_config: unconfig |
1245 | @$(MKCONFIG) $(@:_config=) ppc ppc4xx bubinga amcc | 1245 | @$(MKCONFIG) $(@:_config=) ppc ppc4xx bubinga amcc |
1246 | 1246 | ||
1247 | CANBT_config: unconfig | 1247 | CANBT_config: unconfig |
1248 | @$(MKCONFIG) $(@:_config=) ppc ppc4xx canbt esd | 1248 | @$(MKCONFIG) $(@:_config=) ppc ppc4xx canbt esd |
1249 | 1249 | ||
1250 | # Arches, Canyonlands & Glacier use different U-Boot images | 1250 | # Arches, Canyonlands & Glacier use different U-Boot images |
1251 | arches_config \ | 1251 | arches_config \ |
1252 | canyonlands_config \ | 1252 | canyonlands_config \ |
1253 | glacier_config: unconfig | 1253 | glacier_config: unconfig |
1254 | @mkdir -p $(obj)include | 1254 | @mkdir -p $(obj)include |
1255 | @echo "#define CONFIG_$$(echo $(subst ,,$(@:_config=)) | \ | 1255 | @echo "#define CONFIG_$$(echo $(subst ,,$(@:_config=)) | \ |
1256 | tr '[:lower:]' '[:upper:]')" >$(obj)include/config.h | 1256 | tr '[:lower:]' '[:upper:]')" >$(obj)include/config.h |
1257 | @$(MKCONFIG) -n $@ -a canyonlands ppc ppc4xx canyonlands amcc | 1257 | @$(MKCONFIG) -n $@ -a canyonlands ppc ppc4xx canyonlands amcc |
1258 | 1258 | ||
1259 | canyonlands_nand_config \ | 1259 | canyonlands_nand_config \ |
1260 | glacier_nand_config: unconfig | 1260 | glacier_nand_config: unconfig |
1261 | @mkdir -p $(obj)include $(obj)board/amcc/canyonlands | 1261 | @mkdir -p $(obj)include $(obj)board/amcc/canyonlands |
1262 | @mkdir -p $(obj)nand_spl/board/amcc/canyonlands | 1262 | @mkdir -p $(obj)nand_spl/board/amcc/canyonlands |
1263 | @echo "#define CONFIG_NAND_U_BOOT" > $(obj)include/config.h | 1263 | @echo "#define CONFIG_NAND_U_BOOT" > $(obj)include/config.h |
1264 | @echo "#define CONFIG_$$(echo $(subst ,,$(@:_nand_config=)) | \ | 1264 | @echo "#define CONFIG_$$(echo $(subst ,,$(@:_nand_config=)) | \ |
1265 | tr '[:lower:]' '[:upper:]')" >> $(obj)include/config.h | 1265 | tr '[:lower:]' '[:upper:]')" >> $(obj)include/config.h |
1266 | @$(MKCONFIG) -n $@ -a canyonlands ppc ppc4xx canyonlands amcc | 1266 | @$(MKCONFIG) -n $@ -a canyonlands ppc ppc4xx canyonlands amcc |
1267 | @echo "TEXT_BASE = 0x01000000" > $(obj)board/amcc/canyonlands/config.tmp | 1267 | @echo "TEXT_BASE = 0x01000000" > $(obj)board/amcc/canyonlands/config.tmp |
1268 | @echo "CONFIG_NAND_U_BOOT = y" >> $(obj)include/config.mk | 1268 | @echo "CONFIG_NAND_U_BOOT = y" >> $(obj)include/config.mk |
1269 | 1269 | ||
1270 | CATcenter_config \ | 1270 | CATcenter_config \ |
1271 | CATcenter_25_config \ | 1271 | CATcenter_25_config \ |
1272 | CATcenter_33_config: unconfig | 1272 | CATcenter_33_config: unconfig |
1273 | @mkdir -p $(obj)include | 1273 | @mkdir -p $(obj)include |
1274 | @ echo "/* CATcenter uses PPChameleon Model ME */" > $(obj)include/config.h | 1274 | @ echo "/* CATcenter uses PPChameleon Model ME */" > $(obj)include/config.h |
1275 | @ echo "#define CONFIG_PPCHAMELEON_MODULE_MODEL 1" >> $(obj)include/config.h | 1275 | @ echo "#define CONFIG_PPCHAMELEON_MODULE_MODEL 1" >> $(obj)include/config.h |
1276 | @[ -z "$(findstring _25,$@)" ] || \ | 1276 | @[ -z "$(findstring _25,$@)" ] || \ |
1277 | { echo "#define CONFIG_PPCHAMELEON_CLK_25" >> $(obj)include/config.h ; \ | 1277 | { echo "#define CONFIG_PPCHAMELEON_CLK_25" >> $(obj)include/config.h ; \ |
1278 | $(XECHO) "SysClk = 25MHz" ; \ | 1278 | $(XECHO) "SysClk = 25MHz" ; \ |
1279 | } | 1279 | } |
1280 | @[ -z "$(findstring _33,$@)" ] || \ | 1280 | @[ -z "$(findstring _33,$@)" ] || \ |
1281 | { echo "#define CONFIG_PPCHAMELEON_CLK_33" >> $(obj)include/config.h ; \ | 1281 | { echo "#define CONFIG_PPCHAMELEON_CLK_33" >> $(obj)include/config.h ; \ |
1282 | $(XECHO) "SysClk = 33MHz" ; \ | 1282 | $(XECHO) "SysClk = 33MHz" ; \ |
1283 | } | 1283 | } |
1284 | @$(MKCONFIG) -a $(call xtract_4xx,$@) ppc ppc4xx PPChameleonEVB dave | 1284 | @$(MKCONFIG) -a $(call xtract_4xx,$@) ppc ppc4xx PPChameleonEVB dave |
1285 | 1285 | ||
1286 | CMS700_config: unconfig | 1286 | CMS700_config: unconfig |
1287 | @$(MKCONFIG) $(@:_config=) ppc ppc4xx cms700 esd | 1287 | @$(MKCONFIG) $(@:_config=) ppc ppc4xx cms700 esd |
1288 | 1288 | ||
1289 | CPCI2DP_config: unconfig | 1289 | CPCI2DP_config: unconfig |
1290 | @$(MKCONFIG) $(@:_config=) ppc ppc4xx cpci2dp esd | 1290 | @$(MKCONFIG) $(@:_config=) ppc ppc4xx cpci2dp esd |
1291 | 1291 | ||
1292 | CPCI405_config \ | 1292 | CPCI405_config \ |
1293 | CPCI4052_config \ | 1293 | CPCI4052_config \ |
1294 | CPCI405DT_config \ | 1294 | CPCI405DT_config \ |
1295 | CPCI405AB_config: unconfig | 1295 | CPCI405AB_config: unconfig |
1296 | @mkdir -p $(obj)board/esd/cpci405 | 1296 | @mkdir -p $(obj)board/esd/cpci405 |
1297 | @$(MKCONFIG) $(@:_config=) ppc ppc4xx cpci405 esd | 1297 | @$(MKCONFIG) $(@:_config=) ppc ppc4xx cpci405 esd |
1298 | 1298 | ||
1299 | CPCIISER4_config: unconfig | 1299 | CPCIISER4_config: unconfig |
1300 | @$(MKCONFIG) $(@:_config=) ppc ppc4xx cpciiser4 esd | 1300 | @$(MKCONFIG) $(@:_config=) ppc ppc4xx cpciiser4 esd |
1301 | 1301 | ||
1302 | CRAYL1_config: unconfig | 1302 | CRAYL1_config: unconfig |
1303 | @$(MKCONFIG) $(@:_config=) ppc ppc4xx L1 cray | 1303 | @$(MKCONFIG) $(@:_config=) ppc ppc4xx L1 cray |
1304 | 1304 | ||
1305 | csb272_config: unconfig | 1305 | csb272_config: unconfig |
1306 | @$(MKCONFIG) $(@:_config=) ppc ppc4xx csb272 | 1306 | @$(MKCONFIG) $(@:_config=) ppc ppc4xx csb272 |
1307 | 1307 | ||
1308 | csb472_config: unconfig | 1308 | csb472_config: unconfig |
1309 | @$(MKCONFIG) $(@:_config=) ppc ppc4xx csb472 | 1309 | @$(MKCONFIG) $(@:_config=) ppc ppc4xx csb472 |
1310 | 1310 | ||
1311 | DASA_SIM_config: unconfig | 1311 | DASA_SIM_config: unconfig |
1312 | @$(MKCONFIG) $(@:_config=) ppc ppc4xx dasa_sim esd | 1312 | @$(MKCONFIG) $(@:_config=) ppc ppc4xx dasa_sim esd |
1313 | 1313 | ||
1314 | DP405_config: unconfig | 1314 | DP405_config: unconfig |
1315 | @$(MKCONFIG) $(@:_config=) ppc ppc4xx dp405 esd | 1315 | @$(MKCONFIG) $(@:_config=) ppc ppc4xx dp405 esd |
1316 | 1316 | ||
1317 | DU405_config: unconfig | 1317 | DU405_config: unconfig |
1318 | @$(MKCONFIG) $(@:_config=) ppc ppc4xx du405 esd | 1318 | @$(MKCONFIG) $(@:_config=) ppc ppc4xx du405 esd |
1319 | 1319 | ||
1320 | DU440_config: unconfig | 1320 | DU440_config: unconfig |
1321 | @$(MKCONFIG) $(@:_config=) ppc ppc4xx du440 esd | 1321 | @$(MKCONFIG) $(@:_config=) ppc ppc4xx du440 esd |
1322 | 1322 | ||
1323 | ebony_config: unconfig | 1323 | ebony_config: unconfig |
1324 | @$(MKCONFIG) $(@:_config=) ppc ppc4xx ebony amcc | 1324 | @$(MKCONFIG) $(@:_config=) ppc ppc4xx ebony amcc |
1325 | 1325 | ||
1326 | ERIC_config: unconfig | 1326 | ERIC_config: unconfig |
1327 | @$(MKCONFIG) $(@:_config=) ppc ppc4xx eric | 1327 | @$(MKCONFIG) $(@:_config=) ppc ppc4xx eric |
1328 | 1328 | ||
1329 | EXBITGEN_config: unconfig | 1329 | EXBITGEN_config: unconfig |
1330 | @$(MKCONFIG) $(@:_config=) ppc ppc4xx exbitgen | 1330 | @$(MKCONFIG) $(@:_config=) ppc ppc4xx exbitgen |
1331 | 1331 | ||
1332 | fx12mm_flash_config: unconfig | 1332 | fx12mm_flash_config: unconfig |
1333 | @mkdir -p $(obj)include $(obj)board/xilinx/ppc405-generic | 1333 | @mkdir -p $(obj)include $(obj)board/xilinx/ppc405-generic |
1334 | @mkdir -p $(obj)include $(obj)board/avnet/fx12mm | 1334 | @mkdir -p $(obj)include $(obj)board/avnet/fx12mm |
1335 | @echo "LDSCRIPT:=$(SRCTREE)/board/xilinx/ppc405-generic/u-boot-rom.lds"\ | 1335 | @echo "LDSCRIPT:=$(SRCTREE)/board/xilinx/ppc405-generic/u-boot-rom.lds"\ |
1336 | > $(obj)board/avnet/fx12mm/config.tmp | 1336 | > $(obj)board/avnet/fx12mm/config.tmp |
1337 | @echo "TEXT_BASE := 0xFFCB0000" \ | 1337 | @echo "TEXT_BASE := 0xFFCB0000" \ |
1338 | >> $(obj)board/avnet/fx12mm/config.tmp | 1338 | >> $(obj)board/avnet/fx12mm/config.tmp |
1339 | @$(MKCONFIG) fx12mm ppc ppc4xx fx12mm avnet | 1339 | @$(MKCONFIG) fx12mm ppc ppc4xx fx12mm avnet |
1340 | 1340 | ||
1341 | fx12mm_config: unconfig | 1341 | fx12mm_config: unconfig |
1342 | @mkdir -p $(obj)include $(obj)board/xilinx/ppc405-generic | 1342 | @mkdir -p $(obj)include $(obj)board/xilinx/ppc405-generic |
1343 | @mkdir -p $(obj)include $(obj)board/avnet/fx12mm | 1343 | @mkdir -p $(obj)include $(obj)board/avnet/fx12mm |
1344 | @echo "LDSCRIPT:=$(SRCTREE)/board/xilinx/ppc405-generic/u-boot-ram.lds"\ | 1344 | @echo "LDSCRIPT:=$(SRCTREE)/board/xilinx/ppc405-generic/u-boot-ram.lds"\ |
1345 | > $(obj)board/avnet/fx12mm/config.tmp | 1345 | > $(obj)board/avnet/fx12mm/config.tmp |
1346 | @echo "TEXT_BASE := 0x03000000" \ | 1346 | @echo "TEXT_BASE := 0x03000000" \ |
1347 | >> $(obj)board/avnet/fx12mm/config.tmp | 1347 | >> $(obj)board/avnet/fx12mm/config.tmp |
1348 | @$(MKCONFIG) fx12mm ppc ppc4xx fx12mm avnet | 1348 | @$(MKCONFIG) fx12mm ppc ppc4xx fx12mm avnet |
1349 | 1349 | ||
1350 | G2000_config: unconfig | 1350 | G2000_config: unconfig |
1351 | @$(MKCONFIG) $(@:_config=) ppc ppc4xx g2000 | 1351 | @$(MKCONFIG) $(@:_config=) ppc ppc4xx g2000 |
1352 | 1352 | ||
1353 | gdppc440etx_config: unconfig | 1353 | gdppc440etx_config: unconfig |
1354 | @$(MKCONFIG) $(@:_config=) ppc ppc4xx gdppc440etx gdsys | 1354 | @$(MKCONFIG) $(@:_config=) ppc ppc4xx gdppc440etx gdsys |
1355 | 1355 | ||
1356 | hcu4_config: unconfig | 1356 | hcu4_config: unconfig |
1357 | @mkdir -p $(obj)board/netstal/common | 1357 | @mkdir -p $(obj)board/netstal/common |
1358 | @$(MKCONFIG) $(@:_config=) ppc ppc4xx hcu4 netstal | 1358 | @$(MKCONFIG) $(@:_config=) ppc ppc4xx hcu4 netstal |
1359 | 1359 | ||
1360 | hcu5_config: unconfig | 1360 | hcu5_config: unconfig |
1361 | @mkdir -p $(obj)board/netstal/common | 1361 | @mkdir -p $(obj)board/netstal/common |
1362 | @$(MKCONFIG) $(@:_config=) ppc ppc4xx hcu5 netstal | 1362 | @$(MKCONFIG) $(@:_config=) ppc ppc4xx hcu5 netstal |
1363 | 1363 | ||
1364 | HH405_config: unconfig | 1364 | HH405_config: unconfig |
1365 | @$(MKCONFIG) $(@:_config=) ppc ppc4xx hh405 esd | 1365 | @$(MKCONFIG) $(@:_config=) ppc ppc4xx hh405 esd |
1366 | 1366 | ||
1367 | HUB405_config: unconfig | 1367 | HUB405_config: unconfig |
1368 | @$(MKCONFIG) $(@:_config=) ppc ppc4xx hub405 esd | 1368 | @$(MKCONFIG) $(@:_config=) ppc ppc4xx hub405 esd |
1369 | 1369 | ||
1370 | JSE_config: unconfig | 1370 | JSE_config: unconfig |
1371 | @$(MKCONFIG) $(@:_config=) ppc ppc4xx jse | 1371 | @$(MKCONFIG) $(@:_config=) ppc ppc4xx jse |
1372 | 1372 | ||
1373 | KAREF_config: unconfig | 1373 | KAREF_config: unconfig |
1374 | @$(MKCONFIG) $(@:_config=) ppc ppc4xx karef sandburst | 1374 | @$(MKCONFIG) $(@:_config=) ppc ppc4xx karef sandburst |
1375 | 1375 | ||
1376 | katmai_config: unconfig | 1376 | katmai_config: unconfig |
1377 | @$(MKCONFIG) $(@:_config=) ppc ppc4xx katmai amcc | 1377 | @$(MKCONFIG) $(@:_config=) ppc ppc4xx katmai amcc |
1378 | 1378 | ||
1379 | # Kilauea & Haleakala images are identical (recognized via PVR) | 1379 | # Kilauea & Haleakala images are identical (recognized via PVR) |
1380 | kilauea_config \ | 1380 | kilauea_config \ |
1381 | haleakala_config: unconfig | 1381 | haleakala_config: unconfig |
1382 | @$(MKCONFIG) -n $@ -a kilauea ppc ppc4xx kilauea amcc | 1382 | @$(MKCONFIG) -n $@ -a kilauea ppc ppc4xx kilauea amcc |
1383 | 1383 | ||
1384 | kilauea_nand_config \ | 1384 | kilauea_nand_config \ |
1385 | haleakala_nand_config: unconfig | 1385 | haleakala_nand_config: unconfig |
1386 | @mkdir -p $(obj)include $(obj)board/amcc/kilauea | 1386 | @mkdir -p $(obj)include $(obj)board/amcc/kilauea |
1387 | @mkdir -p $(obj)nand_spl/board/amcc/kilauea | 1387 | @mkdir -p $(obj)nand_spl/board/amcc/kilauea |
1388 | @echo "#define CONFIG_NAND_U_BOOT" > $(obj)include/config.h | 1388 | @echo "#define CONFIG_NAND_U_BOOT" > $(obj)include/config.h |
1389 | @$(MKCONFIG) -n $@ -a kilauea ppc ppc4xx kilauea amcc | 1389 | @$(MKCONFIG) -n $@ -a kilauea ppc ppc4xx kilauea amcc |
1390 | @echo "TEXT_BASE = 0x01000000" > $(obj)board/amcc/kilauea/config.tmp | 1390 | @echo "TEXT_BASE = 0x01000000" > $(obj)board/amcc/kilauea/config.tmp |
1391 | @echo "CONFIG_NAND_U_BOOT = y" >> $(obj)include/config.mk | 1391 | @echo "CONFIG_NAND_U_BOOT = y" >> $(obj)include/config.mk |
1392 | 1392 | ||
1393 | korat_config: unconfig | 1393 | korat_config: unconfig |
1394 | @$(MKCONFIG) $(@:_config=) ppc ppc4xx korat | 1394 | @$(MKCONFIG) $(@:_config=) ppc ppc4xx korat |
1395 | 1395 | ||
1396 | luan_config: unconfig | 1396 | luan_config: unconfig |
1397 | @$(MKCONFIG) $(@:_config=) ppc ppc4xx luan amcc | 1397 | @$(MKCONFIG) $(@:_config=) ppc ppc4xx luan amcc |
1398 | 1398 | ||
1399 | lwmon5_config: unconfig | 1399 | lwmon5_config: unconfig |
1400 | @$(MKCONFIG) $(@:_config=) ppc ppc4xx lwmon5 | 1400 | @$(MKCONFIG) $(@:_config=) ppc ppc4xx lwmon5 |
1401 | 1401 | ||
1402 | makalu_config: unconfig | 1402 | makalu_config: unconfig |
1403 | @$(MKCONFIG) $(@:_config=) ppc ppc4xx makalu amcc | 1403 | @$(MKCONFIG) $(@:_config=) ppc ppc4xx makalu amcc |
1404 | 1404 | ||
1405 | mcu25_config: unconfig | 1405 | mcu25_config: unconfig |
1406 | @mkdir -p $(obj)board/netstal/common | 1406 | @mkdir -p $(obj)board/netstal/common |
1407 | @$(MKCONFIG) $(@:_config=) ppc ppc4xx mcu25 netstal | 1407 | @$(MKCONFIG) $(@:_config=) ppc ppc4xx mcu25 netstal |
1408 | 1408 | ||
1409 | METROBOX_config: unconfig | 1409 | METROBOX_config: unconfig |
1410 | @$(MKCONFIG) $(@:_config=) ppc ppc4xx metrobox sandburst | 1410 | @$(MKCONFIG) $(@:_config=) ppc ppc4xx metrobox sandburst |
1411 | 1411 | ||
1412 | MIP405_config: unconfig | 1412 | MIP405_config: unconfig |
1413 | @$(MKCONFIG) $(@:_config=) ppc ppc4xx mip405 mpl | 1413 | @$(MKCONFIG) $(@:_config=) ppc ppc4xx mip405 mpl |
1414 | 1414 | ||
1415 | MIP405T_config: unconfig | 1415 | MIP405T_config: unconfig |
1416 | @mkdir -p $(obj)include | 1416 | @mkdir -p $(obj)include |
1417 | @echo "#define CONFIG_MIP405T" >$(obj)include/config.h | 1417 | @echo "#define CONFIG_MIP405T" >$(obj)include/config.h |
1418 | @$(XECHO) "Enable subset config for MIP405T" | 1418 | @$(XECHO) "Enable subset config for MIP405T" |
1419 | @$(MKCONFIG) -a MIP405 ppc ppc4xx mip405 mpl | 1419 | @$(MKCONFIG) -a MIP405 ppc ppc4xx mip405 mpl |
1420 | 1420 | ||
1421 | ML2_config: unconfig | 1421 | ML2_config: unconfig |
1422 | @$(MKCONFIG) $(@:_config=) ppc ppc4xx ml2 | 1422 | @$(MKCONFIG) $(@:_config=) ppc ppc4xx ml2 |
1423 | 1423 | ||
1424 | ml300_config: unconfig | 1424 | ml300_config: unconfig |
1425 | @$(MKCONFIG) $(@:_config=) ppc ppc4xx ml300 xilinx | 1425 | @$(MKCONFIG) $(@:_config=) ppc ppc4xx ml300 xilinx |
1426 | 1426 | ||
1427 | ml507_flash_config: unconfig | 1427 | ml507_flash_config: unconfig |
1428 | @mkdir -p $(obj)include $(obj)board/xilinx/ppc440-generic | 1428 | @mkdir -p $(obj)include $(obj)board/xilinx/ppc440-generic |
1429 | @mkdir -p $(obj)include $(obj)board/xilinx/ml507 | 1429 | @mkdir -p $(obj)include $(obj)board/xilinx/ml507 |
1430 | @echo "LDSCRIPT:=$(SRCTREE)/board/xilinx/ppc440-generic/u-boot-rom.lds"\ | 1430 | @echo "LDSCRIPT:=$(SRCTREE)/board/xilinx/ppc440-generic/u-boot-rom.lds"\ |
1431 | > $(obj)board/xilinx/ml507/config.tmp | 1431 | > $(obj)board/xilinx/ml507/config.tmp |
1432 | @echo "TEXT_BASE := 0xFE360000" \ | 1432 | @echo "TEXT_BASE := 0xFE360000" \ |
1433 | >> $(obj)board/xilinx/ml507/config.tmp | 1433 | >> $(obj)board/xilinx/ml507/config.tmp |
1434 | @$(MKCONFIG) ml507 ppc ppc4xx ml507 xilinx | 1434 | @$(MKCONFIG) ml507 ppc ppc4xx ml507 xilinx |
1435 | 1435 | ||
1436 | ml507_config: unconfig | 1436 | ml507_config: unconfig |
1437 | @mkdir -p $(obj)include $(obj)board/xilinx/ppc440-generic | 1437 | @mkdir -p $(obj)include $(obj)board/xilinx/ppc440-generic |
1438 | @mkdir -p $(obj)include $(obj)board/xilinx/ml507 | 1438 | @mkdir -p $(obj)include $(obj)board/xilinx/ml507 |
1439 | @echo "LDSCRIPT:=$(SRCTREE)/board/xilinx/ppc440-generic/u-boot-ram.lds"\ | 1439 | @echo "LDSCRIPT:=$(SRCTREE)/board/xilinx/ppc440-generic/u-boot-ram.lds"\ |
1440 | > $(obj)board/xilinx/ml507/config.tmp | 1440 | > $(obj)board/xilinx/ml507/config.tmp |
1441 | @echo "TEXT_BASE := 0x04000000" \ | 1441 | @echo "TEXT_BASE := 0x04000000" \ |
1442 | >> $(obj)board/xilinx/ml507/config.tmp | 1442 | >> $(obj)board/xilinx/ml507/config.tmp |
1443 | @$(MKCONFIG) ml507 ppc ppc4xx ml507 xilinx | 1443 | @$(MKCONFIG) ml507 ppc ppc4xx ml507 xilinx |
1444 | 1444 | ||
1445 | neo_config: unconfig | 1445 | neo_config: unconfig |
1446 | @$(MKCONFIG) $(@:_config=) ppc ppc4xx neo gdsys | 1446 | @$(MKCONFIG) $(@:_config=) ppc ppc4xx neo gdsys |
1447 | 1447 | ||
1448 | ocotea_config: unconfig | 1448 | ocotea_config: unconfig |
1449 | @$(MKCONFIG) $(@:_config=) ppc ppc4xx ocotea amcc | 1449 | @$(MKCONFIG) $(@:_config=) ppc ppc4xx ocotea amcc |
1450 | 1450 | ||
1451 | OCRTC_config \ | 1451 | OCRTC_config \ |
1452 | ORSG_config: unconfig | 1452 | ORSG_config: unconfig |
1453 | @$(MKCONFIG) $(@:_config=) ppc ppc4xx ocrtc esd | 1453 | @$(MKCONFIG) $(@:_config=) ppc ppc4xx ocrtc esd |
1454 | 1454 | ||
1455 | p3p440_config: unconfig | 1455 | p3p440_config: unconfig |
1456 | @$(MKCONFIG) $(@:_config=) ppc ppc4xx p3p440 prodrive | 1456 | @$(MKCONFIG) $(@:_config=) ppc ppc4xx p3p440 prodrive |
1457 | 1457 | ||
1458 | PCI405_config: unconfig | 1458 | PCI405_config: unconfig |
1459 | @$(MKCONFIG) $(@:_config=) ppc ppc4xx pci405 esd | 1459 | @$(MKCONFIG) $(@:_config=) ppc ppc4xx pci405 esd |
1460 | 1460 | ||
1461 | pcs440ep_config: unconfig | 1461 | pcs440ep_config: unconfig |
1462 | @$(MKCONFIG) $(@:_config=) ppc ppc4xx pcs440ep | 1462 | @$(MKCONFIG) $(@:_config=) ppc ppc4xx pcs440ep |
1463 | 1463 | ||
1464 | PIP405_config: unconfig | 1464 | PIP405_config: unconfig |
1465 | @$(MKCONFIG) $(@:_config=) ppc ppc4xx pip405 mpl | 1465 | @$(MKCONFIG) $(@:_config=) ppc ppc4xx pip405 mpl |
1466 | 1466 | ||
1467 | PLU405_config: unconfig | 1467 | PLU405_config: unconfig |
1468 | @$(MKCONFIG) $(@:_config=) ppc ppc4xx plu405 esd | 1468 | @$(MKCONFIG) $(@:_config=) ppc ppc4xx plu405 esd |
1469 | 1469 | ||
1470 | PMC405_config: unconfig | 1470 | PMC405_config: unconfig |
1471 | @$(MKCONFIG) $(@:_config=) ppc ppc4xx pmc405 esd | 1471 | @$(MKCONFIG) $(@:_config=) ppc ppc4xx pmc405 esd |
1472 | 1472 | ||
1473 | PMC440_config: unconfig | 1473 | PMC440_config: unconfig |
1474 | @$(MKCONFIG) $(@:_config=) ppc ppc4xx pmc440 esd | 1474 | @$(MKCONFIG) $(@:_config=) ppc ppc4xx pmc440 esd |
1475 | 1475 | ||
1476 | PPChameleonEVB_config \ | 1476 | PPChameleonEVB_config \ |
1477 | PPChameleonEVB_BA_25_config \ | 1477 | PPChameleonEVB_BA_25_config \ |
1478 | PPChameleonEVB_ME_25_config \ | 1478 | PPChameleonEVB_ME_25_config \ |
1479 | PPChameleonEVB_HI_25_config \ | 1479 | PPChameleonEVB_HI_25_config \ |
1480 | PPChameleonEVB_BA_33_config \ | 1480 | PPChameleonEVB_BA_33_config \ |
1481 | PPChameleonEVB_ME_33_config \ | 1481 | PPChameleonEVB_ME_33_config \ |
1482 | PPChameleonEVB_HI_33_config: unconfig | 1482 | PPChameleonEVB_HI_33_config: unconfig |
1483 | @mkdir -p $(obj)include | 1483 | @mkdir -p $(obj)include |
1484 | @[ -z "$(findstring EVB_BA,$@)" ] || \ | 1484 | @[ -z "$(findstring EVB_BA,$@)" ] || \ |
1485 | { echo "#define CONFIG_PPCHAMELEON_MODULE_MODEL 0" >>$(obj)include/config.h ; \ | 1485 | { echo "#define CONFIG_PPCHAMELEON_MODULE_MODEL 0" >>$(obj)include/config.h ; \ |
1486 | $(XECHO) "... BASIC model" ; \ | 1486 | $(XECHO) "... BASIC model" ; \ |
1487 | } | 1487 | } |
1488 | @[ -z "$(findstring EVB_ME,$@)" ] || \ | 1488 | @[ -z "$(findstring EVB_ME,$@)" ] || \ |
1489 | { echo "#define CONFIG_PPCHAMELEON_MODULE_MODEL 1" >>$(obj)include/config.h ; \ | 1489 | { echo "#define CONFIG_PPCHAMELEON_MODULE_MODEL 1" >>$(obj)include/config.h ; \ |
1490 | $(XECHO) "... MEDIUM model" ; \ | 1490 | $(XECHO) "... MEDIUM model" ; \ |
1491 | } | 1491 | } |
1492 | @[ -z "$(findstring EVB_HI,$@)" ] || \ | 1492 | @[ -z "$(findstring EVB_HI,$@)" ] || \ |
1493 | { echo "#define CONFIG_PPCHAMELEON_MODULE_MODEL 2" >>$(obj)include/config.h ; \ | 1493 | { echo "#define CONFIG_PPCHAMELEON_MODULE_MODEL 2" >>$(obj)include/config.h ; \ |
1494 | $(XECHO) "... HIGH-END model" ; \ | 1494 | $(XECHO) "... HIGH-END model" ; \ |
1495 | } | 1495 | } |
1496 | @[ -z "$(findstring _25,$@)" ] || \ | 1496 | @[ -z "$(findstring _25,$@)" ] || \ |
1497 | { echo "#define CONFIG_PPCHAMELEON_CLK_25" >>$(obj)include/config.h ; \ | 1497 | { echo "#define CONFIG_PPCHAMELEON_CLK_25" >>$(obj)include/config.h ; \ |
1498 | $(XECHO) "SysClk = 25MHz" ; \ | 1498 | $(XECHO) "SysClk = 25MHz" ; \ |
1499 | } | 1499 | } |
1500 | @[ -z "$(findstring _33,$@)" ] || \ | 1500 | @[ -z "$(findstring _33,$@)" ] || \ |
1501 | { echo "#define CONFIG_PPCHAMELEON_CLK_33" >>$(obj)include/config.h ; \ | 1501 | { echo "#define CONFIG_PPCHAMELEON_CLK_33" >>$(obj)include/config.h ; \ |
1502 | $(XECHO) "SysClk = 33MHz" ; \ | 1502 | $(XECHO) "SysClk = 33MHz" ; \ |
1503 | } | 1503 | } |
1504 | @$(MKCONFIG) -a $(call xtract_4xx,$@) ppc ppc4xx PPChameleonEVB dave | 1504 | @$(MKCONFIG) -a $(call xtract_4xx,$@) ppc ppc4xx PPChameleonEVB dave |
1505 | 1505 | ||
1506 | quad100hd_config: unconfig | 1506 | quad100hd_config: unconfig |
1507 | @$(MKCONFIG) $(@:_config=) ppc ppc4xx quad100hd | 1507 | @$(MKCONFIG) $(@:_config=) ppc ppc4xx quad100hd |
1508 | 1508 | ||
1509 | redwood_config: unconfig | 1509 | redwood_config: unconfig |
1510 | @$(MKCONFIG) $(@:_config=) ppc ppc4xx redwood amcc | 1510 | @$(MKCONFIG) $(@:_config=) ppc ppc4xx redwood amcc |
1511 | 1511 | ||
1512 | sbc405_config: unconfig | 1512 | sbc405_config: unconfig |
1513 | @$(MKCONFIG) $(@:_config=) ppc ppc4xx sbc405 | 1513 | @$(MKCONFIG) $(@:_config=) ppc ppc4xx sbc405 |
1514 | 1514 | ||
1515 | sc3_config:unconfig | 1515 | sc3_config:unconfig |
1516 | @$(MKCONFIG) $(@:_config=) ppc ppc4xx sc3 | 1516 | @$(MKCONFIG) $(@:_config=) ppc ppc4xx sc3 |
1517 | 1517 | ||
1518 | sequoia_config \ | 1518 | sequoia_config \ |
1519 | rainier_config: unconfig | 1519 | rainier_config: unconfig |
1520 | @mkdir -p $(obj)include | 1520 | @mkdir -p $(obj)include |
1521 | @echo "#define CONFIG_$$(echo $(subst ,,$(@:_config=)) | \ | 1521 | @echo "#define CONFIG_$$(echo $(subst ,,$(@:_config=)) | \ |
1522 | tr '[:lower:]' '[:upper:]')" >$(obj)include/config.h | 1522 | tr '[:lower:]' '[:upper:]')" >$(obj)include/config.h |
1523 | @$(MKCONFIG) -n $@ -a sequoia ppc ppc4xx sequoia amcc | 1523 | @$(MKCONFIG) -n $@ -a sequoia ppc ppc4xx sequoia amcc |
1524 | 1524 | ||
1525 | sequoia_nand_config \ | 1525 | sequoia_nand_config \ |
1526 | rainier_nand_config: unconfig | 1526 | rainier_nand_config: unconfig |
1527 | @mkdir -p $(obj)include $(obj)board/amcc/sequoia | 1527 | @mkdir -p $(obj)include $(obj)board/amcc/sequoia |
1528 | @mkdir -p $(obj)nand_spl/board/amcc/sequoia | 1528 | @mkdir -p $(obj)nand_spl/board/amcc/sequoia |
1529 | @echo "#define CONFIG_NAND_U_BOOT" > $(obj)include/config.h | 1529 | @echo "#define CONFIG_NAND_U_BOOT" > $(obj)include/config.h |
1530 | @echo "#define CONFIG_$$(echo $(subst ,,$(@:_config=)) | \ | 1530 | @echo "#define CONFIG_$$(echo $(subst ,,$(@:_config=)) | \ |
1531 | tr '[:lower:]' '[:upper:]')" >> $(obj)include/config.h | 1531 | tr '[:lower:]' '[:upper:]')" >> $(obj)include/config.h |
1532 | @$(MKCONFIG) -n $@ -a sequoia ppc ppc4xx sequoia amcc | 1532 | @$(MKCONFIG) -n $@ -a sequoia ppc ppc4xx sequoia amcc |
1533 | @echo "TEXT_BASE = 0x01000000" > $(obj)board/amcc/sequoia/config.tmp | 1533 | @echo "TEXT_BASE = 0x01000000" > $(obj)board/amcc/sequoia/config.tmp |
1534 | @echo "CONFIG_NAND_U_BOOT = y" >> $(obj)include/config.mk | 1534 | @echo "CONFIG_NAND_U_BOOT = y" >> $(obj)include/config.mk |
1535 | 1535 | ||
1536 | sequoia_ramboot_config \ | ||
1537 | rainier_ramboot_config: unconfig | ||
1538 | @mkdir -p $(obj)include $(obj)board/amcc/sequoia | ||
1539 | @echo "#define CONFIG_SYS_RAMBOOT" > $(obj)include/config.h | ||
1540 | @echo "#define CONFIG_$$(echo $(subst ,,$(@:_config=)) | \ | ||
1541 | tr '[:lower:]' '[:upper:]')" >> $(obj)include/config.h | ||
1542 | @$(MKCONFIG) -n $@ -a sequoia ppc ppc4xx sequoia amcc | ||
1543 | @echo "TEXT_BASE = 0x01000000" > $(obj)board/amcc/sequoia/config.tmp | ||
1544 | @echo "LDSCRIPT = board/amcc/sequoia/u-boot-ram.lds" >> \ | ||
1545 | $(obj)board/amcc/sequoia/config.tmp | ||
1546 | |||
1536 | taihu_config: unconfig | 1547 | taihu_config: unconfig |
1537 | @$(MKCONFIG) $(@:_config=) ppc ppc4xx taihu amcc | 1548 | @$(MKCONFIG) $(@:_config=) ppc ppc4xx taihu amcc |
1538 | 1549 | ||
1539 | taishan_config: unconfig | 1550 | taishan_config: unconfig |
1540 | @$(MKCONFIG) $(@:_config=) ppc ppc4xx taishan amcc | 1551 | @$(MKCONFIG) $(@:_config=) ppc ppc4xx taishan amcc |
1541 | 1552 | ||
1542 | v5fx30teval_config: unconfig | 1553 | v5fx30teval_config: unconfig |
1543 | @mkdir -p $(obj)include $(obj)board/xilinx/ppc440-generic | 1554 | @mkdir -p $(obj)include $(obj)board/xilinx/ppc440-generic |
1544 | @mkdir -p $(obj)include $(obj)board/avnet/v5fx30teval | 1555 | @mkdir -p $(obj)include $(obj)board/avnet/v5fx30teval |
1545 | @echo "LDSCRIPT:=$(SRCTREE)/board/xilinx/ppc440-generic/u-boot-ram.lds"\ | 1556 | @echo "LDSCRIPT:=$(SRCTREE)/board/xilinx/ppc440-generic/u-boot-ram.lds"\ |
1546 | > $(obj)board/avnet/v5fx30teval/config.tmp | 1557 | > $(obj)board/avnet/v5fx30teval/config.tmp |
1547 | @echo "TEXT_BASE := 0x03000000" \ | 1558 | @echo "TEXT_BASE := 0x03000000" \ |
1548 | >> $(obj)board/avnet/v5fx30teval/config.tmp | 1559 | >> $(obj)board/avnet/v5fx30teval/config.tmp |
1549 | @$(MKCONFIG) v5fx30teval ppc ppc4xx v5fx30teval avnet | 1560 | @$(MKCONFIG) v5fx30teval ppc ppc4xx v5fx30teval avnet |
1550 | 1561 | ||
1551 | v5fx30teval_flash_config: unconfig | 1562 | v5fx30teval_flash_config: unconfig |
1552 | @mkdir -p $(obj)include $(obj)board/xilinx/ppc440-generic | 1563 | @mkdir -p $(obj)include $(obj)board/xilinx/ppc440-generic |
1553 | @mkdir -p $(obj)include $(obj)board/avnet/v5fx30teval | 1564 | @mkdir -p $(obj)include $(obj)board/avnet/v5fx30teval |
1554 | @echo "LDSCRIPT:=$(SRCTREE)/board/xilinx/ppc440-generic/u-boot-rom.lds"\ | 1565 | @echo "LDSCRIPT:=$(SRCTREE)/board/xilinx/ppc440-generic/u-boot-rom.lds"\ |
1555 | > $(obj)board/avnet/v5fx30teval/config.tmp | 1566 | > $(obj)board/avnet/v5fx30teval/config.tmp |
1556 | @echo "TEXT_BASE := 0xFF1C0000" \ | 1567 | @echo "TEXT_BASE := 0xFF1C0000" \ |
1557 | >> $(obj)board/avnet/v5fx30teval/config.tmp | 1568 | >> $(obj)board/avnet/v5fx30teval/config.tmp |
1558 | @$(MKCONFIG) v5fx30teval ppc ppc4xx v5fx30teval avnet | 1569 | @$(MKCONFIG) v5fx30teval ppc ppc4xx v5fx30teval avnet |
1559 | 1570 | ||
1560 | VOH405_config: unconfig | 1571 | VOH405_config: unconfig |
1561 | @$(MKCONFIG) $(@:_config=) ppc ppc4xx voh405 esd | 1572 | @$(MKCONFIG) $(@:_config=) ppc ppc4xx voh405 esd |
1562 | 1573 | ||
1563 | VOM405_config: unconfig | 1574 | VOM405_config: unconfig |
1564 | @$(MKCONFIG) $(@:_config=) ppc ppc4xx vom405 esd | 1575 | @$(MKCONFIG) $(@:_config=) ppc ppc4xx vom405 esd |
1565 | 1576 | ||
1566 | W7OLMC_config \ | 1577 | W7OLMC_config \ |
1567 | W7OLMG_config: unconfig | 1578 | W7OLMG_config: unconfig |
1568 | @$(MKCONFIG) $(@:_config=) ppc ppc4xx w7o | 1579 | @$(MKCONFIG) $(@:_config=) ppc ppc4xx w7o |
1569 | 1580 | ||
1570 | # Walnut & Sycamore images are identical (recognized via PVR) | 1581 | # Walnut & Sycamore images are identical (recognized via PVR) |
1571 | walnut_config \ | 1582 | walnut_config \ |
1572 | sycamore_config: unconfig | 1583 | sycamore_config: unconfig |
1573 | @$(MKCONFIG) -n $@ -a walnut ppc ppc4xx walnut amcc | 1584 | @$(MKCONFIG) -n $@ -a walnut ppc ppc4xx walnut amcc |
1574 | 1585 | ||
1575 | WUH405_config: unconfig | 1586 | WUH405_config: unconfig |
1576 | @$(MKCONFIG) $(@:_config=) ppc ppc4xx wuh405 esd | 1587 | @$(MKCONFIG) $(@:_config=) ppc ppc4xx wuh405 esd |
1577 | 1588 | ||
1578 | xilinx-ppc405-generic_flash_config: unconfig | 1589 | xilinx-ppc405-generic_flash_config: unconfig |
1579 | @mkdir -p $(obj)include $(obj)board/xilinx/ppc405-generic | 1590 | @mkdir -p $(obj)include $(obj)board/xilinx/ppc405-generic |
1580 | @echo "LDSCRIPT:=$(SRCTREE)/board/xilinx/ppc405-generic/u-boot-rom.lds"\ | 1591 | @echo "LDSCRIPT:=$(SRCTREE)/board/xilinx/ppc405-generic/u-boot-rom.lds"\ |
1581 | > $(obj)board/xilinx/ppc405-generic/config.tmp | 1592 | > $(obj)board/xilinx/ppc405-generic/config.tmp |
1582 | @echo "TEXT_BASE := 0xFE360000" \ | 1593 | @echo "TEXT_BASE := 0xFE360000" \ |
1583 | >> $(obj)board/xilinx/ppc405-generic/config.tmp | 1594 | >> $(obj)board/xilinx/ppc405-generic/config.tmp |
1584 | @$(MKCONFIG) xilinx-ppc405-generic ppc ppc4xx ppc405-generic xilinx | 1595 | @$(MKCONFIG) xilinx-ppc405-generic ppc ppc4xx ppc405-generic xilinx |
1585 | 1596 | ||
1586 | xilinx-ppc405-generic_config: unconfig | 1597 | xilinx-ppc405-generic_config: unconfig |
1587 | @mkdir -p $(obj)include $(obj)board/xilinx/ppc405-generic | 1598 | @mkdir -p $(obj)include $(obj)board/xilinx/ppc405-generic |
1588 | @echo "LDSCRIPT:=$(SRCTREE)/board/xilinx/ppc405-generic/u-boot-ram.lds"\ | 1599 | @echo "LDSCRIPT:=$(SRCTREE)/board/xilinx/ppc405-generic/u-boot-ram.lds"\ |
1589 | > $(obj)board/xilinx/ppc405-generic/config.tmp | 1600 | > $(obj)board/xilinx/ppc405-generic/config.tmp |
1590 | @echo "TEXT_BASE := 0x04000000" \ | 1601 | @echo "TEXT_BASE := 0x04000000" \ |
1591 | >> $(obj)board/xilinx/ppc405-generic/config.tmp | 1602 | >> $(obj)board/xilinx/ppc405-generic/config.tmp |
1592 | @$(MKCONFIG) xilinx-ppc405-generic ppc ppc4xx ppc405-generic xilinx | 1603 | @$(MKCONFIG) xilinx-ppc405-generic ppc ppc4xx ppc405-generic xilinx |
1593 | 1604 | ||
1594 | xilinx-ppc440-generic_flash_config: unconfig | 1605 | xilinx-ppc440-generic_flash_config: unconfig |
1595 | @mkdir -p $(obj)include $(obj)board/xilinx/ppc440-generic | 1606 | @mkdir -p $(obj)include $(obj)board/xilinx/ppc440-generic |
1596 | @echo "LDSCRIPT:=$(SRCTREE)/board/xilinx/ppc440-generic/u-boot-rom.lds"\ | 1607 | @echo "LDSCRIPT:=$(SRCTREE)/board/xilinx/ppc440-generic/u-boot-rom.lds"\ |
1597 | > $(obj)board/xilinx/ppc440-generic/config.tmp | 1608 | > $(obj)board/xilinx/ppc440-generic/config.tmp |
1598 | @echo "TEXT_BASE := 0xFE360000" \ | 1609 | @echo "TEXT_BASE := 0xFE360000" \ |
1599 | >> $(obj)board/xilinx/ppc440-generic/config.tmp | 1610 | >> $(obj)board/xilinx/ppc440-generic/config.tmp |
1600 | @$(MKCONFIG) xilinx-ppc440-generic ppc ppc4xx ppc440-generic xilinx | 1611 | @$(MKCONFIG) xilinx-ppc440-generic ppc ppc4xx ppc440-generic xilinx |
1601 | 1612 | ||
1602 | xilinx-ppc440-generic_config: unconfig | 1613 | xilinx-ppc440-generic_config: unconfig |
1603 | @mkdir -p $(obj)include $(obj)board/xilinx/ppc440-generic | 1614 | @mkdir -p $(obj)include $(obj)board/xilinx/ppc440-generic |
1604 | @echo "LDSCRIPT:=$(SRCTREE)/board/xilinx/ppc440-generic/u-boot-ram.lds"\ | 1615 | @echo "LDSCRIPT:=$(SRCTREE)/board/xilinx/ppc440-generic/u-boot-ram.lds"\ |
1605 | > $(obj)board/xilinx/ppc440-generic/config.tmp | 1616 | > $(obj)board/xilinx/ppc440-generic/config.tmp |
1606 | @echo "TEXT_BASE := 0x04000000" \ | 1617 | @echo "TEXT_BASE := 0x04000000" \ |
1607 | >> $(obj)board/xilinx/ppc440-generic/config.tmp | 1618 | >> $(obj)board/xilinx/ppc440-generic/config.tmp |
1608 | @$(MKCONFIG) xilinx-ppc440-generic ppc ppc4xx ppc440-generic xilinx | 1619 | @$(MKCONFIG) xilinx-ppc440-generic ppc ppc4xx ppc440-generic xilinx |
1609 | 1620 | ||
1610 | XPEDITE1K_config: unconfig | 1621 | XPEDITE1K_config: unconfig |
1611 | @$(MKCONFIG) $(@:_config=) ppc ppc4xx xpedite1k | 1622 | @$(MKCONFIG) $(@:_config=) ppc ppc4xx xpedite1k |
1612 | 1623 | ||
1613 | yosemite_config \ | 1624 | yosemite_config \ |
1614 | yellowstone_config: unconfig | 1625 | yellowstone_config: unconfig |
1615 | @mkdir -p $(obj)include | 1626 | @mkdir -p $(obj)include |
1616 | @echo "#define CONFIG_$$(echo $(subst ,,$(@:_config=)) | \ | 1627 | @echo "#define CONFIG_$$(echo $(subst ,,$(@:_config=)) | \ |
1617 | tr '[:lower:]' '[:upper:]')" >$(obj)include/config.h | 1628 | tr '[:lower:]' '[:upper:]')" >$(obj)include/config.h |
1618 | @$(MKCONFIG) -n $@ -a yosemite ppc ppc4xx yosemite amcc | 1629 | @$(MKCONFIG) -n $@ -a yosemite ppc ppc4xx yosemite amcc |
1619 | 1630 | ||
1620 | yucca_config: unconfig | 1631 | yucca_config: unconfig |
1621 | @$(MKCONFIG) $(@:_config=) ppc ppc4xx yucca amcc | 1632 | @$(MKCONFIG) $(@:_config=) ppc ppc4xx yucca amcc |
1622 | 1633 | ||
1623 | zeus_config: unconfig | 1634 | zeus_config: unconfig |
1624 | @$(MKCONFIG) $(@:_config=) ppc ppc4xx zeus | 1635 | @$(MKCONFIG) $(@:_config=) ppc ppc4xx zeus |
1625 | 1636 | ||
1626 | ######################################################################### | 1637 | ######################################################################### |
1627 | ## MPC8220 Systems | 1638 | ## MPC8220 Systems |
1628 | ######################################################################### | 1639 | ######################################################################### |
1629 | 1640 | ||
1630 | Alaska8220_config \ | 1641 | Alaska8220_config \ |
1631 | Yukon8220_config: unconfig | 1642 | Yukon8220_config: unconfig |
1632 | @$(MKCONFIG) $(@:_config=) ppc mpc8220 alaska | 1643 | @$(MKCONFIG) $(@:_config=) ppc mpc8220 alaska |
1633 | 1644 | ||
1634 | sorcery_config: unconfig | 1645 | sorcery_config: unconfig |
1635 | @$(MKCONFIG) $(@:_config=) ppc mpc8220 sorcery | 1646 | @$(MKCONFIG) $(@:_config=) ppc mpc8220 sorcery |
1636 | 1647 | ||
1637 | ######################################################################### | 1648 | ######################################################################### |
1638 | ## MPC824x Systems | 1649 | ## MPC824x Systems |
1639 | ######################################################################### | 1650 | ######################################################################### |
1640 | xtract_82xx = $(subst _BIGFLASH,,$(subst _ROMBOOT,,$(subst _L2,,$(subst _266MHz,,$(subst _300MHz,,$(subst _config,,$1)))))) | 1651 | xtract_82xx = $(subst _BIGFLASH,,$(subst _ROMBOOT,,$(subst _L2,,$(subst _266MHz,,$(subst _300MHz,,$(subst _config,,$1)))))) |
1641 | 1652 | ||
1642 | A3000_config: unconfig | 1653 | A3000_config: unconfig |
1643 | @$(MKCONFIG) $(@:_config=) ppc mpc824x a3000 | 1654 | @$(MKCONFIG) $(@:_config=) ppc mpc824x a3000 |
1644 | 1655 | ||
1645 | barco_config: unconfig | 1656 | barco_config: unconfig |
1646 | @$(MKCONFIG) $(@:_config=) ppc mpc824x barco | 1657 | @$(MKCONFIG) $(@:_config=) ppc mpc824x barco |
1647 | 1658 | ||
1648 | BMW_config: unconfig | 1659 | BMW_config: unconfig |
1649 | @$(MKCONFIG) $(@:_config=) ppc mpc824x bmw | 1660 | @$(MKCONFIG) $(@:_config=) ppc mpc824x bmw |
1650 | 1661 | ||
1651 | CPC45_config \ | 1662 | CPC45_config \ |
1652 | CPC45_ROMBOOT_config: unconfig | 1663 | CPC45_ROMBOOT_config: unconfig |
1653 | @$(MKCONFIG) $(call xtract_82xx,$@) ppc mpc824x cpc45 | 1664 | @$(MKCONFIG) $(call xtract_82xx,$@) ppc mpc824x cpc45 |
1654 | @cd $(obj)include ; \ | 1665 | @cd $(obj)include ; \ |
1655 | if [ "$(findstring _ROMBOOT_,$@)" ] ; then \ | 1666 | if [ "$(findstring _ROMBOOT_,$@)" ] ; then \ |
1656 | echo "CONFIG_BOOT_ROM = y" >> config.mk ; \ | 1667 | echo "CONFIG_BOOT_ROM = y" >> config.mk ; \ |
1657 | $(XECHO) "... booting from 8-bit flash" ; \ | 1668 | $(XECHO) "... booting from 8-bit flash" ; \ |
1658 | else \ | 1669 | else \ |
1659 | echo "CONFIG_BOOT_ROM = n" >> config.mk ; \ | 1670 | echo "CONFIG_BOOT_ROM = n" >> config.mk ; \ |
1660 | $(XECHO) "... booting from 64-bit flash" ; \ | 1671 | $(XECHO) "... booting from 64-bit flash" ; \ |
1661 | fi; \ | 1672 | fi; \ |
1662 | echo "export CONFIG_BOOT_ROM" >> config.mk; | 1673 | echo "export CONFIG_BOOT_ROM" >> config.mk; |
1663 | 1674 | ||
1664 | CU824_config: unconfig | 1675 | CU824_config: unconfig |
1665 | @$(MKCONFIG) $(@:_config=) ppc mpc824x cu824 | 1676 | @$(MKCONFIG) $(@:_config=) ppc mpc824x cu824 |
1666 | 1677 | ||
1667 | debris_config: unconfig | 1678 | debris_config: unconfig |
1668 | @$(MKCONFIG) $(@:_config=) ppc mpc824x debris etin | 1679 | @$(MKCONFIG) $(@:_config=) ppc mpc824x debris etin |
1669 | 1680 | ||
1670 | eXalion_config: unconfig | 1681 | eXalion_config: unconfig |
1671 | @$(MKCONFIG) $(@:_config=) ppc mpc824x eXalion | 1682 | @$(MKCONFIG) $(@:_config=) ppc mpc824x eXalion |
1672 | 1683 | ||
1673 | HIDDEN_DRAGON_config: unconfig | 1684 | HIDDEN_DRAGON_config: unconfig |
1674 | @$(MKCONFIG) $(@:_config=) ppc mpc824x hidden_dragon | 1685 | @$(MKCONFIG) $(@:_config=) ppc mpc824x hidden_dragon |
1675 | 1686 | ||
1676 | kvme080_config: unconfig | 1687 | kvme080_config: unconfig |
1677 | @$(MKCONFIG) $(@:_config=) ppc mpc824x kvme080 etin | 1688 | @$(MKCONFIG) $(@:_config=) ppc mpc824x kvme080 etin |
1678 | 1689 | ||
1679 | # HDLAN is broken ATM. Should be fixed as soon as hardware is available and as | 1690 | # HDLAN is broken ATM. Should be fixed as soon as hardware is available and as |
1680 | # time permits. | 1691 | # time permits. |
1681 | #linkstation_HDLAN_config \ | 1692 | #linkstation_HDLAN_config \ |
1682 | # Remove this line when HDLAN is fixed | 1693 | # Remove this line when HDLAN is fixed |
1683 | linkstation_HGLAN_config: unconfig | 1694 | linkstation_HGLAN_config: unconfig |
1684 | @mkdir -p $(obj)include | 1695 | @mkdir -p $(obj)include |
1685 | @case $@ in \ | 1696 | @case $@ in \ |
1686 | *HGLAN*) echo "#define CONFIG_HGLAN 1" >$(obj)include/config.h; ;; \ | 1697 | *HGLAN*) echo "#define CONFIG_HGLAN 1" >$(obj)include/config.h; ;; \ |
1687 | *HDLAN*) echo "#define CONFIG_HLAN 1" >$(obj)include/config.h; ;; \ | 1698 | *HDLAN*) echo "#define CONFIG_HLAN 1" >$(obj)include/config.h; ;; \ |
1688 | esac | 1699 | esac |
1689 | @$(MKCONFIG) -n $@ -a linkstation ppc mpc824x linkstation | 1700 | @$(MKCONFIG) -n $@ -a linkstation ppc mpc824x linkstation |
1690 | 1701 | ||
1691 | MOUSSE_config: unconfig | 1702 | MOUSSE_config: unconfig |
1692 | @$(MKCONFIG) $(@:_config=) ppc mpc824x mousse | 1703 | @$(MKCONFIG) $(@:_config=) ppc mpc824x mousse |
1693 | 1704 | ||
1694 | MUSENKI_config: unconfig | 1705 | MUSENKI_config: unconfig |
1695 | @$(MKCONFIG) $(@:_config=) ppc mpc824x musenki | 1706 | @$(MKCONFIG) $(@:_config=) ppc mpc824x musenki |
1696 | 1707 | ||
1697 | MVBLUE_config: unconfig | 1708 | MVBLUE_config: unconfig |
1698 | @$(MKCONFIG) $(@:_config=) ppc mpc824x mvblue | 1709 | @$(MKCONFIG) $(@:_config=) ppc mpc824x mvblue |
1699 | 1710 | ||
1700 | OXC_config: unconfig | 1711 | OXC_config: unconfig |
1701 | @$(MKCONFIG) $(@:_config=) ppc mpc824x oxc | 1712 | @$(MKCONFIG) $(@:_config=) ppc mpc824x oxc |
1702 | 1713 | ||
1703 | PN62_config: unconfig | 1714 | PN62_config: unconfig |
1704 | @$(MKCONFIG) $(@:_config=) ppc mpc824x pn62 | 1715 | @$(MKCONFIG) $(@:_config=) ppc mpc824x pn62 |
1705 | 1716 | ||
1706 | Sandpoint8240_config: unconfig | 1717 | Sandpoint8240_config: unconfig |
1707 | @$(MKCONFIG) $(@:_config=) ppc mpc824x sandpoint | 1718 | @$(MKCONFIG) $(@:_config=) ppc mpc824x sandpoint |
1708 | 1719 | ||
1709 | Sandpoint8245_config: unconfig | 1720 | Sandpoint8245_config: unconfig |
1710 | @$(MKCONFIG) $(@:_config=) ppc mpc824x sandpoint | 1721 | @$(MKCONFIG) $(@:_config=) ppc mpc824x sandpoint |
1711 | 1722 | ||
1712 | sbc8240_config: unconfig | 1723 | sbc8240_config: unconfig |
1713 | @$(MKCONFIG) $(@:_config=) ppc mpc824x sbc8240 | 1724 | @$(MKCONFIG) $(@:_config=) ppc mpc824x sbc8240 |
1714 | 1725 | ||
1715 | SL8245_config: unconfig | 1726 | SL8245_config: unconfig |
1716 | @$(MKCONFIG) $(@:_config=) ppc mpc824x sl8245 | 1727 | @$(MKCONFIG) $(@:_config=) ppc mpc824x sl8245 |
1717 | 1728 | ||
1718 | utx8245_config: unconfig | 1729 | utx8245_config: unconfig |
1719 | @$(MKCONFIG) $(@:_config=) ppc mpc824x utx8245 | 1730 | @$(MKCONFIG) $(@:_config=) ppc mpc824x utx8245 |
1720 | 1731 | ||
1721 | ######################################################################### | 1732 | ######################################################################### |
1722 | ## MPC8260 Systems | 1733 | ## MPC8260 Systems |
1723 | ######################################################################### | 1734 | ######################################################################### |
1724 | 1735 | ||
1725 | atc_config: unconfig | 1736 | atc_config: unconfig |
1726 | @$(MKCONFIG) $(@:_config=) ppc mpc8260 atc | 1737 | @$(MKCONFIG) $(@:_config=) ppc mpc8260 atc |
1727 | 1738 | ||
1728 | cogent_mpc8260_config: unconfig | 1739 | cogent_mpc8260_config: unconfig |
1729 | @$(MKCONFIG) $(@:_config=) ppc mpc8260 cogent | 1740 | @$(MKCONFIG) $(@:_config=) ppc mpc8260 cogent |
1730 | 1741 | ||
1731 | CPU86_config \ | 1742 | CPU86_config \ |
1732 | CPU86_ROMBOOT_config: unconfig | 1743 | CPU86_ROMBOOT_config: unconfig |
1733 | @$(MKCONFIG) $(call xtract_82xx,$@) ppc mpc8260 cpu86 | 1744 | @$(MKCONFIG) $(call xtract_82xx,$@) ppc mpc8260 cpu86 |
1734 | @cd $(obj)include ; \ | 1745 | @cd $(obj)include ; \ |
1735 | if [ "$(findstring _ROMBOOT_,$@)" ] ; then \ | 1746 | if [ "$(findstring _ROMBOOT_,$@)" ] ; then \ |
1736 | echo "CONFIG_BOOT_ROM = y" >> config.mk ; \ | 1747 | echo "CONFIG_BOOT_ROM = y" >> config.mk ; \ |
1737 | $(XECHO) "... booting from 8-bit flash" ; \ | 1748 | $(XECHO) "... booting from 8-bit flash" ; \ |
1738 | else \ | 1749 | else \ |
1739 | echo "CONFIG_BOOT_ROM = n" >> config.mk ; \ | 1750 | echo "CONFIG_BOOT_ROM = n" >> config.mk ; \ |
1740 | $(XECHO) "... booting from 64-bit flash" ; \ | 1751 | $(XECHO) "... booting from 64-bit flash" ; \ |
1741 | fi; \ | 1752 | fi; \ |
1742 | echo "export CONFIG_BOOT_ROM" >> config.mk; | 1753 | echo "export CONFIG_BOOT_ROM" >> config.mk; |
1743 | 1754 | ||
1744 | CPU87_config \ | 1755 | CPU87_config \ |
1745 | CPU87_ROMBOOT_config: unconfig | 1756 | CPU87_ROMBOOT_config: unconfig |
1746 | @$(MKCONFIG) $(call xtract_82xx,$@) ppc mpc8260 cpu87 | 1757 | @$(MKCONFIG) $(call xtract_82xx,$@) ppc mpc8260 cpu87 |
1747 | @cd $(obj)include ; \ | 1758 | @cd $(obj)include ; \ |
1748 | if [ "$(findstring _ROMBOOT_,$@)" ] ; then \ | 1759 | if [ "$(findstring _ROMBOOT_,$@)" ] ; then \ |
1749 | echo "CONFIG_BOOT_ROM = y" >> config.mk ; \ | 1760 | echo "CONFIG_BOOT_ROM = y" >> config.mk ; \ |
1750 | $(XECHO) "... booting from 8-bit flash" ; \ | 1761 | $(XECHO) "... booting from 8-bit flash" ; \ |
1751 | else \ | 1762 | else \ |
1752 | echo "CONFIG_BOOT_ROM = n" >> config.mk ; \ | 1763 | echo "CONFIG_BOOT_ROM = n" >> config.mk ; \ |
1753 | $(XECHO) "... booting from 64-bit flash" ; \ | 1764 | $(XECHO) "... booting from 64-bit flash" ; \ |
1754 | fi; \ | 1765 | fi; \ |
1755 | echo "export CONFIG_BOOT_ROM" >> config.mk; | 1766 | echo "export CONFIG_BOOT_ROM" >> config.mk; |
1756 | 1767 | ||
1757 | ep8248_config \ | 1768 | ep8248_config \ |
1758 | ep8248E_config : unconfig | 1769 | ep8248E_config : unconfig |
1759 | @$(MKCONFIG) ep8248 ppc mpc8260 ep8248 | 1770 | @$(MKCONFIG) ep8248 ppc mpc8260 ep8248 |
1760 | 1771 | ||
1761 | ep8260_config: unconfig | 1772 | ep8260_config: unconfig |
1762 | @$(MKCONFIG) $(@:_config=) ppc mpc8260 ep8260 | 1773 | @$(MKCONFIG) $(@:_config=) ppc mpc8260 ep8260 |
1763 | 1774 | ||
1764 | ep82xxm_config: unconfig | 1775 | ep82xxm_config: unconfig |
1765 | @$(MKCONFIG) $(@:_config=) ppc mpc8260 ep82xxm | 1776 | @$(MKCONFIG) $(@:_config=) ppc mpc8260 ep82xxm |
1766 | 1777 | ||
1767 | gw8260_config: unconfig | 1778 | gw8260_config: unconfig |
1768 | @$(MKCONFIG) $(@:_config=) ppc mpc8260 gw8260 | 1779 | @$(MKCONFIG) $(@:_config=) ppc mpc8260 gw8260 |
1769 | 1780 | ||
1770 | hymod_config: unconfig | 1781 | hymod_config: unconfig |
1771 | @$(MKCONFIG) $(@:_config=) ppc mpc8260 hymod | 1782 | @$(MKCONFIG) $(@:_config=) ppc mpc8260 hymod |
1772 | 1783 | ||
1773 | IDS8247_config: unconfig | 1784 | IDS8247_config: unconfig |
1774 | @$(MKCONFIG) $(@:_config=) ppc mpc8260 ids8247 | 1785 | @$(MKCONFIG) $(@:_config=) ppc mpc8260 ids8247 |
1775 | 1786 | ||
1776 | IPHASE4539_config: unconfig | 1787 | IPHASE4539_config: unconfig |
1777 | @$(MKCONFIG) $(@:_config=) ppc mpc8260 iphase4539 | 1788 | @$(MKCONFIG) $(@:_config=) ppc mpc8260 iphase4539 |
1778 | 1789 | ||
1779 | ISPAN_config \ | 1790 | ISPAN_config \ |
1780 | ISPAN_REVB_config: unconfig | 1791 | ISPAN_REVB_config: unconfig |
1781 | @mkdir -p $(obj)include | 1792 | @mkdir -p $(obj)include |
1782 | @if [ "$(findstring _REVB_,$@)" ] ; then \ | 1793 | @if [ "$(findstring _REVB_,$@)" ] ; then \ |
1783 | echo "#define CONFIG_SYS_REV_B" > $(obj)include/config.h ; \ | 1794 | echo "#define CONFIG_SYS_REV_B" > $(obj)include/config.h ; \ |
1784 | fi | 1795 | fi |
1785 | @$(MKCONFIG) -a ISPAN ppc mpc8260 ispan | 1796 | @$(MKCONFIG) -a ISPAN ppc mpc8260 ispan |
1786 | 1797 | ||
1787 | mgcoge_config : unconfig | 1798 | mgcoge_config : unconfig |
1788 | @$(MKCONFIG) mgcoge ppc mpc8260 mgcoge keymile | 1799 | @$(MKCONFIG) mgcoge ppc mpc8260 mgcoge keymile |
1789 | 1800 | ||
1790 | MPC8260ADS_config \ | 1801 | MPC8260ADS_config \ |
1791 | MPC8260ADS_lowboot_config \ | 1802 | MPC8260ADS_lowboot_config \ |
1792 | MPC8260ADS_33MHz_config \ | 1803 | MPC8260ADS_33MHz_config \ |
1793 | MPC8260ADS_33MHz_lowboot_config \ | 1804 | MPC8260ADS_33MHz_lowboot_config \ |
1794 | MPC8260ADS_40MHz_config \ | 1805 | MPC8260ADS_40MHz_config \ |
1795 | MPC8260ADS_40MHz_lowboot_config \ | 1806 | MPC8260ADS_40MHz_lowboot_config \ |
1796 | MPC8272ADS_config \ | 1807 | MPC8272ADS_config \ |
1797 | MPC8272ADS_lowboot_config \ | 1808 | MPC8272ADS_lowboot_config \ |
1798 | PQ2FADS_config \ | 1809 | PQ2FADS_config \ |
1799 | PQ2FADS_lowboot_config \ | 1810 | PQ2FADS_lowboot_config \ |
1800 | PQ2FADS-VR_config \ | 1811 | PQ2FADS-VR_config \ |
1801 | PQ2FADS-VR_lowboot_config \ | 1812 | PQ2FADS-VR_lowboot_config \ |
1802 | PQ2FADS-ZU_config \ | 1813 | PQ2FADS-ZU_config \ |
1803 | PQ2FADS-ZU_lowboot_config \ | 1814 | PQ2FADS-ZU_lowboot_config \ |
1804 | PQ2FADS-ZU_66MHz_config \ | 1815 | PQ2FADS-ZU_66MHz_config \ |
1805 | PQ2FADS-ZU_66MHz_lowboot_config \ | 1816 | PQ2FADS-ZU_66MHz_lowboot_config \ |
1806 | : unconfig | 1817 | : unconfig |
1807 | @mkdir -p $(obj)include | 1818 | @mkdir -p $(obj)include |
1808 | @mkdir -p $(obj)board/freescale/mpc8260ads | 1819 | @mkdir -p $(obj)board/freescale/mpc8260ads |
1809 | $(if $(findstring PQ2FADS,$@), \ | 1820 | $(if $(findstring PQ2FADS,$@), \ |
1810 | @echo "#define CONFIG_ADSTYPE CONFIG_SYS_PQ2FADS" > $(obj)include/config.h, \ | 1821 | @echo "#define CONFIG_ADSTYPE CONFIG_SYS_PQ2FADS" > $(obj)include/config.h, \ |
1811 | @echo "#define CONFIG_ADSTYPE CONFIG_SYS_"$(subst MPC,,$(word 1,$(subst _, ,$@))) > $(obj)include/config.h) | 1822 | @echo "#define CONFIG_ADSTYPE CONFIG_SYS_"$(subst MPC,,$(word 1,$(subst _, ,$@))) > $(obj)include/config.h) |
1812 | $(if $(findstring MHz,$@), \ | 1823 | $(if $(findstring MHz,$@), \ |
1813 | @echo "#define CONFIG_8260_CLKIN" $(subst MHz,,$(word 2,$(subst _, ,$@)))"000000" >> $(obj)include/config.h, \ | 1824 | @echo "#define CONFIG_8260_CLKIN" $(subst MHz,,$(word 2,$(subst _, ,$@)))"000000" >> $(obj)include/config.h, \ |
1814 | $(if $(findstring VR,$@), \ | 1825 | $(if $(findstring VR,$@), \ |
1815 | @echo "#define CONFIG_8260_CLKIN 66000000" >> $(obj)include/config.h)) | 1826 | @echo "#define CONFIG_8260_CLKIN 66000000" >> $(obj)include/config.h)) |
1816 | @[ -z "$(findstring lowboot_,$@)" ] || \ | 1827 | @[ -z "$(findstring lowboot_,$@)" ] || \ |
1817 | { echo "TEXT_BASE = 0xFF800000" >$(obj)board/freescale/mpc8260ads/config.tmp ; \ | 1828 | { echo "TEXT_BASE = 0xFF800000" >$(obj)board/freescale/mpc8260ads/config.tmp ; \ |
1818 | $(XECHO) "... with lowboot configuration" ; \ | 1829 | $(XECHO) "... with lowboot configuration" ; \ |
1819 | } | 1830 | } |
1820 | @$(MKCONFIG) -a MPC8260ADS ppc mpc8260 mpc8260ads freescale | 1831 | @$(MKCONFIG) -a MPC8260ADS ppc mpc8260 mpc8260ads freescale |
1821 | 1832 | ||
1822 | MPC8266ADS_config: unconfig | 1833 | MPC8266ADS_config: unconfig |
1823 | @$(MKCONFIG) $(@:_config=) ppc mpc8260 mpc8266ads freescale | 1834 | @$(MKCONFIG) $(@:_config=) ppc mpc8260 mpc8266ads freescale |
1824 | 1835 | ||
1825 | muas3001_dev_config \ | 1836 | muas3001_dev_config \ |
1826 | muas3001_config : unconfig | 1837 | muas3001_config : unconfig |
1827 | @mkdir -p $(obj)include | 1838 | @mkdir -p $(obj)include |
1828 | @mkdir -p $(obj)board/muas3001 | 1839 | @mkdir -p $(obj)board/muas3001 |
1829 | @if [ "$(findstring dev,$@)" ] ; then \ | 1840 | @if [ "$(findstring dev,$@)" ] ; then \ |
1830 | echo "#define CONFIG_MUAS_DEV_BOARD" > $(obj)include/config.h ; \ | 1841 | echo "#define CONFIG_MUAS_DEV_BOARD" > $(obj)include/config.h ; \ |
1831 | fi | 1842 | fi |
1832 | @$(MKCONFIG) -a muas3001 ppc mpc8260 muas3001 | 1843 | @$(MKCONFIG) -a muas3001 ppc mpc8260 muas3001 |
1833 | 1844 | ||
1834 | # PM825/PM826 default configuration: small (= 8 MB) Flash / boot from 64-bit flash | 1845 | # PM825/PM826 default configuration: small (= 8 MB) Flash / boot from 64-bit flash |
1835 | PM825_config \ | 1846 | PM825_config \ |
1836 | PM825_ROMBOOT_config \ | 1847 | PM825_ROMBOOT_config \ |
1837 | PM825_BIGFLASH_config \ | 1848 | PM825_BIGFLASH_config \ |
1838 | PM825_ROMBOOT_BIGFLASH_config \ | 1849 | PM825_ROMBOOT_BIGFLASH_config \ |
1839 | PM826_config \ | 1850 | PM826_config \ |
1840 | PM826_ROMBOOT_config \ | 1851 | PM826_ROMBOOT_config \ |
1841 | PM826_BIGFLASH_config \ | 1852 | PM826_BIGFLASH_config \ |
1842 | PM826_ROMBOOT_BIGFLASH_config: unconfig | 1853 | PM826_ROMBOOT_BIGFLASH_config: unconfig |
1843 | @mkdir -p $(obj)include | 1854 | @mkdir -p $(obj)include |
1844 | @mkdir -p $(obj)board/pm826 | 1855 | @mkdir -p $(obj)board/pm826 |
1845 | @if [ "$(findstring PM825_,$@)" ] ; then \ | 1856 | @if [ "$(findstring PM825_,$@)" ] ; then \ |
1846 | echo "#define CONFIG_PCI" >$(obj)include/config.h ; \ | 1857 | echo "#define CONFIG_PCI" >$(obj)include/config.h ; \ |
1847 | else \ | 1858 | else \ |
1848 | >$(obj)include/config.h ; \ | 1859 | >$(obj)include/config.h ; \ |
1849 | fi | 1860 | fi |
1850 | @if [ "$(findstring _ROMBOOT_,$@)" ] ; then \ | 1861 | @if [ "$(findstring _ROMBOOT_,$@)" ] ; then \ |
1851 | $(XECHO) "... booting from 8-bit flash" ; \ | 1862 | $(XECHO) "... booting from 8-bit flash" ; \ |
1852 | echo "#define CONFIG_BOOT_ROM" >>$(obj)include/config.h ; \ | 1863 | echo "#define CONFIG_BOOT_ROM" >>$(obj)include/config.h ; \ |
1853 | echo "TEXT_BASE = 0xFF800000" >$(obj)board/pm826/config.tmp ; \ | 1864 | echo "TEXT_BASE = 0xFF800000" >$(obj)board/pm826/config.tmp ; \ |
1854 | if [ "$(findstring _BIGFLASH_,$@)" ] ; then \ | 1865 | if [ "$(findstring _BIGFLASH_,$@)" ] ; then \ |
1855 | $(XECHO) "... with 32 MB Flash" ; \ | 1866 | $(XECHO) "... with 32 MB Flash" ; \ |
1856 | echo "#define CONFIG_FLASH_32MB" >>$(obj)include/config.h ; \ | 1867 | echo "#define CONFIG_FLASH_32MB" >>$(obj)include/config.h ; \ |
1857 | fi; \ | 1868 | fi; \ |
1858 | else \ | 1869 | else \ |
1859 | $(XECHO) "... booting from 64-bit flash" ; \ | 1870 | $(XECHO) "... booting from 64-bit flash" ; \ |
1860 | if [ "$(findstring _BIGFLASH_,$@)" ] ; then \ | 1871 | if [ "$(findstring _BIGFLASH_,$@)" ] ; then \ |
1861 | $(XECHO) "... with 32 MB Flash" ; \ | 1872 | $(XECHO) "... with 32 MB Flash" ; \ |
1862 | echo "#define CONFIG_FLASH_32MB" >>$(obj)include/config.h ; \ | 1873 | echo "#define CONFIG_FLASH_32MB" >>$(obj)include/config.h ; \ |
1863 | echo "TEXT_BASE = 0x40000000" >$(obj)board/pm826/config.tmp ; \ | 1874 | echo "TEXT_BASE = 0x40000000" >$(obj)board/pm826/config.tmp ; \ |
1864 | else \ | 1875 | else \ |
1865 | echo "TEXT_BASE = 0xFF000000" >$(obj)board/pm826/config.tmp ; \ | 1876 | echo "TEXT_BASE = 0xFF000000" >$(obj)board/pm826/config.tmp ; \ |
1866 | fi; \ | 1877 | fi; \ |
1867 | fi | 1878 | fi |
1868 | @$(MKCONFIG) -a PM826 ppc mpc8260 pm826 | 1879 | @$(MKCONFIG) -a PM826 ppc mpc8260 pm826 |
1869 | 1880 | ||
1870 | PM828_config \ | 1881 | PM828_config \ |
1871 | PM828_PCI_config \ | 1882 | PM828_PCI_config \ |
1872 | PM828_ROMBOOT_config \ | 1883 | PM828_ROMBOOT_config \ |
1873 | PM828_ROMBOOT_PCI_config: unconfig | 1884 | PM828_ROMBOOT_PCI_config: unconfig |
1874 | @mkdir -p $(obj)include | 1885 | @mkdir -p $(obj)include |
1875 | @mkdir -p $(obj)board/pm826 | 1886 | @mkdir -p $(obj)board/pm826 |
1876 | @if [ "$(findstring _PCI_,$@)" ] ; then \ | 1887 | @if [ "$(findstring _PCI_,$@)" ] ; then \ |
1877 | echo "#define CONFIG_PCI" >>$(obj)include/config.h ; \ | 1888 | echo "#define CONFIG_PCI" >>$(obj)include/config.h ; \ |
1878 | $(XECHO) "... with PCI enabled" ; \ | 1889 | $(XECHO) "... with PCI enabled" ; \ |
1879 | fi | 1890 | fi |
1880 | @if [ "$(findstring _ROMBOOT_,$@)" ] ; then \ | 1891 | @if [ "$(findstring _ROMBOOT_,$@)" ] ; then \ |
1881 | $(XECHO) "... booting from 8-bit flash" ; \ | 1892 | $(XECHO) "... booting from 8-bit flash" ; \ |
1882 | echo "#define CONFIG_BOOT_ROM" >>$(obj)include/config.h ; \ | 1893 | echo "#define CONFIG_BOOT_ROM" >>$(obj)include/config.h ; \ |
1883 | echo "TEXT_BASE = 0xFF800000" >$(obj)board/pm826/config.tmp ; \ | 1894 | echo "TEXT_BASE = 0xFF800000" >$(obj)board/pm826/config.tmp ; \ |
1884 | fi | 1895 | fi |
1885 | @$(MKCONFIG) -a PM828 ppc mpc8260 pm828 | 1896 | @$(MKCONFIG) -a PM828 ppc mpc8260 pm828 |
1886 | 1897 | ||
1887 | ppmc8260_config: unconfig | 1898 | ppmc8260_config: unconfig |
1888 | @$(MKCONFIG) $(@:_config=) ppc mpc8260 ppmc8260 | 1899 | @$(MKCONFIG) $(@:_config=) ppc mpc8260 ppmc8260 |
1889 | 1900 | ||
1890 | Rattler8248_config \ | 1901 | Rattler8248_config \ |
1891 | Rattler_config: unconfig | 1902 | Rattler_config: unconfig |
1892 | @mkdir -p $(obj)include | 1903 | @mkdir -p $(obj)include |
1893 | $(if $(findstring 8248,$@), \ | 1904 | $(if $(findstring 8248,$@), \ |
1894 | @echo "#define CONFIG_MPC8248" > $(obj)include/config.h) | 1905 | @echo "#define CONFIG_MPC8248" > $(obj)include/config.h) |
1895 | @$(MKCONFIG) -a Rattler ppc mpc8260 rattler | 1906 | @$(MKCONFIG) -a Rattler ppc mpc8260 rattler |
1896 | 1907 | ||
1897 | RPXsuper_config: unconfig | 1908 | RPXsuper_config: unconfig |
1898 | @$(MKCONFIG) $(@:_config=) ppc mpc8260 rpxsuper | 1909 | @$(MKCONFIG) $(@:_config=) ppc mpc8260 rpxsuper |
1899 | 1910 | ||
1900 | rsdproto_config: unconfig | 1911 | rsdproto_config: unconfig |
1901 | @$(MKCONFIG) $(@:_config=) ppc mpc8260 rsdproto | 1912 | @$(MKCONFIG) $(@:_config=) ppc mpc8260 rsdproto |
1902 | 1913 | ||
1903 | sacsng_config: unconfig | 1914 | sacsng_config: unconfig |
1904 | @$(MKCONFIG) $(@:_config=) ppc mpc8260 sacsng | 1915 | @$(MKCONFIG) $(@:_config=) ppc mpc8260 sacsng |
1905 | 1916 | ||
1906 | sbc8260_config: unconfig | 1917 | sbc8260_config: unconfig |
1907 | @$(MKCONFIG) $(@:_config=) ppc mpc8260 sbc8260 | 1918 | @$(MKCONFIG) $(@:_config=) ppc mpc8260 sbc8260 |
1908 | 1919 | ||
1909 | SCM_config: unconfig | 1920 | SCM_config: unconfig |
1910 | @$(MKCONFIG) $(@:_config=) ppc mpc8260 SCM siemens | 1921 | @$(MKCONFIG) $(@:_config=) ppc mpc8260 SCM siemens |
1911 | 1922 | ||
1912 | TQM8255_AA_config \ | 1923 | TQM8255_AA_config \ |
1913 | TQM8260_AA_config \ | 1924 | TQM8260_AA_config \ |
1914 | TQM8260_AB_config \ | 1925 | TQM8260_AB_config \ |
1915 | TQM8260_AC_config \ | 1926 | TQM8260_AC_config \ |
1916 | TQM8260_AD_config \ | 1927 | TQM8260_AD_config \ |
1917 | TQM8260_AE_config \ | 1928 | TQM8260_AE_config \ |
1918 | TQM8260_AF_config \ | 1929 | TQM8260_AF_config \ |
1919 | TQM8260_AG_config \ | 1930 | TQM8260_AG_config \ |
1920 | TQM8260_AH_config \ | 1931 | TQM8260_AH_config \ |
1921 | TQM8260_AI_config \ | 1932 | TQM8260_AI_config \ |
1922 | TQM8265_AA_config: unconfig | 1933 | TQM8265_AA_config: unconfig |
1923 | @mkdir -p $(obj)include | 1934 | @mkdir -p $(obj)include |
1924 | @case "$@" in \ | 1935 | @case "$@" in \ |
1925 | TQM8255_AA_config) CTYPE=MPC8255; CFREQ=300; CACHE=no; BMODE=8260;; \ | 1936 | TQM8255_AA_config) CTYPE=MPC8255; CFREQ=300; CACHE=no; BMODE=8260;; \ |
1926 | TQM8260_AA_config) CTYPE=MPC8260; CFREQ=200; CACHE=no; BMODE=8260;; \ | 1937 | TQM8260_AA_config) CTYPE=MPC8260; CFREQ=200; CACHE=no; BMODE=8260;; \ |
1927 | TQM8260_AB_config) CTYPE=MPC8260; CFREQ=200; CACHE=yes; BMODE=60x;; \ | 1938 | TQM8260_AB_config) CTYPE=MPC8260; CFREQ=200; CACHE=yes; BMODE=60x;; \ |
1928 | TQM8260_AC_config) CTYPE=MPC8260; CFREQ=200; CACHE=yes; BMODE=60x;; \ | 1939 | TQM8260_AC_config) CTYPE=MPC8260; CFREQ=200; CACHE=yes; BMODE=60x;; \ |
1929 | TQM8260_AD_config) CTYPE=MPC8260; CFREQ=300; CACHE=no; BMODE=60x;; \ | 1940 | TQM8260_AD_config) CTYPE=MPC8260; CFREQ=300; CACHE=no; BMODE=60x;; \ |
1930 | TQM8260_AE_config) CTYPE=MPC8260; CFREQ=266; CACHE=no; BMODE=8260;; \ | 1941 | TQM8260_AE_config) CTYPE=MPC8260; CFREQ=266; CACHE=no; BMODE=8260;; \ |
1931 | TQM8260_AF_config) CTYPE=MPC8260; CFREQ=300; CACHE=no; BMODE=60x;; \ | 1942 | TQM8260_AF_config) CTYPE=MPC8260; CFREQ=300; CACHE=no; BMODE=60x;; \ |
1932 | TQM8260_AG_config) CTYPE=MPC8260; CFREQ=300; CACHE=no; BMODE=8260;; \ | 1943 | TQM8260_AG_config) CTYPE=MPC8260; CFREQ=300; CACHE=no; BMODE=8260;; \ |
1933 | TQM8260_AH_config) CTYPE=MPC8260; CFREQ=300; CACHE=yes; BMODE=60x;; \ | 1944 | TQM8260_AH_config) CTYPE=MPC8260; CFREQ=300; CACHE=yes; BMODE=60x;; \ |
1934 | TQM8260_AI_config) CTYPE=MPC8260; CFREQ=300; CACHE=no; BMODE=60x;; \ | 1945 | TQM8260_AI_config) CTYPE=MPC8260; CFREQ=300; CACHE=no; BMODE=60x;; \ |
1935 | TQM8265_AA_config) CTYPE=MPC8265; CFREQ=300; CACHE=no; BMODE=60x;; \ | 1946 | TQM8265_AA_config) CTYPE=MPC8265; CFREQ=300; CACHE=no; BMODE=60x;; \ |
1936 | esac; \ | 1947 | esac; \ |
1937 | if [ "$${CTYPE}" != "MPC8260" ] ; then \ | 1948 | if [ "$${CTYPE}" != "MPC8260" ] ; then \ |
1938 | echo "#define CONFIG_$${CTYPE}" >>$(obj)include/config.h ; \ | 1949 | echo "#define CONFIG_$${CTYPE}" >>$(obj)include/config.h ; \ |
1939 | fi; \ | 1950 | fi; \ |
1940 | echo "#define CONFIG_$${CFREQ}MHz" >>$(obj)include/config.h ; \ | 1951 | echo "#define CONFIG_$${CFREQ}MHz" >>$(obj)include/config.h ; \ |
1941 | echo "... with $${CFREQ}MHz system clock" ; \ | 1952 | echo "... with $${CFREQ}MHz system clock" ; \ |
1942 | if [ "$${CACHE}" = "yes" ] ; then \ | 1953 | if [ "$${CACHE}" = "yes" ] ; then \ |
1943 | echo "#define CONFIG_L2_CACHE" >>$(obj)include/config.h ; \ | 1954 | echo "#define CONFIG_L2_CACHE" >>$(obj)include/config.h ; \ |
1944 | $(XECHO) "... with L2 Cache support" ; \ | 1955 | $(XECHO) "... with L2 Cache support" ; \ |
1945 | else \ | 1956 | else \ |
1946 | echo "#undef CONFIG_L2_CACHE" >>$(obj)include/config.h ; \ | 1957 | echo "#undef CONFIG_L2_CACHE" >>$(obj)include/config.h ; \ |
1947 | $(XECHO) "... without L2 Cache support" ; \ | 1958 | $(XECHO) "... without L2 Cache support" ; \ |
1948 | fi; \ | 1959 | fi; \ |
1949 | if [ "$${BMODE}" = "60x" ] ; then \ | 1960 | if [ "$${BMODE}" = "60x" ] ; then \ |
1950 | echo "#define CONFIG_BUSMODE_60x" >>$(obj)include/config.h ; \ | 1961 | echo "#define CONFIG_BUSMODE_60x" >>$(obj)include/config.h ; \ |
1951 | $(XECHO) "... with 60x Bus Mode" ; \ | 1962 | $(XECHO) "... with 60x Bus Mode" ; \ |
1952 | else \ | 1963 | else \ |
1953 | echo "#undef CONFIG_BUSMODE_60x" >>$(obj)include/config.h ; \ | 1964 | echo "#undef CONFIG_BUSMODE_60x" >>$(obj)include/config.h ; \ |
1954 | $(XECHO) "... without 60x Bus Mode" ; \ | 1965 | $(XECHO) "... without 60x Bus Mode" ; \ |
1955 | fi | 1966 | fi |
1956 | @$(MKCONFIG) -a TQM8260 ppc mpc8260 tqm8260 tqc | 1967 | @$(MKCONFIG) -a TQM8260 ppc mpc8260 tqm8260 tqc |
1957 | 1968 | ||
1958 | TQM8272_config: unconfig | 1969 | TQM8272_config: unconfig |
1959 | @$(MKCONFIG) TQM8272 ppc mpc8260 tqm8272 tqc | 1970 | @$(MKCONFIG) TQM8272 ppc mpc8260 tqm8272 tqc |
1960 | 1971 | ||
1961 | VoVPN-GW_66MHz_config \ | 1972 | VoVPN-GW_66MHz_config \ |
1962 | VoVPN-GW_100MHz_config: unconfig | 1973 | VoVPN-GW_100MHz_config: unconfig |
1963 | @mkdir -p $(obj)include | 1974 | @mkdir -p $(obj)include |
1964 | @echo "#define CONFIG_CLKIN_$(word 2,$(subst _, ,$@))" > $(obj)include/config.h | 1975 | @echo "#define CONFIG_CLKIN_$(word 2,$(subst _, ,$@))" > $(obj)include/config.h |
1965 | @$(MKCONFIG) -a VoVPN-GW ppc mpc8260 vovpn-gw funkwerk | 1976 | @$(MKCONFIG) -a VoVPN-GW ppc mpc8260 vovpn-gw funkwerk |
1966 | 1977 | ||
1967 | ZPC1900_config: unconfig | 1978 | ZPC1900_config: unconfig |
1968 | @$(MKCONFIG) $(@:_config=) ppc mpc8260 zpc1900 | 1979 | @$(MKCONFIG) $(@:_config=) ppc mpc8260 zpc1900 |
1969 | 1980 | ||
1970 | ######################################################################### | 1981 | ######################################################################### |
1971 | ## Coldfire | 1982 | ## Coldfire |
1972 | ######################################################################### | 1983 | ######################################################################### |
1973 | 1984 | ||
1974 | M52277EVB_config \ | 1985 | M52277EVB_config \ |
1975 | M52277EVB_spansion_config \ | 1986 | M52277EVB_spansion_config \ |
1976 | M52277EVB_stmicro_config : unconfig | 1987 | M52277EVB_stmicro_config : unconfig |
1977 | @case "$@" in \ | 1988 | @case "$@" in \ |
1978 | M52277EVB_config) FLASH=SPANSION;; \ | 1989 | M52277EVB_config) FLASH=SPANSION;; \ |
1979 | M52277EVB_spansion_config) FLASH=SPANSION;; \ | 1990 | M52277EVB_spansion_config) FLASH=SPANSION;; \ |
1980 | M52277EVB_stmicro_config) FLASH=STMICRO;; \ | 1991 | M52277EVB_stmicro_config) FLASH=STMICRO;; \ |
1981 | esac; \ | 1992 | esac; \ |
1982 | if [ "$${FLASH}" = "SPANSION" ] ; then \ | 1993 | if [ "$${FLASH}" = "SPANSION" ] ; then \ |
1983 | echo "#define CONFIG_SYS_SPANSION_BOOT" >> $(obj)include/config.h ; \ | 1994 | echo "#define CONFIG_SYS_SPANSION_BOOT" >> $(obj)include/config.h ; \ |
1984 | echo "TEXT_BASE = 0x00000000" > $(obj)board/freescale/m52277evb/config.tmp ; \ | 1995 | echo "TEXT_BASE = 0x00000000" > $(obj)board/freescale/m52277evb/config.tmp ; \ |
1985 | cp $(obj)board/freescale/m52277evb/u-boot.spa $(obj)board/freescale/m52277evb/u-boot.lds ; \ | 1996 | cp $(obj)board/freescale/m52277evb/u-boot.spa $(obj)board/freescale/m52277evb/u-boot.lds ; \ |
1986 | $(XECHO) "... with SPANSION boot..." ; \ | 1997 | $(XECHO) "... with SPANSION boot..." ; \ |
1987 | fi; \ | 1998 | fi; \ |
1988 | if [ "$${FLASH}" = "STMICRO" ] ; then \ | 1999 | if [ "$${FLASH}" = "STMICRO" ] ; then \ |
1989 | echo "#define CONFIG_CF_SBF" >> $(obj)include/config.h ; \ | 2000 | echo "#define CONFIG_CF_SBF" >> $(obj)include/config.h ; \ |
1990 | echo "#define CONFIG_SYS_STMICRO_BOOT" >> $(obj)include/config.h ; \ | 2001 | echo "#define CONFIG_SYS_STMICRO_BOOT" >> $(obj)include/config.h ; \ |
1991 | echo "TEXT_BASE = 0x43E00000" > $(obj)board/freescale/m52277evb/config.tmp ; \ | 2002 | echo "TEXT_BASE = 0x43E00000" > $(obj)board/freescale/m52277evb/config.tmp ; \ |
1992 | cp $(obj)board/freescale/m52277evb/u-boot.stm $(obj)board/freescale/m52277evb/u-boot.lds ; \ | 2003 | cp $(obj)board/freescale/m52277evb/u-boot.stm $(obj)board/freescale/m52277evb/u-boot.lds ; \ |
1993 | $(XECHO) "... with ST Micro boot..." ; \ | 2004 | $(XECHO) "... with ST Micro boot..." ; \ |
1994 | fi | 2005 | fi |
1995 | @$(MKCONFIG) -a M52277EVB m68k mcf5227x m52277evb freescale | 2006 | @$(MKCONFIG) -a M52277EVB m68k mcf5227x m52277evb freescale |
1996 | 2007 | ||
1997 | M5235EVB_config \ | 2008 | M5235EVB_config \ |
1998 | M5235EVB_Flash16_config \ | 2009 | M5235EVB_Flash16_config \ |
1999 | M5235EVB_Flash32_config: unconfig | 2010 | M5235EVB_Flash32_config: unconfig |
2000 | @case "$@" in \ | 2011 | @case "$@" in \ |
2001 | M5235EVB_config) FLASH=16;; \ | 2012 | M5235EVB_config) FLASH=16;; \ |
2002 | M5235EVB_Flash16_config) FLASH=16;; \ | 2013 | M5235EVB_Flash16_config) FLASH=16;; \ |
2003 | M5235EVB_Flash32_config) FLASH=32;; \ | 2014 | M5235EVB_Flash32_config) FLASH=32;; \ |
2004 | esac; \ | 2015 | esac; \ |
2005 | if [ "$${FLASH}" != "16" ] ; then \ | 2016 | if [ "$${FLASH}" != "16" ] ; then \ |
2006 | echo "#define NORFLASH_PS32BIT 1" >> $(obj)include/config.h ; \ | 2017 | echo "#define NORFLASH_PS32BIT 1" >> $(obj)include/config.h ; \ |
2007 | echo "TEXT_BASE = 0xFFC00000" > $(obj)board/freescale/m5235evb/config.tmp ; \ | 2018 | echo "TEXT_BASE = 0xFFC00000" > $(obj)board/freescale/m5235evb/config.tmp ; \ |
2008 | cp $(obj)board/freescale/m5235evb/u-boot.32 $(obj)board/freescale/m5235evb/u-boot.lds ; \ | 2019 | cp $(obj)board/freescale/m5235evb/u-boot.32 $(obj)board/freescale/m5235evb/u-boot.lds ; \ |
2009 | else \ | 2020 | else \ |
2010 | echo "TEXT_BASE = 0xFFE00000" > $(obj)board/freescale/m5235evb/config.tmp ; \ | 2021 | echo "TEXT_BASE = 0xFFE00000" > $(obj)board/freescale/m5235evb/config.tmp ; \ |
2011 | cp $(obj)board/freescale/m5235evb/u-boot.16 $(obj)board/freescale/m5235evb/u-boot.lds ; \ | 2022 | cp $(obj)board/freescale/m5235evb/u-boot.16 $(obj)board/freescale/m5235evb/u-boot.lds ; \ |
2012 | fi | 2023 | fi |
2013 | @$(MKCONFIG) -a M5235EVB m68k mcf523x m5235evb freescale | 2024 | @$(MKCONFIG) -a M5235EVB m68k mcf523x m5235evb freescale |
2014 | 2025 | ||
2015 | M5249EVB_config : unconfig | 2026 | M5249EVB_config : unconfig |
2016 | @$(MKCONFIG) $(@:_config=) m68k mcf52x2 m5249evb freescale | 2027 | @$(MKCONFIG) $(@:_config=) m68k mcf52x2 m5249evb freescale |
2017 | 2028 | ||
2018 | M5253DEMO_config : unconfig | 2029 | M5253DEMO_config : unconfig |
2019 | @$(MKCONFIG) $(@:_config=) m68k mcf52x2 m5253demo freescale | 2030 | @$(MKCONFIG) $(@:_config=) m68k mcf52x2 m5253demo freescale |
2020 | 2031 | ||
2021 | M5253EVBE_config : unconfig | 2032 | M5253EVBE_config : unconfig |
2022 | @$(MKCONFIG) $(@:_config=) m68k mcf52x2 m5253evbe freescale | 2033 | @$(MKCONFIG) $(@:_config=) m68k mcf52x2 m5253evbe freescale |
2023 | 2034 | ||
2024 | cobra5272_config : unconfig | 2035 | cobra5272_config : unconfig |
2025 | @$(MKCONFIG) $(@:_config=) m68k mcf52x2 cobra5272 | 2036 | @$(MKCONFIG) $(@:_config=) m68k mcf52x2 cobra5272 |
2026 | 2037 | ||
2027 | EB+MCF-EV123_config : unconfig | 2038 | EB+MCF-EV123_config : unconfig |
2028 | @mkdir -p $(obj)include | 2039 | @mkdir -p $(obj)include |
2029 | @mkdir -p $(obj)board/BuS/EB+MCF-EV123 | 2040 | @mkdir -p $(obj)board/BuS/EB+MCF-EV123 |
2030 | @echo "TEXT_BASE = 0xFFE00000"|tee $(obj)board/BuS/EB+MCF-EV123/textbase.mk | 2041 | @echo "TEXT_BASE = 0xFFE00000"|tee $(obj)board/BuS/EB+MCF-EV123/textbase.mk |
2031 | @$(MKCONFIG) EB+MCF-EV123 m68k mcf52x2 EB+MCF-EV123 BuS | 2042 | @$(MKCONFIG) EB+MCF-EV123 m68k mcf52x2 EB+MCF-EV123 BuS |
2032 | 2043 | ||
2033 | EB+MCF-EV123_internal_config : unconfig | 2044 | EB+MCF-EV123_internal_config : unconfig |
2034 | @mkdir -p $(obj)include | 2045 | @mkdir -p $(obj)include |
2035 | @mkdir -p $(obj)board/BuS/EB+MCF-EV123 | 2046 | @mkdir -p $(obj)board/BuS/EB+MCF-EV123 |
2036 | @echo "TEXT_BASE = 0xF0000000"|tee $(obj)board/BuS/EB+MCF-EV123/textbase.mk | 2047 | @echo "TEXT_BASE = 0xF0000000"|tee $(obj)board/BuS/EB+MCF-EV123/textbase.mk |
2037 | @$(MKCONFIG) EB+MCF-EV123 m68k mcf52x2 EB+MCF-EV123 BuS | 2048 | @$(MKCONFIG) EB+MCF-EV123 m68k mcf52x2 EB+MCF-EV123 BuS |
2038 | 2049 | ||
2039 | idmr_config : unconfig | 2050 | idmr_config : unconfig |
2040 | @$(MKCONFIG) $(@:_config=) m68k mcf52x2 idmr | 2051 | @$(MKCONFIG) $(@:_config=) m68k mcf52x2 idmr |
2041 | 2052 | ||
2042 | M5271EVB_config : unconfig | 2053 | M5271EVB_config : unconfig |
2043 | @$(MKCONFIG) $(@:_config=) m68k mcf52x2 m5271evb freescale | 2054 | @$(MKCONFIG) $(@:_config=) m68k mcf52x2 m5271evb freescale |
2044 | 2055 | ||
2045 | M5272C3_config : unconfig | 2056 | M5272C3_config : unconfig |
2046 | @$(MKCONFIG) $(@:_config=) m68k mcf52x2 m5272c3 freescale | 2057 | @$(MKCONFIG) $(@:_config=) m68k mcf52x2 m5272c3 freescale |
2047 | 2058 | ||
2048 | M5275EVB_config : unconfig | 2059 | M5275EVB_config : unconfig |
2049 | @$(MKCONFIG) $(@:_config=) m68k mcf52x2 m5275evb freescale | 2060 | @$(MKCONFIG) $(@:_config=) m68k mcf52x2 m5275evb freescale |
2050 | 2061 | ||
2051 | M5282EVB_config : unconfig | 2062 | M5282EVB_config : unconfig |
2052 | @$(MKCONFIG) $(@:_config=) m68k mcf52x2 m5282evb freescale | 2063 | @$(MKCONFIG) $(@:_config=) m68k mcf52x2 m5282evb freescale |
2053 | 2064 | ||
2054 | M53017EVB_config : unconfig | 2065 | M53017EVB_config : unconfig |
2055 | @$(MKCONFIG) $(@:_config=) m68k mcf532x m53017evb freescale | 2066 | @$(MKCONFIG) $(@:_config=) m68k mcf532x m53017evb freescale |
2056 | 2067 | ||
2057 | M5329AFEE_config \ | 2068 | M5329AFEE_config \ |
2058 | M5329BFEE_config : unconfig | 2069 | M5329BFEE_config : unconfig |
2059 | @case "$@" in \ | 2070 | @case "$@" in \ |
2060 | M5329AFEE_config) NAND=0;; \ | 2071 | M5329AFEE_config) NAND=0;; \ |
2061 | M5329BFEE_config) NAND=16;; \ | 2072 | M5329BFEE_config) NAND=16;; \ |
2062 | esac; \ | 2073 | esac; \ |
2063 | if [ "$${NAND}" != "0" ] ; then \ | 2074 | if [ "$${NAND}" != "0" ] ; then \ |
2064 | echo "#define NANDFLASH_SIZE $${NAND}" > $(obj)include/config.h ; \ | 2075 | echo "#define NANDFLASH_SIZE $${NAND}" > $(obj)include/config.h ; \ |
2065 | fi | 2076 | fi |
2066 | @$(MKCONFIG) -a M5329EVB m68k mcf532x m5329evb freescale | 2077 | @$(MKCONFIG) -a M5329EVB m68k mcf532x m5329evb freescale |
2067 | 2078 | ||
2068 | M5373EVB_config : unconfig | 2079 | M5373EVB_config : unconfig |
2069 | @case "$@" in \ | 2080 | @case "$@" in \ |
2070 | M5373EVB_config) NAND=16;; \ | 2081 | M5373EVB_config) NAND=16;; \ |
2071 | esac; \ | 2082 | esac; \ |
2072 | if [ "$${NAND}" != "0" ] ; then \ | 2083 | if [ "$${NAND}" != "0" ] ; then \ |
2073 | echo "#define NANDFLASH_SIZE $${NAND}" > $(obj)include/config.h ; \ | 2084 | echo "#define NANDFLASH_SIZE $${NAND}" > $(obj)include/config.h ; \ |
2074 | fi | 2085 | fi |
2075 | @$(MKCONFIG) -a M5373EVB m68k mcf532x m5373evb freescale | 2086 | @$(MKCONFIG) -a M5373EVB m68k mcf532x m5373evb freescale |
2076 | 2087 | ||
2077 | M54451EVB_config \ | 2088 | M54451EVB_config \ |
2078 | M54451EVB_spansion_config \ | 2089 | M54451EVB_spansion_config \ |
2079 | M54451EVB_stmicro_config : unconfig | 2090 | M54451EVB_stmicro_config : unconfig |
2080 | @case "$@" in \ | 2091 | @case "$@" in \ |
2081 | M54451EVB_config) FLASH=SPANSION;; \ | 2092 | M54451EVB_config) FLASH=SPANSION;; \ |
2082 | M54451EVB_spansion_config) FLASH=SPANSION;; \ | 2093 | M54451EVB_spansion_config) FLASH=SPANSION;; \ |
2083 | M54451EVB_stmicro_config) FLASH=STMICRO;; \ | 2094 | M54451EVB_stmicro_config) FLASH=STMICRO;; \ |
2084 | esac; \ | 2095 | esac; \ |
2085 | if [ "$${FLASH}" = "SPANSION" ] ; then \ | 2096 | if [ "$${FLASH}" = "SPANSION" ] ; then \ |
2086 | echo "#define CONFIG_SYS_SPANSION_BOOT" >> $(obj)include/config.h ; \ | 2097 | echo "#define CONFIG_SYS_SPANSION_BOOT" >> $(obj)include/config.h ; \ |
2087 | echo "TEXT_BASE = 0x00000000" > $(obj)board/freescale/m54451evb/config.tmp ; \ | 2098 | echo "TEXT_BASE = 0x00000000" > $(obj)board/freescale/m54451evb/config.tmp ; \ |
2088 | cp $(obj)board/freescale/m54451evb/u-boot.spa $(obj)board/freescale/m54451evb/u-boot.lds ; \ | 2099 | cp $(obj)board/freescale/m54451evb/u-boot.spa $(obj)board/freescale/m54451evb/u-boot.lds ; \ |
2089 | $(XECHO) "... with SPANSION boot..." ; \ | 2100 | $(XECHO) "... with SPANSION boot..." ; \ |
2090 | fi; \ | 2101 | fi; \ |
2091 | if [ "$${FLASH}" = "STMICRO" ] ; then \ | 2102 | if [ "$${FLASH}" = "STMICRO" ] ; then \ |
2092 | echo "#define CONFIG_CF_SBF" >> $(obj)include/config.h ; \ | 2103 | echo "#define CONFIG_CF_SBF" >> $(obj)include/config.h ; \ |
2093 | echo "#define CONFIG_SYS_STMICRO_BOOT" >> $(obj)include/config.h ; \ | 2104 | echo "#define CONFIG_SYS_STMICRO_BOOT" >> $(obj)include/config.h ; \ |
2094 | echo "TEXT_BASE = 0x47E00000" > $(obj)board/freescale/m54451evb/config.tmp ; \ | 2105 | echo "TEXT_BASE = 0x47E00000" > $(obj)board/freescale/m54451evb/config.tmp ; \ |
2095 | cp $(obj)board/freescale/m54451evb/u-boot.stm $(obj)board/freescale/m54451evb/u-boot.lds ; \ | 2106 | cp $(obj)board/freescale/m54451evb/u-boot.stm $(obj)board/freescale/m54451evb/u-boot.lds ; \ |
2096 | $(XECHO) "... with ST Micro boot..." ; \ | 2107 | $(XECHO) "... with ST Micro boot..." ; \ |
2097 | fi; \ | 2108 | fi; \ |
2098 | echo "#define CONFIG_SYS_INPUT_CLKSRC 24000000" >> $(obj)include/config.h ; | 2109 | echo "#define CONFIG_SYS_INPUT_CLKSRC 24000000" >> $(obj)include/config.h ; |
2099 | @$(MKCONFIG) -a M54451EVB m68k mcf5445x m54451evb freescale | 2110 | @$(MKCONFIG) -a M54451EVB m68k mcf5445x m54451evb freescale |
2100 | 2111 | ||
2101 | M54455EVB_config \ | 2112 | M54455EVB_config \ |
2102 | M54455EVB_atmel_config \ | 2113 | M54455EVB_atmel_config \ |
2103 | M54455EVB_intel_config \ | 2114 | M54455EVB_intel_config \ |
2104 | M54455EVB_a33_config \ | 2115 | M54455EVB_a33_config \ |
2105 | M54455EVB_a66_config \ | 2116 | M54455EVB_a66_config \ |
2106 | M54455EVB_i33_config \ | 2117 | M54455EVB_i33_config \ |
2107 | M54455EVB_i66_config \ | 2118 | M54455EVB_i66_config \ |
2108 | M54455EVB_stm33_config : unconfig | 2119 | M54455EVB_stm33_config : unconfig |
2109 | @case "$@" in \ | 2120 | @case "$@" in \ |
2110 | M54455EVB_config) FLASH=ATMEL; FREQ=33333333;; \ | 2121 | M54455EVB_config) FLASH=ATMEL; FREQ=33333333;; \ |
2111 | M54455EVB_atmel_config) FLASH=ATMEL; FREQ=33333333;; \ | 2122 | M54455EVB_atmel_config) FLASH=ATMEL; FREQ=33333333;; \ |
2112 | M54455EVB_intel_config) FLASH=INTEL; FREQ=33333333;; \ | 2123 | M54455EVB_intel_config) FLASH=INTEL; FREQ=33333333;; \ |
2113 | M54455EVB_a33_config) FLASH=ATMEL; FREQ=33333333;; \ | 2124 | M54455EVB_a33_config) FLASH=ATMEL; FREQ=33333333;; \ |
2114 | M54455EVB_a66_config) FLASH=ATMEL; FREQ=66666666;; \ | 2125 | M54455EVB_a66_config) FLASH=ATMEL; FREQ=66666666;; \ |
2115 | M54455EVB_i33_config) FLASH=INTEL; FREQ=33333333;; \ | 2126 | M54455EVB_i33_config) FLASH=INTEL; FREQ=33333333;; \ |
2116 | M54455EVB_i66_config) FLASH=INTEL; FREQ=66666666;; \ | 2127 | M54455EVB_i66_config) FLASH=INTEL; FREQ=66666666;; \ |
2117 | M54455EVB_stm33_config) FLASH=STMICRO; FREQ=33333333;; \ | 2128 | M54455EVB_stm33_config) FLASH=STMICRO; FREQ=33333333;; \ |
2118 | esac; \ | 2129 | esac; \ |
2119 | if [ "$${FLASH}" = "INTEL" ] ; then \ | 2130 | if [ "$${FLASH}" = "INTEL" ] ; then \ |
2120 | echo "#define CONFIG_SYS_INTEL_BOOT" >> $(obj)include/config.h ; \ | 2131 | echo "#define CONFIG_SYS_INTEL_BOOT" >> $(obj)include/config.h ; \ |
2121 | echo "TEXT_BASE = 0x00000000" > $(obj)board/freescale/m54455evb/config.tmp ; \ | 2132 | echo "TEXT_BASE = 0x00000000" > $(obj)board/freescale/m54455evb/config.tmp ; \ |
2122 | cp $(obj)board/freescale/m54455evb/u-boot.int $(obj)board/freescale/m54455evb/u-boot.lds ; \ | 2133 | cp $(obj)board/freescale/m54455evb/u-boot.int $(obj)board/freescale/m54455evb/u-boot.lds ; \ |
2123 | $(XECHO) "... with INTEL boot..." ; \ | 2134 | $(XECHO) "... with INTEL boot..." ; \ |
2124 | fi; \ | 2135 | fi; \ |
2125 | if [ "$${FLASH}" = "ATMEL" ] ; then \ | 2136 | if [ "$${FLASH}" = "ATMEL" ] ; then \ |
2126 | echo "#define CONFIG_SYS_ATMEL_BOOT" >> $(obj)include/config.h ; \ | 2137 | echo "#define CONFIG_SYS_ATMEL_BOOT" >> $(obj)include/config.h ; \ |
2127 | echo "TEXT_BASE = 0x04000000" > $(obj)board/freescale/m54455evb/config.tmp ; \ | 2138 | echo "TEXT_BASE = 0x04000000" > $(obj)board/freescale/m54455evb/config.tmp ; \ |
2128 | cp $(obj)board/freescale/m54455evb/u-boot.atm $(obj)board/freescale/m54455evb/u-boot.lds ; \ | 2139 | cp $(obj)board/freescale/m54455evb/u-boot.atm $(obj)board/freescale/m54455evb/u-boot.lds ; \ |
2129 | $(XECHO) "... with ATMEL boot..." ; \ | 2140 | $(XECHO) "... with ATMEL boot..." ; \ |
2130 | fi; \ | 2141 | fi; \ |
2131 | if [ "$${FLASH}" = "STMICRO" ] ; then \ | 2142 | if [ "$${FLASH}" = "STMICRO" ] ; then \ |
2132 | echo "#define CONFIG_CF_SBF" >> $(obj)include/config.h ; \ | 2143 | echo "#define CONFIG_CF_SBF" >> $(obj)include/config.h ; \ |
2133 | echo "#define CONFIG_SYS_STMICRO_BOOT" >> $(obj)include/config.h ; \ | 2144 | echo "#define CONFIG_SYS_STMICRO_BOOT" >> $(obj)include/config.h ; \ |
2134 | echo "TEXT_BASE = 0x4FE00000" > $(obj)board/freescale/m54455evb/config.tmp ; \ | 2145 | echo "TEXT_BASE = 0x4FE00000" > $(obj)board/freescale/m54455evb/config.tmp ; \ |
2135 | cp $(obj)board/freescale/m54455evb/u-boot.stm $(obj)board/freescale/m54455evb/u-boot.lds ; \ | 2146 | cp $(obj)board/freescale/m54455evb/u-boot.stm $(obj)board/freescale/m54455evb/u-boot.lds ; \ |
2136 | $(XECHO) "... with ST Micro boot..." ; \ | 2147 | $(XECHO) "... with ST Micro boot..." ; \ |
2137 | fi; \ | 2148 | fi; \ |
2138 | echo "#define CONFIG_SYS_INPUT_CLKSRC $${FREQ}" >> $(obj)include/config.h ; \ | 2149 | echo "#define CONFIG_SYS_INPUT_CLKSRC $${FREQ}" >> $(obj)include/config.h ; \ |
2139 | $(XECHO) "... with $${FREQ}Hz input clock" | 2150 | $(XECHO) "... with $${FREQ}Hz input clock" |
2140 | @$(MKCONFIG) -a M54455EVB m68k mcf5445x m54455evb freescale | 2151 | @$(MKCONFIG) -a M54455EVB m68k mcf5445x m54455evb freescale |
2141 | 2152 | ||
2142 | M5475AFE_config \ | 2153 | M5475AFE_config \ |
2143 | M5475BFE_config \ | 2154 | M5475BFE_config \ |
2144 | M5475CFE_config \ | 2155 | M5475CFE_config \ |
2145 | M5475DFE_config \ | 2156 | M5475DFE_config \ |
2146 | M5475EFE_config \ | 2157 | M5475EFE_config \ |
2147 | M5475FFE_config \ | 2158 | M5475FFE_config \ |
2148 | M5475GFE_config : unconfig | 2159 | M5475GFE_config : unconfig |
2149 | @case "$@" in \ | 2160 | @case "$@" in \ |
2150 | M5475AFE_config) BOOT=2;CODE=0;VID=0;USB=0;RAM=64;RAM1=0;; \ | 2161 | M5475AFE_config) BOOT=2;CODE=0;VID=0;USB=0;RAM=64;RAM1=0;; \ |
2151 | M5475BFE_config) BOOT=2;CODE=16;VID=0;USB=0;RAM=64;RAM1=0;; \ | 2162 | M5475BFE_config) BOOT=2;CODE=16;VID=0;USB=0;RAM=64;RAM1=0;; \ |
2152 | M5475CFE_config) BOOT=2;CODE=16;VID=1;USB=1;RAM=64;RAM1=0;; \ | 2163 | M5475CFE_config) BOOT=2;CODE=16;VID=1;USB=1;RAM=64;RAM1=0;; \ |
2153 | M5475DFE_config) BOOT=2;CODE=0;VID=0;USB=1;RAM=64;RAM1=0;; \ | 2164 | M5475DFE_config) BOOT=2;CODE=0;VID=0;USB=1;RAM=64;RAM1=0;; \ |
2154 | M5475EFE_config) BOOT=2;CODE=0;VID=1;USB=1;RAM=64;RAM1=0;; \ | 2165 | M5475EFE_config) BOOT=2;CODE=0;VID=1;USB=1;RAM=64;RAM1=0;; \ |
2155 | M5475FFE_config) BOOT=2;CODE=32;VID=1;USB=1;RAM=64;RAM1=64;; \ | 2166 | M5475FFE_config) BOOT=2;CODE=32;VID=1;USB=1;RAM=64;RAM1=64;; \ |
2156 | M5475GFE_config) BOOT=4;CODE=0;VID=0;USB=0;RAM=64;RAM1=0;; \ | 2167 | M5475GFE_config) BOOT=4;CODE=0;VID=0;USB=0;RAM=64;RAM1=0;; \ |
2157 | esac; \ | 2168 | esac; \ |
2158 | echo "#define CONFIG_SYS_BUSCLK 133333333" > $(obj)include/config.h ; \ | 2169 | echo "#define CONFIG_SYS_BUSCLK 133333333" > $(obj)include/config.h ; \ |
2159 | echo "#define CONFIG_SYS_BOOTSZ $${BOOT}" >> $(obj)include/config.h ; \ | 2170 | echo "#define CONFIG_SYS_BOOTSZ $${BOOT}" >> $(obj)include/config.h ; \ |
2160 | echo "#define CONFIG_SYS_DRAMSZ $${RAM}" >> $(obj)include/config.h ; \ | 2171 | echo "#define CONFIG_SYS_DRAMSZ $${RAM}" >> $(obj)include/config.h ; \ |
2161 | if [ "$${RAM1}" != "0" ] ; then \ | 2172 | if [ "$${RAM1}" != "0" ] ; then \ |
2162 | echo "#define CONFIG_SYS_DRAMSZ1 $${RAM1}" >> $(obj)include/config.h ; \ | 2173 | echo "#define CONFIG_SYS_DRAMSZ1 $${RAM1}" >> $(obj)include/config.h ; \ |
2163 | fi; \ | 2174 | fi; \ |
2164 | if [ "$${CODE}" != "0" ] ; then \ | 2175 | if [ "$${CODE}" != "0" ] ; then \ |
2165 | echo "#define CONFIG_SYS_NOR1SZ $${CODE}" >> $(obj)include/config.h ; \ | 2176 | echo "#define CONFIG_SYS_NOR1SZ $${CODE}" >> $(obj)include/config.h ; \ |
2166 | fi; \ | 2177 | fi; \ |
2167 | if [ "$${VID}" == "1" ] ; then \ | 2178 | if [ "$${VID}" == "1" ] ; then \ |
2168 | echo "#define CONFIG_SYS_VIDEO" >> $(obj)include/config.h ; \ | 2179 | echo "#define CONFIG_SYS_VIDEO" >> $(obj)include/config.h ; \ |
2169 | fi; \ | 2180 | fi; \ |
2170 | if [ "$${USB}" == "1" ] ; then \ | 2181 | if [ "$${USB}" == "1" ] ; then \ |
2171 | echo "#define CONFIG_SYS_USBCTRL" >> $(obj)include/config.h ; \ | 2182 | echo "#define CONFIG_SYS_USBCTRL" >> $(obj)include/config.h ; \ |
2172 | fi | 2183 | fi |
2173 | @$(MKCONFIG) -a M5475EVB m68k mcf547x_8x m547xevb freescale | 2184 | @$(MKCONFIG) -a M5475EVB m68k mcf547x_8x m547xevb freescale |
2174 | 2185 | ||
2175 | M5485AFE_config \ | 2186 | M5485AFE_config \ |
2176 | M5485BFE_config \ | 2187 | M5485BFE_config \ |
2177 | M5485CFE_config \ | 2188 | M5485CFE_config \ |
2178 | M5485DFE_config \ | 2189 | M5485DFE_config \ |
2179 | M5485EFE_config \ | 2190 | M5485EFE_config \ |
2180 | M5485FFE_config \ | 2191 | M5485FFE_config \ |
2181 | M5485GFE_config \ | 2192 | M5485GFE_config \ |
2182 | M5485HFE_config : unconfig | 2193 | M5485HFE_config : unconfig |
2183 | @case "$@" in \ | 2194 | @case "$@" in \ |
2184 | M5485AFE_config) BOOT=2;CODE=0;VID=0;USB=0;RAM=64;RAM1=0;; \ | 2195 | M5485AFE_config) BOOT=2;CODE=0;VID=0;USB=0;RAM=64;RAM1=0;; \ |
2185 | M5485BFE_config) BOOT=2;CODE=16;VID=0;USB=0;RAM=64;RAM1=0;; \ | 2196 | M5485BFE_config) BOOT=2;CODE=16;VID=0;USB=0;RAM=64;RAM1=0;; \ |
2186 | M5485CFE_config) BOOT=2;CODE=16;VID=1;USB=1;RAM=64;RAM1=0;; \ | 2197 | M5485CFE_config) BOOT=2;CODE=16;VID=1;USB=1;RAM=64;RAM1=0;; \ |
2187 | M5485DFE_config) BOOT=2;CODE=0;VID=0;USB=1;RAM=64;RAM1=0;; \ | 2198 | M5485DFE_config) BOOT=2;CODE=0;VID=0;USB=1;RAM=64;RAM1=0;; \ |
2188 | M5485EFE_config) BOOT=2;CODE=0;VID=1;USB=1;RAM=64;RAM1=0;; \ | 2199 | M5485EFE_config) BOOT=2;CODE=0;VID=1;USB=1;RAM=64;RAM1=0;; \ |
2189 | M5485FFE_config) BOOT=2;CODE=32;VID=1;USB=1;RAM=64;RAM1=64;; \ | 2200 | M5485FFE_config) BOOT=2;CODE=32;VID=1;USB=1;RAM=64;RAM1=64;; \ |
2190 | M5485GFE_config) BOOT=4;CODE=0;VID=0;USB=0;RAM=64;RAM1=0;; \ | 2201 | M5485GFE_config) BOOT=4;CODE=0;VID=0;USB=0;RAM=64;RAM1=0;; \ |
2191 | M5485HFE_config) BOOT=2;CODE=16;VID=1;USB=0;RAM=64;RAM1=0;; \ | 2202 | M5485HFE_config) BOOT=2;CODE=16;VID=1;USB=0;RAM=64;RAM1=0;; \ |
2192 | esac; \ | 2203 | esac; \ |
2193 | echo "#define CONFIG_SYS_BUSCLK 100000000" > $(obj)include/config.h ; \ | 2204 | echo "#define CONFIG_SYS_BUSCLK 100000000" > $(obj)include/config.h ; \ |
2194 | echo "#define CONFIG_SYS_BOOTSZ $${BOOT}" >> $(obj)include/config.h ; \ | 2205 | echo "#define CONFIG_SYS_BOOTSZ $${BOOT}" >> $(obj)include/config.h ; \ |
2195 | echo "#define CONFIG_SYS_DRAMSZ $${RAM}" >> $(obj)include/config.h ; \ | 2206 | echo "#define CONFIG_SYS_DRAMSZ $${RAM}" >> $(obj)include/config.h ; \ |
2196 | if [ "$${RAM1}" != "0" ] ; then \ | 2207 | if [ "$${RAM1}" != "0" ] ; then \ |
2197 | echo "#define CONFIG_SYS_DRAMSZ1 $${RAM1}" >> $(obj)include/config.h ; \ | 2208 | echo "#define CONFIG_SYS_DRAMSZ1 $${RAM1}" >> $(obj)include/config.h ; \ |
2198 | fi; \ | 2209 | fi; \ |
2199 | if [ "$${CODE}" != "0" ] ; then \ | 2210 | if [ "$${CODE}" != "0" ] ; then \ |
2200 | echo "#define CONFIG_SYS_NOR1SZ $${CODE}" >> $(obj)include/config.h ; \ | 2211 | echo "#define CONFIG_SYS_NOR1SZ $${CODE}" >> $(obj)include/config.h ; \ |
2201 | fi; \ | 2212 | fi; \ |
2202 | if [ "$${VID}" == "1" ] ; then \ | 2213 | if [ "$${VID}" == "1" ] ; then \ |
2203 | echo "#define CONFIG_SYS_VIDEO" >> $(obj)include/config.h ; \ | 2214 | echo "#define CONFIG_SYS_VIDEO" >> $(obj)include/config.h ; \ |
2204 | fi; \ | 2215 | fi; \ |
2205 | if [ "$${USB}" == "1" ] ; then \ | 2216 | if [ "$${USB}" == "1" ] ; then \ |
2206 | echo "#define CONFIG_SYS_USBCTRL" >> $(obj)include/config.h ; \ | 2217 | echo "#define CONFIG_SYS_USBCTRL" >> $(obj)include/config.h ; \ |
2207 | fi | 2218 | fi |
2208 | @$(MKCONFIG) -a M5485EVB m68k mcf547x_8x m548xevb freescale | 2219 | @$(MKCONFIG) -a M5485EVB m68k mcf547x_8x m548xevb freescale |
2209 | 2220 | ||
2210 | TASREG_config : unconfig | 2221 | TASREG_config : unconfig |
2211 | @$(MKCONFIG) $(@:_config=) m68k mcf52x2 tasreg esd | 2222 | @$(MKCONFIG) $(@:_config=) m68k mcf52x2 tasreg esd |
2212 | 2223 | ||
2213 | ######################################################################### | 2224 | ######################################################################### |
2214 | ## MPC83xx Systems | 2225 | ## MPC83xx Systems |
2215 | ######################################################################### | 2226 | ######################################################################### |
2216 | 2227 | ||
2217 | kmeter1_config: unconfig | 2228 | kmeter1_config: unconfig |
2218 | @$(MKCONFIG) kmeter1 ppc mpc83xx kmeter1 keymile | 2229 | @$(MKCONFIG) kmeter1 ppc mpc83xx kmeter1 keymile |
2219 | 2230 | ||
2220 | MPC8313ERDB_33_config \ | 2231 | MPC8313ERDB_33_config \ |
2221 | MPC8313ERDB_66_config \ | 2232 | MPC8313ERDB_66_config \ |
2222 | MPC8313ERDB_NAND_33_config \ | 2233 | MPC8313ERDB_NAND_33_config \ |
2223 | MPC8313ERDB_NAND_66_config: unconfig | 2234 | MPC8313ERDB_NAND_66_config: unconfig |
2224 | @mkdir -p $(obj)include | 2235 | @mkdir -p $(obj)include |
2225 | @mkdir -p $(obj)board/freescale/mpc8313erdb | 2236 | @mkdir -p $(obj)board/freescale/mpc8313erdb |
2226 | @if [ "$(findstring _33_,$@)" ] ; then \ | 2237 | @if [ "$(findstring _33_,$@)" ] ; then \ |
2227 | $(XECHO) -n "...33M ..." ; \ | 2238 | $(XECHO) -n "...33M ..." ; \ |
2228 | echo "#define CONFIG_SYS_33MHZ" >>$(obj)include/config.h ; \ | 2239 | echo "#define CONFIG_SYS_33MHZ" >>$(obj)include/config.h ; \ |
2229 | fi ; \ | 2240 | fi ; \ |
2230 | if [ "$(findstring _66_,$@)" ] ; then \ | 2241 | if [ "$(findstring _66_,$@)" ] ; then \ |
2231 | $(XECHO) -n "...66M..." ; \ | 2242 | $(XECHO) -n "...66M..." ; \ |
2232 | echo "#define CONFIG_SYS_66MHZ" >>$(obj)include/config.h ; \ | 2243 | echo "#define CONFIG_SYS_66MHZ" >>$(obj)include/config.h ; \ |
2233 | fi ; \ | 2244 | fi ; \ |
2234 | if [ "$(findstring _NAND_,$@)" ] ; then \ | 2245 | if [ "$(findstring _NAND_,$@)" ] ; then \ |
2235 | $(XECHO) -n "...NAND..." ; \ | 2246 | $(XECHO) -n "...NAND..." ; \ |
2236 | echo "TEXT_BASE = 0x00100000" > $(obj)board/freescale/mpc8313erdb/config.tmp ; \ | 2247 | echo "TEXT_BASE = 0x00100000" > $(obj)board/freescale/mpc8313erdb/config.tmp ; \ |
2237 | echo "#define CONFIG_NAND_U_BOOT" >>$(obj)include/config.h ; \ | 2248 | echo "#define CONFIG_NAND_U_BOOT" >>$(obj)include/config.h ; \ |
2238 | fi ; | 2249 | fi ; |
2239 | @$(MKCONFIG) -a MPC8313ERDB ppc mpc83xx mpc8313erdb freescale | 2250 | @$(MKCONFIG) -a MPC8313ERDB ppc mpc83xx mpc8313erdb freescale |
2240 | @if [ "$(findstring _NAND_,$@)" ] ; then \ | 2251 | @if [ "$(findstring _NAND_,$@)" ] ; then \ |
2241 | echo "CONFIG_NAND_U_BOOT = y" >> $(obj)include/config.mk ; \ | 2252 | echo "CONFIG_NAND_U_BOOT = y" >> $(obj)include/config.mk ; \ |
2242 | fi ; | 2253 | fi ; |
2243 | 2254 | ||
2244 | MPC8315ERDB_config: unconfig | 2255 | MPC8315ERDB_config: unconfig |
2245 | @$(MKCONFIG) -a MPC8315ERDB ppc mpc83xx mpc8315erdb freescale | 2256 | @$(MKCONFIG) -a MPC8315ERDB ppc mpc83xx mpc8315erdb freescale |
2246 | 2257 | ||
2247 | MPC8323ERDB_config: unconfig | 2258 | MPC8323ERDB_config: unconfig |
2248 | @$(MKCONFIG) -a MPC8323ERDB ppc mpc83xx mpc8323erdb freescale | 2259 | @$(MKCONFIG) -a MPC8323ERDB ppc mpc83xx mpc8323erdb freescale |
2249 | 2260 | ||
2250 | MPC832XEMDS_config \ | 2261 | MPC832XEMDS_config \ |
2251 | MPC832XEMDS_HOST_33_config \ | 2262 | MPC832XEMDS_HOST_33_config \ |
2252 | MPC832XEMDS_HOST_66_config \ | 2263 | MPC832XEMDS_HOST_66_config \ |
2253 | MPC832XEMDS_SLAVE_config \ | 2264 | MPC832XEMDS_SLAVE_config \ |
2254 | MPC832XEMDS_ATM_config: unconfig | 2265 | MPC832XEMDS_ATM_config: unconfig |
2255 | @mkdir -p $(obj)include | 2266 | @mkdir -p $(obj)include |
2256 | @if [ "$(findstring _HOST_,$@)" ] ; then \ | 2267 | @if [ "$(findstring _HOST_,$@)" ] ; then \ |
2257 | $(XECHO) -n "... PCI HOST " ; \ | 2268 | $(XECHO) -n "... PCI HOST " ; \ |
2258 | echo "#define CONFIG_PCI" >>$(obj)include/config.h ; \ | 2269 | echo "#define CONFIG_PCI" >>$(obj)include/config.h ; \ |
2259 | fi ; \ | 2270 | fi ; \ |
2260 | if [ "$(findstring _SLAVE_,$@)" ] ; then \ | 2271 | if [ "$(findstring _SLAVE_,$@)" ] ; then \ |
2261 | $(XECHO) "...PCI SLAVE 66M" ; \ | 2272 | $(XECHO) "...PCI SLAVE 66M" ; \ |
2262 | echo "#define CONFIG_PCI" >>$(obj)include/config.h ; \ | 2273 | echo "#define CONFIG_PCI" >>$(obj)include/config.h ; \ |
2263 | echo "#define CONFIG_PCISLAVE" >>$(obj)include/config.h ; \ | 2274 | echo "#define CONFIG_PCISLAVE" >>$(obj)include/config.h ; \ |
2264 | fi ; \ | 2275 | fi ; \ |
2265 | if [ "$(findstring _33_,$@)" ] ; then \ | 2276 | if [ "$(findstring _33_,$@)" ] ; then \ |
2266 | $(XECHO) -n "...33M ..." ; \ | 2277 | $(XECHO) -n "...33M ..." ; \ |
2267 | echo "#define PCI_33M" >>$(obj)include/config.h ; \ | 2278 | echo "#define PCI_33M" >>$(obj)include/config.h ; \ |
2268 | echo "#define CONFIG_PQ_MDS_PIB 1" >>$(obj)include/config.h ; \ | 2279 | echo "#define CONFIG_PQ_MDS_PIB 1" >>$(obj)include/config.h ; \ |
2269 | fi ; \ | 2280 | fi ; \ |
2270 | if [ "$(findstring _66_,$@)" ] ; then \ | 2281 | if [ "$(findstring _66_,$@)" ] ; then \ |
2271 | $(XECHO) -n "...66M..." ; \ | 2282 | $(XECHO) -n "...66M..." ; \ |
2272 | echo "#define PCI_66M" >>$(obj)include/config.h ; \ | 2283 | echo "#define PCI_66M" >>$(obj)include/config.h ; \ |
2273 | echo "#define CONFIG_PQ_MDS_PIB 1" >>$(obj)include/config.h ; \ | 2284 | echo "#define CONFIG_PQ_MDS_PIB 1" >>$(obj)include/config.h ; \ |
2274 | fi ; \ | 2285 | fi ; \ |
2275 | if [ "$(findstring _ATM_,$@)" ] ; then \ | 2286 | if [ "$(findstring _ATM_,$@)" ] ; then \ |
2276 | $(XECHO) -n "...ATM..." ; \ | 2287 | $(XECHO) -n "...ATM..." ; \ |
2277 | echo "#define CONFIG_PQ_MDS_PIB 1" >>$(obj)include/config.h ; \ | 2288 | echo "#define CONFIG_PQ_MDS_PIB 1" >>$(obj)include/config.h ; \ |
2278 | echo "#define CONFIG_PQ_MDS_PIB_ATM 1" >>$(obj)include/config.h ; \ | 2289 | echo "#define CONFIG_PQ_MDS_PIB_ATM 1" >>$(obj)include/config.h ; \ |
2279 | fi ; | 2290 | fi ; |
2280 | @$(MKCONFIG) -a MPC832XEMDS ppc mpc83xx mpc832xemds freescale | 2291 | @$(MKCONFIG) -a MPC832XEMDS ppc mpc83xx mpc832xemds freescale |
2281 | 2292 | ||
2282 | MPC8349EMDS_config: unconfig | 2293 | MPC8349EMDS_config: unconfig |
2283 | @$(MKCONFIG) $(@:_config=) ppc mpc83xx mpc8349emds freescale | 2294 | @$(MKCONFIG) $(@:_config=) ppc mpc83xx mpc8349emds freescale |
2284 | 2295 | ||
2285 | MPC8349ITX_config \ | 2296 | MPC8349ITX_config \ |
2286 | MPC8349ITX_LOWBOOT_config \ | 2297 | MPC8349ITX_LOWBOOT_config \ |
2287 | MPC8349ITXGP_config: unconfig | 2298 | MPC8349ITXGP_config: unconfig |
2288 | @mkdir -p $(obj)include | 2299 | @mkdir -p $(obj)include |
2289 | @mkdir -p $(obj)board/freescale/mpc8349itx | 2300 | @mkdir -p $(obj)board/freescale/mpc8349itx |
2290 | @echo "#define CONFIG_$(subst _LOWBOOT,,$(@:_config=))" >> $(obj)include/config.h | 2301 | @echo "#define CONFIG_$(subst _LOWBOOT,,$(@:_config=))" >> $(obj)include/config.h |
2291 | @if [ "$(findstring GP,$@)" ] ; then \ | 2302 | @if [ "$(findstring GP,$@)" ] ; then \ |
2292 | echo "TEXT_BASE = 0xFE000000" >$(obj)board/freescale/mpc8349itx/config.tmp ; \ | 2303 | echo "TEXT_BASE = 0xFE000000" >$(obj)board/freescale/mpc8349itx/config.tmp ; \ |
2293 | fi | 2304 | fi |
2294 | @if [ "$(findstring LOWBOOT,$@)" ] ; then \ | 2305 | @if [ "$(findstring LOWBOOT,$@)" ] ; then \ |
2295 | echo "TEXT_BASE = 0xFE000000" >$(obj)board/freescale/mpc8349itx/config.tmp ; \ | 2306 | echo "TEXT_BASE = 0xFE000000" >$(obj)board/freescale/mpc8349itx/config.tmp ; \ |
2296 | fi | 2307 | fi |
2297 | @$(MKCONFIG) -a -n $(@:_config=) MPC8349ITX ppc mpc83xx mpc8349itx freescale | 2308 | @$(MKCONFIG) -a -n $(@:_config=) MPC8349ITX ppc mpc83xx mpc8349itx freescale |
2298 | 2309 | ||
2299 | MPC8360EMDS_config \ | 2310 | MPC8360EMDS_config \ |
2300 | MPC8360EMDS_HOST_33_config \ | 2311 | MPC8360EMDS_HOST_33_config \ |
2301 | MPC8360EMDS_HOST_66_config \ | 2312 | MPC8360EMDS_HOST_66_config \ |
2302 | MPC8360EMDS_SLAVE_config \ | 2313 | MPC8360EMDS_SLAVE_config \ |
2303 | MPC8360EMDS_ATM_config: unconfig | 2314 | MPC8360EMDS_ATM_config: unconfig |
2304 | @mkdir -p $(obj)include | 2315 | @mkdir -p $(obj)include |
2305 | @if [ "$(findstring _HOST_,$@)" ] ; then \ | 2316 | @if [ "$(findstring _HOST_,$@)" ] ; then \ |
2306 | $(XECHO) -n "... PCI HOST " ; \ | 2317 | $(XECHO) -n "... PCI HOST " ; \ |
2307 | echo "#define CONFIG_PCI" >>$(obj)include/config.h ; \ | 2318 | echo "#define CONFIG_PCI" >>$(obj)include/config.h ; \ |
2308 | fi ; \ | 2319 | fi ; \ |
2309 | if [ "$(findstring _SLAVE_,$@)" ] ; then \ | 2320 | if [ "$(findstring _SLAVE_,$@)" ] ; then \ |
2310 | $(XECHO) "...PCI SLAVE 66M" ; \ | 2321 | $(XECHO) "...PCI SLAVE 66M" ; \ |
2311 | echo "#define CONFIG_PCI" >>$(obj)include/config.h ; \ | 2322 | echo "#define CONFIG_PCI" >>$(obj)include/config.h ; \ |
2312 | echo "#define CONFIG_PCISLAVE" >>$(obj)include/config.h ; \ | 2323 | echo "#define CONFIG_PCISLAVE" >>$(obj)include/config.h ; \ |
2313 | fi ; \ | 2324 | fi ; \ |
2314 | if [ "$(findstring _33_,$@)" ] ; then \ | 2325 | if [ "$(findstring _33_,$@)" ] ; then \ |
2315 | $(XECHO) -n "...33M ..." ; \ | 2326 | $(XECHO) -n "...33M ..." ; \ |
2316 | echo "#define PCI_33M" >>$(obj)include/config.h ; \ | 2327 | echo "#define PCI_33M" >>$(obj)include/config.h ; \ |
2317 | echo "#define CONFIG_PQ_MDS_PIB 1" >>$(obj)include/config.h ; \ | 2328 | echo "#define CONFIG_PQ_MDS_PIB 1" >>$(obj)include/config.h ; \ |
2318 | fi ; \ | 2329 | fi ; \ |
2319 | if [ "$(findstring _66_,$@)" ] ; then \ | 2330 | if [ "$(findstring _66_,$@)" ] ; then \ |
2320 | $(XECHO) -n "...66M..." ; \ | 2331 | $(XECHO) -n "...66M..." ; \ |
2321 | echo "#define PCI_66M" >>$(obj)include/config.h ; \ | 2332 | echo "#define PCI_66M" >>$(obj)include/config.h ; \ |
2322 | echo "#define CONFIG_PQ_MDS_PIB 1" >>$(obj)include/config.h ; \ | 2333 | echo "#define CONFIG_PQ_MDS_PIB 1" >>$(obj)include/config.h ; \ |
2323 | fi ; \ | 2334 | fi ; \ |
2324 | if [ "$(findstring _ATM_,$@)" ] ; then \ | 2335 | if [ "$(findstring _ATM_,$@)" ] ; then \ |
2325 | $(XECHO) -n "...ATM..." ; \ | 2336 | $(XECHO) -n "...ATM..." ; \ |
2326 | echo "#define CONFIG_PQ_MDS_PIB 1" >>$(obj)include/config.h ; \ | 2337 | echo "#define CONFIG_PQ_MDS_PIB 1" >>$(obj)include/config.h ; \ |
2327 | echo "#define CONFIG_PQ_MDS_PIB_ATM 1" >>$(obj)include/config.h ; \ | 2338 | echo "#define CONFIG_PQ_MDS_PIB_ATM 1" >>$(obj)include/config.h ; \ |
2328 | fi ; | 2339 | fi ; |
2329 | @$(MKCONFIG) -a MPC8360EMDS ppc mpc83xx mpc8360emds freescale | 2340 | @$(MKCONFIG) -a MPC8360EMDS ppc mpc83xx mpc8360emds freescale |
2330 | 2341 | ||
2331 | MPC8360ERDK_33_config \ | 2342 | MPC8360ERDK_33_config \ |
2332 | MPC8360ERDK_66_config \ | 2343 | MPC8360ERDK_66_config \ |
2333 | MPC8360ERDK_config: unconfig | 2344 | MPC8360ERDK_config: unconfig |
2334 | @mkdir -p $(obj)include | 2345 | @mkdir -p $(obj)include |
2335 | @if [ "$(findstring _33_,$@)" ] ; then \ | 2346 | @if [ "$(findstring _33_,$@)" ] ; then \ |
2336 | $(XECHO) -n "... CLKIN 33MHz " ; \ | 2347 | $(XECHO) -n "... CLKIN 33MHz " ; \ |
2337 | echo "#define CONFIG_CLKIN_33MHZ" >>$(obj)include/config.h ;\ | 2348 | echo "#define CONFIG_CLKIN_33MHZ" >>$(obj)include/config.h ;\ |
2338 | fi ; | 2349 | fi ; |
2339 | @$(MKCONFIG) -a MPC8360ERDK ppc mpc83xx mpc8360erdk freescale | 2350 | @$(MKCONFIG) -a MPC8360ERDK ppc mpc83xx mpc8360erdk freescale |
2340 | 2351 | ||
2341 | MPC837XEMDS_config \ | 2352 | MPC837XEMDS_config \ |
2342 | MPC837XEMDS_HOST_config: unconfig | 2353 | MPC837XEMDS_HOST_config: unconfig |
2343 | @mkdir -p $(obj)include | 2354 | @mkdir -p $(obj)include |
2344 | @if [ "$(findstring _HOST_,$@)" ] ; then \ | 2355 | @if [ "$(findstring _HOST_,$@)" ] ; then \ |
2345 | $(XECHO) -n "... PCI HOST " ; \ | 2356 | $(XECHO) -n "... PCI HOST " ; \ |
2346 | echo "#define CONFIG_PCI" >>$(obj)include/config.h ; \ | 2357 | echo "#define CONFIG_PCI" >>$(obj)include/config.h ; \ |
2347 | fi ; | 2358 | fi ; |
2348 | @$(MKCONFIG) -a MPC837XEMDS ppc mpc83xx mpc837xemds freescale | 2359 | @$(MKCONFIG) -a MPC837XEMDS ppc mpc83xx mpc837xemds freescale |
2349 | 2360 | ||
2350 | MPC837XERDB_config: unconfig | 2361 | MPC837XERDB_config: unconfig |
2351 | @$(MKCONFIG) -a MPC837XERDB ppc mpc83xx mpc837xerdb freescale | 2362 | @$(MKCONFIG) -a MPC837XERDB ppc mpc83xx mpc837xerdb freescale |
2352 | 2363 | ||
2353 | MVBLM7_config: unconfig | 2364 | MVBLM7_config: unconfig |
2354 | @$(MKCONFIG) $(@:_config=) ppc mpc83xx mvblm7 matrix_vision | 2365 | @$(MKCONFIG) $(@:_config=) ppc mpc83xx mvblm7 matrix_vision |
2355 | 2366 | ||
2356 | sbc8349_config: unconfig | 2367 | sbc8349_config: unconfig |
2357 | @$(MKCONFIG) $(@:_config=) ppc mpc83xx sbc8349 | 2368 | @$(MKCONFIG) $(@:_config=) ppc mpc83xx sbc8349 |
2358 | 2369 | ||
2359 | SIMPC8313_LP_config \ | 2370 | SIMPC8313_LP_config \ |
2360 | SIMPC8313_SP_config: unconfig | 2371 | SIMPC8313_SP_config: unconfig |
2361 | @mkdir -p $(obj)include | 2372 | @mkdir -p $(obj)include |
2362 | @mkdir -p $(obj)board/sheldon/simpc8313 | 2373 | @mkdir -p $(obj)board/sheldon/simpc8313 |
2363 | @if [ "$(findstring _LP_,$@)" ] ; then \ | 2374 | @if [ "$(findstring _LP_,$@)" ] ; then \ |
2364 | $(XECHO) -n "...Large Page NAND..." ; \ | 2375 | $(XECHO) -n "...Large Page NAND..." ; \ |
2365 | echo "#define CONFIG_NAND_LP" >> $(obj)include/config.h ; \ | 2376 | echo "#define CONFIG_NAND_LP" >> $(obj)include/config.h ; \ |
2366 | fi ; \ | 2377 | fi ; \ |
2367 | if [ "$(findstring _SP_,$@)" ] ; then \ | 2378 | if [ "$(findstring _SP_,$@)" ] ; then \ |
2368 | $(XECHO) -n "...Small Page NAND..." ; \ | 2379 | $(XECHO) -n "...Small Page NAND..." ; \ |
2369 | echo "#define CONFIG_NAND_SP" >> $(obj)include/config.h ; \ | 2380 | echo "#define CONFIG_NAND_SP" >> $(obj)include/config.h ; \ |
2370 | fi ; | 2381 | fi ; |
2371 | @$(MKCONFIG) -a SIMPC8313 ppc mpc83xx simpc8313 sheldon | 2382 | @$(MKCONFIG) -a SIMPC8313 ppc mpc83xx simpc8313 sheldon |
2372 | @echo "CONFIG_NAND_U_BOOT = y" >> $(obj)include/config.mk | 2383 | @echo "CONFIG_NAND_U_BOOT = y" >> $(obj)include/config.mk |
2373 | 2384 | ||
2374 | TQM834x_config: unconfig | 2385 | TQM834x_config: unconfig |
2375 | @$(MKCONFIG) $(@:_config=) ppc mpc83xx tqm834x tqc | 2386 | @$(MKCONFIG) $(@:_config=) ppc mpc83xx tqm834x tqc |
2376 | 2387 | ||
2377 | 2388 | ||
2378 | ######################################################################### | 2389 | ######################################################################### |
2379 | ## MPC85xx Systems | 2390 | ## MPC85xx Systems |
2380 | ######################################################################### | 2391 | ######################################################################### |
2381 | 2392 | ||
2382 | ATUM8548_config: unconfig | 2393 | ATUM8548_config: unconfig |
2383 | @$(MKCONFIG) $(@:_config=) ppc mpc85xx atum8548 | 2394 | @$(MKCONFIG) $(@:_config=) ppc mpc85xx atum8548 |
2384 | 2395 | ||
2385 | MPC8536DS_config: unconfig | 2396 | MPC8536DS_config: unconfig |
2386 | @$(MKCONFIG) $(@:_config=) ppc mpc85xx mpc8536ds freescale | 2397 | @$(MKCONFIG) $(@:_config=) ppc mpc85xx mpc8536ds freescale |
2387 | 2398 | ||
2388 | MPC8540ADS_config: unconfig | 2399 | MPC8540ADS_config: unconfig |
2389 | @$(MKCONFIG) $(@:_config=) ppc mpc85xx mpc8540ads freescale | 2400 | @$(MKCONFIG) $(@:_config=) ppc mpc85xx mpc8540ads freescale |
2390 | 2401 | ||
2391 | MPC8540EVAL_config \ | 2402 | MPC8540EVAL_config \ |
2392 | MPC8540EVAL_33_config \ | 2403 | MPC8540EVAL_33_config \ |
2393 | MPC8540EVAL_66_config \ | 2404 | MPC8540EVAL_66_config \ |
2394 | MPC8540EVAL_33_slave_config \ | 2405 | MPC8540EVAL_33_slave_config \ |
2395 | MPC8540EVAL_66_slave_config: unconfig | 2406 | MPC8540EVAL_66_slave_config: unconfig |
2396 | @mkdir -p $(obj)include | 2407 | @mkdir -p $(obj)include |
2397 | @if [ "$(findstring _33_,$@)" ] ; then \ | 2408 | @if [ "$(findstring _33_,$@)" ] ; then \ |
2398 | $(XECHO) "... 33 MHz PCI" ; \ | 2409 | $(XECHO) "... 33 MHz PCI" ; \ |
2399 | else \ | 2410 | else \ |
2400 | echo "#define CONFIG_SYSCLK_66M" >>$(obj)include/config.h ; \ | 2411 | echo "#define CONFIG_SYSCLK_66M" >>$(obj)include/config.h ; \ |
2401 | $(XECHO) "... 66 MHz PCI" ; \ | 2412 | $(XECHO) "... 66 MHz PCI" ; \ |
2402 | fi ; \ | 2413 | fi ; \ |
2403 | if [ "$(findstring _slave_,$@)" ] ; then \ | 2414 | if [ "$(findstring _slave_,$@)" ] ; then \ |
2404 | echo "#define CONFIG_PCI_SLAVE" >>$(obj)include/config.h ; \ | 2415 | echo "#define CONFIG_PCI_SLAVE" >>$(obj)include/config.h ; \ |
2405 | $(XECHO) " slave" ; \ | 2416 | $(XECHO) " slave" ; \ |
2406 | else \ | 2417 | else \ |
2407 | $(XECHO) " host" ; \ | 2418 | $(XECHO) " host" ; \ |
2408 | fi | 2419 | fi |
2409 | @$(MKCONFIG) -a MPC8540EVAL ppc mpc85xx mpc8540eval | 2420 | @$(MKCONFIG) -a MPC8540EVAL ppc mpc85xx mpc8540eval |
2410 | 2421 | ||
2411 | MPC8560ADS_config: unconfig | 2422 | MPC8560ADS_config: unconfig |
2412 | @$(MKCONFIG) $(@:_config=) ppc mpc85xx mpc8560ads freescale | 2423 | @$(MKCONFIG) $(@:_config=) ppc mpc85xx mpc8560ads freescale |
2413 | 2424 | ||
2414 | MPC8541CDS_legacy_config \ | 2425 | MPC8541CDS_legacy_config \ |
2415 | MPC8541CDS_config: unconfig | 2426 | MPC8541CDS_config: unconfig |
2416 | @mkdir -p $(obj)include | 2427 | @mkdir -p $(obj)include |
2417 | @if [ "$(findstring _legacy_,$@)" ] ; then \ | 2428 | @if [ "$(findstring _legacy_,$@)" ] ; then \ |
2418 | echo "#define CONFIG_LEGACY" >>$(obj)include/config.h ; \ | 2429 | echo "#define CONFIG_LEGACY" >>$(obj)include/config.h ; \ |
2419 | $(XECHO) "... legacy" ; \ | 2430 | $(XECHO) "... legacy" ; \ |
2420 | fi | 2431 | fi |
2421 | @$(MKCONFIG) -a MPC8541CDS ppc mpc85xx mpc8541cds freescale | 2432 | @$(MKCONFIG) -a MPC8541CDS ppc mpc85xx mpc8541cds freescale |
2422 | 2433 | ||
2423 | MPC8544DS_config: unconfig | 2434 | MPC8544DS_config: unconfig |
2424 | @$(MKCONFIG) $(@:_config=) ppc mpc85xx mpc8544ds freescale | 2435 | @$(MKCONFIG) $(@:_config=) ppc mpc85xx mpc8544ds freescale |
2425 | 2436 | ||
2426 | MPC8548CDS_legacy_config \ | 2437 | MPC8548CDS_legacy_config \ |
2427 | MPC8548CDS_config: unconfig | 2438 | MPC8548CDS_config: unconfig |
2428 | @mkdir -p $(obj)include | 2439 | @mkdir -p $(obj)include |
2429 | @if [ "$(findstring _legacy_,$@)" ] ; then \ | 2440 | @if [ "$(findstring _legacy_,$@)" ] ; then \ |
2430 | echo "#define CONFIG_LEGACY" >>$(obj)include/config.h ; \ | 2441 | echo "#define CONFIG_LEGACY" >>$(obj)include/config.h ; \ |
2431 | $(XECHO) "... legacy" ; \ | 2442 | $(XECHO) "... legacy" ; \ |
2432 | fi | 2443 | fi |
2433 | @$(MKCONFIG) -a MPC8548CDS ppc mpc85xx mpc8548cds freescale | 2444 | @$(MKCONFIG) -a MPC8548CDS ppc mpc85xx mpc8548cds freescale |
2434 | 2445 | ||
2435 | MPC8555CDS_legacy_config \ | 2446 | MPC8555CDS_legacy_config \ |
2436 | MPC8555CDS_config: unconfig | 2447 | MPC8555CDS_config: unconfig |
2437 | @mkdir -p $(obj)include | 2448 | @mkdir -p $(obj)include |
2438 | @if [ "$(findstring _legacy_,$@)" ] ; then \ | 2449 | @if [ "$(findstring _legacy_,$@)" ] ; then \ |
2439 | echo "#define CONFIG_LEGACY" >>$(obj)include/config.h ; \ | 2450 | echo "#define CONFIG_LEGACY" >>$(obj)include/config.h ; \ |
2440 | $(XECHO) "... legacy" ; \ | 2451 | $(XECHO) "... legacy" ; \ |
2441 | fi | 2452 | fi |
2442 | @$(MKCONFIG) -a MPC8555CDS ppc mpc85xx mpc8555cds freescale | 2453 | @$(MKCONFIG) -a MPC8555CDS ppc mpc85xx mpc8555cds freescale |
2443 | 2454 | ||
2444 | MPC8568MDS_config: unconfig | 2455 | MPC8568MDS_config: unconfig |
2445 | @$(MKCONFIG) $(@:_config=) ppc mpc85xx mpc8568mds freescale | 2456 | @$(MKCONFIG) $(@:_config=) ppc mpc85xx mpc8568mds freescale |
2446 | 2457 | ||
2447 | MPC8569MDS_config: unconfig | 2458 | MPC8569MDS_config: unconfig |
2448 | @$(MKCONFIG) $(@:_config=) ppc mpc85xx mpc8569mds freescale | 2459 | @$(MKCONFIG) $(@:_config=) ppc mpc85xx mpc8569mds freescale |
2449 | 2460 | ||
2450 | MPC8572DS_36BIT_config \ | 2461 | MPC8572DS_36BIT_config \ |
2451 | MPC8572DS_config: unconfig | 2462 | MPC8572DS_config: unconfig |
2452 | @mkdir -p $(obj)include | 2463 | @mkdir -p $(obj)include |
2453 | @if [ "$(findstring _36BIT_,$@)" ] ; then \ | 2464 | @if [ "$(findstring _36BIT_,$@)" ] ; then \ |
2454 | echo "#define CONFIG_PHYS_64BIT" >>$(obj)include/config.h ; \ | 2465 | echo "#define CONFIG_PHYS_64BIT" >>$(obj)include/config.h ; \ |
2455 | $(XECHO) "... enabling 36-bit physical addressing." ; \ | 2466 | $(XECHO) "... enabling 36-bit physical addressing." ; \ |
2456 | fi | 2467 | fi |
2457 | @$(MKCONFIG) -a MPC8572DS ppc mpc85xx mpc8572ds freescale | 2468 | @$(MKCONFIG) -a MPC8572DS ppc mpc85xx mpc8572ds freescale |
2458 | 2469 | ||
2459 | PM854_config: unconfig | 2470 | PM854_config: unconfig |
2460 | @$(MKCONFIG) $(@:_config=) ppc mpc85xx pm854 | 2471 | @$(MKCONFIG) $(@:_config=) ppc mpc85xx pm854 |
2461 | 2472 | ||
2462 | PM856_config: unconfig | 2473 | PM856_config: unconfig |
2463 | @$(MKCONFIG) $(@:_config=) ppc mpc85xx pm856 | 2474 | @$(MKCONFIG) $(@:_config=) ppc mpc85xx pm856 |
2464 | 2475 | ||
2465 | sbc8540_config \ | 2476 | sbc8540_config \ |
2466 | sbc8540_33_config \ | 2477 | sbc8540_33_config \ |
2467 | sbc8540_66_config: unconfig | 2478 | sbc8540_66_config: unconfig |
2468 | @mkdir -p $(obj)include | 2479 | @mkdir -p $(obj)include |
2469 | @if [ "$(findstring _66_,$@)" ] ; then \ | 2480 | @if [ "$(findstring _66_,$@)" ] ; then \ |
2470 | echo "#define CONFIG_PCI_66" >>$(obj)include/config.h ; \ | 2481 | echo "#define CONFIG_PCI_66" >>$(obj)include/config.h ; \ |
2471 | $(XECHO) "... 66 MHz PCI" ; \ | 2482 | $(XECHO) "... 66 MHz PCI" ; \ |
2472 | else \ | 2483 | else \ |
2473 | $(XECHO) "... 33 MHz PCI" ; \ | 2484 | $(XECHO) "... 33 MHz PCI" ; \ |
2474 | fi | 2485 | fi |
2475 | @$(MKCONFIG) -a SBC8540 ppc mpc85xx sbc8560 | 2486 | @$(MKCONFIG) -a SBC8540 ppc mpc85xx sbc8560 |
2476 | 2487 | ||
2477 | sbc8548_config: unconfig | 2488 | sbc8548_config: unconfig |
2478 | @$(MKCONFIG) $(@:_config=) ppc mpc85xx sbc8548 | 2489 | @$(MKCONFIG) $(@:_config=) ppc mpc85xx sbc8548 |
2479 | 2490 | ||
2480 | sbc8560_config \ | 2491 | sbc8560_config \ |
2481 | sbc8560_33_config \ | 2492 | sbc8560_33_config \ |
2482 | sbc8560_66_config: unconfig | 2493 | sbc8560_66_config: unconfig |
2483 | @mkdir -p $(obj)include | 2494 | @mkdir -p $(obj)include |
2484 | @if [ "$(findstring _66_,$@)" ] ; then \ | 2495 | @if [ "$(findstring _66_,$@)" ] ; then \ |
2485 | echo "#define CONFIG_PCI_66" >>$(obj)include/config.h ; \ | 2496 | echo "#define CONFIG_PCI_66" >>$(obj)include/config.h ; \ |
2486 | $(XECHO) "... 66 MHz PCI" ; \ | 2497 | $(XECHO) "... 66 MHz PCI" ; \ |
2487 | else \ | 2498 | else \ |
2488 | $(XECHO) "... 33 MHz PCI" ; \ | 2499 | $(XECHO) "... 33 MHz PCI" ; \ |
2489 | fi | 2500 | fi |
2490 | @$(MKCONFIG) -a sbc8560 ppc mpc85xx sbc8560 | 2501 | @$(MKCONFIG) -a sbc8560 ppc mpc85xx sbc8560 |
2491 | 2502 | ||
2492 | socrates_config: unconfig | 2503 | socrates_config: unconfig |
2493 | @$(MKCONFIG) $(@:_config=) ppc mpc85xx socrates | 2504 | @$(MKCONFIG) $(@:_config=) ppc mpc85xx socrates |
2494 | 2505 | ||
2495 | stxgp3_config: unconfig | 2506 | stxgp3_config: unconfig |
2496 | @$(MKCONFIG) $(@:_config=) ppc mpc85xx stxgp3 | 2507 | @$(MKCONFIG) $(@:_config=) ppc mpc85xx stxgp3 |
2497 | 2508 | ||
2498 | stxssa_config \ | 2509 | stxssa_config \ |
2499 | stxssa_4M_config: unconfig | 2510 | stxssa_4M_config: unconfig |
2500 | @mkdir -p $(obj)include | 2511 | @mkdir -p $(obj)include |
2501 | @if [ "$(findstring _4M_,$@)" ] ; then \ | 2512 | @if [ "$(findstring _4M_,$@)" ] ; then \ |
2502 | echo "#define CONFIG_STXSSA_4M" >>$(obj)include/config.h ; \ | 2513 | echo "#define CONFIG_STXSSA_4M" >>$(obj)include/config.h ; \ |
2503 | $(XECHO) "... with 4 MiB flash memory" ; \ | 2514 | $(XECHO) "... with 4 MiB flash memory" ; \ |
2504 | fi | 2515 | fi |
2505 | @$(MKCONFIG) -a stxssa ppc mpc85xx stxssa | 2516 | @$(MKCONFIG) -a stxssa ppc mpc85xx stxssa |
2506 | 2517 | ||
2507 | TQM8540_config \ | 2518 | TQM8540_config \ |
2508 | TQM8541_config \ | 2519 | TQM8541_config \ |
2509 | TQM8548_config \ | 2520 | TQM8548_config \ |
2510 | TQM8548_AG_config \ | 2521 | TQM8548_AG_config \ |
2511 | TQM8548_BE_config \ | 2522 | TQM8548_BE_config \ |
2512 | TQM8555_config \ | 2523 | TQM8555_config \ |
2513 | TQM8560_config: unconfig | 2524 | TQM8560_config: unconfig |
2514 | @mkdir -p $(obj)include | 2525 | @mkdir -p $(obj)include |
2515 | @BTYPE=$(@:_config=); \ | 2526 | @BTYPE=$(@:_config=); \ |
2516 | CTYPE=$(subst TQM,,$(subst _AG,,$(subst _BE,,$(@:_config=)))); \ | 2527 | CTYPE=$(subst TQM,,$(subst _AG,,$(subst _BE,,$(@:_config=)))); \ |
2517 | $(XECHO) "... "$${BTYPE}" (MPC"$${CTYPE}")"; \ | 2528 | $(XECHO) "... "$${BTYPE}" (MPC"$${CTYPE}")"; \ |
2518 | echo "#define CONFIG_MPC$${CTYPE}">>$(obj)include/config.h; \ | 2529 | echo "#define CONFIG_MPC$${CTYPE}">>$(obj)include/config.h; \ |
2519 | echo "#define CONFIG_$${BTYPE}">>$(obj)include/config.h; \ | 2530 | echo "#define CONFIG_$${BTYPE}">>$(obj)include/config.h; \ |
2520 | echo "#define CONFIG_HOSTNAME tqm$${CTYPE}">>$(obj)include/config.h; \ | 2531 | echo "#define CONFIG_HOSTNAME tqm$${CTYPE}">>$(obj)include/config.h; \ |
2521 | echo "#define CONFIG_BOARDNAME \"$${BTYPE}\"">>$(obj)include/config.h; | 2532 | echo "#define CONFIG_BOARDNAME \"$${BTYPE}\"">>$(obj)include/config.h; |
2522 | @$(MKCONFIG) -a TQM85xx ppc mpc85xx tqm85xx tqc | 2533 | @$(MKCONFIG) -a TQM85xx ppc mpc85xx tqm85xx tqc |
2523 | @echo "CONFIG_$(@:_config=) = y">>$(obj)include/config.mk; | 2534 | @echo "CONFIG_$(@:_config=) = y">>$(obj)include/config.mk; |
2524 | 2535 | ||
2525 | XPEDITE5200_config: unconfig | 2536 | XPEDITE5200_config: unconfig |
2526 | @$(MKCONFIG) $(@:_config=) ppc mpc85xx xpedite5200 xes | 2537 | @$(MKCONFIG) $(@:_config=) ppc mpc85xx xpedite5200 xes |
2527 | 2538 | ||
2528 | XPEDITE5370_config: unconfig | 2539 | XPEDITE5370_config: unconfig |
2529 | @$(MKCONFIG) $(@:_config=) ppc mpc85xx xpedite5370 xes | 2540 | @$(MKCONFIG) $(@:_config=) ppc mpc85xx xpedite5370 xes |
2530 | 2541 | ||
2531 | ######################################################################### | 2542 | ######################################################################### |
2532 | ## MPC86xx Systems | 2543 | ## MPC86xx Systems |
2533 | ######################################################################### | 2544 | ######################################################################### |
2534 | 2545 | ||
2535 | MPC8610HPCD_config: unconfig | 2546 | MPC8610HPCD_config: unconfig |
2536 | @$(MKCONFIG) $(@:_config=) ppc mpc86xx mpc8610hpcd freescale | 2547 | @$(MKCONFIG) $(@:_config=) ppc mpc86xx mpc8610hpcd freescale |
2537 | 2548 | ||
2538 | MPC8641HPCN_36BIT_config \ | 2549 | MPC8641HPCN_36BIT_config \ |
2539 | MPC8641HPCN_config: unconfig | 2550 | MPC8641HPCN_config: unconfig |
2540 | @mkdir -p $(obj)include | 2551 | @mkdir -p $(obj)include |
2541 | @if [ "$(findstring _36BIT_,$@)" ] ; then \ | 2552 | @if [ "$(findstring _36BIT_,$@)" ] ; then \ |
2542 | echo "#define CONFIG_PHYS_64BIT" >>$(obj)include/config.h ; \ | 2553 | echo "#define CONFIG_PHYS_64BIT" >>$(obj)include/config.h ; \ |
2543 | $(XECHO) "... enabling 36-bit physical addressing." ; \ | 2554 | $(XECHO) "... enabling 36-bit physical addressing." ; \ |
2544 | fi | 2555 | fi |
2545 | @$(MKCONFIG) -a MPC8641HPCN ppc mpc86xx mpc8641hpcn freescale | 2556 | @$(MKCONFIG) -a MPC8641HPCN ppc mpc86xx mpc8641hpcn freescale |
2546 | 2557 | ||
2547 | sbc8641d_config: unconfig | 2558 | sbc8641d_config: unconfig |
2548 | @$(MKCONFIG) $(@:_config=) ppc mpc86xx sbc8641d | 2559 | @$(MKCONFIG) $(@:_config=) ppc mpc86xx sbc8641d |
2549 | 2560 | ||
2550 | ######################################################################### | 2561 | ######################################################################### |
2551 | ## 74xx/7xx Systems | 2562 | ## 74xx/7xx Systems |
2552 | ######################################################################### | 2563 | ######################################################################### |
2553 | 2564 | ||
2554 | AmigaOneG3SE_config: unconfig | 2565 | AmigaOneG3SE_config: unconfig |
2555 | @$(MKCONFIG) $(@:_config=) ppc 74xx_7xx AmigaOneG3SE MAI | 2566 | @$(MKCONFIG) $(@:_config=) ppc 74xx_7xx AmigaOneG3SE MAI |
2556 | 2567 | ||
2557 | BAB7xx_config: unconfig | 2568 | BAB7xx_config: unconfig |
2558 | @$(MKCONFIG) $(@:_config=) ppc 74xx_7xx bab7xx eltec | 2569 | @$(MKCONFIG) $(@:_config=) ppc 74xx_7xx bab7xx eltec |
2559 | 2570 | ||
2560 | CPCI750_config: unconfig | 2571 | CPCI750_config: unconfig |
2561 | @$(MKCONFIG) CPCI750 ppc 74xx_7xx cpci750 esd | 2572 | @$(MKCONFIG) CPCI750 ppc 74xx_7xx cpci750 esd |
2562 | 2573 | ||
2563 | DB64360_config: unconfig | 2574 | DB64360_config: unconfig |
2564 | @$(MKCONFIG) DB64360 ppc 74xx_7xx db64360 Marvell | 2575 | @$(MKCONFIG) DB64360 ppc 74xx_7xx db64360 Marvell |
2565 | 2576 | ||
2566 | DB64460_config: unconfig | 2577 | DB64460_config: unconfig |
2567 | @$(MKCONFIG) DB64460 ppc 74xx_7xx db64460 Marvell | 2578 | @$(MKCONFIG) DB64460 ppc 74xx_7xx db64460 Marvell |
2568 | 2579 | ||
2569 | ELPPC_config: unconfig | 2580 | ELPPC_config: unconfig |
2570 | @$(MKCONFIG) $(@:_config=) ppc 74xx_7xx elppc eltec | 2581 | @$(MKCONFIG) $(@:_config=) ppc 74xx_7xx elppc eltec |
2571 | 2582 | ||
2572 | EVB64260_config \ | 2583 | EVB64260_config \ |
2573 | EVB64260_750CX_config: unconfig | 2584 | EVB64260_750CX_config: unconfig |
2574 | @$(MKCONFIG) EVB64260 ppc 74xx_7xx evb64260 | 2585 | @$(MKCONFIG) EVB64260 ppc 74xx_7xx evb64260 |
2575 | 2586 | ||
2576 | mpc7448hpc2_config: unconfig | 2587 | mpc7448hpc2_config: unconfig |
2577 | @$(MKCONFIG) $(@:_config=) ppc 74xx_7xx mpc7448hpc2 freescale | 2588 | @$(MKCONFIG) $(@:_config=) ppc 74xx_7xx mpc7448hpc2 freescale |
2578 | 2589 | ||
2579 | P3G4_config: unconfig | 2590 | P3G4_config: unconfig |
2580 | @$(MKCONFIG) $(@:_config=) ppc 74xx_7xx evb64260 | 2591 | @$(MKCONFIG) $(@:_config=) ppc 74xx_7xx evb64260 |
2581 | 2592 | ||
2582 | p3m750_config \ | 2593 | p3m750_config \ |
2583 | p3m7448_config: unconfig | 2594 | p3m7448_config: unconfig |
2584 | @mkdir -p $(obj)include | 2595 | @mkdir -p $(obj)include |
2585 | @if [ "$(findstring 750_,$@)" ] ; then \ | 2596 | @if [ "$(findstring 750_,$@)" ] ; then \ |
2586 | echo "#define CONFIG_P3M750" >>$(obj)include/config.h ; \ | 2597 | echo "#define CONFIG_P3M750" >>$(obj)include/config.h ; \ |
2587 | else \ | 2598 | else \ |
2588 | echo "#define CONFIG_P3M7448" >>$(obj)include/config.h ; \ | 2599 | echo "#define CONFIG_P3M7448" >>$(obj)include/config.h ; \ |
2589 | fi | 2600 | fi |
2590 | @$(MKCONFIG) -a p3mx ppc 74xx_7xx p3mx prodrive | 2601 | @$(MKCONFIG) -a p3mx ppc 74xx_7xx p3mx prodrive |
2591 | 2602 | ||
2592 | PCIPPC2_config \ | 2603 | PCIPPC2_config \ |
2593 | PCIPPC6_config: unconfig | 2604 | PCIPPC6_config: unconfig |
2594 | @$(MKCONFIG) $(@:_config=) ppc 74xx_7xx pcippc2 | 2605 | @$(MKCONFIG) $(@:_config=) ppc 74xx_7xx pcippc2 |
2595 | 2606 | ||
2596 | ppmc7xx_config: unconfig | 2607 | ppmc7xx_config: unconfig |
2597 | @$(MKCONFIG) $(@:_config=) ppc 74xx_7xx ppmc7xx | 2608 | @$(MKCONFIG) $(@:_config=) ppc 74xx_7xx ppmc7xx |
2598 | 2609 | ||
2599 | ZUMA_config: unconfig | 2610 | ZUMA_config: unconfig |
2600 | @$(MKCONFIG) $(@:_config=) ppc 74xx_7xx evb64260 | 2611 | @$(MKCONFIG) $(@:_config=) ppc 74xx_7xx evb64260 |
2601 | 2612 | ||
2602 | #======================================================================== | 2613 | #======================================================================== |
2603 | # ARM | 2614 | # ARM |
2604 | #======================================================================== | 2615 | #======================================================================== |
2605 | ######################################################################### | 2616 | ######################################################################### |
2606 | ## StrongARM Systems | 2617 | ## StrongARM Systems |
2607 | ######################################################################### | 2618 | ######################################################################### |
2608 | 2619 | ||
2609 | assabet_config : unconfig | 2620 | assabet_config : unconfig |
2610 | @$(MKCONFIG) $(@:_config=) arm sa1100 assabet | 2621 | @$(MKCONFIG) $(@:_config=) arm sa1100 assabet |
2611 | 2622 | ||
2612 | dnp1110_config : unconfig | 2623 | dnp1110_config : unconfig |
2613 | @$(MKCONFIG) $(@:_config=) arm sa1100 dnp1110 | 2624 | @$(MKCONFIG) $(@:_config=) arm sa1100 dnp1110 |
2614 | 2625 | ||
2615 | gcplus_config : unconfig | 2626 | gcplus_config : unconfig |
2616 | @$(MKCONFIG) $(@:_config=) arm sa1100 gcplus | 2627 | @$(MKCONFIG) $(@:_config=) arm sa1100 gcplus |
2617 | 2628 | ||
2618 | lart_config : unconfig | 2629 | lart_config : unconfig |
2619 | @$(MKCONFIG) $(@:_config=) arm sa1100 lart | 2630 | @$(MKCONFIG) $(@:_config=) arm sa1100 lart |
2620 | 2631 | ||
2621 | shannon_config : unconfig | 2632 | shannon_config : unconfig |
2622 | @$(MKCONFIG) $(@:_config=) arm sa1100 shannon | 2633 | @$(MKCONFIG) $(@:_config=) arm sa1100 shannon |
2623 | 2634 | ||
2624 | ######################################################################### | 2635 | ######################################################################### |
2625 | ## ARM92xT Systems | 2636 | ## ARM92xT Systems |
2626 | ######################################################################### | 2637 | ######################################################################### |
2627 | 2638 | ||
2628 | ######################################################################### | 2639 | ######################################################################### |
2629 | ## Atmel AT91RM9200 Systems | 2640 | ## Atmel AT91RM9200 Systems |
2630 | ######################################################################### | 2641 | ######################################################################### |
2631 | 2642 | ||
2632 | at91rm9200dk_config : unconfig | 2643 | at91rm9200dk_config : unconfig |
2633 | @$(MKCONFIG) $(@:_config=) arm arm920t at91rm9200dk atmel at91rm9200 | 2644 | @$(MKCONFIG) $(@:_config=) arm arm920t at91rm9200dk atmel at91rm9200 |
2634 | 2645 | ||
2635 | at91rm9200ek_config : unconfig | 2646 | at91rm9200ek_config : unconfig |
2636 | @$(MKCONFIG) $(@:_config=) arm arm920t at91rm9200ek atmel at91rm9200 | 2647 | @$(MKCONFIG) $(@:_config=) arm arm920t at91rm9200ek atmel at91rm9200 |
2637 | 2648 | ||
2638 | cmc_pu2_config : unconfig | 2649 | cmc_pu2_config : unconfig |
2639 | @$(MKCONFIG) $(@:_config=) arm arm920t cmc_pu2 NULL at91rm9200 | 2650 | @$(MKCONFIG) $(@:_config=) arm arm920t cmc_pu2 NULL at91rm9200 |
2640 | 2651 | ||
2641 | csb637_config : unconfig | 2652 | csb637_config : unconfig |
2642 | @$(MKCONFIG) $(@:_config=) arm arm920t csb637 NULL at91rm9200 | 2653 | @$(MKCONFIG) $(@:_config=) arm arm920t csb637 NULL at91rm9200 |
2643 | 2654 | ||
2644 | kb9202_config : unconfig | 2655 | kb9202_config : unconfig |
2645 | @$(MKCONFIG) $(@:_config=) arm arm920t kb9202 NULL at91rm9200 | 2656 | @$(MKCONFIG) $(@:_config=) arm arm920t kb9202 NULL at91rm9200 |
2646 | 2657 | ||
2647 | m501sk_config : unconfig | 2658 | m501sk_config : unconfig |
2648 | @$(MKCONFIG) $(@:_config=) arm arm920t m501sk NULL at91rm9200 | 2659 | @$(MKCONFIG) $(@:_config=) arm arm920t m501sk NULL at91rm9200 |
2649 | 2660 | ||
2650 | mp2usb_config : unconfig | 2661 | mp2usb_config : unconfig |
2651 | @$(MKCONFIG) $(@:_config=) arm arm920t mp2usb NULL at91rm9200 | 2662 | @$(MKCONFIG) $(@:_config=) arm arm920t mp2usb NULL at91rm9200 |
2652 | 2663 | ||
2653 | ######################################################################### | 2664 | ######################################################################### |
2654 | ## Atmel ARM926EJ-S Systems | 2665 | ## Atmel ARM926EJ-S Systems |
2655 | ######################################################################### | 2666 | ######################################################################### |
2656 | 2667 | ||
2657 | afeb9260_config: unconfig | 2668 | afeb9260_config: unconfig |
2658 | @$(MKCONFIG) $(@:_config=) arm arm926ejs afeb9260 NULL at91 | 2669 | @$(MKCONFIG) $(@:_config=) arm arm926ejs afeb9260 NULL at91 |
2659 | 2670 | ||
2660 | at91cap9adk_config : unconfig | 2671 | at91cap9adk_config : unconfig |
2661 | @$(MKCONFIG) $(@:_config=) arm arm926ejs at91cap9adk atmel at91 | 2672 | @$(MKCONFIG) $(@:_config=) arm arm926ejs at91cap9adk atmel at91 |
2662 | 2673 | ||
2663 | at91sam9260ek_nandflash_config \ | 2674 | at91sam9260ek_nandflash_config \ |
2664 | at91sam9260ek_dataflash_cs0_config \ | 2675 | at91sam9260ek_dataflash_cs0_config \ |
2665 | at91sam9260ek_dataflash_cs1_config \ | 2676 | at91sam9260ek_dataflash_cs1_config \ |
2666 | at91sam9260ek_config \ | 2677 | at91sam9260ek_config \ |
2667 | at91sam9g20ek_nandflash_config \ | 2678 | at91sam9g20ek_nandflash_config \ |
2668 | at91sam9g20ek_dataflash_cs0_config \ | 2679 | at91sam9g20ek_dataflash_cs0_config \ |
2669 | at91sam9g20ek_dataflash_cs1_config \ | 2680 | at91sam9g20ek_dataflash_cs1_config \ |
2670 | at91sam9g20ek_config : unconfig | 2681 | at91sam9g20ek_config : unconfig |
2671 | @mkdir -p $(obj)include | 2682 | @mkdir -p $(obj)include |
2672 | @if [ "$(findstring 9g20,$@)" ] ; then \ | 2683 | @if [ "$(findstring 9g20,$@)" ] ; then \ |
2673 | echo "#define CONFIG_AT91SAM9G20EK 1" >>$(obj)include/config.h ; \ | 2684 | echo "#define CONFIG_AT91SAM9G20EK 1" >>$(obj)include/config.h ; \ |
2674 | $(XECHO) "... 9G20 Variant" ; \ | 2685 | $(XECHO) "... 9G20 Variant" ; \ |
2675 | else \ | 2686 | else \ |
2676 | echo "#define CONFIG_AT91SAM9260EK 1" >>$(obj)include/config.h ; \ | 2687 | echo "#define CONFIG_AT91SAM9260EK 1" >>$(obj)include/config.h ; \ |
2677 | fi; | 2688 | fi; |
2678 | @if [ "$(findstring _nandflash,$@)" ] ; then \ | 2689 | @if [ "$(findstring _nandflash,$@)" ] ; then \ |
2679 | echo "#define CONFIG_SYS_USE_NANDFLASH 1" >>$(obj)include/config.h ; \ | 2690 | echo "#define CONFIG_SYS_USE_NANDFLASH 1" >>$(obj)include/config.h ; \ |
2680 | $(XECHO) "... with environment variable in NAND FLASH" ; \ | 2691 | $(XECHO) "... with environment variable in NAND FLASH" ; \ |
2681 | elif [ "$(findstring dataflash_cs0,$@)" ] ; then \ | 2692 | elif [ "$(findstring dataflash_cs0,$@)" ] ; then \ |
2682 | echo "#define CONFIG_SYS_USE_DATAFLASH_CS0 1" >>$(obj)include/config.h ; \ | 2693 | echo "#define CONFIG_SYS_USE_DATAFLASH_CS0 1" >>$(obj)include/config.h ; \ |
2683 | $(XECHO) "... with environment variable in SPI DATAFLASH CS0" ; \ | 2694 | $(XECHO) "... with environment variable in SPI DATAFLASH CS0" ; \ |
2684 | else \ | 2695 | else \ |
2685 | echo "#define CONFIG_SYS_USE_DATAFLASH_CS1 1" >>$(obj)include/config.h ; \ | 2696 | echo "#define CONFIG_SYS_USE_DATAFLASH_CS1 1" >>$(obj)include/config.h ; \ |
2686 | $(XECHO) "... with environment variable in SPI DATAFLASH CS1" ; \ | 2697 | $(XECHO) "... with environment variable in SPI DATAFLASH CS1" ; \ |
2687 | fi; | 2698 | fi; |
2688 | @$(MKCONFIG) -a at91sam9260ek arm arm926ejs at91sam9260ek atmel at91 | 2699 | @$(MKCONFIG) -a at91sam9260ek arm arm926ejs at91sam9260ek atmel at91 |
2689 | 2700 | ||
2690 | at91sam9xeek_nandflash_config \ | 2701 | at91sam9xeek_nandflash_config \ |
2691 | at91sam9xeek_dataflash_cs0_config \ | 2702 | at91sam9xeek_dataflash_cs0_config \ |
2692 | at91sam9xeek_dataflash_cs1_config \ | 2703 | at91sam9xeek_dataflash_cs1_config \ |
2693 | at91sam9xeek_config : unconfig | 2704 | at91sam9xeek_config : unconfig |
2694 | @mkdir -p $(obj)include | 2705 | @mkdir -p $(obj)include |
2695 | @if [ "$(findstring _nandflash,$@)" ] ; then \ | 2706 | @if [ "$(findstring _nandflash,$@)" ] ; then \ |
2696 | echo "#define CONFIG_SYS_USE_NANDFLASH 1" >>$(obj)include/config.h ; \ | 2707 | echo "#define CONFIG_SYS_USE_NANDFLASH 1" >>$(obj)include/config.h ; \ |
2697 | $(XECHO) "... with environment variable in NAND FLASH" ; \ | 2708 | $(XECHO) "... with environment variable in NAND FLASH" ; \ |
2698 | elif [ "$(findstring dataflash_cs0,$@)" ] ; then \ | 2709 | elif [ "$(findstring dataflash_cs0,$@)" ] ; then \ |
2699 | echo "#define CONFIG_SYS_USE_DATAFLASH_CS0 1" >>$(obj)include/config.h ; \ | 2710 | echo "#define CONFIG_SYS_USE_DATAFLASH_CS0 1" >>$(obj)include/config.h ; \ |
2700 | $(XECHO) "... with environment variable in SPI DATAFLASH CS0" ; \ | 2711 | $(XECHO) "... with environment variable in SPI DATAFLASH CS0" ; \ |
2701 | else \ | 2712 | else \ |
2702 | echo "#define CONFIG_SYS_USE_DATAFLASH_CS1 1" >>$(obj)include/config.h ; \ | 2713 | echo "#define CONFIG_SYS_USE_DATAFLASH_CS1 1" >>$(obj)include/config.h ; \ |
2703 | $(XECHO) "... with environment variable in SPI DATAFLASH CS1" ; \ | 2714 | $(XECHO) "... with environment variable in SPI DATAFLASH CS1" ; \ |
2704 | fi; | 2715 | fi; |
2705 | @$(MKCONFIG) -n at91sam9xeek -a at91sam9260ek arm arm926ejs at91sam9260ek atmel at91 | 2716 | @$(MKCONFIG) -n at91sam9xeek -a at91sam9260ek arm arm926ejs at91sam9260ek atmel at91 |
2706 | 2717 | ||
2707 | at91sam9261ek_nandflash_config \ | 2718 | at91sam9261ek_nandflash_config \ |
2708 | at91sam9261ek_dataflash_cs0_config \ | 2719 | at91sam9261ek_dataflash_cs0_config \ |
2709 | at91sam9261ek_dataflash_cs3_config \ | 2720 | at91sam9261ek_dataflash_cs3_config \ |
2710 | at91sam9261ek_config : unconfig | 2721 | at91sam9261ek_config : unconfig |
2711 | @mkdir -p $(obj)include | 2722 | @mkdir -p $(obj)include |
2712 | @if [ "$(findstring _nandflash,$@)" ] ; then \ | 2723 | @if [ "$(findstring _nandflash,$@)" ] ; then \ |
2713 | echo "#define CONFIG_SYS_USE_NANDFLASH 1" >>$(obj)include/config.h ; \ | 2724 | echo "#define CONFIG_SYS_USE_NANDFLASH 1" >>$(obj)include/config.h ; \ |
2714 | $(XECHO) "... with environment variable in NAND FLASH" ; \ | 2725 | $(XECHO) "... with environment variable in NAND FLASH" ; \ |
2715 | elif [ "$(findstring dataflash_cs3,$@)" ] ; then \ | 2726 | elif [ "$(findstring dataflash_cs3,$@)" ] ; then \ |
2716 | echo "#define CONFIG_SYS_USE_DATAFLASH_CS3 1" >>$(obj)include/config.h ; \ | 2727 | echo "#define CONFIG_SYS_USE_DATAFLASH_CS3 1" >>$(obj)include/config.h ; \ |
2717 | $(XECHO) "... with environment variable in SPI DATAFLASH CS3" ; \ | 2728 | $(XECHO) "... with environment variable in SPI DATAFLASH CS3" ; \ |
2718 | else \ | 2729 | else \ |
2719 | echo "#define CONFIG_SYS_USE_DATAFLASH_CS0 1" >>$(obj)include/config.h ; \ | 2730 | echo "#define CONFIG_SYS_USE_DATAFLASH_CS0 1" >>$(obj)include/config.h ; \ |
2720 | $(XECHO) "... with environment variable in SPI DATAFLASH CS0" ; \ | 2731 | $(XECHO) "... with environment variable in SPI DATAFLASH CS0" ; \ |
2721 | fi; | 2732 | fi; |
2722 | @$(MKCONFIG) -a at91sam9261ek arm arm926ejs at91sam9261ek atmel at91 | 2733 | @$(MKCONFIG) -a at91sam9261ek arm arm926ejs at91sam9261ek atmel at91 |
2723 | 2734 | ||
2724 | at91sam9263ek_nandflash_config \ | 2735 | at91sam9263ek_nandflash_config \ |
2725 | at91sam9263ek_dataflash_config \ | 2736 | at91sam9263ek_dataflash_config \ |
2726 | at91sam9263ek_dataflash_cs0_config \ | 2737 | at91sam9263ek_dataflash_cs0_config \ |
2727 | at91sam9263ek_config : unconfig | 2738 | at91sam9263ek_config : unconfig |
2728 | @mkdir -p $(obj)include | 2739 | @mkdir -p $(obj)include |
2729 | @if [ "$(findstring _nandflash,$@)" ] ; then \ | 2740 | @if [ "$(findstring _nandflash,$@)" ] ; then \ |
2730 | echo "#define CONFIG_SYS_USE_NANDFLASH 1" >>$(obj)include/config.h ; \ | 2741 | echo "#define CONFIG_SYS_USE_NANDFLASH 1" >>$(obj)include/config.h ; \ |
2731 | $(XECHO) "... with environment variable in NAND FLASH" ; \ | 2742 | $(XECHO) "... with environment variable in NAND FLASH" ; \ |
2732 | else \ | 2743 | else \ |
2733 | echo "#define CONFIG_SYS_USE_DATAFLASH 1" >>$(obj)include/config.h ; \ | 2744 | echo "#define CONFIG_SYS_USE_DATAFLASH 1" >>$(obj)include/config.h ; \ |
2734 | $(XECHO) "... with environment variable in SPI DATAFLASH CS0" ; \ | 2745 | $(XECHO) "... with environment variable in SPI DATAFLASH CS0" ; \ |
2735 | fi; | 2746 | fi; |
2736 | @$(MKCONFIG) -a at91sam9263ek arm arm926ejs at91sam9263ek atmel at91 | 2747 | @$(MKCONFIG) -a at91sam9263ek arm arm926ejs at91sam9263ek atmel at91 |
2737 | 2748 | ||
2738 | at91sam9rlek_nandflash_config \ | 2749 | at91sam9rlek_nandflash_config \ |
2739 | at91sam9rlek_dataflash_config \ | 2750 | at91sam9rlek_dataflash_config \ |
2740 | at91sam9rlek_dataflash_cs0_config \ | 2751 | at91sam9rlek_dataflash_cs0_config \ |
2741 | at91sam9rlek_config : unconfig | 2752 | at91sam9rlek_config : unconfig |
2742 | @mkdir -p $(obj)include | 2753 | @mkdir -p $(obj)include |
2743 | @if [ "$(findstring _nandflash,$@)" ] ; then \ | 2754 | @if [ "$(findstring _nandflash,$@)" ] ; then \ |
2744 | echo "#define CONFIG_SYS_USE_NANDFLASH 1" >>$(obj)include/config.h ; \ | 2755 | echo "#define CONFIG_SYS_USE_NANDFLASH 1" >>$(obj)include/config.h ; \ |
2745 | $(XECHO) "... with environment variable in NAND FLASH" ; \ | 2756 | $(XECHO) "... with environment variable in NAND FLASH" ; \ |
2746 | else \ | 2757 | else \ |
2747 | echo "#define CONFIG_SYS_USE_DATAFLASH 1" >>$(obj)include/config.h ; \ | 2758 | echo "#define CONFIG_SYS_USE_DATAFLASH 1" >>$(obj)include/config.h ; \ |
2748 | $(XECHO) "... with environment variable in SPI DATAFLASH CS0" ; \ | 2759 | $(XECHO) "... with environment variable in SPI DATAFLASH CS0" ; \ |
2749 | fi; | 2760 | fi; |
2750 | @$(MKCONFIG) -a at91sam9rlek arm arm926ejs at91sam9rlek atmel at91 | 2761 | @$(MKCONFIG) -a at91sam9rlek arm arm926ejs at91sam9rlek atmel at91 |
2751 | 2762 | ||
2752 | pm9263_config : unconfig | 2763 | pm9263_config : unconfig |
2753 | @$(MKCONFIG) $(@:_config=) arm arm926ejs pm9263 ronetix at91 | 2764 | @$(MKCONFIG) $(@:_config=) arm arm926ejs pm9263 ronetix at91 |
2754 | 2765 | ||
2755 | ######################################################################## | 2766 | ######################################################################## |
2756 | ## ARM Integrator boards - see doc/README-integrator for more info. | 2767 | ## ARM Integrator boards - see doc/README-integrator for more info. |
2757 | integratorap_config \ | 2768 | integratorap_config \ |
2758 | ap_config \ | 2769 | ap_config \ |
2759 | ap966_config \ | 2770 | ap966_config \ |
2760 | ap922_config \ | 2771 | ap922_config \ |
2761 | ap922_XA10_config \ | 2772 | ap922_XA10_config \ |
2762 | ap7_config \ | 2773 | ap7_config \ |
2763 | ap720t_config \ | 2774 | ap720t_config \ |
2764 | ap920t_config \ | 2775 | ap920t_config \ |
2765 | ap926ejs_config \ | 2776 | ap926ejs_config \ |
2766 | ap946es_config: unconfig | 2777 | ap946es_config: unconfig |
2767 | @board/armltd/integratorap/split_by_variant.sh $@ | 2778 | @board/armltd/integratorap/split_by_variant.sh $@ |
2768 | 2779 | ||
2769 | integratorcp_config \ | 2780 | integratorcp_config \ |
2770 | cp_config \ | 2781 | cp_config \ |
2771 | cp920t_config \ | 2782 | cp920t_config \ |
2772 | cp926ejs_config \ | 2783 | cp926ejs_config \ |
2773 | cp946es_config \ | 2784 | cp946es_config \ |
2774 | cp1136_config \ | 2785 | cp1136_config \ |
2775 | cp966_config \ | 2786 | cp966_config \ |
2776 | cp922_config \ | 2787 | cp922_config \ |
2777 | cp922_XA10_config \ | 2788 | cp922_XA10_config \ |
2778 | cp1026_config: unconfig | 2789 | cp1026_config: unconfig |
2779 | @board/armltd/integratorcp/split_by_variant.sh $@ | 2790 | @board/armltd/integratorcp/split_by_variant.sh $@ |
2780 | 2791 | ||
2781 | davinci_dvevm_config : unconfig | 2792 | davinci_dvevm_config : unconfig |
2782 | @$(MKCONFIG) $(@:_config=) arm arm926ejs dvevm davinci davinci | 2793 | @$(MKCONFIG) $(@:_config=) arm arm926ejs dvevm davinci davinci |
2783 | 2794 | ||
2784 | davinci_schmoogie_config : unconfig | 2795 | davinci_schmoogie_config : unconfig |
2785 | @$(MKCONFIG) $(@:_config=) arm arm926ejs schmoogie davinci davinci | 2796 | @$(MKCONFIG) $(@:_config=) arm arm926ejs schmoogie davinci davinci |
2786 | 2797 | ||
2787 | davinci_sffsdr_config : unconfig | 2798 | davinci_sffsdr_config : unconfig |
2788 | @$(MKCONFIG) $(@:_config=) arm arm926ejs sffsdr davinci davinci | 2799 | @$(MKCONFIG) $(@:_config=) arm arm926ejs sffsdr davinci davinci |
2789 | 2800 | ||
2790 | davinci_sonata_config : unconfig | 2801 | davinci_sonata_config : unconfig |
2791 | @$(MKCONFIG) $(@:_config=) arm arm926ejs sonata davinci davinci | 2802 | @$(MKCONFIG) $(@:_config=) arm arm926ejs sonata davinci davinci |
2792 | 2803 | ||
2793 | lpd7a400_config \ | 2804 | lpd7a400_config \ |
2794 | lpd7a404_config: unconfig | 2805 | lpd7a404_config: unconfig |
2795 | @$(MKCONFIG) $(@:_config=) arm lh7a40x lpd7a40x | 2806 | @$(MKCONFIG) $(@:_config=) arm lh7a40x lpd7a40x |
2796 | 2807 | ||
2797 | mx1ads_config : unconfig | 2808 | mx1ads_config : unconfig |
2798 | @$(MKCONFIG) $(@:_config=) arm arm920t mx1ads NULL imx | 2809 | @$(MKCONFIG) $(@:_config=) arm arm920t mx1ads NULL imx |
2799 | 2810 | ||
2800 | mx1fs2_config : unconfig | 2811 | mx1fs2_config : unconfig |
2801 | @$(MKCONFIG) $(@:_config=) arm arm920t mx1fs2 NULL imx | 2812 | @$(MKCONFIG) $(@:_config=) arm arm920t mx1fs2 NULL imx |
2802 | 2813 | ||
2803 | netstar_config: unconfig | 2814 | netstar_config: unconfig |
2804 | @$(MKCONFIG) $(@:_config=) arm arm925t netstar | 2815 | @$(MKCONFIG) $(@:_config=) arm arm925t netstar |
2805 | 2816 | ||
2806 | nmdk8815_config \ | 2817 | nmdk8815_config \ |
2807 | nmdk8815_onenand_config: unconfig | 2818 | nmdk8815_onenand_config: unconfig |
2808 | @mkdir -p $(obj)include | 2819 | @mkdir -p $(obj)include |
2809 | @ > $(obj)include/config.h | 2820 | @ > $(obj)include/config.h |
2810 | @if [ "$(findstring _onenand, $@)" ] ; then \ | 2821 | @if [ "$(findstring _onenand, $@)" ] ; then \ |
2811 | echo "#define CONFIG_BOOT_ONENAND" >> $(obj)include/config.h; \ | 2822 | echo "#define CONFIG_BOOT_ONENAND" >> $(obj)include/config.h; \ |
2812 | $(XECHO) "... configured for OneNand Flash"; \ | 2823 | $(XECHO) "... configured for OneNand Flash"; \ |
2813 | else \ | 2824 | else \ |
2814 | $(XECHO) "... configured for Nand Flash"; \ | 2825 | $(XECHO) "... configured for Nand Flash"; \ |
2815 | fi | 2826 | fi |
2816 | @$(MKCONFIG) -a nmdk8815 arm arm926ejs nmdk8815 st nomadik | 2827 | @$(MKCONFIG) -a nmdk8815 arm arm926ejs nmdk8815 st nomadik |
2817 | 2828 | ||
2818 | omap1510inn_config : unconfig | 2829 | omap1510inn_config : unconfig |
2819 | @$(MKCONFIG) $(@:_config=) arm arm925t omap1510inn | 2830 | @$(MKCONFIG) $(@:_config=) arm arm925t omap1510inn |
2820 | 2831 | ||
2821 | xtract_omap1610xxx = $(subst _cs0boot,,$(subst _cs3boot,,$(subst _cs_autoboot,,$(subst _config,,$1)))) | 2832 | xtract_omap1610xxx = $(subst _cs0boot,,$(subst _cs3boot,,$(subst _cs_autoboot,,$(subst _config,,$1)))) |
2822 | 2833 | ||
2823 | omap1610inn_config \ | 2834 | omap1610inn_config \ |
2824 | omap1610inn_cs0boot_config \ | 2835 | omap1610inn_cs0boot_config \ |
2825 | omap1610inn_cs3boot_config \ | 2836 | omap1610inn_cs3boot_config \ |
2826 | omap1610inn_cs_autoboot_config \ | 2837 | omap1610inn_cs_autoboot_config \ |
2827 | omap1610h2_config \ | 2838 | omap1610h2_config \ |
2828 | omap1610h2_cs0boot_config \ | 2839 | omap1610h2_cs0boot_config \ |
2829 | omap1610h2_cs3boot_config \ | 2840 | omap1610h2_cs3boot_config \ |
2830 | omap1610h2_cs_autoboot_config: unconfig | 2841 | omap1610h2_cs_autoboot_config: unconfig |
2831 | @mkdir -p $(obj)include | 2842 | @mkdir -p $(obj)include |
2832 | @if [ "$(findstring _cs0boot_, $@)" ] ; then \ | 2843 | @if [ "$(findstring _cs0boot_, $@)" ] ; then \ |
2833 | echo "#define CONFIG_CS0_BOOT" >> .$(obj)include/config.h ; \ | 2844 | echo "#define CONFIG_CS0_BOOT" >> .$(obj)include/config.h ; \ |
2834 | $(XECHO) "... configured for CS0 boot"; \ | 2845 | $(XECHO) "... configured for CS0 boot"; \ |
2835 | elif [ "$(findstring _cs_autoboot_, $@)" ] ; then \ | 2846 | elif [ "$(findstring _cs_autoboot_, $@)" ] ; then \ |
2836 | echo "#define CONFIG_CS_AUTOBOOT" >> $(obj)include/config.h ; \ | 2847 | echo "#define CONFIG_CS_AUTOBOOT" >> $(obj)include/config.h ; \ |
2837 | $(XECHO) "... configured for CS_AUTO boot"; \ | 2848 | $(XECHO) "... configured for CS_AUTO boot"; \ |
2838 | else \ | 2849 | else \ |
2839 | echo "#define CONFIG_CS3_BOOT" >> $(obj)include/config.h ; \ | 2850 | echo "#define CONFIG_CS3_BOOT" >> $(obj)include/config.h ; \ |
2840 | $(XECHO) "... configured for CS3 boot"; \ | 2851 | $(XECHO) "... configured for CS3 boot"; \ |
2841 | fi; | 2852 | fi; |
2842 | @$(MKCONFIG) -a $(call xtract_omap1610xxx,$@) arm arm926ejs omap1610inn NULL omap | 2853 | @$(MKCONFIG) -a $(call xtract_omap1610xxx,$@) arm arm926ejs omap1610inn NULL omap |
2843 | 2854 | ||
2844 | omap5912osk_config : unconfig | 2855 | omap5912osk_config : unconfig |
2845 | @$(MKCONFIG) $(@:_config=) arm arm926ejs omap5912osk NULL omap | 2856 | @$(MKCONFIG) $(@:_config=) arm arm926ejs omap5912osk NULL omap |
2846 | 2857 | ||
2847 | xtract_omap730p2 = $(subst _cs0boot,,$(subst _cs3boot,, $(subst _config,,$1))) | 2858 | xtract_omap730p2 = $(subst _cs0boot,,$(subst _cs3boot,, $(subst _config,,$1))) |
2848 | 2859 | ||
2849 | omap730p2_config \ | 2860 | omap730p2_config \ |
2850 | omap730p2_cs0boot_config \ | 2861 | omap730p2_cs0boot_config \ |
2851 | omap730p2_cs3boot_config : unconfig | 2862 | omap730p2_cs3boot_config : unconfig |
2852 | @mkdir -p $(obj)include | 2863 | @mkdir -p $(obj)include |
2853 | @if [ "$(findstring _cs0boot_, $@)" ] ; then \ | 2864 | @if [ "$(findstring _cs0boot_, $@)" ] ; then \ |
2854 | echo "#define CONFIG_CS0_BOOT" >> $(obj)include/config.h ; \ | 2865 | echo "#define CONFIG_CS0_BOOT" >> $(obj)include/config.h ; \ |
2855 | $(XECHO) "... configured for CS0 boot"; \ | 2866 | $(XECHO) "... configured for CS0 boot"; \ |
2856 | else \ | 2867 | else \ |
2857 | echo "#define CONFIG_CS3_BOOT" >> $(obj)include/config.h ; \ | 2868 | echo "#define CONFIG_CS3_BOOT" >> $(obj)include/config.h ; \ |
2858 | $(XECHO) "... configured for CS3 boot"; \ | 2869 | $(XECHO) "... configured for CS3 boot"; \ |
2859 | fi; | 2870 | fi; |
2860 | @$(MKCONFIG) -a $(call xtract_omap730p2,$@) arm arm926ejs omap730p2 NULL omap | 2871 | @$(MKCONFIG) -a $(call xtract_omap730p2,$@) arm arm926ejs omap730p2 NULL omap |
2861 | 2872 | ||
2862 | sbc2410x_config: unconfig | 2873 | sbc2410x_config: unconfig |
2863 | @$(MKCONFIG) $(@:_config=) arm arm920t sbc2410x NULL s3c24x0 | 2874 | @$(MKCONFIG) $(@:_config=) arm arm920t sbc2410x NULL s3c24x0 |
2864 | 2875 | ||
2865 | scb9328_config : unconfig | 2876 | scb9328_config : unconfig |
2866 | @$(MKCONFIG) $(@:_config=) arm arm920t scb9328 NULL imx | 2877 | @$(MKCONFIG) $(@:_config=) arm arm920t scb9328 NULL imx |
2867 | 2878 | ||
2868 | smdk2400_config : unconfig | 2879 | smdk2400_config : unconfig |
2869 | @$(MKCONFIG) $(@:_config=) arm arm920t smdk2400 samsung s3c24x0 | 2880 | @$(MKCONFIG) $(@:_config=) arm arm920t smdk2400 samsung s3c24x0 |
2870 | 2881 | ||
2871 | smdk2410_config : unconfig | 2882 | smdk2410_config : unconfig |
2872 | @$(MKCONFIG) $(@:_config=) arm arm920t smdk2410 samsung s3c24x0 | 2883 | @$(MKCONFIG) $(@:_config=) arm arm920t smdk2410 samsung s3c24x0 |
2873 | 2884 | ||
2874 | SX1_stdout_serial_config \ | 2885 | SX1_stdout_serial_config \ |
2875 | SX1_config: unconfig | 2886 | SX1_config: unconfig |
2876 | @mkdir -p $(obj)include | 2887 | @mkdir -p $(obj)include |
2877 | @if [ "$(findstring _stdout_serial_, $@)" ] ; then \ | 2888 | @if [ "$(findstring _stdout_serial_, $@)" ] ; then \ |
2878 | echo "#undef CONFIG_STDOUT_USBTTY" >> $(obj)include/config.h ; \ | 2889 | echo "#undef CONFIG_STDOUT_USBTTY" >> $(obj)include/config.h ; \ |
2879 | $(XECHO) "... configured for stdout serial"; \ | 2890 | $(XECHO) "... configured for stdout serial"; \ |
2880 | else \ | 2891 | else \ |
2881 | echo "#define CONFIG_STDOUT_USBTTY" >> $(obj)include/config.h ; \ | 2892 | echo "#define CONFIG_STDOUT_USBTTY" >> $(obj)include/config.h ; \ |
2882 | $(XECHO) "... configured for stdout usbtty"; \ | 2893 | $(XECHO) "... configured for stdout usbtty"; \ |
2883 | fi; | 2894 | fi; |
2884 | @$(MKCONFIG) SX1 arm arm925t sx1 | 2895 | @$(MKCONFIG) SX1 arm arm925t sx1 |
2885 | 2896 | ||
2886 | # TRAB default configuration: 8 MB Flash, 32 MB RAM | 2897 | # TRAB default configuration: 8 MB Flash, 32 MB RAM |
2887 | xtract_trab = $(subst _bigram,,$(subst _bigflash,,$(subst _old,,$(subst _config,,$1)))) | 2898 | xtract_trab = $(subst _bigram,,$(subst _bigflash,,$(subst _old,,$(subst _config,,$1)))) |
2888 | 2899 | ||
2889 | trab_config \ | 2900 | trab_config \ |
2890 | trab_bigram_config \ | 2901 | trab_bigram_config \ |
2891 | trab_bigflash_config \ | 2902 | trab_bigflash_config \ |
2892 | trab_old_config: unconfig | 2903 | trab_old_config: unconfig |
2893 | @mkdir -p $(obj)include | 2904 | @mkdir -p $(obj)include |
2894 | @mkdir -p $(obj)board/trab | 2905 | @mkdir -p $(obj)board/trab |
2895 | @[ -z "$(findstring _bigram,$@)" ] || \ | 2906 | @[ -z "$(findstring _bigram,$@)" ] || \ |
2896 | { echo "#define CONFIG_FLASH_8MB" >>$(obj)include/config.h ; \ | 2907 | { echo "#define CONFIG_FLASH_8MB" >>$(obj)include/config.h ; \ |
2897 | echo "#define CONFIG_RAM_32MB" >>$(obj)include/config.h ; \ | 2908 | echo "#define CONFIG_RAM_32MB" >>$(obj)include/config.h ; \ |
2898 | $(XECHO) "... with 8 MB Flash, 32 MB RAM" ; \ | 2909 | $(XECHO) "... with 8 MB Flash, 32 MB RAM" ; \ |
2899 | } | 2910 | } |
2900 | @[ -z "$(findstring _bigflash,$@)" ] || \ | 2911 | @[ -z "$(findstring _bigflash,$@)" ] || \ |
2901 | { echo "#define CONFIG_FLASH_16MB" >>$(obj)include/config.h ; \ | 2912 | { echo "#define CONFIG_FLASH_16MB" >>$(obj)include/config.h ; \ |
2902 | echo "#define CONFIG_RAM_16MB" >>$(obj)include/config.h ; \ | 2913 | echo "#define CONFIG_RAM_16MB" >>$(obj)include/config.h ; \ |
2903 | $(XECHO) "... with 16 MB Flash, 16 MB RAM" ; \ | 2914 | $(XECHO) "... with 16 MB Flash, 16 MB RAM" ; \ |
2904 | echo "TEXT_BASE = 0x0CF40000" >$(obj)board/trab/config.tmp ; \ | 2915 | echo "TEXT_BASE = 0x0CF40000" >$(obj)board/trab/config.tmp ; \ |
2905 | } | 2916 | } |
2906 | @[ -z "$(findstring _old,$@)" ] || \ | 2917 | @[ -z "$(findstring _old,$@)" ] || \ |
2907 | { echo "#define CONFIG_FLASH_8MB" >>$(obj)include/config.h ; \ | 2918 | { echo "#define CONFIG_FLASH_8MB" >>$(obj)include/config.h ; \ |
2908 | echo "#define CONFIG_RAM_16MB" >>$(obj)include/config.h ; \ | 2919 | echo "#define CONFIG_RAM_16MB" >>$(obj)include/config.h ; \ |
2909 | $(XECHO) "... with 8 MB Flash, 16 MB RAM" ; \ | 2920 | $(XECHO) "... with 8 MB Flash, 16 MB RAM" ; \ |
2910 | echo "TEXT_BASE = 0x0CF40000" >$(obj)board/trab/config.tmp ; \ | 2921 | echo "TEXT_BASE = 0x0CF40000" >$(obj)board/trab/config.tmp ; \ |
2911 | } | 2922 | } |
2912 | @$(MKCONFIG) -a $(call xtract_trab,$@) arm arm920t trab NULL s3c24x0 | 2923 | @$(MKCONFIG) -a $(call xtract_trab,$@) arm arm920t trab NULL s3c24x0 |
2913 | 2924 | ||
2914 | VCMA9_config : unconfig | 2925 | VCMA9_config : unconfig |
2915 | @$(MKCONFIG) $(@:_config=) arm arm920t vcma9 mpl s3c24x0 | 2926 | @$(MKCONFIG) $(@:_config=) arm arm920t vcma9 mpl s3c24x0 |
2916 | 2927 | ||
2917 | ######################################################################### | 2928 | ######################################################################### |
2918 | # ARM supplied Versatile development boards | 2929 | # ARM supplied Versatile development boards |
2919 | ######################################################################### | 2930 | ######################################################################### |
2920 | 2931 | ||
2921 | cm4008_config : unconfig | 2932 | cm4008_config : unconfig |
2922 | @$(MKCONFIG) $(@:_config=) arm arm920t cm4008 NULL ks8695 | 2933 | @$(MKCONFIG) $(@:_config=) arm arm920t cm4008 NULL ks8695 |
2923 | 2934 | ||
2924 | cm41xx_config : unconfig | 2935 | cm41xx_config : unconfig |
2925 | @$(MKCONFIG) $(@:_config=) arm arm920t cm41xx NULL ks8695 | 2936 | @$(MKCONFIG) $(@:_config=) arm arm920t cm41xx NULL ks8695 |
2926 | 2937 | ||
2927 | versatile_config \ | 2938 | versatile_config \ |
2928 | versatileab_config \ | 2939 | versatileab_config \ |
2929 | versatilepb_config : unconfig | 2940 | versatilepb_config : unconfig |
2930 | @board/armltd/versatile/split_by_variant.sh $@ | 2941 | @board/armltd/versatile/split_by_variant.sh $@ |
2931 | 2942 | ||
2932 | voiceblue_config: unconfig | 2943 | voiceblue_config: unconfig |
2933 | @$(MKCONFIG) $(@:_config=) arm arm925t voiceblue | 2944 | @$(MKCONFIG) $(@:_config=) arm arm925t voiceblue |
2934 | 2945 | ||
2935 | ######################################################################### | 2946 | ######################################################################### |
2936 | ## S3C44B0 Systems | 2947 | ## S3C44B0 Systems |
2937 | ######################################################################### | 2948 | ######################################################################### |
2938 | 2949 | ||
2939 | B2_config : unconfig | 2950 | B2_config : unconfig |
2940 | @$(MKCONFIG) $(@:_config=) arm s3c44b0 B2 dave | 2951 | @$(MKCONFIG) $(@:_config=) arm s3c44b0 B2 dave |
2941 | 2952 | ||
2942 | ######################################################################### | 2953 | ######################################################################### |
2943 | ## ARM720T Systems | 2954 | ## ARM720T Systems |
2944 | ######################################################################### | 2955 | ######################################################################### |
2945 | 2956 | ||
2946 | armadillo_config: unconfig | 2957 | armadillo_config: unconfig |
2947 | @$(MKCONFIG) $(@:_config=) arm arm720t armadillo | 2958 | @$(MKCONFIG) $(@:_config=) arm arm720t armadillo |
2948 | 2959 | ||
2949 | ep7312_config : unconfig | 2960 | ep7312_config : unconfig |
2950 | @$(MKCONFIG) $(@:_config=) arm arm720t ep7312 | 2961 | @$(MKCONFIG) $(@:_config=) arm arm720t ep7312 |
2951 | 2962 | ||
2952 | impa7_config : unconfig | 2963 | impa7_config : unconfig |
2953 | @$(MKCONFIG) $(@:_config=) arm arm720t impa7 | 2964 | @$(MKCONFIG) $(@:_config=) arm arm720t impa7 |
2954 | 2965 | ||
2955 | modnet50_config : unconfig | 2966 | modnet50_config : unconfig |
2956 | @$(MKCONFIG) $(@:_config=) arm arm720t modnet50 | 2967 | @$(MKCONFIG) $(@:_config=) arm arm720t modnet50 |
2957 | 2968 | ||
2958 | evb4510_config : unconfig | 2969 | evb4510_config : unconfig |
2959 | @$(MKCONFIG) $(@:_config=) arm arm720t evb4510 NULL s3c4510b | 2970 | @$(MKCONFIG) $(@:_config=) arm arm720t evb4510 NULL s3c4510b |
2960 | 2971 | ||
2961 | lpc2292sodimm_config: unconfig | 2972 | lpc2292sodimm_config: unconfig |
2962 | @$(MKCONFIG) $(@:_config=) arm arm720t lpc2292sodimm NULL lpc2292 | 2973 | @$(MKCONFIG) $(@:_config=) arm arm720t lpc2292sodimm NULL lpc2292 |
2963 | 2974 | ||
2964 | SMN42_config : unconfig | 2975 | SMN42_config : unconfig |
2965 | @$(MKCONFIG) $(@:_config=) arm arm720t SMN42 siemens lpc2292 | 2976 | @$(MKCONFIG) $(@:_config=) arm arm720t SMN42 siemens lpc2292 |
2966 | 2977 | ||
2967 | ######################################################################### | 2978 | ######################################################################### |
2968 | ## ARM CORTEX Systems | 2979 | ## ARM CORTEX Systems |
2969 | ######################################################################### | 2980 | ######################################################################### |
2970 | 2981 | ||
2971 | omap3_beagle_config : unconfig | 2982 | omap3_beagle_config : unconfig |
2972 | @$(MKCONFIG) $(@:_config=) arm arm_cortexa8 beagle omap3 omap3 | 2983 | @$(MKCONFIG) $(@:_config=) arm arm_cortexa8 beagle omap3 omap3 |
2973 | 2984 | ||
2974 | omap3_overo_config : unconfig | 2985 | omap3_overo_config : unconfig |
2975 | @$(MKCONFIG) $(@:_config=) arm arm_cortexa8 overo omap3 omap3 | 2986 | @$(MKCONFIG) $(@:_config=) arm arm_cortexa8 overo omap3 omap3 |
2976 | 2987 | ||
2977 | omap3_evm_config : unconfig | 2988 | omap3_evm_config : unconfig |
2978 | @$(MKCONFIG) $(@:_config=) arm arm_cortexa8 evm omap3 omap3 | 2989 | @$(MKCONFIG) $(@:_config=) arm arm_cortexa8 evm omap3 omap3 |
2979 | 2990 | ||
2980 | omap3_pandora_config : unconfig | 2991 | omap3_pandora_config : unconfig |
2981 | @$(MKCONFIG) $(@:_config=) arm arm_cortexa8 pandora omap3 omap3 | 2992 | @$(MKCONFIG) $(@:_config=) arm arm_cortexa8 pandora omap3 omap3 |
2982 | 2993 | ||
2983 | omap3_zoom1_config : unconfig | 2994 | omap3_zoom1_config : unconfig |
2984 | @$(MKCONFIG) $(@:_config=) arm arm_cortexa8 zoom1 omap3 omap3 | 2995 | @$(MKCONFIG) $(@:_config=) arm arm_cortexa8 zoom1 omap3 omap3 |
2985 | 2996 | ||
2986 | ######################################################################### | 2997 | ######################################################################### |
2987 | ## XScale Systems | 2998 | ## XScale Systems |
2988 | ######################################################################### | 2999 | ######################################################################### |
2989 | 3000 | ||
2990 | actux1_config : unconfig | 3001 | actux1_config : unconfig |
2991 | @$(MKCONFIG) $(@:_config=) arm ixp actux1 | 3002 | @$(MKCONFIG) $(@:_config=) arm ixp actux1 |
2992 | 3003 | ||
2993 | actux2_config : unconfig | 3004 | actux2_config : unconfig |
2994 | @$(MKCONFIG) $(@:_config=) arm ixp actux2 | 3005 | @$(MKCONFIG) $(@:_config=) arm ixp actux2 |
2995 | 3006 | ||
2996 | actux3_config : unconfig | 3007 | actux3_config : unconfig |
2997 | @$(MKCONFIG) $(@:_config=) arm ixp actux3 | 3008 | @$(MKCONFIG) $(@:_config=) arm ixp actux3 |
2998 | 3009 | ||
2999 | actux4_config : unconfig | 3010 | actux4_config : unconfig |
3000 | @$(MKCONFIG) $(@:_config=) arm ixp actux4 | 3011 | @$(MKCONFIG) $(@:_config=) arm ixp actux4 |
3001 | 3012 | ||
3002 | cerf250_config : unconfig | 3013 | cerf250_config : unconfig |
3003 | @$(MKCONFIG) $(@:_config=) arm pxa cerf250 | 3014 | @$(MKCONFIG) $(@:_config=) arm pxa cerf250 |
3004 | 3015 | ||
3005 | cradle_config : unconfig | 3016 | cradle_config : unconfig |
3006 | @$(MKCONFIG) $(@:_config=) arm pxa cradle | 3017 | @$(MKCONFIG) $(@:_config=) arm pxa cradle |
3007 | 3018 | ||
3008 | csb226_config : unconfig | 3019 | csb226_config : unconfig |
3009 | @$(MKCONFIG) $(@:_config=) arm pxa csb226 | 3020 | @$(MKCONFIG) $(@:_config=) arm pxa csb226 |
3010 | 3021 | ||
3011 | delta_config : unconfig | 3022 | delta_config : unconfig |
3012 | @$(MKCONFIG) $(@:_config=) arm pxa delta | 3023 | @$(MKCONFIG) $(@:_config=) arm pxa delta |
3013 | 3024 | ||
3014 | innokom_config : unconfig | 3025 | innokom_config : unconfig |
3015 | @$(MKCONFIG) $(@:_config=) arm pxa innokom | 3026 | @$(MKCONFIG) $(@:_config=) arm pxa innokom |
3016 | 3027 | ||
3017 | ixdp425_config : unconfig | 3028 | ixdp425_config : unconfig |
3018 | @$(MKCONFIG) $(@:_config=) arm ixp ixdp425 | 3029 | @$(MKCONFIG) $(@:_config=) arm ixp ixdp425 |
3019 | 3030 | ||
3020 | ixdpg425_config : unconfig | 3031 | ixdpg425_config : unconfig |
3021 | @$(MKCONFIG) $(@:_config=) arm ixp ixdp425 | 3032 | @$(MKCONFIG) $(@:_config=) arm ixp ixdp425 |
3022 | 3033 | ||
3023 | lubbock_config : unconfig | 3034 | lubbock_config : unconfig |
3024 | @$(MKCONFIG) $(@:_config=) arm pxa lubbock | 3035 | @$(MKCONFIG) $(@:_config=) arm pxa lubbock |
3025 | 3036 | ||
3026 | pleb2_config : unconfig | 3037 | pleb2_config : unconfig |
3027 | @$(MKCONFIG) $(@:_config=) arm pxa pleb2 | 3038 | @$(MKCONFIG) $(@:_config=) arm pxa pleb2 |
3028 | 3039 | ||
3029 | logodl_config : unconfig | 3040 | logodl_config : unconfig |
3030 | @$(MKCONFIG) $(@:_config=) arm pxa logodl | 3041 | @$(MKCONFIG) $(@:_config=) arm pxa logodl |
3031 | 3042 | ||
3032 | pdnb3_config \ | 3043 | pdnb3_config \ |
3033 | scpu_config: unconfig | 3044 | scpu_config: unconfig |
3034 | @mkdir -p $(obj)include | 3045 | @mkdir -p $(obj)include |
3035 | @if [ "$(findstring scpu_,$@)" ] ; then \ | 3046 | @if [ "$(findstring scpu_,$@)" ] ; then \ |
3036 | echo "#define CONFIG_SCPU" >>$(obj)include/config.h ; \ | 3047 | echo "#define CONFIG_SCPU" >>$(obj)include/config.h ; \ |
3037 | $(XECHO) "... on SCPU board variant" ; \ | 3048 | $(XECHO) "... on SCPU board variant" ; \ |
3038 | fi | 3049 | fi |
3039 | @$(MKCONFIG) -a pdnb3 arm ixp pdnb3 prodrive | 3050 | @$(MKCONFIG) -a pdnb3 arm ixp pdnb3 prodrive |
3040 | 3051 | ||
3041 | pxa255_idp_config: unconfig | 3052 | pxa255_idp_config: unconfig |
3042 | @$(MKCONFIG) $(@:_config=) arm pxa pxa255_idp | 3053 | @$(MKCONFIG) $(@:_config=) arm pxa pxa255_idp |
3043 | 3054 | ||
3044 | trizepsiv_config : unconfig | 3055 | trizepsiv_config : unconfig |
3045 | @$(MKCONFIG) $(@:_config=) arm pxa trizepsiv | 3056 | @$(MKCONFIG) $(@:_config=) arm pxa trizepsiv |
3046 | 3057 | ||
3047 | wepep250_config : unconfig | 3058 | wepep250_config : unconfig |
3048 | @$(MKCONFIG) $(@:_config=) arm pxa wepep250 | 3059 | @$(MKCONFIG) $(@:_config=) arm pxa wepep250 |
3049 | 3060 | ||
3050 | xaeniax_config : unconfig | 3061 | xaeniax_config : unconfig |
3051 | @$(MKCONFIG) $(@:_config=) arm pxa xaeniax | 3062 | @$(MKCONFIG) $(@:_config=) arm pxa xaeniax |
3052 | 3063 | ||
3053 | xm250_config : unconfig | 3064 | xm250_config : unconfig |
3054 | @$(MKCONFIG) $(@:_config=) arm pxa xm250 | 3065 | @$(MKCONFIG) $(@:_config=) arm pxa xm250 |
3055 | 3066 | ||
3056 | xsengine_config : unconfig | 3067 | xsengine_config : unconfig |
3057 | @$(MKCONFIG) $(@:_config=) arm pxa xsengine | 3068 | @$(MKCONFIG) $(@:_config=) arm pxa xsengine |
3058 | 3069 | ||
3059 | zylonite_config : | 3070 | zylonite_config : |
3060 | @$(MKCONFIG) $(@:_config=) arm pxa zylonite | 3071 | @$(MKCONFIG) $(@:_config=) arm pxa zylonite |
3061 | 3072 | ||
3062 | ######################################################################### | 3073 | ######################################################################### |
3063 | ## ARM1136 Systems | 3074 | ## ARM1136 Systems |
3064 | ######################################################################### | 3075 | ######################################################################### |
3065 | 3076 | ||
3066 | apollon_config : unconfig | 3077 | apollon_config : unconfig |
3067 | @mkdir -p $(obj)include | 3078 | @mkdir -p $(obj)include |
3068 | @mkdir -p $(obj)onenand_ipl/board/apollon | 3079 | @mkdir -p $(obj)onenand_ipl/board/apollon |
3069 | @echo "#define CONFIG_ONENAND_U_BOOT" > $(obj)include/config.h | 3080 | @echo "#define CONFIG_ONENAND_U_BOOT" > $(obj)include/config.h |
3070 | @$(MKCONFIG) $(@:_config=) arm arm1136 apollon NULL omap24xx | 3081 | @$(MKCONFIG) $(@:_config=) arm arm1136 apollon NULL omap24xx |
3071 | @echo "CONFIG_ONENAND_U_BOOT = y" >> $(obj)include/config.mk | 3082 | @echo "CONFIG_ONENAND_U_BOOT = y" >> $(obj)include/config.mk |
3072 | 3083 | ||
3073 | imx31_litekit_config : unconfig | 3084 | imx31_litekit_config : unconfig |
3074 | @$(MKCONFIG) $(@:_config=) arm arm1136 imx31_litekit NULL mx31 | 3085 | @$(MKCONFIG) $(@:_config=) arm arm1136 imx31_litekit NULL mx31 |
3075 | 3086 | ||
3076 | imx31_phycore_eet_config \ | 3087 | imx31_phycore_eet_config \ |
3077 | imx31_phycore_config : unconfig | 3088 | imx31_phycore_config : unconfig |
3078 | @mkdir -p $(obj)include | 3089 | @mkdir -p $(obj)include |
3079 | @if [ -n "$(findstring _eet_,$@)" ]; then \ | 3090 | @if [ -n "$(findstring _eet_,$@)" ]; then \ |
3080 | echo "#define CONFIG_IMX31_PHYCORE_EET" >> $(obj)include/config.h; \ | 3091 | echo "#define CONFIG_IMX31_PHYCORE_EET" >> $(obj)include/config.h; \ |
3081 | fi | 3092 | fi |
3082 | @$(MKCONFIG) -a imx31_phycore arm arm1136 imx31_phycore NULL mx31 | 3093 | @$(MKCONFIG) -a imx31_phycore arm arm1136 imx31_phycore NULL mx31 |
3083 | 3094 | ||
3084 | mx31ads_config : unconfig | 3095 | mx31ads_config : unconfig |
3085 | @$(MKCONFIG) $(@:_config=) arm arm1136 mx31ads freescale mx31 | 3096 | @$(MKCONFIG) $(@:_config=) arm arm1136 mx31ads freescale mx31 |
3086 | 3097 | ||
3087 | omap2420h4_config : unconfig | 3098 | omap2420h4_config : unconfig |
3088 | @$(MKCONFIG) $(@:_config=) arm arm1136 omap2420h4 NULL omap24xx | 3099 | @$(MKCONFIG) $(@:_config=) arm arm1136 omap2420h4 NULL omap24xx |
3089 | 3100 | ||
3090 | qong_config : unconfig | 3101 | qong_config : unconfig |
3091 | @$(MKCONFIG) $(@:_config=) arm arm1136 qong davedenx mx31 | 3102 | @$(MKCONFIG) $(@:_config=) arm arm1136 qong davedenx mx31 |
3092 | 3103 | ||
3093 | 3104 | ||
3094 | ######################################################################### | 3105 | ######################################################################### |
3095 | ## ARM1176 Systems | 3106 | ## ARM1176 Systems |
3096 | ######################################################################### | 3107 | ######################################################################### |
3097 | smdk6400_noUSB_config \ | 3108 | smdk6400_noUSB_config \ |
3098 | smdk6400_config : unconfig | 3109 | smdk6400_config : unconfig |
3099 | @mkdir -p $(obj)include $(obj)board/samsung/smdk6400 | 3110 | @mkdir -p $(obj)include $(obj)board/samsung/smdk6400 |
3100 | @mkdir -p $(obj)nand_spl/board/samsung/smdk6400 | 3111 | @mkdir -p $(obj)nand_spl/board/samsung/smdk6400 |
3101 | @echo "#define CONFIG_NAND_U_BOOT" > $(obj)include/config.h | 3112 | @echo "#define CONFIG_NAND_U_BOOT" > $(obj)include/config.h |
3102 | @if [ -z "$(findstring smdk6400_noUSB_config,$@)" ]; then \ | 3113 | @if [ -z "$(findstring smdk6400_noUSB_config,$@)" ]; then \ |
3103 | echo "RAM_TEXT = 0x57e00000" >> $(obj)board/samsung/smdk6400/config.tmp;\ | 3114 | echo "RAM_TEXT = 0x57e00000" >> $(obj)board/samsung/smdk6400/config.tmp;\ |
3104 | $(MKCONFIG) $(@:_config=) arm arm1176 smdk6400 samsung s3c64xx; \ | 3115 | $(MKCONFIG) $(@:_config=) arm arm1176 smdk6400 samsung s3c64xx; \ |
3105 | else \ | 3116 | else \ |
3106 | echo "RAM_TEXT = 0xc7e00000" >> $(obj)board/samsung/smdk6400/config.tmp;\ | 3117 | echo "RAM_TEXT = 0xc7e00000" >> $(obj)board/samsung/smdk6400/config.tmp;\ |
3107 | $(MKCONFIG) $(@:_noUSB_config=) arm arm1176 smdk6400 samsung s3c64xx; \ | 3118 | $(MKCONFIG) $(@:_noUSB_config=) arm arm1176 smdk6400 samsung s3c64xx; \ |
3108 | fi | 3119 | fi |
3109 | @echo "CONFIG_NAND_U_BOOT = y" >> $(obj)include/config.mk | 3120 | @echo "CONFIG_NAND_U_BOOT = y" >> $(obj)include/config.mk |
3110 | 3121 | ||
3111 | #======================================================================== | 3122 | #======================================================================== |
3112 | # i386 | 3123 | # i386 |
3113 | #======================================================================== | 3124 | #======================================================================== |
3114 | ######################################################################### | 3125 | ######################################################################### |
3115 | ## AMD SC520 CDP | 3126 | ## AMD SC520 CDP |
3116 | ######################################################################### | 3127 | ######################################################################### |
3117 | eNET_config : unconfig | 3128 | eNET_config : unconfig |
3118 | @$(MKCONFIG) $(@:_config=) i386 i386 eNET NULL sc520 | 3129 | @$(MKCONFIG) $(@:_config=) i386 i386 eNET NULL sc520 |
3119 | 3130 | ||
3120 | sc520_cdp_config : unconfig | 3131 | sc520_cdp_config : unconfig |
3121 | @$(MKCONFIG) $(@:_config=) i386 i386 sc520_cdp NULL sc520 | 3132 | @$(MKCONFIG) $(@:_config=) i386 i386 sc520_cdp NULL sc520 |
3122 | 3133 | ||
3123 | sc520_spunk_config : unconfig | 3134 | sc520_spunk_config : unconfig |
3124 | @$(MKCONFIG) $(@:_config=) i386 i386 sc520_spunk NULL sc520 | 3135 | @$(MKCONFIG) $(@:_config=) i386 i386 sc520_spunk NULL sc520 |
3125 | 3136 | ||
3126 | sc520_spunk_rel_config : unconfig | 3137 | sc520_spunk_rel_config : unconfig |
3127 | @$(MKCONFIG) $(@:_config=) i386 i386 sc520_spunk NULL sc520 | 3138 | @$(MKCONFIG) $(@:_config=) i386 i386 sc520_spunk NULL sc520 |
3128 | 3139 | ||
3129 | #======================================================================== | 3140 | #======================================================================== |
3130 | # MIPS | 3141 | # MIPS |
3131 | #======================================================================== | 3142 | #======================================================================== |
3132 | ######################################################################### | 3143 | ######################################################################### |
3133 | ## MIPS32 4Kc | 3144 | ## MIPS32 4Kc |
3134 | ######################################################################### | 3145 | ######################################################################### |
3135 | 3146 | ||
3136 | xtract_incaip = $(subst _100MHz,,$(subst _133MHz,,$(subst _150MHz,,$(subst _config,,$1)))) | 3147 | xtract_incaip = $(subst _100MHz,,$(subst _133MHz,,$(subst _150MHz,,$(subst _config,,$1)))) |
3137 | 3148 | ||
3138 | incaip_100MHz_config \ | 3149 | incaip_100MHz_config \ |
3139 | incaip_133MHz_config \ | 3150 | incaip_133MHz_config \ |
3140 | incaip_150MHz_config \ | 3151 | incaip_150MHz_config \ |
3141 | incaip_config: unconfig | 3152 | incaip_config: unconfig |
3142 | @mkdir -p $(obj)include | 3153 | @mkdir -p $(obj)include |
3143 | @[ -z "$(findstring _100MHz,$@)" ] || \ | 3154 | @[ -z "$(findstring _100MHz,$@)" ] || \ |
3144 | { echo "#define CPU_CLOCK_RATE 100000000" >>$(obj)include/config.h ; \ | 3155 | { echo "#define CPU_CLOCK_RATE 100000000" >>$(obj)include/config.h ; \ |
3145 | $(XECHO) "... with 100MHz system clock" ; \ | 3156 | $(XECHO) "... with 100MHz system clock" ; \ |
3146 | } | 3157 | } |
3147 | @[ -z "$(findstring _133MHz,$@)" ] || \ | 3158 | @[ -z "$(findstring _133MHz,$@)" ] || \ |
3148 | { echo "#define CPU_CLOCK_RATE 133000000" >>$(obj)include/config.h ; \ | 3159 | { echo "#define CPU_CLOCK_RATE 133000000" >>$(obj)include/config.h ; \ |
3149 | $(XECHO) "... with 133MHz system clock" ; \ | 3160 | $(XECHO) "... with 133MHz system clock" ; \ |
3150 | } | 3161 | } |
3151 | @[ -z "$(findstring _150MHz,$@)" ] || \ | 3162 | @[ -z "$(findstring _150MHz,$@)" ] || \ |
3152 | { echo "#define CPU_CLOCK_RATE 150000000" >>$(obj)include/config.h ; \ | 3163 | { echo "#define CPU_CLOCK_RATE 150000000" >>$(obj)include/config.h ; \ |
3153 | $(XECHO) "... with 150MHz system clock" ; \ | 3164 | $(XECHO) "... with 150MHz system clock" ; \ |
3154 | } | 3165 | } |
3155 | @$(MKCONFIG) -a $(call xtract_incaip,$@) mips mips incaip | 3166 | @$(MKCONFIG) -a $(call xtract_incaip,$@) mips mips incaip |
3156 | 3167 | ||
3157 | tb0229_config: unconfig | 3168 | tb0229_config: unconfig |
3158 | @$(MKCONFIG) $(@:_config=) mips mips tb0229 | 3169 | @$(MKCONFIG) $(@:_config=) mips mips tb0229 |
3159 | 3170 | ||
3160 | vct_premium_config \ | 3171 | vct_premium_config \ |
3161 | vct_premium_small_config \ | 3172 | vct_premium_small_config \ |
3162 | vct_premium_onenand_config \ | 3173 | vct_premium_onenand_config \ |
3163 | vct_premium_onenand_small_config \ | 3174 | vct_premium_onenand_small_config \ |
3164 | vct_platinum_config \ | 3175 | vct_platinum_config \ |
3165 | vct_platinum_small_config \ | 3176 | vct_platinum_small_config \ |
3166 | vct_platinum_onenand_config \ | 3177 | vct_platinum_onenand_config \ |
3167 | vct_platinum_onenand_small_config \ | 3178 | vct_platinum_onenand_small_config \ |
3168 | vct_platinumavc_config \ | 3179 | vct_platinumavc_config \ |
3169 | vct_platinumavc_small_config \ | 3180 | vct_platinumavc_small_config \ |
3170 | vct_platinumavc_onenand_config \ | 3181 | vct_platinumavc_onenand_config \ |
3171 | vct_platinumavc_onenand_small_config: unconfig | 3182 | vct_platinumavc_onenand_small_config: unconfig |
3172 | @mkdir -p $(obj)include | 3183 | @mkdir -p $(obj)include |
3173 | @if [ "$(findstring _premium,$@)" ] ; then \ | 3184 | @if [ "$(findstring _premium,$@)" ] ; then \ |
3174 | echo "#define CONFIG_VCT_PREMIUM" > $(obj)include/config.h ; \ | 3185 | echo "#define CONFIG_VCT_PREMIUM" > $(obj)include/config.h ; \ |
3175 | $(XECHO) "... on Premium board variant" ; \ | 3186 | $(XECHO) "... on Premium board variant" ; \ |
3176 | fi | 3187 | fi |
3177 | @if [ "$(findstring _platinum_,$@)" ] ; then \ | 3188 | @if [ "$(findstring _platinum_,$@)" ] ; then \ |
3178 | echo "#define CONFIG_VCT_PLATINUM" > $(obj)include/config.h ; \ | 3189 | echo "#define CONFIG_VCT_PLATINUM" > $(obj)include/config.h ; \ |
3179 | $(XECHO) "... on Platinum board variant" ; \ | 3190 | $(XECHO) "... on Platinum board variant" ; \ |
3180 | fi | 3191 | fi |
3181 | @if [ "$(findstring _platinumavc,$@)" ] ; then \ | 3192 | @if [ "$(findstring _platinumavc,$@)" ] ; then \ |
3182 | echo "#define CONFIG_VCT_PLATINUMAVC" > $(obj)include/config.h ; \ | 3193 | echo "#define CONFIG_VCT_PLATINUMAVC" > $(obj)include/config.h ; \ |
3183 | $(XECHO) "... on PlatinumAVC board variant" ; \ | 3194 | $(XECHO) "... on PlatinumAVC board variant" ; \ |
3184 | fi | 3195 | fi |
3185 | @if [ "$(findstring _onenand,$@)" ] ; then \ | 3196 | @if [ "$(findstring _onenand,$@)" ] ; then \ |
3186 | echo "#define CONFIG_VCT_ONENAND" >> $(obj)include/config.h ; \ | 3197 | echo "#define CONFIG_VCT_ONENAND" >> $(obj)include/config.h ; \ |
3187 | $(XECHO) "... on OneNAND board variant" ; \ | 3198 | $(XECHO) "... on OneNAND board variant" ; \ |
3188 | fi | 3199 | fi |
3189 | @if [ "$(findstring _small,$@)" ] ; then \ | 3200 | @if [ "$(findstring _small,$@)" ] ; then \ |
3190 | echo "#define CONFIG_VCT_SMALL_IMAGE" >> $(obj)include/config.h ; \ | 3201 | echo "#define CONFIG_VCT_SMALL_IMAGE" >> $(obj)include/config.h ; \ |
3191 | $(XECHO) "... stripped down image variant" ; \ | 3202 | $(XECHO) "... stripped down image variant" ; \ |
3192 | fi | 3203 | fi |
3193 | @$(MKCONFIG) -a vct mips mips vct micronas | 3204 | @$(MKCONFIG) -a vct mips mips vct micronas |
3194 | 3205 | ||
3195 | ######################################################################### | 3206 | ######################################################################### |
3196 | ## MIPS32 AU1X00 | 3207 | ## MIPS32 AU1X00 |
3197 | ######################################################################### | 3208 | ######################################################################### |
3198 | 3209 | ||
3199 | dbau1000_config : unconfig | 3210 | dbau1000_config : unconfig |
3200 | @mkdir -p $(obj)include | 3211 | @mkdir -p $(obj)include |
3201 | @echo "#define CONFIG_DBAU1000 1" >$(obj)include/config.h | 3212 | @echo "#define CONFIG_DBAU1000 1" >$(obj)include/config.h |
3202 | @$(MKCONFIG) -a dbau1x00 mips mips dbau1x00 | 3213 | @$(MKCONFIG) -a dbau1x00 mips mips dbau1x00 |
3203 | 3214 | ||
3204 | dbau1100_config : unconfig | 3215 | dbau1100_config : unconfig |
3205 | @mkdir -p $(obj)include | 3216 | @mkdir -p $(obj)include |
3206 | @echo "#define CONFIG_DBAU1100 1" >$(obj)include/config.h | 3217 | @echo "#define CONFIG_DBAU1100 1" >$(obj)include/config.h |
3207 | @$(MKCONFIG) -a dbau1x00 mips mips dbau1x00 | 3218 | @$(MKCONFIG) -a dbau1x00 mips mips dbau1x00 |
3208 | 3219 | ||
3209 | dbau1500_config : unconfig | 3220 | dbau1500_config : unconfig |
3210 | @mkdir -p $(obj)include | 3221 | @mkdir -p $(obj)include |
3211 | @echo "#define CONFIG_DBAU1500 1" >$(obj)include/config.h | 3222 | @echo "#define CONFIG_DBAU1500 1" >$(obj)include/config.h |
3212 | @$(MKCONFIG) -a dbau1x00 mips mips dbau1x00 | 3223 | @$(MKCONFIG) -a dbau1x00 mips mips dbau1x00 |
3213 | 3224 | ||
3214 | dbau1550_config : unconfig | 3225 | dbau1550_config : unconfig |
3215 | @mkdir -p $(obj)include | 3226 | @mkdir -p $(obj)include |
3216 | @echo "#define CONFIG_DBAU1550 1" >$(obj)include/config.h | 3227 | @echo "#define CONFIG_DBAU1550 1" >$(obj)include/config.h |
3217 | @$(MKCONFIG) -a dbau1x00 mips mips dbau1x00 | 3228 | @$(MKCONFIG) -a dbau1x00 mips mips dbau1x00 |
3218 | 3229 | ||
3219 | dbau1550_el_config : unconfig | 3230 | dbau1550_el_config : unconfig |
3220 | @mkdir -p $(obj)include | 3231 | @mkdir -p $(obj)include |
3221 | @echo "#define CONFIG_DBAU1550 1" >$(obj)include/config.h | 3232 | @echo "#define CONFIG_DBAU1550 1" >$(obj)include/config.h |
3222 | @$(MKCONFIG) -a dbau1x00 mips mips dbau1x00 | 3233 | @$(MKCONFIG) -a dbau1x00 mips mips dbau1x00 |
3223 | 3234 | ||
3224 | gth2_config : unconfig | 3235 | gth2_config : unconfig |
3225 | @mkdir -p $(obj)include | 3236 | @mkdir -p $(obj)include |
3226 | @echo "#define CONFIG_GTH2 1" >$(obj)include/config.h | 3237 | @echo "#define CONFIG_GTH2 1" >$(obj)include/config.h |
3227 | @$(MKCONFIG) -a gth2 mips mips gth2 | 3238 | @$(MKCONFIG) -a gth2 mips mips gth2 |
3228 | 3239 | ||
3229 | pb1000_config : unconfig | 3240 | pb1000_config : unconfig |
3230 | @mkdir -p $(obj)include | 3241 | @mkdir -p $(obj)include |
3231 | @echo "#define CONFIG_PB1000 1" >$(obj)include/config.h | 3242 | @echo "#define CONFIG_PB1000 1" >$(obj)include/config.h |
3232 | @$(MKCONFIG) -a pb1x00 mips mips pb1x00 | 3243 | @$(MKCONFIG) -a pb1x00 mips mips pb1x00 |
3233 | 3244 | ||
3234 | qemu_mips_config : unconfig | 3245 | qemu_mips_config : unconfig |
3235 | @mkdir -p $(obj)include | 3246 | @mkdir -p $(obj)include |
3236 | @echo "#define CONFIG_QEMU_MIPS 1" >$(obj)include/config.h | 3247 | @echo "#define CONFIG_QEMU_MIPS 1" >$(obj)include/config.h |
3237 | @$(MKCONFIG) -a qemu-mips mips mips qemu-mips | 3248 | @$(MKCONFIG) -a qemu-mips mips mips qemu-mips |
3238 | 3249 | ||
3239 | ######################################################################### | 3250 | ######################################################################### |
3240 | ## MIPS64 5Kc | 3251 | ## MIPS64 5Kc |
3241 | ######################################################################### | 3252 | ######################################################################### |
3242 | 3253 | ||
3243 | purple_config : unconfig | 3254 | purple_config : unconfig |
3244 | @$(MKCONFIG) $(@:_config=) mips mips purple | 3255 | @$(MKCONFIG) $(@:_config=) mips mips purple |
3245 | 3256 | ||
3246 | #======================================================================== | 3257 | #======================================================================== |
3247 | # Nios | 3258 | # Nios |
3248 | #======================================================================== | 3259 | #======================================================================== |
3249 | ######################################################################### | 3260 | ######################################################################### |
3250 | ## Nios32 | 3261 | ## Nios32 |
3251 | ######################################################################### | 3262 | ######################################################################### |
3252 | 3263 | ||
3253 | ADNPESC1_DNPEVA2_base_32_config \ | 3264 | ADNPESC1_DNPEVA2_base_32_config \ |
3254 | ADNPESC1_base_32_config \ | 3265 | ADNPESC1_base_32_config \ |
3255 | ADNPESC1_config: unconfig | 3266 | ADNPESC1_config: unconfig |
3256 | @mkdir -p $(obj)include | 3267 | @mkdir -p $(obj)include |
3257 | @[ -z "$(findstring _DNPEVA2,$@)" ] || \ | 3268 | @[ -z "$(findstring _DNPEVA2,$@)" ] || \ |
3258 | { echo "#define CONFIG_DNPEVA2 1" >>$(obj)include/config.h ; \ | 3269 | { echo "#define CONFIG_DNPEVA2 1" >>$(obj)include/config.h ; \ |
3259 | $(XECHO) "... DNP/EVA2 configuration" ; \ | 3270 | $(XECHO) "... DNP/EVA2 configuration" ; \ |
3260 | } | 3271 | } |
3261 | @[ -z "$(findstring _base_32,$@)" ] || \ | 3272 | @[ -z "$(findstring _base_32,$@)" ] || \ |
3262 | { echo "#define CONFIG_NIOS_BASE_32 1" >>$(obj)include/config.h ; \ | 3273 | { echo "#define CONFIG_NIOS_BASE_32 1" >>$(obj)include/config.h ; \ |
3263 | $(XECHO) "... NIOS 'base_32' configuration" ; \ | 3274 | $(XECHO) "... NIOS 'base_32' configuration" ; \ |
3264 | } | 3275 | } |
3265 | @[ -z "$(findstring ADNPESC1_config,$@)" ] || \ | 3276 | @[ -z "$(findstring ADNPESC1_config,$@)" ] || \ |
3266 | { echo "#define CONFIG_NIOS_BASE_32 1" >>$(obj)include/config.h ; \ | 3277 | { echo "#define CONFIG_NIOS_BASE_32 1" >>$(obj)include/config.h ; \ |
3267 | $(XECHO) "... NIOS 'base_32' configuration (DEFAULT)" ; \ | 3278 | $(XECHO) "... NIOS 'base_32' configuration (DEFAULT)" ; \ |
3268 | } | 3279 | } |
3269 | @$(MKCONFIG) -a ADNPESC1 nios nios adnpesc1 ssv | 3280 | @$(MKCONFIG) -a ADNPESC1 nios nios adnpesc1 ssv |
3270 | 3281 | ||
3271 | DK1C20_safe_32_config \ | 3282 | DK1C20_safe_32_config \ |
3272 | DK1C20_standard_32_config \ | 3283 | DK1C20_standard_32_config \ |
3273 | DK1C20_config: unconfig | 3284 | DK1C20_config: unconfig |
3274 | @mkdir -p $(obj)include | 3285 | @mkdir -p $(obj)include |
3275 | @[ -z "$(findstring _safe_32,$@)" ] || \ | 3286 | @[ -z "$(findstring _safe_32,$@)" ] || \ |
3276 | { echo "#define CONFIG_NIOS_SAFE_32 1" >>$(obj)include/config.h ; \ | 3287 | { echo "#define CONFIG_NIOS_SAFE_32 1" >>$(obj)include/config.h ; \ |
3277 | $(XECHO) "... NIOS 'safe_32' configuration" ; \ | 3288 | $(XECHO) "... NIOS 'safe_32' configuration" ; \ |
3278 | } | 3289 | } |
3279 | @[ -z "$(findstring _standard_32,$@)" ] || \ | 3290 | @[ -z "$(findstring _standard_32,$@)" ] || \ |
3280 | { echo "#define CONFIG_NIOS_STANDARD_32 1" >>$(obj)include/config.h ; \ | 3291 | { echo "#define CONFIG_NIOS_STANDARD_32 1" >>$(obj)include/config.h ; \ |
3281 | $(XECHO) "... NIOS 'standard_32' configuration" ; \ | 3292 | $(XECHO) "... NIOS 'standard_32' configuration" ; \ |
3282 | } | 3293 | } |
3283 | @[ -z "$(findstring DK1C20_config,$@)" ] || \ | 3294 | @[ -z "$(findstring DK1C20_config,$@)" ] || \ |
3284 | { echo "#define CONFIG_NIOS_STANDARD_32 1" >>$(obj)include/config.h ; \ | 3295 | { echo "#define CONFIG_NIOS_STANDARD_32 1" >>$(obj)include/config.h ; \ |
3285 | $(XECHO) "... NIOS 'standard_32' configuration (DEFAULT)" ; \ | 3296 | $(XECHO) "... NIOS 'standard_32' configuration (DEFAULT)" ; \ |
3286 | } | 3297 | } |
3287 | @$(MKCONFIG) -a DK1C20 nios nios dk1c20 altera | 3298 | @$(MKCONFIG) -a DK1C20 nios nios dk1c20 altera |
3288 | 3299 | ||
3289 | DK1S10_safe_32_config \ | 3300 | DK1S10_safe_32_config \ |
3290 | DK1S10_standard_32_config \ | 3301 | DK1S10_standard_32_config \ |
3291 | DK1S10_mtx_ldk_20_config \ | 3302 | DK1S10_mtx_ldk_20_config \ |
3292 | DK1S10_config: unconfig | 3303 | DK1S10_config: unconfig |
3293 | @mkdir -p $(obj)include | 3304 | @mkdir -p $(obj)include |
3294 | @[ -z "$(findstring _safe_32,$@)" ] || \ | 3305 | @[ -z "$(findstring _safe_32,$@)" ] || \ |
3295 | { echo "#define CONFIG_NIOS_SAFE_32 1" >>$(obj)include/config.h ; \ | 3306 | { echo "#define CONFIG_NIOS_SAFE_32 1" >>$(obj)include/config.h ; \ |
3296 | $(XECHO) "... NIOS 'safe_32' configuration" ; \ | 3307 | $(XECHO) "... NIOS 'safe_32' configuration" ; \ |
3297 | } | 3308 | } |
3298 | @[ -z "$(findstring _standard_32,$@)" ] || \ | 3309 | @[ -z "$(findstring _standard_32,$@)" ] || \ |
3299 | { echo "#define CONFIG_NIOS_STANDARD_32 1" >>$(obj)include/config.h ; \ | 3310 | { echo "#define CONFIG_NIOS_STANDARD_32 1" >>$(obj)include/config.h ; \ |
3300 | $(XECHO) "... NIOS 'standard_32' configuration" ; \ | 3311 | $(XECHO) "... NIOS 'standard_32' configuration" ; \ |
3301 | } | 3312 | } |
3302 | @[ -z "$(findstring _mtx_ldk_20,$@)" ] || \ | 3313 | @[ -z "$(findstring _mtx_ldk_20,$@)" ] || \ |
3303 | { echo "#define CONFIG_NIOS_MTX_LDK_20 1" >>$(obj)include/config.h ; \ | 3314 | { echo "#define CONFIG_NIOS_MTX_LDK_20 1" >>$(obj)include/config.h ; \ |
3304 | $(XECHO) "... NIOS 'mtx_ldk_20' configuration" ; \ | 3315 | $(XECHO) "... NIOS 'mtx_ldk_20' configuration" ; \ |
3305 | } | 3316 | } |
3306 | @[ -z "$(findstring DK1S10_config,$@)" ] || \ | 3317 | @[ -z "$(findstring DK1S10_config,$@)" ] || \ |
3307 | { echo "#define CONFIG_NIOS_STANDARD_32 1" >>$(obj)include/config.h ; \ | 3318 | { echo "#define CONFIG_NIOS_STANDARD_32 1" >>$(obj)include/config.h ; \ |
3308 | $(XECHO) "... NIOS 'standard_32' configuration (DEFAULT)" ; \ | 3319 | $(XECHO) "... NIOS 'standard_32' configuration (DEFAULT)" ; \ |
3309 | } | 3320 | } |
3310 | @$(MKCONFIG) -a DK1S10 nios nios dk1s10 altera | 3321 | @$(MKCONFIG) -a DK1S10 nios nios dk1s10 altera |
3311 | 3322 | ||
3312 | ######################################################################### | 3323 | ######################################################################### |
3313 | ## Nios-II | 3324 | ## Nios-II |
3314 | ######################################################################### | 3325 | ######################################################################### |
3315 | 3326 | ||
3316 | EP1C20_config : unconfig | 3327 | EP1C20_config : unconfig |
3317 | @$(MKCONFIG) EP1C20 nios2 nios2 ep1c20 altera | 3328 | @$(MKCONFIG) EP1C20 nios2 nios2 ep1c20 altera |
3318 | 3329 | ||
3319 | EP1S10_config : unconfig | 3330 | EP1S10_config : unconfig |
3320 | @$(MKCONFIG) EP1S10 nios2 nios2 ep1s10 altera | 3331 | @$(MKCONFIG) EP1S10 nios2 nios2 ep1s10 altera |
3321 | 3332 | ||
3322 | EP1S40_config : unconfig | 3333 | EP1S40_config : unconfig |
3323 | @$(MKCONFIG) EP1S40 nios2 nios2 ep1s40 altera | 3334 | @$(MKCONFIG) EP1S40 nios2 nios2 ep1s40 altera |
3324 | 3335 | ||
3325 | PK1C20_config : unconfig | 3336 | PK1C20_config : unconfig |
3326 | @$(MKCONFIG) PK1C20 nios2 nios2 pk1c20 psyent | 3337 | @$(MKCONFIG) PK1C20 nios2 nios2 pk1c20 psyent |
3327 | 3338 | ||
3328 | PCI5441_config : unconfig | 3339 | PCI5441_config : unconfig |
3329 | @$(MKCONFIG) PCI5441 nios2 nios2 pci5441 psyent | 3340 | @$(MKCONFIG) PCI5441 nios2 nios2 pci5441 psyent |
3330 | 3341 | ||
3331 | #======================================================================== | 3342 | #======================================================================== |
3332 | ## Microblaze | 3343 | ## Microblaze |
3333 | #======================================================================== | 3344 | #======================================================================== |
3334 | 3345 | ||
3335 | microblaze-generic_config: unconfig | 3346 | microblaze-generic_config: unconfig |
3336 | @mkdir -p $(obj)include | 3347 | @mkdir -p $(obj)include |
3337 | @$(MKCONFIG) -a $(@:_config=) microblaze microblaze microblaze-generic xilinx | 3348 | @$(MKCONFIG) -a $(@:_config=) microblaze microblaze microblaze-generic xilinx |
3338 | 3349 | ||
3339 | suzaku_config: unconfig | 3350 | suzaku_config: unconfig |
3340 | @mkdir -p $(obj)include | 3351 | @mkdir -p $(obj)include |
3341 | @echo "#define CONFIG_SUZAKU 1" > $(obj)include/config.h | 3352 | @echo "#define CONFIG_SUZAKU 1" > $(obj)include/config.h |
3342 | @$(MKCONFIG) -a $(@:_config=) microblaze microblaze suzaku AtmarkTechno | 3353 | @$(MKCONFIG) -a $(@:_config=) microblaze microblaze suzaku AtmarkTechno |
3343 | 3354 | ||
3344 | #======================================================================== | 3355 | #======================================================================== |
3345 | # Blackfin | 3356 | # Blackfin |
3346 | #======================================================================== | 3357 | #======================================================================== |
3347 | 3358 | ||
3348 | # Analog Devices boards | 3359 | # Analog Devices boards |
3349 | BFIN_BOARDS = bf518f-ezbrd bf526-ezbrd bf527-ezkit bf533-ezkit bf533-stamp \ | 3360 | BFIN_BOARDS = bf518f-ezbrd bf526-ezbrd bf527-ezkit bf533-ezkit bf533-stamp \ |
3350 | bf537-stamp bf538f-ezkit bf548-ezkit bf561-ezkit | 3361 | bf537-stamp bf538f-ezkit bf548-ezkit bf561-ezkit |
3351 | 3362 | ||
3352 | $(BFIN_BOARDS:%=%_config) : unconfig | 3363 | $(BFIN_BOARDS:%=%_config) : unconfig |
3353 | @$(MKCONFIG) $(@:_config=) blackfin blackfin $(@:_config=) | 3364 | @$(MKCONFIG) $(@:_config=) blackfin blackfin $(@:_config=) |
3354 | 3365 | ||
3355 | $(BFIN_BOARDS): | 3366 | $(BFIN_BOARDS): |
3356 | $(MAKE) $@_config | 3367 | $(MAKE) $@_config |
3357 | $(MAKE) | 3368 | $(MAKE) |
3358 | 3369 | ||
3359 | #======================================================================== | 3370 | #======================================================================== |
3360 | # AVR32 | 3371 | # AVR32 |
3361 | #======================================================================== | 3372 | #======================================================================== |
3362 | 3373 | ||
3363 | atngw100_config : unconfig | 3374 | atngw100_config : unconfig |
3364 | @$(MKCONFIG) $(@:_config=) avr32 at32ap atngw100 atmel at32ap700x | 3375 | @$(MKCONFIG) $(@:_config=) avr32 at32ap atngw100 atmel at32ap700x |
3365 | 3376 | ||
3366 | atstk1002_config : unconfig | 3377 | atstk1002_config : unconfig |
3367 | @$(MKCONFIG) $(@:_config=) avr32 at32ap atstk1000 atmel at32ap700x | 3378 | @$(MKCONFIG) $(@:_config=) avr32 at32ap atstk1000 atmel at32ap700x |
3368 | 3379 | ||
3369 | atstk1003_config : unconfig | 3380 | atstk1003_config : unconfig |
3370 | @$(MKCONFIG) $(@:_config=) avr32 at32ap atstk1000 atmel at32ap700x | 3381 | @$(MKCONFIG) $(@:_config=) avr32 at32ap atstk1000 atmel at32ap700x |
3371 | 3382 | ||
3372 | atstk1004_config : unconfig | 3383 | atstk1004_config : unconfig |
3373 | @$(MKCONFIG) $(@:_config=) avr32 at32ap atstk1000 atmel at32ap700x | 3384 | @$(MKCONFIG) $(@:_config=) avr32 at32ap atstk1000 atmel at32ap700x |
3374 | 3385 | ||
3375 | atstk1006_config : unconfig | 3386 | atstk1006_config : unconfig |
3376 | @$(MKCONFIG) $(@:_config=) avr32 at32ap atstk1000 atmel at32ap700x | 3387 | @$(MKCONFIG) $(@:_config=) avr32 at32ap atstk1000 atmel at32ap700x |
3377 | 3388 | ||
3378 | favr-32-ezkit_config : unconfig | 3389 | favr-32-ezkit_config : unconfig |
3379 | @$(MKCONFIG) $(@:_config=) avr32 at32ap favr-32-ezkit earthlcd at32ap700x | 3390 | @$(MKCONFIG) $(@:_config=) avr32 at32ap favr-32-ezkit earthlcd at32ap700x |
3380 | 3391 | ||
3381 | hammerhead_config : unconfig | 3392 | hammerhead_config : unconfig |
3382 | @$(MKCONFIG) $(@:_config=) avr32 at32ap hammerhead miromico at32ap700x | 3393 | @$(MKCONFIG) $(@:_config=) avr32 at32ap hammerhead miromico at32ap700x |
3383 | 3394 | ||
3384 | mimc200_config : unconfig | 3395 | mimc200_config : unconfig |
3385 | @$(MKCONFIG) $(@:_config=) avr32 at32ap mimc200 mimc at32ap700x | 3396 | @$(MKCONFIG) $(@:_config=) avr32 at32ap mimc200 mimc at32ap700x |
3386 | 3397 | ||
3387 | #======================================================================== | 3398 | #======================================================================== |
3388 | # SH3 (SuperH) | 3399 | # SH3 (SuperH) |
3389 | #======================================================================== | 3400 | #======================================================================== |
3390 | 3401 | ||
3391 | ######################################################################### | 3402 | ######################################################################### |
3392 | ## sh2 (Renesas SuperH) | 3403 | ## sh2 (Renesas SuperH) |
3393 | ######################################################################### | 3404 | ######################################################################### |
3394 | rsk7203_config: unconfig | 3405 | rsk7203_config: unconfig |
3395 | @mkdir -p $(obj)include | 3406 | @mkdir -p $(obj)include |
3396 | @echo "#define CONFIG_RSK7203 1" > $(obj)include/config.h | 3407 | @echo "#define CONFIG_RSK7203 1" > $(obj)include/config.h |
3397 | @$(MKCONFIG) -a $(@:_config=) sh sh2 rsk7203 renesas | 3408 | @$(MKCONFIG) -a $(@:_config=) sh sh2 rsk7203 renesas |
3398 | 3409 | ||
3399 | ######################################################################### | 3410 | ######################################################################### |
3400 | ## sh3 (Renesas SuperH) | 3411 | ## sh3 (Renesas SuperH) |
3401 | ######################################################################### | 3412 | ######################################################################### |
3402 | 3413 | ||
3403 | mpr2_config: unconfig | 3414 | mpr2_config: unconfig |
3404 | @mkdir -p $(obj)include | 3415 | @mkdir -p $(obj)include |
3405 | @echo "#define CONFIG_MPR2 1" > $(obj)include/config.h | 3416 | @echo "#define CONFIG_MPR2 1" > $(obj)include/config.h |
3406 | @$(MKCONFIG) -a $(@:_config=) sh sh3 mpr2 | 3417 | @$(MKCONFIG) -a $(@:_config=) sh sh3 mpr2 |
3407 | 3418 | ||
3408 | ms7720se_config: unconfig | 3419 | ms7720se_config: unconfig |
3409 | @mkdir -p $(obj)include | 3420 | @mkdir -p $(obj)include |
3410 | @echo "#define CONFIG_MS7720SE 1" > $(obj)include/config.h | 3421 | @echo "#define CONFIG_MS7720SE 1" > $(obj)include/config.h |
3411 | @$(MKCONFIG) -a $(@:_config=) sh sh3 ms7720se | 3422 | @$(MKCONFIG) -a $(@:_config=) sh sh3 ms7720se |
3412 | 3423 | ||
3413 | ######################################################################### | 3424 | ######################################################################### |
3414 | ## sh4 (Renesas SuperH) | 3425 | ## sh4 (Renesas SuperH) |
3415 | ######################################################################### | 3426 | ######################################################################### |
3416 | 3427 | ||
3417 | MigoR_config : unconfig | 3428 | MigoR_config : unconfig |
3418 | @mkdir -p $(obj)include | 3429 | @mkdir -p $(obj)include |
3419 | @echo "#define CONFIG_MIGO_R 1" > $(obj)include/config.h | 3430 | @echo "#define CONFIG_MIGO_R 1" > $(obj)include/config.h |
3420 | @$(MKCONFIG) -a $(@:_config=) sh sh4 MigoR renesas | 3431 | @$(MKCONFIG) -a $(@:_config=) sh sh4 MigoR renesas |
3421 | 3432 | ||
3422 | ms7750se_config: unconfig | 3433 | ms7750se_config: unconfig |
3423 | @mkdir -p $(obj)include | 3434 | @mkdir -p $(obj)include |
3424 | @echo "#define CONFIG_MS7750SE 1" > $(obj)include/config.h | 3435 | @echo "#define CONFIG_MS7750SE 1" > $(obj)include/config.h |
3425 | @$(MKCONFIG) -a $(@:_config=) sh sh4 ms7750se | 3436 | @$(MKCONFIG) -a $(@:_config=) sh sh4 ms7750se |
3426 | 3437 | ||
3427 | ms7722se_config : unconfig | 3438 | ms7722se_config : unconfig |
3428 | @mkdir -p $(obj)include | 3439 | @mkdir -p $(obj)include |
3429 | @echo "#define CONFIG_MS7722SE 1" > $(obj)include/config.h | 3440 | @echo "#define CONFIG_MS7722SE 1" > $(obj)include/config.h |
3430 | @$(MKCONFIG) -a $(@:_config=) sh sh4 ms7722se | 3441 | @$(MKCONFIG) -a $(@:_config=) sh sh4 ms7722se |
3431 | 3442 | ||
3432 | r2dplus_config : unconfig | 3443 | r2dplus_config : unconfig |
3433 | @mkdir -p $(obj)include | 3444 | @mkdir -p $(obj)include |
3434 | @echo "#define CONFIG_R2DPLUS 1" > $(obj)include/config.h | 3445 | @echo "#define CONFIG_R2DPLUS 1" > $(obj)include/config.h |
3435 | @$(MKCONFIG) -a $(@:_config=) sh sh4 r2dplus renesas | 3446 | @$(MKCONFIG) -a $(@:_config=) sh sh4 r2dplus renesas |
3436 | 3447 | ||
3437 | r7780mp_config: unconfig | 3448 | r7780mp_config: unconfig |
3438 | @mkdir -p $(obj)include | 3449 | @mkdir -p $(obj)include |
3439 | @echo "#define CONFIG_R7780MP 1" > $(obj)include/config.h | 3450 | @echo "#define CONFIG_R7780MP 1" > $(obj)include/config.h |
3440 | @$(MKCONFIG) -a $(@:_config=) sh sh4 r7780mp renesas | 3451 | @$(MKCONFIG) -a $(@:_config=) sh sh4 r7780mp renesas |
3441 | 3452 | ||
3442 | sh7763rdp_config : unconfig | 3453 | sh7763rdp_config : unconfig |
3443 | @mkdir -p $(obj)include | 3454 | @mkdir -p $(obj)include |
3444 | @echo "#define CONFIG_SH7763RDP 1" > $(obj)include/config.h | 3455 | @echo "#define CONFIG_SH7763RDP 1" > $(obj)include/config.h |
3445 | @$(MKCONFIG) -a $(@:_config=) sh sh4 sh7763rdp renesas | 3456 | @$(MKCONFIG) -a $(@:_config=) sh sh4 sh7763rdp renesas |
3446 | 3457 | ||
3447 | xtract_sh7785lcr = $(subst _32bit,,$(subst _config,,$1)) | 3458 | xtract_sh7785lcr = $(subst _32bit,,$(subst _config,,$1)) |
3448 | sh7785lcr_32bit_config \ | 3459 | sh7785lcr_32bit_config \ |
3449 | sh7785lcr_config : unconfig | 3460 | sh7785lcr_config : unconfig |
3450 | @ >include/config.h | 3461 | @ >include/config.h |
3451 | @echo "#define CONFIG_SH7785LCR 1" >> include/config.h | 3462 | @echo "#define CONFIG_SH7785LCR 1" >> include/config.h |
3452 | @if [ "$(findstring 32bit, $@)" ] ; then \ | 3463 | @if [ "$(findstring 32bit, $@)" ] ; then \ |
3453 | echo "#define CONFIG_SH_32BIT 1" >> $(obj)include/config.h ; \ | 3464 | echo "#define CONFIG_SH_32BIT 1" >> $(obj)include/config.h ; \ |
3454 | cp $(obj)board/renesas/sh7785lcr/u-boot_32bit \ | 3465 | cp $(obj)board/renesas/sh7785lcr/u-boot_32bit \ |
3455 | $(obj)board/renesas/sh7785lcr/u-boot.lds ; \ | 3466 | $(obj)board/renesas/sh7785lcr/u-boot.lds ; \ |
3456 | echo "TEXT_BASE = 0x8ff80000" > \ | 3467 | echo "TEXT_BASE = 0x8ff80000" > \ |
3457 | $(obj)board/renesas/sh7785lcr/config.tmp ; \ | 3468 | $(obj)board/renesas/sh7785lcr/config.tmp ; \ |
3458 | $(XECHO) " ... enable 32-Bit Address Extended Mode" ; \ | 3469 | $(XECHO) " ... enable 32-Bit Address Extended Mode" ; \ |
3459 | else \ | 3470 | else \ |
3460 | cp $(obj)board/renesas/sh7785lcr/u-boot_29bit \ | 3471 | cp $(obj)board/renesas/sh7785lcr/u-boot_29bit \ |
3461 | $(obj)board/renesas/sh7785lcr/u-boot.lds ; \ | 3472 | $(obj)board/renesas/sh7785lcr/u-boot.lds ; \ |
3462 | fi | 3473 | fi |
3463 | @$(MKCONFIG) -a $(call xtract_sh7785lcr,$@) sh sh4 sh7785lcr renesas | 3474 | @$(MKCONFIG) -a $(call xtract_sh7785lcr,$@) sh sh4 sh7785lcr renesas |
3464 | 3475 | ||
3465 | ap325rxa_config : unconfig | 3476 | ap325rxa_config : unconfig |
3466 | @mkdir -p $(obj)include | 3477 | @mkdir -p $(obj)include |
3467 | @echo "#define CONFIG_AP325RXA 1" > $(obj)include/config.h | 3478 | @echo "#define CONFIG_AP325RXA 1" > $(obj)include/config.h |
3468 | @$(MKCONFIG) -a $(@:_config=) sh sh4 ap325rxa renesas | 3479 | @$(MKCONFIG) -a $(@:_config=) sh sh4 ap325rxa renesas |
3469 | 3480 | ||
3470 | #======================================================================== | 3481 | #======================================================================== |
3471 | # SPARC | 3482 | # SPARC |
3472 | #======================================================================== | 3483 | #======================================================================== |
3473 | 3484 | ||
3474 | ######################################################################### | 3485 | ######################################################################### |
3475 | ## LEON3 | 3486 | ## LEON3 |
3476 | ######################################################################### | 3487 | ######################################################################### |
3477 | 3488 | ||
3478 | # Gaisler GR-XC3S-1500 board | 3489 | # Gaisler GR-XC3S-1500 board |
3479 | gr_xc3s_1500_config : unconfig | 3490 | gr_xc3s_1500_config : unconfig |
3480 | @$(MKCONFIG) $(@:_config=) sparc leon3 gr_xc3s_1500 gaisler | 3491 | @$(MKCONFIG) $(@:_config=) sparc leon3 gr_xc3s_1500 gaisler |
3481 | 3492 | ||
3482 | # Gaisler GR-CPCI-AX2000 board, a General purpose FPGA-AX system | 3493 | # Gaisler GR-CPCI-AX2000 board, a General purpose FPGA-AX system |
3483 | gr_cpci_ax2000_config : unconfig | 3494 | gr_cpci_ax2000_config : unconfig |
3484 | @$(MKCONFIG) $(@:_config=) sparc leon3 gr_cpci_ax2000 gaisler | 3495 | @$(MKCONFIG) $(@:_config=) sparc leon3 gr_cpci_ax2000 gaisler |
3485 | 3496 | ||
3486 | # Gaisler GRLIB template design (GPL SPARC/LEON3) for Altera NIOS | 3497 | # Gaisler GRLIB template design (GPL SPARC/LEON3) for Altera NIOS |
3487 | # Development board Stratix II edition, FPGA Device EP2S60. | 3498 | # Development board Stratix II edition, FPGA Device EP2S60. |
3488 | gr_ep2s60_config: unconfig | 3499 | gr_ep2s60_config: unconfig |
3489 | @$(MKCONFIG) $(@:_config=) sparc leon3 gr_ep2s60 gaisler | 3500 | @$(MKCONFIG) $(@:_config=) sparc leon3 gr_ep2s60 gaisler |
3490 | 3501 | ||
3491 | # Gaisler LEON3 GRSIM simulator | 3502 | # Gaisler LEON3 GRSIM simulator |
3492 | grsim_config : unconfig | 3503 | grsim_config : unconfig |
3493 | @$(MKCONFIG) $(@:_config=) sparc leon3 grsim gaisler | 3504 | @$(MKCONFIG) $(@:_config=) sparc leon3 grsim gaisler |
3494 | 3505 | ||
3495 | ######################################################################### | 3506 | ######################################################################### |
3496 | ## LEON2 | 3507 | ## LEON2 |
3497 | ######################################################################### | 3508 | ######################################################################### |
3498 | 3509 | ||
3499 | # Gaisler LEON2 GRSIM simulator | 3510 | # Gaisler LEON2 GRSIM simulator |
3500 | grsim_leon2_config : unconfig | 3511 | grsim_leon2_config : unconfig |
3501 | @$(MKCONFIG) $(@:_config=) sparc leon2 grsim_leon2 gaisler | 3512 | @$(MKCONFIG) $(@:_config=) sparc leon2 grsim_leon2 gaisler |
3502 | 3513 | ||
3503 | ######################################################################### | 3514 | ######################################################################### |
3504 | ######################################################################### | 3515 | ######################################################################### |
3505 | ######################################################################### | 3516 | ######################################################################### |
3506 | 3517 | ||
3507 | clean: | 3518 | clean: |
3508 | @rm -f $(obj)examples/82559_eeprom $(obj)examples/eepro100_eeprom \ | 3519 | @rm -f $(obj)examples/82559_eeprom $(obj)examples/eepro100_eeprom \ |
3509 | $(obj)examples/hello_world $(obj)examples/interrupt \ | 3520 | $(obj)examples/hello_world $(obj)examples/interrupt \ |
3510 | $(obj)examples/mem_to_mem_idma2intr \ | 3521 | $(obj)examples/mem_to_mem_idma2intr \ |
3511 | $(obj)examples/sched $(obj)examples/smc91111_eeprom \ | 3522 | $(obj)examples/sched $(obj)examples/smc91111_eeprom \ |
3512 | $(obj)examples/test_burst $(obj)examples/timer | 3523 | $(obj)examples/test_burst $(obj)examples/timer |
3513 | @rm -f $(obj)tools/bmp_logo $(obj)tools/easylogo/easylogo \ | 3524 | @rm -f $(obj)tools/bmp_logo $(obj)tools/easylogo/easylogo \ |
3514 | $(obj)tools/env/{fw_printenv,fw_setenv} \ | 3525 | $(obj)tools/env/{fw_printenv,fw_setenv} \ |
3515 | $(obj)tools/envcrc \ | 3526 | $(obj)tools/envcrc \ |
3516 | $(obj)tools/gdb/{astest,gdbcont,gdbsend} \ | 3527 | $(obj)tools/gdb/{astest,gdbcont,gdbsend} \ |
3517 | $(obj)tools/gen_eth_addr $(obj)tools/img2srec \ | 3528 | $(obj)tools/gen_eth_addr $(obj)tools/img2srec \ |
3518 | $(obj)tools/mkimage $(obj)tools/mpc86x_clk \ | 3529 | $(obj)tools/mkimage $(obj)tools/mpc86x_clk \ |
3519 | $(obj)tools/ncb $(obj)tools/ubsha1 | 3530 | $(obj)tools/ncb $(obj)tools/ubsha1 |
3520 | @rm -f $(obj)board/cray/L1/{bootscript.c,bootscript.image} \ | 3531 | @rm -f $(obj)board/cray/L1/{bootscript.c,bootscript.image} \ |
3521 | $(obj)board/netstar/{eeprom,crcek,crcit,*.srec,*.bin} \ | 3532 | $(obj)board/netstar/{eeprom,crcek,crcit,*.srec,*.bin} \ |
3522 | $(obj)board/trab/trab_fkt $(obj)board/voiceblue/eeprom \ | 3533 | $(obj)board/trab/trab_fkt $(obj)board/voiceblue/eeprom \ |
3523 | $(obj)board/armltd/{integratorap,integratorcp}/u-boot.lds \ | 3534 | $(obj)board/armltd/{integratorap,integratorcp}/u-boot.lds \ |
3524 | $(obj)board/bf5{18f,26,27,33,38f,48,61}-ez{brd,kit}/u-boot.lds \ | 3535 | $(obj)board/bf5{18f,26,27,33,38f,48,61}-ez{brd,kit}/u-boot.lds \ |
3525 | $(obj)board/bf5{33,37}-stamp/u-boot.lds \ | 3536 | $(obj)board/bf5{33,37}-stamp/u-boot.lds \ |
3526 | $(obj)cpu/blackfin/bootrom-asm-offsets.[chs] | 3537 | $(obj)cpu/blackfin/bootrom-asm-offsets.[chs] |
3527 | @rm -f $(obj)include/bmp_logo.h | 3538 | @rm -f $(obj)include/bmp_logo.h |
3528 | @rm -f $(obj)nand_spl/{u-boot-spl,u-boot-spl.map,System.map} | 3539 | @rm -f $(obj)nand_spl/{u-boot-spl,u-boot-spl.map,System.map} |
3529 | @rm -f $(obj)onenand_ipl/onenand-{ipl,ipl.bin,ipl-2k.bin,ipl-4k.bin,ipl.map} | 3540 | @rm -f $(obj)onenand_ipl/onenand-{ipl,ipl.bin,ipl-2k.bin,ipl-4k.bin,ipl.map} |
3530 | @rm -f $(obj)api_examples/demo $(TIMESTAMP_FILE) $(VERSION_FILE) | 3541 | @rm -f $(obj)api_examples/demo $(TIMESTAMP_FILE) $(VERSION_FILE) |
3531 | @find $(OBJTREE) -type f \ | 3542 | @find $(OBJTREE) -type f \ |
3532 | \( -name 'core' -o -name '*.bak' -o -name '*~' \ | 3543 | \( -name 'core' -o -name '*.bak' -o -name '*~' \ |
3533 | -o -name '*.o' -o -name '*.a' -o -name '*.exe' \) -print \ | 3544 | -o -name '*.o' -o -name '*.a' -o -name '*.exe' \) -print \ |
3534 | | xargs rm -f | 3545 | | xargs rm -f |
3535 | 3546 | ||
3536 | clobber: clean | 3547 | clobber: clean |
3537 | @find $(OBJTREE) -type f \( -name .depend \ | 3548 | @find $(OBJTREE) -type f \( -name .depend \ |
3538 | -o -name '*.srec' -o -name '*.bin' -o -name u-boot.img \) \ | 3549 | -o -name '*.srec' -o -name '*.bin' -o -name u-boot.img \) \ |
3539 | -print0 \ | 3550 | -print0 \ |
3540 | | xargs -0 rm -f | 3551 | | xargs -0 rm -f |
3541 | @rm -f $(OBJS) $(obj)*.bak $(obj)ctags $(obj)etags $(obj)TAGS \ | 3552 | @rm -f $(OBJS) $(obj)*.bak $(obj)ctags $(obj)etags $(obj)TAGS \ |
3542 | $(obj)cscope.* $(obj)*.*~ | 3553 | $(obj)cscope.* $(obj)*.*~ |
3543 | @rm -f $(obj)u-boot $(obj)u-boot.map $(obj)u-boot.hex $(ALL) | 3554 | @rm -f $(obj)u-boot $(obj)u-boot.map $(obj)u-boot.hex $(ALL) |
3544 | @rm -f $(obj)tools/{env/crc32.c,inca-swap-bytes} | 3555 | @rm -f $(obj)tools/{env/crc32.c,inca-swap-bytes} |
3545 | @rm -f $(obj)cpu/mpc824x/bedbug_603e.c | 3556 | @rm -f $(obj)cpu/mpc824x/bedbug_603e.c |
3546 | @rm -f $(obj)include/asm/proc $(obj)include/asm/arch $(obj)include/asm | 3557 | @rm -f $(obj)include/asm/proc $(obj)include/asm/arch $(obj)include/asm |
3547 | @[ ! -d $(obj)nand_spl ] || find $(obj)nand_spl -name "*" -type l -print | xargs rm -f | 3558 | @[ ! -d $(obj)nand_spl ] || find $(obj)nand_spl -name "*" -type l -print | xargs rm -f |
3548 | @[ ! -d $(obj)onenand_ipl ] || find $(obj)onenand_ipl -name "*" -type l -print | xargs rm -f | 3559 | @[ ! -d $(obj)onenand_ipl ] || find $(obj)onenand_ipl -name "*" -type l -print | xargs rm -f |
3549 | @[ ! -d $(obj)api_examples ] || find $(obj)api_examples -name "*" -type l -print | xargs rm -f | 3560 | @[ ! -d $(obj)api_examples ] || find $(obj)api_examples -name "*" -type l -print | xargs rm -f |
3550 | 3561 | ||
3551 | ifeq ($(OBJTREE),$(SRCTREE)) | 3562 | ifeq ($(OBJTREE),$(SRCTREE)) |
3552 | mrproper \ | 3563 | mrproper \ |
3553 | distclean: clobber unconfig | 3564 | distclean: clobber unconfig |
3554 | else | 3565 | else |
3555 | mrproper \ | 3566 | mrproper \ |
3556 | distclean: clobber unconfig | 3567 | distclean: clobber unconfig |
3557 | rm -rf $(obj)* | 3568 | rm -rf $(obj)* |
3558 | endif | 3569 | endif |
3559 | 3570 | ||
3560 | backup: | 3571 | backup: |
3561 | F=`basename $(TOPDIR)` ; cd .. ; \ | 3572 | F=`basename $(TOPDIR)` ; cd .. ; \ |
3562 | gtar --force-local -zcvf `date "+$$F-%Y-%m-%d-%T.tar.gz"` $$F | 3573 | gtar --force-local -zcvf `date "+$$F-%Y-%m-%d-%T.tar.gz"` $$F |
3563 | 3574 | ||
3564 | ######################################################################### | 3575 | ######################################################################### |
3565 | 3576 |
board/amcc/sequoia/init.S
1 | /* | 1 | /* |
2 | * (C) Copyright 2008 | 2 | * (C) Copyright 2008 |
3 | * Stefan Roese, DENX Software Engineering, sr@denx.de. | 3 | * Stefan Roese, DENX Software Engineering, sr@denx.de. |
4 | * | 4 | * |
5 | * See file CREDITS for list of people who contributed to this | 5 | * See file CREDITS for list of people who contributed to this |
6 | * project. | 6 | * project. |
7 | * | 7 | * |
8 | * This program is free software; you can redistribute it and/or | 8 | * This program is free software; you can redistribute it and/or |
9 | * modify it under the terms of the GNU General Public License as | 9 | * modify it under the terms of the GNU General Public License as |
10 | * published by the Free Software Foundation; either version 2 of | 10 | * published by the Free Software Foundation; either version 2 of |
11 | * the License, or (at your option) any later version. | 11 | * the License, or (at your option) any later version. |
12 | * | 12 | * |
13 | * This program is distributed in the hope that it will be useful, | 13 | * This program is distributed in the hope that it will be useful, |
14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of |
15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
16 | * GNU General Public License for more details. | 16 | * GNU General Public License for more details. |
17 | * | 17 | * |
18 | * You should have received a copy of the GNU General Public License | 18 | * You should have received a copy of the GNU General Public License |
19 | * along with this program; if not, write to the Free Software | 19 | * along with this program; if not, write to the Free Software |
20 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, | 20 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, |
21 | * MA 02111-1307 USA | 21 | * MA 02111-1307 USA |
22 | */ | 22 | */ |
23 | 23 | ||
24 | #include <ppc_asm.tmpl> | 24 | #include <ppc_asm.tmpl> |
25 | #include <asm-ppc/mmu.h> | 25 | #include <asm-ppc/mmu.h> |
26 | #include <config.h> | 26 | #include <config.h> |
27 | 27 | ||
28 | /* | 28 | /* |
29 | * TLB TABLE | 29 | * TLB TABLE |
30 | * | 30 | * |
31 | * This table is used by the cpu boot code to setup the initial tlb | 31 | * This table is used by the cpu boot code to setup the initial tlb |
32 | * entries. Rather than make broad assumptions in the cpu source tree, | 32 | * entries. Rather than make broad assumptions in the cpu source tree, |
33 | * this table lets each board set things up however they like. | 33 | * this table lets each board set things up however they like. |
34 | * | 34 | * |
35 | * Pointer to the table is returned in r1 | 35 | * Pointer to the table is returned in r1 |
36 | */ | 36 | */ |
37 | .section .bootpg,"ax" | 37 | .section .bootpg,"ax" |
38 | .globl tlbtab | 38 | .globl tlbtab |
39 | 39 | ||
40 | tlbtab: | 40 | tlbtab: |
41 | tlbtab_start | 41 | tlbtab_start |
42 | 42 | ||
43 | /* vxWorks needs this as first entry for the Machine Check interrupt */ | 43 | /* vxWorks needs this as first entry for the Machine Check interrupt */ |
44 | tlbentry( 0x40000000, SZ_256M, 0, 0, AC_R|AC_W|AC_X|SA_G|SA_I ) | 44 | tlbentry( 0x40000000, SZ_256M, 0, 0, AC_R|AC_W|AC_X|SA_G|SA_I ) |
45 | 45 | ||
46 | /* | ||
47 | * The RAM-boot version skips the SDRAM TLB (identified by EPN=0). This | ||
48 | * entry is already configured for SDRAM via the JTAG debugger and mustn't | ||
49 | * be re-initialized by this RAM-booting U-Boot version. | ||
50 | */ | ||
51 | #ifndef CONFIG_SYS_RAMBOOT | ||
46 | /* TLB-entry for DDR SDRAM (Up to 2GB) */ | 52 | /* TLB-entry for DDR SDRAM (Up to 2GB) */ |
47 | #ifdef CONFIG_4xx_DCACHE | 53 | #ifdef CONFIG_4xx_DCACHE |
48 | tlbentry( CONFIG_SYS_SDRAM_BASE, SZ_256M, CONFIG_SYS_SDRAM_BASE, 0, AC_R|AC_W|AC_X|SA_G) | 54 | tlbentry( CONFIG_SYS_SDRAM_BASE, SZ_256M, CONFIG_SYS_SDRAM_BASE, 0, AC_R|AC_W|AC_X|SA_G) |
49 | #else | 55 | #else |
50 | tlbentry( CONFIG_SYS_SDRAM_BASE, SZ_256M, CONFIG_SYS_SDRAM_BASE, 0, AC_R|AC_W|AC_X|SA_G|SA_I ) | 56 | tlbentry( CONFIG_SYS_SDRAM_BASE, SZ_256M, CONFIG_SYS_SDRAM_BASE, 0, AC_R|AC_W|AC_X|SA_G|SA_I ) |
51 | #endif | 57 | #endif |
58 | #endif /* CONFIG_SYS_RAMBOOT */ | ||
52 | 59 | ||
53 | /* TLB-entry for EBC */ | 60 | /* TLB-entry for EBC */ |
54 | tlbentry( CONFIG_SYS_BCSR_BASE, SZ_256M, CONFIG_SYS_BCSR_BASE, 1, AC_R|AC_W|AC_X|SA_G|SA_I ) | 61 | tlbentry( CONFIG_SYS_BCSR_BASE, SZ_256M, CONFIG_SYS_BCSR_BASE, 1, AC_R|AC_W|AC_X|SA_G|SA_I ) |
55 | 62 | ||
56 | /* BOOT_CS (FLASH) must be forth. Before relocation SA_I can be off to use the | 63 | /* BOOT_CS (FLASH) must be forth. Before relocation SA_I can be off to use the |
57 | * speed up boot process. It is patched after relocation to enable SA_I | 64 | * speed up boot process. It is patched after relocation to enable SA_I |
58 | */ | 65 | */ |
59 | #ifndef CONFIG_NAND_SPL | 66 | #ifndef CONFIG_NAND_SPL |
60 | tlbentry( CONFIG_SYS_BOOT_BASE_ADDR, SZ_256M, CONFIG_SYS_BOOT_BASE_ADDR, 1, AC_R|AC_W|AC_X|SA_G ) | 67 | tlbentry( CONFIG_SYS_BOOT_BASE_ADDR, SZ_256M, CONFIG_SYS_BOOT_BASE_ADDR, 1, AC_R|AC_W|AC_X|SA_G ) |
61 | #else | 68 | #else |
62 | tlbentry( CONFIG_SYS_NAND_BOOT_SPL_SRC, SZ_4K, CONFIG_SYS_NAND_BOOT_SPL_SRC, 1, AC_R|AC_W|AC_X|SA_G ) | 69 | tlbentry( CONFIG_SYS_NAND_BOOT_SPL_SRC, SZ_4K, CONFIG_SYS_NAND_BOOT_SPL_SRC, 1, AC_R|AC_W|AC_X|SA_G ) |
63 | #endif | 70 | #endif |
64 | 71 | ||
65 | #ifdef CONFIG_SYS_INIT_RAM_DCACHE | 72 | #ifdef CONFIG_SYS_INIT_RAM_DCACHE |
66 | /* TLB-entry for init-ram in dcache (SA_I must be turned off!) */ | 73 | /* TLB-entry for init-ram in dcache (SA_I must be turned off!) */ |
67 | tlbentry( CONFIG_SYS_INIT_RAM_ADDR, SZ_64K, CONFIG_SYS_INIT_RAM_ADDR, 0, AC_R|AC_W|AC_X|SA_G ) | 74 | tlbentry( CONFIG_SYS_INIT_RAM_ADDR, SZ_64K, CONFIG_SYS_INIT_RAM_ADDR, 0, AC_R|AC_W|AC_X|SA_G ) |
68 | #endif | 75 | #endif |
69 | 76 | ||
70 | /* TLB-entry for PCI Memory */ | 77 | /* TLB-entry for PCI Memory */ |
71 | tlbentry( CONFIG_SYS_PCI_MEMBASE, SZ_256M, CONFIG_SYS_PCI_MEMBASE, 1, AC_R|AC_W|SA_G|SA_I ) | 78 | tlbentry( CONFIG_SYS_PCI_MEMBASE, SZ_256M, CONFIG_SYS_PCI_MEMBASE, 1, AC_R|AC_W|SA_G|SA_I ) |
72 | tlbentry( CONFIG_SYS_PCI_MEMBASE1, SZ_256M, CONFIG_SYS_PCI_MEMBASE1, 1, AC_R|AC_W|SA_G|SA_I ) | 79 | tlbentry( CONFIG_SYS_PCI_MEMBASE1, SZ_256M, CONFIG_SYS_PCI_MEMBASE1, 1, AC_R|AC_W|SA_G|SA_I ) |
73 | tlbentry( CONFIG_SYS_PCI_MEMBASE2, SZ_256M, CONFIG_SYS_PCI_MEMBASE2, 1, AC_R|AC_W|SA_G|SA_I ) | 80 | tlbentry( CONFIG_SYS_PCI_MEMBASE2, SZ_256M, CONFIG_SYS_PCI_MEMBASE2, 1, AC_R|AC_W|SA_G|SA_I ) |
74 | tlbentry( CONFIG_SYS_PCI_MEMBASE3, SZ_256M, CONFIG_SYS_PCI_MEMBASE3, 1, AC_R|AC_W|SA_G|SA_I ) | 81 | tlbentry( CONFIG_SYS_PCI_MEMBASE3, SZ_256M, CONFIG_SYS_PCI_MEMBASE3, 1, AC_R|AC_W|SA_G|SA_I ) |
75 | 82 | ||
76 | /* TLB-entry for NAND */ | 83 | /* TLB-entry for NAND */ |
77 | tlbentry( CONFIG_SYS_NAND_ADDR, SZ_1K, CONFIG_SYS_NAND_ADDR, 1, AC_R|AC_W|AC_X|SA_G|SA_I ) | 84 | tlbentry( CONFIG_SYS_NAND_ADDR, SZ_1K, CONFIG_SYS_NAND_ADDR, 1, AC_R|AC_W|AC_X|SA_G|SA_I ) |
78 | 85 | ||
79 | /* TLB-entry for Internal Registers & OCM */ | 86 | /* TLB-entry for Internal Registers & OCM */ |
80 | tlbentry( 0xe0000000, SZ_16M, 0xe0000000, 0, AC_R|AC_W|AC_X|SA_I ) | 87 | tlbentry( 0xe0000000, SZ_16M, 0xe0000000, 0, AC_R|AC_W|AC_X|SA_I ) |
81 | 88 | ||
82 | /*TLB-entry PCI registers*/ | 89 | /*TLB-entry PCI registers*/ |
83 | tlbentry( 0xEEC00000, SZ_1K, 0xEEC00000, 1, AC_R|AC_W|AC_X|SA_G|SA_I ) | 90 | tlbentry( 0xEEC00000, SZ_1K, 0xEEC00000, 1, AC_R|AC_W|AC_X|SA_G|SA_I ) |
84 | 91 | ||
85 | /* TLB-entry for peripherals */ | 92 | /* TLB-entry for peripherals */ |
86 | tlbentry( 0xEF000000, SZ_16M, 0xEF000000, 1, AC_R|AC_W|AC_X|SA_G|SA_I) | 93 | tlbentry( 0xEF000000, SZ_16M, 0xEF000000, 1, AC_R|AC_W|AC_X|SA_G|SA_I) |
87 | 94 | ||
88 | /* TLB-entry PCI IO Space - from sr@denx.de */ | 95 | /* TLB-entry PCI IO Space - from sr@denx.de */ |
89 | tlbentry(0xE8000000, SZ_64K, 0xE8000000, 1, AC_R|AC_W|AC_X|SA_G|SA_I) | 96 | tlbentry(0xE8000000, SZ_64K, 0xE8000000, 1, AC_R|AC_W|AC_X|SA_G|SA_I) |
90 | 97 | ||
91 | tlbtab_end | 98 | tlbtab_end |
92 | 99 | ||
93 | #if defined(CONFIG_NAND_U_BOOT) && !defined(CONFIG_NAND_SPL) | 100 | #if defined(CONFIG_NAND_U_BOOT) && !defined(CONFIG_NAND_SPL) |
94 | /* | 101 | /* |
95 | * For NAND booting the first TLB has to be reconfigured to full size | 102 | * For NAND booting the first TLB has to be reconfigured to full size |
96 | * and with caching disabled after running from RAM! | 103 | * and with caching disabled after running from RAM! |
97 | */ | 104 | */ |
98 | #define TLB00 TLB0(CONFIG_SYS_BOOT_BASE_ADDR, SZ_256M) | 105 | #define TLB00 TLB0(CONFIG_SYS_BOOT_BASE_ADDR, SZ_256M) |
99 | #define TLB01 TLB1(CONFIG_SYS_BOOT_BASE_ADDR, 1) | 106 | #define TLB01 TLB1(CONFIG_SYS_BOOT_BASE_ADDR, 1) |
100 | #define TLB02 TLB2(AC_R|AC_W|AC_X|SA_G|SA_I) | 107 | #define TLB02 TLB2(AC_R|AC_W|AC_X|SA_G|SA_I) |
101 | 108 | ||
102 | .globl reconfig_tlb0 | 109 | .globl reconfig_tlb0 |
103 | reconfig_tlb0: | 110 | reconfig_tlb0: |
104 | sync | 111 | sync |
105 | isync | 112 | isync |
106 | addi r4,r0,CONFIG_SYS_TLB_FOR_BOOT_FLASH /* TLB entry # */ | 113 | addi r4,r0,CONFIG_SYS_TLB_FOR_BOOT_FLASH /* TLB entry # */ |
107 | lis r5,TLB00@h | 114 | lis r5,TLB00@h |
108 | ori r5,r5,TLB00@l | 115 | ori r5,r5,TLB00@l |
109 | tlbwe r5,r4,0x0000 /* Save it out */ | 116 | tlbwe r5,r4,0x0000 /* Save it out */ |
110 | lis r5,TLB01@h | 117 | lis r5,TLB01@h |
111 | ori r5,r5,TLB01@l | 118 | ori r5,r5,TLB01@l |
112 | tlbwe r5,r4,0x0001 /* Save it out */ | 119 | tlbwe r5,r4,0x0001 /* Save it out */ |
113 | lis r5,TLB02@h | 120 | lis r5,TLB02@h |
114 | ori r5,r5,TLB02@l | 121 | ori r5,r5,TLB02@l |
115 | tlbwe r5,r4,0x0002 /* Save it out */ | 122 | tlbwe r5,r4,0x0002 /* Save it out */ |
116 | sync | 123 | sync |
117 | isync | 124 | isync |
118 | blr | 125 | blr |
119 | #endif | 126 | #endif |
120 | 127 |
board/amcc/sequoia/sdram.c
1 | /* | 1 | /* |
2 | * (C) Copyright 2006 | 2 | * (C) Copyright 2006 |
3 | * Sylvie Gohl, AMCC/IBM, gohl.sylvie@fr.ibm.com | 3 | * Sylvie Gohl, AMCC/IBM, gohl.sylvie@fr.ibm.com |
4 | * Jacqueline Pira-Ferriol, AMCC/IBM, jpira-ferriol@fr.ibm.com | 4 | * Jacqueline Pira-Ferriol, AMCC/IBM, jpira-ferriol@fr.ibm.com |
5 | * Thierry Roman, AMCC/IBM, thierry_roman@fr.ibm.com | 5 | * Thierry Roman, AMCC/IBM, thierry_roman@fr.ibm.com |
6 | * Alain Saurel, AMCC/IBM, alain.saurel@fr.ibm.com | 6 | * Alain Saurel, AMCC/IBM, alain.saurel@fr.ibm.com |
7 | * Robert Snyder, AMCC/IBM, rob.snyder@fr.ibm.com | 7 | * Robert Snyder, AMCC/IBM, rob.snyder@fr.ibm.com |
8 | * | 8 | * |
9 | * (C) Copyright 2006-2007 | 9 | * (C) Copyright 2006-2007 |
10 | * Stefan Roese, DENX Software Engineering, sr@denx.de. | 10 | * Stefan Roese, DENX Software Engineering, sr@denx.de. |
11 | * | 11 | * |
12 | * This program is free software; you can redistribute it and/or | 12 | * This program is free software; you can redistribute it and/or |
13 | * modify it under the terms of the GNU General Public License as | 13 | * modify it under the terms of the GNU General Public License as |
14 | * published by the Free Software Foundation; either version 2 of | 14 | * published by the Free Software Foundation; either version 2 of |
15 | * the License, or (at your option) any later version. | 15 | * the License, or (at your option) any later version. |
16 | * | 16 | * |
17 | * This program is distributed in the hope that it will be useful, | 17 | * This program is distributed in the hope that it will be useful, |
18 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | 18 | * but WITHOUT ANY WARRANTY; without even the implied warranty of |
19 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | 19 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
20 | * GNU General Public License for more details. | 20 | * GNU General Public License for more details. |
21 | * | 21 | * |
22 | * You should have received a copy of the GNU General Public License | 22 | * You should have received a copy of the GNU General Public License |
23 | * along with this program; if not, write to the Free Software | 23 | * along with this program; if not, write to the Free Software |
24 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, | 24 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, |
25 | * MA 02111-1307 USA | 25 | * MA 02111-1307 USA |
26 | */ | 26 | */ |
27 | 27 | ||
28 | /* define DEBUG for debug output */ | 28 | /* define DEBUG for debug output */ |
29 | #undef DEBUG | 29 | #undef DEBUG |
30 | 30 | ||
31 | #include <common.h> | 31 | #include <common.h> |
32 | #include <asm/processor.h> | 32 | #include <asm/processor.h> |
33 | #include <asm/io.h> | 33 | #include <asm/io.h> |
34 | #include <ppc440.h> | 34 | #include <ppc440.h> |
35 | 35 | ||
36 | /*-----------------------------------------------------------------------------+ | 36 | /*-----------------------------------------------------------------------------+ |
37 | * Prototypes | 37 | * Prototypes |
38 | *-----------------------------------------------------------------------------*/ | 38 | *-----------------------------------------------------------------------------*/ |
39 | extern int denali_wait_for_dlllock(void); | 39 | extern int denali_wait_for_dlllock(void); |
40 | extern void denali_core_search_data_eye(void); | 40 | extern void denali_core_search_data_eye(void); |
41 | 41 | ||
42 | #if defined(CONFIG_NAND_SPL) | 42 | #if defined(CONFIG_NAND_SPL) |
43 | /* Using cpu/ppc4xx/speed.c to calculate the bus frequency is too big | 43 | /* Using cpu/ppc4xx/speed.c to calculate the bus frequency is too big |
44 | * for the 4k NAND boot image so define bus_frequency to 133MHz here | 44 | * for the 4k NAND boot image so define bus_frequency to 133MHz here |
45 | * which is save for the refresh counter setup. | 45 | * which is save for the refresh counter setup. |
46 | */ | 46 | */ |
47 | #define get_bus_freq(val) 133333333 | 47 | #define get_bus_freq(val) 133333333 |
48 | #endif | 48 | #endif |
49 | 49 | ||
50 | /************************************************************************* | 50 | /************************************************************************* |
51 | * | 51 | * |
52 | * initdram -- 440EPx's DDR controller is a DENALI Core | 52 | * initdram -- 440EPx's DDR controller is a DENALI Core |
53 | * | 53 | * |
54 | ************************************************************************/ | 54 | ************************************************************************/ |
55 | phys_size_t initdram (int board_type) | 55 | phys_size_t initdram (int board_type) |
56 | { | 56 | { |
57 | #if !defined(CONFIG_NAND_U_BOOT) || defined(CONFIG_NAND_SPL) | 57 | #if !(defined(CONFIG_NAND_U_BOOT) || defined(CONFIG_SYS_RAMBOOT)) || \ |
58 | defined(CONFIG_NAND_SPL) | ||
58 | ulong speed = get_bus_freq(0); | 59 | ulong speed = get_bus_freq(0); |
59 | 60 | ||
60 | mtsdram(DDR0_02, 0x00000000); | 61 | mtsdram(DDR0_02, 0x00000000); |
61 | 62 | ||
62 | mtsdram(DDR0_00, 0x0000190A); | 63 | mtsdram(DDR0_00, 0x0000190A); |
63 | mtsdram(DDR0_01, 0x01000000); | 64 | mtsdram(DDR0_01, 0x01000000); |
64 | mtsdram(DDR0_03, 0x02030602); | 65 | mtsdram(DDR0_03, 0x02030602); |
65 | mtsdram(DDR0_04, 0x0A020200); | 66 | mtsdram(DDR0_04, 0x0A020200); |
66 | mtsdram(DDR0_05, 0x02020308); | 67 | mtsdram(DDR0_05, 0x02020308); |
67 | mtsdram(DDR0_06, 0x0102C812); | 68 | mtsdram(DDR0_06, 0x0102C812); |
68 | mtsdram(DDR0_07, 0x000D0100); | 69 | mtsdram(DDR0_07, 0x000D0100); |
69 | mtsdram(DDR0_08, 0x02430001); | 70 | mtsdram(DDR0_08, 0x02430001); |
70 | mtsdram(DDR0_09, 0x00011D5F); | 71 | mtsdram(DDR0_09, 0x00011D5F); |
71 | mtsdram(DDR0_10, 0x00000100); | 72 | mtsdram(DDR0_10, 0x00000100); |
72 | mtsdram(DDR0_11, 0x0027C800); | 73 | mtsdram(DDR0_11, 0x0027C800); |
73 | mtsdram(DDR0_12, 0x00000003); | 74 | mtsdram(DDR0_12, 0x00000003); |
74 | mtsdram(DDR0_14, 0x00000000); | 75 | mtsdram(DDR0_14, 0x00000000); |
75 | mtsdram(DDR0_17, 0x19000000); | 76 | mtsdram(DDR0_17, 0x19000000); |
76 | mtsdram(DDR0_18, 0x19191919); | 77 | mtsdram(DDR0_18, 0x19191919); |
77 | mtsdram(DDR0_19, 0x19191919); | 78 | mtsdram(DDR0_19, 0x19191919); |
78 | mtsdram(DDR0_20, 0x0B0B0B0B); | 79 | mtsdram(DDR0_20, 0x0B0B0B0B); |
79 | mtsdram(DDR0_21, 0x0B0B0B0B); | 80 | mtsdram(DDR0_21, 0x0B0B0B0B); |
80 | mtsdram(DDR0_22, 0x00267F0B); | 81 | mtsdram(DDR0_22, 0x00267F0B); |
81 | mtsdram(DDR0_23, 0x00000000); | 82 | mtsdram(DDR0_23, 0x00000000); |
82 | mtsdram(DDR0_24, 0x01010002); | 83 | mtsdram(DDR0_24, 0x01010002); |
83 | if (speed > 133333334) | 84 | if (speed > 133333334) |
84 | mtsdram(DDR0_26, 0x5B26050C); | 85 | mtsdram(DDR0_26, 0x5B26050C); |
85 | else | 86 | else |
86 | mtsdram(DDR0_26, 0x5B260408); | 87 | mtsdram(DDR0_26, 0x5B260408); |
87 | mtsdram(DDR0_27, 0x0000682B); | 88 | mtsdram(DDR0_27, 0x0000682B); |
88 | mtsdram(DDR0_28, 0x00000000); | 89 | mtsdram(DDR0_28, 0x00000000); |
89 | mtsdram(DDR0_31, 0x00000000); | 90 | mtsdram(DDR0_31, 0x00000000); |
90 | mtsdram(DDR0_42, 0x01000006); | 91 | mtsdram(DDR0_42, 0x01000006); |
91 | mtsdram(DDR0_43, 0x030A0200); | 92 | mtsdram(DDR0_43, 0x030A0200); |
92 | mtsdram(DDR0_44, 0x00000003); | 93 | mtsdram(DDR0_44, 0x00000003); |
93 | mtsdram(DDR0_02, 0x00000001); | 94 | mtsdram(DDR0_02, 0x00000001); |
94 | 95 | ||
95 | denali_wait_for_dlllock(); | 96 | denali_wait_for_dlllock(); |
96 | #endif /* #ifndef CONFIG_NAND_U_BOOT */ | 97 | #endif /* #ifndef CONFIG_NAND_U_BOOT */ |
97 | 98 | ||
98 | #ifdef CONFIG_DDR_DATA_EYE | 99 | #ifdef CONFIG_DDR_DATA_EYE |
99 | /* -----------------------------------------------------------+ | 100 | /* -----------------------------------------------------------+ |
100 | * Perform data eye search if requested. | 101 | * Perform data eye search if requested. |
101 | * ----------------------------------------------------------*/ | 102 | * ----------------------------------------------------------*/ |
102 | denali_core_search_data_eye(); | 103 | denali_core_search_data_eye(); |
103 | #endif | 104 | #endif |
104 | 105 | ||
105 | /* | 106 | /* |
106 | * Clear possible errors resulting from data-eye-search. | 107 | * Clear possible errors resulting from data-eye-search. |
107 | * If not done, then we could get an interrupt later on when | 108 | * If not done, then we could get an interrupt later on when |
108 | * exceptions are enabled. | 109 | * exceptions are enabled. |
109 | */ | 110 | */ |
110 | set_mcsr(get_mcsr()); | 111 | set_mcsr(get_mcsr()); |
111 | 112 | ||
112 | return (CONFIG_SYS_MBYTES_SDRAM << 20); | 113 | return (CONFIG_SYS_MBYTES_SDRAM << 20); |
113 | } | 114 | } |
114 | 115 |
board/amcc/sequoia/sequoia.c
1 | /* | 1 | /* |
2 | * (C) Copyright 2006-2009 | 2 | * (C) Copyright 2006-2009 |
3 | * Stefan Roese, DENX Software Engineering, sr@denx.de. | 3 | * Stefan Roese, DENX Software Engineering, sr@denx.de. |
4 | * | 4 | * |
5 | * (C) Copyright 2006 | 5 | * (C) Copyright 2006 |
6 | * Jacqueline Pira-Ferriol, AMCC/IBM, jpira-ferriol@fr.ibm.com | 6 | * Jacqueline Pira-Ferriol, AMCC/IBM, jpira-ferriol@fr.ibm.com |
7 | * Alain Saurel, AMCC/IBM, alain.saurel@fr.ibm.com | 7 | * Alain Saurel, AMCC/IBM, alain.saurel@fr.ibm.com |
8 | * | 8 | * |
9 | * This program is free software; you can redistribute it and/or | 9 | * This program is free software; you can redistribute it and/or |
10 | * modify it under the terms of the GNU General Public License as | 10 | * modify it under the terms of the GNU General Public License as |
11 | * published by the Free Software Foundation; either version 2 of | 11 | * published by the Free Software Foundation; either version 2 of |
12 | * the License, or (at your option) any later version. | 12 | * the License, or (at your option) any later version. |
13 | * | 13 | * |
14 | * This program is distributed in the hope that it will be useful, | 14 | * This program is distributed in the hope that it will be useful, |
15 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | 15 | * but WITHOUT ANY WARRANTY; without even the implied warranty of |
16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | 16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
17 | * GNU General Public License for more details. | 17 | * GNU General Public License for more details. |
18 | * | 18 | * |
19 | * You should have received a copy of the GNU General Public License | 19 | * You should have received a copy of the GNU General Public License |
20 | * along with this program; if not, write to the Free Software | 20 | * along with this program; if not, write to the Free Software |
21 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, | 21 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, |
22 | * MA 02111-1307 USA | 22 | * MA 02111-1307 USA |
23 | */ | 23 | */ |
24 | 24 | ||
25 | #include <common.h> | 25 | #include <common.h> |
26 | #include <libfdt.h> | 26 | #include <libfdt.h> |
27 | #include <fdt_support.h> | 27 | #include <fdt_support.h> |
28 | #include <ppc4xx.h> | 28 | #include <ppc4xx.h> |
29 | #include <asm/gpio.h> | 29 | #include <asm/gpio.h> |
30 | #include <asm/processor.h> | 30 | #include <asm/processor.h> |
31 | #include <asm/io.h> | 31 | #include <asm/io.h> |
32 | #include <asm/bitops.h> | 32 | #include <asm/bitops.h> |
33 | 33 | ||
34 | DECLARE_GLOBAL_DATA_PTR; | 34 | DECLARE_GLOBAL_DATA_PTR; |
35 | 35 | ||
36 | #if !defined(CONFIG_SYS_NO_FLASH) | ||
36 | extern flash_info_t flash_info[CONFIG_SYS_MAX_FLASH_BANKS]; /* info for FLASH chips */ | 37 | extern flash_info_t flash_info[CONFIG_SYS_MAX_FLASH_BANKS]; /* info for FLASH chips */ |
38 | #endif | ||
37 | 39 | ||
38 | extern void __ft_board_setup(void *blob, bd_t *bd); | 40 | extern void __ft_board_setup(void *blob, bd_t *bd); |
39 | ulong flash_get_size(ulong base, int banknum); | 41 | ulong flash_get_size(ulong base, int banknum); |
40 | 42 | ||
41 | int board_early_init_f(void) | 43 | int board_early_init_f(void) |
42 | { | 44 | { |
43 | u32 sdr0_cust0; | 45 | u32 sdr0_cust0; |
44 | u32 sdr0_pfc1, sdr0_pfc2; | 46 | u32 sdr0_pfc1, sdr0_pfc2; |
45 | u32 reg; | 47 | u32 reg; |
46 | 48 | ||
47 | mtdcr(ebccfga, xbcfg); | 49 | mtdcr(ebccfga, xbcfg); |
48 | mtdcr(ebccfgd, 0xb8400000); | 50 | mtdcr(ebccfgd, 0xb8400000); |
49 | 51 | ||
50 | /* | 52 | /* |
51 | * Setup the interrupt controller polarities, triggers, etc. | 53 | * Setup the interrupt controller polarities, triggers, etc. |
52 | */ | 54 | */ |
53 | mtdcr(uic0sr, 0xffffffff); /* clear all */ | 55 | mtdcr(uic0sr, 0xffffffff); /* clear all */ |
54 | mtdcr(uic0er, 0x00000000); /* disable all */ | 56 | mtdcr(uic0er, 0x00000000); /* disable all */ |
55 | mtdcr(uic0cr, 0x00000005); /* ATI & UIC1 crit are critical */ | 57 | mtdcr(uic0cr, 0x00000005); /* ATI & UIC1 crit are critical */ |
56 | mtdcr(uic0pr, 0xfffff7ff); /* per ref-board manual */ | 58 | mtdcr(uic0pr, 0xfffff7ff); /* per ref-board manual */ |
57 | mtdcr(uic0tr, 0x00000000); /* per ref-board manual */ | 59 | mtdcr(uic0tr, 0x00000000); /* per ref-board manual */ |
58 | mtdcr(uic0vr, 0x00000000); /* int31 highest, base=0x000 */ | 60 | mtdcr(uic0vr, 0x00000000); /* int31 highest, base=0x000 */ |
59 | mtdcr(uic0sr, 0xffffffff); /* clear all */ | 61 | mtdcr(uic0sr, 0xffffffff); /* clear all */ |
60 | 62 | ||
61 | mtdcr(uic1sr, 0xffffffff); /* clear all */ | 63 | mtdcr(uic1sr, 0xffffffff); /* clear all */ |
62 | mtdcr(uic1er, 0x00000000); /* disable all */ | 64 | mtdcr(uic1er, 0x00000000); /* disable all */ |
63 | mtdcr(uic1cr, 0x00000000); /* all non-critical */ | 65 | mtdcr(uic1cr, 0x00000000); /* all non-critical */ |
64 | mtdcr(uic1pr, 0xffffffff); /* per ref-board manual */ | 66 | mtdcr(uic1pr, 0xffffffff); /* per ref-board manual */ |
65 | mtdcr(uic1tr, 0x00000000); /* per ref-board manual */ | 67 | mtdcr(uic1tr, 0x00000000); /* per ref-board manual */ |
66 | mtdcr(uic1vr, 0x00000000); /* int31 highest, base=0x000 */ | 68 | mtdcr(uic1vr, 0x00000000); /* int31 highest, base=0x000 */ |
67 | mtdcr(uic1sr, 0xffffffff); /* clear all */ | 69 | mtdcr(uic1sr, 0xffffffff); /* clear all */ |
68 | 70 | ||
69 | mtdcr(uic2sr, 0xffffffff); /* clear all */ | 71 | mtdcr(uic2sr, 0xffffffff); /* clear all */ |
70 | mtdcr(uic2er, 0x00000000); /* disable all */ | 72 | mtdcr(uic2er, 0x00000000); /* disable all */ |
71 | mtdcr(uic2cr, 0x00000000); /* all non-critical */ | 73 | mtdcr(uic2cr, 0x00000000); /* all non-critical */ |
72 | mtdcr(uic2pr, 0xffffffff); /* per ref-board manual */ | 74 | mtdcr(uic2pr, 0xffffffff); /* per ref-board manual */ |
73 | mtdcr(uic2tr, 0x00000000); /* per ref-board manual */ | 75 | mtdcr(uic2tr, 0x00000000); /* per ref-board manual */ |
74 | mtdcr(uic2vr, 0x00000000); /* int31 highest, base=0x000 */ | 76 | mtdcr(uic2vr, 0x00000000); /* int31 highest, base=0x000 */ |
75 | mtdcr(uic2sr, 0xffffffff); /* clear all */ | 77 | mtdcr(uic2sr, 0xffffffff); /* clear all */ |
76 | 78 | ||
77 | /* 50MHz tmrclk */ | 79 | /* 50MHz tmrclk */ |
78 | out_8((u8 *) CONFIG_SYS_BCSR_BASE + 0x04, 0x00); | 80 | out_8((u8 *) CONFIG_SYS_BCSR_BASE + 0x04, 0x00); |
79 | 81 | ||
80 | /* clear write protects */ | 82 | /* clear write protects */ |
81 | out_8((u8 *) CONFIG_SYS_BCSR_BASE + 0x07, 0x00); | 83 | out_8((u8 *) CONFIG_SYS_BCSR_BASE + 0x07, 0x00); |
82 | 84 | ||
83 | /* enable Ethernet */ | 85 | /* enable Ethernet */ |
84 | out_8((u8 *) CONFIG_SYS_BCSR_BASE + 0x08, 0x00); | 86 | out_8((u8 *) CONFIG_SYS_BCSR_BASE + 0x08, 0x00); |
85 | 87 | ||
86 | /* enable USB device */ | 88 | /* enable USB device */ |
87 | out_8((u8 *) CONFIG_SYS_BCSR_BASE + 0x09, 0x20); | 89 | out_8((u8 *) CONFIG_SYS_BCSR_BASE + 0x09, 0x20); |
88 | 90 | ||
89 | /* select Ethernet (and optionally IIC1) pins */ | 91 | /* select Ethernet (and optionally IIC1) pins */ |
90 | mfsdr(SDR0_PFC1, sdr0_pfc1); | 92 | mfsdr(SDR0_PFC1, sdr0_pfc1); |
91 | sdr0_pfc1 = (sdr0_pfc1 & ~SDR0_PFC1_SELECT_MASK) | | 93 | sdr0_pfc1 = (sdr0_pfc1 & ~SDR0_PFC1_SELECT_MASK) | |
92 | SDR0_PFC1_SELECT_CONFIG_4; | 94 | SDR0_PFC1_SELECT_CONFIG_4; |
93 | #ifdef CONFIG_I2C_MULTI_BUS | 95 | #ifdef CONFIG_I2C_MULTI_BUS |
94 | sdr0_pfc1 |= ((sdr0_pfc1 & ~SDR0_PFC1_SIS_MASK) | SDR0_PFC1_SIS_IIC1_SEL); | 96 | sdr0_pfc1 |= ((sdr0_pfc1 & ~SDR0_PFC1_SIS_MASK) | SDR0_PFC1_SIS_IIC1_SEL); |
95 | #endif | 97 | #endif |
96 | /* Two UARTs, so we need 4-pin mode. Also, we want CTS/RTS mode. */ | 98 | /* Two UARTs, so we need 4-pin mode. Also, we want CTS/RTS mode. */ |
97 | sdr0_pfc1 = (sdr0_pfc1 & ~SDR0_PFC1_U0IM_MASK) | SDR0_PFC1_U0IM_4PINS; | 99 | sdr0_pfc1 = (sdr0_pfc1 & ~SDR0_PFC1_U0IM_MASK) | SDR0_PFC1_U0IM_4PINS; |
98 | sdr0_pfc1 = (sdr0_pfc1 & ~SDR0_PFC1_U0ME_MASK) | SDR0_PFC1_U0ME_CTS_RTS; | 100 | sdr0_pfc1 = (sdr0_pfc1 & ~SDR0_PFC1_U0ME_MASK) | SDR0_PFC1_U0ME_CTS_RTS; |
99 | sdr0_pfc1 = (sdr0_pfc1 & ~SDR0_PFC1_U1ME_MASK) | SDR0_PFC1_U1ME_CTS_RTS; | 101 | sdr0_pfc1 = (sdr0_pfc1 & ~SDR0_PFC1_U1ME_MASK) | SDR0_PFC1_U1ME_CTS_RTS; |
100 | 102 | ||
101 | mfsdr(SDR0_PFC2, sdr0_pfc2); | 103 | mfsdr(SDR0_PFC2, sdr0_pfc2); |
102 | sdr0_pfc2 = (sdr0_pfc2 & ~SDR0_PFC2_SELECT_MASK) | | 104 | sdr0_pfc2 = (sdr0_pfc2 & ~SDR0_PFC2_SELECT_MASK) | |
103 | SDR0_PFC2_SELECT_CONFIG_4; | 105 | SDR0_PFC2_SELECT_CONFIG_4; |
104 | mtsdr(SDR0_PFC2, sdr0_pfc2); | 106 | mtsdr(SDR0_PFC2, sdr0_pfc2); |
105 | mtsdr(SDR0_PFC1, sdr0_pfc1); | 107 | mtsdr(SDR0_PFC1, sdr0_pfc1); |
106 | 108 | ||
107 | /* PCI arbiter enabled */ | 109 | /* PCI arbiter enabled */ |
108 | mfsdr(sdr_pci0, reg); | 110 | mfsdr(sdr_pci0, reg); |
109 | mtsdr(sdr_pci0, 0x80000000 | reg); | 111 | mtsdr(sdr_pci0, 0x80000000 | reg); |
110 | 112 | ||
111 | /* setup NAND FLASH */ | 113 | /* setup NAND FLASH */ |
112 | mfsdr(SDR0_CUST0, sdr0_cust0); | 114 | mfsdr(SDR0_CUST0, sdr0_cust0); |
113 | sdr0_cust0 = SDR0_CUST0_MUX_NDFC_SEL | | 115 | sdr0_cust0 = SDR0_CUST0_MUX_NDFC_SEL | |
114 | SDR0_CUST0_NDFC_ENABLE | | 116 | SDR0_CUST0_NDFC_ENABLE | |
115 | SDR0_CUST0_NDFC_BW_8_BIT | | 117 | SDR0_CUST0_NDFC_BW_8_BIT | |
116 | SDR0_CUST0_NDFC_ARE_MASK | | 118 | SDR0_CUST0_NDFC_ARE_MASK | |
117 | (0x80000000 >> (28 + CONFIG_SYS_NAND_CS)); | 119 | (0x80000000 >> (28 + CONFIG_SYS_NAND_CS)); |
118 | mtsdr(SDR0_CUST0, sdr0_cust0); | 120 | mtsdr(SDR0_CUST0, sdr0_cust0); |
119 | 121 | ||
120 | return 0; | 122 | return 0; |
121 | } | 123 | } |
122 | 124 | ||
123 | int misc_init_r(void) | 125 | int misc_init_r(void) |
124 | { | 126 | { |
127 | #if !defined(CONFIG_SYS_NO_FLASH) | ||
125 | uint pbcr; | 128 | uint pbcr; |
126 | int size_val = 0; | 129 | int size_val = 0; |
127 | u32 reg; | 130 | #endif |
128 | #ifdef CONFIG_440EPX | 131 | #ifdef CONFIG_440EPX |
129 | unsigned long usb2d0cr = 0; | 132 | unsigned long usb2d0cr = 0; |
130 | unsigned long usb2phy0cr, usb2h0cr = 0; | 133 | unsigned long usb2phy0cr, usb2h0cr = 0; |
131 | unsigned long sdr0_pfc1; | 134 | unsigned long sdr0_pfc1; |
132 | char *act = getenv("usbact"); | 135 | char *act = getenv("usbact"); |
133 | #endif | 136 | #endif |
137 | u32 reg; | ||
134 | 138 | ||
139 | #if !defined(CONFIG_SYS_NO_FLASH) | ||
135 | /* Re-do flash sizing to get full correct info */ | 140 | /* Re-do flash sizing to get full correct info */ |
136 | 141 | ||
137 | /* adjust flash start and offset */ | 142 | /* adjust flash start and offset */ |
138 | gd->bd->bi_flashstart = 0 - gd->bd->bi_flashsize; | 143 | gd->bd->bi_flashstart = 0 - gd->bd->bi_flashsize; |
139 | gd->bd->bi_flashoffset = 0; | 144 | gd->bd->bi_flashoffset = 0; |
140 | 145 | ||
141 | #if defined(CONFIG_NAND_U_BOOT) || defined(CONFIG_NAND_SPL) | 146 | #if defined(CONFIG_NAND_U_BOOT) || defined(CONFIG_NAND_SPL) |
142 | mtdcr(ebccfga, pb3cr); | 147 | mtdcr(ebccfga, pb3cr); |
143 | #else | 148 | #else |
144 | mtdcr(ebccfga, pb0cr); | 149 | mtdcr(ebccfga, pb0cr); |
145 | #endif | 150 | #endif |
146 | pbcr = mfdcr(ebccfgd); | 151 | pbcr = mfdcr(ebccfgd); |
147 | size_val = ffs(gd->bd->bi_flashsize) - 21; | 152 | size_val = ffs(gd->bd->bi_flashsize) - 21; |
148 | pbcr = (pbcr & 0x0001ffff) | gd->bd->bi_flashstart | (size_val << 17); | 153 | pbcr = (pbcr & 0x0001ffff) | gd->bd->bi_flashstart | (size_val << 17); |
149 | #if defined(CONFIG_NAND_U_BOOT) || defined(CONFIG_NAND_SPL) | 154 | #if defined(CONFIG_NAND_U_BOOT) || defined(CONFIG_NAND_SPL) |
150 | mtdcr(ebccfga, pb3cr); | 155 | mtdcr(ebccfga, pb3cr); |
151 | #else | 156 | #else |
152 | mtdcr(ebccfga, pb0cr); | 157 | mtdcr(ebccfga, pb0cr); |
153 | #endif | 158 | #endif |
154 | mtdcr(ebccfgd, pbcr); | 159 | mtdcr(ebccfgd, pbcr); |
155 | 160 | ||
156 | /* | 161 | /* |
157 | * Re-check to get correct base address | 162 | * Re-check to get correct base address |
158 | */ | 163 | */ |
159 | flash_get_size(gd->bd->bi_flashstart, 0); | 164 | flash_get_size(gd->bd->bi_flashstart, 0); |
160 | 165 | ||
161 | #ifdef CONFIG_ENV_IS_IN_FLASH | 166 | #ifdef CONFIG_ENV_IS_IN_FLASH |
162 | /* Monitor protection ON by default */ | 167 | /* Monitor protection ON by default */ |
163 | (void)flash_protect(FLAG_PROTECT_SET, | 168 | (void)flash_protect(FLAG_PROTECT_SET, |
164 | -CONFIG_SYS_MONITOR_LEN, | 169 | -CONFIG_SYS_MONITOR_LEN, |
165 | 0xffffffff, | 170 | 0xffffffff, |
166 | &flash_info[0]); | 171 | &flash_info[0]); |
167 | 172 | ||
168 | /* Env protection ON by default */ | 173 | /* Env protection ON by default */ |
169 | (void)flash_protect(FLAG_PROTECT_SET, | 174 | (void)flash_protect(FLAG_PROTECT_SET, |
170 | CONFIG_ENV_ADDR_REDUND, | 175 | CONFIG_ENV_ADDR_REDUND, |
171 | CONFIG_ENV_ADDR_REDUND + 2*CONFIG_ENV_SECT_SIZE - 1, | 176 | CONFIG_ENV_ADDR_REDUND + 2*CONFIG_ENV_SECT_SIZE - 1, |
172 | &flash_info[0]); | 177 | &flash_info[0]); |
173 | #endif | 178 | #endif |
179 | #endif /* CONFIG_SYS_NO_FLASH */ | ||
174 | 180 | ||
175 | /* | 181 | /* |
176 | * USB suff... | 182 | * USB suff... |
177 | */ | 183 | */ |
178 | #ifdef CONFIG_440EPX | 184 | #ifdef CONFIG_440EPX |
179 | if (act == NULL || strcmp(act, "hostdev") == 0) { | 185 | if (act == NULL || strcmp(act, "hostdev") == 0) { |
180 | /* SDR Setting */ | 186 | /* SDR Setting */ |
181 | mfsdr(SDR0_PFC1, sdr0_pfc1); | 187 | mfsdr(SDR0_PFC1, sdr0_pfc1); |
182 | mfsdr(SDR0_USB2D0CR, usb2d0cr); | 188 | mfsdr(SDR0_USB2D0CR, usb2d0cr); |
183 | mfsdr(SDR0_USB2PHY0CR, usb2phy0cr); | 189 | mfsdr(SDR0_USB2PHY0CR, usb2phy0cr); |
184 | mfsdr(SDR0_USB2H0CR, usb2h0cr); | 190 | mfsdr(SDR0_USB2H0CR, usb2h0cr); |
185 | 191 | ||
186 | usb2phy0cr = usb2phy0cr &~SDR0_USB2PHY0CR_XOCLK_MASK; | 192 | usb2phy0cr = usb2phy0cr &~SDR0_USB2PHY0CR_XOCLK_MASK; |
187 | usb2phy0cr = usb2phy0cr | SDR0_USB2PHY0CR_XOCLK_EXTERNAL; | 193 | usb2phy0cr = usb2phy0cr | SDR0_USB2PHY0CR_XOCLK_EXTERNAL; |
188 | usb2phy0cr = usb2phy0cr &~SDR0_USB2PHY0CR_WDINT_MASK; | 194 | usb2phy0cr = usb2phy0cr &~SDR0_USB2PHY0CR_WDINT_MASK; |
189 | usb2phy0cr = usb2phy0cr | SDR0_USB2PHY0CR_WDINT_16BIT_30MHZ; | 195 | usb2phy0cr = usb2phy0cr | SDR0_USB2PHY0CR_WDINT_16BIT_30MHZ; |
190 | usb2phy0cr = usb2phy0cr &~SDR0_USB2PHY0CR_DVBUS_MASK; | 196 | usb2phy0cr = usb2phy0cr &~SDR0_USB2PHY0CR_DVBUS_MASK; |
191 | usb2phy0cr = usb2phy0cr | SDR0_USB2PHY0CR_DVBUS_PURDIS; | 197 | usb2phy0cr = usb2phy0cr | SDR0_USB2PHY0CR_DVBUS_PURDIS; |
192 | usb2phy0cr = usb2phy0cr &~SDR0_USB2PHY0CR_DWNSTR_MASK; | 198 | usb2phy0cr = usb2phy0cr &~SDR0_USB2PHY0CR_DWNSTR_MASK; |
193 | usb2phy0cr = usb2phy0cr | SDR0_USB2PHY0CR_DWNSTR_HOST; | 199 | usb2phy0cr = usb2phy0cr | SDR0_USB2PHY0CR_DWNSTR_HOST; |
194 | usb2phy0cr = usb2phy0cr &~SDR0_USB2PHY0CR_UTMICN_MASK; | 200 | usb2phy0cr = usb2phy0cr &~SDR0_USB2PHY0CR_UTMICN_MASK; |
195 | usb2phy0cr = usb2phy0cr | SDR0_USB2PHY0CR_UTMICN_HOST; | 201 | usb2phy0cr = usb2phy0cr | SDR0_USB2PHY0CR_UTMICN_HOST; |
196 | 202 | ||
197 | /* | 203 | /* |
198 | * An 8-bit/60MHz interface is the only possible alternative | 204 | * An 8-bit/60MHz interface is the only possible alternative |
199 | * when connecting the Device to the PHY | 205 | * when connecting the Device to the PHY |
200 | */ | 206 | */ |
201 | usb2h0cr = usb2h0cr &~SDR0_USB2H0CR_WDINT_MASK; | 207 | usb2h0cr = usb2h0cr &~SDR0_USB2H0CR_WDINT_MASK; |
202 | usb2h0cr = usb2h0cr | SDR0_USB2H0CR_WDINT_16BIT_30MHZ; | 208 | usb2h0cr = usb2h0cr | SDR0_USB2H0CR_WDINT_16BIT_30MHZ; |
203 | 209 | ||
204 | /* | 210 | /* |
205 | * To enable the USB 2.0 Device function | 211 | * To enable the USB 2.0 Device function |
206 | * through the UTMI interface | 212 | * through the UTMI interface |
207 | */ | 213 | */ |
208 | usb2d0cr = usb2d0cr &~SDR0_USB2D0CR_USB2DEV_EBC_SEL_MASK; | 214 | usb2d0cr = usb2d0cr &~SDR0_USB2D0CR_USB2DEV_EBC_SEL_MASK; |
209 | usb2d0cr = usb2d0cr | SDR0_USB2D0CR_USB2DEV_SELECTION; | 215 | usb2d0cr = usb2d0cr | SDR0_USB2D0CR_USB2DEV_SELECTION; |
210 | 216 | ||
211 | sdr0_pfc1 = sdr0_pfc1 &~SDR0_PFC1_UES_MASK; | 217 | sdr0_pfc1 = sdr0_pfc1 &~SDR0_PFC1_UES_MASK; |
212 | sdr0_pfc1 = sdr0_pfc1 | SDR0_PFC1_UES_USB2D_SEL; | 218 | sdr0_pfc1 = sdr0_pfc1 | SDR0_PFC1_UES_USB2D_SEL; |
213 | 219 | ||
214 | mtsdr(SDR0_PFC1, sdr0_pfc1); | 220 | mtsdr(SDR0_PFC1, sdr0_pfc1); |
215 | mtsdr(SDR0_USB2D0CR, usb2d0cr); | 221 | mtsdr(SDR0_USB2D0CR, usb2d0cr); |
216 | mtsdr(SDR0_USB2PHY0CR, usb2phy0cr); | 222 | mtsdr(SDR0_USB2PHY0CR, usb2phy0cr); |
217 | mtsdr(SDR0_USB2H0CR, usb2h0cr); | 223 | mtsdr(SDR0_USB2H0CR, usb2h0cr); |
218 | 224 | ||
219 | /*clear resets*/ | 225 | /*clear resets*/ |
220 | udelay (1000); | 226 | udelay (1000); |
221 | mtsdr(SDR0_SRST1, 0x00000000); | 227 | mtsdr(SDR0_SRST1, 0x00000000); |
222 | udelay (1000); | 228 | udelay (1000); |
223 | mtsdr(SDR0_SRST0, 0x00000000); | 229 | mtsdr(SDR0_SRST0, 0x00000000); |
224 | 230 | ||
225 | printf("USB: Host(int phy) Device(ext phy)\n"); | 231 | printf("USB: Host(int phy) Device(ext phy)\n"); |
226 | 232 | ||
227 | } else if (strcmp(act, "dev") == 0) { | 233 | } else if (strcmp(act, "dev") == 0) { |
228 | /*-------------------PATCH-------------------------------*/ | 234 | /*-------------------PATCH-------------------------------*/ |
229 | mfsdr(SDR0_USB2PHY0CR, usb2phy0cr); | 235 | mfsdr(SDR0_USB2PHY0CR, usb2phy0cr); |
230 | 236 | ||
231 | usb2phy0cr = usb2phy0cr &~SDR0_USB2PHY0CR_XOCLK_MASK; | 237 | usb2phy0cr = usb2phy0cr &~SDR0_USB2PHY0CR_XOCLK_MASK; |
232 | usb2phy0cr = usb2phy0cr | SDR0_USB2PHY0CR_XOCLK_EXTERNAL; | 238 | usb2phy0cr = usb2phy0cr | SDR0_USB2PHY0CR_XOCLK_EXTERNAL; |
233 | usb2phy0cr = usb2phy0cr &~SDR0_USB2PHY0CR_DVBUS_MASK; | 239 | usb2phy0cr = usb2phy0cr &~SDR0_USB2PHY0CR_DVBUS_MASK; |
234 | usb2phy0cr = usb2phy0cr | SDR0_USB2PHY0CR_DVBUS_PURDIS; | 240 | usb2phy0cr = usb2phy0cr | SDR0_USB2PHY0CR_DVBUS_PURDIS; |
235 | usb2phy0cr = usb2phy0cr &~SDR0_USB2PHY0CR_DWNSTR_MASK; | 241 | usb2phy0cr = usb2phy0cr &~SDR0_USB2PHY0CR_DWNSTR_MASK; |
236 | usb2phy0cr = usb2phy0cr | SDR0_USB2PHY0CR_DWNSTR_HOST; | 242 | usb2phy0cr = usb2phy0cr | SDR0_USB2PHY0CR_DWNSTR_HOST; |
237 | usb2phy0cr = usb2phy0cr &~SDR0_USB2PHY0CR_UTMICN_MASK; | 243 | usb2phy0cr = usb2phy0cr &~SDR0_USB2PHY0CR_UTMICN_MASK; |
238 | usb2phy0cr = usb2phy0cr | SDR0_USB2PHY0CR_UTMICN_HOST; | 244 | usb2phy0cr = usb2phy0cr | SDR0_USB2PHY0CR_UTMICN_HOST; |
239 | mtsdr(SDR0_USB2PHY0CR, usb2phy0cr); | 245 | mtsdr(SDR0_USB2PHY0CR, usb2phy0cr); |
240 | 246 | ||
241 | udelay (1000); | 247 | udelay (1000); |
242 | mtsdr(SDR0_SRST1, 0x672c6000); | 248 | mtsdr(SDR0_SRST1, 0x672c6000); |
243 | 249 | ||
244 | udelay (1000); | 250 | udelay (1000); |
245 | mtsdr(SDR0_SRST0, 0x00000080); | 251 | mtsdr(SDR0_SRST0, 0x00000080); |
246 | 252 | ||
247 | udelay (1000); | 253 | udelay (1000); |
248 | mtsdr(SDR0_SRST1, 0x60206000); | 254 | mtsdr(SDR0_SRST1, 0x60206000); |
249 | 255 | ||
250 | *(unsigned int *)(0xe0000350) = 0x00000001; | 256 | *(unsigned int *)(0xe0000350) = 0x00000001; |
251 | 257 | ||
252 | udelay (1000); | 258 | udelay (1000); |
253 | mtsdr(SDR0_SRST1, 0x60306000); | 259 | mtsdr(SDR0_SRST1, 0x60306000); |
254 | /*-------------------PATCH-------------------------------*/ | 260 | /*-------------------PATCH-------------------------------*/ |
255 | 261 | ||
256 | /* SDR Setting */ | 262 | /* SDR Setting */ |
257 | mfsdr(SDR0_USB2PHY0CR, usb2phy0cr); | 263 | mfsdr(SDR0_USB2PHY0CR, usb2phy0cr); |
258 | mfsdr(SDR0_USB2H0CR, usb2h0cr); | 264 | mfsdr(SDR0_USB2H0CR, usb2h0cr); |
259 | mfsdr(SDR0_USB2D0CR, usb2d0cr); | 265 | mfsdr(SDR0_USB2D0CR, usb2d0cr); |
260 | mfsdr(SDR0_PFC1, sdr0_pfc1); | 266 | mfsdr(SDR0_PFC1, sdr0_pfc1); |
261 | 267 | ||
262 | usb2phy0cr = usb2phy0cr &~SDR0_USB2PHY0CR_XOCLK_MASK; | 268 | usb2phy0cr = usb2phy0cr &~SDR0_USB2PHY0CR_XOCLK_MASK; |
263 | usb2phy0cr = usb2phy0cr | SDR0_USB2PHY0CR_XOCLK_EXTERNAL; | 269 | usb2phy0cr = usb2phy0cr | SDR0_USB2PHY0CR_XOCLK_EXTERNAL; |
264 | usb2phy0cr = usb2phy0cr &~SDR0_USB2PHY0CR_WDINT_MASK; | 270 | usb2phy0cr = usb2phy0cr &~SDR0_USB2PHY0CR_WDINT_MASK; |
265 | usb2phy0cr = usb2phy0cr | SDR0_USB2PHY0CR_WDINT_8BIT_60MHZ; | 271 | usb2phy0cr = usb2phy0cr | SDR0_USB2PHY0CR_WDINT_8BIT_60MHZ; |
266 | usb2phy0cr = usb2phy0cr &~SDR0_USB2PHY0CR_DVBUS_MASK; | 272 | usb2phy0cr = usb2phy0cr &~SDR0_USB2PHY0CR_DVBUS_MASK; |
267 | usb2phy0cr = usb2phy0cr | SDR0_USB2PHY0CR_DVBUS_PUREN; | 273 | usb2phy0cr = usb2phy0cr | SDR0_USB2PHY0CR_DVBUS_PUREN; |
268 | usb2phy0cr = usb2phy0cr &~SDR0_USB2PHY0CR_DWNSTR_MASK; | 274 | usb2phy0cr = usb2phy0cr &~SDR0_USB2PHY0CR_DWNSTR_MASK; |
269 | usb2phy0cr = usb2phy0cr | SDR0_USB2PHY0CR_DWNSTR_DEV; | 275 | usb2phy0cr = usb2phy0cr | SDR0_USB2PHY0CR_DWNSTR_DEV; |
270 | usb2phy0cr = usb2phy0cr &~SDR0_USB2PHY0CR_UTMICN_MASK; | 276 | usb2phy0cr = usb2phy0cr &~SDR0_USB2PHY0CR_UTMICN_MASK; |
271 | usb2phy0cr = usb2phy0cr | SDR0_USB2PHY0CR_UTMICN_DEV; | 277 | usb2phy0cr = usb2phy0cr | SDR0_USB2PHY0CR_UTMICN_DEV; |
272 | 278 | ||
273 | usb2h0cr = usb2h0cr &~SDR0_USB2H0CR_WDINT_MASK; | 279 | usb2h0cr = usb2h0cr &~SDR0_USB2H0CR_WDINT_MASK; |
274 | usb2h0cr = usb2h0cr | SDR0_USB2H0CR_WDINT_8BIT_60MHZ; | 280 | usb2h0cr = usb2h0cr | SDR0_USB2H0CR_WDINT_8BIT_60MHZ; |
275 | 281 | ||
276 | usb2d0cr = usb2d0cr &~SDR0_USB2D0CR_USB2DEV_EBC_SEL_MASK; | 282 | usb2d0cr = usb2d0cr &~SDR0_USB2D0CR_USB2DEV_EBC_SEL_MASK; |
277 | usb2d0cr = usb2d0cr | SDR0_USB2D0CR_EBC_SELECTION; | 283 | usb2d0cr = usb2d0cr | SDR0_USB2D0CR_EBC_SELECTION; |
278 | 284 | ||
279 | sdr0_pfc1 = sdr0_pfc1 &~SDR0_PFC1_UES_MASK; | 285 | sdr0_pfc1 = sdr0_pfc1 &~SDR0_PFC1_UES_MASK; |
280 | sdr0_pfc1 = sdr0_pfc1 | SDR0_PFC1_UES_EBCHR_SEL; | 286 | sdr0_pfc1 = sdr0_pfc1 | SDR0_PFC1_UES_EBCHR_SEL; |
281 | 287 | ||
282 | mtsdr(SDR0_USB2H0CR, usb2h0cr); | 288 | mtsdr(SDR0_USB2H0CR, usb2h0cr); |
283 | mtsdr(SDR0_USB2PHY0CR, usb2phy0cr); | 289 | mtsdr(SDR0_USB2PHY0CR, usb2phy0cr); |
284 | mtsdr(SDR0_USB2D0CR, usb2d0cr); | 290 | mtsdr(SDR0_USB2D0CR, usb2d0cr); |
285 | mtsdr(SDR0_PFC1, sdr0_pfc1); | 291 | mtsdr(SDR0_PFC1, sdr0_pfc1); |
286 | 292 | ||
287 | /* clear resets */ | 293 | /* clear resets */ |
288 | udelay (1000); | 294 | udelay (1000); |
289 | mtsdr(SDR0_SRST1, 0x00000000); | 295 | mtsdr(SDR0_SRST1, 0x00000000); |
290 | udelay (1000); | 296 | udelay (1000); |
291 | mtsdr(SDR0_SRST0, 0x00000000); | 297 | mtsdr(SDR0_SRST0, 0x00000000); |
292 | 298 | ||
293 | printf("USB: Device(int phy)\n"); | 299 | printf("USB: Device(int phy)\n"); |
294 | } | 300 | } |
295 | #endif /* CONFIG_440EPX */ | 301 | #endif /* CONFIG_440EPX */ |
296 | 302 | ||
297 | mfsdr(SDR0_SRST1, reg); /* enable security/kasumi engines */ | 303 | mfsdr(SDR0_SRST1, reg); /* enable security/kasumi engines */ |
298 | reg &= ~(SDR0_SRST1_CRYP0 | SDR0_SRST1_KASU0); | 304 | reg &= ~(SDR0_SRST1_CRYP0 | SDR0_SRST1_KASU0); |
299 | mtsdr(SDR0_SRST1, reg); | 305 | mtsdr(SDR0_SRST1, reg); |
300 | 306 | ||
301 | /* | 307 | /* |
302 | * Clear PLB4A0_ACR[WRP] | 308 | * Clear PLB4A0_ACR[WRP] |
303 | * This fix will make the MAL burst disabling patch for the Linux | 309 | * This fix will make the MAL burst disabling patch for the Linux |
304 | * EMAC driver obsolete. | 310 | * EMAC driver obsolete. |
305 | */ | 311 | */ |
306 | reg = mfdcr(plb4_acr) & ~PLB4_ACR_WRP; | 312 | reg = mfdcr(plb4_acr) & ~PLB4_ACR_WRP; |
307 | mtdcr(plb4_acr, reg); | 313 | mtdcr(plb4_acr, reg); |
308 | 314 | ||
309 | return 0; | 315 | return 0; |
310 | } | 316 | } |
311 | 317 | ||
312 | int checkboard(void) | 318 | int checkboard(void) |
313 | { | 319 | { |
314 | char *s = getenv("serial#"); | 320 | char *s = getenv("serial#"); |
315 | u8 rev; | 321 | u8 rev; |
316 | u8 val; | 322 | u8 val; |
317 | 323 | ||
318 | #ifdef CONFIG_440EPX | 324 | #ifdef CONFIG_440EPX |
319 | printf("Board: Sequoia - AMCC PPC440EPx Evaluation Board"); | 325 | printf("Board: Sequoia - AMCC PPC440EPx Evaluation Board"); |
320 | #else | 326 | #else |
321 | printf("Board: Rainier - AMCC PPC440GRx Evaluation Board"); | 327 | printf("Board: Rainier - AMCC PPC440GRx Evaluation Board"); |
322 | #endif | 328 | #endif |
323 | 329 | ||
324 | rev = in_8((void *)(CONFIG_SYS_BCSR_BASE + 0)); | 330 | rev = in_8((void *)(CONFIG_SYS_BCSR_BASE + 0)); |
325 | val = in_8((void *)(CONFIG_SYS_BCSR_BASE + 5)) & CONFIG_SYS_BCSR5_PCI66EN; | 331 | val = in_8((void *)(CONFIG_SYS_BCSR_BASE + 5)) & CONFIG_SYS_BCSR5_PCI66EN; |
326 | printf(", Rev. %X, PCI=%d MHz", rev, val ? 66 : 33); | 332 | printf(", Rev. %X, PCI=%d MHz", rev, val ? 66 : 33); |
327 | 333 | ||
328 | if (s != NULL) { | 334 | if (s != NULL) { |
329 | puts(", serial# "); | 335 | puts(", serial# "); |
330 | puts(s); | 336 | puts(s); |
331 | } | 337 | } |
332 | putc('\n'); | 338 | putc('\n'); |
333 | 339 | ||
334 | return (0); | 340 | return (0); |
335 | } | 341 | } |
336 | 342 | ||
337 | #if defined(CONFIG_PCI) && defined(CONFIG_PCI_PNP) | 343 | #if defined(CONFIG_PCI) && defined(CONFIG_PCI_PNP) |
338 | /* | 344 | /* |
339 | * Assign interrupts to PCI devices. | 345 | * Assign interrupts to PCI devices. |
340 | */ | 346 | */ |
341 | void sequoia_pci_fixup_irq(struct pci_controller *hose, pci_dev_t dev) | 347 | void sequoia_pci_fixup_irq(struct pci_controller *hose, pci_dev_t dev) |
342 | { | 348 | { |
343 | pci_hose_write_config_byte(hose, dev, PCI_INTERRUPT_LINE, VECNUM_EIRQ2); | 349 | pci_hose_write_config_byte(hose, dev, PCI_INTERRUPT_LINE, VECNUM_EIRQ2); |
344 | } | 350 | } |
345 | #endif | 351 | #endif |
346 | 352 | ||
347 | /* | 353 | /* |
348 | * pci_pre_init | 354 | * pci_pre_init |
349 | * | 355 | * |
350 | * This routine is called just prior to registering the hose and gives | 356 | * This routine is called just prior to registering the hose and gives |
351 | * the board the opportunity to check things. Returning a value of zero | 357 | * the board the opportunity to check things. Returning a value of zero |
352 | * indicates that things are bad & PCI initialization should be aborted. | 358 | * indicates that things are bad & PCI initialization should be aborted. |
353 | * | 359 | * |
354 | * Different boards may wish to customize the pci controller structure | 360 | * Different boards may wish to customize the pci controller structure |
355 | * (add regions, override default access routines, etc) or perform | 361 | * (add regions, override default access routines, etc) or perform |
356 | * certain pre-initialization actions. | 362 | * certain pre-initialization actions. |
357 | */ | 363 | */ |
358 | #if defined(CONFIG_PCI) | 364 | #if defined(CONFIG_PCI) |
359 | int pci_pre_init(struct pci_controller *hose) | 365 | int pci_pre_init(struct pci_controller *hose) |
360 | { | 366 | { |
361 | unsigned long addr; | 367 | unsigned long addr; |
362 | 368 | ||
363 | /* | 369 | /* |
364 | * Set priority for all PLB3 devices to 0. | 370 | * Set priority for all PLB3 devices to 0. |
365 | * Set PLB3 arbiter to fair mode. | 371 | * Set PLB3 arbiter to fair mode. |
366 | */ | 372 | */ |
367 | mfsdr(sdr_amp1, addr); | 373 | mfsdr(sdr_amp1, addr); |
368 | mtsdr(sdr_amp1, (addr & 0x000000FF) | 0x0000FF00); | 374 | mtsdr(sdr_amp1, (addr & 0x000000FF) | 0x0000FF00); |
369 | addr = mfdcr(plb3_acr); | 375 | addr = mfdcr(plb3_acr); |
370 | mtdcr(plb3_acr, addr | 0x80000000); | 376 | mtdcr(plb3_acr, addr | 0x80000000); |
371 | 377 | ||
372 | /* | 378 | /* |
373 | * Set priority for all PLB4 devices to 0. | 379 | * Set priority for all PLB4 devices to 0. |
374 | */ | 380 | */ |
375 | mfsdr(sdr_amp0, addr); | 381 | mfsdr(sdr_amp0, addr); |
376 | mtsdr(sdr_amp0, (addr & 0x000000FF) | 0x0000FF00); | 382 | mtsdr(sdr_amp0, (addr & 0x000000FF) | 0x0000FF00); |
377 | addr = mfdcr(plb4_acr) | 0xa0000000; /* Was 0x8---- */ | 383 | addr = mfdcr(plb4_acr) | 0xa0000000; /* Was 0x8---- */ |
378 | mtdcr(plb4_acr, addr); | 384 | mtdcr(plb4_acr, addr); |
379 | 385 | ||
380 | /* | 386 | /* |
381 | * Set Nebula PLB4 arbiter to fair mode. | 387 | * Set Nebula PLB4 arbiter to fair mode. |
382 | */ | 388 | */ |
383 | /* Segment0 */ | 389 | /* Segment0 */ |
384 | addr = (mfdcr(plb0_acr) & ~plb0_acr_ppm_mask) | plb0_acr_ppm_fair; | 390 | addr = (mfdcr(plb0_acr) & ~plb0_acr_ppm_mask) | plb0_acr_ppm_fair; |
385 | addr = (addr & ~plb0_acr_hbu_mask) | plb0_acr_hbu_enabled; | 391 | addr = (addr & ~plb0_acr_hbu_mask) | plb0_acr_hbu_enabled; |
386 | addr = (addr & ~plb0_acr_rdp_mask) | plb0_acr_rdp_4deep; | 392 | addr = (addr & ~plb0_acr_rdp_mask) | plb0_acr_rdp_4deep; |
387 | addr = (addr & ~plb0_acr_wrp_mask) | plb0_acr_wrp_2deep; | 393 | addr = (addr & ~plb0_acr_wrp_mask) | plb0_acr_wrp_2deep; |
388 | mtdcr(plb0_acr, addr); | 394 | mtdcr(plb0_acr, addr); |
389 | 395 | ||
390 | /* Segment1 */ | 396 | /* Segment1 */ |
391 | addr = (mfdcr(plb1_acr) & ~plb1_acr_ppm_mask) | plb1_acr_ppm_fair; | 397 | addr = (mfdcr(plb1_acr) & ~plb1_acr_ppm_mask) | plb1_acr_ppm_fair; |
392 | addr = (addr & ~plb1_acr_hbu_mask) | plb1_acr_hbu_enabled; | 398 | addr = (addr & ~plb1_acr_hbu_mask) | plb1_acr_hbu_enabled; |
393 | addr = (addr & ~plb1_acr_rdp_mask) | plb1_acr_rdp_4deep; | 399 | addr = (addr & ~plb1_acr_rdp_mask) | plb1_acr_rdp_4deep; |
394 | addr = (addr & ~plb1_acr_wrp_mask) | plb1_acr_wrp_2deep; | 400 | addr = (addr & ~plb1_acr_wrp_mask) | plb1_acr_wrp_2deep; |
395 | mtdcr(plb1_acr, addr); | 401 | mtdcr(plb1_acr, addr); |
396 | 402 | ||
397 | #ifdef CONFIG_PCI_PNP | 403 | #ifdef CONFIG_PCI_PNP |
398 | hose->fixup_irq = sequoia_pci_fixup_irq; | 404 | hose->fixup_irq = sequoia_pci_fixup_irq; |
399 | #endif | 405 | #endif |
400 | return 1; | 406 | return 1; |
401 | } | 407 | } |
402 | #endif /* defined(CONFIG_PCI) */ | 408 | #endif /* defined(CONFIG_PCI) */ |
403 | 409 | ||
404 | /* | 410 | /* |
405 | * pci_target_init | 411 | * pci_target_init |
406 | * | 412 | * |
407 | * The bootstrap configuration provides default settings for the pci | 413 | * The bootstrap configuration provides default settings for the pci |
408 | * inbound map (PIM). But the bootstrap config choices are limited and | 414 | * inbound map (PIM). But the bootstrap config choices are limited and |
409 | * may not be sufficient for a given board. | 415 | * may not be sufficient for a given board. |
410 | */ | 416 | */ |
411 | #if defined(CONFIG_PCI) && defined(CONFIG_SYS_PCI_TARGET_INIT) | 417 | #if defined(CONFIG_PCI) && defined(CONFIG_SYS_PCI_TARGET_INIT) |
412 | void pci_target_init(struct pci_controller *hose) | 418 | void pci_target_init(struct pci_controller *hose) |
413 | { | 419 | { |
414 | /* | 420 | /* |
415 | * Set up Direct MMIO registers | 421 | * Set up Direct MMIO registers |
416 | */ | 422 | */ |
417 | /* | 423 | /* |
418 | * PowerPC440EPX PCI Master configuration. | 424 | * PowerPC440EPX PCI Master configuration. |
419 | * Map one 1Gig range of PLB/processor addresses to PCI memory space. | 425 | * Map one 1Gig range of PLB/processor addresses to PCI memory space. |
420 | * PLB address 0xA0000000-0xDFFFFFFF | 426 | * PLB address 0xA0000000-0xDFFFFFFF |
421 | * ==> PCI address 0xA0000000-0xDFFFFFFF | 427 | * ==> PCI address 0xA0000000-0xDFFFFFFF |
422 | * Use byte reversed out routines to handle endianess. | 428 | * Use byte reversed out routines to handle endianess. |
423 | * Make this region non-prefetchable. | 429 | * Make this region non-prefetchable. |
424 | */ | 430 | */ |
425 | out32r(PCIX0_PMM0MA, 0x00000000); /* PMM0 Mask/Attribute */ | 431 | out32r(PCIX0_PMM0MA, 0x00000000); /* PMM0 Mask/Attribute */ |
426 | /* - disabled b4 setting */ | 432 | /* - disabled b4 setting */ |
427 | out32r(PCIX0_PMM0LA, CONFIG_SYS_PCI_MEMBASE); /* PMM0 Local Address */ | 433 | out32r(PCIX0_PMM0LA, CONFIG_SYS_PCI_MEMBASE); /* PMM0 Local Address */ |
428 | out32r(PCIX0_PMM0PCILA, CONFIG_SYS_PCI_MEMBASE); /* PMM0 PCI Low Address */ | 434 | out32r(PCIX0_PMM0PCILA, CONFIG_SYS_PCI_MEMBASE); /* PMM0 PCI Low Address */ |
429 | out32r(PCIX0_PMM0PCIHA, 0x00000000); /* PMM0 PCI High Address */ | 435 | out32r(PCIX0_PMM0PCIHA, 0x00000000); /* PMM0 PCI High Address */ |
430 | out32r(PCIX0_PMM0MA, 0xE0000001); /* 512M + No prefetching, */ | 436 | out32r(PCIX0_PMM0MA, 0xE0000001); /* 512M + No prefetching, */ |
431 | /* and enable region */ | 437 | /* and enable region */ |
432 | 438 | ||
433 | out32r(PCIX0_PMM1MA, 0x00000000); /* PMM0 Mask/Attribute */ | 439 | out32r(PCIX0_PMM1MA, 0x00000000); /* PMM0 Mask/Attribute */ |
434 | /* - disabled b4 setting */ | 440 | /* - disabled b4 setting */ |
435 | out32r(PCIX0_PMM1LA, CONFIG_SYS_PCI_MEMBASE2); /* PMM0 Local Address */ | 441 | out32r(PCIX0_PMM1LA, CONFIG_SYS_PCI_MEMBASE2); /* PMM0 Local Address */ |
436 | out32r(PCIX0_PMM1PCILA, CONFIG_SYS_PCI_MEMBASE2); /* PMM0 PCI Low Address */ | 442 | out32r(PCIX0_PMM1PCILA, CONFIG_SYS_PCI_MEMBASE2); /* PMM0 PCI Low Address */ |
437 | out32r(PCIX0_PMM1PCIHA, 0x00000000); /* PMM0 PCI High Address */ | 443 | out32r(PCIX0_PMM1PCIHA, 0x00000000); /* PMM0 PCI High Address */ |
438 | out32r(PCIX0_PMM1MA, 0xE0000001); /* 512M + No prefetching, */ | 444 | out32r(PCIX0_PMM1MA, 0xE0000001); /* 512M + No prefetching, */ |
439 | /* and enable region */ | 445 | /* and enable region */ |
440 | 446 | ||
441 | out32r(PCIX0_PTM1MS, 0x00000001); /* Memory Size/Attribute */ | 447 | out32r(PCIX0_PTM1MS, 0x00000001); /* Memory Size/Attribute */ |
442 | out32r(PCIX0_PTM1LA, 0); /* Local Addr. Reg */ | 448 | out32r(PCIX0_PTM1LA, 0); /* Local Addr. Reg */ |
443 | out32r(PCIX0_PTM2MS, 0); /* Memory Size/Attribute */ | 449 | out32r(PCIX0_PTM2MS, 0); /* Memory Size/Attribute */ |
444 | out32r(PCIX0_PTM2LA, 0); /* Local Addr. Reg */ | 450 | out32r(PCIX0_PTM2LA, 0); /* Local Addr. Reg */ |
445 | 451 | ||
446 | /* | 452 | /* |
447 | * Set up Configuration registers | 453 | * Set up Configuration registers |
448 | */ | 454 | */ |
449 | 455 | ||
450 | /* Program the board's subsystem id/vendor id */ | 456 | /* Program the board's subsystem id/vendor id */ |
451 | pci_write_config_word(0, PCI_SUBSYSTEM_VENDOR_ID, | 457 | pci_write_config_word(0, PCI_SUBSYSTEM_VENDOR_ID, |
452 | CONFIG_SYS_PCI_SUBSYS_VENDORID); | 458 | CONFIG_SYS_PCI_SUBSYS_VENDORID); |
453 | pci_write_config_word(0, PCI_SUBSYSTEM_ID, CONFIG_SYS_PCI_SUBSYS_ID); | 459 | pci_write_config_word(0, PCI_SUBSYSTEM_ID, CONFIG_SYS_PCI_SUBSYS_ID); |
454 | 460 | ||
455 | /* Configure command register as bus master */ | 461 | /* Configure command register as bus master */ |
456 | pci_write_config_word(0, PCI_COMMAND, PCI_COMMAND_MASTER); | 462 | pci_write_config_word(0, PCI_COMMAND, PCI_COMMAND_MASTER); |
457 | 463 | ||
458 | /* 240nS PCI clock */ | 464 | /* 240nS PCI clock */ |
459 | pci_write_config_word(0, PCI_LATENCY_TIMER, 1); | 465 | pci_write_config_word(0, PCI_LATENCY_TIMER, 1); |
460 | 466 | ||
461 | /* No error reporting */ | 467 | /* No error reporting */ |
462 | pci_write_config_word(0, PCI_ERREN, 0); | 468 | pci_write_config_word(0, PCI_ERREN, 0); |
463 | 469 | ||
464 | pci_write_config_dword(0, PCI_BRDGOPT2, 0x00000101); | 470 | pci_write_config_dword(0, PCI_BRDGOPT2, 0x00000101); |
465 | 471 | ||
466 | } | 472 | } |
467 | #endif /* defined(CONFIG_PCI) && defined(CONFIG_SYS_PCI_TARGET_INIT) */ | 473 | #endif /* defined(CONFIG_PCI) && defined(CONFIG_SYS_PCI_TARGET_INIT) */ |
468 | 474 | ||
469 | #if defined(CONFIG_PCI) && defined(CONFIG_SYS_PCI_MASTER_INIT) | 475 | #if defined(CONFIG_PCI) && defined(CONFIG_SYS_PCI_MASTER_INIT) |
470 | void pci_master_init(struct pci_controller *hose) | 476 | void pci_master_init(struct pci_controller *hose) |
471 | { | 477 | { |
472 | unsigned short temp_short; | 478 | unsigned short temp_short; |
473 | 479 | ||
474 | /* | 480 | /* |
475 | * Write the PowerPC440 EP PCI Configuration regs. | 481 | * Write the PowerPC440 EP PCI Configuration regs. |
476 | * Enable PowerPC440 EP to be a master on the PCI bus (PMM). | 482 | * Enable PowerPC440 EP to be a master on the PCI bus (PMM). |
477 | * Enable PowerPC440 EP to act as a PCI memory target (PTM). | 483 | * Enable PowerPC440 EP to act as a PCI memory target (PTM). |
478 | */ | 484 | */ |
479 | pci_read_config_word(0, PCI_COMMAND, &temp_short); | 485 | pci_read_config_word(0, PCI_COMMAND, &temp_short); |
480 | pci_write_config_word(0, PCI_COMMAND, | 486 | pci_write_config_word(0, PCI_COMMAND, |
481 | temp_short | PCI_COMMAND_MASTER | | 487 | temp_short | PCI_COMMAND_MASTER | |
482 | PCI_COMMAND_MEMORY); | 488 | PCI_COMMAND_MEMORY); |
483 | } | 489 | } |
484 | #endif /* defined(CONFIG_PCI) && defined(CONFIG_SYS_PCI_MASTER_INIT) */ | 490 | #endif /* defined(CONFIG_PCI) && defined(CONFIG_SYS_PCI_MASTER_INIT) */ |
485 | 491 | ||
486 | /* | 492 | /* |
487 | * is_pci_host | 493 | * is_pci_host |
488 | * | 494 | * |
489 | * This routine is called to determine if a pci scan should be | 495 | * This routine is called to determine if a pci scan should be |
490 | * performed. With various hardware environments (especially cPCI and | 496 | * performed. With various hardware environments (especially cPCI and |
491 | * PPMC) it's insufficient to depend on the state of the arbiter enable | 497 | * PPMC) it's insufficient to depend on the state of the arbiter enable |
492 | * bit in the strap register, or generic host/adapter assumptions. | 498 | * bit in the strap register, or generic host/adapter assumptions. |
493 | * | 499 | * |
494 | * Rather than hard-code a bad assumption in the general 440 code, the | 500 | * Rather than hard-code a bad assumption in the general 440 code, the |
495 | * 440 pci code requires the board to decide at runtime. | 501 | * 440 pci code requires the board to decide at runtime. |
496 | * | 502 | * |
497 | * Return 0 for adapter mode, non-zero for host (monarch) mode. | 503 | * Return 0 for adapter mode, non-zero for host (monarch) mode. |
498 | */ | 504 | */ |
499 | #if defined(CONFIG_PCI) | 505 | #if defined(CONFIG_PCI) |
500 | int is_pci_host(struct pci_controller *hose) | 506 | int is_pci_host(struct pci_controller *hose) |
501 | { | 507 | { |
502 | /* Cactus is always configured as host. */ | 508 | /* Cactus is always configured as host. */ |
503 | return (1); | 509 | return (1); |
504 | } | 510 | } |
505 | #endif /* defined(CONFIG_PCI) */ | 511 | #endif /* defined(CONFIG_PCI) */ |
506 | 512 | ||
507 | #if defined(CONFIG_POST) | 513 | #if defined(CONFIG_POST) |
508 | /* | 514 | /* |
509 | * Returns 1 if keys pressed to start the power-on long-running tests | 515 | * Returns 1 if keys pressed to start the power-on long-running tests |
510 | * Called from board_init_f(). | 516 | * Called from board_init_f(). |
511 | */ | 517 | */ |
512 | int post_hotkeys_pressed(void) | 518 | int post_hotkeys_pressed(void) |
513 | { | 519 | { |
514 | return 0; /* No hotkeys supported */ | 520 | return 0; /* No hotkeys supported */ |
515 | } | 521 | } |
516 | #endif /* CONFIG_POST */ | 522 | #endif /* CONFIG_POST */ |
517 | 523 | ||
518 | #if defined(CONFIG_NAND_U_BOOT) | 524 | #if defined(CONFIG_NAND_U_BOOT) || defined(CONFIG_SYS_RAMBOOT) |
519 | /* | 525 | /* |
520 | * On NAND-booting sequoia, we need to patch the chips select numbers | 526 | * On NAND-booting sequoia, we need to patch the chips select numbers |
521 | * in the dtb (CS0 - NAND, CS3 - NOR) | 527 | * in the dtb (CS0 - NAND, CS3 - NOR) |
522 | */ | 528 | */ |
523 | void ft_board_setup(void *blob, bd_t *bd) | 529 | void ft_board_setup(void *blob, bd_t *bd) |
524 | { | 530 | { |
525 | int rc; | 531 | int rc; |
526 | int len; | 532 | int len; |
527 | int nodeoffset; | 533 | int nodeoffset; |
528 | struct fdt_property *prop; | 534 | struct fdt_property *prop; |
529 | u32 *reg; | 535 | u32 *reg; |
530 | char path[32]; | 536 | char path[32]; |
531 | 537 | ||
532 | /* First do common fdt setup */ | 538 | /* First do common fdt setup */ |
533 | __ft_board_setup(blob, bd); | 539 | __ft_board_setup(blob, bd); |
534 | 540 | ||
535 | /* And now configure NOR chip select to 3 instead of 0 */ | 541 | /* And now configure NOR chip select to 3 instead of 0 */ |
536 | strcpy(path, "/plb/opb/ebc/nor_flash@0,0"); | 542 | strcpy(path, "/plb/opb/ebc/nor_flash@0,0"); |
537 | nodeoffset = fdt_path_offset(blob, path); | 543 | nodeoffset = fdt_path_offset(blob, path); |
538 | prop = fdt_get_property_w(blob, nodeoffset, "reg", &len); | 544 | prop = fdt_get_property_w(blob, nodeoffset, "reg", &len); |
539 | if (prop == NULL) { | 545 | if (prop == NULL) { |
540 | printf("Unable to update NOR chip select for NAND booting\n"); | 546 | printf("Unable to update NOR chip select for NAND booting\n"); |
541 | return; | 547 | return; |
542 | } | 548 | } |
543 | reg = (u32 *)&prop->data[0]; | 549 | reg = (u32 *)&prop->data[0]; |
544 | reg[0] = 3; | 550 | reg[0] = 3; |
545 | rc = fdt_find_and_setprop(blob, path, "reg", reg, 3 * sizeof(u32), 1); | 551 | rc = fdt_find_and_setprop(blob, path, "reg", reg, 3 * sizeof(u32), 1); |
546 | if (rc) { | 552 | if (rc) { |
547 | printf("Unable to update property NOR mappings, err=%s\n", | 553 | printf("Unable to update property NOR mappings, err=%s\n", |
548 | fdt_strerror(rc)); | 554 | fdt_strerror(rc)); |
549 | return; | 555 | return; |
550 | } | 556 | } |
551 | 557 | ||
552 | /* And now configure NAND chip select to 0 instead of 3 */ | 558 | /* And now configure NAND chip select to 0 instead of 3 */ |
553 | strcpy(path, "/plb/opb/ebc/ndfc@3,0"); | 559 | strcpy(path, "/plb/opb/ebc/ndfc@3,0"); |
554 | nodeoffset = fdt_path_offset(blob, path); | 560 | nodeoffset = fdt_path_offset(blob, path); |
555 | prop = fdt_get_property_w(blob, nodeoffset, "reg", &len); | 561 | prop = fdt_get_property_w(blob, nodeoffset, "reg", &len); |
556 | if (prop == NULL) { | 562 | if (prop == NULL) { |
557 | printf("Unable to update NDFC chip select for NAND booting\n"); | 563 | printf("Unable to update NDFC chip select for NAND booting\n"); |
558 | return; | 564 | return; |
559 | } | 565 | } |
560 | reg = (u32 *)&prop->data[0]; | 566 | reg = (u32 *)&prop->data[0]; |
561 | reg[0] = 0; | 567 | reg[0] = 0; |
562 | rc = fdt_find_and_setprop(blob, path, "reg", reg, 3 * sizeof(u32), 1); | 568 | rc = fdt_find_and_setprop(blob, path, "reg", reg, 3 * sizeof(u32), 1); |
563 | if (rc) { | 569 | if (rc) { |
564 | printf("Unable to update property NDFC mappings, err=%s\n", | 570 | printf("Unable to update property NDFC mappings, err=%s\n", |
565 | fdt_strerror(rc)); | 571 | fdt_strerror(rc)); |
566 | return; | 572 | return; |
567 | } | 573 | } |
568 | } | 574 | } |
569 | #endif /* CONFIG_NAND_U_BOOT */ | 575 | #endif /* CONFIG_NAND_U_BOOT */ |
570 | 576 |
board/amcc/sequoia/u-boot-ram.lds
File was created | 1 | /* | |
2 | * (C) Copyright 2009 | ||
3 | * Stefan Roese, DENX Software Engineering, sr@denx.de. | ||
4 | * | ||
5 | * See file CREDITS for list of people who contributed to this | ||
6 | * project. | ||
7 | * | ||
8 | * This program is free software; you can redistribute it and/or | ||
9 | * modify it under the terms of the GNU General Public License as | ||
10 | * published by the Free Software Foundation; either version 2 of | ||
11 | * the License, or (at your option) any later version. | ||
12 | * | ||
13 | * This program is distributed in the hope that it will be useful, | ||
14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
16 | * GNU General Public License for more details. | ||
17 | * | ||
18 | * You should have received a copy of the GNU General Public License | ||
19 | * along with this program; if not, write to the Free Software | ||
20 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, | ||
21 | * MA 02111-1307 USA | ||
22 | */ | ||
23 | |||
24 | OUTPUT_ARCH(powerpc) | ||
25 | SECTIONS | ||
26 | { | ||
27 | /* Read-only sections, merged into text segment: */ | ||
28 | . = + SIZEOF_HEADERS; | ||
29 | .interp : { *(.interp) } | ||
30 | .hash : { *(.hash) } | ||
31 | .dynsym : { *(.dynsym) } | ||
32 | .dynstr : { *(.dynstr) } | ||
33 | .rel.text : { *(.rel.text) } | ||
34 | .rela.text : { *(.rela.text) } | ||
35 | .rel.data : { *(.rel.data) } | ||
36 | .rela.data : { *(.rela.data) } | ||
37 | .rel.rodata : { *(.rel.rodata) } | ||
38 | .rela.rodata : { *(.rela.rodata) } | ||
39 | .rel.got : { *(.rel.got) } | ||
40 | .rela.got : { *(.rela.got) } | ||
41 | .rel.ctors : { *(.rel.ctors) } | ||
42 | .rela.ctors : { *(.rela.ctors) } | ||
43 | .rel.dtors : { *(.rel.dtors) } | ||
44 | .rela.dtors : { *(.rela.dtors) } | ||
45 | .rel.bss : { *(.rel.bss) } | ||
46 | .rela.bss : { *(.rela.bss) } | ||
47 | .rel.plt : { *(.rel.plt) } | ||
48 | .rela.plt : { *(.rela.plt) } | ||
49 | .init : { *(.init) } | ||
50 | .plt : { *(.plt) } | ||
51 | .text : | ||
52 | { | ||
53 | cpu/ppc4xx/start.o (.text) | ||
54 | |||
55 | *(.text) | ||
56 | *(.fixup) | ||
57 | *(.got1) | ||
58 | } | ||
59 | _etext = .; | ||
60 | PROVIDE (etext = .); | ||
61 | .rodata : | ||
62 | { | ||
63 | *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*))) | ||
64 | } | ||
65 | .fini : { *(.fini) } =0 | ||
66 | .ctors : { *(.ctors) } | ||
67 | .dtors : { *(.dtors) } | ||
68 | |||
69 | /* Read-write section, merged into data segment: */ | ||
70 | . = (. + 0x00FF) & 0xFFFFFF00; | ||
71 | _erotext = .; | ||
72 | PROVIDE (erotext = .); | ||
73 | .reloc : | ||
74 | { | ||
75 | *(.got) | ||
76 | _GOT2_TABLE_ = .; | ||
77 | *(.got2) | ||
78 | _FIXUP_TABLE_ = .; | ||
79 | *(.fixup) | ||
80 | } | ||
81 | __got2_entries = (_FIXUP_TABLE_ - _GOT2_TABLE_) >>2; | ||
82 | __fixup_entries = (. - _FIXUP_TABLE_)>>2; | ||
83 | |||
84 | .data : | ||
85 | { | ||
86 | *(.data) | ||
87 | *(.data1) | ||
88 | *(.sdata) | ||
89 | *(.sdata2) | ||
90 | *(.dynamic) | ||
91 | CONSTRUCTORS | ||
92 | } | ||
93 | _edata = .; | ||
94 | PROVIDE (edata = .); | ||
95 | |||
96 | . = .; | ||
97 | __u_boot_cmd_start = .; | ||
98 | .u_boot_cmd : { *(.u_boot_cmd) } | ||
99 | __u_boot_cmd_end = .; | ||
100 | |||
101 | |||
102 | . = .; | ||
103 | __start___ex_table = .; | ||
104 | __ex_table : { *(__ex_table) } | ||
105 | __stop___ex_table = .; | ||
106 | |||
107 | . = ALIGN(256); | ||
108 | __init_begin = .; | ||
109 | .text.init : { *(.text.init) } | ||
110 | .data.init : { *(.data.init) } | ||
111 | . = ALIGN(256); | ||
112 | __init_end = .; | ||
113 | |||
114 | __bss_start = .; | ||
115 | .bss (NOLOAD) : | ||
116 | { | ||
117 | *(.sbss) *(.scommon) | ||
118 | *(.dynbss) | ||
119 | *(.bss) | ||
120 | *(COMMON) | ||
121 | . = ALIGN(4); | ||
122 | } | ||
123 | |||
124 | _end = . ; | ||
125 | PROVIDE (end = .); | ||
126 | } | ||
127 |
cpu/ppc4xx/start.S
1 | /* | 1 | /* |
2 | * Copyright (C) 1998 Dan Malek <dmalek@jlc.net> | 2 | * Copyright (C) 1998 Dan Malek <dmalek@jlc.net> |
3 | * Copyright (C) 1999 Magnus Damm <kieraypc01.p.y.kie.era.ericsson.se> | 3 | * Copyright (C) 1999 Magnus Damm <kieraypc01.p.y.kie.era.ericsson.se> |
4 | * Copyright (C) 2000,2001,2002 Wolfgang Denk <wd@denx.de> | 4 | * Copyright (C) 2000,2001,2002 Wolfgang Denk <wd@denx.de> |
5 | * Copyright (C) 2007 Stefan Roese <sr@denx.de>, DENX Software Engineering | 5 | * Copyright (C) 2007 Stefan Roese <sr@denx.de>, DENX Software Engineering |
6 | * Copyright (c) 2008 Nuovation System Designs, LLC | 6 | * Copyright (c) 2008 Nuovation System Designs, LLC |
7 | * Grant Erickson <gerickson@nuovations.com> | 7 | * Grant Erickson <gerickson@nuovations.com> |
8 | * | 8 | * |
9 | * See file CREDITS for list of people who contributed to this | 9 | * See file CREDITS for list of people who contributed to this |
10 | * project. | 10 | * project. |
11 | * | 11 | * |
12 | * This program is free software; you can redistribute it and/or | 12 | * This program is free software; you can redistribute it and/or |
13 | * modify it under the terms of the GNU General Public License as | 13 | * modify it under the terms of the GNU General Public License as |
14 | * published by the Free Software Foundation; either version 2 of | 14 | * published by the Free Software Foundation; either version 2 of |
15 | * the License, or (at your option) any later version. | 15 | * the License, or (at your option) any later version. |
16 | * | 16 | * |
17 | * This program is distributed in the hope that it will be useful, | 17 | * This program is distributed in the hope that it will be useful, |
18 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | 18 | * but WITHOUT ANY WARRANTY; without even the implied warranty of |
19 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | 19 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
20 | * GNU General Public License for more details. | 20 | * GNU General Public License for more details. |
21 | * | 21 | * |
22 | * You should have received a copy of the GNU General Public License | 22 | * You should have received a copy of the GNU General Public License |
23 | * along with this program; if not, write to the Free Software | 23 | * along with this program; if not, write to the Free Software |
24 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, | 24 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, |
25 | * MA 02111-1307 USA | 25 | * MA 02111-1307 USA |
26 | */ | 26 | */ |
27 | /*------------------------------------------------------------------------------+ | 27 | /*------------------------------------------------------------------------------+ |
28 | * | 28 | * |
29 | * This source code has been made available to you by IBM on an AS-IS | 29 | * This source code has been made available to you by IBM on an AS-IS |
30 | * basis. Anyone receiving this source is licensed under IBM | 30 | * basis. Anyone receiving this source is licensed under IBM |
31 | * copyrights to use it in any way he or she deems fit, including | 31 | * copyrights to use it in any way he or she deems fit, including |
32 | * copying it, modifying it, compiling it, and redistributing it either | 32 | * copying it, modifying it, compiling it, and redistributing it either |
33 | * with or without modifications. No license under IBM patents or | 33 | * with or without modifications. No license under IBM patents or |
34 | * patent applications is to be implied by the copyright license. | 34 | * patent applications is to be implied by the copyright license. |
35 | * | 35 | * |
36 | * Any user of this software should understand that IBM cannot provide | 36 | * Any user of this software should understand that IBM cannot provide |
37 | * technical support for this software and will not be responsible for | 37 | * technical support for this software and will not be responsible for |
38 | * any consequences resulting from the use of this software. | 38 | * any consequences resulting from the use of this software. |
39 | * | 39 | * |
40 | * Any person who transfers this source code or any derivative work | 40 | * Any person who transfers this source code or any derivative work |
41 | * must include the IBM copyright notice, this paragraph, and the | 41 | * must include the IBM copyright notice, this paragraph, and the |
42 | * preceding two paragraphs in the transferred software. | 42 | * preceding two paragraphs in the transferred software. |
43 | * | 43 | * |
44 | * COPYRIGHT I B M CORPORATION 1995 | 44 | * COPYRIGHT I B M CORPORATION 1995 |
45 | * LICENSED MATERIAL - PROGRAM PROPERTY OF I B M | 45 | * LICENSED MATERIAL - PROGRAM PROPERTY OF I B M |
46 | *------------------------------------------------------------------------------- | 46 | *------------------------------------------------------------------------------- |
47 | */ | 47 | */ |
48 | 48 | ||
49 | /* U-Boot - Startup Code for AMCC 4xx PowerPC based Embedded Boards | 49 | /* U-Boot - Startup Code for AMCC 4xx PowerPC based Embedded Boards |
50 | * | 50 | * |
51 | * | 51 | * |
52 | * The processor starts at 0xfffffffc and the code is executed | 52 | * The processor starts at 0xfffffffc and the code is executed |
53 | * from flash/rom. | 53 | * from flash/rom. |
54 | * in memory, but as long we don't jump around before relocating. | 54 | * in memory, but as long we don't jump around before relocating. |
55 | * board_init lies at a quite high address and when the cpu has | 55 | * board_init lies at a quite high address and when the cpu has |
56 | * jumped there, everything is ok. | 56 | * jumped there, everything is ok. |
57 | * This works because the cpu gives the FLASH (CS0) the whole | 57 | * This works because the cpu gives the FLASH (CS0) the whole |
58 | * address space at startup, and board_init lies as a echo of | 58 | * address space at startup, and board_init lies as a echo of |
59 | * the flash somewhere up there in the memorymap. | 59 | * the flash somewhere up there in the memorymap. |
60 | * | 60 | * |
61 | * board_init will change CS0 to be positioned at the correct | 61 | * board_init will change CS0 to be positioned at the correct |
62 | * address and (s)dram will be positioned at address 0 | 62 | * address and (s)dram will be positioned at address 0 |
63 | */ | 63 | */ |
64 | #include <config.h> | 64 | #include <config.h> |
65 | #include <ppc4xx.h> | 65 | #include <ppc4xx.h> |
66 | #include <timestamp.h> | 66 | #include <timestamp.h> |
67 | #include <version.h> | 67 | #include <version.h> |
68 | 68 | ||
69 | #define _LINUX_CONFIG_H 1 /* avoid reading Linux autoconf.h file */ | 69 | #define _LINUX_CONFIG_H 1 /* avoid reading Linux autoconf.h file */ |
70 | 70 | ||
71 | #include <ppc_asm.tmpl> | 71 | #include <ppc_asm.tmpl> |
72 | #include <ppc_defs.h> | 72 | #include <ppc_defs.h> |
73 | 73 | ||
74 | #include <asm/cache.h> | 74 | #include <asm/cache.h> |
75 | #include <asm/mmu.h> | 75 | #include <asm/mmu.h> |
76 | #include <asm/ppc4xx-isram.h> | 76 | #include <asm/ppc4xx-isram.h> |
77 | 77 | ||
78 | #ifndef CONFIG_IDENT_STRING | 78 | #ifndef CONFIG_IDENT_STRING |
79 | #define CONFIG_IDENT_STRING "" | 79 | #define CONFIG_IDENT_STRING "" |
80 | #endif | 80 | #endif |
81 | 81 | ||
82 | #ifdef CONFIG_SYS_INIT_DCACHE_CS | 82 | #ifdef CONFIG_SYS_INIT_DCACHE_CS |
83 | # if (CONFIG_SYS_INIT_DCACHE_CS == 0) | 83 | # if (CONFIG_SYS_INIT_DCACHE_CS == 0) |
84 | # define PBxAP pb0ap | 84 | # define PBxAP pb0ap |
85 | # define PBxCR pb0cr | 85 | # define PBxCR pb0cr |
86 | # if (defined(CONFIG_SYS_EBC_PB0AP) && defined(CONFIG_SYS_EBC_PB0CR)) | 86 | # if (defined(CONFIG_SYS_EBC_PB0AP) && defined(CONFIG_SYS_EBC_PB0CR)) |
87 | # define PBxAP_VAL CONFIG_SYS_EBC_PB0AP | 87 | # define PBxAP_VAL CONFIG_SYS_EBC_PB0AP |
88 | # define PBxCR_VAL CONFIG_SYS_EBC_PB0CR | 88 | # define PBxCR_VAL CONFIG_SYS_EBC_PB0CR |
89 | # endif | 89 | # endif |
90 | # endif | 90 | # endif |
91 | # if (CONFIG_SYS_INIT_DCACHE_CS == 1) | 91 | # if (CONFIG_SYS_INIT_DCACHE_CS == 1) |
92 | # define PBxAP pb1ap | 92 | # define PBxAP pb1ap |
93 | # define PBxCR pb1cr | 93 | # define PBxCR pb1cr |
94 | # if (defined(CONFIG_SYS_EBC_PB1AP) && defined(CONFIG_SYS_EBC_PB1CR)) | 94 | # if (defined(CONFIG_SYS_EBC_PB1AP) && defined(CONFIG_SYS_EBC_PB1CR)) |
95 | # define PBxAP_VAL CONFIG_SYS_EBC_PB1AP | 95 | # define PBxAP_VAL CONFIG_SYS_EBC_PB1AP |
96 | # define PBxCR_VAL CONFIG_SYS_EBC_PB1CR | 96 | # define PBxCR_VAL CONFIG_SYS_EBC_PB1CR |
97 | # endif | 97 | # endif |
98 | # endif | 98 | # endif |
99 | # if (CONFIG_SYS_INIT_DCACHE_CS == 2) | 99 | # if (CONFIG_SYS_INIT_DCACHE_CS == 2) |
100 | # define PBxAP pb2ap | 100 | # define PBxAP pb2ap |
101 | # define PBxCR pb2cr | 101 | # define PBxCR pb2cr |
102 | # if (defined(CONFIG_SYS_EBC_PB2AP) && defined(CONFIG_SYS_EBC_PB2CR)) | 102 | # if (defined(CONFIG_SYS_EBC_PB2AP) && defined(CONFIG_SYS_EBC_PB2CR)) |
103 | # define PBxAP_VAL CONFIG_SYS_EBC_PB2AP | 103 | # define PBxAP_VAL CONFIG_SYS_EBC_PB2AP |
104 | # define PBxCR_VAL CONFIG_SYS_EBC_PB2CR | 104 | # define PBxCR_VAL CONFIG_SYS_EBC_PB2CR |
105 | # endif | 105 | # endif |
106 | # endif | 106 | # endif |
107 | # if (CONFIG_SYS_INIT_DCACHE_CS == 3) | 107 | # if (CONFIG_SYS_INIT_DCACHE_CS == 3) |
108 | # define PBxAP pb3ap | 108 | # define PBxAP pb3ap |
109 | # define PBxCR pb3cr | 109 | # define PBxCR pb3cr |
110 | # if (defined(CONFIG_SYS_EBC_PB3AP) && defined(CONFIG_SYS_EBC_PB3CR)) | 110 | # if (defined(CONFIG_SYS_EBC_PB3AP) && defined(CONFIG_SYS_EBC_PB3CR)) |
111 | # define PBxAP_VAL CONFIG_SYS_EBC_PB3AP | 111 | # define PBxAP_VAL CONFIG_SYS_EBC_PB3AP |
112 | # define PBxCR_VAL CONFIG_SYS_EBC_PB3CR | 112 | # define PBxCR_VAL CONFIG_SYS_EBC_PB3CR |
113 | # endif | 113 | # endif |
114 | # endif | 114 | # endif |
115 | # if (CONFIG_SYS_INIT_DCACHE_CS == 4) | 115 | # if (CONFIG_SYS_INIT_DCACHE_CS == 4) |
116 | # define PBxAP pb4ap | 116 | # define PBxAP pb4ap |
117 | # define PBxCR pb4cr | 117 | # define PBxCR pb4cr |
118 | # if (defined(CONFIG_SYS_EBC_PB4AP) && defined(CONFIG_SYS_EBC_PB4CR)) | 118 | # if (defined(CONFIG_SYS_EBC_PB4AP) && defined(CONFIG_SYS_EBC_PB4CR)) |
119 | # define PBxAP_VAL CONFIG_SYS_EBC_PB4AP | 119 | # define PBxAP_VAL CONFIG_SYS_EBC_PB4AP |
120 | # define PBxCR_VAL CONFIG_SYS_EBC_PB4CR | 120 | # define PBxCR_VAL CONFIG_SYS_EBC_PB4CR |
121 | # endif | 121 | # endif |
122 | # endif | 122 | # endif |
123 | # if (CONFIG_SYS_INIT_DCACHE_CS == 5) | 123 | # if (CONFIG_SYS_INIT_DCACHE_CS == 5) |
124 | # define PBxAP pb5ap | 124 | # define PBxAP pb5ap |
125 | # define PBxCR pb5cr | 125 | # define PBxCR pb5cr |
126 | # if (defined(CONFIG_SYS_EBC_PB5AP) && defined(CONFIG_SYS_EBC_PB5CR)) | 126 | # if (defined(CONFIG_SYS_EBC_PB5AP) && defined(CONFIG_SYS_EBC_PB5CR)) |
127 | # define PBxAP_VAL CONFIG_SYS_EBC_PB5AP | 127 | # define PBxAP_VAL CONFIG_SYS_EBC_PB5AP |
128 | # define PBxCR_VAL CONFIG_SYS_EBC_PB5CR | 128 | # define PBxCR_VAL CONFIG_SYS_EBC_PB5CR |
129 | # endif | 129 | # endif |
130 | # endif | 130 | # endif |
131 | # if (CONFIG_SYS_INIT_DCACHE_CS == 6) | 131 | # if (CONFIG_SYS_INIT_DCACHE_CS == 6) |
132 | # define PBxAP pb6ap | 132 | # define PBxAP pb6ap |
133 | # define PBxCR pb6cr | 133 | # define PBxCR pb6cr |
134 | # if (defined(CONFIG_SYS_EBC_PB6AP) && defined(CONFIG_SYS_EBC_PB6CR)) | 134 | # if (defined(CONFIG_SYS_EBC_PB6AP) && defined(CONFIG_SYS_EBC_PB6CR)) |
135 | # define PBxAP_VAL CONFIG_SYS_EBC_PB6AP | 135 | # define PBxAP_VAL CONFIG_SYS_EBC_PB6AP |
136 | # define PBxCR_VAL CONFIG_SYS_EBC_PB6CR | 136 | # define PBxCR_VAL CONFIG_SYS_EBC_PB6CR |
137 | # endif | 137 | # endif |
138 | # endif | 138 | # endif |
139 | # if (CONFIG_SYS_INIT_DCACHE_CS == 7) | 139 | # if (CONFIG_SYS_INIT_DCACHE_CS == 7) |
140 | # define PBxAP pb7ap | 140 | # define PBxAP pb7ap |
141 | # define PBxCR pb7cr | 141 | # define PBxCR pb7cr |
142 | # if (defined(CONFIG_SYS_EBC_PB7AP) && defined(CONFIG_SYS_EBC_PB7CR)) | 142 | # if (defined(CONFIG_SYS_EBC_PB7AP) && defined(CONFIG_SYS_EBC_PB7CR)) |
143 | # define PBxAP_VAL CONFIG_SYS_EBC_PB7AP | 143 | # define PBxAP_VAL CONFIG_SYS_EBC_PB7AP |
144 | # define PBxCR_VAL CONFIG_SYS_EBC_PB7CR | 144 | # define PBxCR_VAL CONFIG_SYS_EBC_PB7CR |
145 | # endif | 145 | # endif |
146 | # endif | 146 | # endif |
147 | # ifndef PBxAP_VAL | 147 | # ifndef PBxAP_VAL |
148 | # define PBxAP_VAL 0 | 148 | # define PBxAP_VAL 0 |
149 | # endif | 149 | # endif |
150 | # ifndef PBxCR_VAL | 150 | # ifndef PBxCR_VAL |
151 | # define PBxCR_VAL 0 | 151 | # define PBxCR_VAL 0 |
152 | # endif | 152 | # endif |
153 | /* | 153 | /* |
154 | * Memory Bank x (nothingness) initialization CONFIG_SYS_INIT_RAM_ADDR + 64 MiB | 154 | * Memory Bank x (nothingness) initialization CONFIG_SYS_INIT_RAM_ADDR + 64 MiB |
155 | * used as temporary stack pointer for the primordial stack | 155 | * used as temporary stack pointer for the primordial stack |
156 | */ | 156 | */ |
157 | # ifndef CONFIG_SYS_INIT_DCACHE_PBxAR | 157 | # ifndef CONFIG_SYS_INIT_DCACHE_PBxAR |
158 | # define CONFIG_SYS_INIT_DCACHE_PBxAR (EBC_BXAP_BME_DISABLED | \ | 158 | # define CONFIG_SYS_INIT_DCACHE_PBxAR (EBC_BXAP_BME_DISABLED | \ |
159 | EBC_BXAP_TWT_ENCODE(7) | \ | 159 | EBC_BXAP_TWT_ENCODE(7) | \ |
160 | EBC_BXAP_BCE_DISABLE | \ | 160 | EBC_BXAP_BCE_DISABLE | \ |
161 | EBC_BXAP_BCT_2TRANS | \ | 161 | EBC_BXAP_BCT_2TRANS | \ |
162 | EBC_BXAP_CSN_ENCODE(0) | \ | 162 | EBC_BXAP_CSN_ENCODE(0) | \ |
163 | EBC_BXAP_OEN_ENCODE(0) | \ | 163 | EBC_BXAP_OEN_ENCODE(0) | \ |
164 | EBC_BXAP_WBN_ENCODE(0) | \ | 164 | EBC_BXAP_WBN_ENCODE(0) | \ |
165 | EBC_BXAP_WBF_ENCODE(0) | \ | 165 | EBC_BXAP_WBF_ENCODE(0) | \ |
166 | EBC_BXAP_TH_ENCODE(2) | \ | 166 | EBC_BXAP_TH_ENCODE(2) | \ |
167 | EBC_BXAP_RE_DISABLED | \ | 167 | EBC_BXAP_RE_DISABLED | \ |
168 | EBC_BXAP_SOR_NONDELAYED | \ | 168 | EBC_BXAP_SOR_NONDELAYED | \ |
169 | EBC_BXAP_BEM_WRITEONLY | \ | 169 | EBC_BXAP_BEM_WRITEONLY | \ |
170 | EBC_BXAP_PEN_DISABLED) | 170 | EBC_BXAP_PEN_DISABLED) |
171 | # endif /* CONFIG_SYS_INIT_DCACHE_PBxAR */ | 171 | # endif /* CONFIG_SYS_INIT_DCACHE_PBxAR */ |
172 | # ifndef CONFIG_SYS_INIT_DCACHE_PBxCR | 172 | # ifndef CONFIG_SYS_INIT_DCACHE_PBxCR |
173 | # define CONFIG_SYS_INIT_DCACHE_PBxCR (EBC_BXCR_BAS_ENCODE(CONFIG_SYS_INIT_RAM_ADDR) | \ | 173 | # define CONFIG_SYS_INIT_DCACHE_PBxCR (EBC_BXCR_BAS_ENCODE(CONFIG_SYS_INIT_RAM_ADDR) | \ |
174 | EBC_BXCR_BS_64MB | \ | 174 | EBC_BXCR_BS_64MB | \ |
175 | EBC_BXCR_BU_RW | \ | 175 | EBC_BXCR_BU_RW | \ |
176 | EBC_BXCR_BW_16BIT) | 176 | EBC_BXCR_BW_16BIT) |
177 | # endif /* CONFIG_SYS_INIT_DCACHE_PBxCR */ | 177 | # endif /* CONFIG_SYS_INIT_DCACHE_PBxCR */ |
178 | # ifndef CONFIG_SYS_INIT_RAM_PATTERN | 178 | # ifndef CONFIG_SYS_INIT_RAM_PATTERN |
179 | # define CONFIG_SYS_INIT_RAM_PATTERN 0xDEADDEAD | 179 | # define CONFIG_SYS_INIT_RAM_PATTERN 0xDEADDEAD |
180 | # endif | 180 | # endif |
181 | #endif /* CONFIG_SYS_INIT_DCACHE_CS */ | 181 | #endif /* CONFIG_SYS_INIT_DCACHE_CS */ |
182 | 182 | ||
183 | #if (defined(CONFIG_SYS_INIT_RAM_DCACHE) && (CONFIG_SYS_INIT_RAM_END > (4 << 10))) | 183 | #if (defined(CONFIG_SYS_INIT_RAM_DCACHE) && (CONFIG_SYS_INIT_RAM_END > (4 << 10))) |
184 | #error Only 4k of init-ram is supported - please adjust CONFIG_SYS_INIT_RAM_END! | 184 | #error Only 4k of init-ram is supported - please adjust CONFIG_SYS_INIT_RAM_END! |
185 | #endif | 185 | #endif |
186 | 186 | ||
187 | /* | 187 | /* |
188 | * Unless otherwise overriden, enable two 128MB cachable instruction regions | 188 | * Unless otherwise overriden, enable two 128MB cachable instruction regions |
189 | * at CONFIG_SYS_SDRAM_BASE and another 128MB cacheable instruction region covering | 189 | * at CONFIG_SYS_SDRAM_BASE and another 128MB cacheable instruction region covering |
190 | * NOR flash at CONFIG_SYS_FLASH_BASE. Disable all cacheable data regions. | 190 | * NOR flash at CONFIG_SYS_FLASH_BASE. Disable all cacheable data regions. |
191 | */ | 191 | */ |
192 | #if !defined(CONFIG_SYS_FLASH_BASE) | 192 | #if !defined(CONFIG_SYS_FLASH_BASE) |
193 | /* If not already defined, set it to the "last" 128MByte region */ | 193 | /* If not already defined, set it to the "last" 128MByte region */ |
194 | # define CONFIG_SYS_FLASH_BASE 0xf8000000 | 194 | # define CONFIG_SYS_FLASH_BASE 0xf8000000 |
195 | #endif | 195 | #endif |
196 | #if !defined(CONFIG_SYS_ICACHE_SACR_VALUE) | 196 | #if !defined(CONFIG_SYS_ICACHE_SACR_VALUE) |
197 | # define CONFIG_SYS_ICACHE_SACR_VALUE \ | 197 | # define CONFIG_SYS_ICACHE_SACR_VALUE \ |
198 | (PPC_128MB_SACR_VALUE(CONFIG_SYS_SDRAM_BASE + ( 0 << 20)) | \ | 198 | (PPC_128MB_SACR_VALUE(CONFIG_SYS_SDRAM_BASE + ( 0 << 20)) | \ |
199 | PPC_128MB_SACR_VALUE(CONFIG_SYS_SDRAM_BASE + (128 << 20)) | \ | 199 | PPC_128MB_SACR_VALUE(CONFIG_SYS_SDRAM_BASE + (128 << 20)) | \ |
200 | PPC_128MB_SACR_VALUE(CONFIG_SYS_FLASH_BASE)) | 200 | PPC_128MB_SACR_VALUE(CONFIG_SYS_FLASH_BASE)) |
201 | #endif /* !defined(CONFIG_SYS_ICACHE_SACR_VALUE) */ | 201 | #endif /* !defined(CONFIG_SYS_ICACHE_SACR_VALUE) */ |
202 | 202 | ||
203 | #if !defined(CONFIG_SYS_DCACHE_SACR_VALUE) | 203 | #if !defined(CONFIG_SYS_DCACHE_SACR_VALUE) |
204 | # define CONFIG_SYS_DCACHE_SACR_VALUE \ | 204 | # define CONFIG_SYS_DCACHE_SACR_VALUE \ |
205 | (0x00000000) | 205 | (0x00000000) |
206 | #endif /* !defined(CONFIG_SYS_DCACHE_SACR_VALUE) */ | 206 | #endif /* !defined(CONFIG_SYS_DCACHE_SACR_VALUE) */ |
207 | 207 | ||
208 | #define function_prolog(func_name) .text; \ | 208 | #define function_prolog(func_name) .text; \ |
209 | .align 2; \ | 209 | .align 2; \ |
210 | .globl func_name; \ | 210 | .globl func_name; \ |
211 | func_name: | 211 | func_name: |
212 | #define function_epilog(func_name) .type func_name,@function; \ | 212 | #define function_epilog(func_name) .type func_name,@function; \ |
213 | .size func_name,.-func_name | 213 | .size func_name,.-func_name |
214 | 214 | ||
215 | /* We don't want the MMU yet. | 215 | /* We don't want the MMU yet. |
216 | */ | 216 | */ |
217 | #undef MSR_KERNEL | 217 | #undef MSR_KERNEL |
218 | #define MSR_KERNEL ( MSR_ME ) /* Machine Check */ | 218 | #define MSR_KERNEL ( MSR_ME ) /* Machine Check */ |
219 | 219 | ||
220 | 220 | ||
221 | .extern ext_bus_cntlr_init | 221 | .extern ext_bus_cntlr_init |
222 | #ifdef CONFIG_NAND_U_BOOT | 222 | #ifdef CONFIG_NAND_U_BOOT |
223 | .extern reconfig_tlb0 | 223 | .extern reconfig_tlb0 |
224 | #endif | 224 | #endif |
225 | 225 | ||
226 | /* | 226 | /* |
227 | * Set up GOT: Global Offset Table | 227 | * Set up GOT: Global Offset Table |
228 | * | 228 | * |
229 | * Use r14 to access the GOT | 229 | * Use r14 to access the GOT |
230 | */ | 230 | */ |
231 | #if !defined(CONFIG_NAND_SPL) | 231 | #if !defined(CONFIG_NAND_SPL) |
232 | START_GOT | 232 | START_GOT |
233 | GOT_ENTRY(_GOT2_TABLE_) | 233 | GOT_ENTRY(_GOT2_TABLE_) |
234 | GOT_ENTRY(_FIXUP_TABLE_) | 234 | GOT_ENTRY(_FIXUP_TABLE_) |
235 | 235 | ||
236 | GOT_ENTRY(_start) | 236 | GOT_ENTRY(_start) |
237 | GOT_ENTRY(_start_of_vectors) | 237 | GOT_ENTRY(_start_of_vectors) |
238 | GOT_ENTRY(_end_of_vectors) | 238 | GOT_ENTRY(_end_of_vectors) |
239 | GOT_ENTRY(transfer_to_handler) | 239 | GOT_ENTRY(transfer_to_handler) |
240 | 240 | ||
241 | GOT_ENTRY(__init_end) | 241 | GOT_ENTRY(__init_end) |
242 | GOT_ENTRY(_end) | 242 | GOT_ENTRY(_end) |
243 | GOT_ENTRY(__bss_start) | 243 | GOT_ENTRY(__bss_start) |
244 | END_GOT | 244 | END_GOT |
245 | #endif /* CONFIG_NAND_SPL */ | 245 | #endif /* CONFIG_NAND_SPL */ |
246 | 246 | ||
247 | #if defined(CONFIG_NAND_U_BOOT) && !defined(CONFIG_NAND_SPL) | 247 | #if defined(CONFIG_NAND_U_BOOT) && !defined(CONFIG_NAND_SPL) |
248 | /* | 248 | /* |
249 | * NAND U-Boot image is started from offset 0 | 249 | * NAND U-Boot image is started from offset 0 |
250 | */ | 250 | */ |
251 | .text | 251 | .text |
252 | #if defined(CONFIG_440) | 252 | #if defined(CONFIG_440) |
253 | bl reconfig_tlb0 | 253 | bl reconfig_tlb0 |
254 | #endif | 254 | #endif |
255 | GET_GOT | 255 | GET_GOT |
256 | bl cpu_init_f /* run low-level CPU init code (from Flash) */ | 256 | bl cpu_init_f /* run low-level CPU init code (from Flash) */ |
257 | bl board_init_f | 257 | bl board_init_f |
258 | #endif | 258 | #endif |
259 | 259 | ||
260 | #if defined(CONFIG_SYS_RAMBOOT) | ||
261 | /* | ||
262 | * 4xx RAM-booting U-Boot image is started from offset 0 | ||
263 | */ | ||
264 | .text | ||
265 | bl _start_440 | ||
266 | #endif | ||
267 | |||
260 | /* | 268 | /* |
261 | * 440 Startup -- on reset only the top 4k of the effective | 269 | * 440 Startup -- on reset only the top 4k of the effective |
262 | * address space is mapped in by an entry in the instruction | 270 | * address space is mapped in by an entry in the instruction |
263 | * and data shadow TLB. The .bootpg section is located in the | 271 | * and data shadow TLB. The .bootpg section is located in the |
264 | * top 4k & does only what's necessary to map in the the rest | 272 | * top 4k & does only what's necessary to map in the the rest |
265 | * of the boot rom. Once the boot rom is mapped in we can | 273 | * of the boot rom. Once the boot rom is mapped in we can |
266 | * proceed with normal startup. | 274 | * proceed with normal startup. |
267 | * | 275 | * |
268 | * NOTE: CS0 only covers the top 2MB of the effective address | 276 | * NOTE: CS0 only covers the top 2MB of the effective address |
269 | * space after reset. | 277 | * space after reset. |
270 | */ | 278 | */ |
271 | 279 | ||
272 | #if defined(CONFIG_440) | 280 | #if defined(CONFIG_440) |
273 | #if !defined(CONFIG_NAND_SPL) | 281 | #if !defined(CONFIG_NAND_SPL) |
274 | .section .bootpg,"ax" | 282 | .section .bootpg,"ax" |
275 | #endif | 283 | #endif |
276 | .globl _start_440 | 284 | .globl _start_440 |
277 | 285 | ||
278 | /**************************************************************************/ | 286 | /**************************************************************************/ |
279 | _start_440: | 287 | _start_440: |
280 | /*--------------------------------------------------------------------+ | 288 | /*--------------------------------------------------------------------+ |
281 | | 440EPX BUP Change - Hardware team request | 289 | | 440EPX BUP Change - Hardware team request |
282 | +--------------------------------------------------------------------*/ | 290 | +--------------------------------------------------------------------*/ |
283 | #if defined(CONFIG_440EPX) || defined(CONFIG_440GRX) | 291 | #if defined(CONFIG_440EPX) || defined(CONFIG_440GRX) |
284 | sync | 292 | sync |
285 | nop | 293 | nop |
286 | nop | 294 | nop |
287 | #endif | 295 | #endif |
288 | /*----------------------------------------------------------------+ | 296 | /*----------------------------------------------------------------+ |
289 | | Core bug fix. Clear the esr | 297 | | Core bug fix. Clear the esr |
290 | +-----------------------------------------------------------------*/ | 298 | +-----------------------------------------------------------------*/ |
291 | li r0,0 | 299 | li r0,0 |
292 | mtspr esr,r0 | 300 | mtspr esr,r0 |
293 | /*----------------------------------------------------------------*/ | 301 | /*----------------------------------------------------------------*/ |
294 | /* Clear and set up some registers. */ | 302 | /* Clear and set up some registers. */ |
295 | /*----------------------------------------------------------------*/ | 303 | /*----------------------------------------------------------------*/ |
296 | iccci r0,r0 /* NOTE: operands not used for 440 */ | 304 | iccci r0,r0 /* NOTE: operands not used for 440 */ |
297 | dccci r0,r0 /* NOTE: operands not used for 440 */ | 305 | dccci r0,r0 /* NOTE: operands not used for 440 */ |
298 | sync | 306 | sync |
299 | li r0,0 | 307 | li r0,0 |
300 | mtspr srr0,r0 | 308 | mtspr srr0,r0 |
301 | mtspr srr1,r0 | 309 | mtspr srr1,r0 |
302 | mtspr csrr0,r0 | 310 | mtspr csrr0,r0 |
303 | mtspr csrr1,r0 | 311 | mtspr csrr1,r0 |
304 | /* NOTE: 440GX adds machine check status regs */ | 312 | /* NOTE: 440GX adds machine check status regs */ |
305 | #if defined(CONFIG_440) && !defined(CONFIG_440GP) | 313 | #if defined(CONFIG_440) && !defined(CONFIG_440GP) |
306 | mtspr mcsrr0,r0 | 314 | mtspr mcsrr0,r0 |
307 | mtspr mcsrr1,r0 | 315 | mtspr mcsrr1,r0 |
308 | mfspr r1,mcsr | 316 | mfspr r1,mcsr |
309 | mtspr mcsr,r1 | 317 | mtspr mcsr,r1 |
310 | #endif | 318 | #endif |
311 | 319 | ||
312 | /*----------------------------------------------------------------*/ | 320 | /*----------------------------------------------------------------*/ |
313 | /* CCR0 init */ | 321 | /* CCR0 init */ |
314 | /*----------------------------------------------------------------*/ | 322 | /*----------------------------------------------------------------*/ |
315 | /* Disable store gathering & broadcast, guarantee inst/data | 323 | /* Disable store gathering & broadcast, guarantee inst/data |
316 | * cache block touch, force load/store alignment | 324 | * cache block touch, force load/store alignment |
317 | * (see errata 1.12: 440_33) | 325 | * (see errata 1.12: 440_33) |
318 | */ | 326 | */ |
319 | lis r1,0x0030 /* store gathering & broadcast disable */ | 327 | lis r1,0x0030 /* store gathering & broadcast disable */ |
320 | ori r1,r1,0x6000 /* cache touch */ | 328 | ori r1,r1,0x6000 /* cache touch */ |
321 | mtspr ccr0,r1 | 329 | mtspr ccr0,r1 |
322 | 330 | ||
323 | /*----------------------------------------------------------------*/ | 331 | /*----------------------------------------------------------------*/ |
324 | /* Initialize debug */ | 332 | /* Initialize debug */ |
325 | /*----------------------------------------------------------------*/ | 333 | /*----------------------------------------------------------------*/ |
326 | mfspr r1,dbcr0 | 334 | mfspr r1,dbcr0 |
327 | andis. r1, r1, 0x8000 /* test DBCR0[EDM] bit */ | 335 | andis. r1, r1, 0x8000 /* test DBCR0[EDM] bit */ |
328 | bne skip_debug_init /* if set, don't clear debug register */ | 336 | bne skip_debug_init /* if set, don't clear debug register */ |
329 | mtspr dbcr0,r0 | 337 | mtspr dbcr0,r0 |
330 | mtspr dbcr1,r0 | 338 | mtspr dbcr1,r0 |
331 | mtspr dbcr2,r0 | 339 | mtspr dbcr2,r0 |
332 | mtspr iac1,r0 | 340 | mtspr iac1,r0 |
333 | mtspr iac2,r0 | 341 | mtspr iac2,r0 |
334 | mtspr iac3,r0 | 342 | mtspr iac3,r0 |
335 | mtspr dac1,r0 | 343 | mtspr dac1,r0 |
336 | mtspr dac2,r0 | 344 | mtspr dac2,r0 |
337 | mtspr dvc1,r0 | 345 | mtspr dvc1,r0 |
338 | mtspr dvc2,r0 | 346 | mtspr dvc2,r0 |
339 | 347 | ||
340 | mfspr r1,dbsr | 348 | mfspr r1,dbsr |
341 | mtspr dbsr,r1 /* Clear all valid bits */ | 349 | mtspr dbsr,r1 /* Clear all valid bits */ |
342 | skip_debug_init: | 350 | skip_debug_init: |
343 | 351 | ||
344 | #if defined (CONFIG_440SPE) | 352 | #if defined (CONFIG_440SPE) |
345 | /*----------------------------------------------------------------+ | 353 | /*----------------------------------------------------------------+ |
346 | | Initialize Core Configuration Reg1. | 354 | | Initialize Core Configuration Reg1. |
347 | | a. ICDPEI: Record even parity. Normal operation. | 355 | | a. ICDPEI: Record even parity. Normal operation. |
348 | | b. ICTPEI: Record even parity. Normal operation. | 356 | | b. ICTPEI: Record even parity. Normal operation. |
349 | | c. DCTPEI: Record even parity. Normal operation. | 357 | | c. DCTPEI: Record even parity. Normal operation. |
350 | | d. DCDPEI: Record even parity. Normal operation. | 358 | | d. DCDPEI: Record even parity. Normal operation. |
351 | | e. DCUPEI: Record even parity. Normal operation. | 359 | | e. DCUPEI: Record even parity. Normal operation. |
352 | | f. DCMPEI: Record even parity. Normal operation. | 360 | | f. DCMPEI: Record even parity. Normal operation. |
353 | | g. FCOM: Normal operation | 361 | | g. FCOM: Normal operation |
354 | | h. MMUPEI: Record even parity. Normal operation. | 362 | | h. MMUPEI: Record even parity. Normal operation. |
355 | | i. FFF: Flush only as much data as necessary. | 363 | | i. FFF: Flush only as much data as necessary. |
356 | | j. TCS: Timebase increments from CPU clock. | 364 | | j. TCS: Timebase increments from CPU clock. |
357 | +-----------------------------------------------------------------*/ | 365 | +-----------------------------------------------------------------*/ |
358 | li r0,0 | 366 | li r0,0 |
359 | mtspr ccr1, r0 | 367 | mtspr ccr1, r0 |
360 | 368 | ||
361 | /*----------------------------------------------------------------+ | 369 | /*----------------------------------------------------------------+ |
362 | | Reset the timebase. | 370 | | Reset the timebase. |
363 | | The previous write to CCR1 sets the timebase source. | 371 | | The previous write to CCR1 sets the timebase source. |
364 | +-----------------------------------------------------------------*/ | 372 | +-----------------------------------------------------------------*/ |
365 | mtspr tbl, r0 | 373 | mtspr tbl, r0 |
366 | mtspr tbu, r0 | 374 | mtspr tbu, r0 |
367 | #endif | 375 | #endif |
368 | 376 | ||
369 | /*----------------------------------------------------------------*/ | 377 | /*----------------------------------------------------------------*/ |
370 | /* Setup interrupt vectors */ | 378 | /* Setup interrupt vectors */ |
371 | /*----------------------------------------------------------------*/ | 379 | /*----------------------------------------------------------------*/ |
372 | mtspr ivpr,r0 /* Vectors start at 0x0000_0000 */ | 380 | mtspr ivpr,r0 /* Vectors start at 0x0000_0000 */ |
373 | li r1,0x0100 | 381 | li r1,0x0100 |
374 | mtspr ivor0,r1 /* Critical input */ | 382 | mtspr ivor0,r1 /* Critical input */ |
375 | li r1,0x0200 | 383 | li r1,0x0200 |
376 | mtspr ivor1,r1 /* Machine check */ | 384 | mtspr ivor1,r1 /* Machine check */ |
377 | li r1,0x0300 | 385 | li r1,0x0300 |
378 | mtspr ivor2,r1 /* Data storage */ | 386 | mtspr ivor2,r1 /* Data storage */ |
379 | li r1,0x0400 | 387 | li r1,0x0400 |
380 | mtspr ivor3,r1 /* Instruction storage */ | 388 | mtspr ivor3,r1 /* Instruction storage */ |
381 | li r1,0x0500 | 389 | li r1,0x0500 |
382 | mtspr ivor4,r1 /* External interrupt */ | 390 | mtspr ivor4,r1 /* External interrupt */ |
383 | li r1,0x0600 | 391 | li r1,0x0600 |
384 | mtspr ivor5,r1 /* Alignment */ | 392 | mtspr ivor5,r1 /* Alignment */ |
385 | li r1,0x0700 | 393 | li r1,0x0700 |
386 | mtspr ivor6,r1 /* Program check */ | 394 | mtspr ivor6,r1 /* Program check */ |
387 | li r1,0x0800 | 395 | li r1,0x0800 |
388 | mtspr ivor7,r1 /* Floating point unavailable */ | 396 | mtspr ivor7,r1 /* Floating point unavailable */ |
389 | li r1,0x0c00 | 397 | li r1,0x0c00 |
390 | mtspr ivor8,r1 /* System call */ | 398 | mtspr ivor8,r1 /* System call */ |
391 | li r1,0x0a00 | 399 | li r1,0x0a00 |
392 | mtspr ivor9,r1 /* Auxiliary Processor unavailable */ | 400 | mtspr ivor9,r1 /* Auxiliary Processor unavailable */ |
393 | li r1,0x0900 | 401 | li r1,0x0900 |
394 | mtspr ivor10,r1 /* Decrementer */ | 402 | mtspr ivor10,r1 /* Decrementer */ |
395 | li r1,0x1300 | 403 | li r1,0x1300 |
396 | mtspr ivor13,r1 /* Data TLB error */ | 404 | mtspr ivor13,r1 /* Data TLB error */ |
397 | li r1,0x1400 | 405 | li r1,0x1400 |
398 | mtspr ivor14,r1 /* Instr TLB error */ | 406 | mtspr ivor14,r1 /* Instr TLB error */ |
399 | li r1,0x2000 | 407 | li r1,0x2000 |
400 | mtspr ivor15,r1 /* Debug */ | 408 | mtspr ivor15,r1 /* Debug */ |
401 | 409 | ||
402 | /*----------------------------------------------------------------*/ | 410 | /*----------------------------------------------------------------*/ |
403 | /* Configure cache regions */ | 411 | /* Configure cache regions */ |
404 | /*----------------------------------------------------------------*/ | 412 | /*----------------------------------------------------------------*/ |
405 | mtspr inv0,r0 | 413 | mtspr inv0,r0 |
406 | mtspr inv1,r0 | 414 | mtspr inv1,r0 |
407 | mtspr inv2,r0 | 415 | mtspr inv2,r0 |
408 | mtspr inv3,r0 | 416 | mtspr inv3,r0 |
409 | mtspr dnv0,r0 | 417 | mtspr dnv0,r0 |
410 | mtspr dnv1,r0 | 418 | mtspr dnv1,r0 |
411 | mtspr dnv2,r0 | 419 | mtspr dnv2,r0 |
412 | mtspr dnv3,r0 | 420 | mtspr dnv3,r0 |
413 | mtspr itv0,r0 | 421 | mtspr itv0,r0 |
414 | mtspr itv1,r0 | 422 | mtspr itv1,r0 |
415 | mtspr itv2,r0 | 423 | mtspr itv2,r0 |
416 | mtspr itv3,r0 | 424 | mtspr itv3,r0 |
417 | mtspr dtv0,r0 | 425 | mtspr dtv0,r0 |
418 | mtspr dtv1,r0 | 426 | mtspr dtv1,r0 |
419 | mtspr dtv2,r0 | 427 | mtspr dtv2,r0 |
420 | mtspr dtv3,r0 | 428 | mtspr dtv3,r0 |
421 | 429 | ||
422 | /*----------------------------------------------------------------*/ | 430 | /*----------------------------------------------------------------*/ |
423 | /* Cache victim limits */ | 431 | /* Cache victim limits */ |
424 | /*----------------------------------------------------------------*/ | 432 | /*----------------------------------------------------------------*/ |
425 | /* floors 0, ceiling max to use the entire cache -- nothing locked | 433 | /* floors 0, ceiling max to use the entire cache -- nothing locked |
426 | */ | 434 | */ |
427 | lis r1,0x0001 | 435 | lis r1,0x0001 |
428 | ori r1,r1,0xf800 | 436 | ori r1,r1,0xf800 |
429 | mtspr ivlim,r1 | 437 | mtspr ivlim,r1 |
430 | mtspr dvlim,r1 | 438 | mtspr dvlim,r1 |
431 | 439 | ||
432 | /*----------------------------------------------------------------+ | 440 | /*----------------------------------------------------------------+ |
433 | |Initialize MMUCR[STID] = 0. | 441 | |Initialize MMUCR[STID] = 0. |
434 | +-----------------------------------------------------------------*/ | 442 | +-----------------------------------------------------------------*/ |
435 | mfspr r0,mmucr | 443 | mfspr r0,mmucr |
436 | addis r1,0,0xFFFF | 444 | addis r1,0,0xFFFF |
437 | ori r1,r1,0xFF00 | 445 | ori r1,r1,0xFF00 |
438 | and r0,r0,r1 | 446 | and r0,r0,r1 |
439 | mtspr mmucr,r0 | 447 | mtspr mmucr,r0 |
440 | 448 | ||
441 | /*----------------------------------------------------------------*/ | 449 | /*----------------------------------------------------------------*/ |
442 | /* Clear all TLB entries -- TID = 0, TS = 0 */ | 450 | /* Clear all TLB entries -- TID = 0, TS = 0 */ |
443 | /*----------------------------------------------------------------*/ | 451 | /*----------------------------------------------------------------*/ |
444 | addis r0,0,0x0000 | 452 | addis r0,0,0x0000 |
445 | li r1,0x003f /* 64 TLB entries */ | 453 | li r1,0x003f /* 64 TLB entries */ |
446 | mtctr r1 | 454 | mtctr r1 |
447 | rsttlb: tlbwe r0,r1,0x0000 /* Invalidate all entries (V=0)*/ | 455 | li r4,0 /* Start with TLB #0 */ |
448 | tlbwe r0,r1,0x0001 | 456 | rsttlb: |
449 | tlbwe r0,r1,0x0002 | 457 | #ifdef CONFIG_SYS_RAMBOOT |
450 | subi r1,r1,0x0001 | 458 | tlbre r3,r4,0 /* Read contents from TLB word #0 to get EPN */ |
459 | rlwinm. r3,r3,0,0xfffffc00 /* Mask EPN */ | ||
460 | beq tlbnxt /* Skip EPN=0 TLB, this is the SDRAM TLB */ | ||
461 | #endif | ||
462 | tlbwe r0,r4,0 /* Invalidate all entries (V=0)*/ | ||
463 | tlbwe r0,r4,1 | ||
464 | tlbwe r0,r4,2 | ||
465 | tlbnxt: addi r4,r4,1 /* Next TLB */ | ||
451 | bdnz rsttlb | 466 | bdnz rsttlb |
452 | 467 | ||
453 | /*----------------------------------------------------------------*/ | 468 | /*----------------------------------------------------------------*/ |
454 | /* TLB entry setup -- step thru tlbtab */ | 469 | /* TLB entry setup -- step thru tlbtab */ |
455 | /*----------------------------------------------------------------*/ | 470 | /*----------------------------------------------------------------*/ |
456 | #if defined(CONFIG_440SPE) | 471 | #if defined(CONFIG_440SPE) |
457 | /*----------------------------------------------------------------*/ | 472 | /*----------------------------------------------------------------*/ |
458 | /* We have different TLB tables for revA and rev B of 440SPe */ | 473 | /* We have different TLB tables for revA and rev B of 440SPe */ |
459 | /*----------------------------------------------------------------*/ | 474 | /*----------------------------------------------------------------*/ |
460 | mfspr r1, PVR | 475 | mfspr r1, PVR |
461 | lis r0,0x5342 | 476 | lis r0,0x5342 |
462 | ori r0,r0,0x1891 | 477 | ori r0,r0,0x1891 |
463 | cmpw r7,r1,r0 | 478 | cmpw r7,r1,r0 |
464 | bne r7,..revA | 479 | bne r7,..revA |
465 | bl tlbtabB | 480 | bl tlbtabB |
466 | b ..goon | 481 | b ..goon |
467 | ..revA: | 482 | ..revA: |
468 | bl tlbtabA | 483 | bl tlbtabA |
469 | ..goon: | 484 | ..goon: |
470 | #else | 485 | #else |
471 | bl tlbtab /* Get tlbtab pointer */ | 486 | bl tlbtab /* Get tlbtab pointer */ |
472 | #endif | 487 | #endif |
473 | mr r5,r0 | 488 | mr r5,r0 |
474 | li r1,0x003f /* 64 TLB entries max */ | 489 | li r1,0x003f /* 64 TLB entries max */ |
475 | mtctr r1 | 490 | mtctr r1 |
476 | li r4,0 /* TLB # */ | 491 | li r4,0 /* TLB # */ |
477 | 492 | ||
478 | addi r5,r5,-4 | 493 | addi r5,r5,-4 |
479 | 1: lwzu r0,4(r5) | 494 | 1: |
495 | #ifdef CONFIG_SYS_RAMBOOT | ||
496 | tlbre r3,r4,0 /* Read contents from TLB word #0 */ | ||
497 | rlwinm. r3,r3,0,0x00000200 /* Mask V (valid) bit */ | ||
498 | bne tlbnx2 /* Skip V=1 TLB, this is the SDRAM TLB */ | ||
499 | #endif | ||
500 | lwzu r0,4(r5) | ||
480 | cmpwi r0,0 | 501 | cmpwi r0,0 |
481 | beq 2f /* 0 marks end */ | 502 | beq 2f /* 0 marks end */ |
482 | lwzu r1,4(r5) | 503 | lwzu r1,4(r5) |
483 | lwzu r2,4(r5) | 504 | lwzu r2,4(r5) |
484 | tlbwe r0,r4,0 /* TLB Word 0 */ | 505 | tlbwe r0,r4,0 /* TLB Word 0 */ |
485 | tlbwe r1,r4,1 /* TLB Word 1 */ | 506 | tlbwe r1,r4,1 /* TLB Word 1 */ |
486 | tlbwe r2,r4,2 /* TLB Word 2 */ | 507 | tlbwe r2,r4,2 /* TLB Word 2 */ |
487 | addi r4,r4,1 /* Next TLB */ | 508 | tlbnx2: addi r4,r4,1 /* Next TLB */ |
488 | bdnz 1b | 509 | bdnz 1b |
489 | 510 | ||
490 | /*----------------------------------------------------------------*/ | 511 | /*----------------------------------------------------------------*/ |
491 | /* Continue from 'normal' start */ | 512 | /* Continue from 'normal' start */ |
492 | /*----------------------------------------------------------------*/ | 513 | /*----------------------------------------------------------------*/ |
493 | 2: | 514 | 2: |
494 | bl 3f | 515 | bl 3f |
495 | b _start | 516 | b _start |
496 | 517 | ||
497 | 3: li r0,0 | 518 | 3: li r0,0 |
498 | mtspr srr1,r0 /* Keep things disabled for now */ | 519 | mtspr srr1,r0 /* Keep things disabled for now */ |
499 | mflr r1 | 520 | mflr r1 |
500 | mtspr srr0,r1 | 521 | mtspr srr0,r1 |
501 | rfi | 522 | rfi |
502 | #endif /* CONFIG_440 */ | 523 | #endif /* CONFIG_440 */ |
503 | 524 | ||
504 | /* | 525 | /* |
505 | * r3 - 1st arg to board_init(): IMMP pointer | 526 | * r3 - 1st arg to board_init(): IMMP pointer |
506 | * r4 - 2nd arg to board_init(): boot flag | 527 | * r4 - 2nd arg to board_init(): boot flag |
507 | */ | 528 | */ |
508 | #ifndef CONFIG_NAND_SPL | 529 | #ifndef CONFIG_NAND_SPL |
509 | .text | 530 | .text |
510 | .long 0x27051956 /* U-Boot Magic Number */ | 531 | .long 0x27051956 /* U-Boot Magic Number */ |
511 | .globl version_string | 532 | .globl version_string |
512 | version_string: | 533 | version_string: |
513 | .ascii U_BOOT_VERSION | 534 | .ascii U_BOOT_VERSION |
514 | .ascii " (", U_BOOT_DATE, " - ", U_BOOT_TIME, ")" | 535 | .ascii " (", U_BOOT_DATE, " - ", U_BOOT_TIME, ")" |
515 | .ascii CONFIG_IDENT_STRING, "\0" | 536 | .ascii CONFIG_IDENT_STRING, "\0" |
516 | 537 | ||
517 | . = EXC_OFF_SYS_RESET | 538 | . = EXC_OFF_SYS_RESET |
518 | .globl _start_of_vectors | 539 | .globl _start_of_vectors |
519 | _start_of_vectors: | 540 | _start_of_vectors: |
520 | 541 | ||
521 | /* Critical input. */ | 542 | /* Critical input. */ |
522 | CRIT_EXCEPTION(0x100, CritcalInput, UnknownException) | 543 | CRIT_EXCEPTION(0x100, CritcalInput, UnknownException) |
523 | 544 | ||
524 | #ifdef CONFIG_440 | 545 | #ifdef CONFIG_440 |
525 | /* Machine check */ | 546 | /* Machine check */ |
526 | MCK_EXCEPTION(0x200, MachineCheck, MachineCheckException) | 547 | MCK_EXCEPTION(0x200, MachineCheck, MachineCheckException) |
527 | #else | 548 | #else |
528 | CRIT_EXCEPTION(0x200, MachineCheck, MachineCheckException) | 549 | CRIT_EXCEPTION(0x200, MachineCheck, MachineCheckException) |
529 | #endif /* CONFIG_440 */ | 550 | #endif /* CONFIG_440 */ |
530 | 551 | ||
531 | /* Data Storage exception. */ | 552 | /* Data Storage exception. */ |
532 | STD_EXCEPTION(0x300, DataStorage, UnknownException) | 553 | STD_EXCEPTION(0x300, DataStorage, UnknownException) |
533 | 554 | ||
534 | /* Instruction Storage exception. */ | 555 | /* Instruction Storage exception. */ |
535 | STD_EXCEPTION(0x400, InstStorage, UnknownException) | 556 | STD_EXCEPTION(0x400, InstStorage, UnknownException) |
536 | 557 | ||
537 | /* External Interrupt exception. */ | 558 | /* External Interrupt exception. */ |
538 | STD_EXCEPTION(0x500, ExtInterrupt, external_interrupt) | 559 | STD_EXCEPTION(0x500, ExtInterrupt, external_interrupt) |
539 | 560 | ||
540 | /* Alignment exception. */ | 561 | /* Alignment exception. */ |
541 | . = 0x600 | 562 | . = 0x600 |
542 | Alignment: | 563 | Alignment: |
543 | EXCEPTION_PROLOG(SRR0, SRR1) | 564 | EXCEPTION_PROLOG(SRR0, SRR1) |
544 | mfspr r4,DAR | 565 | mfspr r4,DAR |
545 | stw r4,_DAR(r21) | 566 | stw r4,_DAR(r21) |
546 | mfspr r5,DSISR | 567 | mfspr r5,DSISR |
547 | stw r5,_DSISR(r21) | 568 | stw r5,_DSISR(r21) |
548 | addi r3,r1,STACK_FRAME_OVERHEAD | 569 | addi r3,r1,STACK_FRAME_OVERHEAD |
549 | li r20,MSR_KERNEL | 570 | li r20,MSR_KERNEL |
550 | rlwimi r20,r23,0,16,16 /* copy EE bit from saved MSR */ | 571 | rlwimi r20,r23,0,16,16 /* copy EE bit from saved MSR */ |
551 | lwz r6,GOT(transfer_to_handler) | 572 | lwz r6,GOT(transfer_to_handler) |
552 | mtlr r6 | 573 | mtlr r6 |
553 | blrl | 574 | blrl |
554 | .L_Alignment: | 575 | .L_Alignment: |
555 | .long AlignmentException - _start + _START_OFFSET | 576 | .long AlignmentException - _start + _START_OFFSET |
556 | .long int_return - _start + _START_OFFSET | 577 | .long int_return - _start + _START_OFFSET |
557 | 578 | ||
558 | /* Program check exception */ | 579 | /* Program check exception */ |
559 | . = 0x700 | 580 | . = 0x700 |
560 | ProgramCheck: | 581 | ProgramCheck: |
561 | EXCEPTION_PROLOG(SRR0, SRR1) | 582 | EXCEPTION_PROLOG(SRR0, SRR1) |
562 | addi r3,r1,STACK_FRAME_OVERHEAD | 583 | addi r3,r1,STACK_FRAME_OVERHEAD |
563 | li r20,MSR_KERNEL | 584 | li r20,MSR_KERNEL |
564 | rlwimi r20,r23,0,16,16 /* copy EE bit from saved MSR */ | 585 | rlwimi r20,r23,0,16,16 /* copy EE bit from saved MSR */ |
565 | lwz r6,GOT(transfer_to_handler) | 586 | lwz r6,GOT(transfer_to_handler) |
566 | mtlr r6 | 587 | mtlr r6 |
567 | blrl | 588 | blrl |
568 | .L_ProgramCheck: | 589 | .L_ProgramCheck: |
569 | .long ProgramCheckException - _start + _START_OFFSET | 590 | .long ProgramCheckException - _start + _START_OFFSET |
570 | .long int_return - _start + _START_OFFSET | 591 | .long int_return - _start + _START_OFFSET |
571 | 592 | ||
572 | #ifdef CONFIG_440 | 593 | #ifdef CONFIG_440 |
573 | STD_EXCEPTION(0x800, FPUnavailable, UnknownException) | 594 | STD_EXCEPTION(0x800, FPUnavailable, UnknownException) |
574 | STD_EXCEPTION(0x900, Decrementer, DecrementerPITException) | 595 | STD_EXCEPTION(0x900, Decrementer, DecrementerPITException) |
575 | STD_EXCEPTION(0xa00, APU, UnknownException) | 596 | STD_EXCEPTION(0xa00, APU, UnknownException) |
576 | #endif | 597 | #endif |
577 | STD_EXCEPTION(0xc00, SystemCall, UnknownException) | 598 | STD_EXCEPTION(0xc00, SystemCall, UnknownException) |
578 | 599 | ||
579 | #ifdef CONFIG_440 | 600 | #ifdef CONFIG_440 |
580 | STD_EXCEPTION(0x1300, DataTLBError, UnknownException) | 601 | STD_EXCEPTION(0x1300, DataTLBError, UnknownException) |
581 | STD_EXCEPTION(0x1400, InstructionTLBError, UnknownException) | 602 | STD_EXCEPTION(0x1400, InstructionTLBError, UnknownException) |
582 | #else | 603 | #else |
583 | STD_EXCEPTION(0x1000, PIT, DecrementerPITException) | 604 | STD_EXCEPTION(0x1000, PIT, DecrementerPITException) |
584 | STD_EXCEPTION(0x1100, InstructionTLBMiss, UnknownException) | 605 | STD_EXCEPTION(0x1100, InstructionTLBMiss, UnknownException) |
585 | STD_EXCEPTION(0x1200, DataTLBMiss, UnknownException) | 606 | STD_EXCEPTION(0x1200, DataTLBMiss, UnknownException) |
586 | #endif | 607 | #endif |
587 | CRIT_EXCEPTION(0x2000, DebugBreakpoint, DebugException ) | 608 | CRIT_EXCEPTION(0x2000, DebugBreakpoint, DebugException ) |
588 | 609 | ||
589 | .globl _end_of_vectors | 610 | .globl _end_of_vectors |
590 | _end_of_vectors: | 611 | _end_of_vectors: |
591 | . = _START_OFFSET | 612 | . = _START_OFFSET |
592 | #endif | 613 | #endif |
593 | .globl _start | 614 | .globl _start |
594 | _start: | 615 | _start: |
595 | 616 | ||
596 | /*****************************************************************************/ | 617 | /*****************************************************************************/ |
597 | #if defined(CONFIG_440) | 618 | #if defined(CONFIG_440) |
598 | 619 | ||
599 | /*----------------------------------------------------------------*/ | 620 | /*----------------------------------------------------------------*/ |
600 | /* Clear and set up some registers. */ | 621 | /* Clear and set up some registers. */ |
601 | /*----------------------------------------------------------------*/ | 622 | /*----------------------------------------------------------------*/ |
602 | li r0,0x0000 | 623 | li r0,0x0000 |
603 | lis r1,0xffff | 624 | lis r1,0xffff |
604 | mtspr dec,r0 /* prevent dec exceptions */ | 625 | mtspr dec,r0 /* prevent dec exceptions */ |
605 | mtspr tbl,r0 /* prevent fit & wdt exceptions */ | 626 | mtspr tbl,r0 /* prevent fit & wdt exceptions */ |
606 | mtspr tbu,r0 | 627 | mtspr tbu,r0 |
607 | mtspr tsr,r1 /* clear all timer exception status */ | 628 | mtspr tsr,r1 /* clear all timer exception status */ |
608 | mtspr tcr,r0 /* disable all */ | 629 | mtspr tcr,r0 /* disable all */ |
609 | mtspr esr,r0 /* clear exception syndrome register */ | 630 | mtspr esr,r0 /* clear exception syndrome register */ |
610 | mtxer r0 /* clear integer exception register */ | 631 | mtxer r0 /* clear integer exception register */ |
611 | 632 | ||
612 | /*----------------------------------------------------------------*/ | 633 | /*----------------------------------------------------------------*/ |
613 | /* Debug setup -- some (not very good) ice's need an event*/ | 634 | /* Debug setup -- some (not very good) ice's need an event*/ |
614 | /* to establish control :-( Define CONFIG_SYS_INIT_DBCR to the dbsr */ | 635 | /* to establish control :-( Define CONFIG_SYS_INIT_DBCR to the dbsr */ |
615 | /* value you need in this case 0x8cff 0000 should do the trick */ | 636 | /* value you need in this case 0x8cff 0000 should do the trick */ |
616 | /*----------------------------------------------------------------*/ | 637 | /*----------------------------------------------------------------*/ |
617 | #if defined(CONFIG_SYS_INIT_DBCR) | 638 | #if defined(CONFIG_SYS_INIT_DBCR) |
618 | lis r1,0xffff | 639 | lis r1,0xffff |
619 | ori r1,r1,0xffff | 640 | ori r1,r1,0xffff |
620 | mtspr dbsr,r1 /* Clear all status bits */ | 641 | mtspr dbsr,r1 /* Clear all status bits */ |
621 | lis r0,CONFIG_SYS_INIT_DBCR@h | 642 | lis r0,CONFIG_SYS_INIT_DBCR@h |
622 | ori r0,r0,CONFIG_SYS_INIT_DBCR@l | 643 | ori r0,r0,CONFIG_SYS_INIT_DBCR@l |
623 | mtspr dbcr0,r0 | 644 | mtspr dbcr0,r0 |
624 | isync | 645 | isync |
625 | #endif | 646 | #endif |
626 | 647 | ||
627 | /*----------------------------------------------------------------*/ | 648 | /*----------------------------------------------------------------*/ |
628 | /* Setup the internal SRAM */ | 649 | /* Setup the internal SRAM */ |
629 | /*----------------------------------------------------------------*/ | 650 | /*----------------------------------------------------------------*/ |
630 | li r0,0 | 651 | li r0,0 |
631 | 652 | ||
632 | #ifdef CONFIG_SYS_INIT_RAM_DCACHE | 653 | #ifdef CONFIG_SYS_INIT_RAM_DCACHE |
633 | /* Clear Dcache to use as RAM */ | 654 | /* Clear Dcache to use as RAM */ |
634 | addis r3,r0,CONFIG_SYS_INIT_RAM_ADDR@h | 655 | addis r3,r0,CONFIG_SYS_INIT_RAM_ADDR@h |
635 | ori r3,r3,CONFIG_SYS_INIT_RAM_ADDR@l | 656 | ori r3,r3,CONFIG_SYS_INIT_RAM_ADDR@l |
636 | addis r4,r0,CONFIG_SYS_INIT_RAM_END@h | 657 | addis r4,r0,CONFIG_SYS_INIT_RAM_END@h |
637 | ori r4,r4,CONFIG_SYS_INIT_RAM_END@l | 658 | ori r4,r4,CONFIG_SYS_INIT_RAM_END@l |
638 | rlwinm. r5,r4,0,27,31 | 659 | rlwinm. r5,r4,0,27,31 |
639 | rlwinm r5,r4,27,5,31 | 660 | rlwinm r5,r4,27,5,31 |
640 | beq ..d_ran | 661 | beq ..d_ran |
641 | addi r5,r5,0x0001 | 662 | addi r5,r5,0x0001 |
642 | ..d_ran: | 663 | ..d_ran: |
643 | mtctr r5 | 664 | mtctr r5 |
644 | ..d_ag: | 665 | ..d_ag: |
645 | dcbz r0,r3 | 666 | dcbz r0,r3 |
646 | addi r3,r3,32 | 667 | addi r3,r3,32 |
647 | bdnz ..d_ag | 668 | bdnz ..d_ag |
648 | 669 | ||
649 | /* | 670 | /* |
650 | * Lock the init-ram/stack in d-cache, so that other regions | 671 | * Lock the init-ram/stack in d-cache, so that other regions |
651 | * may use d-cache as well | 672 | * may use d-cache as well |
652 | * Note, that this current implementation locks exactly 4k | 673 | * Note, that this current implementation locks exactly 4k |
653 | * of d-cache, so please make sure that you don't define a | 674 | * of d-cache, so please make sure that you don't define a |
654 | * bigger init-ram area. Take a look at the lwmon5 440EPx | 675 | * bigger init-ram area. Take a look at the lwmon5 440EPx |
655 | * implementation as a reference. | 676 | * implementation as a reference. |
656 | */ | 677 | */ |
657 | msync | 678 | msync |
658 | isync | 679 | isync |
659 | /* 8. set TFLOOR/NFLOOR to 8 (-> 8*16*32 bytes locked -> 4k) */ | 680 | /* 8. set TFLOOR/NFLOOR to 8 (-> 8*16*32 bytes locked -> 4k) */ |
660 | lis r1,0x0201 | 681 | lis r1,0x0201 |
661 | ori r1,r1,0xf808 | 682 | ori r1,r1,0xf808 |
662 | mtspr dvlim,r1 | 683 | mtspr dvlim,r1 |
663 | lis r1,0x0808 | 684 | lis r1,0x0808 |
664 | ori r1,r1,0x0808 | 685 | ori r1,r1,0x0808 |
665 | mtspr dnv0,r1 | 686 | mtspr dnv0,r1 |
666 | mtspr dnv1,r1 | 687 | mtspr dnv1,r1 |
667 | mtspr dnv2,r1 | 688 | mtspr dnv2,r1 |
668 | mtspr dnv3,r1 | 689 | mtspr dnv3,r1 |
669 | mtspr dtv0,r1 | 690 | mtspr dtv0,r1 |
670 | mtspr dtv1,r1 | 691 | mtspr dtv1,r1 |
671 | mtspr dtv2,r1 | 692 | mtspr dtv2,r1 |
672 | mtspr dtv3,r1 | 693 | mtspr dtv3,r1 |
673 | msync | 694 | msync |
674 | isync | 695 | isync |
675 | #endif /* CONFIG_SYS_INIT_RAM_DCACHE */ | 696 | #endif /* CONFIG_SYS_INIT_RAM_DCACHE */ |
676 | 697 | ||
677 | /* 440EP & 440GR are only 440er PPC's without internal SRAM */ | 698 | /* 440EP & 440GR are only 440er PPC's without internal SRAM */ |
678 | #if !defined(CONFIG_440EP) && !defined(CONFIG_440GR) | 699 | #if !defined(CONFIG_440EP) && !defined(CONFIG_440GR) |
679 | /* not all PPC's have internal SRAM usable as L2-cache */ | 700 | /* not all PPC's have internal SRAM usable as L2-cache */ |
680 | #if defined(CONFIG_440GX) || \ | 701 | #if defined(CONFIG_440GX) || \ |
681 | defined(CONFIG_440SP) || defined(CONFIG_440SPE) || \ | 702 | defined(CONFIG_440SP) || defined(CONFIG_440SPE) || \ |
682 | defined(CONFIG_460SX) | 703 | defined(CONFIG_460SX) |
683 | mtdcr L2_CACHE_CFG,r0 /* Ensure L2 Cache is off */ | 704 | mtdcr L2_CACHE_CFG,r0 /* Ensure L2 Cache is off */ |
684 | #elif defined(CONFIG_460EX) || defined(CONFIG_460GT) | 705 | #elif defined(CONFIG_460EX) || defined(CONFIG_460GT) |
685 | lis r1, 0x0000 | 706 | lis r1, 0x0000 |
686 | ori r1,r1,0x0008 /* Set L2_CACHE_CFG[RDBW]=1 */ | 707 | ori r1,r1,0x0008 /* Set L2_CACHE_CFG[RDBW]=1 */ |
687 | mtdcr L2_CACHE_CFG,r1 | 708 | mtdcr L2_CACHE_CFG,r1 |
688 | #endif | 709 | #endif |
689 | 710 | ||
690 | lis r2,0x7fff | 711 | lis r2,0x7fff |
691 | ori r2,r2,0xffff | 712 | ori r2,r2,0xffff |
692 | mfdcr r1,ISRAM0_DPC | 713 | mfdcr r1,ISRAM0_DPC |
693 | and r1,r1,r2 /* Disable parity check */ | 714 | and r1,r1,r2 /* Disable parity check */ |
694 | mtdcr ISRAM0_DPC,r1 | 715 | mtdcr ISRAM0_DPC,r1 |
695 | mfdcr r1,ISRAM0_PMEG | 716 | mfdcr r1,ISRAM0_PMEG |
696 | and r1,r1,r2 /* Disable pwr mgmt */ | 717 | and r1,r1,r2 /* Disable pwr mgmt */ |
697 | mtdcr ISRAM0_PMEG,r1 | 718 | mtdcr ISRAM0_PMEG,r1 |
698 | 719 | ||
699 | lis r1,0x8000 /* BAS = 8000_0000 */ | 720 | lis r1,0x8000 /* BAS = 8000_0000 */ |
700 | #if defined(CONFIG_440GX) || defined(CONFIG_440SP) | 721 | #if defined(CONFIG_440GX) || defined(CONFIG_440SP) |
701 | ori r1,r1,0x0980 /* first 64k */ | 722 | ori r1,r1,0x0980 /* first 64k */ |
702 | mtdcr ISRAM0_SB0CR,r1 | 723 | mtdcr ISRAM0_SB0CR,r1 |
703 | lis r1,0x8001 | 724 | lis r1,0x8001 |
704 | ori r1,r1,0x0980 /* second 64k */ | 725 | ori r1,r1,0x0980 /* second 64k */ |
705 | mtdcr ISRAM0_SB1CR,r1 | 726 | mtdcr ISRAM0_SB1CR,r1 |
706 | lis r1, 0x8002 | 727 | lis r1, 0x8002 |
707 | ori r1,r1, 0x0980 /* third 64k */ | 728 | ori r1,r1, 0x0980 /* third 64k */ |
708 | mtdcr ISRAM0_SB2CR,r1 | 729 | mtdcr ISRAM0_SB2CR,r1 |
709 | lis r1, 0x8003 | 730 | lis r1, 0x8003 |
710 | ori r1,r1, 0x0980 /* fourth 64k */ | 731 | ori r1,r1, 0x0980 /* fourth 64k */ |
711 | mtdcr ISRAM0_SB3CR,r1 | 732 | mtdcr ISRAM0_SB3CR,r1 |
712 | #elif defined(CONFIG_440SPE) || defined(CONFIG_460EX) || defined(CONFIG_460GT) | 733 | #elif defined(CONFIG_440SPE) || defined(CONFIG_460EX) || defined(CONFIG_460GT) |
713 | lis r1,0x0000 /* BAS = X_0000_0000 */ | 734 | lis r1,0x0000 /* BAS = X_0000_0000 */ |
714 | ori r1,r1,0x0984 /* first 64k */ | 735 | ori r1,r1,0x0984 /* first 64k */ |
715 | mtdcr ISRAM0_SB0CR,r1 | 736 | mtdcr ISRAM0_SB0CR,r1 |
716 | lis r1,0x0001 | 737 | lis r1,0x0001 |
717 | ori r1,r1,0x0984 /* second 64k */ | 738 | ori r1,r1,0x0984 /* second 64k */ |
718 | mtdcr ISRAM0_SB1CR,r1 | 739 | mtdcr ISRAM0_SB1CR,r1 |
719 | lis r1, 0x0002 | 740 | lis r1, 0x0002 |
720 | ori r1,r1, 0x0984 /* third 64k */ | 741 | ori r1,r1, 0x0984 /* third 64k */ |
721 | mtdcr ISRAM0_SB2CR,r1 | 742 | mtdcr ISRAM0_SB2CR,r1 |
722 | lis r1, 0x0003 | 743 | lis r1, 0x0003 |
723 | ori r1,r1, 0x0984 /* fourth 64k */ | 744 | ori r1,r1, 0x0984 /* fourth 64k */ |
724 | mtdcr ISRAM0_SB3CR,r1 | 745 | mtdcr ISRAM0_SB3CR,r1 |
725 | #if defined(CONFIG_460EX) || defined(CONFIG_460GT) | 746 | #if defined(CONFIG_460EX) || defined(CONFIG_460GT) |
726 | lis r2,0x7fff | 747 | lis r2,0x7fff |
727 | ori r2,r2,0xffff | 748 | ori r2,r2,0xffff |
728 | mfdcr r1,ISRAM1_DPC | 749 | mfdcr r1,ISRAM1_DPC |
729 | and r1,r1,r2 /* Disable parity check */ | 750 | and r1,r1,r2 /* Disable parity check */ |
730 | mtdcr ISRAM1_DPC,r1 | 751 | mtdcr ISRAM1_DPC,r1 |
731 | mfdcr r1,ISRAM1_PMEG | 752 | mfdcr r1,ISRAM1_PMEG |
732 | and r1,r1,r2 /* Disable pwr mgmt */ | 753 | and r1,r1,r2 /* Disable pwr mgmt */ |
733 | mtdcr ISRAM1_PMEG,r1 | 754 | mtdcr ISRAM1_PMEG,r1 |
734 | 755 | ||
735 | lis r1,0x0004 /* BAS = 4_0004_0000 */ | 756 | lis r1,0x0004 /* BAS = 4_0004_0000 */ |
736 | ori r1,r1,0x0984 /* 64k */ | 757 | ori r1,r1,0x0984 /* 64k */ |
737 | mtdcr ISRAM1_SB0CR,r1 | 758 | mtdcr ISRAM1_SB0CR,r1 |
738 | #endif | 759 | #endif |
739 | #elif defined(CONFIG_460SX) | 760 | #elif defined(CONFIG_460SX) |
740 | lis r1,0x0000 /* BAS = 0000_0000 */ | 761 | lis r1,0x0000 /* BAS = 0000_0000 */ |
741 | ori r1,r1,0x0B84 /* first 128k */ | 762 | ori r1,r1,0x0B84 /* first 128k */ |
742 | mtdcr ISRAM0_SB0CR,r1 | 763 | mtdcr ISRAM0_SB0CR,r1 |
743 | lis r1,0x0001 | 764 | lis r1,0x0001 |
744 | ori r1,r1,0x0B84 /* second 128k */ | 765 | ori r1,r1,0x0B84 /* second 128k */ |
745 | mtdcr ISRAM0_SB1CR,r1 | 766 | mtdcr ISRAM0_SB1CR,r1 |
746 | lis r1, 0x0002 | 767 | lis r1, 0x0002 |
747 | ori r1,r1, 0x0B84 /* third 128k */ | 768 | ori r1,r1, 0x0B84 /* third 128k */ |
748 | mtdcr ISRAM0_SB2CR,r1 | 769 | mtdcr ISRAM0_SB2CR,r1 |
749 | lis r1, 0x0003 | 770 | lis r1, 0x0003 |
750 | ori r1,r1, 0x0B84 /* fourth 128k */ | 771 | ori r1,r1, 0x0B84 /* fourth 128k */ |
751 | mtdcr ISRAM0_SB3CR,r1 | 772 | mtdcr ISRAM0_SB3CR,r1 |
752 | #elif defined(CONFIG_440GP) | 773 | #elif defined(CONFIG_440GP) |
753 | ori r1,r1,0x0380 /* 8k rw */ | 774 | ori r1,r1,0x0380 /* 8k rw */ |
754 | mtdcr ISRAM0_SB0CR,r1 | 775 | mtdcr ISRAM0_SB0CR,r1 |
755 | mtdcr ISRAM0_SB1CR,r0 /* Disable bank 1 */ | 776 | mtdcr ISRAM0_SB1CR,r0 /* Disable bank 1 */ |
756 | #endif | 777 | #endif |
757 | #endif /* #if !defined(CONFIG_440EP) && !defined(CONFIG_440GR) */ | 778 | #endif /* #if !defined(CONFIG_440EP) && !defined(CONFIG_440GR) */ |
758 | 779 | ||
759 | /*----------------------------------------------------------------*/ | 780 | /*----------------------------------------------------------------*/ |
760 | /* Setup the stack in internal SRAM */ | 781 | /* Setup the stack in internal SRAM */ |
761 | /*----------------------------------------------------------------*/ | 782 | /*----------------------------------------------------------------*/ |
762 | lis r1,CONFIG_SYS_INIT_RAM_ADDR@h | 783 | lis r1,CONFIG_SYS_INIT_RAM_ADDR@h |
763 | ori r1,r1,CONFIG_SYS_INIT_SP_OFFSET@l | 784 | ori r1,r1,CONFIG_SYS_INIT_SP_OFFSET@l |
764 | li r0,0 | 785 | li r0,0 |
765 | stwu r0,-4(r1) | 786 | stwu r0,-4(r1) |
766 | stwu r0,-4(r1) /* Terminate call chain */ | 787 | stwu r0,-4(r1) /* Terminate call chain */ |
767 | 788 | ||
768 | stwu r1,-8(r1) /* Save back chain and move SP */ | 789 | stwu r1,-8(r1) /* Save back chain and move SP */ |
769 | lis r0,RESET_VECTOR@h /* Address of reset vector */ | 790 | lis r0,RESET_VECTOR@h /* Address of reset vector */ |
770 | ori r0,r0, RESET_VECTOR@l | 791 | ori r0,r0, RESET_VECTOR@l |
771 | stwu r1,-8(r1) /* Save back chain and move SP */ | 792 | stwu r1,-8(r1) /* Save back chain and move SP */ |
772 | stw r0,+12(r1) /* Save return addr (underflow vect) */ | 793 | stw r0,+12(r1) /* Save return addr (underflow vect) */ |
773 | 794 | ||
774 | #ifdef CONFIG_NAND_SPL | 795 | #ifdef CONFIG_NAND_SPL |
775 | bl nand_boot_common /* will not return */ | 796 | bl nand_boot_common /* will not return */ |
776 | #else | 797 | #else |
777 | GET_GOT | 798 | GET_GOT |
778 | 799 | ||
779 | bl cpu_init_f /* run low-level CPU init code (from Flash) */ | 800 | bl cpu_init_f /* run low-level CPU init code (from Flash) */ |
780 | bl board_init_f | 801 | bl board_init_f |
781 | #endif | 802 | #endif |
782 | 803 | ||
783 | #endif /* CONFIG_440 */ | 804 | #endif /* CONFIG_440 */ |
784 | 805 | ||
785 | /*****************************************************************************/ | 806 | /*****************************************************************************/ |
786 | #ifdef CONFIG_IOP480 | 807 | #ifdef CONFIG_IOP480 |
787 | /*----------------------------------------------------------------------- */ | 808 | /*----------------------------------------------------------------------- */ |
788 | /* Set up some machine state registers. */ | 809 | /* Set up some machine state registers. */ |
789 | /*----------------------------------------------------------------------- */ | 810 | /*----------------------------------------------------------------------- */ |
790 | addi r0,r0,0x0000 /* initialize r0 to zero */ | 811 | addi r0,r0,0x0000 /* initialize r0 to zero */ |
791 | mtspr esr,r0 /* clear Exception Syndrome Reg */ | 812 | mtspr esr,r0 /* clear Exception Syndrome Reg */ |
792 | mttcr r0 /* timer control register */ | 813 | mttcr r0 /* timer control register */ |
793 | mtexier r0 /* disable all interrupts */ | 814 | mtexier r0 /* disable all interrupts */ |
794 | addis r4,r0,0xFFFF /* set r4 to 0xFFFFFFFF (status in the */ | 815 | addis r4,r0,0xFFFF /* set r4 to 0xFFFFFFFF (status in the */ |
795 | ori r4,r4,0xFFFF /* dbsr is cleared by setting bits to 1) */ | 816 | ori r4,r4,0xFFFF /* dbsr is cleared by setting bits to 1) */ |
796 | mtdbsr r4 /* clear/reset the dbsr */ | 817 | mtdbsr r4 /* clear/reset the dbsr */ |
797 | mtexisr r4 /* clear all pending interrupts */ | 818 | mtexisr r4 /* clear all pending interrupts */ |
798 | addis r4,r0,0x8000 | 819 | addis r4,r0,0x8000 |
799 | mtexier r4 /* enable critical exceptions */ | 820 | mtexier r4 /* enable critical exceptions */ |
800 | addis r4,r0,0x0000 /* assume 403GCX - enable core clk */ | 821 | addis r4,r0,0x0000 /* assume 403GCX - enable core clk */ |
801 | ori r4,r4,0x4020 /* dbling (no harm done on GA and GC */ | 822 | ori r4,r4,0x4020 /* dbling (no harm done on GA and GC */ |
802 | mtiocr r4 /* since bit not used) & DRC to latch */ | 823 | mtiocr r4 /* since bit not used) & DRC to latch */ |
803 | /* data bus on rising edge of CAS */ | 824 | /* data bus on rising edge of CAS */ |
804 | /*----------------------------------------------------------------------- */ | 825 | /*----------------------------------------------------------------------- */ |
805 | /* Clear XER. */ | 826 | /* Clear XER. */ |
806 | /*----------------------------------------------------------------------- */ | 827 | /*----------------------------------------------------------------------- */ |
807 | mtxer r0 | 828 | mtxer r0 |
808 | /*----------------------------------------------------------------------- */ | 829 | /*----------------------------------------------------------------------- */ |
809 | /* Invalidate i-cache and d-cache TAG arrays. */ | 830 | /* Invalidate i-cache and d-cache TAG arrays. */ |
810 | /*----------------------------------------------------------------------- */ | 831 | /*----------------------------------------------------------------------- */ |
811 | addi r3,0,1024 /* 1/4 of I-cache size, half of D-cache */ | 832 | addi r3,0,1024 /* 1/4 of I-cache size, half of D-cache */ |
812 | addi r4,0,1024 /* 1/4 of I-cache */ | 833 | addi r4,0,1024 /* 1/4 of I-cache */ |
813 | ..cloop: | 834 | ..cloop: |
814 | iccci 0,r3 | 835 | iccci 0,r3 |
815 | iccci r4,r3 | 836 | iccci r4,r3 |
816 | dccci 0,r3 | 837 | dccci 0,r3 |
817 | addic. r3,r3,-16 /* move back one cache line */ | 838 | addic. r3,r3,-16 /* move back one cache line */ |
818 | bne ..cloop /* loop back to do rest until r3 = 0 */ | 839 | bne ..cloop /* loop back to do rest until r3 = 0 */ |
819 | 840 | ||
820 | /* */ | 841 | /* */ |
821 | /* initialize IOP480 so it can read 1 MB code area for SRAM spaces */ | 842 | /* initialize IOP480 so it can read 1 MB code area for SRAM spaces */ |
822 | /* this requires enabling MA[17..0], by default only MA[12..0] are enabled. */ | 843 | /* this requires enabling MA[17..0], by default only MA[12..0] are enabled. */ |
823 | /* */ | 844 | /* */ |
824 | 845 | ||
825 | /* first copy IOP480 register base address into r3 */ | 846 | /* first copy IOP480 register base address into r3 */ |
826 | addis r3,0,0x5000 /* IOP480 register base address hi */ | 847 | addis r3,0,0x5000 /* IOP480 register base address hi */ |
827 | /* ori r3,r3,0x0000 / IOP480 register base address lo */ | 848 | /* ori r3,r3,0x0000 / IOP480 register base address lo */ |
828 | 849 | ||
829 | #ifdef CONFIG_ADCIOP | 850 | #ifdef CONFIG_ADCIOP |
830 | /* use r4 as the working variable */ | 851 | /* use r4 as the working variable */ |
831 | /* turn on CS3 (LOCCTL.7) */ | 852 | /* turn on CS3 (LOCCTL.7) */ |
832 | lwz r4,0x84(r3) /* LOCTL is at offset 0x84 */ | 853 | lwz r4,0x84(r3) /* LOCTL is at offset 0x84 */ |
833 | andi. r4,r4,0xff7f /* make bit 7 = 0 -- CS3 mode */ | 854 | andi. r4,r4,0xff7f /* make bit 7 = 0 -- CS3 mode */ |
834 | stw r4,0x84(r3) /* LOCTL is at offset 0x84 */ | 855 | stw r4,0x84(r3) /* LOCTL is at offset 0x84 */ |
835 | #endif | 856 | #endif |
836 | 857 | ||
837 | #ifdef CONFIG_DASA_SIM | 858 | #ifdef CONFIG_DASA_SIM |
838 | /* use r4 as the working variable */ | 859 | /* use r4 as the working variable */ |
839 | /* turn on MA17 (LOCCTL.7) */ | 860 | /* turn on MA17 (LOCCTL.7) */ |
840 | lwz r4,0x84(r3) /* LOCTL is at offset 0x84 */ | 861 | lwz r4,0x84(r3) /* LOCTL is at offset 0x84 */ |
841 | ori r4,r4,0x80 /* make bit 7 = 1 -- MA17 mode */ | 862 | ori r4,r4,0x80 /* make bit 7 = 1 -- MA17 mode */ |
842 | stw r4,0x84(r3) /* LOCTL is at offset 0x84 */ | 863 | stw r4,0x84(r3) /* LOCTL is at offset 0x84 */ |
843 | #endif | 864 | #endif |
844 | 865 | ||
845 | /* turn on MA16..13 (LCS0BRD.12 = 0) */ | 866 | /* turn on MA16..13 (LCS0BRD.12 = 0) */ |
846 | lwz r4,0x100(r3) /* LCS0BRD is at offset 0x100 */ | 867 | lwz r4,0x100(r3) /* LCS0BRD is at offset 0x100 */ |
847 | andi. r4,r4,0xefff /* make bit 12 = 0 */ | 868 | andi. r4,r4,0xefff /* make bit 12 = 0 */ |
848 | stw r4,0x100(r3) /* LCS0BRD is at offset 0x100 */ | 869 | stw r4,0x100(r3) /* LCS0BRD is at offset 0x100 */ |
849 | 870 | ||
850 | /* make sure above stores all comlete before going on */ | 871 | /* make sure above stores all comlete before going on */ |
851 | sync | 872 | sync |
852 | 873 | ||
853 | /* last thing, set local init status done bit (DEVINIT.31) */ | 874 | /* last thing, set local init status done bit (DEVINIT.31) */ |
854 | lwz r4,0x80(r3) /* DEVINIT is at offset 0x80 */ | 875 | lwz r4,0x80(r3) /* DEVINIT is at offset 0x80 */ |
855 | oris r4,r4,0x8000 /* make bit 31 = 1 */ | 876 | oris r4,r4,0x8000 /* make bit 31 = 1 */ |
856 | stw r4,0x80(r3) /* DEVINIT is at offset 0x80 */ | 877 | stw r4,0x80(r3) /* DEVINIT is at offset 0x80 */ |
857 | 878 | ||
858 | /* clear all pending interrupts and disable all interrupts */ | 879 | /* clear all pending interrupts and disable all interrupts */ |
859 | li r4,-1 /* set p1 to 0xffffffff */ | 880 | li r4,-1 /* set p1 to 0xffffffff */ |
860 | stw r4,0x1b0(r3) /* clear all pending interrupts */ | 881 | stw r4,0x1b0(r3) /* clear all pending interrupts */ |
861 | stw r4,0x1b8(r3) /* clear all pending interrupts */ | 882 | stw r4,0x1b8(r3) /* clear all pending interrupts */ |
862 | li r4,0 /* set r4 to 0 */ | 883 | li r4,0 /* set r4 to 0 */ |
863 | stw r4,0x1b4(r3) /* disable all interrupts */ | 884 | stw r4,0x1b4(r3) /* disable all interrupts */ |
864 | stw r4,0x1bc(r3) /* disable all interrupts */ | 885 | stw r4,0x1bc(r3) /* disable all interrupts */ |
865 | 886 | ||
866 | /* make sure above stores all comlete before going on */ | 887 | /* make sure above stores all comlete before going on */ |
867 | sync | 888 | sync |
868 | 889 | ||
869 | /* Set-up icache cacheability. */ | 890 | /* Set-up icache cacheability. */ |
870 | lis r1, CONFIG_SYS_ICACHE_SACR_VALUE@h | 891 | lis r1, CONFIG_SYS_ICACHE_SACR_VALUE@h |
871 | ori r1, r1, CONFIG_SYS_ICACHE_SACR_VALUE@l | 892 | ori r1, r1, CONFIG_SYS_ICACHE_SACR_VALUE@l |
872 | mticcr r1 | 893 | mticcr r1 |
873 | isync | 894 | isync |
874 | 895 | ||
875 | /* Set-up dcache cacheability. */ | 896 | /* Set-up dcache cacheability. */ |
876 | lis r1, CONFIG_SYS_DCACHE_SACR_VALUE@h | 897 | lis r1, CONFIG_SYS_DCACHE_SACR_VALUE@h |
877 | ori r1, r1, CONFIG_SYS_DCACHE_SACR_VALUE@l | 898 | ori r1, r1, CONFIG_SYS_DCACHE_SACR_VALUE@l |
878 | mtdccr r1 | 899 | mtdccr r1 |
879 | 900 | ||
880 | addis r1,r0,CONFIG_SYS_INIT_RAM_ADDR@h | 901 | addis r1,r0,CONFIG_SYS_INIT_RAM_ADDR@h |
881 | ori r1,r1,CONFIG_SYS_INIT_SP_OFFSET /* set up the stack to SDRAM */ | 902 | ori r1,r1,CONFIG_SYS_INIT_SP_OFFSET /* set up the stack to SDRAM */ |
882 | li r0, 0 /* Make room for stack frame header and */ | 903 | li r0, 0 /* Make room for stack frame header and */ |
883 | stwu r0, -4(r1) /* clear final stack frame so that */ | 904 | stwu r0, -4(r1) /* clear final stack frame so that */ |
884 | stwu r0, -4(r1) /* stack backtraces terminate cleanly */ | 905 | stwu r0, -4(r1) /* stack backtraces terminate cleanly */ |
885 | 906 | ||
886 | GET_GOT /* initialize GOT access */ | 907 | GET_GOT /* initialize GOT access */ |
887 | 908 | ||
888 | bl board_init_f /* run first part of init code (from Flash) */ | 909 | bl board_init_f /* run first part of init code (from Flash) */ |
889 | 910 | ||
890 | #endif /* CONFIG_IOP480 */ | 911 | #endif /* CONFIG_IOP480 */ |
891 | 912 | ||
892 | /*****************************************************************************/ | 913 | /*****************************************************************************/ |
893 | #if defined(CONFIG_405GP) || defined(CONFIG_405CR) || \ | 914 | #if defined(CONFIG_405GP) || defined(CONFIG_405CR) || \ |
894 | defined(CONFIG_405EP) || defined(CONFIG_405EZ) || \ | 915 | defined(CONFIG_405EP) || defined(CONFIG_405EZ) || \ |
895 | defined(CONFIG_405EX) || defined(CONFIG_405) | 916 | defined(CONFIG_405EX) || defined(CONFIG_405) |
896 | /*----------------------------------------------------------------------- */ | 917 | /*----------------------------------------------------------------------- */ |
897 | /* Clear and set up some registers. */ | 918 | /* Clear and set up some registers. */ |
898 | /*----------------------------------------------------------------------- */ | 919 | /*----------------------------------------------------------------------- */ |
899 | addi r4,r0,0x0000 | 920 | addi r4,r0,0x0000 |
900 | #if !defined(CONFIG_405EX) | 921 | #if !defined(CONFIG_405EX) |
901 | mtspr sgr,r4 | 922 | mtspr sgr,r4 |
902 | #else | 923 | #else |
903 | /* | 924 | /* |
904 | * On 405EX, completely clearing the SGR leads to PPC hangup | 925 | * On 405EX, completely clearing the SGR leads to PPC hangup |
905 | * upon PCIe configuration access. The PCIe memory regions | 926 | * upon PCIe configuration access. The PCIe memory regions |
906 | * need to be guarded! | 927 | * need to be guarded! |
907 | */ | 928 | */ |
908 | lis r3,0x0000 | 929 | lis r3,0x0000 |
909 | ori r3,r3,0x7FFC | 930 | ori r3,r3,0x7FFC |
910 | mtspr sgr,r3 | 931 | mtspr sgr,r3 |
911 | #endif | 932 | #endif |
912 | mtspr dcwr,r4 | 933 | mtspr dcwr,r4 |
913 | mtesr r4 /* clear Exception Syndrome Reg */ | 934 | mtesr r4 /* clear Exception Syndrome Reg */ |
914 | mttcr r4 /* clear Timer Control Reg */ | 935 | mttcr r4 /* clear Timer Control Reg */ |
915 | mtxer r4 /* clear Fixed-Point Exception Reg */ | 936 | mtxer r4 /* clear Fixed-Point Exception Reg */ |
916 | mtevpr r4 /* clear Exception Vector Prefix Reg */ | 937 | mtevpr r4 /* clear Exception Vector Prefix Reg */ |
917 | addi r4,r0,(0xFFFF-0x10000) /* set r4 to 0xFFFFFFFF (status in the */ | 938 | addi r4,r0,(0xFFFF-0x10000) /* set r4 to 0xFFFFFFFF (status in the */ |
918 | /* dbsr is cleared by setting bits to 1) */ | 939 | /* dbsr is cleared by setting bits to 1) */ |
919 | mtdbsr r4 /* clear/reset the dbsr */ | 940 | mtdbsr r4 /* clear/reset the dbsr */ |
920 | 941 | ||
921 | /* Invalidate the i- and d-caches. */ | 942 | /* Invalidate the i- and d-caches. */ |
922 | bl invalidate_icache | 943 | bl invalidate_icache |
923 | bl invalidate_dcache | 944 | bl invalidate_dcache |
924 | 945 | ||
925 | /* Set-up icache cacheability. */ | 946 | /* Set-up icache cacheability. */ |
926 | lis r4, CONFIG_SYS_ICACHE_SACR_VALUE@h | 947 | lis r4, CONFIG_SYS_ICACHE_SACR_VALUE@h |
927 | ori r4, r4, CONFIG_SYS_ICACHE_SACR_VALUE@l | 948 | ori r4, r4, CONFIG_SYS_ICACHE_SACR_VALUE@l |
928 | mticcr r4 | 949 | mticcr r4 |
929 | isync | 950 | isync |
930 | 951 | ||
931 | /* Set-up dcache cacheability. */ | 952 | /* Set-up dcache cacheability. */ |
932 | lis r4, CONFIG_SYS_DCACHE_SACR_VALUE@h | 953 | lis r4, CONFIG_SYS_DCACHE_SACR_VALUE@h |
933 | ori r4, r4, CONFIG_SYS_DCACHE_SACR_VALUE@l | 954 | ori r4, r4, CONFIG_SYS_DCACHE_SACR_VALUE@l |
934 | mtdccr r4 | 955 | mtdccr r4 |
935 | 956 | ||
936 | #if !(defined(CONFIG_SYS_EBC_PB0AP) && defined(CONFIG_SYS_EBC_PB0CR))\ | 957 | #if !(defined(CONFIG_SYS_EBC_PB0AP) && defined(CONFIG_SYS_EBC_PB0CR))\ |
937 | && !defined (CONFIG_XILINX_405) | 958 | && !defined (CONFIG_XILINX_405) |
938 | /*----------------------------------------------------------------------- */ | 959 | /*----------------------------------------------------------------------- */ |
939 | /* Tune the speed and size for flash CS0 */ | 960 | /* Tune the speed and size for flash CS0 */ |
940 | /*----------------------------------------------------------------------- */ | 961 | /*----------------------------------------------------------------------- */ |
941 | bl ext_bus_cntlr_init | 962 | bl ext_bus_cntlr_init |
942 | #endif | 963 | #endif |
943 | 964 | ||
944 | #if !(defined(CONFIG_SYS_INIT_DCACHE_CS) || defined(CONFIG_SYS_TEMP_STACK_OCM)) | 965 | #if !(defined(CONFIG_SYS_INIT_DCACHE_CS) || defined(CONFIG_SYS_TEMP_STACK_OCM)) |
945 | /* | 966 | /* |
946 | * For boards that don't have OCM and can't use the data cache | 967 | * For boards that don't have OCM and can't use the data cache |
947 | * for their primordial stack, setup stack here directly after the | 968 | * for their primordial stack, setup stack here directly after the |
948 | * SDRAM is initialized in ext_bus_cntlr_init. | 969 | * SDRAM is initialized in ext_bus_cntlr_init. |
949 | */ | 970 | */ |
950 | lis r1, CONFIG_SYS_INIT_RAM_ADDR@h | 971 | lis r1, CONFIG_SYS_INIT_RAM_ADDR@h |
951 | ori r1,r1,CONFIG_SYS_INIT_SP_OFFSET /* set up the stack in SDRAM */ | 972 | ori r1,r1,CONFIG_SYS_INIT_SP_OFFSET /* set up the stack in SDRAM */ |
952 | 973 | ||
953 | li r0, 0 /* Make room for stack frame header and */ | 974 | li r0, 0 /* Make room for stack frame header and */ |
954 | stwu r0, -4(r1) /* clear final stack frame so that */ | 975 | stwu r0, -4(r1) /* clear final stack frame so that */ |
955 | stwu r0, -4(r1) /* stack backtraces terminate cleanly */ | 976 | stwu r0, -4(r1) /* stack backtraces terminate cleanly */ |
956 | /* | 977 | /* |
957 | * Set up a dummy frame to store reset vector as return address. | 978 | * Set up a dummy frame to store reset vector as return address. |
958 | * this causes stack underflow to reset board. | 979 | * this causes stack underflow to reset board. |
959 | */ | 980 | */ |
960 | stwu r1, -8(r1) /* Save back chain and move SP */ | 981 | stwu r1, -8(r1) /* Save back chain and move SP */ |
961 | lis r0, RESET_VECTOR@h /* Address of reset vector */ | 982 | lis r0, RESET_VECTOR@h /* Address of reset vector */ |
962 | ori r0, r0, RESET_VECTOR@l | 983 | ori r0, r0, RESET_VECTOR@l |
963 | stwu r1, -8(r1) /* Save back chain and move SP */ | 984 | stwu r1, -8(r1) /* Save back chain and move SP */ |
964 | stw r0, +12(r1) /* Save return addr (underflow vect) */ | 985 | stw r0, +12(r1) /* Save return addr (underflow vect) */ |
965 | #endif /* !(CONFIG_SYS_INIT_DCACHE_CS || !CONFIG_SYS_TEM_STACK_OCM) */ | 986 | #endif /* !(CONFIG_SYS_INIT_DCACHE_CS || !CONFIG_SYS_TEM_STACK_OCM) */ |
966 | 987 | ||
967 | #if defined(CONFIG_405EP) | 988 | #if defined(CONFIG_405EP) |
968 | /*----------------------------------------------------------------------- */ | 989 | /*----------------------------------------------------------------------- */ |
969 | /* DMA Status, clear to come up clean */ | 990 | /* DMA Status, clear to come up clean */ |
970 | /*----------------------------------------------------------------------- */ | 991 | /*----------------------------------------------------------------------- */ |
971 | addis r3,r0, 0xFFFF /* Clear all existing DMA status */ | 992 | addis r3,r0, 0xFFFF /* Clear all existing DMA status */ |
972 | ori r3,r3, 0xFFFF | 993 | ori r3,r3, 0xFFFF |
973 | mtdcr dmasr, r3 | 994 | mtdcr dmasr, r3 |
974 | 995 | ||
975 | bl ppc405ep_init /* do ppc405ep specific init */ | 996 | bl ppc405ep_init /* do ppc405ep specific init */ |
976 | #endif /* CONFIG_405EP */ | 997 | #endif /* CONFIG_405EP */ |
977 | 998 | ||
978 | #if defined(CONFIG_SYS_OCM_DATA_ADDR) && defined(CONFIG_SYS_OCM_DATA_SIZE) | 999 | #if defined(CONFIG_SYS_OCM_DATA_ADDR) && defined(CONFIG_SYS_OCM_DATA_SIZE) |
979 | #if defined(CONFIG_405EZ) | 1000 | #if defined(CONFIG_405EZ) |
980 | /******************************************************************** | 1001 | /******************************************************************** |
981 | * Setup OCM - On Chip Memory - PPC405EZ uses OCM Controller V2 | 1002 | * Setup OCM - On Chip Memory - PPC405EZ uses OCM Controller V2 |
982 | *******************************************************************/ | 1003 | *******************************************************************/ |
983 | /* | 1004 | /* |
984 | * We can map the OCM on the PLB3, so map it at | 1005 | * We can map the OCM on the PLB3, so map it at |
985 | * CONFIG_SYS_OCM_DATA_ADDR + 0x8000 | 1006 | * CONFIG_SYS_OCM_DATA_ADDR + 0x8000 |
986 | */ | 1007 | */ |
987 | lis r3,CONFIG_SYS_OCM_DATA_ADDR@h /* OCM location */ | 1008 | lis r3,CONFIG_SYS_OCM_DATA_ADDR@h /* OCM location */ |
988 | ori r3,r3,CONFIG_SYS_OCM_DATA_ADDR@l | 1009 | ori r3,r3,CONFIG_SYS_OCM_DATA_ADDR@l |
989 | ori r3,r3,0x0270 /* 16K for Bank 1, R/W/Enable */ | 1010 | ori r3,r3,0x0270 /* 16K for Bank 1, R/W/Enable */ |
990 | mtdcr ocmplb3cr1,r3 /* Set PLB Access */ | 1011 | mtdcr ocmplb3cr1,r3 /* Set PLB Access */ |
991 | ori r3,r3,0x4000 /* Add 0x4000 for bank 2 */ | 1012 | ori r3,r3,0x4000 /* Add 0x4000 for bank 2 */ |
992 | mtdcr ocmplb3cr2,r3 /* Set PLB Access */ | 1013 | mtdcr ocmplb3cr2,r3 /* Set PLB Access */ |
993 | isync | 1014 | isync |
994 | 1015 | ||
995 | lis r3,CONFIG_SYS_OCM_DATA_ADDR@h /* OCM location */ | 1016 | lis r3,CONFIG_SYS_OCM_DATA_ADDR@h /* OCM location */ |
996 | ori r3,r3,CONFIG_SYS_OCM_DATA_ADDR@l | 1017 | ori r3,r3,CONFIG_SYS_OCM_DATA_ADDR@l |
997 | ori r3,r3,0x0270 /* 16K for Bank 1, R/W/Enable */ | 1018 | ori r3,r3,0x0270 /* 16K for Bank 1, R/W/Enable */ |
998 | mtdcr ocmdscr1, r3 /* Set Data Side */ | 1019 | mtdcr ocmdscr1, r3 /* Set Data Side */ |
999 | mtdcr ocmiscr1, r3 /* Set Instruction Side */ | 1020 | mtdcr ocmiscr1, r3 /* Set Instruction Side */ |
1000 | ori r3,r3,0x4000 /* Add 0x4000 for bank 2 */ | 1021 | ori r3,r3,0x4000 /* Add 0x4000 for bank 2 */ |
1001 | mtdcr ocmdscr2, r3 /* Set Data Side */ | 1022 | mtdcr ocmdscr2, r3 /* Set Data Side */ |
1002 | mtdcr ocmiscr2, r3 /* Set Instruction Side */ | 1023 | mtdcr ocmiscr2, r3 /* Set Instruction Side */ |
1003 | addis r3,0,0x0800 /* OCM Data Parity Disable - 1 Wait State */ | 1024 | addis r3,0,0x0800 /* OCM Data Parity Disable - 1 Wait State */ |
1004 | mtdcr ocmdsisdpc,r3 | 1025 | mtdcr ocmdsisdpc,r3 |
1005 | 1026 | ||
1006 | isync | 1027 | isync |
1007 | #else /* CONFIG_405EZ */ | 1028 | #else /* CONFIG_405EZ */ |
1008 | /******************************************************************** | 1029 | /******************************************************************** |
1009 | * Setup OCM - On Chip Memory | 1030 | * Setup OCM - On Chip Memory |
1010 | *******************************************************************/ | 1031 | *******************************************************************/ |
1011 | /* Setup OCM */ | 1032 | /* Setup OCM */ |
1012 | lis r0, 0x7FFF | 1033 | lis r0, 0x7FFF |
1013 | ori r0, r0, 0xFFFF | 1034 | ori r0, r0, 0xFFFF |
1014 | mfdcr r3, ocmiscntl /* get instr-side IRAM config */ | 1035 | mfdcr r3, ocmiscntl /* get instr-side IRAM config */ |
1015 | mfdcr r4, ocmdscntl /* get data-side IRAM config */ | 1036 | mfdcr r4, ocmdscntl /* get data-side IRAM config */ |
1016 | and r3, r3, r0 /* disable data-side IRAM */ | 1037 | and r3, r3, r0 /* disable data-side IRAM */ |
1017 | and r4, r4, r0 /* disable data-side IRAM */ | 1038 | and r4, r4, r0 /* disable data-side IRAM */ |
1018 | mtdcr ocmiscntl, r3 /* set instr-side IRAM config */ | 1039 | mtdcr ocmiscntl, r3 /* set instr-side IRAM config */ |
1019 | mtdcr ocmdscntl, r4 /* set data-side IRAM config */ | 1040 | mtdcr ocmdscntl, r4 /* set data-side IRAM config */ |
1020 | isync | 1041 | isync |
1021 | 1042 | ||
1022 | lis r3,CONFIG_SYS_OCM_DATA_ADDR@h /* OCM location */ | 1043 | lis r3,CONFIG_SYS_OCM_DATA_ADDR@h /* OCM location */ |
1023 | ori r3,r3,CONFIG_SYS_OCM_DATA_ADDR@l | 1044 | ori r3,r3,CONFIG_SYS_OCM_DATA_ADDR@l |
1024 | mtdcr ocmdsarc, r3 | 1045 | mtdcr ocmdsarc, r3 |
1025 | addis r4, 0, 0xC000 /* OCM data area enabled */ | 1046 | addis r4, 0, 0xC000 /* OCM data area enabled */ |
1026 | mtdcr ocmdscntl, r4 | 1047 | mtdcr ocmdscntl, r4 |
1027 | isync | 1048 | isync |
1028 | #endif /* CONFIG_405EZ */ | 1049 | #endif /* CONFIG_405EZ */ |
1029 | #endif | 1050 | #endif |
1030 | 1051 | ||
1031 | /*----------------------------------------------------------------------- */ | 1052 | /*----------------------------------------------------------------------- */ |
1032 | /* Setup temporary stack in DCACHE or OCM if needed for SDRAM SPD. */ | 1053 | /* Setup temporary stack in DCACHE or OCM if needed for SDRAM SPD. */ |
1033 | /*----------------------------------------------------------------------- */ | 1054 | /*----------------------------------------------------------------------- */ |
1034 | #ifdef CONFIG_SYS_INIT_DCACHE_CS | 1055 | #ifdef CONFIG_SYS_INIT_DCACHE_CS |
1035 | li r4, PBxAP | 1056 | li r4, PBxAP |
1036 | mtdcr ebccfga, r4 | 1057 | mtdcr ebccfga, r4 |
1037 | lis r4, CONFIG_SYS_INIT_DCACHE_PBxAR@h | 1058 | lis r4, CONFIG_SYS_INIT_DCACHE_PBxAR@h |
1038 | ori r4, r4, CONFIG_SYS_INIT_DCACHE_PBxAR@l | 1059 | ori r4, r4, CONFIG_SYS_INIT_DCACHE_PBxAR@l |
1039 | mtdcr ebccfgd, r4 | 1060 | mtdcr ebccfgd, r4 |
1040 | 1061 | ||
1041 | addi r4, 0, PBxCR | 1062 | addi r4, 0, PBxCR |
1042 | mtdcr ebccfga, r4 | 1063 | mtdcr ebccfga, r4 |
1043 | lis r4, CONFIG_SYS_INIT_DCACHE_PBxCR@h | 1064 | lis r4, CONFIG_SYS_INIT_DCACHE_PBxCR@h |
1044 | ori r4, r4, CONFIG_SYS_INIT_DCACHE_PBxCR@l | 1065 | ori r4, r4, CONFIG_SYS_INIT_DCACHE_PBxCR@l |
1045 | mtdcr ebccfgd, r4 | 1066 | mtdcr ebccfgd, r4 |
1046 | 1067 | ||
1047 | /* | 1068 | /* |
1048 | * Enable the data cache for the 128MB storage access control region | 1069 | * Enable the data cache for the 128MB storage access control region |
1049 | * at CONFIG_SYS_INIT_RAM_ADDR. | 1070 | * at CONFIG_SYS_INIT_RAM_ADDR. |
1050 | */ | 1071 | */ |
1051 | mfdccr r4 | 1072 | mfdccr r4 |
1052 | oris r4, r4, PPC_128MB_SACR_VALUE(CONFIG_SYS_INIT_RAM_ADDR)@h | 1073 | oris r4, r4, PPC_128MB_SACR_VALUE(CONFIG_SYS_INIT_RAM_ADDR)@h |
1053 | ori r4, r4, PPC_128MB_SACR_VALUE(CONFIG_SYS_INIT_RAM_ADDR)@l | 1074 | ori r4, r4, PPC_128MB_SACR_VALUE(CONFIG_SYS_INIT_RAM_ADDR)@l |
1054 | mtdccr r4 | 1075 | mtdccr r4 |
1055 | 1076 | ||
1056 | /* | 1077 | /* |
1057 | * Preallocate data cache lines to be used to avoid a subsequent | 1078 | * Preallocate data cache lines to be used to avoid a subsequent |
1058 | * cache miss and an ensuing machine check exception when exceptions | 1079 | * cache miss and an ensuing machine check exception when exceptions |
1059 | * are enabled. | 1080 | * are enabled. |
1060 | */ | 1081 | */ |
1061 | li r0, 0 | 1082 | li r0, 0 |
1062 | 1083 | ||
1063 | lis r3, CONFIG_SYS_INIT_RAM_ADDR@h | 1084 | lis r3, CONFIG_SYS_INIT_RAM_ADDR@h |
1064 | ori r3, r3, CONFIG_SYS_INIT_RAM_ADDR@l | 1085 | ori r3, r3, CONFIG_SYS_INIT_RAM_ADDR@l |
1065 | 1086 | ||
1066 | lis r4, CONFIG_SYS_INIT_RAM_END@h | 1087 | lis r4, CONFIG_SYS_INIT_RAM_END@h |
1067 | ori r4, r4, CONFIG_SYS_INIT_RAM_END@l | 1088 | ori r4, r4, CONFIG_SYS_INIT_RAM_END@l |
1068 | 1089 | ||
1069 | /* | 1090 | /* |
1070 | * Convert the size, in bytes, to the number of cache lines/blocks | 1091 | * Convert the size, in bytes, to the number of cache lines/blocks |
1071 | * to preallocate. | 1092 | * to preallocate. |
1072 | */ | 1093 | */ |
1073 | clrlwi. r5, r4, (32 - L1_CACHE_SHIFT) | 1094 | clrlwi. r5, r4, (32 - L1_CACHE_SHIFT) |
1074 | srwi r5, r4, L1_CACHE_SHIFT | 1095 | srwi r5, r4, L1_CACHE_SHIFT |
1075 | beq ..load_counter | 1096 | beq ..load_counter |
1076 | addi r5, r5, 0x0001 | 1097 | addi r5, r5, 0x0001 |
1077 | ..load_counter: | 1098 | ..load_counter: |
1078 | mtctr r5 | 1099 | mtctr r5 |
1079 | 1100 | ||
1080 | /* Preallocate the computed number of cache blocks. */ | 1101 | /* Preallocate the computed number of cache blocks. */ |
1081 | ..alloc_dcache_block: | 1102 | ..alloc_dcache_block: |
1082 | dcba r0, r3 | 1103 | dcba r0, r3 |
1083 | addi r3, r3, L1_CACHE_BYTES | 1104 | addi r3, r3, L1_CACHE_BYTES |
1084 | bdnz ..alloc_dcache_block | 1105 | bdnz ..alloc_dcache_block |
1085 | sync | 1106 | sync |
1086 | 1107 | ||
1087 | /* | 1108 | /* |
1088 | * Load the initial stack pointer and data area and convert the size, | 1109 | * Load the initial stack pointer and data area and convert the size, |
1089 | * in bytes, to the number of words to initialize to a known value. | 1110 | * in bytes, to the number of words to initialize to a known value. |
1090 | */ | 1111 | */ |
1091 | lis r1, CONFIG_SYS_INIT_RAM_ADDR@h | 1112 | lis r1, CONFIG_SYS_INIT_RAM_ADDR@h |
1092 | ori r1, r1, CONFIG_SYS_INIT_SP_OFFSET@l | 1113 | ori r1, r1, CONFIG_SYS_INIT_SP_OFFSET@l |
1093 | 1114 | ||
1094 | lis r4, (CONFIG_SYS_INIT_RAM_END >> 2)@h | 1115 | lis r4, (CONFIG_SYS_INIT_RAM_END >> 2)@h |
1095 | ori r4, r4, (CONFIG_SYS_INIT_RAM_END >> 2)@l | 1116 | ori r4, r4, (CONFIG_SYS_INIT_RAM_END >> 2)@l |
1096 | mtctr r4 | 1117 | mtctr r4 |
1097 | 1118 | ||
1098 | lis r2, CONFIG_SYS_INIT_RAM_ADDR@h | 1119 | lis r2, CONFIG_SYS_INIT_RAM_ADDR@h |
1099 | ori r2, r2, CONFIG_SYS_INIT_RAM_END@l | 1120 | ori r2, r2, CONFIG_SYS_INIT_RAM_END@l |
1100 | 1121 | ||
1101 | lis r4, CONFIG_SYS_INIT_RAM_PATTERN@h | 1122 | lis r4, CONFIG_SYS_INIT_RAM_PATTERN@h |
1102 | ori r4, r4, CONFIG_SYS_INIT_RAM_PATTERN@l | 1123 | ori r4, r4, CONFIG_SYS_INIT_RAM_PATTERN@l |
1103 | 1124 | ||
1104 | ..stackloop: | 1125 | ..stackloop: |
1105 | stwu r4, -4(r2) | 1126 | stwu r4, -4(r2) |
1106 | bdnz ..stackloop | 1127 | bdnz ..stackloop |
1107 | 1128 | ||
1108 | /* | 1129 | /* |
1109 | * Make room for stack frame header and clear final stack frame so | 1130 | * Make room for stack frame header and clear final stack frame so |
1110 | * that stack backtraces terminate cleanly. | 1131 | * that stack backtraces terminate cleanly. |
1111 | */ | 1132 | */ |
1112 | stwu r0, -4(r1) | 1133 | stwu r0, -4(r1) |
1113 | stwu r0, -4(r1) | 1134 | stwu r0, -4(r1) |
1114 | 1135 | ||
1115 | /* | 1136 | /* |
1116 | * Set up a dummy frame to store reset vector as return address. | 1137 | * Set up a dummy frame to store reset vector as return address. |
1117 | * this causes stack underflow to reset board. | 1138 | * this causes stack underflow to reset board. |
1118 | */ | 1139 | */ |
1119 | stwu r1, -8(r1) /* Save back chain and move SP */ | 1140 | stwu r1, -8(r1) /* Save back chain and move SP */ |
1120 | addis r0, 0, RESET_VECTOR@h /* Address of reset vector */ | 1141 | addis r0, 0, RESET_VECTOR@h /* Address of reset vector */ |
1121 | ori r0, r0, RESET_VECTOR@l | 1142 | ori r0, r0, RESET_VECTOR@l |
1122 | stwu r1, -8(r1) /* Save back chain and move SP */ | 1143 | stwu r1, -8(r1) /* Save back chain and move SP */ |
1123 | stw r0, +12(r1) /* Save return addr (underflow vect) */ | 1144 | stw r0, +12(r1) /* Save return addr (underflow vect) */ |
1124 | 1145 | ||
1125 | #elif defined(CONFIG_SYS_TEMP_STACK_OCM) && \ | 1146 | #elif defined(CONFIG_SYS_TEMP_STACK_OCM) && \ |
1126 | (defined(CONFIG_SYS_OCM_DATA_ADDR) && defined(CONFIG_SYS_OCM_DATA_SIZE)) | 1147 | (defined(CONFIG_SYS_OCM_DATA_ADDR) && defined(CONFIG_SYS_OCM_DATA_SIZE)) |
1127 | /* | 1148 | /* |
1128 | * Stack in OCM. | 1149 | * Stack in OCM. |
1129 | */ | 1150 | */ |
1130 | 1151 | ||
1131 | /* Set up Stack at top of OCM */ | 1152 | /* Set up Stack at top of OCM */ |
1132 | lis r1, (CONFIG_SYS_INIT_RAM_ADDR + CONFIG_SYS_INIT_SP_OFFSET)@h | 1153 | lis r1, (CONFIG_SYS_INIT_RAM_ADDR + CONFIG_SYS_INIT_SP_OFFSET)@h |
1133 | ori r1, r1, (CONFIG_SYS_INIT_RAM_ADDR + CONFIG_SYS_INIT_SP_OFFSET)@l | 1154 | ori r1, r1, (CONFIG_SYS_INIT_RAM_ADDR + CONFIG_SYS_INIT_SP_OFFSET)@l |
1134 | 1155 | ||
1135 | /* Set up a zeroized stack frame so that backtrace works right */ | 1156 | /* Set up a zeroized stack frame so that backtrace works right */ |
1136 | li r0, 0 | 1157 | li r0, 0 |
1137 | stwu r0, -4(r1) | 1158 | stwu r0, -4(r1) |
1138 | stwu r0, -4(r1) | 1159 | stwu r0, -4(r1) |
1139 | 1160 | ||
1140 | /* | 1161 | /* |
1141 | * Set up a dummy frame to store reset vector as return address. | 1162 | * Set up a dummy frame to store reset vector as return address. |
1142 | * this causes stack underflow to reset board. | 1163 | * this causes stack underflow to reset board. |
1143 | */ | 1164 | */ |
1144 | stwu r1, -8(r1) /* Save back chain and move SP */ | 1165 | stwu r1, -8(r1) /* Save back chain and move SP */ |
1145 | lis r0, RESET_VECTOR@h /* Address of reset vector */ | 1166 | lis r0, RESET_VECTOR@h /* Address of reset vector */ |
1146 | ori r0, r0, RESET_VECTOR@l | 1167 | ori r0, r0, RESET_VECTOR@l |
1147 | stwu r1, -8(r1) /* Save back chain and move SP */ | 1168 | stwu r1, -8(r1) /* Save back chain and move SP */ |
1148 | stw r0, +12(r1) /* Save return addr (underflow vect) */ | 1169 | stw r0, +12(r1) /* Save return addr (underflow vect) */ |
1149 | #endif /* CONFIG_SYS_INIT_DCACHE_CS */ | 1170 | #endif /* CONFIG_SYS_INIT_DCACHE_CS */ |
1150 | 1171 | ||
1151 | #ifdef CONFIG_NAND_SPL | 1172 | #ifdef CONFIG_NAND_SPL |
1152 | bl nand_boot_common /* will not return */ | 1173 | bl nand_boot_common /* will not return */ |
1153 | #else | 1174 | #else |
1154 | GET_GOT /* initialize GOT access */ | 1175 | GET_GOT /* initialize GOT access */ |
1155 | 1176 | ||
1156 | bl cpu_init_f /* run low-level CPU init code (from Flash) */ | 1177 | bl cpu_init_f /* run low-level CPU init code (from Flash) */ |
1157 | 1178 | ||
1158 | /* NEVER RETURNS! */ | 1179 | /* NEVER RETURNS! */ |
1159 | bl board_init_f /* run first part of init code (from Flash) */ | 1180 | bl board_init_f /* run first part of init code (from Flash) */ |
1160 | #endif /* CONFIG_NAND_SPL */ | 1181 | #endif /* CONFIG_NAND_SPL */ |
1161 | 1182 | ||
1162 | #endif /* CONFIG_405GP || CONFIG_405CR || CONFIG_405 || CONFIG_405EP */ | 1183 | #endif /* CONFIG_405GP || CONFIG_405CR || CONFIG_405 || CONFIG_405EP */ |
1163 | /*----------------------------------------------------------------------- */ | 1184 | /*----------------------------------------------------------------------- */ |
1164 | 1185 | ||
1165 | 1186 | ||
1166 | #ifndef CONFIG_NAND_SPL | 1187 | #ifndef CONFIG_NAND_SPL |
1167 | /* | 1188 | /* |
1168 | * This code finishes saving the registers to the exception frame | 1189 | * This code finishes saving the registers to the exception frame |
1169 | * and jumps to the appropriate handler for the exception. | 1190 | * and jumps to the appropriate handler for the exception. |
1170 | * Register r21 is pointer into trap frame, r1 has new stack pointer. | 1191 | * Register r21 is pointer into trap frame, r1 has new stack pointer. |
1171 | */ | 1192 | */ |
1172 | .globl transfer_to_handler | 1193 | .globl transfer_to_handler |
1173 | transfer_to_handler: | 1194 | transfer_to_handler: |
1174 | stw r22,_NIP(r21) | 1195 | stw r22,_NIP(r21) |
1175 | lis r22,MSR_POW@h | 1196 | lis r22,MSR_POW@h |
1176 | andc r23,r23,r22 | 1197 | andc r23,r23,r22 |
1177 | stw r23,_MSR(r21) | 1198 | stw r23,_MSR(r21) |
1178 | SAVE_GPR(7, r21) | 1199 | SAVE_GPR(7, r21) |
1179 | SAVE_4GPRS(8, r21) | 1200 | SAVE_4GPRS(8, r21) |
1180 | SAVE_8GPRS(12, r21) | 1201 | SAVE_8GPRS(12, r21) |
1181 | SAVE_8GPRS(24, r21) | 1202 | SAVE_8GPRS(24, r21) |
1182 | mflr r23 | 1203 | mflr r23 |
1183 | andi. r24,r23,0x3f00 /* get vector offset */ | 1204 | andi. r24,r23,0x3f00 /* get vector offset */ |
1184 | stw r24,TRAP(r21) | 1205 | stw r24,TRAP(r21) |
1185 | li r22,0 | 1206 | li r22,0 |
1186 | stw r22,RESULT(r21) | 1207 | stw r22,RESULT(r21) |
1187 | mtspr SPRG2,r22 /* r1 is now kernel sp */ | 1208 | mtspr SPRG2,r22 /* r1 is now kernel sp */ |
1188 | lwz r24,0(r23) /* virtual address of handler */ | 1209 | lwz r24,0(r23) /* virtual address of handler */ |
1189 | lwz r23,4(r23) /* where to go when done */ | 1210 | lwz r23,4(r23) /* where to go when done */ |
1190 | mtspr SRR0,r24 | 1211 | mtspr SRR0,r24 |
1191 | mtspr SRR1,r20 | 1212 | mtspr SRR1,r20 |
1192 | mtlr r23 | 1213 | mtlr r23 |
1193 | SYNC | 1214 | SYNC |
1194 | rfi /* jump to handler, enable MMU */ | 1215 | rfi /* jump to handler, enable MMU */ |
1195 | 1216 | ||
1196 | int_return: | 1217 | int_return: |
1197 | mfmsr r28 /* Disable interrupts */ | 1218 | mfmsr r28 /* Disable interrupts */ |
1198 | li r4,0 | 1219 | li r4,0 |
1199 | ori r4,r4,MSR_EE | 1220 | ori r4,r4,MSR_EE |
1200 | andc r28,r28,r4 | 1221 | andc r28,r28,r4 |
1201 | SYNC /* Some chip revs need this... */ | 1222 | SYNC /* Some chip revs need this... */ |
1202 | mtmsr r28 | 1223 | mtmsr r28 |
1203 | SYNC | 1224 | SYNC |
1204 | lwz r2,_CTR(r1) | 1225 | lwz r2,_CTR(r1) |
1205 | lwz r0,_LINK(r1) | 1226 | lwz r0,_LINK(r1) |
1206 | mtctr r2 | 1227 | mtctr r2 |
1207 | mtlr r0 | 1228 | mtlr r0 |
1208 | lwz r2,_XER(r1) | 1229 | lwz r2,_XER(r1) |
1209 | lwz r0,_CCR(r1) | 1230 | lwz r0,_CCR(r1) |
1210 | mtspr XER,r2 | 1231 | mtspr XER,r2 |
1211 | mtcrf 0xFF,r0 | 1232 | mtcrf 0xFF,r0 |
1212 | REST_10GPRS(3, r1) | 1233 | REST_10GPRS(3, r1) |
1213 | REST_10GPRS(13, r1) | 1234 | REST_10GPRS(13, r1) |
1214 | REST_8GPRS(23, r1) | 1235 | REST_8GPRS(23, r1) |
1215 | REST_GPR(31, r1) | 1236 | REST_GPR(31, r1) |
1216 | lwz r2,_NIP(r1) /* Restore environment */ | 1237 | lwz r2,_NIP(r1) /* Restore environment */ |
1217 | lwz r0,_MSR(r1) | 1238 | lwz r0,_MSR(r1) |
1218 | mtspr SRR0,r2 | 1239 | mtspr SRR0,r2 |
1219 | mtspr SRR1,r0 | 1240 | mtspr SRR1,r0 |
1220 | lwz r0,GPR0(r1) | 1241 | lwz r0,GPR0(r1) |
1221 | lwz r2,GPR2(r1) | 1242 | lwz r2,GPR2(r1) |
1222 | lwz r1,GPR1(r1) | 1243 | lwz r1,GPR1(r1) |
1223 | SYNC | 1244 | SYNC |
1224 | rfi | 1245 | rfi |
1225 | 1246 | ||
1226 | crit_return: | 1247 | crit_return: |
1227 | mfmsr r28 /* Disable interrupts */ | 1248 | mfmsr r28 /* Disable interrupts */ |
1228 | li r4,0 | 1249 | li r4,0 |
1229 | ori r4,r4,MSR_EE | 1250 | ori r4,r4,MSR_EE |
1230 | andc r28,r28,r4 | 1251 | andc r28,r28,r4 |
1231 | SYNC /* Some chip revs need this... */ | 1252 | SYNC /* Some chip revs need this... */ |
1232 | mtmsr r28 | 1253 | mtmsr r28 |
1233 | SYNC | 1254 | SYNC |
1234 | lwz r2,_CTR(r1) | 1255 | lwz r2,_CTR(r1) |
1235 | lwz r0,_LINK(r1) | 1256 | lwz r0,_LINK(r1) |
1236 | mtctr r2 | 1257 | mtctr r2 |
1237 | mtlr r0 | 1258 | mtlr r0 |
1238 | lwz r2,_XER(r1) | 1259 | lwz r2,_XER(r1) |
1239 | lwz r0,_CCR(r1) | 1260 | lwz r0,_CCR(r1) |
1240 | mtspr XER,r2 | 1261 | mtspr XER,r2 |
1241 | mtcrf 0xFF,r0 | 1262 | mtcrf 0xFF,r0 |
1242 | REST_10GPRS(3, r1) | 1263 | REST_10GPRS(3, r1) |
1243 | REST_10GPRS(13, r1) | 1264 | REST_10GPRS(13, r1) |
1244 | REST_8GPRS(23, r1) | 1265 | REST_8GPRS(23, r1) |
1245 | REST_GPR(31, r1) | 1266 | REST_GPR(31, r1) |
1246 | lwz r2,_NIP(r1) /* Restore environment */ | 1267 | lwz r2,_NIP(r1) /* Restore environment */ |
1247 | lwz r0,_MSR(r1) | 1268 | lwz r0,_MSR(r1) |
1248 | mtspr csrr0,r2 | 1269 | mtspr csrr0,r2 |
1249 | mtspr csrr1,r0 | 1270 | mtspr csrr1,r0 |
1250 | lwz r0,GPR0(r1) | 1271 | lwz r0,GPR0(r1) |
1251 | lwz r2,GPR2(r1) | 1272 | lwz r2,GPR2(r1) |
1252 | lwz r1,GPR1(r1) | 1273 | lwz r1,GPR1(r1) |
1253 | SYNC | 1274 | SYNC |
1254 | rfci | 1275 | rfci |
1255 | 1276 | ||
1256 | #ifdef CONFIG_440 | 1277 | #ifdef CONFIG_440 |
1257 | mck_return: | 1278 | mck_return: |
1258 | mfmsr r28 /* Disable interrupts */ | 1279 | mfmsr r28 /* Disable interrupts */ |
1259 | li r4,0 | 1280 | li r4,0 |
1260 | ori r4,r4,MSR_EE | 1281 | ori r4,r4,MSR_EE |
1261 | andc r28,r28,r4 | 1282 | andc r28,r28,r4 |
1262 | SYNC /* Some chip revs need this... */ | 1283 | SYNC /* Some chip revs need this... */ |
1263 | mtmsr r28 | 1284 | mtmsr r28 |
1264 | SYNC | 1285 | SYNC |
1265 | lwz r2,_CTR(r1) | 1286 | lwz r2,_CTR(r1) |
1266 | lwz r0,_LINK(r1) | 1287 | lwz r0,_LINK(r1) |
1267 | mtctr r2 | 1288 | mtctr r2 |
1268 | mtlr r0 | 1289 | mtlr r0 |
1269 | lwz r2,_XER(r1) | 1290 | lwz r2,_XER(r1) |
1270 | lwz r0,_CCR(r1) | 1291 | lwz r0,_CCR(r1) |
1271 | mtspr XER,r2 | 1292 | mtspr XER,r2 |
1272 | mtcrf 0xFF,r0 | 1293 | mtcrf 0xFF,r0 |
1273 | REST_10GPRS(3, r1) | 1294 | REST_10GPRS(3, r1) |
1274 | REST_10GPRS(13, r1) | 1295 | REST_10GPRS(13, r1) |
1275 | REST_8GPRS(23, r1) | 1296 | REST_8GPRS(23, r1) |
1276 | REST_GPR(31, r1) | 1297 | REST_GPR(31, r1) |
1277 | lwz r2,_NIP(r1) /* Restore environment */ | 1298 | lwz r2,_NIP(r1) /* Restore environment */ |
1278 | lwz r0,_MSR(r1) | 1299 | lwz r0,_MSR(r1) |
1279 | mtspr mcsrr0,r2 | 1300 | mtspr mcsrr0,r2 |
1280 | mtspr mcsrr1,r0 | 1301 | mtspr mcsrr1,r0 |
1281 | lwz r0,GPR0(r1) | 1302 | lwz r0,GPR0(r1) |
1282 | lwz r2,GPR2(r1) | 1303 | lwz r2,GPR2(r1) |
1283 | lwz r1,GPR1(r1) | 1304 | lwz r1,GPR1(r1) |
1284 | SYNC | 1305 | SYNC |
1285 | rfmci | 1306 | rfmci |
1286 | #endif /* CONFIG_440 */ | 1307 | #endif /* CONFIG_440 */ |
1287 | 1308 | ||
1288 | 1309 | ||
1289 | .globl get_pvr | 1310 | .globl get_pvr |
1290 | get_pvr: | 1311 | get_pvr: |
1291 | mfspr r3, PVR | 1312 | mfspr r3, PVR |
1292 | blr | 1313 | blr |
1293 | 1314 | ||
1294 | /*------------------------------------------------------------------------------- */ | 1315 | /*------------------------------------------------------------------------------- */ |
1295 | /* Function: out16 */ | 1316 | /* Function: out16 */ |
1296 | /* Description: Output 16 bits */ | 1317 | /* Description: Output 16 bits */ |
1297 | /*------------------------------------------------------------------------------- */ | 1318 | /*------------------------------------------------------------------------------- */ |
1298 | .globl out16 | 1319 | .globl out16 |
1299 | out16: | 1320 | out16: |
1300 | sth r4,0x0000(r3) | 1321 | sth r4,0x0000(r3) |
1301 | blr | 1322 | blr |
1302 | 1323 | ||
1303 | /*------------------------------------------------------------------------------- */ | 1324 | /*------------------------------------------------------------------------------- */ |
1304 | /* Function: out16r */ | 1325 | /* Function: out16r */ |
1305 | /* Description: Byte reverse and output 16 bits */ | 1326 | /* Description: Byte reverse and output 16 bits */ |
1306 | /*------------------------------------------------------------------------------- */ | 1327 | /*------------------------------------------------------------------------------- */ |
1307 | .globl out16r | 1328 | .globl out16r |
1308 | out16r: | 1329 | out16r: |
1309 | sthbrx r4,r0,r3 | 1330 | sthbrx r4,r0,r3 |
1310 | blr | 1331 | blr |
1311 | 1332 | ||
1312 | /*------------------------------------------------------------------------------- */ | 1333 | /*------------------------------------------------------------------------------- */ |
1313 | /* Function: out32r */ | 1334 | /* Function: out32r */ |
1314 | /* Description: Byte reverse and output 32 bits */ | 1335 | /* Description: Byte reverse and output 32 bits */ |
1315 | /*------------------------------------------------------------------------------- */ | 1336 | /*------------------------------------------------------------------------------- */ |
1316 | .globl out32r | 1337 | .globl out32r |
1317 | out32r: | 1338 | out32r: |
1318 | stwbrx r4,r0,r3 | 1339 | stwbrx r4,r0,r3 |
1319 | blr | 1340 | blr |
1320 | 1341 | ||
1321 | /*------------------------------------------------------------------------------- */ | 1342 | /*------------------------------------------------------------------------------- */ |
1322 | /* Function: in16 */ | 1343 | /* Function: in16 */ |
1323 | /* Description: Input 16 bits */ | 1344 | /* Description: Input 16 bits */ |
1324 | /*------------------------------------------------------------------------------- */ | 1345 | /*------------------------------------------------------------------------------- */ |
1325 | .globl in16 | 1346 | .globl in16 |
1326 | in16: | 1347 | in16: |
1327 | lhz r3,0x0000(r3) | 1348 | lhz r3,0x0000(r3) |
1328 | blr | 1349 | blr |
1329 | 1350 | ||
1330 | /*------------------------------------------------------------------------------- */ | 1351 | /*------------------------------------------------------------------------------- */ |
1331 | /* Function: in16r */ | 1352 | /* Function: in16r */ |
1332 | /* Description: Input 16 bits and byte reverse */ | 1353 | /* Description: Input 16 bits and byte reverse */ |
1333 | /*------------------------------------------------------------------------------- */ | 1354 | /*------------------------------------------------------------------------------- */ |
1334 | .globl in16r | 1355 | .globl in16r |
1335 | in16r: | 1356 | in16r: |
1336 | lhbrx r3,r0,r3 | 1357 | lhbrx r3,r0,r3 |
1337 | blr | 1358 | blr |
1338 | 1359 | ||
1339 | /*------------------------------------------------------------------------------- */ | 1360 | /*------------------------------------------------------------------------------- */ |
1340 | /* Function: in32r */ | 1361 | /* Function: in32r */ |
1341 | /* Description: Input 32 bits and byte reverse */ | 1362 | /* Description: Input 32 bits and byte reverse */ |
1342 | /*------------------------------------------------------------------------------- */ | 1363 | /*------------------------------------------------------------------------------- */ |
1343 | .globl in32r | 1364 | .globl in32r |
1344 | in32r: | 1365 | in32r: |
1345 | lwbrx r3,r0,r3 | 1366 | lwbrx r3,r0,r3 |
1346 | blr | 1367 | blr |
1347 | 1368 | ||
1348 | /* | 1369 | /* |
1349 | * void relocate_code (addr_sp, gd, addr_moni) | 1370 | * void relocate_code (addr_sp, gd, addr_moni) |
1350 | * | 1371 | * |
1351 | * This "function" does not return, instead it continues in RAM | 1372 | * This "function" does not return, instead it continues in RAM |
1352 | * after relocating the monitor code. | 1373 | * after relocating the monitor code. |
1353 | * | 1374 | * |
1354 | * r3 = Relocated stack pointer | 1375 | * r3 = Relocated stack pointer |
1355 | * r4 = Relocated global data pointer | 1376 | * r4 = Relocated global data pointer |
1356 | * r5 = Relocated text pointer | 1377 | * r5 = Relocated text pointer |
1357 | */ | 1378 | */ |
1358 | .globl relocate_code | 1379 | .globl relocate_code |
1359 | relocate_code: | 1380 | relocate_code: |
1360 | #if defined(CONFIG_4xx_DCACHE) || defined(CONFIG_SYS_INIT_DCACHE_CS) | 1381 | #if defined(CONFIG_4xx_DCACHE) || defined(CONFIG_SYS_INIT_DCACHE_CS) |
1361 | /* | 1382 | /* |
1362 | * We need to flush the initial global data (gd_t) before the dcache | 1383 | * We need to flush the initial global data (gd_t) before the dcache |
1363 | * will be invalidated. | 1384 | * will be invalidated. |
1364 | */ | 1385 | */ |
1365 | 1386 | ||
1366 | /* Save registers */ | 1387 | /* Save registers */ |
1367 | mr r9, r3 | 1388 | mr r9, r3 |
1368 | mr r10, r4 | 1389 | mr r10, r4 |
1369 | mr r11, r5 | 1390 | mr r11, r5 |
1370 | 1391 | ||
1371 | /* Flush initial global data range */ | 1392 | /* Flush initial global data range */ |
1372 | mr r3, r4 | 1393 | mr r3, r4 |
1373 | addi r4, r4, CONFIG_SYS_GBL_DATA_SIZE@l | 1394 | addi r4, r4, CONFIG_SYS_GBL_DATA_SIZE@l |
1374 | bl flush_dcache_range | 1395 | bl flush_dcache_range |
1375 | 1396 | ||
1376 | #if defined(CONFIG_SYS_INIT_DCACHE_CS) | 1397 | #if defined(CONFIG_SYS_INIT_DCACHE_CS) |
1377 | /* | 1398 | /* |
1378 | * Undo the earlier data cache set-up for the primordial stack and | 1399 | * Undo the earlier data cache set-up for the primordial stack and |
1379 | * data area. First, invalidate the data cache and then disable data | 1400 | * data area. First, invalidate the data cache and then disable data |
1380 | * cacheability for that area. Finally, restore the EBC values, if | 1401 | * cacheability for that area. Finally, restore the EBC values, if |
1381 | * any. | 1402 | * any. |
1382 | */ | 1403 | */ |
1383 | 1404 | ||
1384 | /* Invalidate the primordial stack and data area in cache */ | 1405 | /* Invalidate the primordial stack and data area in cache */ |
1385 | lis r3, CONFIG_SYS_INIT_RAM_ADDR@h | 1406 | lis r3, CONFIG_SYS_INIT_RAM_ADDR@h |
1386 | ori r3, r3, CONFIG_SYS_INIT_RAM_ADDR@l | 1407 | ori r3, r3, CONFIG_SYS_INIT_RAM_ADDR@l |
1387 | 1408 | ||
1388 | lis r4, CONFIG_SYS_INIT_RAM_END@h | 1409 | lis r4, CONFIG_SYS_INIT_RAM_END@h |
1389 | ori r4, r4, CONFIG_SYS_INIT_RAM_END@l | 1410 | ori r4, r4, CONFIG_SYS_INIT_RAM_END@l |
1390 | add r4, r4, r3 | 1411 | add r4, r4, r3 |
1391 | 1412 | ||
1392 | bl invalidate_dcache_range | 1413 | bl invalidate_dcache_range |
1393 | 1414 | ||
1394 | /* Disable cacheability for the region */ | 1415 | /* Disable cacheability for the region */ |
1395 | mfdccr r3 | 1416 | mfdccr r3 |
1396 | lis r4, ~PPC_128MB_SACR_VALUE(CONFIG_SYS_INIT_RAM_ADDR)@h | 1417 | lis r4, ~PPC_128MB_SACR_VALUE(CONFIG_SYS_INIT_RAM_ADDR)@h |
1397 | ori r4, r4, ~PPC_128MB_SACR_VALUE(CONFIG_SYS_INIT_RAM_ADDR)@l | 1418 | ori r4, r4, ~PPC_128MB_SACR_VALUE(CONFIG_SYS_INIT_RAM_ADDR)@l |
1398 | and r3, r3, r4 | 1419 | and r3, r3, r4 |
1399 | mtdccr r3 | 1420 | mtdccr r3 |
1400 | 1421 | ||
1401 | /* Restore the EBC parameters */ | 1422 | /* Restore the EBC parameters */ |
1402 | li r3, PBxAP | 1423 | li r3, PBxAP |
1403 | mtdcr ebccfga, r3 | 1424 | mtdcr ebccfga, r3 |
1404 | lis r3, PBxAP_VAL@h | 1425 | lis r3, PBxAP_VAL@h |
1405 | ori r3, r3, PBxAP_VAL@l | 1426 | ori r3, r3, PBxAP_VAL@l |
1406 | mtdcr ebccfgd, r3 | 1427 | mtdcr ebccfgd, r3 |
1407 | 1428 | ||
1408 | li r3, PBxCR | 1429 | li r3, PBxCR |
1409 | mtdcr ebccfga, r3 | 1430 | mtdcr ebccfga, r3 |
1410 | lis r3, PBxCR_VAL@h | 1431 | lis r3, PBxCR_VAL@h |
1411 | ori r3, r3, PBxCR_VAL@l | 1432 | ori r3, r3, PBxCR_VAL@l |
1412 | mtdcr ebccfgd, r3 | 1433 | mtdcr ebccfgd, r3 |
1413 | #endif /* defined(CONFIG_SYS_INIT_DCACHE_CS) */ | 1434 | #endif /* defined(CONFIG_SYS_INIT_DCACHE_CS) */ |
1414 | 1435 | ||
1415 | /* Restore registers */ | 1436 | /* Restore registers */ |
1416 | mr r3, r9 | 1437 | mr r3, r9 |
1417 | mr r4, r10 | 1438 | mr r4, r10 |
1418 | mr r5, r11 | 1439 | mr r5, r11 |
1419 | #endif /* defined(CONFIG_4xx_DCACHE) || defined(CONFIG_SYS_INIT_DCACHE_CS) */ | 1440 | #endif /* defined(CONFIG_4xx_DCACHE) || defined(CONFIG_SYS_INIT_DCACHE_CS) */ |
1420 | 1441 | ||
1421 | #ifdef CONFIG_SYS_INIT_RAM_DCACHE | 1442 | #ifdef CONFIG_SYS_INIT_RAM_DCACHE |
1422 | /* | 1443 | /* |
1423 | * Unlock the previously locked d-cache | 1444 | * Unlock the previously locked d-cache |
1424 | */ | 1445 | */ |
1425 | msync | 1446 | msync |
1426 | isync | 1447 | isync |
1427 | /* set TFLOOR/NFLOOR to 0 again */ | 1448 | /* set TFLOOR/NFLOOR to 0 again */ |
1428 | lis r6,0x0001 | 1449 | lis r6,0x0001 |
1429 | ori r6,r6,0xf800 | 1450 | ori r6,r6,0xf800 |
1430 | mtspr dvlim,r6 | 1451 | mtspr dvlim,r6 |
1431 | lis r6,0x0000 | 1452 | lis r6,0x0000 |
1432 | ori r6,r6,0x0000 | 1453 | ori r6,r6,0x0000 |
1433 | mtspr dnv0,r6 | 1454 | mtspr dnv0,r6 |
1434 | mtspr dnv1,r6 | 1455 | mtspr dnv1,r6 |
1435 | mtspr dnv2,r6 | 1456 | mtspr dnv2,r6 |
1436 | mtspr dnv3,r6 | 1457 | mtspr dnv3,r6 |
1437 | mtspr dtv0,r6 | 1458 | mtspr dtv0,r6 |
1438 | mtspr dtv1,r6 | 1459 | mtspr dtv1,r6 |
1439 | mtspr dtv2,r6 | 1460 | mtspr dtv2,r6 |
1440 | mtspr dtv3,r6 | 1461 | mtspr dtv3,r6 |
1441 | msync | 1462 | msync |
1442 | isync | 1463 | isync |
1443 | #endif /* CONFIG_SYS_INIT_RAM_DCACHE */ | 1464 | #endif /* CONFIG_SYS_INIT_RAM_DCACHE */ |
1444 | 1465 | ||
1445 | #if defined(CONFIG_440EP) || defined(CONFIG_440GR) || \ | 1466 | #if defined(CONFIG_440EP) || defined(CONFIG_440GR) || \ |
1446 | defined(CONFIG_440EPX) || defined(CONFIG_440GRX) || \ | 1467 | defined(CONFIG_440EPX) || defined(CONFIG_440GRX) || \ |
1447 | defined(CONFIG_440SP) || defined(CONFIG_440SPE) || \ | 1468 | defined(CONFIG_440SP) || defined(CONFIG_440SPE) || \ |
1448 | defined(CONFIG_460EX) || defined(CONFIG_460GT) || \ | 1469 | defined(CONFIG_460EX) || defined(CONFIG_460GT) || \ |
1449 | defined(CONFIG_460SX) | 1470 | defined(CONFIG_460SX) |
1450 | /* | 1471 | /* |
1451 | * On some 440er platforms the cache is enabled in the first TLB (Boot-CS) | 1472 | * On some 440er platforms the cache is enabled in the first TLB (Boot-CS) |
1452 | * to speed up the boot process. Now this cache needs to be disabled. | 1473 | * to speed up the boot process. Now this cache needs to be disabled. |
1453 | */ | 1474 | */ |
1454 | iccci 0,0 /* Invalidate inst cache */ | 1475 | iccci 0,0 /* Invalidate inst cache */ |
1455 | dccci 0,0 /* Invalidate data cache, now no longer our stack */ | 1476 | dccci 0,0 /* Invalidate data cache, now no longer our stack */ |
1456 | sync | 1477 | sync |
1457 | isync | 1478 | isync |
1458 | 1479 | ||
1459 | /* Clear all potential pending exceptions */ | 1480 | /* Clear all potential pending exceptions */ |
1460 | mfspr r1,mcsr | 1481 | mfspr r1,mcsr |
1461 | mtspr mcsr,r1 | 1482 | mtspr mcsr,r1 |
1462 | #ifdef CONFIG_SYS_TLB_FOR_BOOT_FLASH | 1483 | #ifdef CONFIG_SYS_TLB_FOR_BOOT_FLASH |
1463 | addi r1,r0,CONFIG_SYS_TLB_FOR_BOOT_FLASH /* Use defined TLB */ | 1484 | addi r1,r0,CONFIG_SYS_TLB_FOR_BOOT_FLASH /* Use defined TLB */ |
1464 | #else | 1485 | #else |
1465 | addi r1,r0,0x0000 /* Default TLB entry is #0 */ | 1486 | addi r1,r0,0x0000 /* Default TLB entry is #0 */ |
1466 | #endif /* CONFIG_SYS_TLB_FOR_BOOT_FLASH */ | 1487 | #endif /* CONFIG_SYS_TLB_FOR_BOOT_FLASH */ |
1467 | tlbre r0,r1,0x0002 /* Read contents */ | 1488 | tlbre r0,r1,0x0002 /* Read contents */ |
1468 | ori r0,r0,0x0c00 /* Or in the inhibit, write through bit */ | 1489 | ori r0,r0,0x0c00 /* Or in the inhibit, write through bit */ |
1469 | tlbwe r0,r1,0x0002 /* Save it out */ | 1490 | tlbwe r0,r1,0x0002 /* Save it out */ |
1470 | sync | 1491 | sync |
1471 | isync | 1492 | isync |
1472 | #endif /* defined(CONFIG_440EP) || ... || defined(CONFIG_460GT) */ | 1493 | #endif /* defined(CONFIG_440EP) || ... || defined(CONFIG_460GT) */ |
1473 | mr r1, r3 /* Set new stack pointer */ | 1494 | mr r1, r3 /* Set new stack pointer */ |
1474 | mr r9, r4 /* Save copy of Init Data pointer */ | 1495 | mr r9, r4 /* Save copy of Init Data pointer */ |
1475 | mr r10, r5 /* Save copy of Destination Address */ | 1496 | mr r10, r5 /* Save copy of Destination Address */ |
1476 | 1497 | ||
1477 | mr r3, r5 /* Destination Address */ | 1498 | mr r3, r5 /* Destination Address */ |
1478 | lis r4, CONFIG_SYS_MONITOR_BASE@h /* Source Address */ | 1499 | lis r4, CONFIG_SYS_MONITOR_BASE@h /* Source Address */ |
1479 | ori r4, r4, CONFIG_SYS_MONITOR_BASE@l | 1500 | ori r4, r4, CONFIG_SYS_MONITOR_BASE@l |
1480 | lwz r5, GOT(__init_end) | 1501 | lwz r5, GOT(__init_end) |
1481 | sub r5, r5, r4 | 1502 | sub r5, r5, r4 |
1482 | li r6, L1_CACHE_BYTES /* Cache Line Size */ | 1503 | li r6, L1_CACHE_BYTES /* Cache Line Size */ |
1483 | 1504 | ||
1484 | /* | 1505 | /* |
1485 | * Fix GOT pointer: | 1506 | * Fix GOT pointer: |
1486 | * | 1507 | * |
1487 | * New GOT-PTR = (old GOT-PTR - CONFIG_SYS_MONITOR_BASE) + Destination Address | 1508 | * New GOT-PTR = (old GOT-PTR - CONFIG_SYS_MONITOR_BASE) + Destination Address |
1488 | * | 1509 | * |
1489 | * Offset: | 1510 | * Offset: |
1490 | */ | 1511 | */ |
1491 | sub r15, r10, r4 | 1512 | sub r15, r10, r4 |
1492 | 1513 | ||
1493 | /* First our own GOT */ | 1514 | /* First our own GOT */ |
1494 | add r14, r14, r15 | 1515 | add r14, r14, r15 |
1495 | /* then the one used by the C code */ | 1516 | /* then the one used by the C code */ |
1496 | add r30, r30, r15 | 1517 | add r30, r30, r15 |
1497 | 1518 | ||
1498 | /* | 1519 | /* |
1499 | * Now relocate code | 1520 | * Now relocate code |
1500 | */ | 1521 | */ |
1501 | 1522 | ||
1502 | cmplw cr1,r3,r4 | 1523 | cmplw cr1,r3,r4 |
1503 | addi r0,r5,3 | 1524 | addi r0,r5,3 |
1504 | srwi. r0,r0,2 | 1525 | srwi. r0,r0,2 |
1505 | beq cr1,4f /* In place copy is not necessary */ | 1526 | beq cr1,4f /* In place copy is not necessary */ |
1506 | beq 7f /* Protect against 0 count */ | 1527 | beq 7f /* Protect against 0 count */ |
1507 | mtctr r0 | 1528 | mtctr r0 |
1508 | bge cr1,2f | 1529 | bge cr1,2f |
1509 | 1530 | ||
1510 | la r8,-4(r4) | 1531 | la r8,-4(r4) |
1511 | la r7,-4(r3) | 1532 | la r7,-4(r3) |
1512 | 1: lwzu r0,4(r8) | 1533 | 1: lwzu r0,4(r8) |
1513 | stwu r0,4(r7) | 1534 | stwu r0,4(r7) |
1514 | bdnz 1b | 1535 | bdnz 1b |
1515 | b 4f | 1536 | b 4f |
1516 | 1537 | ||
1517 | 2: slwi r0,r0,2 | 1538 | 2: slwi r0,r0,2 |
1518 | add r8,r4,r0 | 1539 | add r8,r4,r0 |
1519 | add r7,r3,r0 | 1540 | add r7,r3,r0 |
1520 | 3: lwzu r0,-4(r8) | 1541 | 3: lwzu r0,-4(r8) |
1521 | stwu r0,-4(r7) | 1542 | stwu r0,-4(r7) |
1522 | bdnz 3b | 1543 | bdnz 3b |
1523 | 1544 | ||
1524 | /* | 1545 | /* |
1525 | * Now flush the cache: note that we must start from a cache aligned | 1546 | * Now flush the cache: note that we must start from a cache aligned |
1526 | * address. Otherwise we might miss one cache line. | 1547 | * address. Otherwise we might miss one cache line. |
1527 | */ | 1548 | */ |
1528 | 4: cmpwi r6,0 | 1549 | 4: cmpwi r6,0 |
1529 | add r5,r3,r5 | 1550 | add r5,r3,r5 |
1530 | beq 7f /* Always flush prefetch queue in any case */ | 1551 | beq 7f /* Always flush prefetch queue in any case */ |
1531 | subi r0,r6,1 | 1552 | subi r0,r6,1 |
1532 | andc r3,r3,r0 | 1553 | andc r3,r3,r0 |
1533 | mr r4,r3 | 1554 | mr r4,r3 |
1534 | 5: dcbst 0,r4 | 1555 | 5: dcbst 0,r4 |
1535 | add r4,r4,r6 | 1556 | add r4,r4,r6 |
1536 | cmplw r4,r5 | 1557 | cmplw r4,r5 |
1537 | blt 5b | 1558 | blt 5b |
1538 | sync /* Wait for all dcbst to complete on bus */ | 1559 | sync /* Wait for all dcbst to complete on bus */ |
1539 | mr r4,r3 | 1560 | mr r4,r3 |
1540 | 6: icbi 0,r4 | 1561 | 6: icbi 0,r4 |
1541 | add r4,r4,r6 | 1562 | add r4,r4,r6 |
1542 | cmplw r4,r5 | 1563 | cmplw r4,r5 |
1543 | blt 6b | 1564 | blt 6b |
1544 | 7: sync /* Wait for all icbi to complete on bus */ | 1565 | 7: sync /* Wait for all icbi to complete on bus */ |
1545 | isync | 1566 | isync |
1546 | 1567 | ||
1547 | /* | 1568 | /* |
1548 | * We are done. Do not return, instead branch to second part of board | 1569 | * We are done. Do not return, instead branch to second part of board |
1549 | * initialization, now running from RAM. | 1570 | * initialization, now running from RAM. |
1550 | */ | 1571 | */ |
1551 | 1572 | ||
1552 | addi r0, r10, in_ram - _start + _START_OFFSET | 1573 | addi r0, r10, in_ram - _start + _START_OFFSET |
1553 | mtlr r0 | 1574 | mtlr r0 |
1554 | blr /* NEVER RETURNS! */ | 1575 | blr /* NEVER RETURNS! */ |
1555 | 1576 | ||
1556 | in_ram: | 1577 | in_ram: |
1557 | 1578 | ||
1558 | /* | 1579 | /* |
1559 | * Relocation Function, r14 point to got2+0x8000 | 1580 | * Relocation Function, r14 point to got2+0x8000 |
1560 | * | 1581 | * |
1561 | * Adjust got2 pointers, no need to check for 0, this code | 1582 | * Adjust got2 pointers, no need to check for 0, this code |
1562 | * already puts a few entries in the table. | 1583 | * already puts a few entries in the table. |
1563 | */ | 1584 | */ |
1564 | li r0,__got2_entries@sectoff@l | 1585 | li r0,__got2_entries@sectoff@l |
1565 | la r3,GOT(_GOT2_TABLE_) | 1586 | la r3,GOT(_GOT2_TABLE_) |
1566 | lwz r11,GOT(_GOT2_TABLE_) | 1587 | lwz r11,GOT(_GOT2_TABLE_) |
1567 | mtctr r0 | 1588 | mtctr r0 |
1568 | sub r11,r3,r11 | 1589 | sub r11,r3,r11 |
1569 | addi r3,r3,-4 | 1590 | addi r3,r3,-4 |
1570 | 1: lwzu r0,4(r3) | 1591 | 1: lwzu r0,4(r3) |
1571 | add r0,r0,r11 | 1592 | add r0,r0,r11 |
1572 | stw r0,0(r3) | 1593 | stw r0,0(r3) |
1573 | bdnz 1b | 1594 | bdnz 1b |
1574 | 1595 | ||
1575 | /* | 1596 | /* |
1576 | * Now adjust the fixups and the pointers to the fixups | 1597 | * Now adjust the fixups and the pointers to the fixups |
1577 | * in case we need to move ourselves again. | 1598 | * in case we need to move ourselves again. |
1578 | */ | 1599 | */ |
1579 | 2: li r0,__fixup_entries@sectoff@l | 1600 | 2: li r0,__fixup_entries@sectoff@l |
1580 | lwz r3,GOT(_FIXUP_TABLE_) | 1601 | lwz r3,GOT(_FIXUP_TABLE_) |
1581 | cmpwi r0,0 | 1602 | cmpwi r0,0 |
1582 | mtctr r0 | 1603 | mtctr r0 |
1583 | addi r3,r3,-4 | 1604 | addi r3,r3,-4 |
1584 | beq 4f | 1605 | beq 4f |
1585 | 3: lwzu r4,4(r3) | 1606 | 3: lwzu r4,4(r3) |
1586 | lwzux r0,r4,r11 | 1607 | lwzux r0,r4,r11 |
1587 | add r0,r0,r11 | 1608 | add r0,r0,r11 |
1588 | stw r10,0(r3) | 1609 | stw r10,0(r3) |
1589 | stw r0,0(r4) | 1610 | stw r0,0(r4) |
1590 | bdnz 3b | 1611 | bdnz 3b |
1591 | 4: | 1612 | 4: |
1592 | clear_bss: | 1613 | clear_bss: |
1593 | /* | 1614 | /* |
1594 | * Now clear BSS segment | 1615 | * Now clear BSS segment |
1595 | */ | 1616 | */ |
1596 | lwz r3,GOT(__bss_start) | 1617 | lwz r3,GOT(__bss_start) |
1597 | lwz r4,GOT(_end) | 1618 | lwz r4,GOT(_end) |
1598 | 1619 | ||
1599 | cmplw 0, r3, r4 | 1620 | cmplw 0, r3, r4 |
1600 | beq 7f | 1621 | beq 7f |
1601 | 1622 | ||
1602 | li r0, 0 | 1623 | li r0, 0 |
1603 | 1624 | ||
1604 | andi. r5, r4, 3 | 1625 | andi. r5, r4, 3 |
1605 | beq 6f | 1626 | beq 6f |
1606 | sub r4, r4, r5 | 1627 | sub r4, r4, r5 |
1607 | mtctr r5 | 1628 | mtctr r5 |
1608 | mr r5, r4 | 1629 | mr r5, r4 |
1609 | 5: stb r0, 0(r5) | 1630 | 5: stb r0, 0(r5) |
1610 | addi r5, r5, 1 | 1631 | addi r5, r5, 1 |
1611 | bdnz 5b | 1632 | bdnz 5b |
1612 | 6: | 1633 | 6: |
1613 | stw r0, 0(r3) | 1634 | stw r0, 0(r3) |
1614 | addi r3, r3, 4 | 1635 | addi r3, r3, 4 |
1615 | cmplw 0, r3, r4 | 1636 | cmplw 0, r3, r4 |
1616 | bne 6b | 1637 | bne 6b |
1617 | 1638 | ||
1618 | 7: | 1639 | 7: |
1619 | mr r3, r9 /* Init Data pointer */ | 1640 | mr r3, r9 /* Init Data pointer */ |
1620 | mr r4, r10 /* Destination Address */ | 1641 | mr r4, r10 /* Destination Address */ |
1621 | bl board_init_r | 1642 | bl board_init_r |
1622 | 1643 | ||
1623 | /* | 1644 | /* |
1624 | * Copy exception vector code to low memory | 1645 | * Copy exception vector code to low memory |
1625 | * | 1646 | * |
1626 | * r3: dest_addr | 1647 | * r3: dest_addr |
1627 | * r7: source address, r8: end address, r9: target address | 1648 | * r7: source address, r8: end address, r9: target address |
1628 | */ | 1649 | */ |
1629 | .globl trap_init | 1650 | .globl trap_init |
1630 | trap_init: | 1651 | trap_init: |
1631 | lwz r7, GOT(_start_of_vectors) | 1652 | lwz r7, GOT(_start_of_vectors) |
1632 | lwz r8, GOT(_end_of_vectors) | 1653 | lwz r8, GOT(_end_of_vectors) |
1633 | 1654 | ||
1634 | li r9, 0x100 /* reset vector always at 0x100 */ | 1655 | li r9, 0x100 /* reset vector always at 0x100 */ |
1635 | 1656 | ||
1636 | cmplw 0, r7, r8 | 1657 | cmplw 0, r7, r8 |
1637 | bgelr /* return if r7>=r8 - just in case */ | 1658 | bgelr /* return if r7>=r8 - just in case */ |
1638 | 1659 | ||
1639 | mflr r4 /* save link register */ | 1660 | mflr r4 /* save link register */ |
1640 | 1: | 1661 | 1: |
1641 | lwz r0, 0(r7) | 1662 | lwz r0, 0(r7) |
1642 | stw r0, 0(r9) | 1663 | stw r0, 0(r9) |
1643 | addi r7, r7, 4 | 1664 | addi r7, r7, 4 |
1644 | addi r9, r9, 4 | 1665 | addi r9, r9, 4 |
1645 | cmplw 0, r7, r8 | 1666 | cmplw 0, r7, r8 |
1646 | bne 1b | 1667 | bne 1b |
1647 | 1668 | ||
1648 | /* | 1669 | /* |
1649 | * relocate `hdlr' and `int_return' entries | 1670 | * relocate `hdlr' and `int_return' entries |
1650 | */ | 1671 | */ |
1651 | li r7, .L_MachineCheck - _start + _START_OFFSET | 1672 | li r7, .L_MachineCheck - _start + _START_OFFSET |
1652 | li r8, Alignment - _start + _START_OFFSET | 1673 | li r8, Alignment - _start + _START_OFFSET |
1653 | 2: | 1674 | 2: |
1654 | bl trap_reloc | 1675 | bl trap_reloc |
1655 | addi r7, r7, 0x100 /* next exception vector */ | 1676 | addi r7, r7, 0x100 /* next exception vector */ |
1656 | cmplw 0, r7, r8 | 1677 | cmplw 0, r7, r8 |
1657 | blt 2b | 1678 | blt 2b |
1658 | 1679 | ||
1659 | li r7, .L_Alignment - _start + _START_OFFSET | 1680 | li r7, .L_Alignment - _start + _START_OFFSET |
1660 | bl trap_reloc | 1681 | bl trap_reloc |
1661 | 1682 | ||
1662 | li r7, .L_ProgramCheck - _start + _START_OFFSET | 1683 | li r7, .L_ProgramCheck - _start + _START_OFFSET |
1663 | bl trap_reloc | 1684 | bl trap_reloc |
1664 | 1685 | ||
1665 | #ifdef CONFIG_440 | 1686 | #ifdef CONFIG_440 |
1666 | li r7, .L_FPUnavailable - _start + _START_OFFSET | 1687 | li r7, .L_FPUnavailable - _start + _START_OFFSET |
1667 | bl trap_reloc | 1688 | bl trap_reloc |
1668 | 1689 | ||
1669 | li r7, .L_Decrementer - _start + _START_OFFSET | 1690 | li r7, .L_Decrementer - _start + _START_OFFSET |
1670 | bl trap_reloc | 1691 | bl trap_reloc |
1671 | 1692 | ||
1672 | li r7, .L_APU - _start + _START_OFFSET | 1693 | li r7, .L_APU - _start + _START_OFFSET |
1673 | bl trap_reloc | 1694 | bl trap_reloc |
1674 | 1695 | ||
1675 | li r7, .L_InstructionTLBError - _start + _START_OFFSET | 1696 | li r7, .L_InstructionTLBError - _start + _START_OFFSET |
1676 | bl trap_reloc | 1697 | bl trap_reloc |
1677 | 1698 | ||
1678 | li r7, .L_DataTLBError - _start + _START_OFFSET | 1699 | li r7, .L_DataTLBError - _start + _START_OFFSET |
1679 | bl trap_reloc | 1700 | bl trap_reloc |
1680 | #else /* CONFIG_440 */ | 1701 | #else /* CONFIG_440 */ |
1681 | li r7, .L_PIT - _start + _START_OFFSET | 1702 | li r7, .L_PIT - _start + _START_OFFSET |
1682 | bl trap_reloc | 1703 | bl trap_reloc |
1683 | 1704 | ||
1684 | li r7, .L_InstructionTLBMiss - _start + _START_OFFSET | 1705 | li r7, .L_InstructionTLBMiss - _start + _START_OFFSET |
1685 | bl trap_reloc | 1706 | bl trap_reloc |
1686 | 1707 | ||
1687 | li r7, .L_DataTLBMiss - _start + _START_OFFSET | 1708 | li r7, .L_DataTLBMiss - _start + _START_OFFSET |
1688 | bl trap_reloc | 1709 | bl trap_reloc |
1689 | #endif /* CONFIG_440 */ | 1710 | #endif /* CONFIG_440 */ |
1690 | 1711 | ||
1691 | li r7, .L_DebugBreakpoint - _start + _START_OFFSET | 1712 | li r7, .L_DebugBreakpoint - _start + _START_OFFSET |
1692 | bl trap_reloc | 1713 | bl trap_reloc |
1693 | 1714 | ||
1694 | #if !defined(CONFIG_440) | 1715 | #if !defined(CONFIG_440) |
1695 | addi r7,r0,0x1000 /* set ME bit (Machine Exceptions) */ | 1716 | addi r7,r0,0x1000 /* set ME bit (Machine Exceptions) */ |
1696 | oris r7,r7,0x0002 /* set CE bit (Critical Exceptions) */ | 1717 | oris r7,r7,0x0002 /* set CE bit (Critical Exceptions) */ |
1697 | mtmsr r7 /* change MSR */ | 1718 | mtmsr r7 /* change MSR */ |
1698 | #else | 1719 | #else |
1699 | bl __440_msr_set | 1720 | bl __440_msr_set |
1700 | b __440_msr_continue | 1721 | b __440_msr_continue |
1701 | 1722 | ||
1702 | __440_msr_set: | 1723 | __440_msr_set: |
1703 | addi r7,r0,0x1000 /* set ME bit (Machine Exceptions) */ | 1724 | addi r7,r0,0x1000 /* set ME bit (Machine Exceptions) */ |
1704 | oris r7,r7,0x0002 /* set CE bit (Critical Exceptions) */ | 1725 | oris r7,r7,0x0002 /* set CE bit (Critical Exceptions) */ |
1705 | mtspr srr1,r7 | 1726 | mtspr srr1,r7 |
1706 | mflr r7 | 1727 | mflr r7 |
1707 | mtspr srr0,r7 | 1728 | mtspr srr0,r7 |
1708 | rfi | 1729 | rfi |
1709 | __440_msr_continue: | 1730 | __440_msr_continue: |
1710 | #endif | 1731 | #endif |
1711 | 1732 | ||
1712 | mtlr r4 /* restore link register */ | 1733 | mtlr r4 /* restore link register */ |
1713 | blr | 1734 | blr |
1714 | 1735 | ||
1715 | /* | 1736 | /* |
1716 | * Function: relocate entries for one exception vector | 1737 | * Function: relocate entries for one exception vector |
1717 | */ | 1738 | */ |
1718 | trap_reloc: | 1739 | trap_reloc: |
1719 | lwz r0, 0(r7) /* hdlr ... */ | 1740 | lwz r0, 0(r7) /* hdlr ... */ |
1720 | add r0, r0, r3 /* ... += dest_addr */ | 1741 | add r0, r0, r3 /* ... += dest_addr */ |
1721 | stw r0, 0(r7) | 1742 | stw r0, 0(r7) |
1722 | 1743 | ||
1723 | lwz r0, 4(r7) /* int_return ... */ | 1744 | lwz r0, 4(r7) /* int_return ... */ |
1724 | add r0, r0, r3 /* ... += dest_addr */ | 1745 | add r0, r0, r3 /* ... += dest_addr */ |
1725 | stw r0, 4(r7) | 1746 | stw r0, 4(r7) |
1726 | 1747 | ||
1727 | blr | 1748 | blr |
1728 | 1749 | ||
1729 | #if defined(CONFIG_440) | 1750 | #if defined(CONFIG_440) |
1730 | /*----------------------------------------------------------------------------+ | 1751 | /*----------------------------------------------------------------------------+ |
1731 | | dcbz_area. | 1752 | | dcbz_area. |
1732 | +----------------------------------------------------------------------------*/ | 1753 | +----------------------------------------------------------------------------*/ |
1733 | function_prolog(dcbz_area) | 1754 | function_prolog(dcbz_area) |
1734 | rlwinm. r5,r4,0,27,31 | 1755 | rlwinm. r5,r4,0,27,31 |
1735 | rlwinm r5,r4,27,5,31 | 1756 | rlwinm r5,r4,27,5,31 |
1736 | beq ..d_ra2 | 1757 | beq ..d_ra2 |
1737 | addi r5,r5,0x0001 | 1758 | addi r5,r5,0x0001 |
1738 | ..d_ra2:mtctr r5 | 1759 | ..d_ra2:mtctr r5 |
1739 | ..d_ag2:dcbz r0,r3 | 1760 | ..d_ag2:dcbz r0,r3 |
1740 | addi r3,r3,32 | 1761 | addi r3,r3,32 |
1741 | bdnz ..d_ag2 | 1762 | bdnz ..d_ag2 |
1742 | sync | 1763 | sync |
1743 | blr | 1764 | blr |
1744 | function_epilog(dcbz_area) | 1765 | function_epilog(dcbz_area) |
1745 | #endif /* CONFIG_440 */ | 1766 | #endif /* CONFIG_440 */ |
1746 | #endif /* CONFIG_NAND_SPL */ | 1767 | #endif /* CONFIG_NAND_SPL */ |
1747 | 1768 | ||
1748 | /*------------------------------------------------------------------------------- */ | 1769 | /*------------------------------------------------------------------------------- */ |
1749 | /* Function: in8 */ | 1770 | /* Function: in8 */ |
1750 | /* Description: Input 8 bits */ | 1771 | /* Description: Input 8 bits */ |
1751 | /*------------------------------------------------------------------------------- */ | 1772 | /*------------------------------------------------------------------------------- */ |
1752 | .globl in8 | 1773 | .globl in8 |
1753 | in8: | 1774 | in8: |
1754 | lbz r3,0x0000(r3) | 1775 | lbz r3,0x0000(r3) |
1755 | blr | 1776 | blr |
1756 | 1777 | ||
1757 | /*------------------------------------------------------------------------------- */ | 1778 | /*------------------------------------------------------------------------------- */ |
1758 | /* Function: out8 */ | 1779 | /* Function: out8 */ |
1759 | /* Description: Output 8 bits */ | 1780 | /* Description: Output 8 bits */ |
1760 | /*------------------------------------------------------------------------------- */ | 1781 | /*------------------------------------------------------------------------------- */ |
1761 | .globl out8 | 1782 | .globl out8 |
1762 | out8: | 1783 | out8: |
1763 | stb r4,0x0000(r3) | 1784 | stb r4,0x0000(r3) |
1764 | blr | 1785 | blr |
1765 | 1786 | ||
1766 | /*------------------------------------------------------------------------------- */ | 1787 | /*------------------------------------------------------------------------------- */ |
1767 | /* Function: out32 */ | 1788 | /* Function: out32 */ |
1768 | /* Description: Output 32 bits */ | 1789 | /* Description: Output 32 bits */ |
1769 | /*------------------------------------------------------------------------------- */ | 1790 | /*------------------------------------------------------------------------------- */ |
1770 | .globl out32 | 1791 | .globl out32 |
1771 | out32: | 1792 | out32: |
1772 | stw r4,0x0000(r3) | 1793 | stw r4,0x0000(r3) |
1773 | blr | 1794 | blr |
1774 | 1795 | ||
1775 | /*------------------------------------------------------------------------------- */ | 1796 | /*------------------------------------------------------------------------------- */ |
1776 | /* Function: in32 */ | 1797 | /* Function: in32 */ |
1777 | /* Description: Input 32 bits */ | 1798 | /* Description: Input 32 bits */ |
1778 | /*------------------------------------------------------------------------------- */ | 1799 | /*------------------------------------------------------------------------------- */ |
1779 | .globl in32 | 1800 | .globl in32 |
1780 | in32: | 1801 | in32: |
1781 | lwz 3,0x0000(3) | 1802 | lwz 3,0x0000(3) |
1782 | blr | 1803 | blr |
1783 | 1804 | ||
1784 | /**************************************************************************/ | 1805 | /**************************************************************************/ |
1785 | /* PPC405EP specific stuff */ | 1806 | /* PPC405EP specific stuff */ |
1786 | /**************************************************************************/ | 1807 | /**************************************************************************/ |
1787 | #ifdef CONFIG_405EP | 1808 | #ifdef CONFIG_405EP |
1788 | ppc405ep_init: | 1809 | ppc405ep_init: |
1789 | 1810 | ||
1790 | #ifdef CONFIG_BUBINGA | 1811 | #ifdef CONFIG_BUBINGA |
1791 | /* | 1812 | /* |
1792 | * Initialize EBC chip selects 1 & 4 and GPIO pins (for alternate | 1813 | * Initialize EBC chip selects 1 & 4 and GPIO pins (for alternate |
1793 | * function) to support FPGA and NVRAM accesses below. | 1814 | * function) to support FPGA and NVRAM accesses below. |
1794 | */ | 1815 | */ |
1795 | 1816 | ||
1796 | lis r3,GPIO0_OSRH@h /* config GPIO output select */ | 1817 | lis r3,GPIO0_OSRH@h /* config GPIO output select */ |
1797 | ori r3,r3,GPIO0_OSRH@l | 1818 | ori r3,r3,GPIO0_OSRH@l |
1798 | lis r4,CONFIG_SYS_GPIO0_OSRH@h | 1819 | lis r4,CONFIG_SYS_GPIO0_OSRH@h |
1799 | ori r4,r4,CONFIG_SYS_GPIO0_OSRH@l | 1820 | ori r4,r4,CONFIG_SYS_GPIO0_OSRH@l |
1800 | stw r4,0(r3) | 1821 | stw r4,0(r3) |
1801 | lis r3,GPIO0_OSRL@h | 1822 | lis r3,GPIO0_OSRL@h |
1802 | ori r3,r3,GPIO0_OSRL@l | 1823 | ori r3,r3,GPIO0_OSRL@l |
1803 | lis r4,CONFIG_SYS_GPIO0_OSRL@h | 1824 | lis r4,CONFIG_SYS_GPIO0_OSRL@h |
1804 | ori r4,r4,CONFIG_SYS_GPIO0_OSRL@l | 1825 | ori r4,r4,CONFIG_SYS_GPIO0_OSRL@l |
1805 | stw r4,0(r3) | 1826 | stw r4,0(r3) |
1806 | 1827 | ||
1807 | lis r3,GPIO0_ISR1H@h /* config GPIO input select */ | 1828 | lis r3,GPIO0_ISR1H@h /* config GPIO input select */ |
1808 | ori r3,r3,GPIO0_ISR1H@l | 1829 | ori r3,r3,GPIO0_ISR1H@l |
1809 | lis r4,CONFIG_SYS_GPIO0_ISR1H@h | 1830 | lis r4,CONFIG_SYS_GPIO0_ISR1H@h |
1810 | ori r4,r4,CONFIG_SYS_GPIO0_ISR1H@l | 1831 | ori r4,r4,CONFIG_SYS_GPIO0_ISR1H@l |
1811 | stw r4,0(r3) | 1832 | stw r4,0(r3) |
1812 | lis r3,GPIO0_ISR1L@h | 1833 | lis r3,GPIO0_ISR1L@h |
1813 | ori r3,r3,GPIO0_ISR1L@l | 1834 | ori r3,r3,GPIO0_ISR1L@l |
1814 | lis r4,CONFIG_SYS_GPIO0_ISR1L@h | 1835 | lis r4,CONFIG_SYS_GPIO0_ISR1L@h |
1815 | ori r4,r4,CONFIG_SYS_GPIO0_ISR1L@l | 1836 | ori r4,r4,CONFIG_SYS_GPIO0_ISR1L@l |
1816 | stw r4,0(r3) | 1837 | stw r4,0(r3) |
1817 | 1838 | ||
1818 | lis r3,GPIO0_TSRH@h /* config GPIO three-state select */ | 1839 | lis r3,GPIO0_TSRH@h /* config GPIO three-state select */ |
1819 | ori r3,r3,GPIO0_TSRH@l | 1840 | ori r3,r3,GPIO0_TSRH@l |
1820 | lis r4,CONFIG_SYS_GPIO0_TSRH@h | 1841 | lis r4,CONFIG_SYS_GPIO0_TSRH@h |
1821 | ori r4,r4,CONFIG_SYS_GPIO0_TSRH@l | 1842 | ori r4,r4,CONFIG_SYS_GPIO0_TSRH@l |
1822 | stw r4,0(r3) | 1843 | stw r4,0(r3) |
1823 | lis r3,GPIO0_TSRL@h | 1844 | lis r3,GPIO0_TSRL@h |
1824 | ori r3,r3,GPIO0_TSRL@l | 1845 | ori r3,r3,GPIO0_TSRL@l |
1825 | lis r4,CONFIG_SYS_GPIO0_TSRL@h | 1846 | lis r4,CONFIG_SYS_GPIO0_TSRL@h |
1826 | ori r4,r4,CONFIG_SYS_GPIO0_TSRL@l | 1847 | ori r4,r4,CONFIG_SYS_GPIO0_TSRL@l |
1827 | stw r4,0(r3) | 1848 | stw r4,0(r3) |
1828 | 1849 | ||
1829 | lis r3,GPIO0_TCR@h /* config GPIO driver output enables */ | 1850 | lis r3,GPIO0_TCR@h /* config GPIO driver output enables */ |
1830 | ori r3,r3,GPIO0_TCR@l | 1851 | ori r3,r3,GPIO0_TCR@l |
1831 | lis r4,CONFIG_SYS_GPIO0_TCR@h | 1852 | lis r4,CONFIG_SYS_GPIO0_TCR@h |
1832 | ori r4,r4,CONFIG_SYS_GPIO0_TCR@l | 1853 | ori r4,r4,CONFIG_SYS_GPIO0_TCR@l |
1833 | stw r4,0(r3) | 1854 | stw r4,0(r3) |
1834 | 1855 | ||
1835 | li r3,pb1ap /* program EBC bank 1 for RTC access */ | 1856 | li r3,pb1ap /* program EBC bank 1 for RTC access */ |
1836 | mtdcr ebccfga,r3 | 1857 | mtdcr ebccfga,r3 |
1837 | lis r3,CONFIG_SYS_EBC_PB1AP@h | 1858 | lis r3,CONFIG_SYS_EBC_PB1AP@h |
1838 | ori r3,r3,CONFIG_SYS_EBC_PB1AP@l | 1859 | ori r3,r3,CONFIG_SYS_EBC_PB1AP@l |
1839 | mtdcr ebccfgd,r3 | 1860 | mtdcr ebccfgd,r3 |
1840 | li r3,pb1cr | 1861 | li r3,pb1cr |
1841 | mtdcr ebccfga,r3 | 1862 | mtdcr ebccfga,r3 |
1842 | lis r3,CONFIG_SYS_EBC_PB1CR@h | 1863 | lis r3,CONFIG_SYS_EBC_PB1CR@h |
1843 | ori r3,r3,CONFIG_SYS_EBC_PB1CR@l | 1864 | ori r3,r3,CONFIG_SYS_EBC_PB1CR@l |
1844 | mtdcr ebccfgd,r3 | 1865 | mtdcr ebccfgd,r3 |
1845 | 1866 | ||
1846 | li r3,pb1ap /* program EBC bank 1 for RTC access */ | 1867 | li r3,pb1ap /* program EBC bank 1 for RTC access */ |
1847 | mtdcr ebccfga,r3 | 1868 | mtdcr ebccfga,r3 |
1848 | lis r3,CONFIG_SYS_EBC_PB1AP@h | 1869 | lis r3,CONFIG_SYS_EBC_PB1AP@h |
1849 | ori r3,r3,CONFIG_SYS_EBC_PB1AP@l | 1870 | ori r3,r3,CONFIG_SYS_EBC_PB1AP@l |
1850 | mtdcr ebccfgd,r3 | 1871 | mtdcr ebccfgd,r3 |
1851 | li r3,pb1cr | 1872 | li r3,pb1cr |
1852 | mtdcr ebccfga,r3 | 1873 | mtdcr ebccfga,r3 |
1853 | lis r3,CONFIG_SYS_EBC_PB1CR@h | 1874 | lis r3,CONFIG_SYS_EBC_PB1CR@h |
1854 | ori r3,r3,CONFIG_SYS_EBC_PB1CR@l | 1875 | ori r3,r3,CONFIG_SYS_EBC_PB1CR@l |
1855 | mtdcr ebccfgd,r3 | 1876 | mtdcr ebccfgd,r3 |
1856 | 1877 | ||
1857 | li r3,pb4ap /* program EBC bank 4 for FPGA access */ | 1878 | li r3,pb4ap /* program EBC bank 4 for FPGA access */ |
1858 | mtdcr ebccfga,r3 | 1879 | mtdcr ebccfga,r3 |
1859 | lis r3,CONFIG_SYS_EBC_PB4AP@h | 1880 | lis r3,CONFIG_SYS_EBC_PB4AP@h |
1860 | ori r3,r3,CONFIG_SYS_EBC_PB4AP@l | 1881 | ori r3,r3,CONFIG_SYS_EBC_PB4AP@l |
1861 | mtdcr ebccfgd,r3 | 1882 | mtdcr ebccfgd,r3 |
1862 | li r3,pb4cr | 1883 | li r3,pb4cr |
1863 | mtdcr ebccfga,r3 | 1884 | mtdcr ebccfga,r3 |
1864 | lis r3,CONFIG_SYS_EBC_PB4CR@h | 1885 | lis r3,CONFIG_SYS_EBC_PB4CR@h |
1865 | ori r3,r3,CONFIG_SYS_EBC_PB4CR@l | 1886 | ori r3,r3,CONFIG_SYS_EBC_PB4CR@l |
1866 | mtdcr ebccfgd,r3 | 1887 | mtdcr ebccfgd,r3 |
1867 | #endif | 1888 | #endif |
1868 | 1889 | ||
1869 | /* | 1890 | /* |
1870 | !----------------------------------------------------------------------- | 1891 | !----------------------------------------------------------------------- |
1871 | ! Check to see if chip is in bypass mode. | 1892 | ! Check to see if chip is in bypass mode. |
1872 | ! If so, write stored CPC0_PLLMR0 and CPC0_PLLMR1 values and perform a | 1893 | ! If so, write stored CPC0_PLLMR0 and CPC0_PLLMR1 values and perform a |
1873 | ! CPU reset Otherwise, skip this step and keep going. | 1894 | ! CPU reset Otherwise, skip this step and keep going. |
1874 | ! Note: Running BIOS in bypass mode is not supported since PLB speed | 1895 | ! Note: Running BIOS in bypass mode is not supported since PLB speed |
1875 | ! will not be fast enough for the SDRAM (min 66MHz) | 1896 | ! will not be fast enough for the SDRAM (min 66MHz) |
1876 | !----------------------------------------------------------------------- | 1897 | !----------------------------------------------------------------------- |
1877 | */ | 1898 | */ |
1878 | mfdcr r5, CPC0_PLLMR1 | 1899 | mfdcr r5, CPC0_PLLMR1 |
1879 | rlwinm r4,r5,1,0x1 /* get system clock source (SSCS) */ | 1900 | rlwinm r4,r5,1,0x1 /* get system clock source (SSCS) */ |
1880 | cmpi cr0,0,r4,0x1 | 1901 | cmpi cr0,0,r4,0x1 |
1881 | 1902 | ||
1882 | beq pll_done /* if SSCS =b'1' then PLL has */ | 1903 | beq pll_done /* if SSCS =b'1' then PLL has */ |
1883 | /* already been set */ | 1904 | /* already been set */ |
1884 | /* and CPU has been reset */ | 1905 | /* and CPU has been reset */ |
1885 | /* so skip to next section */ | 1906 | /* so skip to next section */ |
1886 | 1907 | ||
1887 | #ifdef CONFIG_BUBINGA | 1908 | #ifdef CONFIG_BUBINGA |
1888 | /* | 1909 | /* |
1889 | !----------------------------------------------------------------------- | 1910 | !----------------------------------------------------------------------- |
1890 | ! Read NVRAM to get value to write in PLLMR. | 1911 | ! Read NVRAM to get value to write in PLLMR. |
1891 | ! If value has not been correctly saved, write default value | 1912 | ! If value has not been correctly saved, write default value |
1892 | ! Default config values (assuming on-board 33MHz SYS_CLK) are above. | 1913 | ! Default config values (assuming on-board 33MHz SYS_CLK) are above. |
1893 | ! See CPU_DEFAULT_200 and CPU_DEFAULT_266 above. | 1914 | ! See CPU_DEFAULT_200 and CPU_DEFAULT_266 above. |
1894 | ! | 1915 | ! |
1895 | ! WARNING: This code assumes the first three words in the nvram_t | 1916 | ! WARNING: This code assumes the first three words in the nvram_t |
1896 | ! structure in openbios.h. Changing the beginning of | 1917 | ! structure in openbios.h. Changing the beginning of |
1897 | ! the structure will break this code. | 1918 | ! the structure will break this code. |
1898 | ! | 1919 | ! |
1899 | !----------------------------------------------------------------------- | 1920 | !----------------------------------------------------------------------- |
1900 | */ | 1921 | */ |
1901 | addis r3,0,NVRAM_BASE@h | 1922 | addis r3,0,NVRAM_BASE@h |
1902 | addi r3,r3,NVRAM_BASE@l | 1923 | addi r3,r3,NVRAM_BASE@l |
1903 | 1924 | ||
1904 | lwz r4, 0(r3) | 1925 | lwz r4, 0(r3) |
1905 | addis r5,0,NVRVFY1@h | 1926 | addis r5,0,NVRVFY1@h |
1906 | addi r5,r5,NVRVFY1@l | 1927 | addi r5,r5,NVRVFY1@l |
1907 | cmp cr0,0,r4,r5 /* Compare 1st NVRAM Magic number*/ | 1928 | cmp cr0,0,r4,r5 /* Compare 1st NVRAM Magic number*/ |
1908 | bne ..no_pllset | 1929 | bne ..no_pllset |
1909 | addi r3,r3,4 | 1930 | addi r3,r3,4 |
1910 | lwz r4, 0(r3) | 1931 | lwz r4, 0(r3) |
1911 | addis r5,0,NVRVFY2@h | 1932 | addis r5,0,NVRVFY2@h |
1912 | addi r5,r5,NVRVFY2@l | 1933 | addi r5,r5,NVRVFY2@l |
1913 | cmp cr0,0,r4,r5 /* Compare 2 NVRAM Magic number */ | 1934 | cmp cr0,0,r4,r5 /* Compare 2 NVRAM Magic number */ |
1914 | bne ..no_pllset | 1935 | bne ..no_pllset |
1915 | addi r3,r3,8 /* Skip over conf_size */ | 1936 | addi r3,r3,8 /* Skip over conf_size */ |
1916 | lwz r4, 4(r3) /* Load PLLMR1 value from NVRAM */ | 1937 | lwz r4, 4(r3) /* Load PLLMR1 value from NVRAM */ |
1917 | lwz r3, 0(r3) /* Load PLLMR0 value from NVRAM */ | 1938 | lwz r3, 0(r3) /* Load PLLMR0 value from NVRAM */ |
1918 | rlwinm r5,r4,1,0x1 /* get system clock source (SSCS) */ | 1939 | rlwinm r5,r4,1,0x1 /* get system clock source (SSCS) */ |
1919 | cmpi cr0,0,r5,1 /* See if PLL is locked */ | 1940 | cmpi cr0,0,r5,1 /* See if PLL is locked */ |
1920 | beq pll_write | 1941 | beq pll_write |
1921 | ..no_pllset: | 1942 | ..no_pllset: |
1922 | #endif /* CONFIG_BUBINGA */ | 1943 | #endif /* CONFIG_BUBINGA */ |
1923 | 1944 | ||
1924 | #ifdef CONFIG_TAIHU | 1945 | #ifdef CONFIG_TAIHU |
1925 | mfdcr r4, CPC0_BOOT | 1946 | mfdcr r4, CPC0_BOOT |
1926 | andi. r5, r4, CPC0_BOOT_SEP@l | 1947 | andi. r5, r4, CPC0_BOOT_SEP@l |
1927 | bne strap_1 /* serial eeprom present */ | 1948 | bne strap_1 /* serial eeprom present */ |
1928 | addis r5,0,CPLD_REG0_ADDR@h | 1949 | addis r5,0,CPLD_REG0_ADDR@h |
1929 | ori r5,r5,CPLD_REG0_ADDR@l | 1950 | ori r5,r5,CPLD_REG0_ADDR@l |
1930 | andi. r5, r5, 0x10 | 1951 | andi. r5, r5, 0x10 |
1931 | bne _pci_66mhz | 1952 | bne _pci_66mhz |
1932 | #endif /* CONFIG_TAIHU */ | 1953 | #endif /* CONFIG_TAIHU */ |
1933 | 1954 | ||
1934 | #if defined(CONFIG_ZEUS) | 1955 | #if defined(CONFIG_ZEUS) |
1935 | mfdcr r4, CPC0_BOOT | 1956 | mfdcr r4, CPC0_BOOT |
1936 | andi. r5, r4, CPC0_BOOT_SEP@l | 1957 | andi. r5, r4, CPC0_BOOT_SEP@l |
1937 | bne strap_1 /* serial eeprom present */ | 1958 | bne strap_1 /* serial eeprom present */ |
1938 | lis r3,0x0000 | 1959 | lis r3,0x0000 |
1939 | addi r3,r3,0x3030 | 1960 | addi r3,r3,0x3030 |
1940 | lis r4,0x8042 | 1961 | lis r4,0x8042 |
1941 | addi r4,r4,0x223e | 1962 | addi r4,r4,0x223e |
1942 | b 1f | 1963 | b 1f |
1943 | strap_1: | 1964 | strap_1: |
1944 | mfdcr r3, CPC0_PLLMR0 | 1965 | mfdcr r3, CPC0_PLLMR0 |
1945 | mfdcr r4, CPC0_PLLMR1 | 1966 | mfdcr r4, CPC0_PLLMR1 |
1946 | b 1f | 1967 | b 1f |
1947 | #endif | 1968 | #endif |
1948 | 1969 | ||
1949 | addis r3,0,PLLMR0_DEFAULT@h /* PLLMR0 default value */ | 1970 | addis r3,0,PLLMR0_DEFAULT@h /* PLLMR0 default value */ |
1950 | ori r3,r3,PLLMR0_DEFAULT@l /* */ | 1971 | ori r3,r3,PLLMR0_DEFAULT@l /* */ |
1951 | addis r4,0,PLLMR1_DEFAULT@h /* PLLMR1 default value */ | 1972 | addis r4,0,PLLMR1_DEFAULT@h /* PLLMR1 default value */ |
1952 | ori r4,r4,PLLMR1_DEFAULT@l /* */ | 1973 | ori r4,r4,PLLMR1_DEFAULT@l /* */ |
1953 | 1974 | ||
1954 | #ifdef CONFIG_TAIHU | 1975 | #ifdef CONFIG_TAIHU |
1955 | b 1f | 1976 | b 1f |
1956 | _pci_66mhz: | 1977 | _pci_66mhz: |
1957 | addis r3,0,PLLMR0_DEFAULT_PCI66@h | 1978 | addis r3,0,PLLMR0_DEFAULT_PCI66@h |
1958 | ori r3,r3,PLLMR0_DEFAULT_PCI66@l | 1979 | ori r3,r3,PLLMR0_DEFAULT_PCI66@l |
1959 | addis r4,0,PLLMR1_DEFAULT_PCI66@h | 1980 | addis r4,0,PLLMR1_DEFAULT_PCI66@h |
1960 | ori r4,r4,PLLMR1_DEFAULT_PCI66@l | 1981 | ori r4,r4,PLLMR1_DEFAULT_PCI66@l |
1961 | b 1f | 1982 | b 1f |
1962 | strap_1: | 1983 | strap_1: |
1963 | mfdcr r3, CPC0_PLLMR0 | 1984 | mfdcr r3, CPC0_PLLMR0 |
1964 | mfdcr r4, CPC0_PLLMR1 | 1985 | mfdcr r4, CPC0_PLLMR1 |
1965 | #endif /* CONFIG_TAIHU */ | 1986 | #endif /* CONFIG_TAIHU */ |
1966 | 1987 | ||
1967 | 1: | 1988 | 1: |
1968 | b pll_write /* Write the CPC0_PLLMR with new value */ | 1989 | b pll_write /* Write the CPC0_PLLMR with new value */ |
1969 | 1990 | ||
1970 | pll_done: | 1991 | pll_done: |
1971 | /* | 1992 | /* |
1972 | !----------------------------------------------------------------------- | 1993 | !----------------------------------------------------------------------- |
1973 | ! Clear Soft Reset Register | 1994 | ! Clear Soft Reset Register |
1974 | ! This is needed to enable PCI if not booting from serial EPROM | 1995 | ! This is needed to enable PCI if not booting from serial EPROM |
1975 | !----------------------------------------------------------------------- | 1996 | !----------------------------------------------------------------------- |
1976 | */ | 1997 | */ |
1977 | addi r3, 0, 0x0 | 1998 | addi r3, 0, 0x0 |
1978 | mtdcr CPC0_SRR, r3 | 1999 | mtdcr CPC0_SRR, r3 |
1979 | 2000 | ||
1980 | addis r3,0,0x0010 | 2001 | addis r3,0,0x0010 |
1981 | mtctr r3 | 2002 | mtctr r3 |
1982 | pci_wait: | 2003 | pci_wait: |
1983 | bdnz pci_wait | 2004 | bdnz pci_wait |
1984 | 2005 | ||
1985 | blr /* return to main code */ | 2006 | blr /* return to main code */ |
1986 | 2007 | ||
1987 | /* | 2008 | /* |
1988 | !----------------------------------------------------------------------------- | 2009 | !----------------------------------------------------------------------------- |
1989 | ! Function: pll_write | 2010 | ! Function: pll_write |
1990 | ! Description: Updates the value of the CPC0_PLLMR according to CMOS27E documentation | 2011 | ! Description: Updates the value of the CPC0_PLLMR according to CMOS27E documentation |
1991 | ! That is: | 2012 | ! That is: |
1992 | ! 1. Pll is first disabled (de-activated by putting in bypass mode) | 2013 | ! 1. Pll is first disabled (de-activated by putting in bypass mode) |
1993 | ! 2. PLL is reset | 2014 | ! 2. PLL is reset |
1994 | ! 3. Clock dividers are set while PLL is held in reset and bypassed | 2015 | ! 3. Clock dividers are set while PLL is held in reset and bypassed |
1995 | ! 4. PLL Reset is cleared | 2016 | ! 4. PLL Reset is cleared |
1996 | ! 5. Wait 100us for PLL to lock | 2017 | ! 5. Wait 100us for PLL to lock |
1997 | ! 6. A core reset is performed | 2018 | ! 6. A core reset is performed |
1998 | ! Input: r3 = Value to write to CPC0_PLLMR0 | 2019 | ! Input: r3 = Value to write to CPC0_PLLMR0 |
1999 | ! Input: r4 = Value to write to CPC0_PLLMR1 | 2020 | ! Input: r4 = Value to write to CPC0_PLLMR1 |
2000 | ! Output r3 = none | 2021 | ! Output r3 = none |
2001 | !----------------------------------------------------------------------------- | 2022 | !----------------------------------------------------------------------------- |
2002 | */ | 2023 | */ |
2003 | pll_write: | 2024 | pll_write: |
2004 | mfdcr r5, CPC0_UCR | 2025 | mfdcr r5, CPC0_UCR |
2005 | andis. r5,r5,0xFFFF | 2026 | andis. r5,r5,0xFFFF |
2006 | ori r5,r5,0x0101 /* Stop the UART clocks */ | 2027 | ori r5,r5,0x0101 /* Stop the UART clocks */ |
2007 | mtdcr CPC0_UCR,r5 /* Before changing PLL */ | 2028 | mtdcr CPC0_UCR,r5 /* Before changing PLL */ |
2008 | 2029 | ||
2009 | mfdcr r5, CPC0_PLLMR1 | 2030 | mfdcr r5, CPC0_PLLMR1 |
2010 | rlwinm r5,r5,0,0x7FFFFFFF /* Disable PLL */ | 2031 | rlwinm r5,r5,0,0x7FFFFFFF /* Disable PLL */ |
2011 | mtdcr CPC0_PLLMR1,r5 | 2032 | mtdcr CPC0_PLLMR1,r5 |
2012 | oris r5,r5,0x4000 /* Set PLL Reset */ | 2033 | oris r5,r5,0x4000 /* Set PLL Reset */ |
2013 | mtdcr CPC0_PLLMR1,r5 | 2034 | mtdcr CPC0_PLLMR1,r5 |
2014 | 2035 | ||
2015 | mtdcr CPC0_PLLMR0,r3 /* Set clock dividers */ | 2036 | mtdcr CPC0_PLLMR0,r3 /* Set clock dividers */ |
2016 | rlwinm r5,r4,0,0x3FFFFFFF /* Reset & Bypass new PLL dividers */ | 2037 | rlwinm r5,r4,0,0x3FFFFFFF /* Reset & Bypass new PLL dividers */ |
2017 | oris r5,r5,0x4000 /* Set PLL Reset */ | 2038 | oris r5,r5,0x4000 /* Set PLL Reset */ |
2018 | mtdcr CPC0_PLLMR1,r5 /* Set clock dividers */ | 2039 | mtdcr CPC0_PLLMR1,r5 /* Set clock dividers */ |
2019 | rlwinm r5,r5,0,0xBFFFFFFF /* Clear PLL Reset */ | 2040 | rlwinm r5,r5,0,0xBFFFFFFF /* Clear PLL Reset */ |
2020 | mtdcr CPC0_PLLMR1,r5 | 2041 | mtdcr CPC0_PLLMR1,r5 |
2021 | 2042 | ||
2022 | /* | 2043 | /* |
2023 | ! Wait min of 100us for PLL to lock. | 2044 | ! Wait min of 100us for PLL to lock. |
2024 | ! See CMOS 27E databook for more info. | 2045 | ! See CMOS 27E databook for more info. |
2025 | ! At 200MHz, that means waiting 20,000 instructions | 2046 | ! At 200MHz, that means waiting 20,000 instructions |
2026 | */ | 2047 | */ |
2027 | addi r3,0,20000 /* 2000 = 0x4e20 */ | 2048 | addi r3,0,20000 /* 2000 = 0x4e20 */ |
2028 | mtctr r3 | 2049 | mtctr r3 |
2029 | pll_wait: | 2050 | pll_wait: |
2030 | bdnz pll_wait | 2051 | bdnz pll_wait |
2031 | 2052 | ||
2032 | oris r5,r5,0x8000 /* Enable PLL */ | 2053 | oris r5,r5,0x8000 /* Enable PLL */ |
2033 | mtdcr CPC0_PLLMR1,r5 /* Engage */ | 2054 | mtdcr CPC0_PLLMR1,r5 /* Engage */ |
2034 | 2055 | ||
2035 | /* | 2056 | /* |
2036 | * Reset CPU to guarantee timings are OK | 2057 | * Reset CPU to guarantee timings are OK |
2037 | * Not sure if this is needed... | 2058 | * Not sure if this is needed... |
2038 | */ | 2059 | */ |
2039 | addis r3,0,0x1000 | 2060 | addis r3,0,0x1000 |
2040 | mtspr dbcr0,r3 /* This will cause a CPU core reset, and */ | 2061 | mtspr dbcr0,r3 /* This will cause a CPU core reset, and */ |
2041 | /* execution will continue from the poweron */ | 2062 | /* execution will continue from the poweron */ |
2042 | /* vector of 0xfffffffc */ | 2063 | /* vector of 0xfffffffc */ |
2043 | #endif /* CONFIG_405EP */ | 2064 | #endif /* CONFIG_405EP */ |
2044 | 2065 | ||
2045 | #if defined(CONFIG_440) | 2066 | #if defined(CONFIG_440) |
2046 | /*----------------------------------------------------------------------------+ | 2067 | /*----------------------------------------------------------------------------+ |
2047 | | mttlb3. | 2068 | | mttlb3. |
2048 | +----------------------------------------------------------------------------*/ | 2069 | +----------------------------------------------------------------------------*/ |
2049 | function_prolog(mttlb3) | 2070 | function_prolog(mttlb3) |
2050 | TLBWE(4,3,2) | 2071 | TLBWE(4,3,2) |
2051 | blr | 2072 | blr |
2052 | function_epilog(mttlb3) | 2073 | function_epilog(mttlb3) |
2053 | 2074 | ||
2054 | /*----------------------------------------------------------------------------+ | 2075 | /*----------------------------------------------------------------------------+ |
2055 | | mftlb3. | 2076 | | mftlb3. |
2056 | +----------------------------------------------------------------------------*/ | 2077 | +----------------------------------------------------------------------------*/ |
2057 | function_prolog(mftlb3) | 2078 | function_prolog(mftlb3) |
2058 | TLBRE(3,3,2) | 2079 | TLBRE(3,3,2) |
2059 | blr | 2080 | blr |
2060 | function_epilog(mftlb3) | 2081 | function_epilog(mftlb3) |
2061 | 2082 | ||
2062 | /*----------------------------------------------------------------------------+ | 2083 | /*----------------------------------------------------------------------------+ |
2063 | | mttlb2. | 2084 | | mttlb2. |
2064 | +----------------------------------------------------------------------------*/ | 2085 | +----------------------------------------------------------------------------*/ |
2065 | function_prolog(mttlb2) | 2086 | function_prolog(mttlb2) |
2066 | TLBWE(4,3,1) | 2087 | TLBWE(4,3,1) |
2067 | blr | 2088 | blr |
2068 | function_epilog(mttlb2) | 2089 | function_epilog(mttlb2) |
2069 | 2090 | ||
2070 | /*----------------------------------------------------------------------------+ | 2091 | /*----------------------------------------------------------------------------+ |
2071 | | mftlb2. | 2092 | | mftlb2. |
2072 | +----------------------------------------------------------------------------*/ | 2093 | +----------------------------------------------------------------------------*/ |
2073 | function_prolog(mftlb2) | 2094 | function_prolog(mftlb2) |
2074 | TLBRE(3,3,1) | 2095 | TLBRE(3,3,1) |
2075 | blr | 2096 | blr |
2076 | function_epilog(mftlb2) | 2097 | function_epilog(mftlb2) |
2077 | 2098 | ||
2078 | /*----------------------------------------------------------------------------+ | 2099 | /*----------------------------------------------------------------------------+ |
2079 | | mttlb1. | 2100 | | mttlb1. |
2080 | +----------------------------------------------------------------------------*/ | 2101 | +----------------------------------------------------------------------------*/ |
2081 | function_prolog(mttlb1) | 2102 | function_prolog(mttlb1) |
2082 | TLBWE(4,3,0) | 2103 | TLBWE(4,3,0) |
2083 | blr | 2104 | blr |
2084 | function_epilog(mttlb1) | 2105 | function_epilog(mttlb1) |
2085 | 2106 | ||
2086 | /*----------------------------------------------------------------------------+ | 2107 | /*----------------------------------------------------------------------------+ |
2087 | | mftlb1. | 2108 | | mftlb1. |
2088 | +----------------------------------------------------------------------------*/ | 2109 | +----------------------------------------------------------------------------*/ |
2089 | function_prolog(mftlb1) | 2110 | function_prolog(mftlb1) |
2090 | TLBRE(3,3,0) | 2111 | TLBRE(3,3,0) |
2091 | blr | 2112 | blr |
2092 | function_epilog(mftlb1) | 2113 | function_epilog(mftlb1) |
2093 | #endif /* CONFIG_440 */ | 2114 | #endif /* CONFIG_440 */ |
2094 | 2115 | ||
2095 | #if defined(CONFIG_NAND_SPL) | 2116 | #if defined(CONFIG_NAND_SPL) |
2096 | /* | 2117 | /* |
2097 | * void nand_boot_relocate(dst, src, bytes) | 2118 | * void nand_boot_relocate(dst, src, bytes) |
2098 | * | 2119 | * |
2099 | * r3 = Destination address to copy code to (in SDRAM) | 2120 | * r3 = Destination address to copy code to (in SDRAM) |
2100 | * r4 = Source address to copy code from | 2121 | * r4 = Source address to copy code from |
2101 | * r5 = size to copy in bytes | 2122 | * r5 = size to copy in bytes |
2102 | */ | 2123 | */ |
2103 | nand_boot_relocate: | 2124 | nand_boot_relocate: |
2104 | mr r6,r3 | 2125 | mr r6,r3 |
2105 | mr r7,r4 | 2126 | mr r7,r4 |
2106 | mflr r8 | 2127 | mflr r8 |
2107 | 2128 | ||
2108 | /* | 2129 | /* |
2109 | * Copy SPL from icache into SDRAM | 2130 | * Copy SPL from icache into SDRAM |
2110 | */ | 2131 | */ |
2111 | subi r3,r3,4 | 2132 | subi r3,r3,4 |
2112 | subi r4,r4,4 | 2133 | subi r4,r4,4 |
2113 | srwi r5,r5,2 | 2134 | srwi r5,r5,2 |
2114 | mtctr r5 | 2135 | mtctr r5 |
2115 | ..spl_loop: | 2136 | ..spl_loop: |
2116 | lwzu r0,4(r4) | 2137 | lwzu r0,4(r4) |
2117 | stwu r0,4(r3) | 2138 | stwu r0,4(r3) |
2118 | bdnz ..spl_loop | 2139 | bdnz ..spl_loop |
2119 | 2140 | ||
2120 | /* | 2141 | /* |
2121 | * Calculate "corrected" link register, so that we "continue" | 2142 | * Calculate "corrected" link register, so that we "continue" |
2122 | * in execution in destination range | 2143 | * in execution in destination range |
2123 | */ | 2144 | */ |
2124 | sub r3,r7,r6 /* r3 = src - dst */ | 2145 | sub r3,r7,r6 /* r3 = src - dst */ |
2125 | sub r8,r8,r3 /* r8 = link-reg - (src - dst) */ | 2146 | sub r8,r8,r3 /* r8 = link-reg - (src - dst) */ |
2126 | mtlr r8 | 2147 | mtlr r8 |
2127 | blr | 2148 | blr |
2128 | 2149 | ||
2129 | nand_boot_common: | 2150 | nand_boot_common: |
2130 | /* | 2151 | /* |
2131 | * First initialize SDRAM. It has to be available *before* calling | 2152 | * First initialize SDRAM. It has to be available *before* calling |
2132 | * nand_boot(). | 2153 | * nand_boot(). |
2133 | */ | 2154 | */ |
2134 | lis r3,CONFIG_SYS_SDRAM_BASE@h | 2155 | lis r3,CONFIG_SYS_SDRAM_BASE@h |
2135 | ori r3,r3,CONFIG_SYS_SDRAM_BASE@l | 2156 | ori r3,r3,CONFIG_SYS_SDRAM_BASE@l |
2136 | bl initdram | 2157 | bl initdram |
2137 | 2158 | ||
2138 | /* | 2159 | /* |
2139 | * Now copy the 4k SPL code into SDRAM and continue execution | 2160 | * Now copy the 4k SPL code into SDRAM and continue execution |
2140 | * from there. | 2161 | * from there. |
2141 | */ | 2162 | */ |
2142 | lis r3,CONFIG_SYS_NAND_BOOT_SPL_DST@h | 2163 | lis r3,CONFIG_SYS_NAND_BOOT_SPL_DST@h |
2143 | ori r3,r3,CONFIG_SYS_NAND_BOOT_SPL_DST@l | 2164 | ori r3,r3,CONFIG_SYS_NAND_BOOT_SPL_DST@l |
2144 | lis r4,CONFIG_SYS_NAND_BOOT_SPL_SRC@h | 2165 | lis r4,CONFIG_SYS_NAND_BOOT_SPL_SRC@h |
2145 | ori r4,r4,CONFIG_SYS_NAND_BOOT_SPL_SRC@l | 2166 | ori r4,r4,CONFIG_SYS_NAND_BOOT_SPL_SRC@l |
2146 | lis r5,CONFIG_SYS_NAND_BOOT_SPL_SIZE@h | 2167 | lis r5,CONFIG_SYS_NAND_BOOT_SPL_SIZE@h |
2147 | ori r5,r5,CONFIG_SYS_NAND_BOOT_SPL_SIZE@l | 2168 | ori r5,r5,CONFIG_SYS_NAND_BOOT_SPL_SIZE@l |
2148 | bl nand_boot_relocate | 2169 | bl nand_boot_relocate |
2149 | 2170 | ||
2150 | /* | 2171 | /* |
2151 | * We're running from SDRAM now!!! | 2172 | * We're running from SDRAM now!!! |
2152 | * | 2173 | * |
2153 | * It is necessary for 4xx systems to relocate from running at | 2174 | * It is necessary for 4xx systems to relocate from running at |
2154 | * the original location (0xfffffxxx) to somewhere else (SDRAM | 2175 | * the original location (0xfffffxxx) to somewhere else (SDRAM |
2155 | * preferably). This is because CS0 needs to be reconfigured for | 2176 | * preferably). This is because CS0 needs to be reconfigured for |
2156 | * NAND access. And we can't reconfigure this CS when currently | 2177 | * NAND access. And we can't reconfigure this CS when currently |
2157 | * "running" from it. | 2178 | * "running" from it. |
2158 | */ | 2179 | */ |
2159 | 2180 | ||
2160 | /* | 2181 | /* |
2161 | * Finally call nand_boot() to load main NAND U-Boot image from | 2182 | * Finally call nand_boot() to load main NAND U-Boot image from |
2162 | * NAND and jump to it. | 2183 | * NAND and jump to it. |
2163 | */ | 2184 | */ |
2164 | bl nand_boot /* will not return */ | 2185 | bl nand_boot /* will not return */ |
2165 | #endif /* CONFIG_NAND_SPL */ | 2186 | #endif /* CONFIG_NAND_SPL */ |
2166 | 2187 |
include/configs/amcc-common.h
1 | /* | 1 | /* |
2 | * (C) Copyright 2008 | 2 | * (C) Copyright 2008 |
3 | * Stefan Roese, DENX Software Engineering, sr@denx.de. | 3 | * Stefan Roese, DENX Software Engineering, sr@denx.de. |
4 | * | 4 | * |
5 | * Common configuration options for all AMCC boards | 5 | * Common configuration options for all AMCC boards |
6 | * | 6 | * |
7 | * This program is free software; you can redistribute it and/or | 7 | * This program is free software; you can redistribute it and/or |
8 | * modify it under the terms of the GNU General Public License as | 8 | * modify it under the terms of the GNU General Public License as |
9 | * published by the Free Software Foundation; either version 2 of | 9 | * published by the Free Software Foundation; either version 2 of |
10 | * the License, or (at your option) any later version. | 10 | * the License, or (at your option) any later version. |
11 | * | 11 | * |
12 | * This program is distributed in the hope that it will be useful, | 12 | * This program is distributed in the hope that it will be useful, |
13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | 13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of |
14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
15 | * GNU General Public License for more details. | 15 | * GNU General Public License for more details. |
16 | * | 16 | * |
17 | * You should have received a copy of the GNU General Public License | 17 | * You should have received a copy of the GNU General Public License |
18 | * along with this program; if not, write to the Free Software | 18 | * along with this program; if not, write to the Free Software |
19 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, | 19 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, |
20 | * MA 02111-1307 USA | 20 | * MA 02111-1307 USA |
21 | */ | 21 | */ |
22 | 22 | ||
23 | #ifndef __AMCC_COMMON_H | 23 | #ifndef __AMCC_COMMON_H |
24 | #define __AMCC_COMMON_H | 24 | #define __AMCC_COMMON_H |
25 | 25 | ||
26 | #define CONFIG_SYS_SDRAM_BASE 0x00000000 /* _must_ be 0 */ | 26 | #define CONFIG_SYS_SDRAM_BASE 0x00000000 /* _must_ be 0 */ |
27 | #define CONFIG_SYS_MONITOR_BASE TEXT_BASE /* Start of U-Boot */ | 27 | #define CONFIG_SYS_MONITOR_BASE TEXT_BASE /* Start of U-Boot */ |
28 | #define CONFIG_SYS_MONITOR_LEN (0xFFFFFFFF - CONFIG_SYS_MONITOR_BASE + 1) | 28 | #define CONFIG_SYS_MONITOR_LEN (0xFFFFFFFF - CONFIG_SYS_MONITOR_BASE + 1) |
29 | #define CONFIG_SYS_MALLOC_LEN (1 << 20) /* Reserved for malloc */ | 29 | #define CONFIG_SYS_MALLOC_LEN (1 << 20) /* Reserved for malloc */ |
30 | 30 | ||
31 | /* | 31 | /* |
32 | * UART | 32 | * UART |
33 | */ | 33 | */ |
34 | #define CONFIG_BAUDRATE 115200 | 34 | #define CONFIG_BAUDRATE 115200 |
35 | #define CONFIG_SERIAL_MULTI | 35 | #define CONFIG_SERIAL_MULTI |
36 | #define CONFIG_SYS_BAUDRATE_TABLE \ | 36 | #define CONFIG_SYS_BAUDRATE_TABLE \ |
37 | {300, 600, 1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200, 230400} | 37 | {300, 600, 1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200, 230400} |
38 | 38 | ||
39 | /* | 39 | /* |
40 | * I2C | 40 | * I2C |
41 | */ | 41 | */ |
42 | #define CONFIG_HARD_I2C /* I2C with hardware support */ | 42 | #define CONFIG_HARD_I2C /* I2C with hardware support */ |
43 | #define CONFIG_SYS_I2C_SLAVE 0x7F | 43 | #define CONFIG_SYS_I2C_SLAVE 0x7F |
44 | 44 | ||
45 | /* | 45 | /* |
46 | * Ethernet/EMAC/PHY | 46 | * Ethernet/EMAC/PHY |
47 | */ | 47 | */ |
48 | #define CONFIG_PPC4xx_EMAC | 48 | #define CONFIG_PPC4xx_EMAC |
49 | #define CONFIG_MII /* MII PHY management */ | 49 | #define CONFIG_MII /* MII PHY management */ |
50 | #define CONFIG_NET_MULTI | 50 | #define CONFIG_NET_MULTI |
51 | #define CONFIG_NETCONSOLE /* include NetConsole support */ | 51 | #define CONFIG_NETCONSOLE /* include NetConsole support */ |
52 | #if defined(CONFIG_440) | 52 | #if defined(CONFIG_440) |
53 | #define CONFIG_SYS_RX_ETH_BUFFER 32 /* number of eth rx buffers */ | 53 | #define CONFIG_SYS_RX_ETH_BUFFER 32 /* number of eth rx buffers */ |
54 | #else | 54 | #else |
55 | #define CONFIG_SYS_RX_ETH_BUFFER 16 /* number of eth rx buffers */ | 55 | #define CONFIG_SYS_RX_ETH_BUFFER 16 /* number of eth rx buffers */ |
56 | #endif | 56 | #endif |
57 | 57 | ||
58 | /* | 58 | /* |
59 | * Commands | 59 | * Commands |
60 | */ | 60 | */ |
61 | #include <config_cmd_default.h> | 61 | #include <config_cmd_default.h> |
62 | 62 | ||
63 | #define CONFIG_CMD_ASKENV | 63 | #define CONFIG_CMD_ASKENV |
64 | #if defined(CONFIG_440) | 64 | #if defined(CONFIG_440) |
65 | #define CONFIG_CMD_CACHE | 65 | #define CONFIG_CMD_CACHE |
66 | #endif | 66 | #endif |
67 | #define CONFIG_CMD_DHCP | 67 | #define CONFIG_CMD_DHCP |
68 | #define CONFIG_CMD_DIAG | 68 | #define CONFIG_CMD_DIAG |
69 | #define CONFIG_CMD_EEPROM | 69 | #define CONFIG_CMD_EEPROM |
70 | #define CONFIG_CMD_ELF | 70 | #define CONFIG_CMD_ELF |
71 | #define CONFIG_CMD_I2C | 71 | #define CONFIG_CMD_I2C |
72 | #define CONFIG_CMD_IRQ | 72 | #define CONFIG_CMD_IRQ |
73 | #define CONFIG_CMD_MII | 73 | #define CONFIG_CMD_MII |
74 | #define CONFIG_CMD_NET | 74 | #define CONFIG_CMD_NET |
75 | #define CONFIG_CMD_NFS | 75 | #define CONFIG_CMD_NFS |
76 | #define CONFIG_CMD_PING | 76 | #define CONFIG_CMD_PING |
77 | #define CONFIG_CMD_REGINFO | 77 | #define CONFIG_CMD_REGINFO |
78 | 78 | ||
79 | #if defined(CONFIG_SYS_RAMBOOT) | ||
80 | /* | ||
81 | * Disable NOR FLASH commands on RAM-booting version. One main reason for this | ||
82 | * RAM-booting version is boards with NAND and without NOR. This image can | ||
83 | * be used for initial NAND programming. | ||
84 | */ | ||
85 | #define CONFIG_SYS_NO_FLASH | ||
86 | #undef CONFIG_CMD_FLASH | ||
87 | #undef CONFIG_CMD_IMLS | ||
88 | #endif | ||
89 | |||
79 | /* | 90 | /* |
80 | * Miscellaneous configurable options | 91 | * Miscellaneous configurable options |
81 | */ | 92 | */ |
82 | #define CONFIG_BOOTDELAY 5 /* autoboot after 5 seconds */ | 93 | #define CONFIG_BOOTDELAY 5 /* autoboot after 5 seconds */ |
83 | #define CONFIG_SYS_LONGHELP /* undef to save memory */ | 94 | #define CONFIG_SYS_LONGHELP /* undef to save memory */ |
84 | #define CONFIG_SYS_PROMPT "=> " /* Monitor Command Prompt */ | 95 | #define CONFIG_SYS_PROMPT "=> " /* Monitor Command Prompt */ |
85 | #if defined(CONFIG_CMD_KGDB) | 96 | #if defined(CONFIG_CMD_KGDB) |
86 | #define CONFIG_SYS_CBSIZE 1024 /* Console I/O Buffer Size */ | 97 | #define CONFIG_SYS_CBSIZE 1024 /* Console I/O Buffer Size */ |
87 | #else | 98 | #else |
88 | #define CONFIG_SYS_CBSIZE 256 /* Console I/O Buffer Size */ | 99 | #define CONFIG_SYS_CBSIZE 256 /* Console I/O Buffer Size */ |
89 | #endif | 100 | #endif |
90 | #define CONFIG_SYS_PBSIZE (CONFIG_SYS_CBSIZE+sizeof(CONFIG_SYS_PROMPT)+16) | 101 | #define CONFIG_SYS_PBSIZE (CONFIG_SYS_CBSIZE+sizeof(CONFIG_SYS_PROMPT)+16) |
91 | #define CONFIG_SYS_MAXARGS 16 /* max number of command args */ | 102 | #define CONFIG_SYS_MAXARGS 16 /* max number of command args */ |
92 | #define CONFIG_SYS_BARGSIZE CONFIG_SYS_CBSIZE /* Boot Argument Buffer Size */ | 103 | #define CONFIG_SYS_BARGSIZE CONFIG_SYS_CBSIZE /* Boot Argument Buffer Size */ |
93 | 104 | ||
94 | #define CONFIG_SYS_MEMTEST_START 0x0400000 /* memtest works on */ | 105 | #define CONFIG_SYS_MEMTEST_START 0x0400000 /* memtest works on */ |
95 | #define CONFIG_SYS_MEMTEST_END 0x0C00000 /* 4 ... 12 MB in DRAM */ | 106 | #define CONFIG_SYS_MEMTEST_END 0x0C00000 /* 4 ... 12 MB in DRAM */ |
96 | 107 | ||
97 | #define CONFIG_SYS_LOAD_ADDR 0x100000 /* default load address */ | 108 | #define CONFIG_SYS_LOAD_ADDR 0x100000 /* default load address */ |
98 | #define CONFIG_SYS_EXTBDINFO /* To use extended board_into (bd_t) */ | 109 | #define CONFIG_SYS_EXTBDINFO /* To use extended board_into (bd_t) */ |
99 | 110 | ||
100 | #define CONFIG_SYS_HZ 1000 /* decrementer freq: 1 ms ticks */ | 111 | #define CONFIG_SYS_HZ 1000 /* decrementer freq: 1 ms ticks */ |
101 | 112 | ||
102 | #define CONFIG_CMDLINE_EDITING /* add command line history */ | 113 | #define CONFIG_CMDLINE_EDITING /* add command line history */ |
103 | #define CONFIG_AUTO_COMPLETE /* add autocompletion support */ | 114 | #define CONFIG_AUTO_COMPLETE /* add autocompletion support */ |
104 | #define CONFIG_LOOPW /* enable loopw command */ | 115 | #define CONFIG_LOOPW /* enable loopw command */ |
105 | #define CONFIG_MX_CYCLIC /* enable mdc/mwc commands */ | 116 | #define CONFIG_MX_CYCLIC /* enable mdc/mwc commands */ |
106 | #define CONFIG_ZERO_BOOTDELAY_CHECK /* check for keypress on bootdelay==0 */ | 117 | #define CONFIG_ZERO_BOOTDELAY_CHECK /* check for keypress on bootdelay==0 */ |
107 | #define CONFIG_VERSION_VARIABLE /* include version env variable */ | 118 | #define CONFIG_VERSION_VARIABLE /* include version env variable */ |
108 | #define CONFIG_SYS_CONSOLE_INFO_QUIET /* don't print console @ startup*/ | 119 | #define CONFIG_SYS_CONSOLE_INFO_QUIET /* don't print console @ startup*/ |
109 | 120 | ||
110 | #define CONFIG_SYS_HUSH_PARSER /* Use the HUSH parser */ | 121 | #define CONFIG_SYS_HUSH_PARSER /* Use the HUSH parser */ |
111 | #ifdef CONFIG_SYS_HUSH_PARSER | 122 | #ifdef CONFIG_SYS_HUSH_PARSER |
112 | #define CONFIG_SYS_PROMPT_HUSH_PS2 "> " | 123 | #define CONFIG_SYS_PROMPT_HUSH_PS2 "> " |
113 | #endif | 124 | #endif |
114 | 125 | ||
115 | #define CONFIG_LOADS_ECHO /* echo on for serial download */ | 126 | #define CONFIG_LOADS_ECHO /* echo on for serial download */ |
116 | #define CONFIG_SYS_LOADS_BAUD_CHANGE /* allow baudrate change */ | 127 | #define CONFIG_SYS_LOADS_BAUD_CHANGE /* allow baudrate change */ |
117 | 128 | ||
118 | /* | 129 | /* |
119 | * BOOTP options | 130 | * BOOTP options |
120 | */ | 131 | */ |
121 | #define CONFIG_BOOTP_BOOTFILESIZE | 132 | #define CONFIG_BOOTP_BOOTFILESIZE |
122 | #define CONFIG_BOOTP_BOOTPATH | 133 | #define CONFIG_BOOTP_BOOTPATH |
123 | #define CONFIG_BOOTP_GATEWAY | 134 | #define CONFIG_BOOTP_GATEWAY |
124 | #define CONFIG_BOOTP_HOSTNAME | 135 | #define CONFIG_BOOTP_HOSTNAME |
125 | #define CONFIG_BOOTP_SUBNETMASK | 136 | #define CONFIG_BOOTP_SUBNETMASK |
126 | 137 | ||
127 | /* | 138 | /* |
128 | * For booting Linux, the board info and command line data | 139 | * For booting Linux, the board info and command line data |
129 | * have to be in the first 8 MB of memory, since this is | 140 | * have to be in the first 8 MB of memory, since this is |
130 | * the maximum mapped by the Linux kernel during initialization. | 141 | * the maximum mapped by the Linux kernel during initialization. |
131 | */ | 142 | */ |
132 | #define CONFIG_SYS_BOOTMAPSZ (8 << 20) /* Initial Memory map for Linux */ | 143 | #define CONFIG_SYS_BOOTMAPSZ (8 << 20) /* Initial Memory map for Linux */ |
133 | 144 | ||
134 | /* | 145 | /* |
135 | * Internal Definitions | 146 | * Internal Definitions |
136 | */ | 147 | */ |
137 | #if defined(CONFIG_CMD_KGDB) | 148 | #if defined(CONFIG_CMD_KGDB) |
138 | #define CONFIG_KGDB_BAUDRATE 230400 /* speed to run kgdb serial port*/ | 149 | #define CONFIG_KGDB_BAUDRATE 230400 /* speed to run kgdb serial port*/ |
139 | #define CONFIG_KGDB_SER_INDEX 2 /* which serial port to use */ | 150 | #define CONFIG_KGDB_SER_INDEX 2 /* which serial port to use */ |
140 | #endif | 151 | #endif |
141 | 152 | ||
142 | /* | 153 | /* |
143 | * Pass open firmware flat tree | 154 | * Pass open firmware flat tree |
144 | */ | 155 | */ |
145 | #define CONFIG_OF_LIBFDT | 156 | #define CONFIG_OF_LIBFDT |
146 | #define CONFIG_OF_BOARD_SETUP | 157 | #define CONFIG_OF_BOARD_SETUP |
147 | 158 | ||
148 | /* | 159 | /* |
149 | * Booting and default environment | 160 | * Booting and default environment |
150 | */ | 161 | */ |
151 | #define CONFIG_PREBOOT "echo;" \ | 162 | #define CONFIG_PREBOOT "echo;" \ |
152 | "echo Type \"run flash_nfs\" to mount root filesystem over NFS;" \ | 163 | "echo Type \"run flash_nfs\" to mount root filesystem over NFS;" \ |
153 | "echo" | 164 | "echo" |
154 | #define CONFIG_BOOTCOMMAND "run flash_self" | 165 | #define CONFIG_BOOTCOMMAND "run flash_self" |
155 | 166 | ||
156 | /* | 167 | /* |
157 | * Only very few boards have default console not on ttyS0 (like Taishan) | 168 | * Only very few boards have default console not on ttyS0 (like Taishan) |
158 | */ | 169 | */ |
159 | #if !defined(CONFIG_USE_TTY) | 170 | #if !defined(CONFIG_USE_TTY) |
160 | #define CONFIG_USE_TTY ttyS0 | 171 | #define CONFIG_USE_TTY ttyS0 |
161 | #endif | 172 | #endif |
162 | 173 | ||
163 | /* | 174 | /* |
164 | * Only very few boards have default netdev not set to eth0 (like Arches) | 175 | * Only very few boards have default netdev not set to eth0 (like Arches) |
165 | */ | 176 | */ |
166 | #if !defined(CONFIG_USE_NETDEV) | 177 | #if !defined(CONFIG_USE_NETDEV) |
167 | #define CONFIG_USE_NETDEV eth0 | 178 | #define CONFIG_USE_NETDEV eth0 |
168 | #endif | 179 | #endif |
169 | 180 | ||
170 | /* | 181 | /* |
171 | * Only some 4xx PPC's are equipped with an FPU | 182 | * Only some 4xx PPC's are equipped with an FPU |
172 | */ | 183 | */ |
173 | #if defined(CONFIG_440EP) || defined(CONFIG_440EPX) || \ | 184 | #if defined(CONFIG_440EP) || defined(CONFIG_440EPX) || \ |
174 | defined(CONFIG_460EX) || defined(CONFIG_460GT) | 185 | defined(CONFIG_460EX) || defined(CONFIG_460GT) |
175 | #define CONFIG_AMCC_DEF_ENV_ROOTPATH "rootpath=/opt/eldk/ppc_4xxFP\0" | 186 | #define CONFIG_AMCC_DEF_ENV_ROOTPATH "rootpath=/opt/eldk/ppc_4xxFP\0" |
176 | #else | 187 | #else |
177 | #define CONFIG_AMCC_DEF_ENV_ROOTPATH "rootpath=/opt/eldk/ppc_4xx\0" | 188 | #define CONFIG_AMCC_DEF_ENV_ROOTPATH "rootpath=/opt/eldk/ppc_4xx\0" |
178 | #endif | 189 | #endif |
179 | 190 | ||
180 | /* | 191 | /* |
181 | * Only some boards need to extend the bootargs by some additional | 192 | * Only some boards need to extend the bootargs by some additional |
182 | * parameters (like Makalu) | 193 | * parameters (like Makalu) |
183 | */ | 194 | */ |
184 | #if !defined(CONFIG_ADDMISC) | 195 | #if !defined(CONFIG_ADDMISC) |
185 | #define CONFIG_ADDMISC "addmisc=setenv bootargs ${bootargs}\0" | 196 | #define CONFIG_ADDMISC "addmisc=setenv bootargs ${bootargs}\0" |
186 | #endif | 197 | #endif |
187 | 198 | ||
188 | #define xstr(s) str(s) | 199 | #define xstr(s) str(s) |
189 | #define str(s) #s | 200 | #define str(s) #s |
190 | 201 | ||
191 | /* | 202 | /* |
192 | * General common environment variables shared on all AMCC eval boards | 203 | * General common environment variables shared on all AMCC eval boards |
193 | */ | 204 | */ |
194 | #define CONFIG_AMCC_DEF_ENV \ | 205 | #define CONFIG_AMCC_DEF_ENV \ |
195 | "netdev=" xstr(CONFIG_USE_NETDEV) "\0" \ | 206 | "netdev=" xstr(CONFIG_USE_NETDEV) "\0" \ |
196 | "nfsargs=setenv bootargs root=/dev/nfs rw " \ | 207 | "nfsargs=setenv bootargs root=/dev/nfs rw " \ |
197 | "nfsroot=${serverip}:${rootpath}\0" \ | 208 | "nfsroot=${serverip}:${rootpath}\0" \ |
198 | "ramargs=setenv bootargs root=/dev/ram rw\0" \ | 209 | "ramargs=setenv bootargs root=/dev/ram rw\0" \ |
199 | "addip=setenv bootargs ${bootargs} " \ | 210 | "addip=setenv bootargs ${bootargs} " \ |
200 | "ip=${ipaddr}:${serverip}:${gatewayip}:${netmask}" \ | 211 | "ip=${ipaddr}:${serverip}:${gatewayip}:${netmask}" \ |
201 | ":${hostname}:${netdev}:off panic=1\0" \ | 212 | ":${hostname}:${netdev}:off panic=1\0" \ |
202 | "addtty=setenv bootargs ${bootargs}" \ | 213 | "addtty=setenv bootargs ${bootargs}" \ |
203 | " console=" xstr(CONFIG_USE_TTY) ",${baudrate}\0" \ | 214 | " console=" xstr(CONFIG_USE_TTY) ",${baudrate}\0" \ |
204 | CONFIG_ADDMISC \ | 215 | CONFIG_ADDMISC \ |
205 | "initrd_high=30000000\0" \ | 216 | "initrd_high=30000000\0" \ |
206 | "kernel_addr_r=400000\0" \ | 217 | "kernel_addr_r=400000\0" \ |
207 | "fdt_addr_r=800000\0" \ | 218 | "fdt_addr_r=800000\0" \ |
208 | "ramdisk_addr_r=C00000\0" \ | 219 | "ramdisk_addr_r=C00000\0" \ |
209 | "hostname=" xstr(CONFIG_HOSTNAME) "\0" \ | 220 | "hostname=" xstr(CONFIG_HOSTNAME) "\0" \ |
210 | "bootfile=" xstr(CONFIG_HOSTNAME) "/uImage\0" \ | 221 | "bootfile=" xstr(CONFIG_HOSTNAME) "/uImage\0" \ |
211 | "ramdisk_file=" xstr(CONFIG_HOSTNAME) "/uRamdisk\0" \ | 222 | "ramdisk_file=" xstr(CONFIG_HOSTNAME) "/uRamdisk\0" \ |
212 | CONFIG_AMCC_DEF_ENV_ROOTPATH | 223 | CONFIG_AMCC_DEF_ENV_ROOTPATH |
213 | 224 | ||
214 | /* | 225 | /* |
215 | * Default environment for arch/powerpc booting | 226 | * Default environment for arch/powerpc booting |
216 | * for boards that are ported to arch/powerpc | 227 | * for boards that are ported to arch/powerpc |
217 | */ | 228 | */ |
218 | #define CONFIG_AMCC_DEF_ENV_POWERPC \ | 229 | #define CONFIG_AMCC_DEF_ENV_POWERPC \ |
219 | "flash_self=run ramargs addip addtty addmisc;" \ | 230 | "flash_self=run ramargs addip addtty addmisc;" \ |
220 | "bootm ${kernel_addr} ${ramdisk_addr} ${fdt_addr}\0" \ | 231 | "bootm ${kernel_addr} ${ramdisk_addr} ${fdt_addr}\0" \ |
221 | "flash_nfs=run nfsargs addip addtty addmisc;" \ | 232 | "flash_nfs=run nfsargs addip addtty addmisc;" \ |
222 | "bootm ${kernel_addr} - ${fdt_addr}\0" \ | 233 | "bootm ${kernel_addr} - ${fdt_addr}\0" \ |
223 | "net_nfs=tftp ${kernel_addr_r} ${bootfile}; " \ | 234 | "net_nfs=tftp ${kernel_addr_r} ${bootfile}; " \ |
224 | "tftp ${fdt_addr_r} ${fdt_file}; " \ | 235 | "tftp ${fdt_addr_r} ${fdt_file}; " \ |
225 | "run nfsargs addip addtty addmisc;" \ | 236 | "run nfsargs addip addtty addmisc;" \ |
226 | "bootm ${kernel_addr_r} - ${fdt_addr_r}\0" \ | 237 | "bootm ${kernel_addr_r} - ${fdt_addr_r}\0" \ |
227 | "net_self_load=tftp ${kernel_addr_r} ${bootfile};" \ | 238 | "net_self_load=tftp ${kernel_addr_r} ${bootfile};" \ |
228 | "tftp ${fdt_addr_r} ${fdt_file};" \ | 239 | "tftp ${fdt_addr_r} ${fdt_file};" \ |
229 | "tftp ${ramdisk_addr_r} ${ramdisk_file};\0" \ | 240 | "tftp ${ramdisk_addr_r} ${ramdisk_file};\0" \ |
230 | "net_self=run net_self_load;" \ | 241 | "net_self=run net_self_load;" \ |
231 | "run ramargs addip addtty addmisc;" \ | 242 | "run ramargs addip addtty addmisc;" \ |
232 | "bootm ${kernel_addr_r} ${ramdisk_addr_r} ${fdt_addr_r}\0" \ | 243 | "bootm ${kernel_addr_r} ${ramdisk_addr_r} ${fdt_addr_r}\0" \ |
233 | "fdt_file=" xstr(CONFIG_HOSTNAME) "/" xstr(CONFIG_HOSTNAME) ".dtb\0" | 244 | "fdt_file=" xstr(CONFIG_HOSTNAME) "/" xstr(CONFIG_HOSTNAME) ".dtb\0" |
234 | 245 | ||
235 | /* | 246 | /* |
236 | * Default environment for arch/ppc booting, | 247 | * Default environment for arch/ppc booting, |
237 | * for boards that are not ported to arch/powerpc yet | 248 | * for boards that are not ported to arch/powerpc yet |
238 | */ | 249 | */ |
239 | #define CONFIG_AMCC_DEF_ENV_PPC \ | 250 | #define CONFIG_AMCC_DEF_ENV_PPC \ |
240 | "flash_self=run ramargs addip addtty addmisc;" \ | 251 | "flash_self=run ramargs addip addtty addmisc;" \ |
241 | "bootm ${kernel_addr} ${ramdisk_addr}\0" \ | 252 | "bootm ${kernel_addr} ${ramdisk_addr}\0" \ |
242 | "flash_nfs=run nfsargs addip addtty addmisc;" \ | 253 | "flash_nfs=run nfsargs addip addtty addmisc;" \ |
243 | "bootm ${kernel_addr}\0" \ | 254 | "bootm ${kernel_addr}\0" \ |
244 | "net_nfs=tftp ${kernel_addr_r} ${bootfile};" \ | 255 | "net_nfs=tftp ${kernel_addr_r} ${bootfile};" \ |
245 | "run nfsargs addip addtty addmisc;" \ | 256 | "run nfsargs addip addtty addmisc;" \ |
246 | "bootm ${kernel_addr_r}\0" | 257 | "bootm ${kernel_addr_r}\0" |
247 | 258 | ||
248 | /* | 259 | /* |
249 | * Default environment for arch/ppc booting (old version), | 260 | * Default environment for arch/ppc booting (old version), |
250 | * for boards that are ported to arch/ppc and arch/powerpc | 261 | * for boards that are ported to arch/ppc and arch/powerpc |
251 | */ | 262 | */ |
252 | #define CONFIG_AMCC_DEF_ENV_PPC_OLD \ | 263 | #define CONFIG_AMCC_DEF_ENV_PPC_OLD \ |
253 | "flash_self_old=run ramargs addip addtty addmisc;" \ | 264 | "flash_self_old=run ramargs addip addtty addmisc;" \ |
254 | "bootm ${kernel_addr} ${ramdisk_addr}\0" \ | 265 | "bootm ${kernel_addr} ${ramdisk_addr}\0" \ |
255 | "flash_nfs_old=run nfsargs addip addtty addmisc;" \ | 266 | "flash_nfs_old=run nfsargs addip addtty addmisc;" \ |
256 | "bootm ${kernel_addr}\0" \ | 267 | "bootm ${kernel_addr}\0" \ |
257 | "net_nfs_old=tftp ${kernel_addr_r} ${bootfile};" \ | 268 | "net_nfs_old=tftp ${kernel_addr_r} ${bootfile};" \ |
258 | "run nfsargs addip addtty addmisc;" \ | 269 | "run nfsargs addip addtty addmisc;" \ |
259 | "bootm ${kernel_addr_r}\0" | 270 | "bootm ${kernel_addr_r}\0" |
260 | 271 | ||
261 | #define CONFIG_AMCC_DEF_ENV_NOR_UPD \ | 272 | #define CONFIG_AMCC_DEF_ENV_NOR_UPD \ |
262 | "load=tftp 200000 " xstr(CONFIG_HOSTNAME) "/u-boot.bin\0" \ | 273 | "load=tftp 200000 " xstr(CONFIG_HOSTNAME) "/u-boot.bin\0" \ |
263 | "update=protect off " xstr(CONFIG_SYS_MONITOR_BASE) " FFFFFFFF;" \ | 274 | "update=protect off " xstr(CONFIG_SYS_MONITOR_BASE) " FFFFFFFF;" \ |
264 | "era " xstr(CONFIG_SYS_MONITOR_BASE) " FFFFFFFF;" \ | 275 | "era " xstr(CONFIG_SYS_MONITOR_BASE) " FFFFFFFF;" \ |
265 | "cp.b ${fileaddr} " xstr(CONFIG_SYS_MONITOR_BASE) " ${filesize};" \ | 276 | "cp.b ${fileaddr} " xstr(CONFIG_SYS_MONITOR_BASE) " ${filesize};" \ |
266 | "setenv filesize;saveenv\0" \ | 277 | "setenv filesize;saveenv\0" \ |
267 | "upd=run load update\0" \ | 278 | "upd=run load update\0" \ |
268 | 279 | ||
269 | #define CONFIG_AMCC_DEF_ENV_NAND_UPD \ | 280 | #define CONFIG_AMCC_DEF_ENV_NAND_UPD \ |
270 | "nload=tftp 200000 " xstr(CONFIG_HOSTNAME) "/u-boot-nand.bin\0" \ | 281 | "nload=tftp 200000 " xstr(CONFIG_HOSTNAME) "/u-boot-nand.bin\0" \ |
271 | "nupdate=nand erase 0 100000;nand write 200000 0 100000;" \ | 282 | "nupdate=nand erase 0 100000;nand write 200000 0 100000;" \ |
272 | "setenv filesize;saveenv\0" \ | 283 | "setenv filesize;saveenv\0" \ |
273 | "nupd=run nload nupdate\0" | 284 | "nupd=run nload nupdate\0" |
274 | 285 | ||
275 | #endif /* __AMCC_COMMON_H */ | 286 | #endif /* __AMCC_COMMON_H */ |
276 | 287 |
include/configs/sequoia.h
1 | /* | 1 | /* |
2 | * (C) Copyright 2006-2008 | 2 | * (C) Copyright 2006-2008 |
3 | * Stefan Roese, DENX Software Engineering, sr@denx.de. | 3 | * Stefan Roese, DENX Software Engineering, sr@denx.de. |
4 | * | 4 | * |
5 | * (C) Copyright 2006 | 5 | * (C) Copyright 2006 |
6 | * Jacqueline Pira-Ferriol, AMCC/IBM, jpira-ferriol@fr.ibm.com | 6 | * Jacqueline Pira-Ferriol, AMCC/IBM, jpira-ferriol@fr.ibm.com |
7 | * Alain Saurel, AMCC/IBM, alain.saurel@fr.ibm.com | 7 | * Alain Saurel, AMCC/IBM, alain.saurel@fr.ibm.com |
8 | * | 8 | * |
9 | * This program is free software; you can redistribute it and/or | 9 | * This program is free software; you can redistribute it and/or |
10 | * modify it under the terms of the GNU General Public License as | 10 | * modify it under the terms of the GNU General Public License as |
11 | * published by the Free Software Foundation; either version 2 of | 11 | * published by the Free Software Foundation; either version 2 of |
12 | * the License, or (at your option) any later version. | 12 | * the License, or (at your option) any later version. |
13 | * | 13 | * |
14 | * This program is distributed in the hope that it will be useful, | 14 | * This program is distributed in the hope that it will be useful, |
15 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | 15 | * but WITHOUT ANY WARRANTY; without even the implied warranty of |
16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | 16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
17 | * GNU General Public License for more details. | 17 | * GNU General Public License for more details. |
18 | * | 18 | * |
19 | * You should have received a copy of the GNU General Public License | 19 | * You should have received a copy of the GNU General Public License |
20 | * along with this program; if not, write to the Free Software | 20 | * along with this program; if not, write to the Free Software |
21 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, | 21 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, |
22 | * MA 02111-1307 USA | 22 | * MA 02111-1307 USA |
23 | */ | 23 | */ |
24 | 24 | ||
25 | /* | 25 | /* |
26 | * sequoia.h - configuration for Sequoia & Rainier boards | 26 | * sequoia.h - configuration for Sequoia & Rainier boards |
27 | */ | 27 | */ |
28 | #ifndef __CONFIG_H | 28 | #ifndef __CONFIG_H |
29 | #define __CONFIG_H | 29 | #define __CONFIG_H |
30 | 30 | ||
31 | /* | 31 | /* |
32 | * High Level Configuration Options | 32 | * High Level Configuration Options |
33 | */ | 33 | */ |
34 | /* This config file is used for Sequoia (440EPx) and Rainier (440GRx) */ | 34 | /* This config file is used for Sequoia (440EPx) and Rainier (440GRx) */ |
35 | #ifndef CONFIG_RAINIER | 35 | #ifndef CONFIG_RAINIER |
36 | #define CONFIG_440EPX 1 /* Specific PPC440EPx */ | 36 | #define CONFIG_440EPX 1 /* Specific PPC440EPx */ |
37 | #define CONFIG_HOSTNAME sequoia | 37 | #define CONFIG_HOSTNAME sequoia |
38 | #else | 38 | #else |
39 | #define CONFIG_440GRX 1 /* Specific PPC440GRx */ | 39 | #define CONFIG_440GRX 1 /* Specific PPC440GRx */ |
40 | #define CONFIG_HOSTNAME rainier | 40 | #define CONFIG_HOSTNAME rainier |
41 | #endif | 41 | #endif |
42 | #define CONFIG_440 1 /* ... PPC440 family */ | 42 | #define CONFIG_440 1 /* ... PPC440 family */ |
43 | #define CONFIG_4xx 1 /* ... PPC4xx family */ | 43 | #define CONFIG_4xx 1 /* ... PPC4xx family */ |
44 | 44 | ||
45 | /* | 45 | /* |
46 | * Include common defines/options for all AMCC eval boards | 46 | * Include common defines/options for all AMCC eval boards |
47 | */ | 47 | */ |
48 | #include "amcc-common.h" | 48 | #include "amcc-common.h" |
49 | 49 | ||
50 | /* Detect Sequoia PLL input clock automatically via CPLD bit */ | 50 | /* Detect Sequoia PLL input clock automatically via CPLD bit */ |
51 | #define CONFIG_SYS_CLK_FREQ ((in8(CONFIG_SYS_BCSR_BASE + 3) & 0x80) ? \ | 51 | #define CONFIG_SYS_CLK_FREQ ((in8(CONFIG_SYS_BCSR_BASE + 3) & 0x80) ? \ |
52 | 33333333 : 33000000) | 52 | 33333333 : 33000000) |
53 | 53 | ||
54 | /* | 54 | /* |
55 | * Define this if you want support for video console with radeon 9200 pci card | 55 | * Define this if you want support for video console with radeon 9200 pci card |
56 | * Also set TEXT_BASE to 0xFFF80000 in board/amcc/sequoia/config.mk in this case | 56 | * Also set TEXT_BASE to 0xFFF80000 in board/amcc/sequoia/config.mk in this case |
57 | */ | 57 | */ |
58 | #undef CONFIG_VIDEO | 58 | #undef CONFIG_VIDEO |
59 | 59 | ||
60 | #ifdef CONFIG_VIDEO | 60 | #ifdef CONFIG_VIDEO |
61 | /* | 61 | /* |
62 | * 44x dcache supported is working now on sequoia, but we don't enable | 62 | * 44x dcache supported is working now on sequoia, but we don't enable |
63 | * it yet since it needs further testing | 63 | * it yet since it needs further testing |
64 | */ | 64 | */ |
65 | #define CONFIG_4xx_DCACHE /* enable dcache */ | 65 | #define CONFIG_4xx_DCACHE /* enable dcache */ |
66 | #endif | 66 | #endif |
67 | 67 | ||
68 | #define CONFIG_BOARD_EARLY_INIT_F 1 /* Call board_early_init_f */ | 68 | #define CONFIG_BOARD_EARLY_INIT_F 1 /* Call board_early_init_f */ |
69 | #define CONFIG_MISC_INIT_R 1 /* Call misc_init_r */ | 69 | #define CONFIG_MISC_INIT_R 1 /* Call misc_init_r */ |
70 | 70 | ||
71 | /* | 71 | /* |
72 | * Base addresses -- Note these are effective addresses where the actual | 72 | * Base addresses -- Note these are effective addresses where the actual |
73 | * resources get mapped (not physical addresses). | 73 | * resources get mapped (not physical addresses). |
74 | */ | 74 | */ |
75 | #define CONFIG_SYS_TLB_FOR_BOOT_FLASH 0x0003 | 75 | #define CONFIG_SYS_TLB_FOR_BOOT_FLASH 0x0003 |
76 | #define CONFIG_SYS_BOOT_BASE_ADDR 0xf0000000 | 76 | #define CONFIG_SYS_BOOT_BASE_ADDR 0xf0000000 |
77 | #define CONFIG_SYS_FLASH_BASE 0xfc000000 /* start of FLASH */ | 77 | #define CONFIG_SYS_FLASH_BASE 0xfc000000 /* start of FLASH */ |
78 | #define CONFIG_SYS_NAND_ADDR 0xd0000000 /* NAND Flash */ | 78 | #define CONFIG_SYS_NAND_ADDR 0xd0000000 /* NAND Flash */ |
79 | #define CONFIG_SYS_OCM_BASE 0xe0010000 /* ocm */ | 79 | #define CONFIG_SYS_OCM_BASE 0xe0010000 /* ocm */ |
80 | #define CONFIG_SYS_OCM_DATA_ADDR CONFIG_SYS_OCM_BASE | 80 | #define CONFIG_SYS_OCM_DATA_ADDR CONFIG_SYS_OCM_BASE |
81 | #define CONFIG_SYS_PCI_BASE 0xe0000000 /* Internal PCI regs */ | 81 | #define CONFIG_SYS_PCI_BASE 0xe0000000 /* Internal PCI regs */ |
82 | #define CONFIG_SYS_PCI_MEMBASE 0x80000000 /* mapped pci memory */ | 82 | #define CONFIG_SYS_PCI_MEMBASE 0x80000000 /* mapped pci memory */ |
83 | #define CONFIG_SYS_PCI_MEMBASE1 CONFIG_SYS_PCI_MEMBASE + 0x10000000 | 83 | #define CONFIG_SYS_PCI_MEMBASE1 CONFIG_SYS_PCI_MEMBASE + 0x10000000 |
84 | #define CONFIG_SYS_PCI_MEMBASE2 CONFIG_SYS_PCI_MEMBASE1 + 0x10000000 | 84 | #define CONFIG_SYS_PCI_MEMBASE2 CONFIG_SYS_PCI_MEMBASE1 + 0x10000000 |
85 | #define CONFIG_SYS_PCI_MEMBASE3 CONFIG_SYS_PCI_MEMBASE2 + 0x10000000 | 85 | #define CONFIG_SYS_PCI_MEMBASE3 CONFIG_SYS_PCI_MEMBASE2 + 0x10000000 |
86 | 86 | ||
87 | /* Don't change either of these */ | 87 | /* Don't change either of these */ |
88 | #define CONFIG_SYS_PERIPHERAL_BASE 0xef600000 /* internal peripherals */ | 88 | #define CONFIG_SYS_PERIPHERAL_BASE 0xef600000 /* internal peripherals */ |
89 | 89 | ||
90 | #define CONFIG_SYS_USB2D0_BASE 0xe0000100 | 90 | #define CONFIG_SYS_USB2D0_BASE 0xe0000100 |
91 | #define CONFIG_SYS_USB_DEVICE 0xe0000000 | 91 | #define CONFIG_SYS_USB_DEVICE 0xe0000000 |
92 | #define CONFIG_SYS_USB_HOST 0xe0000400 | 92 | #define CONFIG_SYS_USB_HOST 0xe0000400 |
93 | #define CONFIG_SYS_BCSR_BASE 0xc0000000 | 93 | #define CONFIG_SYS_BCSR_BASE 0xc0000000 |
94 | 94 | ||
95 | /* | 95 | /* |
96 | * Initial RAM & stack pointer | 96 | * Initial RAM & stack pointer |
97 | */ | 97 | */ |
98 | /* 440EPx/440GRx have 16KB of internal SRAM, so no need for D-Cache */ | 98 | /* 440EPx/440GRx have 16KB of internal SRAM, so no need for D-Cache */ |
99 | #define CONFIG_SYS_INIT_RAM_ADDR CONFIG_SYS_OCM_BASE /* OCM */ | 99 | #define CONFIG_SYS_INIT_RAM_ADDR CONFIG_SYS_OCM_BASE /* OCM */ |
100 | #define CONFIG_SYS_INIT_RAM_END (4 << 10) | 100 | #define CONFIG_SYS_INIT_RAM_END (4 << 10) |
101 | #define CONFIG_SYS_GBL_DATA_SIZE 256 /* num bytes initial data */ | 101 | #define CONFIG_SYS_GBL_DATA_SIZE 256 /* num bytes initial data */ |
102 | #define CONFIG_SYS_GBL_DATA_OFFSET (CONFIG_SYS_INIT_RAM_END - CONFIG_SYS_GBL_DATA_SIZE) | 102 | #define CONFIG_SYS_GBL_DATA_OFFSET (CONFIG_SYS_INIT_RAM_END - CONFIG_SYS_GBL_DATA_SIZE) |
103 | #define CONFIG_SYS_INIT_SP_OFFSET CONFIG_SYS_POST_WORD_ADDR | 103 | #define CONFIG_SYS_INIT_SP_OFFSET CONFIG_SYS_POST_WORD_ADDR |
104 | 104 | ||
105 | /* | 105 | /* |
106 | * Serial Port | 106 | * Serial Port |
107 | */ | 107 | */ |
108 | #define CONFIG_SYS_EXT_SERIAL_CLOCK 11059200 /* ext. 11.059MHz clk */ | 108 | #define CONFIG_SYS_EXT_SERIAL_CLOCK 11059200 /* ext. 11.059MHz clk */ |
109 | /* define this if you want console on UART1 */ | 109 | /* define this if you want console on UART1 */ |
110 | #undef CONFIG_UART1_CONSOLE | 110 | #undef CONFIG_UART1_CONSOLE |
111 | 111 | ||
112 | /* | 112 | /* |
113 | * Environment | 113 | * Environment |
114 | */ | 114 | */ |
115 | #if !defined(CONFIG_NAND_U_BOOT) && !defined(CONFIG_NAND_SPL) | 115 | #if defined(CONFIG_NAND_U_BOOT) || defined(CONFIG_NAND_SPL) |
116 | #define CONFIG_ENV_IS_IN_FLASH 1 /* use FLASH for environ vars */ | 116 | #define CONFIG_ENV_IS_IN_NAND /* use NAND for environ vars */ |
117 | #define CONFIG_ENV_IS_EMBEDDED /* use embedded environment */ | ||
118 | #elif defined(CONFIG_SYS_RAMBOOT) | ||
119 | #define CONFIG_ENV_IS_NOWHERE /* Store env in memory only */ | ||
120 | #define CONFIG_ENV_SIZE (8 << 10) | ||
121 | /* | ||
122 | * In RAM-booting version, we have no environment storage. So we need to | ||
123 | * provide at least preliminary MAC addresses for the 4xx EMAC driver to | ||
124 | * register the interfaces. Those two addresses are generated via the | ||
125 | * tools/gen_eth_addr tool and should only be used in a closed laboratory | ||
126 | * environment. | ||
127 | */ | ||
128 | #define CONFIG_ETHADDR 4a:56:49:22:3e:43 | ||
129 | #define CONFIG_ETH1ADDR 02:93:53:d5:06:98 | ||
117 | #else | 130 | #else |
118 | #define CONFIG_ENV_IS_IN_NAND 1 /* use NAND for environ vars */ | 131 | #define CONFIG_ENV_IS_IN_FLASH /* use FLASH for environ vars */ |
119 | #define CONFIG_ENV_IS_EMBEDDED 1 /* use embedded environment */ | ||
120 | #endif | 132 | #endif |
121 | 133 | ||
134 | #if defined(CONFIG_CMD_FLASH) | ||
122 | /* | 135 | /* |
123 | * FLASH related | 136 | * FLASH related |
124 | */ | 137 | */ |
125 | #define CONFIG_SYS_FLASH_CFI /* The flash is CFI compatible */ | 138 | #define CONFIG_SYS_FLASH_CFI /* The flash is CFI compatible */ |
126 | #define CONFIG_FLASH_CFI_DRIVER /* Use common CFI driver */ | 139 | #define CONFIG_FLASH_CFI_DRIVER /* Use common CFI driver */ |
127 | 140 | ||
128 | #define CONFIG_SYS_FLASH_BANKS_LIST { CONFIG_SYS_FLASH_BASE } | 141 | #define CONFIG_SYS_FLASH_BANKS_LIST { CONFIG_SYS_FLASH_BASE } |
129 | 142 | ||
130 | #define CONFIG_SYS_MAX_FLASH_BANKS 1 /* max number of memory banks */ | 143 | #define CONFIG_SYS_MAX_FLASH_BANKS 1 /* max number of memory banks */ |
131 | #define CONFIG_SYS_MAX_FLASH_SECT 512 /* max number of sectors on one chip */ | 144 | #define CONFIG_SYS_MAX_FLASH_SECT 512 /* max number of sectors on one chip */ |
132 | 145 | ||
133 | #define CONFIG_SYS_FLASH_ERASE_TOUT 120000 /* Timeout for Flash Erase (in ms) */ | 146 | #define CONFIG_SYS_FLASH_ERASE_TOUT 120000 /* Timeout for Flash Erase (in ms) */ |
134 | #define CONFIG_SYS_FLASH_WRITE_TOUT 500 /* Timeout for Flash Write (in ms) */ | 147 | #define CONFIG_SYS_FLASH_WRITE_TOUT 500 /* Timeout for Flash Write (in ms) */ |
135 | 148 | ||
136 | #define CONFIG_SYS_FLASH_USE_BUFFER_WRITE 1 /* use buffered writes (20x faster) */ | 149 | #define CONFIG_SYS_FLASH_USE_BUFFER_WRITE 1 /* use buffered writes (20x faster) */ |
137 | #define CONFIG_SYS_FLASH_PROTECTION 1 /* use hardware flash protection */ | 150 | #define CONFIG_SYS_FLASH_PROTECTION 1 /* use hardware flash protection */ |
138 | 151 | ||
139 | #define CONFIG_SYS_FLASH_EMPTY_INFO /* print 'E' for empty sector on flinfo */ | 152 | #define CONFIG_SYS_FLASH_EMPTY_INFO /* print 'E' for empty sector on flinfo */ |
140 | #define CONFIG_SYS_FLASH_QUIET_TEST 1 /* don't warn upon unknown flash */ | 153 | #define CONFIG_SYS_FLASH_QUIET_TEST 1 /* don't warn upon unknown flash */ |
141 | 154 | ||
142 | #ifdef CONFIG_ENV_IS_IN_FLASH | 155 | #ifdef CONFIG_ENV_IS_IN_FLASH |
143 | #define CONFIG_ENV_SECT_SIZE 0x20000 /* size of one complete sector */ | 156 | #define CONFIG_ENV_SECT_SIZE 0x20000 /* size of one complete sector */ |
144 | #define CONFIG_ENV_ADDR ((-CONFIG_SYS_MONITOR_LEN)-CONFIG_ENV_SECT_SIZE) | 157 | #define CONFIG_ENV_ADDR ((-CONFIG_SYS_MONITOR_LEN)-CONFIG_ENV_SECT_SIZE) |
145 | #define CONFIG_ENV_SIZE 0x2000 /* Total Size of Environment Sector */ | 158 | #define CONFIG_ENV_SIZE 0x2000 /* Total Size of Environment Sector */ |
146 | 159 | ||
147 | /* Address and size of Redundant Environment Sector */ | 160 | /* Address and size of Redundant Environment Sector */ |
148 | #define CONFIG_ENV_ADDR_REDUND (CONFIG_ENV_ADDR-CONFIG_ENV_SECT_SIZE) | 161 | #define CONFIG_ENV_ADDR_REDUND (CONFIG_ENV_ADDR-CONFIG_ENV_SECT_SIZE) |
149 | #define CONFIG_ENV_SIZE_REDUND (CONFIG_ENV_SIZE) | 162 | #define CONFIG_ENV_SIZE_REDUND (CONFIG_ENV_SIZE) |
150 | #endif | 163 | #endif |
164 | #endif /* CONFIG_CMD_FLASH */ | ||
151 | 165 | ||
152 | /* | 166 | /* |
153 | * IPL (Initial Program Loader, integrated inside CPU) | 167 | * IPL (Initial Program Loader, integrated inside CPU) |
154 | * Will load first 4k from NAND (SPL) into cache and execute it from there. | 168 | * Will load first 4k from NAND (SPL) into cache and execute it from there. |
155 | * | 169 | * |
156 | * SPL (Secondary Program Loader) | 170 | * SPL (Secondary Program Loader) |
157 | * Will load special U-Boot version (NUB) from NAND and execute it. This SPL | 171 | * Will load special U-Boot version (NUB) from NAND and execute it. This SPL |
158 | * has to fit into 4kByte. It sets up the CPU and configures the SDRAM | 172 | * has to fit into 4kByte. It sets up the CPU and configures the SDRAM |
159 | * controller and the NAND controller so that the special U-Boot image can be | 173 | * controller and the NAND controller so that the special U-Boot image can be |
160 | * loaded from NAND to SDRAM. | 174 | * loaded from NAND to SDRAM. |
161 | * | 175 | * |
162 | * NUB (NAND U-Boot) | 176 | * NUB (NAND U-Boot) |
163 | * This NAND U-Boot (NUB) is a special U-Boot version which can be started | 177 | * This NAND U-Boot (NUB) is a special U-Boot version which can be started |
164 | * from RAM. Therefore it mustn't (re-)configure the SDRAM controller. | 178 | * from RAM. Therefore it mustn't (re-)configure the SDRAM controller. |
165 | * | 179 | * |
166 | * On 440EPx the SPL is copied to SDRAM before the NAND controller is | 180 | * On 440EPx the SPL is copied to SDRAM before the NAND controller is |
167 | * set up. While still running from cache, I experienced problems accessing | 181 | * set up. While still running from cache, I experienced problems accessing |
168 | * the NAND controller. sr - 2006-08-25 | 182 | * the NAND controller. sr - 2006-08-25 |
169 | */ | 183 | */ |
170 | #define CONFIG_SYS_NAND_BOOT_SPL_SRC 0xfffff000 /* SPL location */ | 184 | #define CONFIG_SYS_NAND_BOOT_SPL_SRC 0xfffff000 /* SPL location */ |
171 | #define CONFIG_SYS_NAND_BOOT_SPL_SIZE (4 << 10) /* SPL size */ | 185 | #define CONFIG_SYS_NAND_BOOT_SPL_SIZE (4 << 10) /* SPL size */ |
172 | #define CONFIG_SYS_NAND_BOOT_SPL_DST (CONFIG_SYS_OCM_BASE + (12 << 10)) /* Copy SPL here */ | 186 | #define CONFIG_SYS_NAND_BOOT_SPL_DST (CONFIG_SYS_OCM_BASE + (12 << 10)) /* Copy SPL here */ |
173 | #define CONFIG_SYS_NAND_U_BOOT_DST 0x01000000 /* Load NUB to this addr */ | 187 | #define CONFIG_SYS_NAND_U_BOOT_DST 0x01000000 /* Load NUB to this addr */ |
174 | #define CONFIG_SYS_NAND_U_BOOT_START CONFIG_SYS_NAND_U_BOOT_DST /* Start NUB from */ | 188 | #define CONFIG_SYS_NAND_U_BOOT_START CONFIG_SYS_NAND_U_BOOT_DST /* Start NUB from */ |
175 | /* this addr */ | 189 | /* this addr */ |
176 | #define CONFIG_SYS_NAND_BOOT_SPL_DELTA (CONFIG_SYS_NAND_BOOT_SPL_SRC - CONFIG_SYS_NAND_BOOT_SPL_DST) | 190 | #define CONFIG_SYS_NAND_BOOT_SPL_DELTA (CONFIG_SYS_NAND_BOOT_SPL_SRC - CONFIG_SYS_NAND_BOOT_SPL_DST) |
177 | 191 | ||
178 | /* | 192 | /* |
179 | * Define the partitioning of the NAND chip (only RAM U-Boot is needed here) | 193 | * Define the partitioning of the NAND chip (only RAM U-Boot is needed here) |
180 | */ | 194 | */ |
181 | #define CONFIG_SYS_NAND_U_BOOT_OFFS (16 << 10) /* Offset to RAM U-Boot image */ | 195 | #define CONFIG_SYS_NAND_U_BOOT_OFFS (16 << 10) /* Offset to RAM U-Boot image */ |
182 | #define CONFIG_SYS_NAND_U_BOOT_SIZE (512 << 10) /* Size of RAM U-Boot image */ | 196 | #define CONFIG_SYS_NAND_U_BOOT_SIZE (512 << 10) /* Size of RAM U-Boot image */ |
183 | 197 | ||
184 | /* | 198 | /* |
185 | * Now the NAND chip has to be defined (no autodetection used!) | 199 | * Now the NAND chip has to be defined (no autodetection used!) |
186 | */ | 200 | */ |
187 | #define CONFIG_SYS_NAND_PAGE_SIZE 512 /* NAND chip page size */ | 201 | #define CONFIG_SYS_NAND_PAGE_SIZE 512 /* NAND chip page size */ |
188 | #define CONFIG_SYS_NAND_BLOCK_SIZE (16 << 10) /* NAND chip block size */ | 202 | #define CONFIG_SYS_NAND_BLOCK_SIZE (16 << 10) /* NAND chip block size */ |
189 | #define CONFIG_SYS_NAND_PAGE_COUNT 32 /* NAND chip page count */ | 203 | #define CONFIG_SYS_NAND_PAGE_COUNT 32 /* NAND chip page count */ |
190 | #define CONFIG_SYS_NAND_BAD_BLOCK_POS 5 /* Location of bad block marker */ | 204 | #define CONFIG_SYS_NAND_BAD_BLOCK_POS 5 /* Location of bad block marker */ |
191 | #undef CONFIG_SYS_NAND_4_ADDR_CYCLE /* No fourth addr used (<=32MB) */ | 205 | #undef CONFIG_SYS_NAND_4_ADDR_CYCLE /* No fourth addr used (<=32MB) */ |
192 | 206 | ||
193 | #define CONFIG_SYS_NAND_ECCSIZE 256 | 207 | #define CONFIG_SYS_NAND_ECCSIZE 256 |
194 | #define CONFIG_SYS_NAND_ECCBYTES 3 | 208 | #define CONFIG_SYS_NAND_ECCBYTES 3 |
195 | #define CONFIG_SYS_NAND_ECCSTEPS (CONFIG_SYS_NAND_PAGE_SIZE / CONFIG_SYS_NAND_ECCSIZE) | 209 | #define CONFIG_SYS_NAND_ECCSTEPS (CONFIG_SYS_NAND_PAGE_SIZE / CONFIG_SYS_NAND_ECCSIZE) |
196 | #define CONFIG_SYS_NAND_OOBSIZE 16 | 210 | #define CONFIG_SYS_NAND_OOBSIZE 16 |
197 | #define CONFIG_SYS_NAND_ECCTOTAL (CONFIG_SYS_NAND_ECCBYTES * CONFIG_SYS_NAND_ECCSTEPS) | 211 | #define CONFIG_SYS_NAND_ECCTOTAL (CONFIG_SYS_NAND_ECCBYTES * CONFIG_SYS_NAND_ECCSTEPS) |
198 | #define CONFIG_SYS_NAND_ECCPOS {0, 1, 2, 3, 6, 7} | 212 | #define CONFIG_SYS_NAND_ECCPOS {0, 1, 2, 3, 6, 7} |
199 | 213 | ||
200 | #ifdef CONFIG_ENV_IS_IN_NAND | 214 | #ifdef CONFIG_ENV_IS_IN_NAND |
201 | /* | 215 | /* |
202 | * For NAND booting the environment is embedded in the U-Boot image. Please take | 216 | * For NAND booting the environment is embedded in the U-Boot image. Please take |
203 | * look at the file board/amcc/sequoia/u-boot-nand.lds for details. | 217 | * look at the file board/amcc/sequoia/u-boot-nand.lds for details. |
204 | */ | 218 | */ |
205 | #define CONFIG_ENV_SIZE CONFIG_SYS_NAND_BLOCK_SIZE | 219 | #define CONFIG_ENV_SIZE CONFIG_SYS_NAND_BLOCK_SIZE |
206 | #define CONFIG_ENV_OFFSET (CONFIG_SYS_NAND_U_BOOT_OFFS + CONFIG_ENV_SIZE) | 220 | #define CONFIG_ENV_OFFSET (CONFIG_SYS_NAND_U_BOOT_OFFS + CONFIG_ENV_SIZE) |
207 | #define CONFIG_ENV_OFFSET_REDUND (CONFIG_ENV_OFFSET + CONFIG_ENV_SIZE) | 221 | #define CONFIG_ENV_OFFSET_REDUND (CONFIG_ENV_OFFSET + CONFIG_ENV_SIZE) |
208 | #endif | 222 | #endif |
209 | 223 | ||
210 | /* | 224 | /* |
211 | * DDR SDRAM | 225 | * DDR SDRAM |
212 | */ | 226 | */ |
213 | #define CONFIG_SYS_MBYTES_SDRAM (256) /* 256MB */ | 227 | #define CONFIG_SYS_MBYTES_SDRAM (256) /* 256MB */ |
214 | #if !defined(CONFIG_NAND_U_BOOT) && !defined(CONFIG_NAND_SPL) | 228 | #if !defined(CONFIG_NAND_U_BOOT) && !defined(CONFIG_NAND_SPL) && \ |
229 | !defined(CONFIG_SYS_RAMBOOT) | ||
215 | #define CONFIG_DDR_DATA_EYE /* use DDR2 optimization */ | 230 | #define CONFIG_DDR_DATA_EYE /* use DDR2 optimization */ |
216 | #endif | 231 | #endif |
217 | #define CONFIG_SYS_MEM_TOP_HIDE (4 << 10) /* don't use last 4kbytes */ | 232 | #define CONFIG_SYS_MEM_TOP_HIDE (4 << 10) /* don't use last 4kbytes */ |
218 | /* 440EPx errata CHIP 11 */ | 233 | /* 440EPx errata CHIP 11 */ |
219 | 234 | ||
220 | /* | 235 | /* |
221 | * I2C | 236 | * I2C |
222 | */ | 237 | */ |
223 | #define CONFIG_SYS_I2C_SPEED 400000 /* I2C speed and slave address */ | 238 | #define CONFIG_SYS_I2C_SPEED 400000 /* I2C speed and slave address */ |
224 | 239 | ||
225 | #define CONFIG_SYS_I2C_MULTI_EEPROMS | 240 | #define CONFIG_SYS_I2C_MULTI_EEPROMS |
226 | #define CONFIG_SYS_I2C_EEPROM_ADDR (0xa8>>1) | 241 | #define CONFIG_SYS_I2C_EEPROM_ADDR (0xa8>>1) |
227 | #define CONFIG_SYS_I2C_EEPROM_ADDR_LEN 1 | 242 | #define CONFIG_SYS_I2C_EEPROM_ADDR_LEN 1 |
228 | #define CONFIG_SYS_EEPROM_PAGE_WRITE_BITS 3 | 243 | #define CONFIG_SYS_EEPROM_PAGE_WRITE_BITS 3 |
229 | #define CONFIG_SYS_EEPROM_PAGE_WRITE_DELAY_MS 10 | 244 | #define CONFIG_SYS_EEPROM_PAGE_WRITE_DELAY_MS 10 |
230 | 245 | ||
231 | /* I2C SYSMON (LM75, AD7414 is almost compatible) */ | 246 | /* I2C SYSMON (LM75, AD7414 is almost compatible) */ |
232 | #define CONFIG_DTT_LM75 1 /* ON Semi's LM75 */ | 247 | #define CONFIG_DTT_LM75 1 /* ON Semi's LM75 */ |
233 | #define CONFIG_DTT_AD7414 1 /* use AD7414 */ | 248 | #define CONFIG_DTT_AD7414 1 /* use AD7414 */ |
234 | #define CONFIG_DTT_SENSORS {0} /* Sensor addresses */ | 249 | #define CONFIG_DTT_SENSORS {0} /* Sensor addresses */ |
235 | #define CONFIG_SYS_DTT_MAX_TEMP 70 | 250 | #define CONFIG_SYS_DTT_MAX_TEMP 70 |
236 | #define CONFIG_SYS_DTT_LOW_TEMP -30 | 251 | #define CONFIG_SYS_DTT_LOW_TEMP -30 |
237 | #define CONFIG_SYS_DTT_HYSTERESIS 3 | 252 | #define CONFIG_SYS_DTT_HYSTERESIS 3 |
238 | 253 | ||
239 | /* | 254 | /* |
240 | * Default environment variables | 255 | * Default environment variables |
241 | */ | 256 | */ |
242 | #define CONFIG_EXTRA_ENV_SETTINGS \ | 257 | #define CONFIG_EXTRA_ENV_SETTINGS \ |
243 | CONFIG_AMCC_DEF_ENV \ | 258 | CONFIG_AMCC_DEF_ENV \ |
244 | CONFIG_AMCC_DEF_ENV_POWERPC \ | 259 | CONFIG_AMCC_DEF_ENV_POWERPC \ |
245 | CONFIG_AMCC_DEF_ENV_PPC_OLD \ | 260 | CONFIG_AMCC_DEF_ENV_PPC_OLD \ |
246 | CONFIG_AMCC_DEF_ENV_NOR_UPD \ | 261 | CONFIG_AMCC_DEF_ENV_NOR_UPD \ |
247 | CONFIG_AMCC_DEF_ENV_NAND_UPD \ | 262 | CONFIG_AMCC_DEF_ENV_NAND_UPD \ |
248 | "kernel_addr=FC000000\0" \ | 263 | "kernel_addr=FC000000\0" \ |
249 | "ramdisk_addr=FC180000\0" \ | 264 | "ramdisk_addr=FC180000\0" \ |
250 | "" | 265 | "" |
251 | 266 | ||
252 | #define CONFIG_M88E1111_PHY 1 | 267 | #define CONFIG_M88E1111_PHY 1 |
253 | #define CONFIG_IBM_EMAC4_V4 1 | 268 | #define CONFIG_IBM_EMAC4_V4 1 |
254 | #define CONFIG_PHY_ADDR 0 /* PHY address, See schematics */ | 269 | #define CONFIG_PHY_ADDR 0 /* PHY address, See schematics */ |
255 | 270 | ||
256 | #define CONFIG_PHY_RESET 1 /* reset phy upon startup */ | 271 | #define CONFIG_PHY_RESET 1 /* reset phy upon startup */ |
257 | #define CONFIG_PHY_GIGE 1 /* Include GbE speed/duplex detection */ | 272 | #define CONFIG_PHY_GIGE 1 /* Include GbE speed/duplex detection */ |
258 | 273 | ||
259 | #define CONFIG_HAS_ETH0 | 274 | #define CONFIG_HAS_ETH0 |
260 | #define CONFIG_HAS_ETH1 1 /* add support for "eth1addr" */ | 275 | #define CONFIG_HAS_ETH1 1 /* add support for "eth1addr" */ |
261 | #define CONFIG_PHY1_ADDR 1 | 276 | #define CONFIG_PHY1_ADDR 1 |
262 | 277 | ||
263 | /* USB */ | 278 | /* USB */ |
264 | #ifdef CONFIG_440EPX | 279 | #ifdef CONFIG_440EPX |
265 | #define CONFIG_USB_OHCI_NEW | 280 | #define CONFIG_USB_OHCI_NEW |
266 | #define CONFIG_USB_STORAGE | 281 | #define CONFIG_USB_STORAGE |
267 | #define CONFIG_SYS_OHCI_BE_CONTROLLER | 282 | #define CONFIG_SYS_OHCI_BE_CONTROLLER |
268 | 283 | ||
269 | #undef CONFIG_SYS_USB_OHCI_BOARD_INIT | 284 | #undef CONFIG_SYS_USB_OHCI_BOARD_INIT |
270 | #define CONFIG_SYS_USB_OHCI_CPU_INIT 1 | 285 | #define CONFIG_SYS_USB_OHCI_CPU_INIT 1 |
271 | #define CONFIG_SYS_USB_OHCI_REGS_BASE CONFIG_SYS_USB_HOST | 286 | #define CONFIG_SYS_USB_OHCI_REGS_BASE CONFIG_SYS_USB_HOST |
272 | #define CONFIG_SYS_USB_OHCI_SLOT_NAME "ppc440" | 287 | #define CONFIG_SYS_USB_OHCI_SLOT_NAME "ppc440" |
273 | #define CONFIG_SYS_USB_OHCI_MAX_ROOT_PORTS 15 | 288 | #define CONFIG_SYS_USB_OHCI_MAX_ROOT_PORTS 15 |
274 | 289 | ||
275 | /* Comment this out to enable USB 1.1 device */ | 290 | /* Comment this out to enable USB 1.1 device */ |
276 | #define USB_2_0_DEVICE | 291 | #define USB_2_0_DEVICE |
277 | 292 | ||
278 | #endif /* CONFIG_440EPX */ | 293 | #endif /* CONFIG_440EPX */ |
279 | 294 | ||
280 | /* Partitions */ | 295 | /* Partitions */ |
281 | #define CONFIG_MAC_PARTITION | 296 | #define CONFIG_MAC_PARTITION |
282 | #define CONFIG_DOS_PARTITION | 297 | #define CONFIG_DOS_PARTITION |
283 | #define CONFIG_ISO_PARTITION | 298 | #define CONFIG_ISO_PARTITION |
284 | 299 | ||
285 | /* | 300 | /* |
286 | * Commands additional to the ones defined in amcc-common.h | 301 | * Commands additional to the ones defined in amcc-common.h |
287 | */ | 302 | */ |
288 | #define CONFIG_CMD_DTT | 303 | #define CONFIG_CMD_DTT |
289 | #define CONFIG_CMD_FAT | 304 | #define CONFIG_CMD_FAT |
290 | #define CONFIG_CMD_NAND | 305 | #define CONFIG_CMD_NAND |
291 | #define CONFIG_CMD_PCI | 306 | #define CONFIG_CMD_PCI |
292 | #define CONFIG_CMD_SDRAM | 307 | #define CONFIG_CMD_SDRAM |
293 | 308 | ||
294 | #ifdef CONFIG_440EPX | 309 | #ifdef CONFIG_440EPX |
295 | #define CONFIG_CMD_USB | 310 | #define CONFIG_CMD_USB |
296 | #endif | 311 | #endif |
297 | 312 | ||
298 | #ifndef CONFIG_RAINIER | 313 | #ifndef CONFIG_RAINIER |
299 | #define CONFIG_SYS_POST_FPU_ON CONFIG_SYS_POST_FPU | 314 | #define CONFIG_SYS_POST_FPU_ON CONFIG_SYS_POST_FPU |
300 | #else | 315 | #else |
301 | #define CONFIG_SYS_POST_FPU_ON 0 | 316 | #define CONFIG_SYS_POST_FPU_ON 0 |
302 | #endif | 317 | #endif |
303 | 318 | ||
304 | /* | 319 | /* |
305 | * Don't run the memory POST on the NAND-booting version. It will | 320 | * Don't run the memory POST on the NAND-booting version. It will |
306 | * overwrite part of the U-Boot image which is already loaded from NAND | 321 | * overwrite part of the U-Boot image which is already loaded from NAND |
307 | * to SDRAM. | 322 | * to SDRAM. |
308 | */ | 323 | */ |
309 | #if defined(CONFIG_NAND_U_BOOT) | 324 | #if defined(CONFIG_NAND_U_BOOT) || defined(CONFIG_SYS_RAMBOOT) |
310 | #define CONFIG_SYS_POST_MEMORY_ON 0 | 325 | #define CONFIG_SYS_POST_MEMORY_ON 0 |
311 | #else | 326 | #else |
312 | #define CONFIG_SYS_POST_MEMORY_ON CONFIG_SYS_POST_MEMORY | 327 | #define CONFIG_SYS_POST_MEMORY_ON CONFIG_SYS_POST_MEMORY |
313 | #endif | 328 | #endif |
314 | 329 | ||
315 | /* POST support */ | 330 | /* POST support */ |
316 | #define CONFIG_POST (CONFIG_SYS_POST_CACHE | \ | 331 | #define CONFIG_POST (CONFIG_SYS_POST_CACHE | \ |
317 | CONFIG_SYS_POST_CPU | \ | 332 | CONFIG_SYS_POST_CPU | \ |
318 | CONFIG_SYS_POST_ETHER | \ | 333 | CONFIG_SYS_POST_ETHER | \ |
319 | CONFIG_SYS_POST_FPU_ON | \ | 334 | CONFIG_SYS_POST_FPU_ON | \ |
320 | CONFIG_SYS_POST_I2C | \ | 335 | CONFIG_SYS_POST_I2C | \ |
321 | CONFIG_SYS_POST_MEMORY_ON | \ | 336 | CONFIG_SYS_POST_MEMORY_ON | \ |
322 | CONFIG_SYS_POST_SPR | \ | 337 | CONFIG_SYS_POST_SPR | \ |
323 | CONFIG_SYS_POST_UART) | 338 | CONFIG_SYS_POST_UART) |
324 | 339 | ||
325 | #define CONFIG_SYS_POST_WORD_ADDR (CONFIG_SYS_GBL_DATA_OFFSET - 0x4) | 340 | #define CONFIG_SYS_POST_WORD_ADDR (CONFIG_SYS_GBL_DATA_OFFSET - 0x4) |
326 | #define CONFIG_LOGBUFFER | 341 | #define CONFIG_LOGBUFFER |
327 | #define CONFIG_SYS_POST_CACHE_ADDR 0x7fff0000 /* free virtual address */ | 342 | #define CONFIG_SYS_POST_CACHE_ADDR 0x7fff0000 /* free virtual address */ |
328 | 343 | ||
329 | #define CONFIG_SYS_CONSOLE_IS_IN_ENV /* Otherwise it catches logbuffer as output */ | 344 | #define CONFIG_SYS_CONSOLE_IS_IN_ENV /* Otherwise it catches logbuffer as output */ |
330 | 345 | ||
331 | #define CONFIG_SUPPORT_VFAT | 346 | #define CONFIG_SUPPORT_VFAT |
332 | 347 | ||
333 | /* | 348 | /* |
334 | * PCI stuff | 349 | * PCI stuff |
335 | */ | 350 | */ |
336 | /* General PCI */ | 351 | /* General PCI */ |
337 | #define CONFIG_PCI /* include pci support */ | 352 | #define CONFIG_PCI /* include pci support */ |
338 | #define CONFIG_PCI_PNP /* do pci plug-and-play */ | 353 | #define CONFIG_PCI_PNP /* do pci plug-and-play */ |
339 | #define CONFIG_SYS_PCI_CACHE_LINE_SIZE 0 /* to avoid problems with PNP */ | 354 | #define CONFIG_SYS_PCI_CACHE_LINE_SIZE 0 /* to avoid problems with PNP */ |
340 | #define CONFIG_PCI_SCAN_SHOW /* show pci devices on startup */ | 355 | #define CONFIG_PCI_SCAN_SHOW /* show pci devices on startup */ |
341 | #define CONFIG_SYS_PCI_TARGBASE 0x80000000 /* PCIaddr mapped to */ | 356 | #define CONFIG_SYS_PCI_TARGBASE 0x80000000 /* PCIaddr mapped to */ |
342 | /* CONFIG_SYS_PCI_MEMBASE */ | 357 | /* CONFIG_SYS_PCI_MEMBASE */ |
343 | /* Board-specific PCI */ | 358 | /* Board-specific PCI */ |
344 | #define CONFIG_SYS_PCI_TARGET_INIT | 359 | #define CONFIG_SYS_PCI_TARGET_INIT |
345 | #define CONFIG_SYS_PCI_MASTER_INIT | 360 | #define CONFIG_SYS_PCI_MASTER_INIT |
346 | 361 | ||
347 | #define CONFIG_SYS_PCI_SUBSYS_VENDORID 0x10e8 /* AMCC */ | 362 | #define CONFIG_SYS_PCI_SUBSYS_VENDORID 0x10e8 /* AMCC */ |
348 | #define CONFIG_SYS_PCI_SUBSYS_ID 0xcafe /* Whatever */ | 363 | #define CONFIG_SYS_PCI_SUBSYS_ID 0xcafe /* Whatever */ |
349 | 364 | ||
350 | /* | 365 | /* |
351 | * External Bus Controller (EBC) Setup | 366 | * External Bus Controller (EBC) Setup |
352 | */ | 367 | */ |
353 | 368 | ||
354 | /* | 369 | /* |
355 | * On Sequoia CS0 and CS3 are switched when configuring for NAND booting | 370 | * On Sequoia CS0 and CS3 are switched when configuring for NAND booting |
356 | */ | 371 | */ |
357 | #if !defined(CONFIG_NAND_U_BOOT) && !defined(CONFIG_NAND_SPL) | 372 | #if !defined(CONFIG_NAND_U_BOOT) && !defined(CONFIG_NAND_SPL) && \ |
373 | !defined(CONFIG_SYS_RAMBOOT) | ||
358 | #define CONFIG_SYS_NAND_CS 3 /* NAND chip connected to CSx */ | 374 | #define CONFIG_SYS_NAND_CS 3 /* NAND chip connected to CSx */ |
359 | /* Memory Bank 0 (NOR-FLASH) initialization */ | 375 | /* Memory Bank 0 (NOR-FLASH) initialization */ |
360 | #define CONFIG_SYS_EBC_PB0AP 0x03017200 | 376 | #define CONFIG_SYS_EBC_PB0AP 0x03017200 |
361 | #define CONFIG_SYS_EBC_PB0CR (CONFIG_SYS_FLASH_BASE | 0xda000) | 377 | #define CONFIG_SYS_EBC_PB0CR (CONFIG_SYS_FLASH_BASE | 0xda000) |
362 | 378 | ||
363 | /* Memory Bank 3 (NAND-FLASH) initialization */ | 379 | /* Memory Bank 3 (NAND-FLASH) initialization */ |
364 | #define CONFIG_SYS_EBC_PB3AP 0x018003c0 | 380 | #define CONFIG_SYS_EBC_PB3AP 0x018003c0 |
365 | #define CONFIG_SYS_EBC_PB3CR (CONFIG_SYS_NAND_ADDR | 0x1c000) | 381 | #define CONFIG_SYS_EBC_PB3CR (CONFIG_SYS_NAND_ADDR | 0x1c000) |
366 | #else | 382 | #else |
367 | #define CONFIG_SYS_NAND_CS 0 /* NAND chip connected to CSx */ | 383 | #define CONFIG_SYS_NAND_CS 0 /* NAND chip connected to CSx */ |
368 | /* Memory Bank 3 (NOR-FLASH) initialization */ | 384 | /* Memory Bank 3 (NOR-FLASH) initialization */ |
369 | #define CONFIG_SYS_EBC_PB3AP 0x03017200 | 385 | #define CONFIG_SYS_EBC_PB3AP 0x03017200 |
370 | #define CONFIG_SYS_EBC_PB3CR (CONFIG_SYS_FLASH_BASE | 0xda000) | 386 | #define CONFIG_SYS_EBC_PB3CR (CONFIG_SYS_FLASH_BASE | 0xda000) |
371 | 387 | ||
372 | /* Memory Bank 0 (NAND-FLASH) initialization */ | 388 | /* Memory Bank 0 (NAND-FLASH) initialization */ |
373 | #define CONFIG_SYS_EBC_PB0AP 0x018003c0 | 389 | #define CONFIG_SYS_EBC_PB0AP 0x018003c0 |
374 | #define CONFIG_SYS_EBC_PB0CR (CONFIG_SYS_NAND_ADDR | 0x1c000) | 390 | #define CONFIG_SYS_EBC_PB0CR (CONFIG_SYS_NAND_ADDR | 0x1c000) |
375 | #endif | 391 | #endif |
376 | 392 | ||
377 | /* Memory Bank 2 (CPLD) initialization */ | 393 | /* Memory Bank 2 (CPLD) initialization */ |
378 | #define CONFIG_SYS_EBC_PB2AP 0x24814580 | 394 | #define CONFIG_SYS_EBC_PB2AP 0x24814580 |
379 | #define CONFIG_SYS_EBC_PB2CR (CONFIG_SYS_BCSR_BASE | 0x38000) | 395 | #define CONFIG_SYS_EBC_PB2CR (CONFIG_SYS_BCSR_BASE | 0x38000) |
380 | 396 | ||
381 | #define CONFIG_SYS_BCSR5_PCI66EN 0x80 | 397 | #define CONFIG_SYS_BCSR5_PCI66EN 0x80 |
382 | 398 | ||
383 | /* | 399 | /* |
384 | * NAND FLASH | 400 | * NAND FLASH |
385 | */ | 401 | */ |
386 | #define CONFIG_SYS_MAX_NAND_DEVICE 1 | 402 | #define CONFIG_SYS_MAX_NAND_DEVICE 1 |
387 | #define CONFIG_SYS_NAND_BASE (CONFIG_SYS_NAND_ADDR + CONFIG_SYS_NAND_CS) | 403 | #define CONFIG_SYS_NAND_BASE (CONFIG_SYS_NAND_ADDR + CONFIG_SYS_NAND_CS) |
388 | #define CONFIG_SYS_NAND_SELECT_DEVICE 1 /* nand driver supports mutipl. chips */ | 404 | #define CONFIG_SYS_NAND_SELECT_DEVICE 1 /* nand driver supports mutipl. chips */ |
389 | 405 | ||
390 | /* | 406 | /* |
391 | * PPC440 GPIO Configuration | 407 | * PPC440 GPIO Configuration |
392 | */ | 408 | */ |
393 | /* test-only: take GPIO init from pcs440ep ???? in config file */ | 409 | /* test-only: take GPIO init from pcs440ep ???? in config file */ |
394 | #define CONFIG_SYS_4xx_GPIO_TABLE { /* Out GPIO Alternate1 Alternate2 Alternate3 */ \ | 410 | #define CONFIG_SYS_4xx_GPIO_TABLE { /* Out GPIO Alternate1 Alternate2 Alternate3 */ \ |
395 | { \ | 411 | { \ |
396 | /* GPIO Core 0 */ \ | 412 | /* GPIO Core 0 */ \ |
397 | {GPIO0_BASE, GPIO_BI , GPIO_ALT1, GPIO_OUT_0}, /* GPIO0 EBC_ADDR(7) DMA_REQ(2) */ \ | 413 | {GPIO0_BASE, GPIO_BI , GPIO_ALT1, GPIO_OUT_0}, /* GPIO0 EBC_ADDR(7) DMA_REQ(2) */ \ |
398 | {GPIO0_BASE, GPIO_BI , GPIO_ALT1, GPIO_OUT_0}, /* GPIO1 EBC_ADDR(6) DMA_ACK(2) */ \ | 414 | {GPIO0_BASE, GPIO_BI , GPIO_ALT1, GPIO_OUT_0}, /* GPIO1 EBC_ADDR(6) DMA_ACK(2) */ \ |
399 | {GPIO0_BASE, GPIO_IN , GPIO_SEL , GPIO_OUT_0}, /* GPIO2 EBC_ADDR(5) DMA_EOT/TC(2) */ \ | 415 | {GPIO0_BASE, GPIO_IN , GPIO_SEL , GPIO_OUT_0}, /* GPIO2 EBC_ADDR(5) DMA_EOT/TC(2) */ \ |
400 | {GPIO0_BASE, GPIO_IN , GPIO_SEL , GPIO_OUT_0}, /* GPIO3 EBC_ADDR(4) DMA_REQ(3) */ \ | 416 | {GPIO0_BASE, GPIO_IN , GPIO_SEL , GPIO_OUT_0}, /* GPIO3 EBC_ADDR(4) DMA_REQ(3) */ \ |
401 | {GPIO0_BASE, GPIO_IN , GPIO_SEL , GPIO_OUT_0}, /* GPIO4 EBC_ADDR(3) DMA_ACK(3) */ \ | 417 | {GPIO0_BASE, GPIO_IN , GPIO_SEL , GPIO_OUT_0}, /* GPIO4 EBC_ADDR(3) DMA_ACK(3) */ \ |
402 | {GPIO0_BASE, GPIO_IN , GPIO_SEL , GPIO_OUT_0}, /* GPIO5 EBC_ADDR(2) DMA_EOT/TC(3) */ \ | 418 | {GPIO0_BASE, GPIO_IN , GPIO_SEL , GPIO_OUT_0}, /* GPIO5 EBC_ADDR(2) DMA_EOT/TC(3) */ \ |
403 | {GPIO0_BASE, GPIO_IN , GPIO_SEL , GPIO_OUT_0}, /* GPIO6 EBC_CS_N(1) */ \ | 419 | {GPIO0_BASE, GPIO_IN , GPIO_SEL , GPIO_OUT_0}, /* GPIO6 EBC_CS_N(1) */ \ |
404 | {GPIO0_BASE, GPIO_OUT, GPIO_ALT1, GPIO_OUT_0}, /* GPIO7 EBC_CS_N(2) */ \ | 420 | {GPIO0_BASE, GPIO_OUT, GPIO_ALT1, GPIO_OUT_0}, /* GPIO7 EBC_CS_N(2) */ \ |
405 | {GPIO0_BASE, GPIO_OUT, GPIO_ALT1, GPIO_OUT_0}, /* GPIO8 EBC_CS_N(3) */ \ | 421 | {GPIO0_BASE, GPIO_OUT, GPIO_ALT1, GPIO_OUT_0}, /* GPIO8 EBC_CS_N(3) */ \ |
406 | {GPIO0_BASE, GPIO_OUT, GPIO_ALT1, GPIO_OUT_0}, /* GPIO9 EBC_CS_N(4) */ \ | 422 | {GPIO0_BASE, GPIO_OUT, GPIO_ALT1, GPIO_OUT_0}, /* GPIO9 EBC_CS_N(4) */ \ |
407 | {GPIO0_BASE, GPIO_OUT, GPIO_ALT1, GPIO_OUT_0}, /* GPIO10 EBC_CS_N(5) */ \ | 423 | {GPIO0_BASE, GPIO_OUT, GPIO_ALT1, GPIO_OUT_0}, /* GPIO10 EBC_CS_N(5) */ \ |
408 | {GPIO0_BASE, GPIO_IN , GPIO_SEL , GPIO_OUT_0}, /* GPIO11 EBC_BUS_ERR */ \ | 424 | {GPIO0_BASE, GPIO_IN , GPIO_SEL , GPIO_OUT_0}, /* GPIO11 EBC_BUS_ERR */ \ |
409 | {GPIO0_BASE, GPIO_IN , GPIO_SEL , GPIO_OUT_0}, /* GPIO12 */ \ | 425 | {GPIO0_BASE, GPIO_IN , GPIO_SEL , GPIO_OUT_0}, /* GPIO12 */ \ |
410 | {GPIO0_BASE, GPIO_IN , GPIO_SEL , GPIO_OUT_0}, /* GPIO13 */ \ | 426 | {GPIO0_BASE, GPIO_IN , GPIO_SEL , GPIO_OUT_0}, /* GPIO13 */ \ |
411 | {GPIO0_BASE, GPIO_IN , GPIO_SEL , GPIO_OUT_0}, /* GPIO14 */ \ | 427 | {GPIO0_BASE, GPIO_IN , GPIO_SEL , GPIO_OUT_0}, /* GPIO14 */ \ |
412 | {GPIO0_BASE, GPIO_IN , GPIO_SEL , GPIO_OUT_0}, /* GPIO15 */ \ | 428 | {GPIO0_BASE, GPIO_IN , GPIO_SEL , GPIO_OUT_0}, /* GPIO15 */ \ |
413 | {GPIO0_BASE, GPIO_OUT, GPIO_ALT1, GPIO_OUT_1}, /* GPIO16 GMCTxD(4) */ \ | 429 | {GPIO0_BASE, GPIO_OUT, GPIO_ALT1, GPIO_OUT_1}, /* GPIO16 GMCTxD(4) */ \ |
414 | {GPIO0_BASE, GPIO_OUT, GPIO_ALT1, GPIO_OUT_1}, /* GPIO17 GMCTxD(5) */ \ | 430 | {GPIO0_BASE, GPIO_OUT, GPIO_ALT1, GPIO_OUT_1}, /* GPIO17 GMCTxD(5) */ \ |
415 | {GPIO0_BASE, GPIO_OUT, GPIO_ALT1, GPIO_OUT_1}, /* GPIO18 GMCTxD(6) */ \ | 431 | {GPIO0_BASE, GPIO_OUT, GPIO_ALT1, GPIO_OUT_1}, /* GPIO18 GMCTxD(6) */ \ |
416 | {GPIO0_BASE, GPIO_OUT, GPIO_ALT1, GPIO_OUT_1}, /* GPIO19 GMCTxD(7) */ \ | 432 | {GPIO0_BASE, GPIO_OUT, GPIO_ALT1, GPIO_OUT_1}, /* GPIO19 GMCTxD(7) */ \ |
417 | {GPIO0_BASE, GPIO_IN , GPIO_SEL , GPIO_OUT_0}, /* GPIO20 RejectPkt0 */ \ | 433 | {GPIO0_BASE, GPIO_IN , GPIO_SEL , GPIO_OUT_0}, /* GPIO20 RejectPkt0 */ \ |
418 | {GPIO0_BASE, GPIO_IN , GPIO_SEL , GPIO_OUT_0}, /* GPIO21 RejectPkt1 */ \ | 434 | {GPIO0_BASE, GPIO_IN , GPIO_SEL , GPIO_OUT_0}, /* GPIO21 RejectPkt1 */ \ |
419 | {GPIO0_BASE, GPIO_IN , GPIO_SEL , GPIO_OUT_0}, /* GPIO22 */ \ | 435 | {GPIO0_BASE, GPIO_IN , GPIO_SEL , GPIO_OUT_0}, /* GPIO22 */ \ |
420 | {GPIO0_BASE, GPIO_IN , GPIO_SEL , GPIO_OUT_0}, /* GPIO23 SCPD0 */ \ | 436 | {GPIO0_BASE, GPIO_IN , GPIO_SEL , GPIO_OUT_0}, /* GPIO23 SCPD0 */ \ |
421 | {GPIO0_BASE, GPIO_OUT, GPIO_ALT1, GPIO_OUT_1}, /* GPIO24 GMCTxD(2) */ \ | 437 | {GPIO0_BASE, GPIO_OUT, GPIO_ALT1, GPIO_OUT_1}, /* GPIO24 GMCTxD(2) */ \ |
422 | {GPIO0_BASE, GPIO_OUT, GPIO_ALT1, GPIO_OUT_1}, /* GPIO25 GMCTxD(3) */ \ | 438 | {GPIO0_BASE, GPIO_OUT, GPIO_ALT1, GPIO_OUT_1}, /* GPIO25 GMCTxD(3) */ \ |
423 | {GPIO0_BASE, GPIO_IN , GPIO_SEL , GPIO_OUT_0}, /* GPIO26 */ \ | 439 | {GPIO0_BASE, GPIO_IN , GPIO_SEL , GPIO_OUT_0}, /* GPIO26 */ \ |
424 | {GPIO0_BASE, GPIO_IN , GPIO_ALT2, GPIO_OUT_0}, /* GPIO27 EXT_EBC_REQ USB2D_RXERROR */ \ | 440 | {GPIO0_BASE, GPIO_IN , GPIO_ALT2, GPIO_OUT_0}, /* GPIO27 EXT_EBC_REQ USB2D_RXERROR */ \ |
425 | {GPIO0_BASE, GPIO_OUT, GPIO_ALT2, GPIO_OUT_1}, /* GPIO28 USB2D_TXVALID */ \ | 441 | {GPIO0_BASE, GPIO_OUT, GPIO_ALT2, GPIO_OUT_1}, /* GPIO28 USB2D_TXVALID */ \ |
426 | {GPIO0_BASE, GPIO_OUT, GPIO_ALT2, GPIO_OUT_1}, /* GPIO29 EBC_EXT_HDLA USB2D_PAD_SUSPNDM */ \ | 442 | {GPIO0_BASE, GPIO_OUT, GPIO_ALT2, GPIO_OUT_1}, /* GPIO29 EBC_EXT_HDLA USB2D_PAD_SUSPNDM */ \ |
427 | {GPIO0_BASE, GPIO_OUT, GPIO_ALT2, GPIO_OUT_1}, /* GPIO30 EBC_EXT_ACK USB2D_XCVRSELECT*/ \ | 443 | {GPIO0_BASE, GPIO_OUT, GPIO_ALT2, GPIO_OUT_1}, /* GPIO30 EBC_EXT_ACK USB2D_XCVRSELECT*/ \ |
428 | {GPIO0_BASE, GPIO_OUT, GPIO_ALT2, GPIO_OUT_1}, /* GPIO31 EBC_EXR_BUSREQ USB2D_TERMSELECT*/ \ | 444 | {GPIO0_BASE, GPIO_OUT, GPIO_ALT2, GPIO_OUT_1}, /* GPIO31 EBC_EXR_BUSREQ USB2D_TERMSELECT*/ \ |
429 | }, \ | 445 | }, \ |
430 | { \ | 446 | { \ |
431 | /* GPIO Core 1 */ \ | 447 | /* GPIO Core 1 */ \ |
432 | {GPIO1_BASE, GPIO_OUT, GPIO_ALT1, GPIO_OUT_1}, /* GPIO32 USB2D_OPMODE0 EBC_DATA(2) */ \ | 448 | {GPIO1_BASE, GPIO_OUT, GPIO_ALT1, GPIO_OUT_1}, /* GPIO32 USB2D_OPMODE0 EBC_DATA(2) */ \ |
433 | {GPIO1_BASE, GPIO_OUT, GPIO_ALT1, GPIO_OUT_1}, /* GPIO33 USB2D_OPMODE1 EBC_DATA(3) */ \ | 449 | {GPIO1_BASE, GPIO_OUT, GPIO_ALT1, GPIO_OUT_1}, /* GPIO33 USB2D_OPMODE1 EBC_DATA(3) */ \ |
434 | {GPIO1_BASE, GPIO_IN , GPIO_ALT2, GPIO_OUT_0}, /* GPIO34 UART0_8PIN_DCD_N UART1_DSR_CTS_N UART2_SOUT*/ \ | 450 | {GPIO1_BASE, GPIO_IN , GPIO_ALT2, GPIO_OUT_0}, /* GPIO34 UART0_8PIN_DCD_N UART1_DSR_CTS_N UART2_SOUT*/ \ |
435 | {GPIO1_BASE, GPIO_OUT, GPIO_ALT2, GPIO_OUT_1}, /* GPIO35 UART0_8PIN_DSR_N UART1_RTS_DTR_N UART2_SIN*/ \ | 451 | {GPIO1_BASE, GPIO_OUT, GPIO_ALT2, GPIO_OUT_1}, /* GPIO35 UART0_8PIN_DSR_N UART1_RTS_DTR_N UART2_SIN*/ \ |
436 | {GPIO1_BASE, GPIO_IN , GPIO_ALT1, GPIO_OUT_0}, /* GPIO36 UART0_CTS_N EBC_DATA(0) UART3_SIN*/ \ | 452 | {GPIO1_BASE, GPIO_IN , GPIO_ALT1, GPIO_OUT_0}, /* GPIO36 UART0_CTS_N EBC_DATA(0) UART3_SIN*/ \ |
437 | {GPIO1_BASE, GPIO_OUT, GPIO_ALT1, GPIO_OUT_1}, /* GPIO37 UART0_RTS_N EBC_DATA(1) UART3_SOUT*/ \ | 453 | {GPIO1_BASE, GPIO_OUT, GPIO_ALT1, GPIO_OUT_1}, /* GPIO37 UART0_RTS_N EBC_DATA(1) UART3_SOUT*/ \ |
438 | {GPIO1_BASE, GPIO_OUT, GPIO_ALT2, GPIO_OUT_1}, /* GPIO38 UART0_8PIN_DTR_N UART1_SOUT */ \ | 454 | {GPIO1_BASE, GPIO_OUT, GPIO_ALT2, GPIO_OUT_1}, /* GPIO38 UART0_8PIN_DTR_N UART1_SOUT */ \ |
439 | {GPIO1_BASE, GPIO_IN , GPIO_ALT2, GPIO_OUT_0}, /* GPIO39 UART0_8PIN_RI_N UART1_SIN */ \ | 455 | {GPIO1_BASE, GPIO_IN , GPIO_ALT2, GPIO_OUT_0}, /* GPIO39 UART0_8PIN_RI_N UART1_SIN */ \ |
440 | {GPIO1_BASE, GPIO_IN , GPIO_ALT1, GPIO_OUT_0}, /* GPIO40 UIC_IRQ(0) */ \ | 456 | {GPIO1_BASE, GPIO_IN , GPIO_ALT1, GPIO_OUT_0}, /* GPIO40 UIC_IRQ(0) */ \ |
441 | {GPIO1_BASE, GPIO_IN , GPIO_ALT1, GPIO_OUT_0}, /* GPIO41 UIC_IRQ(1) */ \ | 457 | {GPIO1_BASE, GPIO_IN , GPIO_ALT1, GPIO_OUT_0}, /* GPIO41 UIC_IRQ(1) */ \ |
442 | {GPIO1_BASE, GPIO_IN , GPIO_ALT1, GPIO_OUT_0}, /* GPIO42 UIC_IRQ(2) */ \ | 458 | {GPIO1_BASE, GPIO_IN , GPIO_ALT1, GPIO_OUT_0}, /* GPIO42 UIC_IRQ(2) */ \ |
443 | {GPIO1_BASE, GPIO_IN , GPIO_ALT1, GPIO_OUT_0}, /* GPIO43 UIC_IRQ(3) */ \ | 459 | {GPIO1_BASE, GPIO_IN , GPIO_ALT1, GPIO_OUT_0}, /* GPIO43 UIC_IRQ(3) */ \ |
444 | {GPIO1_BASE, GPIO_IN , GPIO_ALT1, GPIO_OUT_0}, /* GPIO44 UIC_IRQ(4) DMA_ACK(1) */ \ | 460 | {GPIO1_BASE, GPIO_IN , GPIO_ALT1, GPIO_OUT_0}, /* GPIO44 UIC_IRQ(4) DMA_ACK(1) */ \ |
445 | {GPIO1_BASE, GPIO_IN , GPIO_ALT1, GPIO_OUT_0}, /* GPIO45 UIC_IRQ(6) DMA_EOT/TC(1) */ \ | 461 | {GPIO1_BASE, GPIO_IN , GPIO_ALT1, GPIO_OUT_0}, /* GPIO45 UIC_IRQ(6) DMA_EOT/TC(1) */ \ |
446 | {GPIO1_BASE, GPIO_IN , GPIO_SEL , GPIO_OUT_0}, /* GPIO46 UIC_IRQ(7) DMA_REQ(0) */ \ | 462 | {GPIO1_BASE, GPIO_IN , GPIO_SEL , GPIO_OUT_0}, /* GPIO46 UIC_IRQ(7) DMA_REQ(0) */ \ |
447 | {GPIO1_BASE, GPIO_IN , GPIO_SEL , GPIO_OUT_0}, /* GPIO47 UIC_IRQ(8) DMA_ACK(0) */ \ | 463 | {GPIO1_BASE, GPIO_IN , GPIO_SEL , GPIO_OUT_0}, /* GPIO47 UIC_IRQ(8) DMA_ACK(0) */ \ |
448 | {GPIO1_BASE, GPIO_IN , GPIO_SEL , GPIO_OUT_0}, /* GPIO48 UIC_IRQ(9) DMA_EOT/TC(0) */ \ | 464 | {GPIO1_BASE, GPIO_IN , GPIO_SEL , GPIO_OUT_0}, /* GPIO48 UIC_IRQ(9) DMA_EOT/TC(0) */ \ |
449 | {GPIO1_BASE, GPIO_IN , GPIO_SEL , GPIO_OUT_0}, /* GPIO49 Unselect via TraceSelect Bit */ \ | 465 | {GPIO1_BASE, GPIO_IN , GPIO_SEL , GPIO_OUT_0}, /* GPIO49 Unselect via TraceSelect Bit */ \ |
450 | {GPIO1_BASE, GPIO_IN , GPIO_SEL , GPIO_OUT_0}, /* GPIO50 Unselect via TraceSelect Bit */ \ | 466 | {GPIO1_BASE, GPIO_IN , GPIO_SEL , GPIO_OUT_0}, /* GPIO50 Unselect via TraceSelect Bit */ \ |
451 | {GPIO1_BASE, GPIO_IN , GPIO_SEL , GPIO_OUT_0}, /* GPIO51 Unselect via TraceSelect Bit */ \ | 467 | {GPIO1_BASE, GPIO_IN , GPIO_SEL , GPIO_OUT_0}, /* GPIO51 Unselect via TraceSelect Bit */ \ |
452 | {GPIO1_BASE, GPIO_IN , GPIO_SEL , GPIO_OUT_0}, /* GPIO52 Unselect via TraceSelect Bit */ \ | 468 | {GPIO1_BASE, GPIO_IN , GPIO_SEL , GPIO_OUT_0}, /* GPIO52 Unselect via TraceSelect Bit */ \ |
453 | {GPIO1_BASE, GPIO_IN , GPIO_SEL , GPIO_OUT_0}, /* GPIO53 Unselect via TraceSelect Bit */ \ | 469 | {GPIO1_BASE, GPIO_IN , GPIO_SEL , GPIO_OUT_0}, /* GPIO53 Unselect via TraceSelect Bit */ \ |
454 | {GPIO1_BASE, GPIO_IN , GPIO_SEL , GPIO_OUT_0}, /* GPIO54 Unselect via TraceSelect Bit */ \ | 470 | {GPIO1_BASE, GPIO_IN , GPIO_SEL , GPIO_OUT_0}, /* GPIO54 Unselect via TraceSelect Bit */ \ |
455 | {GPIO1_BASE, GPIO_IN , GPIO_SEL , GPIO_OUT_0}, /* GPIO55 Unselect via TraceSelect Bit */ \ | 471 | {GPIO1_BASE, GPIO_IN , GPIO_SEL , GPIO_OUT_0}, /* GPIO55 Unselect via TraceSelect Bit */ \ |
456 | {GPIO1_BASE, GPIO_IN , GPIO_SEL , GPIO_OUT_0}, /* GPIO56 Unselect via TraceSelect Bit */ \ | 472 | {GPIO1_BASE, GPIO_IN , GPIO_SEL , GPIO_OUT_0}, /* GPIO56 Unselect via TraceSelect Bit */ \ |
457 | {GPIO1_BASE, GPIO_IN , GPIO_SEL , GPIO_OUT_0}, /* GPIO57 Unselect via TraceSelect Bit */ \ | 473 | {GPIO1_BASE, GPIO_IN , GPIO_SEL , GPIO_OUT_0}, /* GPIO57 Unselect via TraceSelect Bit */ \ |
458 | {GPIO1_BASE, GPIO_IN , GPIO_SEL , GPIO_OUT_0}, /* GPIO58 Unselect via TraceSelect Bit */ \ | 474 | {GPIO1_BASE, GPIO_IN , GPIO_SEL , GPIO_OUT_0}, /* GPIO58 Unselect via TraceSelect Bit */ \ |
459 | {GPIO1_BASE, GPIO_IN , GPIO_SEL , GPIO_OUT_0}, /* GPIO59 Unselect via TraceSelect Bit */ \ | 475 | {GPIO1_BASE, GPIO_IN , GPIO_SEL , GPIO_OUT_0}, /* GPIO59 Unselect via TraceSelect Bit */ \ |
460 | {GPIO1_BASE, GPIO_IN , GPIO_SEL , GPIO_OUT_0}, /* GPIO60 Unselect via TraceSelect Bit */ \ | 476 | {GPIO1_BASE, GPIO_IN , GPIO_SEL , GPIO_OUT_0}, /* GPIO60 Unselect via TraceSelect Bit */ \ |
461 | {GPIO1_BASE, GPIO_IN , GPIO_SEL , GPIO_OUT_0}, /* GPIO61 Unselect via TraceSelect Bit */ \ | 477 | {GPIO1_BASE, GPIO_IN , GPIO_SEL , GPIO_OUT_0}, /* GPIO61 Unselect via TraceSelect Bit */ \ |
462 | {GPIO1_BASE, GPIO_IN , GPIO_SEL , GPIO_OUT_0}, /* GPIO62 Unselect via TraceSelect Bit */ \ | 478 | {GPIO1_BASE, GPIO_IN , GPIO_SEL , GPIO_OUT_0}, /* GPIO62 Unselect via TraceSelect Bit */ \ |
463 | {GPIO1_BASE, GPIO_IN , GPIO_SEL , GPIO_OUT_0}, /* GPIO63 Unselect via TraceSelect Bit */ \ | 479 | {GPIO1_BASE, GPIO_IN , GPIO_SEL , GPIO_OUT_0}, /* GPIO63 Unselect via TraceSelect Bit */ \ |
464 | } \ | 480 | } \ |
465 | } | 481 | } |
466 | 482 | ||
467 | #ifdef CONFIG_VIDEO | 483 | #ifdef CONFIG_VIDEO |
468 | #define CONFIG_BIOSEMU /* x86 bios emulator for vga bios */ | 484 | #define CONFIG_BIOSEMU /* x86 bios emulator for vga bios */ |
469 | #define CONFIG_ATI_RADEON_FB /* use radeon framebuffer driver */ | 485 | #define CONFIG_ATI_RADEON_FB /* use radeon framebuffer driver */ |
470 | #define VIDEO_IO_OFFSET 0xe8000000 | 486 | #define VIDEO_IO_OFFSET 0xe8000000 |
471 | #define CONFIG_SYS_ISA_IO_BASE_ADDRESS VIDEO_IO_OFFSET | 487 | #define CONFIG_SYS_ISA_IO_BASE_ADDRESS VIDEO_IO_OFFSET |
472 | #define CONFIG_VIDEO_SW_CURSOR | 488 | #define CONFIG_VIDEO_SW_CURSOR |
473 | #define CONFIG_VIDEO_LOGO | 489 | #define CONFIG_VIDEO_LOGO |
474 | #define CONFIG_CFB_CONSOLE | 490 | #define CONFIG_CFB_CONSOLE |
475 | #define CONFIG_SPLASH_SCREEN | 491 | #define CONFIG_SPLASH_SCREEN |
476 | #define CONFIG_VGA_AS_SINGLE_DEVICE | 492 | #define CONFIG_VGA_AS_SINGLE_DEVICE |
477 | #define CONFIG_CMD_BMP | 493 | #define CONFIG_CMD_BMP |
478 | #endif | 494 | #endif |
479 | 495 | ||
480 | #endif /* __CONFIG_H */ | 496 | #endif /* __CONFIG_H */ |