Commit d873133f2ba9bd613d5f6552c31cc70fb13f15d3

Authored by Stefan Roese
Committed by Wolfgang Denk
1 parent 837db3d87f
Exists in master and in 55 other branches 8qm-imx_v2020.04_5.4.70_2.3.0, emb_lf_v2022.04, emb_lf_v2023.04, imx_v2015.04_4.1.15_1.0.0_ga, pitx_8mp_lf_v2020.04, smarc-8m-android-10.0.0_2.6.0, smarc-8m-android-11.0.0_2.0.0, smarc-8mp-android-11.0.0_2.0.0, smarc-emmc-imx_v2014.04_3.10.53_1.1.0_ga, smarc-emmc-imx_v2014.04_3.14.28_1.0.0_ga, smarc-imx-l5.0.0_1.0.0-ga, smarc-imx6_v2018.03_4.14.98_2.0.0_ga, smarc-imx7_v2017.03_4.9.11_1.0.0_ga, smarc-imx7_v2018.03_4.14.98_2.0.0_ga, smarc-imx_v2014.04_3.14.28_1.0.0_ga, smarc-imx_v2015.04_4.1.15_1.0.0_ga, smarc-imx_v2017.03_4.9.11_1.0.0_ga, smarc-imx_v2017.03_4.9.88_2.0.0_ga, smarc-imx_v2017.03_o8.1.0_1.3.0_8m, smarc-imx_v2018.03_4.14.78_1.0.0_ga, smarc-m6.0.1_2.1.0-ga, smarc-n7.1.2_2.0.0-ga, smarc-rel_imx_4.1.15_2.0.0_ga, smarc_8m-imx_v2018.03_4.14.98_2.0.0_ga, smarc_8m-imx_v2019.04_4.19.35_1.1.0, smarc_8m_00d0-imx_v2018.03_4.14.98_2.0.0_ga, smarc_8mm-imx_v2018.03_4.14.98_2.0.0_ga, smarc_8mm-imx_v2019.04_4.19.35_1.1.0, smarc_8mm-imx_v2020.04_5.4.24_2.1.0, smarc_8mp_lf_v2020.04, smarc_8mq-imx_v2020.04_5.4.24_2.1.0, smarc_8mq_lf_v2020.04, ti-u-boot-2015.07, u-boot-2013.01.y, v2013.10, v2013.10-smarct33, v2013.10-smartmen, v2014.01, v2014.04, v2014.04-smarct33, v2014.04-smarct33-emmc, v2014.04-smartmen, v2014.07, v2014.07-smarct33, v2014.07-smartmen, v2015.07-smarct33, v2015.07-smarct33-emmc, v2015.07-smarct4x, v2016.05-dlt, v2016.05-smarct3x, v2016.05-smarct3x-emmc, v2016.05-smarct4x, v2017.01-smarct3x, v2017.01-smarct3x-emmc, v2017.01-smarct4x

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

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
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 */