mirror of
https://source.denx.de/u-boot/u-boot.git
synced 2025-11-29 14:41:26 +01:00
Merge commit 'remotes/wd/master'
This commit is contained in:
commit
3cac27c1d4
309
CHANGELOG
309
CHANGELOG
@ -1,3 +1,267 @@
|
|||||||
|
commit 58b74b05c621e2835ecf4e2d3243042cf4186777
|
||||||
|
Author: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
|
||||||
|
Date: Fri Oct 19 00:09:05 2007 +0200
|
||||||
|
|
||||||
|
Fix missing drivers makefile entries ds1722.c mw_eeprom.c
|
||||||
|
|
||||||
|
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
|
||||||
|
|
||||||
|
commit 96455bfebc9887837095c9051d216f53c61b5f10
|
||||||
|
Author: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
|
||||||
|
Date: Fri Oct 19 00:07:39 2007 +0200
|
||||||
|
|
||||||
|
Fix warning differ in signedness in board/innokom/innokom.c
|
||||||
|
|
||||||
|
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
|
||||||
|
|
||||||
|
commit 2a4741d9a14ec475f50e9856d2c0a67e8b4271bd
|
||||||
|
Author: Marcel Ziswiler <marcel@ziswiler.com>
|
||||||
|
Date: Fri Oct 19 00:25:33 2007 +0200
|
||||||
|
|
||||||
|
fix pxa255_idp board
|
||||||
|
|
||||||
|
The pxa255_idp being an old unmaintained board showed several issues:
|
||||||
|
1. CONFIG_INIT_CRITICAL was still defined.
|
||||||
|
2. Neither CONFIG_MAC_PARTITION nor CONFIG_DOS_PARTITION was defined.
|
||||||
|
3. Symbol flash_addr was undeclared.
|
||||||
|
4. The boards lowlevel_init function was still called memsetup.
|
||||||
|
5. The TEXT_BASE was still 0xa3000000 rather than 0xa3080000.
|
||||||
|
6. Using -march=armv5 instead of -march=armv5te resulted in lots of
|
||||||
|
'target CPU does not support interworking' warnings on recent compilers.
|
||||||
|
7. The PXA's serial driver redefined FFUART, BTUART and STUART used as
|
||||||
|
indexes rather than the register definitions from the pxa-regs header
|
||||||
|
file. Renamed them to FFUART_INDEX, BTUART_INDEX and STUART_INDEX to
|
||||||
|
avoid any ambiguities.
|
||||||
|
8. There were several redefinition warnings concerning ICMR, OSMR3,
|
||||||
|
OSCR, OWER, OIER, RCSR and CCCR in the PXA's assembly start file.
|
||||||
|
9. The board configuration file was rather outdated.
|
||||||
|
10. The part header file defined the vendor, product and revision arrays
|
||||||
|
as unsigned chars instead of just chars in the block_dev_desc_t
|
||||||
|
structure.
|
||||||
|
|
||||||
|
Signed-off-by: Marcel Ziswiler <marcel@ziswiler.com>
|
||||||
|
|
||||||
|
commit 298cd4cafe81ff8a6c87be8fbc440a20720d3ed6
|
||||||
|
Author: Rune Torgersen <runet@innovsys.com>
|
||||||
|
Date: Wed Oct 17 11:56:31 2007 -0500
|
||||||
|
|
||||||
|
Make MPC8266ADS command selection more robust
|
||||||
|
|
||||||
|
Fix MPC8266 command line definition so it won't break when new commands
|
||||||
|
are added to u-boot.
|
||||||
|
Signed-off-by Rune Torgersen <runet@innovsys.com>
|
||||||
|
|
||||||
|
commit 05bf4919c1ce49cdedadacd564d0786a8ed796a1
|
||||||
|
Author: Wolfgang Denk <wd@denx.de>
|
||||||
|
Date: Sun Oct 21 01:01:17 2007 +0200
|
||||||
|
|
||||||
|
Minor coding style cleanup; update CHANGELOG
|
||||||
|
|
||||||
|
Signed-off-by: Wolfgang Denk <wd@denx.de>
|
||||||
|
|
||||||
|
commit ff285ca07eda1ea4a8909848cc1cc604ec8fec9c
|
||||||
|
Author: Vlad Lungu <vlad@comsys.ro>
|
||||||
|
Date: Thu Oct 4 20:47:10 2007 +0300
|
||||||
|
|
||||||
|
Fix NE2000 driver:
|
||||||
|
|
||||||
|
Fixed typo in ne2000.h, thinko re n2k_inb() usage, don't try
|
||||||
|
to do anything in eth_stop() if eth_init() was not called.
|
||||||
|
Simplified RX path in order to avoid timeouts on really really
|
||||||
|
fast NE2000 cards (read: qemu with internal tftp), NetLoop() is
|
||||||
|
clever enough to cope with 1 packet per eth_rx().
|
||||||
|
|
||||||
|
Signed-off-by: Vlad Lungu <vlad@comsys.ro>
|
||||||
|
|
||||||
|
commit 5441f61a3d8b7034f19fc1361183e936198e6dbb
|
||||||
|
Author: Detlev Zundel <dzu@denx.de>
|
||||||
|
Date: Fri Oct 19 16:47:26 2007 +0200
|
||||||
|
|
||||||
|
Fix two typos.
|
||||||
|
|
||||||
|
Signed-off-by: Detlev Zundel <dzu@denx.de>
|
||||||
|
|
||||||
|
commit 281df457c1aa50d2752165d0c5c3282d4027b974
|
||||||
|
Author: Tony Li <tony.li@freescale.com>
|
||||||
|
Date: Thu Oct 18 17:47:19 2007 +0800
|
||||||
|
|
||||||
|
mpc83xx: Add configure entry for MPC83xx ATM support
|
||||||
|
|
||||||
|
Add MPC8360EMDS_ATM_config and MPC832XEMDS_ATM_config into
|
||||||
|
Makfile and MAKEALL
|
||||||
|
|
||||||
|
Signed-off-by: Tony Li <tony.li@freescale.com>
|
||||||
|
Signed-off-by: Kim Phillips <kim.phillips@freescale.com>
|
||||||
|
|
||||||
|
commit d2646554f529a9577515eceb0ec5eceee18244ba
|
||||||
|
Author: Tony Li <tony.li@freescale.com>
|
||||||
|
Date: Thu Oct 18 17:44:38 2007 +0800
|
||||||
|
|
||||||
|
mpc83xx: pq-mds-pib.c typo error
|
||||||
|
|
||||||
|
Correct to val8 from val.
|
||||||
|
|
||||||
|
Signed-off-by: Tony Li <tony.li@freescale.com>
|
||||||
|
Signed-off-by: Kim Phillips <kim.phillips@freescale.com>
|
||||||
|
|
||||||
|
commit 3e11ae80fec1ee12194940955431186abf6009c2
|
||||||
|
Author: Stefan Roese <sr@denx.de>
|
||||||
|
Date: Wed Oct 17 15:40:19 2007 +0200
|
||||||
|
|
||||||
|
ppc4xx: Add 667/133 (CPU/PLB) frequency setup to Sequoia bootstrap command
|
||||||
|
|
||||||
|
Signed-off-by: Stefan Roese <sr@denx.de>
|
||||||
|
|
||||||
|
commit 7ee6ba1a056e4061ab4cfde30127e332e7957afd
|
||||||
|
Author: runet@innovsys.com <runet@innovsys.com>
|
||||||
|
Date: Tue Oct 16 14:50:40 2007 -0500
|
||||||
|
|
||||||
|
Make MPC8266ADS board compile again.
|
||||||
|
|
||||||
|
Signed-off-by: Runet Torgersen <runet@innovsys.com>
|
||||||
|
|
||||||
|
commit 2491167c245d8ebe6f2dbd8c4287aaa0d14fe93a
|
||||||
|
Author: Jon Loeliger <jdl@freescale.com>
|
||||||
|
Date: Mon Aug 27 12:41:03 2007 -0500
|
||||||
|
|
||||||
|
86xx: Allow for fewer DDR slots per memory controller.
|
||||||
|
|
||||||
|
As a direct correlation exists between DDR DIMM slots
|
||||||
|
and SPD EEPROM addresses used to configure them, use
|
||||||
|
the individually defined SPD_EEPROM_ADDRESS* values to
|
||||||
|
determine if a DDR DIMM slot should have its SPD
|
||||||
|
configuration read or not.
|
||||||
|
|
||||||
|
Effectively, this now allows for 1 or 2 DIMM slots
|
||||||
|
per memory controller.
|
||||||
|
|
||||||
|
Signed-off-by: Jon Loeliger <jdl@freescale.com>
|
||||||
|
|
||||||
|
commit 4d4a945e189a2f384c66432316da2788a0ac1607
|
||||||
|
Author: Rodolfo Giometti <giometti@enneenne.com>
|
||||||
|
Date: Mon Oct 15 11:59:17 2007 +0200
|
||||||
|
|
||||||
|
PXA USB OHCI: "usb stop" implementation.
|
||||||
|
|
||||||
|
Some USB keys need to be switched off before loading the kernel
|
||||||
|
otherwise they can remain in an undefined status which prevents them
|
||||||
|
to be correctly recognized by the kernel.
|
||||||
|
|
||||||
|
Signed-off-by: Rodolfo Giometti <giometti@linux.it>
|
||||||
|
|
||||||
|
commit e2e93442e558cf1500e92861f99713b2f045ea22
|
||||||
|
Author: Stefan Roese <sr@denx.de>
|
||||||
|
Date: Mon Oct 15 11:39:00 2007 +0200
|
||||||
|
|
||||||
|
ppc4xx: Fix bug in I2C bootstrap values for Sequoia/Rainier
|
||||||
|
|
||||||
|
The I2C bootstrap values that can be setup via the "bootstrap" command,
|
||||||
|
were setup incorrect regarding the generation of the internal sync PCI
|
||||||
|
clock. The values for PLB clock == 133MHz were slighly incorrect and the
|
||||||
|
values for PLB clock == 166MHz were totally incorrect. This could
|
||||||
|
lead to a hangup upon booting while PCI configuration scan.
|
||||||
|
|
||||||
|
This patch fixes this issue and configures valid PCI divisor values
|
||||||
|
for the sync PCI clock, with respect to the provided external async
|
||||||
|
PCI frequency.
|
||||||
|
|
||||||
|
Here the values of the formula in the chapter 14.2 "PCI clocking"
|
||||||
|
from the 440EPx users manual:
|
||||||
|
|
||||||
|
AsyncPCICLK - 1MHz <= SyncPCIClk <= (2 * AsyncPCIClk) - 1MHz
|
||||||
|
|
||||||
|
33MHz async PCI frequency:
|
||||||
|
PLB = 133:
|
||||||
|
=> 32 <= 44.3 <= 65 (div = 3)
|
||||||
|
|
||||||
|
PLB = 166:
|
||||||
|
=> 32 <= 55.3 <= 65 (div = 3)
|
||||||
|
|
||||||
|
66MHz async PCI frequency:
|
||||||
|
PLB = 133:
|
||||||
|
=> 65 <= 66.5 <= 132 (div = 2)
|
||||||
|
|
||||||
|
PLB = 166:
|
||||||
|
=> 65 <= 83 <= 132 (div = 2)
|
||||||
|
|
||||||
|
Signed-off-by: Stefan Roese <sr@denx.de>
|
||||||
|
|
||||||
|
commit 5a5958b7de70ae99f0e7cbd5c97ec1346e051587
|
||||||
|
Author: Stefan Roese <sr@denx.de>
|
||||||
|
Date: Mon Oct 15 11:29:33 2007 +0200
|
||||||
|
|
||||||
|
ppc4xx: Fix incorrect 33/66MHz PCI clock log-message on Sequoia & Yosemite
|
||||||
|
|
||||||
|
The BCSR status bit for the 66MHz PCI operation was correctly
|
||||||
|
addressed (MSB/LSB problem). Now the correct currently setup
|
||||||
|
PCI frequency is displayed upon bootup.
|
||||||
|
|
||||||
|
This patch also fixes this problem on Rainier & Yellowstone, since these
|
||||||
|
boards use the same souce code as Sequoia & Yosemite do.
|
||||||
|
|
||||||
|
Signed-off-by: Stefan Roese <sr@denx.de>
|
||||||
|
|
||||||
|
commit da3aad55cbde80ab6e301aafa82a2c411aa53eff
|
||||||
|
Author: Martin Krause <martin.krause@tqs.de>
|
||||||
|
Date: Wed Sep 26 17:55:56 2007 +0200
|
||||||
|
|
||||||
|
TQM860M: adjust for doubled flash sector size.
|
||||||
|
|
||||||
|
Adjust flash map to support the new S29GLxxN (N-Type) Flashes with
|
||||||
|
doubled sector size.
|
||||||
|
|
||||||
|
Signed-off-by: Martin Krause <martin.krause@tqs.de>
|
||||||
|
|
||||||
|
commit 9d29250e2e62f4bf20c7a20b4173d84c48f11f5d
|
||||||
|
Author: Jens Gehrlein <jens.gehrlein@tqs.de>
|
||||||
|
Date: Wed Sep 26 17:55:54 2007 +0200
|
||||||
|
|
||||||
|
TQM8xx: Fix CAN timing.
|
||||||
|
|
||||||
|
Signed-off-by: Martin Krause <martin.krause@tqs.de>
|
||||||
|
|
||||||
|
commit d43e489baf02afae49077791fb22332d240d8656
|
||||||
|
Author: Martin Krause <martin.krause@tqs.de>
|
||||||
|
Date: Thu Sep 27 14:54:36 2007 +0200
|
||||||
|
|
||||||
|
TQM866M: fix SDRAM refresh
|
||||||
|
|
||||||
|
At 133 MHz the current SDRAM refresh rate is too fast
|
||||||
|
(measured 4 * 1.17 us).
|
||||||
|
CFG_MAMR_PTA changes from 39 to 97. This result
|
||||||
|
in a refresh rate of 4 * 7.8 us at the default clock
|
||||||
|
50 MHz. At 133 MHz the value will be then 4 * 2.9 us.
|
||||||
|
This is a compromise until a new method is found to
|
||||||
|
adjust the refresh rate.
|
||||||
|
|
||||||
|
Signed-off-by: Martin Krause <martin.krause@tqs.de>
|
||||||
|
|
||||||
|
commit 9ef57bbee1c67cc01da2026c242c4692db32be36
|
||||||
|
Author: Martin Krause <martin.krause@tqs.de>
|
||||||
|
Date: Wed Sep 26 17:55:55 2007 +0200
|
||||||
|
|
||||||
|
TQM866M: adjust for doubled flash sector size.
|
||||||
|
|
||||||
|
Adjust flash map to support the new S29GLxxN (N-Type) Flashes with
|
||||||
|
doubled sector size.
|
||||||
|
|
||||||
|
Signed-off-by: Martin Krause <martin.krause@tqs.de>
|
||||||
|
|
||||||
|
commit f8bf90461d9bad2e6fed31fcebaf235f60dd6763
|
||||||
|
Author: Michal Simek <monstr@monstr.eu>
|
||||||
|
Date: Sun Oct 14 16:12:29 2007 +0200
|
||||||
|
|
||||||
|
[FIX] XUPV2P change command handling
|
||||||
|
and remove code violation
|
||||||
|
|
||||||
|
commit 636400198228d96983c06657b17f760f5989958e
|
||||||
|
Author: Wolfgang Denk <wd@denx.de>
|
||||||
|
Date: Sun Oct 14 00:13:19 2007 +0200
|
||||||
|
|
||||||
|
Prepare for 1.3.0-rc3 release
|
||||||
|
|
||||||
|
Signed-off-by: Wolfgang Denk <wd@denx.de>
|
||||||
|
|
||||||
commit 68f14f77ca5fe5f9cc025c8cae101671f628309f
|
commit 68f14f77ca5fe5f9cc025c8cae101671f628309f
|
||||||
Author: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
|
Author: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
|
||||||
Date: Sat Sep 29 13:41:37 2007 +0200
|
Date: Sat Sep 29 13:41:37 2007 +0200
|
||||||
@ -109,6 +373,26 @@ Date: Mon Oct 1 09:51:50 2007 +0200
|
|||||||
|
|
||||||
Signed-off-by: Grzegorz Bernacki <gjb@semihalf.com>
|
Signed-off-by: Grzegorz Bernacki <gjb@semihalf.com>
|
||||||
|
|
||||||
|
commit 785c13477b77dcd2e6c5128fffcdb4e1943f4818
|
||||||
|
Author: Timo Ketola <timo.ketola@exertus.fi>
|
||||||
|
Date: Mon Sep 24 14:50:32 2007 +0300
|
||||||
|
|
||||||
|
Bugfix: Use only one PTD for one endpoint
|
||||||
|
|
||||||
|
Original isp116x-hcd code prepared multiple PTDs for longer than 16
|
||||||
|
byte transfers for one endpoint. That is unnecessary because the
|
||||||
|
ISP116x is able to split long data from one PTD into multiple
|
||||||
|
transactions based on the buffer size of the endpoint. It also caused
|
||||||
|
serious problems if the endpoint NAKed some of the transactions. In
|
||||||
|
that case ISP116x wouldn't notice that the other PTDs were for the same
|
||||||
|
endpoint and would try the other PTDs possibly out of order. That would
|
||||||
|
break the whole transfer.
|
||||||
|
|
||||||
|
This patch makes isp116x_submit_job to use one PTD for one transfer.
|
||||||
|
|
||||||
|
Signed-off-by: Timo Ketola <timo.ketola@exertus.fi>
|
||||||
|
Signed-off-by: Markus Klotzbuecher <mk@denx.de>
|
||||||
|
|
||||||
commit 86ec86c04326c3913178a7679aa910de071da75d
|
commit 86ec86c04326c3913178a7679aa910de071da75d
|
||||||
Author: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
|
Author: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
|
||||||
Date: Thu Sep 27 23:27:47 2007 +0200
|
Date: Thu Sep 27 23:27:47 2007 +0200
|
||||||
@ -331,6 +615,12 @@ Date: Mon Sep 10 17:13:49 2007 +0900
|
|||||||
|
|
||||||
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
|
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
|
||||||
|
|
||||||
|
commit b49c90df6e7cfcfb8b862b8bbf8448dff5eed9a5
|
||||||
|
Author: Michal Simek <monstr@monstr.eu>
|
||||||
|
Date: Sun Sep 16 20:51:57 2007 +0200
|
||||||
|
|
||||||
|
[FIX] remove files form repository
|
||||||
|
|
||||||
commit 67c31036acaaaa992fc346cc89db0909a7e733c4
|
commit 67c31036acaaaa992fc346cc89db0909a7e733c4
|
||||||
Author: Wolfgang Denk <wd@denx.de>
|
Author: Wolfgang Denk <wd@denx.de>
|
||||||
Date: Sun Sep 16 17:10:04 2007 +0200
|
Date: Sun Sep 16 17:10:04 2007 +0200
|
||||||
@ -478,6 +768,25 @@ Date: Sat Sep 15 11:55:42 2007 +0200
|
|||||||
|
|
||||||
[1] http://article.gmane.org/gmane.comp.boot-loaders.u-boot/31805
|
[1] http://article.gmane.org/gmane.comp.boot-loaders.u-boot/31805
|
||||||
|
|
||||||
|
commit 991b089d1ce5ad945725e3657a8f106dfa02a38e
|
||||||
|
Author: Michal Simek <monstr@monstr.eu>
|
||||||
|
Date: Sat Sep 15 00:03:35 2007 +0200
|
||||||
|
|
||||||
|
Synchronize with U-BOOT mainline
|
||||||
|
|
||||||
|
commit d7fee32b7e61fe11c64e371cde79faa4768e8350
|
||||||
|
Author: Sam Sparks <SSparks@twacs.com>
|
||||||
|
Date: Fri Sep 14 11:14:42 2007 -0600
|
||||||
|
|
||||||
|
Update MPC8349ITX*_config to place config.tmp in right place.
|
||||||
|
|
||||||
|
MPC834ITX*_config does not store config.tmp at the correct locatation,
|
||||||
|
causing MPC8349ITXGP to have the wrong TEXT_BASE.
|
||||||
|
|
||||||
|
Signed-off-by: Sam Sparks <SSparks@twacs.com>
|
||||||
|
Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
|
||||||
|
Signed-off-by: Kim Phillips <kim.phillips@freescale.com>
|
||||||
|
|
||||||
commit 6e7b7b6ea1b6d04dbe96242eb6a0c1c664c98e8c
|
commit 6e7b7b6ea1b6d04dbe96242eb6a0c1c664c98e8c
|
||||||
Author: Bartlomiej Sieka <tur@semihalf.com>
|
Author: Bartlomiej Sieka <tur@semihalf.com>
|
||||||
Date: Thu Sep 13 18:21:48 2007 +0200
|
Date: Thu Sep 13 18:21:48 2007 +0200
|
||||||
|
|||||||
2
MAKEALL
2
MAKEALL
@ -301,10 +301,12 @@ LIST_83xx=" \
|
|||||||
MPC8313ERDB_66 \
|
MPC8313ERDB_66 \
|
||||||
MPC8323ERDB \
|
MPC8323ERDB \
|
||||||
MPC832XEMDS \
|
MPC832XEMDS \
|
||||||
|
MPC832XEMDS_ATM \
|
||||||
MPC8349EMDS \
|
MPC8349EMDS \
|
||||||
MPC8349ITX \
|
MPC8349ITX \
|
||||||
MPC8349ITXGP \
|
MPC8349ITXGP \
|
||||||
MPC8360EMDS \
|
MPC8360EMDS \
|
||||||
|
MPC8360EMDS_ATM \
|
||||||
sbc8349 \
|
sbc8349 \
|
||||||
TQM834x \
|
TQM834x \
|
||||||
"
|
"
|
||||||
|
|||||||
40
Makefile
40
Makefile
@ -393,7 +393,7 @@ BC3450_config: unconfig
|
|||||||
cpci5200_config: unconfig
|
cpci5200_config: unconfig
|
||||||
@$(MKCONFIG) -a cpci5200 ppc mpc5xxx cpci5200 esd
|
@$(MKCONFIG) -a cpci5200 ppc mpc5xxx cpci5200 esd
|
||||||
|
|
||||||
hmi1001_config: unconfig
|
hmi1001_config: unconfig
|
||||||
@$(MKCONFIG) hmi1001 ppc mpc5xxx hmi1001
|
@$(MKCONFIG) hmi1001 ppc mpc5xxx hmi1001
|
||||||
|
|
||||||
Lite5200_config \
|
Lite5200_config \
|
||||||
@ -435,7 +435,7 @@ icecube_5100_config: unconfig
|
|||||||
}
|
}
|
||||||
@$(MKCONFIG) -a IceCube ppc mpc5xxx icecube
|
@$(MKCONFIG) -a IceCube ppc mpc5xxx icecube
|
||||||
|
|
||||||
jupiter_config: unconfig
|
jupiter_config: unconfig
|
||||||
@$(MKCONFIG) jupiter ppc mpc5xxx jupiter
|
@$(MKCONFIG) jupiter ppc mpc5xxx jupiter
|
||||||
|
|
||||||
v38b_config: unconfig
|
v38b_config: unconfig
|
||||||
@ -640,9 +640,9 @@ TQM5200_STK100_config: unconfig
|
|||||||
{ echo "TEXT_BASE = 0xFFF00000" >$(obj)board/tqm5200/config.tmp ; \
|
{ echo "TEXT_BASE = 0xFFF00000" >$(obj)board/tqm5200/config.tmp ; \
|
||||||
}
|
}
|
||||||
@$(MKCONFIG) -n $@ -a TQM5200 ppc mpc5xxx tqm5200
|
@$(MKCONFIG) -n $@ -a TQM5200 ppc mpc5xxx tqm5200
|
||||||
uc101_config: unconfig
|
uc101_config: unconfig
|
||||||
@$(MKCONFIG) uc101 ppc mpc5xxx uc101
|
@$(MKCONFIG) uc101 ppc mpc5xxx uc101
|
||||||
motionpro_config: unconfig
|
motionpro_config: unconfig
|
||||||
@$(MKCONFIG) motionpro ppc mpc5xxx motionpro
|
@$(MKCONFIG) motionpro ppc mpc5xxx motionpro
|
||||||
|
|
||||||
|
|
||||||
@ -930,7 +930,7 @@ RPXlite_DW_NVRAM_config \
|
|||||||
RPXlite_DW_NVRAM_64_config \
|
RPXlite_DW_NVRAM_64_config \
|
||||||
RPXlite_DW_NVRAM_LCD_config \
|
RPXlite_DW_NVRAM_LCD_config \
|
||||||
RPXlite_DW_NVRAM_64_LCD_config \
|
RPXlite_DW_NVRAM_64_LCD_config \
|
||||||
RPXlite_DW_config: unconfig
|
RPXlite_DW_config: unconfig
|
||||||
@mkdir -p $(obj)include
|
@mkdir -p $(obj)include
|
||||||
@ >$(obj)include/config.h
|
@ >$(obj)include/config.h
|
||||||
@[ -z "$(findstring _64,$@)" ] || \
|
@[ -z "$(findstring _64,$@)" ] || \
|
||||||
@ -1733,9 +1733,13 @@ M54455EVB_i66_config : unconfig
|
|||||||
>include/config.h ; \
|
>include/config.h ; \
|
||||||
if [ "$${FLASH}" == "INTEL" ] ; then \
|
if [ "$${FLASH}" == "INTEL" ] ; then \
|
||||||
echo "#undef CFG_ATMEL_BOOT" >> $(obj)include/config.h ; \
|
echo "#undef CFG_ATMEL_BOOT" >> $(obj)include/config.h ; \
|
||||||
|
echo "TEXT_BASE = 0x00000000" > $(obj)board/freescale/m54455evb/config.tmp ; \
|
||||||
|
cp $(obj)board/freescale/m54455evb/u-boot.int $(obj)board/freescale/m54455evb/u-boot.lds ; \
|
||||||
echo "... with INTEL boot..." ; \
|
echo "... with INTEL boot..." ; \
|
||||||
else \
|
else \
|
||||||
echo "#define CFG_ATMEL_BOOT" >> $(obj)include/config.h ; \
|
echo "#define CFG_ATMEL_BOOT" >> $(obj)include/config.h ; \
|
||||||
|
echo "TEXT_BASE = 0x04000000" > $(obj)board/freescale/m54455evb/config.tmp ; \
|
||||||
|
cp $(obj)board/freescale/m54455evb/u-boot.atm $(obj)board/freescale/m54455evb/u-boot.lds ; \
|
||||||
echo "... with ATMEL boot..." ; \
|
echo "... with ATMEL boot..." ; \
|
||||||
fi; \
|
fi; \
|
||||||
echo "#define CFG_INPUT_CLKSRC $${FREQ}" >> $(obj)include/config.h ; \
|
echo "#define CFG_INPUT_CLKSRC $${FREQ}" >> $(obj)include/config.h ; \
|
||||||
@ -1766,7 +1770,8 @@ MPC8323ERDB_config: unconfig
|
|||||||
MPC832XEMDS_config \
|
MPC832XEMDS_config \
|
||||||
MPC832XEMDS_HOST_33_config \
|
MPC832XEMDS_HOST_33_config \
|
||||||
MPC832XEMDS_HOST_66_config \
|
MPC832XEMDS_HOST_66_config \
|
||||||
MPC832XEMDS_SLAVE_config: unconfig
|
MPC832XEMDS_SLAVE_config \
|
||||||
|
MPC832XEMDS_ATM_config: unconfig
|
||||||
@mkdir -p $(obj)include
|
@mkdir -p $(obj)include
|
||||||
@echo "" >$(obj)include/config.h ; \
|
@echo "" >$(obj)include/config.h ; \
|
||||||
if [ "$(findstring _HOST_,$@)" ] ; then \
|
if [ "$(findstring _HOST_,$@)" ] ; then \
|
||||||
@ -1781,10 +1786,17 @@ MPC832XEMDS_SLAVE_config: unconfig
|
|||||||
if [ "$(findstring _33_,$@)" ] ; then \
|
if [ "$(findstring _33_,$@)" ] ; then \
|
||||||
echo -n "...33M ..." ; \
|
echo -n "...33M ..." ; \
|
||||||
echo "#define PCI_33M" >>$(obj)include/config.h ; \
|
echo "#define PCI_33M" >>$(obj)include/config.h ; \
|
||||||
|
echo "#define CONFIG_PQ_MDS_PIB 1" >>$(obj)include/config.h ; \
|
||||||
fi ; \
|
fi ; \
|
||||||
if [ "$(findstring _66_,$@)" ] ; then \
|
if [ "$(findstring _66_,$@)" ] ; then \
|
||||||
echo -n "...66M..." ; \
|
echo -n "...66M..." ; \
|
||||||
echo "#define PCI_66M" >>$(obj)include/config.h ; \
|
echo "#define PCI_66M" >>$(obj)include/config.h ; \
|
||||||
|
echo "#define CONFIG_PQ_MDS_PIB 1" >>$(obj)include/config.h ; \
|
||||||
|
fi ; \
|
||||||
|
if [ "$(findstring _ATM_,$@)" ] ; then \
|
||||||
|
echo -n "...ATM..." ; \
|
||||||
|
echo "#define CONFIG_PQ_MDS_PIB 1" >>$(obj)include/config.h ; \
|
||||||
|
echo "#define CONFIG_PQ_MDS_PIB_ATM 1" >>$(obj)include/config.h ; \
|
||||||
fi ;
|
fi ;
|
||||||
@$(MKCONFIG) -a MPC832XEMDS ppc mpc83xx mpc832xemds freescale
|
@$(MKCONFIG) -a MPC832XEMDS ppc mpc83xx mpc832xemds freescale
|
||||||
|
|
||||||
@ -1808,7 +1820,8 @@ MPC8349ITXGP_config: unconfig
|
|||||||
MPC8360EMDS_config \
|
MPC8360EMDS_config \
|
||||||
MPC8360EMDS_HOST_33_config \
|
MPC8360EMDS_HOST_33_config \
|
||||||
MPC8360EMDS_HOST_66_config \
|
MPC8360EMDS_HOST_66_config \
|
||||||
MPC8360EMDS_SLAVE_config: unconfig
|
MPC8360EMDS_SLAVE_config \
|
||||||
|
MPC8360EMDS_ATM_config: unconfig
|
||||||
@mkdir -p $(obj)include
|
@mkdir -p $(obj)include
|
||||||
@echo "" >$(obj)include/config.h ; \
|
@echo "" >$(obj)include/config.h ; \
|
||||||
if [ "$(findstring _HOST_,$@)" ] ; then \
|
if [ "$(findstring _HOST_,$@)" ] ; then \
|
||||||
@ -1823,10 +1836,17 @@ MPC8360EMDS_SLAVE_config: unconfig
|
|||||||
if [ "$(findstring _33_,$@)" ] ; then \
|
if [ "$(findstring _33_,$@)" ] ; then \
|
||||||
echo -n "...33M ..." ; \
|
echo -n "...33M ..." ; \
|
||||||
echo "#define PCI_33M" >>$(obj)include/config.h ; \
|
echo "#define PCI_33M" >>$(obj)include/config.h ; \
|
||||||
|
echo "#define CONFIG_PQ_MDS_PIB 1" >>$(obj)include/config.h ; \
|
||||||
fi ; \
|
fi ; \
|
||||||
if [ "$(findstring _66_,$@)" ] ; then \
|
if [ "$(findstring _66_,$@)" ] ; then \
|
||||||
echo -n "...66M..." ; \
|
echo -n "...66M..." ; \
|
||||||
echo "#define PCI_66M" >>$(obj)include/config.h ; \
|
echo "#define PCI_66M" >>$(obj)include/config.h ; \
|
||||||
|
echo "#define CONFIG_PQ_MDS_PIB 1" >>$(obj)include/config.h ; \
|
||||||
|
fi ; \
|
||||||
|
if [ "$(findstring _ATM_,$@)" ] ; then \
|
||||||
|
echo -n "...ATM..." ; \
|
||||||
|
echo "#define CONFIG_PQ_MDS_PIB 1" >>$(obj)include/config.h ; \
|
||||||
|
echo "#define CONFIG_PQ_MDS_PIB_ATM 1" >>$(obj)include/config.h ; \
|
||||||
fi ;
|
fi ;
|
||||||
@$(MKCONFIG) -a MPC8360EMDS ppc mpc83xx mpc8360emds freescale
|
@$(MKCONFIG) -a MPC8360EMDS ppc mpc83xx mpc8360emds freescale
|
||||||
|
|
||||||
@ -1988,13 +2008,13 @@ AmigaOneG3SE_config: unconfig
|
|||||||
BAB7xx_config: unconfig
|
BAB7xx_config: unconfig
|
||||||
@$(MKCONFIG) $(@:_config=) ppc 74xx_7xx bab7xx eltec
|
@$(MKCONFIG) $(@:_config=) ppc 74xx_7xx bab7xx eltec
|
||||||
|
|
||||||
CPCI750_config: unconfig
|
CPCI750_config: unconfig
|
||||||
@$(MKCONFIG) CPCI750 ppc 74xx_7xx cpci750 esd
|
@$(MKCONFIG) CPCI750 ppc 74xx_7xx cpci750 esd
|
||||||
|
|
||||||
DB64360_config: unconfig
|
DB64360_config: unconfig
|
||||||
@$(MKCONFIG) DB64360 ppc 74xx_7xx db64360 Marvell
|
@$(MKCONFIG) DB64360 ppc 74xx_7xx db64360 Marvell
|
||||||
|
|
||||||
DB64460_config: unconfig
|
DB64460_config: unconfig
|
||||||
@$(MKCONFIG) DB64460 ppc 74xx_7xx db64460 Marvell
|
@$(MKCONFIG) DB64460 ppc 74xx_7xx db64460 Marvell
|
||||||
|
|
||||||
ELPPC_config: unconfig
|
ELPPC_config: unconfig
|
||||||
|
|||||||
@ -40,7 +40,7 @@
|
|||||||
* All Sequoias & Rainiers select from two possible EEPROMs in Boot
|
* All Sequoias & Rainiers select from two possible EEPROMs in Boot
|
||||||
* Config F. One for 33MHz PCI, one for 66MHz PCI. The following
|
* Config F. One for 33MHz PCI, one for 66MHz PCI. The following
|
||||||
* values are for the 33MHz PCI configuration. Byte 5 (0 base) is
|
* values are for the 33MHz PCI configuration. Byte 5 (0 base) is
|
||||||
* the only value affected for a 66MHz PCI and simply needs a +0x10.
|
* the only value affected for a 33MHz PCI and simply needs a | 0x08.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#define NAND_COMPATIBLE 0x01
|
#define NAND_COMPATIBLE 0x01
|
||||||
@ -57,6 +57,7 @@ static char *config_labels[] = {
|
|||||||
"CPU: 416 PLB: 166 OPB: 83 EBC: 55",
|
"CPU: 416 PLB: 166 OPB: 83 EBC: 55",
|
||||||
"CPU: 500 PLB: 166 OPB: 83 EBC: 55",
|
"CPU: 500 PLB: 166 OPB: 83 EBC: 55",
|
||||||
"CPU: 533 PLB: 133 OPB: 66 EBC: 66",
|
"CPU: 533 PLB: 133 OPB: 66 EBC: 66",
|
||||||
|
"CPU: 667 PLB: 133 OPB: 66 EBC: 66",
|
||||||
"CPU: 667 PLB: 166 OPB: 83 EBC: 55",
|
"CPU: 667 PLB: 166 OPB: 83 EBC: 55",
|
||||||
NULL
|
NULL
|
||||||
};
|
};
|
||||||
@ -97,6 +98,11 @@ static u8 boot_configs[][17] = {
|
|||||||
0x87, 0x78, 0x82, 0x52, 0x09, 0x57, 0xa0, 0x30, 0x40,
|
0x87, 0x78, 0x82, 0x52, 0x09, 0x57, 0xa0, 0x30, 0x40,
|
||||||
0x08, 0x23, 0x50, 0x0d, 0x05, 0x00, 0x00
|
0x08, 0x23, 0x50, 0x0d, 0x05, 0x00, 0x00
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
(NOR_COMPATIBLE),
|
||||||
|
0x87, 0x78, 0xa2, 0x56, 0x09, 0x57, 0xa0, 0x30, 0x40,
|
||||||
|
0x08, 0x23, 0x50, 0x0d, 0x05, 0x00, 0x00
|
||||||
|
},
|
||||||
{
|
{
|
||||||
(NAND_COMPATIBLE | NOR_COMPATIBLE),
|
(NAND_COMPATIBLE | NOR_COMPATIBLE),
|
||||||
0x87, 0x78, 0xa2, 0x52, 0x09, 0xd7, 0xa0, 0x30, 0x40,
|
0x87, 0x78, 0xa2, 0x52, 0x09, 0xd7, 0xa0, 0x30, 0x40,
|
||||||
|
|||||||
@ -37,17 +37,24 @@ static void cds_pci_fixup(void *blob)
|
|||||||
|
|
||||||
map = ft_get_prop(blob, "/" OF_SOC "/pci@8000/interrupt-map", &len);
|
map = ft_get_prop(blob, "/" OF_SOC "/pci@8000/interrupt-map", &len);
|
||||||
|
|
||||||
len /= sizeof(u32);
|
if (!map)
|
||||||
|
map = ft_get_prop(blob, "/" OF_PCI "/interrupt-map", &len);
|
||||||
|
|
||||||
slot = get_pci_slot();
|
if (map) {
|
||||||
|
len /= sizeof(u32);
|
||||||
|
|
||||||
for (i=0;i<len;i+=7) {
|
slot = get_pci_slot();
|
||||||
/* We rotate the interrupt pins so that the mapping
|
|
||||||
* changes depending on the slot the carrier card is in.
|
|
||||||
*/
|
|
||||||
map[3] = ((map[3] + slot - 2) % 4) + 1;
|
|
||||||
|
|
||||||
map+=7;
|
for (i=0;i<len;i+=7) {
|
||||||
|
/* We rotate the interrupt pins so that the mapping
|
||||||
|
* changes depending on the slot the carrier card is in.
|
||||||
|
*/
|
||||||
|
map[3] = ((map[3] + slot - 2) % 4) + 1;
|
||||||
|
|
||||||
|
map+=7;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
printf("*** Warning - No PCI node found\n");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@ -43,14 +43,14 @@ SECTIONS
|
|||||||
. = ALIGN(4);
|
. = ALIGN(4);
|
||||||
.data : { *(.data) }
|
.data : { *(.data) }
|
||||||
|
|
||||||
. = ALIGN(4);
|
. = .;
|
||||||
.sdata : { *(.sdata) }
|
_gp = ALIGN(16) + 0x7ff0;
|
||||||
|
|
||||||
_gp = ALIGN(16);
|
.got : {
|
||||||
|
__got_start = .;
|
||||||
__got_start = .;
|
*(.got)
|
||||||
.got : { *(.got) }
|
__got_end = .;
|
||||||
__got_end = .;
|
}
|
||||||
|
|
||||||
.sdata : { *(.sdata) }
|
.sdata : { *(.sdata) }
|
||||||
|
|
||||||
|
|||||||
@ -79,19 +79,19 @@ int pib_init(void)
|
|||||||
|
|
||||||
printf("QOC3 ATM card on PMC0\n");
|
printf("QOC3 ATM card on PMC0\n");
|
||||||
#elif defined(CONFIG_MPC832XEMDS)
|
#elif defined(CONFIG_MPC832XEMDS)
|
||||||
val = 0;
|
val8 = 0;
|
||||||
i2c_write(0x26, 0x7, 1, &val, 1);
|
i2c_write(0x26, 0x7, 1, &val8, 1);
|
||||||
val = 0xf7;
|
val8 = 0xf7;
|
||||||
i2c_write(0x26, 0x3, 1, &val, 1);
|
i2c_write(0x26, 0x3, 1, &val8, 1);
|
||||||
|
|
||||||
val = 0;
|
val8 = 0;
|
||||||
i2c_write(0x21, 0x6, 1, &val, 1);
|
i2c_write(0x21, 0x6, 1, &val8, 1);
|
||||||
i2c_write(0x21, 0x7, 1, &val, 1);
|
i2c_write(0x21, 0x7, 1, &val8, 1);
|
||||||
|
|
||||||
val = 0xdf;
|
val8 = 0xdf;
|
||||||
i2c_write(0x21, 0x2, 1, &val, 1);
|
i2c_write(0x21, 0x2, 1, &val8, 1);
|
||||||
val = 0xef;
|
val8 = 0xef;
|
||||||
i2c_write(0x21, 0x3, 1, &val, 1);
|
i2c_write(0x21, 0x3, 1, &val8, 1);
|
||||||
|
|
||||||
eieio();
|
eieio();
|
||||||
|
|
||||||
|
|||||||
@ -22,4 +22,6 @@
|
|||||||
# MA 02111-1307 USA
|
# MA 02111-1307 USA
|
||||||
#
|
#
|
||||||
|
|
||||||
TEXT_BASE = 0
|
sinclude $(OBJTREE)/board/$(BOARDDIR)/config.tmp
|
||||||
|
|
||||||
|
PLATFORM_CPPFLAGS += -DTEXT_BASE=$(TEXT_BASE)
|
||||||
|
|||||||
@ -43,14 +43,14 @@ SECTIONS
|
|||||||
. = ALIGN(4);
|
. = ALIGN(4);
|
||||||
.data : { *(.data) }
|
.data : { *(.data) }
|
||||||
|
|
||||||
. = ALIGN(4);
|
. = .;
|
||||||
.sdata : { *(.sdata) }
|
_gp = ALIGN(16) + 0x7ff0;
|
||||||
|
|
||||||
_gp = ALIGN(16);
|
.got : {
|
||||||
|
__got_start = .;
|
||||||
__got_start = .;
|
*(.got)
|
||||||
.got : { *(.got) }
|
__got_end = .;
|
||||||
__got_end = .;
|
}
|
||||||
|
|
||||||
.sdata : { *(.sdata) }
|
.sdata : { *(.sdata) }
|
||||||
|
|
||||||
|
|||||||
@ -43,14 +43,14 @@ SECTIONS
|
|||||||
. = ALIGN(4);
|
. = ALIGN(4);
|
||||||
.data : { *(.data) }
|
.data : { *(.data) }
|
||||||
|
|
||||||
. = ALIGN(4);
|
. = .;
|
||||||
.sdata : { *(.sdata) }
|
_gp = ALIGN(16) + 0x7ff0;
|
||||||
|
|
||||||
_gp = ALIGN(16);
|
.got : {
|
||||||
|
__got_start = .;
|
||||||
__got_start = .;
|
*(.got)
|
||||||
.got : { *(.got) }
|
__got_end = .;
|
||||||
__got_end = .;
|
}
|
||||||
|
|
||||||
.sdata : { *(.sdata) }
|
.sdata : { *(.sdata) }
|
||||||
|
|
||||||
|
|||||||
@ -72,7 +72,7 @@ int i2c_init_board(void)
|
|||||||
|
|
||||||
int misc_init_r(void)
|
int misc_init_r(void)
|
||||||
{
|
{
|
||||||
uchar *str;
|
char *str;
|
||||||
|
|
||||||
/* determine if the software update key is pressed during startup */
|
/* determine if the software update key is pressed during startup */
|
||||||
if (GPLR0 & 0x00000800) {
|
if (GPLR0 & 0x00000800) {
|
||||||
|
|||||||
@ -89,4 +89,5 @@ long int initdram (int board_type)
|
|||||||
/* Write to the SDRAM Mode Register */
|
/* Write to the SDRAM Mode Register */
|
||||||
*(u32 *)(CFG_SDRAM_BASE + 0x400) = 0xA5A59696;
|
*(u32 *)(CFG_SDRAM_BASE + 0x400) = 0xA5A59696;
|
||||||
}
|
}
|
||||||
|
return dramsize;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -138,6 +138,12 @@ long int initdram(int board_type)
|
|||||||
#ifndef CFG_RAMBOOT
|
#ifndef CFG_RAMBOOT
|
||||||
ulong test1, test2;
|
ulong test1, test2;
|
||||||
|
|
||||||
|
/* According to AN3221 (MPC5200B SDRAM Initialization and
|
||||||
|
* Configuration), the SDelay register must be written a value of
|
||||||
|
* 0x00000004 as the first step of the SDRAM contorller configuration.
|
||||||
|
*/
|
||||||
|
*(vu_long *)MPC5XXX_SDRAM_SDELAY = 0x04;
|
||||||
|
|
||||||
/* configure SDRAM start/end for detection */
|
/* configure SDRAM start/end for detection */
|
||||||
*(vu_long *)MPC5XXX_SDRAM_CS0CFG = 0x0000001e; /* 2G at 0x0 */
|
*(vu_long *)MPC5XXX_SDRAM_CS0CFG = 0x0000001e; /* 2G at 0x0 */
|
||||||
*(vu_long *)MPC5XXX_SDRAM_CS1CFG = 0x80000000; /* disabled */
|
*(vu_long *)MPC5XXX_SDRAM_CS1CFG = 0x80000000; /* disabled */
|
||||||
|
|||||||
@ -43,14 +43,14 @@ SECTIONS
|
|||||||
. = ALIGN(4);
|
. = ALIGN(4);
|
||||||
.data : { *(.data) }
|
.data : { *(.data) }
|
||||||
|
|
||||||
. = ALIGN(4);
|
. = .;
|
||||||
.sdata : { *(.sdata) }
|
_gp = ALIGN(16) + 0x7ff0;
|
||||||
|
|
||||||
_gp = ALIGN(16);
|
.got : {
|
||||||
|
__got_start = .;
|
||||||
__got_start = .;
|
*(.got)
|
||||||
.got : { *(.got) }
|
__got_end = .;
|
||||||
__got_end = .;
|
}
|
||||||
|
|
||||||
.sdata : { *(.sdata) }
|
.sdata : { *(.sdata) }
|
||||||
|
|
||||||
|
|||||||
@ -53,14 +53,14 @@ SECTIONS
|
|||||||
. = ALIGN(4);
|
. = ALIGN(4);
|
||||||
.data : { *(.data) }
|
.data : { *(.data) }
|
||||||
|
|
||||||
. = ALIGN(4);
|
. = .;
|
||||||
.sdata : { *(.sdata) }
|
_gp = ALIGN(16) + 0x7ff0;
|
||||||
|
|
||||||
_gp = ALIGN(16);
|
.got : {
|
||||||
|
__got_start = .;
|
||||||
__got_start = .;
|
*(.got)
|
||||||
.got : { *(.got) }
|
__got_end = .;
|
||||||
__got_end = .;
|
}
|
||||||
|
|
||||||
.sdata : { *(.sdata) }
|
.sdata : { *(.sdata) }
|
||||||
|
|
||||||
|
|||||||
@ -27,7 +27,7 @@ include $(TOPDIR)/config.mk
|
|||||||
LIB = $(obj)lib$(BOARD).a
|
LIB = $(obj)lib$(BOARD).a
|
||||||
|
|
||||||
COBJS := pxa_idp.o
|
COBJS := pxa_idp.o
|
||||||
SOBJS := memsetup.o
|
SOBJS := lowlevel_init.o
|
||||||
|
|
||||||
SRCS := $(SOBJS:.o=.S) $(COBJS:.o=.c)
|
SRCS := $(SOBJS:.o=.S) $(COBJS:.o=.c)
|
||||||
OBJS := $(addprefix $(obj),$(COBJS))
|
OBJS := $(addprefix $(obj),$(COBJS))
|
||||||
|
|||||||
@ -1,3 +1,3 @@
|
|||||||
#TEXT_BASE = 0xa1700000
|
#TEXT_BASE = 0xa1700000
|
||||||
TEXT_BASE = 0xa3000000
|
TEXT_BASE = 0xa3080000
|
||||||
#TEXT_BASE = 0
|
#TEXT_BASE = 0
|
||||||
|
|||||||
@ -3,7 +3,7 @@
|
|||||||
*
|
*
|
||||||
* NOTE: I haven't clean this up considerably, just enough to get it
|
* NOTE: I haven't clean this up considerably, just enough to get it
|
||||||
* running. See hal_platform_setup.h for the source. See
|
* running. See hal_platform_setup.h for the source. See
|
||||||
* board/cradle/memsetup.S for another PXA250 setup that is
|
* board/cradle/lowlevel_init.S for another PXA250 setup that is
|
||||||
* much cleaner.
|
* much cleaner.
|
||||||
*
|
*
|
||||||
* See file CREDITS for list of people who contributed to this
|
* See file CREDITS for list of people who contributed to this
|
||||||
@ -41,8 +41,8 @@ DRAM_SIZE: .long CFG_DRAM_SIZE
|
|||||||
/*
|
/*
|
||||||
* Memory setup
|
* Memory setup
|
||||||
*/
|
*/
|
||||||
.globl memsetup
|
.globl lowlevel_init
|
||||||
memsetup:
|
lowlevel_init:
|
||||||
|
|
||||||
mov r10, lr
|
mov r10, lr
|
||||||
|
|
||||||
@ -395,7 +395,7 @@ initclks:
|
|||||||
|
|
||||||
/* Save SDRAM size */
|
/* Save SDRAM size */
|
||||||
ldr r1, =DRAM_SIZE
|
ldr r1, =DRAM_SIZE
|
||||||
str r8, [r1]
|
str r8, [r1]
|
||||||
|
|
||||||
/* Interrupt init: Mask all interrupts */
|
/* Interrupt init: Mask all interrupts */
|
||||||
ldr r0, =ICMR /* enable no sources */
|
ldr r0, =ICMR /* enable no sources */
|
||||||
@ -426,7 +426,7 @@ initclks:
|
|||||||
bl blink
|
bl blink
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
endmemsetup:
|
endlowlevel_init:
|
||||||
|
|
||||||
mov pc, r10
|
mov pc, r10
|
||||||
|
|
||||||
@ -44,6 +44,7 @@ SECTIONS
|
|||||||
. = ALIGN(4);
|
. = ALIGN(4);
|
||||||
.got : { *(.got) }
|
.got : { *(.got) }
|
||||||
|
|
||||||
|
. = .;
|
||||||
__u_boot_cmd_start = .;
|
__u_boot_cmd_start = .;
|
||||||
.u_boot_cmd : { *(.u_boot_cmd) }
|
.u_boot_cmd : { *(.u_boot_cmd) }
|
||||||
__u_boot_cmd_end = .;
|
__u_boot_cmd_end = .;
|
||||||
|
|||||||
@ -43,14 +43,14 @@ SECTIONS
|
|||||||
. = ALIGN(4);
|
. = ALIGN(4);
|
||||||
.data : { *(.data) }
|
.data : { *(.data) }
|
||||||
|
|
||||||
. = ALIGN(4);
|
. = .;
|
||||||
.sdata : { *(.sdata) }
|
_gp = ALIGN(16) + 0x7ff0;
|
||||||
|
|
||||||
_gp = ALIGN(16);
|
.got : {
|
||||||
|
__got_start = .;
|
||||||
__got_start = .;
|
*(.got)
|
||||||
.got : { *(.got) }
|
__got_end = .;
|
||||||
__got_end = .;
|
}
|
||||||
|
|
||||||
.sdata : { *(.sdata) }
|
.sdata : { *(.sdata) }
|
||||||
|
|
||||||
|
|||||||
@ -561,7 +561,7 @@ void led_init(void)
|
|||||||
gpt->gpt6.emsr |= 0x00000024;
|
gpt->gpt6.emsr |= 0x00000024;
|
||||||
gpt->gpt7.emsr |= 0x00000024;
|
gpt->gpt7.emsr |= 0x00000024;
|
||||||
|
|
||||||
|
#ifndef CONFIG_TQM5200S
|
||||||
/* enable SM501 GPIO control (in both power modes) */
|
/* enable SM501 GPIO control (in both power modes) */
|
||||||
*(vu_long *) (SM501_MMIO_BASE+SM501_POWER_MODE0_GATE) |=
|
*(vu_long *) (SM501_MMIO_BASE+SM501_POWER_MODE0_GATE) |=
|
||||||
POWER_MODE_GATE_GPIO_PWM_I2C;
|
POWER_MODE_GATE_GPIO_PWM_I2C;
|
||||||
@ -574,6 +574,7 @@ void led_init(void)
|
|||||||
|
|
||||||
/* configure SM501 gpio pins 48-51 as output */
|
/* configure SM501 gpio pins 48-51 as output */
|
||||||
*(vu_long *) (SM501_MMIO_BASE+SM501_GPIO_DATA_DIR_HIGH) |= (0xF << 16);
|
*(vu_long *) (SM501_MMIO_BASE+SM501_GPIO_DATA_DIR_HIGH) |= (0xF << 16);
|
||||||
|
#endif /* !CONFIG_TQM5200S */
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -650,7 +651,7 @@ int do_led(char *argv[])
|
|||||||
gpt->gpt7.emsr &= ~(1 << 4);
|
gpt->gpt7.emsr &= ~(1 << 4);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
#ifndef CONFIG_TQM5200S
|
||||||
case 24:
|
case 24:
|
||||||
if (strcmp (argv[3], "on") == 0) {
|
if (strcmp (argv[3], "on") == 0) {
|
||||||
*(vu_long *) (SM501_MMIO_BASE+SM501_GPIO_DATA_LOW) |=
|
*(vu_long *) (SM501_MMIO_BASE+SM501_GPIO_DATA_LOW) |=
|
||||||
@ -730,7 +731,7 @@ int do_led(char *argv[])
|
|||||||
~(0x1 << 19);
|
~(0x1 << 19);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
#endif /* !CONFIG_TQM5200S */
|
||||||
default:
|
default:
|
||||||
printf ("%s: invalid led number %s\n", __FUNCTION__, argv[2]);
|
printf ("%s: invalid led number %s\n", __FUNCTION__, argv[2]);
|
||||||
return 1;
|
return 1;
|
||||||
@ -1110,7 +1111,7 @@ int do_rs232(char *argv[])
|
|||||||
return error_status;
|
return error_status;
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifndef CONFIG_FO300
|
#if !defined(CONFIG_FO300) && !defined(CONFIG_TQM5200S)
|
||||||
static void sm501_backlight (unsigned int state)
|
static void sm501_backlight (unsigned int state)
|
||||||
{
|
{
|
||||||
if (state == BL_ON) {
|
if (state == BL_ON) {
|
||||||
@ -1120,7 +1121,7 @@ static void sm501_backlight (unsigned int state)
|
|||||||
*(vu_long *)(SM501_MMIO_BASE+SM501_PANEL_DISPLAY_CONTROL) &=
|
*(vu_long *)(SM501_MMIO_BASE+SM501_PANEL_DISPLAY_CONTROL) &=
|
||||||
~((1 << 26) | (1 << 27));
|
~((1 << 26) | (1 << 27));
|
||||||
}
|
}
|
||||||
#endif
|
#endif /* !CONFIG_FO300 & !CONFIG_TQM5200S */
|
||||||
|
|
||||||
int cmd_fkt(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
|
int cmd_fkt(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
|
||||||
{
|
{
|
||||||
@ -1160,7 +1161,7 @@ int cmd_fkt(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
|
|||||||
else
|
else
|
||||||
printf ("Error\n");
|
printf ("Error\n");
|
||||||
return rcode;
|
return rcode;
|
||||||
#ifndef CONFIG_FO300
|
#if !defined(CONFIG_FO300) && !defined(CONFIG_TQM5200S)
|
||||||
} else if (strncmp (argv[1], "backlight", 4) == 0) {
|
} else if (strncmp (argv[1], "backlight", 4) == 0) {
|
||||||
if (strncmp (argv[2], "on", 2) == 0) {
|
if (strncmp (argv[2], "on", 2) == 0) {
|
||||||
sm501_backlight (BL_ON);
|
sm501_backlight (BL_ON);
|
||||||
@ -1170,7 +1171,7 @@ int cmd_fkt(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
|
|||||||
sm501_backlight (BL_OFF);
|
sm501_backlight (BL_OFF);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
#endif
|
#endif /* !CONFIG_FO300 & !CONFIG_TQM5200S */
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
@ -1228,8 +1229,10 @@ U_BOOT_CMD(
|
|||||||
" - loopback plug for X83 required\n"
|
" - loopback plug for X83 required\n"
|
||||||
"fkt rs232 number\n"
|
"fkt rs232 number\n"
|
||||||
" - loopback plug(s) for X2 required\n"
|
" - loopback plug(s) for X2 required\n"
|
||||||
|
#ifndef CONFIG_TQM5200S
|
||||||
"fkt backlight on/off\n"
|
"fkt backlight on/off\n"
|
||||||
" - switch backlight on or off\n"
|
" - switch backlight on or off\n"
|
||||||
|
#endif /* !CONFIG_TQM5200S */
|
||||||
);
|
);
|
||||||
#elif defined(CONFIG_FO300)
|
#elif defined(CONFIG_FO300)
|
||||||
U_BOOT_CMD(
|
U_BOOT_CMD(
|
||||||
|
|||||||
@ -543,6 +543,7 @@ int last_stage_init (void)
|
|||||||
__asm__ volatile ("sync");
|
__asm__ volatile ("sync");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifndef CONFIG_TQM5200S /* The TQM5200S has no SM501 grafic controller */
|
||||||
/*
|
/*
|
||||||
* Check for Grafic Controller
|
* Check for Grafic Controller
|
||||||
*/
|
*/
|
||||||
@ -586,6 +587,7 @@ int last_stage_init (void)
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
#endif /* !CONFIG_TQM5200S */
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef CONFIG_VIDEO_SM501
|
#ifdef CONFIG_VIDEO_SM501
|
||||||
|
|||||||
@ -354,6 +354,8 @@ long int initdram (int board_type)
|
|||||||
udelay (10000);
|
udelay (10000);
|
||||||
|
|
||||||
#ifdef CONFIG_CAN_DRIVER
|
#ifdef CONFIG_CAN_DRIVER
|
||||||
|
/* UPM initialization for CAN @ CLKOUT <= 66 MHz */
|
||||||
|
|
||||||
/* Initialize OR3 / BR3 */
|
/* Initialize OR3 / BR3 */
|
||||||
memctl->memc_or3 = CFG_OR3_CAN;
|
memctl->memc_or3 = CFG_OR3_CAN;
|
||||||
memctl->memc_br3 = CFG_BR3_CAN;
|
memctl->memc_br3 = CFG_BR3_CAN;
|
||||||
@ -362,7 +364,7 @@ long int initdram (int board_type)
|
|||||||
memctl->memc_mbmr = MBMR_GPL_B4DIS; /* GPL_B4 ouput line Disable */
|
memctl->memc_mbmr = MBMR_GPL_B4DIS; /* GPL_B4 ouput line Disable */
|
||||||
|
|
||||||
/* Initialize UPMB for CAN: single read */
|
/* Initialize UPMB for CAN: single read */
|
||||||
memctl->memc_mdr = 0xFFFFC004;
|
memctl->memc_mdr = 0xFFFFCC04;
|
||||||
memctl->memc_mcr = 0x0100 | UPMB;
|
memctl->memc_mcr = 0x0100 | UPMB;
|
||||||
|
|
||||||
memctl->memc_mdr = 0x0FFFD004;
|
memctl->memc_mdr = 0x0FFFD004;
|
||||||
@ -374,23 +376,23 @@ long int initdram (int board_type)
|
|||||||
memctl->memc_mdr = 0x3FFFC004;
|
memctl->memc_mdr = 0x3FFFC004;
|
||||||
memctl->memc_mcr = 0x0103 | UPMB;
|
memctl->memc_mcr = 0x0103 | UPMB;
|
||||||
|
|
||||||
memctl->memc_mdr = 0xFFFFDC05;
|
memctl->memc_mdr = 0xFFFFDC07;
|
||||||
memctl->memc_mcr = 0x0104 | UPMB;
|
memctl->memc_mcr = 0x0104 | UPMB;
|
||||||
|
|
||||||
/* Initialize UPMB for CAN: single write */
|
/* Initialize UPMB for CAN: single write */
|
||||||
memctl->memc_mdr = 0xFFFCC004;
|
memctl->memc_mdr = 0xFFFCCC04;
|
||||||
memctl->memc_mcr = 0x0118 | UPMB;
|
memctl->memc_mcr = 0x0118 | UPMB;
|
||||||
|
|
||||||
memctl->memc_mdr = 0xCFFCD004;
|
memctl->memc_mdr = 0xCFFCDC04;
|
||||||
memctl->memc_mcr = 0x0119 | UPMB;
|
memctl->memc_mcr = 0x0119 | UPMB;
|
||||||
|
|
||||||
memctl->memc_mdr = 0x0FFCC000;
|
memctl->memc_mdr = 0x3FFCC000;
|
||||||
memctl->memc_mcr = 0x011A | UPMB;
|
memctl->memc_mcr = 0x011A | UPMB;
|
||||||
|
|
||||||
memctl->memc_mdr = 0x7FFCC004;
|
memctl->memc_mdr = 0xFFFCC004;
|
||||||
memctl->memc_mcr = 0x011B | UPMB;
|
memctl->memc_mcr = 0x011B | UPMB;
|
||||||
|
|
||||||
memctl->memc_mdr = 0xFFFDCC05;
|
memctl->memc_mdr = 0xFFFDC405;
|
||||||
memctl->memc_mcr = 0x011C | UPMB;
|
memctl->memc_mcr = 0x011C | UPMB;
|
||||||
#endif /* CONFIG_CAN_DRIVER */
|
#endif /* CONFIG_CAN_DRIVER */
|
||||||
|
|
||||||
|
|||||||
@ -46,11 +46,11 @@ unsigned long flash_init (void)
|
|||||||
for (i = 0; i < CFG_MAX_FLASH_BANKS; i++) {
|
for (i = 0; i < CFG_MAX_FLASH_BANKS; i++) {
|
||||||
switch (i) {
|
switch (i) {
|
||||||
case 0:
|
case 0:
|
||||||
flash_get_size ((long *) PHYS_FLASH_1, &flash_info[i]);
|
flash_get_size ((vu_long *) PHYS_FLASH_1, &flash_info[i]);
|
||||||
flash_get_offsets (PHYS_FLASH_1, &flash_info[i]);
|
flash_get_offsets (PHYS_FLASH_1, &flash_info[i]);
|
||||||
break;
|
break;
|
||||||
case 1:
|
case 1:
|
||||||
flash_get_size ((long *) PHYS_FLASH_2, &flash_info[i]);
|
flash_get_size ((vu_long *) PHYS_FLASH_2, &flash_info[i]);
|
||||||
flash_get_offsets (PHYS_FLASH_2, &flash_info[i]);
|
flash_get_offsets (PHYS_FLASH_2, &flash_info[i]);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
|
|||||||
@ -466,7 +466,7 @@ U_BOOT_CMD(
|
|||||||
"\t'arg' can be the address of an initrd image\n"
|
"\t'arg' can be the address of an initrd image\n"
|
||||||
#if defined(CONFIG_OF_FLAT_TREE) || defined(CONFIG_OF_LIBFDT)
|
#if defined(CONFIG_OF_FLAT_TREE) || defined(CONFIG_OF_LIBFDT)
|
||||||
"\tWhen booting a Linux kernel which requires a flat device-tree\n"
|
"\tWhen booting a Linux kernel which requires a flat device-tree\n"
|
||||||
"\ta third argument is required which is the address of the of the\n"
|
"\ta third argument is required which is the address of the\n"
|
||||||
"\tdevice-tree blob. To boot that kernel without an initrd image,\n"
|
"\tdevice-tree blob. To boot that kernel without an initrd image,\n"
|
||||||
"\tuse a '-' for the second argument. If you do not pass a third\n"
|
"\tuse a '-' for the second argument. If you do not pass a third\n"
|
||||||
"\ta bd_info struct will be passed instead\n"
|
"\ta bd_info struct will be passed instead\n"
|
||||||
|
|||||||
@ -57,7 +57,7 @@ int do_dtt (cmd_tbl_t * cmdtp, int flag, int argc, char *argv[])
|
|||||||
|
|
||||||
U_BOOT_CMD(
|
U_BOOT_CMD(
|
||||||
dtt, 1, 1, do_dtt,
|
dtt, 1, 1, do_dtt,
|
||||||
"dtt - Digital Thermometer and Themostat\n",
|
"dtt - Digital Thermometer and Thermostat\n",
|
||||||
" - Read temperature from digital thermometer and thermostat.\n"
|
" - Read temperature from digital thermometer and thermostat.\n"
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|||||||
@ -28,7 +28,7 @@
|
|||||||
|
|
||||||
#include <asm/arch/hardware.h>
|
#include <asm/arch/hardware.h>
|
||||||
|
|
||||||
int usb_cpu_init()
|
int usb_cpu_init(void)
|
||||||
{
|
{
|
||||||
/* Enable USB host clock. */
|
/* Enable USB host clock. */
|
||||||
*AT91C_PMC_SCER = AT91C_PMC_UHP; /* 48MHz clock enabled for UHP */
|
*AT91C_PMC_SCER = AT91C_PMC_UHP; /* 48MHz clock enabled for UHP */
|
||||||
@ -36,7 +36,7 @@ int usb_cpu_init()
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
int usb_cpu_stop()
|
int usb_cpu_stop(void)
|
||||||
{
|
{
|
||||||
/* Initialization failed */
|
/* Initialization failed */
|
||||||
*AT91C_PMC_PCDR = 1 << AT91C_ID_UHP; /* Peripheral Clock Disable Register */
|
*AT91C_PMC_PCDR = 1 << AT91C_ID_UHP; /* Peripheral Clock Disable Register */
|
||||||
@ -44,9 +44,9 @@ int usb_cpu_stop()
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
int usb_cpu_init_fail()
|
int usb_cpu_init_fail(void)
|
||||||
{
|
{
|
||||||
usb_cpu_stop();
|
return usb_cpu_stop();
|
||||||
}
|
}
|
||||||
|
|
||||||
# endif /* CONFIG_AT91RM9200 */
|
# endif /* CONFIG_AT91RM9200 */
|
||||||
|
|||||||
@ -58,7 +58,7 @@ _vectors:
|
|||||||
.long 0x00000000 /* Flash offset is 0 until we setup CS0 */
|
.long 0x00000000 /* Flash offset is 0 until we setup CS0 */
|
||||||
#if defined(CONFIG_R5200)
|
#if defined(CONFIG_R5200)
|
||||||
.long 0x400
|
.long 0x400
|
||||||
#elif defined(CONFIG_M5282)
|
#elif defined(CONFIG_M5282) && (TEXT_BASE == CFG_INT_FLASH_BASE)
|
||||||
.long _start - TEXT_BASE
|
.long _start - TEXT_BASE
|
||||||
#else
|
#else
|
||||||
.long _START
|
.long _START
|
||||||
@ -177,7 +177,11 @@ _after_flashbar_copy:
|
|||||||
* therefore no VBR to set
|
* therefore no VBR to set
|
||||||
*/
|
*/
|
||||||
#if !defined(CONFIG_MONITOR_IS_IN_RAM)
|
#if !defined(CONFIG_MONITOR_IS_IN_RAM)
|
||||||
|
#if defined(CONFIG_M5282) && (TEXT_BASE == CFG_INT_FLASH_BASE)
|
||||||
|
move.l #CFG_INT_FLASH_BASE, %d0
|
||||||
|
#else
|
||||||
move.l #CFG_FLASH_BASE, %d0
|
move.l #CFG_FLASH_BASE, %d0
|
||||||
|
#endif
|
||||||
movec %d0, %VBR
|
movec %d0, %VBR
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|||||||
@ -131,7 +131,7 @@ _start:
|
|||||||
movec %d0, %VBR
|
movec %d0, %VBR
|
||||||
|
|
||||||
move.l #(CFG_INIT_RAM_ADDR + CFG_INIT_RAM_CTRL), %d0
|
move.l #(CFG_INIT_RAM_ADDR + CFG_INIT_RAM_CTRL), %d0
|
||||||
movec %d0, %RAMBAR0
|
movec %d0, %RAMBAR1
|
||||||
|
|
||||||
/* invalidate and disable cache */
|
/* invalidate and disable cache */
|
||||||
move.l #0x01000000, %d0 /* Invalidate cache cmd */
|
move.l #0x01000000, %d0 /* Invalidate cache cmd */
|
||||||
@ -268,7 +268,7 @@ _int_handler:
|
|||||||
icache_enable:
|
icache_enable:
|
||||||
move.l #0x01000000, %d0 /* Invalidate cache cmd */
|
move.l #0x01000000, %d0 /* Invalidate cache cmd */
|
||||||
movec %d0, %CACR /* Invalidate cache */
|
movec %d0, %CACR /* Invalidate cache */
|
||||||
move.l #(CFG_SDRAM_BASE + 0xc000 + ((CFG_SDRAM_SIZE & 0x1fe0) << 11)), %d0
|
move.l #(CFG_SDRAM_BASE + 0x1c000), %d0
|
||||||
movec %d0, %ACR0 /* Enable cache */
|
movec %d0, %ACR0 /* Enable cache */
|
||||||
|
|
||||||
move.l #0x80000200, %d0 /* Setup cache mask */
|
move.l #0x80000200, %d0 /* Setup cache mask */
|
||||||
|
|||||||
@ -35,6 +35,6 @@ else
|
|||||||
ENDIANNESS = -EB
|
ENDIANNESS = -EB
|
||||||
endif
|
endif
|
||||||
|
|
||||||
MIPSFLAGS += $(ENDIANNESS) -mabicalls
|
MIPSFLAGS += $(ENDIANNESS)
|
||||||
|
|
||||||
PLATFORM_CPPFLAGS += $(MIPSFLAGS)
|
PLATFORM_CPPFLAGS += $(MIPSFLAGS)
|
||||||
|
|||||||
@ -234,11 +234,11 @@ reset:
|
|||||||
li t0, CONF_CM_UNCACHED
|
li t0, CONF_CM_UNCACHED
|
||||||
mtc0 t0, CP0_CONFIG
|
mtc0 t0, CP0_CONFIG
|
||||||
|
|
||||||
/* Initialize GOT pointer.
|
/* Initialize $gp.
|
||||||
*/
|
*/
|
||||||
bal 1f
|
bal 1f
|
||||||
nop
|
nop
|
||||||
.word _GLOBAL_OFFSET_TABLE_
|
.word _gp
|
||||||
1:
|
1:
|
||||||
move gp, ra
|
move gp, ra
|
||||||
lw t1, 0(ra)
|
lw t1, 0(ra)
|
||||||
@ -306,9 +306,9 @@ relocate_code:
|
|||||||
move t1, a2
|
move t1, a2
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Fix GOT pointer:
|
* Fix $gp:
|
||||||
*
|
*
|
||||||
* New GOT-PTR = (old GOT-PTR - CFG_MONITOR_BASE) + Destination Address
|
* New $gp = (Old $gp - CFG_MONITOR_BASE) + Destination Address
|
||||||
*/
|
*/
|
||||||
move t6, gp
|
move t6, gp
|
||||||
sub gp, CFG_MONITOR_BASE
|
sub gp, CFG_MONITOR_BASE
|
||||||
@ -341,15 +341,22 @@ relocate_code:
|
|||||||
j t0
|
j t0
|
||||||
nop
|
nop
|
||||||
|
|
||||||
|
.gpword _GLOBAL_OFFSET_TABLE_ /* _GLOBAL_OFFSET_TABLE_ - _gp */
|
||||||
.word uboot_end_data
|
.word uboot_end_data
|
||||||
.word uboot_end
|
.word uboot_end
|
||||||
.word num_got_entries
|
.word num_got_entries
|
||||||
|
|
||||||
in_ram:
|
in_ram:
|
||||||
/* Now we want to update GOT.
|
/*
|
||||||
|
* Now we want to update GOT.
|
||||||
|
*
|
||||||
|
* GOT[0] is reserved. GOT[1] is also reserved for the dynamic object
|
||||||
|
* generated by GNU ld. Skip these reserved entries from relocation.
|
||||||
*/
|
*/
|
||||||
lw t3, -4(t0) /* t3 <-- num_got_entries */
|
lw t3, -4(t0) /* t3 <-- num_got_entries */
|
||||||
addi t4, gp, 8 /* Skipping first two entries. */
|
lw t4, -16(t0) /* t4 <-- (_GLOBAL_OFFSET_TABLE_ - _gp) */
|
||||||
|
add t4, t4, gp /* t4 now holds _GLOBAL_OFFSET_TABLE_ */
|
||||||
|
addi t4, t4, 8 /* Skipping first two entries. */
|
||||||
li t2, 2
|
li t2, 2
|
||||||
1:
|
1:
|
||||||
lw t1, 0(t4)
|
lw t1, 0(t4)
|
||||||
|
|||||||
@ -163,7 +163,12 @@ int do_reset (cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[])
|
|||||||
* Initiate hard reset in debug control register DBCR0
|
* Initiate hard reset in debug control register DBCR0
|
||||||
* Make sure MSR[DE] = 1
|
* Make sure MSR[DE] = 1
|
||||||
*/
|
*/
|
||||||
unsigned long val;
|
unsigned long val, msr;
|
||||||
|
|
||||||
|
msr = mfmsr ();
|
||||||
|
msr |= MSR_DE;
|
||||||
|
mtmsr (msr);
|
||||||
|
|
||||||
val = mfspr(DBCR0);
|
val = mfspr(DBCR0);
|
||||||
val |= 0x70000000;
|
val |= 0x70000000;
|
||||||
mtspr(DBCR0,val);
|
mtspr(DBCR0,val);
|
||||||
|
|||||||
@ -218,6 +218,8 @@ _start_e500:
|
|||||||
bdnz 0b
|
bdnz 0b
|
||||||
|
|
||||||
/* Clear and set up some registers. */
|
/* Clear and set up some registers. */
|
||||||
|
li r0,0
|
||||||
|
mtmsr r0
|
||||||
li r0,0x0000
|
li r0,0x0000
|
||||||
lis r1,0xffff
|
lis r1,0xffff
|
||||||
mtspr DEC,r0 /* prevent dec exceptions */
|
mtspr DEC,r0 /* prevent dec exceptions */
|
||||||
@ -266,18 +268,17 @@ _start_e500:
|
|||||||
*/
|
*/
|
||||||
lis r3,CFG_INIT_RAM_ADDR@h
|
lis r3,CFG_INIT_RAM_ADDR@h
|
||||||
ori r3,r3,CFG_INIT_RAM_ADDR@l
|
ori r3,r3,CFG_INIT_RAM_ADDR@l
|
||||||
li r2,512 /* 512*32=16K */
|
li r2,(CFG_DCACHE_SIZE / (2 * CFG_CACHELINE_SIZE))
|
||||||
mtctr r2
|
mtctr r2
|
||||||
li r0,0
|
li r0,0
|
||||||
1:
|
1:
|
||||||
dcbz r0,r3
|
dcbz r0,r3
|
||||||
dcbtls 0,r0,r3
|
dcbtls 0,r0,r3
|
||||||
addi r3,r3,32
|
addi r3,r3,CFG_CACHELINE_SIZE
|
||||||
bdnz 1b
|
bdnz 1b
|
||||||
|
|
||||||
/* Jump out the last 4K page and continue to 'normal' start */
|
/* Jump out the last 4K page and continue to 'normal' start */
|
||||||
#ifdef CFG_RAMBOOT
|
#ifdef CFG_RAMBOOT
|
||||||
bl 3f
|
|
||||||
b _start_cont
|
b _start_cont
|
||||||
#else
|
#else
|
||||||
/* Calculate absolute address in FLASH and jump there */
|
/* Calculate absolute address in FLASH and jump there */
|
||||||
@ -286,15 +287,9 @@ _start_e500:
|
|||||||
ori r3,r3,CFG_MONITOR_BASE@l
|
ori r3,r3,CFG_MONITOR_BASE@l
|
||||||
addi r3,r3,_start_cont - _start + _START_OFFSET
|
addi r3,r3,_start_cont - _start + _START_OFFSET
|
||||||
mtlr r3
|
mtlr r3
|
||||||
|
blr
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
3: li r0,0
|
|
||||||
mtspr SRR1,r0 /* Keep things disabled for now */
|
|
||||||
mflr r1
|
|
||||||
mtspr SRR0,r1
|
|
||||||
rfi
|
|
||||||
isync
|
|
||||||
|
|
||||||
.text
|
.text
|
||||||
.globl _start
|
.globl _start
|
||||||
_start:
|
_start:
|
||||||
@ -701,6 +696,7 @@ in8:
|
|||||||
.globl out8
|
.globl out8
|
||||||
out8:
|
out8:
|
||||||
stb r4,0x0000(r3)
|
stb r4,0x0000(r3)
|
||||||
|
sync
|
||||||
blr
|
blr
|
||||||
|
|
||||||
/*------------------------------------------------------------------------------- */
|
/*------------------------------------------------------------------------------- */
|
||||||
@ -710,6 +706,7 @@ out8:
|
|||||||
.globl out16
|
.globl out16
|
||||||
out16:
|
out16:
|
||||||
sth r4,0x0000(r3)
|
sth r4,0x0000(r3)
|
||||||
|
sync
|
||||||
blr
|
blr
|
||||||
|
|
||||||
/*------------------------------------------------------------------------------- */
|
/*------------------------------------------------------------------------------- */
|
||||||
@ -719,6 +716,7 @@ out16:
|
|||||||
.globl out16r
|
.globl out16r
|
||||||
out16r:
|
out16r:
|
||||||
sthbrx r4,r0,r3
|
sthbrx r4,r0,r3
|
||||||
|
sync
|
||||||
blr
|
blr
|
||||||
|
|
||||||
/*------------------------------------------------------------------------------- */
|
/*------------------------------------------------------------------------------- */
|
||||||
@ -728,6 +726,7 @@ out16r:
|
|||||||
.globl out32
|
.globl out32
|
||||||
out32:
|
out32:
|
||||||
stw r4,0x0000(r3)
|
stw r4,0x0000(r3)
|
||||||
|
sync
|
||||||
blr
|
blr
|
||||||
|
|
||||||
/*------------------------------------------------------------------------------- */
|
/*------------------------------------------------------------------------------- */
|
||||||
@ -737,6 +736,7 @@ out32:
|
|||||||
.globl out32r
|
.globl out32r
|
||||||
out32r:
|
out32r:
|
||||||
stwbrx r4,r0,r3
|
stwbrx r4,r0,r3
|
||||||
|
sync
|
||||||
blr
|
blr
|
||||||
|
|
||||||
/*------------------------------------------------------------------------------- */
|
/*------------------------------------------------------------------------------- */
|
||||||
@ -1061,11 +1061,11 @@ unlock_ram_in_cache:
|
|||||||
/* invalidate the INIT_RAM section */
|
/* invalidate the INIT_RAM section */
|
||||||
lis r3,(CFG_INIT_RAM_ADDR & ~31)@h
|
lis r3,(CFG_INIT_RAM_ADDR & ~31)@h
|
||||||
ori r3,r3,(CFG_INIT_RAM_ADDR & ~31)@l
|
ori r3,r3,(CFG_INIT_RAM_ADDR & ~31)@l
|
||||||
li r4,512
|
li r4,(CFG_DCACHE_SIZE / (2 * CFG_CACHELINE_SIZE))
|
||||||
mtctr r4
|
mtctr r4
|
||||||
1: icbi r0,r3
|
1: icbi r0,r3
|
||||||
dcbi r0,r3
|
dcbi r0,r3
|
||||||
addi r3,r3,32
|
addi r3,r3,CFG_CACHELINE_SIZE
|
||||||
bdnz 1b
|
bdnz 1b
|
||||||
sync /* Wait for all icbi to complete on bus */
|
sync /* Wait for all icbi to complete on bus */
|
||||||
isync
|
isync
|
||||||
|
|||||||
@ -25,8 +25,7 @@
|
|||||||
PLATFORM_RELFLAGS += -fno-strict-aliasing -fno-common -ffixed-r8 \
|
PLATFORM_RELFLAGS += -fno-strict-aliasing -fno-common -ffixed-r8 \
|
||||||
-msoft-float
|
-msoft-float
|
||||||
|
|
||||||
#PLATFORM_CPPFLAGS += -mapcs-32 -march=armv4 -mtune=strongarm1100
|
PLATFORM_CPPFLAGS += -march=armv5te -mtune=xscale
|
||||||
PLATFORM_CPPFLAGS += -march=armv5 -mtune=xscale
|
|
||||||
# =========================================================================
|
# =========================================================================
|
||||||
#
|
#
|
||||||
# Supply options according to compiler version
|
# Supply options according to compiler version
|
||||||
|
|||||||
@ -35,17 +35,17 @@
|
|||||||
|
|
||||||
DECLARE_GLOBAL_DATA_PTR;
|
DECLARE_GLOBAL_DATA_PTR;
|
||||||
|
|
||||||
#define FFUART 0
|
#define FFUART_INDEX 0
|
||||||
#define BTUART 1
|
#define BTUART_INDEX 1
|
||||||
#define STUART 2
|
#define STUART_INDEX 2
|
||||||
|
|
||||||
#ifndef CONFIG_SERIAL_MULTI
|
#ifndef CONFIG_SERIAL_MULTI
|
||||||
#if defined (CONFIG_FFUART)
|
#if defined (CONFIG_FFUART)
|
||||||
#define UART_INDEX FFUART
|
#define UART_INDEX FFUART_INDEX
|
||||||
#elif defined (CONFIG_BTUART)
|
#elif defined (CONFIG_BTUART)
|
||||||
#define UART_INDEX BTUART
|
#define UART_INDEX BTUART_INDEX
|
||||||
#elif defined (CONFIG_STUART)
|
#elif defined (CONFIG_STUART)
|
||||||
#define UART_INDEX STUART
|
#define UART_INDEX STUART_INDEX
|
||||||
#else
|
#else
|
||||||
#error "Bad: you didn't configure serial ..."
|
#error "Bad: you didn't configure serial ..."
|
||||||
#endif
|
#endif
|
||||||
@ -71,7 +71,7 @@ void pxa_setbrg_dev (unsigned int uart_index)
|
|||||||
hang ();
|
hang ();
|
||||||
|
|
||||||
switch (uart_index) {
|
switch (uart_index) {
|
||||||
case FFUART:
|
case FFUART_INDEX:
|
||||||
#ifdef CONFIG_CPU_MONAHANS
|
#ifdef CONFIG_CPU_MONAHANS
|
||||||
CKENA |= CKENA_22_FFUART;
|
CKENA |= CKENA_22_FFUART;
|
||||||
#else
|
#else
|
||||||
@ -90,7 +90,7 @@ void pxa_setbrg_dev (unsigned int uart_index)
|
|||||||
FFIER = IER_UUE; /* Enable FFUART */
|
FFIER = IER_UUE; /* Enable FFUART */
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case BTUART:
|
case BTUART_INDEX:
|
||||||
#ifdef CONFIG_CPU_MONAHANS
|
#ifdef CONFIG_CPU_MONAHANS
|
||||||
CKENA |= CKENA_21_BTUART;
|
CKENA |= CKENA_21_BTUART;
|
||||||
#else
|
#else
|
||||||
@ -110,7 +110,7 @@ void pxa_setbrg_dev (unsigned int uart_index)
|
|||||||
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case STUART:
|
case STUART_INDEX:
|
||||||
#ifdef CONFIG_CPU_MONAHANS
|
#ifdef CONFIG_CPU_MONAHANS
|
||||||
CKENA |= CKENA_23_STUART;
|
CKENA |= CKENA_23_STUART;
|
||||||
#else
|
#else
|
||||||
@ -154,20 +154,20 @@ int pxa_init_dev (unsigned int uart_index)
|
|||||||
void pxa_putc_dev (unsigned int uart_index,const char c)
|
void pxa_putc_dev (unsigned int uart_index,const char c)
|
||||||
{
|
{
|
||||||
switch (uart_index) {
|
switch (uart_index) {
|
||||||
case FFUART:
|
case FFUART_INDEX:
|
||||||
/* wait for room in the tx FIFO on FFUART */
|
/* wait for room in the tx FIFO on FFUART */
|
||||||
while ((FFLSR & LSR_TEMT) == 0)
|
while ((FFLSR & LSR_TEMT) == 0)
|
||||||
WATCHDOG_RESET (); /* Reset HW Watchdog, if needed */
|
WATCHDOG_RESET (); /* Reset HW Watchdog, if needed */
|
||||||
FFTHR = c;
|
FFTHR = c;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case BTUART:
|
case BTUART_INDEX:
|
||||||
while ((BTLSR & LSR_TEMT ) == 0 )
|
while ((BTLSR & LSR_TEMT ) == 0 )
|
||||||
WATCHDOG_RESET (); /* Reset HW Watchdog, if needed */
|
WATCHDOG_RESET (); /* Reset HW Watchdog, if needed */
|
||||||
BTTHR = c;
|
BTTHR = c;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case STUART:
|
case STUART_INDEX:
|
||||||
while ((STLSR & LSR_TEMT ) == 0 )
|
while ((STLSR & LSR_TEMT ) == 0 )
|
||||||
WATCHDOG_RESET (); /* Reset HW Watchdog, if needed */
|
WATCHDOG_RESET (); /* Reset HW Watchdog, if needed */
|
||||||
STTHR = c;
|
STTHR = c;
|
||||||
@ -187,11 +187,11 @@ void pxa_putc_dev (unsigned int uart_index,const char c)
|
|||||||
int pxa_tstc_dev (unsigned int uart_index)
|
int pxa_tstc_dev (unsigned int uart_index)
|
||||||
{
|
{
|
||||||
switch (uart_index) {
|
switch (uart_index) {
|
||||||
case FFUART:
|
case FFUART_INDEX:
|
||||||
return FFLSR & LSR_DR;
|
return FFLSR & LSR_DR;
|
||||||
case BTUART:
|
case BTUART_INDEX:
|
||||||
return BTLSR & LSR_DR;
|
return BTLSR & LSR_DR;
|
||||||
case STUART:
|
case STUART_INDEX:
|
||||||
return STLSR & LSR_DR;
|
return STLSR & LSR_DR;
|
||||||
}
|
}
|
||||||
return -1;
|
return -1;
|
||||||
@ -205,16 +205,16 @@ int pxa_tstc_dev (unsigned int uart_index)
|
|||||||
int pxa_getc_dev (unsigned int uart_index)
|
int pxa_getc_dev (unsigned int uart_index)
|
||||||
{
|
{
|
||||||
switch (uart_index) {
|
switch (uart_index) {
|
||||||
case FFUART:
|
case FFUART_INDEX:
|
||||||
while (!(FFLSR & LSR_DR))
|
while (!(FFLSR & LSR_DR))
|
||||||
WATCHDOG_RESET (); /* Reset HW Watchdog, if needed */
|
WATCHDOG_RESET (); /* Reset HW Watchdog, if needed */
|
||||||
return (char) FFRBR & 0xff;
|
return (char) FFRBR & 0xff;
|
||||||
|
|
||||||
case BTUART:
|
case BTUART_INDEX:
|
||||||
while (!(BTLSR & LSR_DR))
|
while (!(BTLSR & LSR_DR))
|
||||||
WATCHDOG_RESET (); /* Reset HW Watchdog, if needed */
|
WATCHDOG_RESET (); /* Reset HW Watchdog, if needed */
|
||||||
return (char) BTRBR & 0xff;
|
return (char) BTRBR & 0xff;
|
||||||
case STUART:
|
case STUART_INDEX:
|
||||||
while (!(STLSR & LSR_DR))
|
while (!(STLSR & LSR_DR))
|
||||||
WATCHDOG_RESET (); /* Reset HW Watchdog, if needed */
|
WATCHDOG_RESET (); /* Reset HW Watchdog, if needed */
|
||||||
return (char) STRBR & 0xff;
|
return (char) STRBR & 0xff;
|
||||||
@ -233,32 +233,32 @@ pxa_puts_dev (unsigned int uart_index,const char *s)
|
|||||||
#if defined (CONFIG_FFUART)
|
#if defined (CONFIG_FFUART)
|
||||||
static int ffuart_init(void)
|
static int ffuart_init(void)
|
||||||
{
|
{
|
||||||
return pxa_init_dev(FFUART);
|
return pxa_init_dev(FFUART_INDEX);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void ffuart_setbrg(void)
|
static void ffuart_setbrg(void)
|
||||||
{
|
{
|
||||||
return pxa_setbrg_dev(FFUART);
|
return pxa_setbrg_dev(FFUART_INDEX);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void ffuart_putc(const char c)
|
static void ffuart_putc(const char c)
|
||||||
{
|
{
|
||||||
return pxa_putc_dev(FFUART,c);
|
return pxa_putc_dev(FFUART_INDEX,c);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void ffuart_puts(const char *s)
|
static void ffuart_puts(const char *s)
|
||||||
{
|
{
|
||||||
return pxa_puts_dev(FFUART,s);
|
return pxa_puts_dev(FFUART_INDEX,s);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int ffuart_getc(void)
|
static int ffuart_getc(void)
|
||||||
{
|
{
|
||||||
return pxa_getc_dev(FFUART);
|
return pxa_getc_dev(FFUART_INDEX);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int ffuart_tstc(void)
|
static int ffuart_tstc(void)
|
||||||
{
|
{
|
||||||
return pxa_tstc_dev(FFUART);
|
return pxa_tstc_dev(FFUART_INDEX);
|
||||||
}
|
}
|
||||||
|
|
||||||
struct serial_device serial_ffuart_device =
|
struct serial_device serial_ffuart_device =
|
||||||
@ -277,32 +277,32 @@ struct serial_device serial_ffuart_device =
|
|||||||
#if defined (CONFIG_BTUART)
|
#if defined (CONFIG_BTUART)
|
||||||
static int btuart_init(void)
|
static int btuart_init(void)
|
||||||
{
|
{
|
||||||
return pxa_init_dev(BTUART);
|
return pxa_init_dev(BTUART_INDEX);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void btuart_setbrg(void)
|
static void btuart_setbrg(void)
|
||||||
{
|
{
|
||||||
return pxa_setbrg_dev(BTUART);
|
return pxa_setbrg_dev(BTUART_INDEX);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void btuart_putc(const char c)
|
static void btuart_putc(const char c)
|
||||||
{
|
{
|
||||||
return pxa_putc_dev(BTUART,c);
|
return pxa_putc_dev(BTUART_INDEX,c);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void btuart_puts(const char *s)
|
static void btuart_puts(const char *s)
|
||||||
{
|
{
|
||||||
return pxa_puts_dev(BTUART,s);
|
return pxa_puts_dev(BTUART_INDEX,s);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int btuart_getc(void)
|
static int btuart_getc(void)
|
||||||
{
|
{
|
||||||
return pxa_getc_dev(BTUART);
|
return pxa_getc_dev(BTUART_INDEX);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int btuart_tstc(void)
|
static int btuart_tstc(void)
|
||||||
{
|
{
|
||||||
return pxa_tstc_dev(BTUART);
|
return pxa_tstc_dev(BTUART_INDEX);
|
||||||
}
|
}
|
||||||
|
|
||||||
struct serial_device serial_btuart_device =
|
struct serial_device serial_btuart_device =
|
||||||
@ -321,32 +321,32 @@ struct serial_device serial_btuart_device =
|
|||||||
#if defined (CONFIG_STUART)
|
#if defined (CONFIG_STUART)
|
||||||
static int stuart_init(void)
|
static int stuart_init(void)
|
||||||
{
|
{
|
||||||
return pxa_init_dev(STUART);
|
return pxa_init_dev(STUART_INDEX);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void stuart_setbrg(void)
|
static void stuart_setbrg(void)
|
||||||
{
|
{
|
||||||
return pxa_setbrg_dev(STUART);
|
return pxa_setbrg_dev(STUART_INDEX);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void stuart_putc(const char c)
|
static void stuart_putc(const char c)
|
||||||
{
|
{
|
||||||
return pxa_putc_dev(STUART,c);
|
return pxa_putc_dev(STUART_INDEX,c);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void stuart_puts(const char *s)
|
static void stuart_puts(const char *s)
|
||||||
{
|
{
|
||||||
return pxa_puts_dev(STUART,s);
|
return pxa_puts_dev(STUART_INDEX,s);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int stuart_getc(void)
|
static int stuart_getc(void)
|
||||||
{
|
{
|
||||||
return pxa_getc_dev(STUART);
|
return pxa_getc_dev(STUART_INDEX);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int stuart_tstc(void)
|
static int stuart_tstc(void)
|
||||||
{
|
{
|
||||||
return pxa_tstc_dev(STUART);
|
return pxa_tstc_dev(STUART_INDEX);
|
||||||
}
|
}
|
||||||
|
|
||||||
struct serial_device serial_stuart_device =
|
struct serial_device serial_stuart_device =
|
||||||
|
|||||||
@ -166,13 +166,17 @@ _start_armboot: .word start_armboot
|
|||||||
/* */
|
/* */
|
||||||
/****************************************************************************/
|
/****************************************************************************/
|
||||||
/* mk@tbd: Fix this! */
|
/* mk@tbd: Fix this! */
|
||||||
#ifdef CONFIG_CPU_MONAHANS
|
#if defined(CONFIG_PXA250) || defined(CONFIG_CPU_MONAHANS)
|
||||||
#undef ICMR
|
#undef ICMR
|
||||||
#undef OSMR3
|
#undef OSMR3
|
||||||
#undef OSCR
|
#undef OSCR
|
||||||
#undef OWER
|
#undef OWER
|
||||||
#undef OIER
|
#undef OIER
|
||||||
#endif
|
#endif
|
||||||
|
#ifdef CONFIG_PXA250
|
||||||
|
#undef RCSR
|
||||||
|
#undef CCCR
|
||||||
|
#endif
|
||||||
|
|
||||||
/* Interrupt-Controller base address */
|
/* Interrupt-Controller base address */
|
||||||
IC_BASE: .word 0x40d00000
|
IC_BASE: .word 0x40d00000
|
||||||
|
|||||||
@ -27,8 +27,9 @@
|
|||||||
# if defined(CONFIG_CPU_MONAHANS) || defined(CONFIG_PXA27X)
|
# if defined(CONFIG_CPU_MONAHANS) || defined(CONFIG_PXA27X)
|
||||||
|
|
||||||
#include <asm/arch/pxa-regs.h>
|
#include <asm/arch/pxa-regs.h>
|
||||||
|
#include <usb.h>
|
||||||
|
|
||||||
int usb_cpu_init()
|
int usb_cpu_init(void)
|
||||||
{
|
{
|
||||||
#if defined(CONFIG_CPU_MONAHANS)
|
#if defined(CONFIG_CPU_MONAHANS)
|
||||||
/* Enable USB host clock. */
|
/* Enable USB host clock. */
|
||||||
@ -65,7 +66,7 @@ int usb_cpu_init()
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
int usb_cpu_stop()
|
int usb_cpu_stop(void)
|
||||||
{
|
{
|
||||||
UHCHR |= UHCHR_FHR;
|
UHCHR |= UHCHR_FHR;
|
||||||
udelay(11);
|
udelay(11);
|
||||||
@ -86,7 +87,7 @@ int usb_cpu_stop()
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
int usb_cpu_init_fail()
|
int usb_cpu_init_fail(void)
|
||||||
{
|
{
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
#
|
#
|
||||||
# (C) Copyright 2000-2006
|
# (C) Copyright 2000-2007
|
||||||
# Wolfgang Denk, DENX Software Engineering, wd@denx.de.
|
# Wolfgang Denk, DENX Software Engineering, wd@denx.de.
|
||||||
#
|
#
|
||||||
# See file CREDITS for list of people who contributed to this
|
# See file CREDITS for list of people who contributed to this
|
||||||
@ -27,34 +27,33 @@ include $(TOPDIR)/config.mk
|
|||||||
|
|
||||||
LIB = $(obj)libdrivers.a
|
LIB = $(obj)libdrivers.a
|
||||||
|
|
||||||
COBJS = 3c589.o 5701rls.o ali512x.o at45.o ata_piix.o atmel_usart.o \
|
COBJS = 3c589.o 5701rls.o ali512x.o at45.o ata_piix.o \
|
||||||
|
ati_radeon_fb.o atmel_usart.o \
|
||||||
bcm570x.o bcm570x_autoneg.o cfb_console.o cfi_flash.o \
|
bcm570x.o bcm570x_autoneg.o cfb_console.o cfi_flash.o \
|
||||||
cs8900.o ct69000.o dataflash.o dc2114x.o dm9000x.o \
|
cs8900.o ct69000.o dataflash.o dc2114x.o dm9000x.o \
|
||||||
e1000.o eepro100.o enc28j60.o \
|
ds1722.o e1000.o eepro100.o enc28j60.o \
|
||||||
i8042.o inca-ip_sw.o isp116x-hcd.o keyboard.o \
|
fsl_i2c.o fsl_pci_init.o \
|
||||||
lan91c96.o macb.o \
|
i8042.o inca-ip_sw.o isp116x-hcd.o \
|
||||||
|
keyboard.o ks8695eth.o \
|
||||||
|
lan91c96.o macb.o mpc8xx_pcmcia.o mw_eeprom.o \
|
||||||
natsemi.o ne2000.o netarm_eth.o netconsole.o \
|
natsemi.o ne2000.o netarm_eth.o netconsole.o \
|
||||||
ns16550.o ns8382x.o ns87308.o ns7520_eth.o omap1510_i2c.o \
|
ns16550.o ns8382x.o ns87308.o ns7520_eth.o omap1510_i2c.o \
|
||||||
omap24xx_i2c.o pci.o pci_auto.o pci_indirect.o \
|
omap24xx_i2c.o pc_keyb.o \
|
||||||
pcnet.o plb2800_eth.o \
|
pci.o pci_auto.o pci_indirect.o \
|
||||||
ps2ser.o ps2mult.o pc_keyb.o \
|
pcnet.o plb2800_eth.o ps2ser.o ps2mult.o pxa_pcmcia.o \
|
||||||
rtl8019.o rtl8139.o rtl8169.o \
|
rpx_pcmcia.o rtl8019.o rtl8139.o rtl8169.o \
|
||||||
s3c4510b_eth.o s3c4510b_uart.o \
|
s3c4510b_eth.o s3c4510b_uart.o \
|
||||||
sed13806.o sed156x.o \
|
sed13806.o sed156x.o \
|
||||||
serial.o serial_max3100.o \
|
serial.o serial_max3100.o \
|
||||||
serial_pl010.o serial_pl011.o serial_xuartlite.o \
|
serial_xuartlite.o \
|
||||||
sil680.o sl811_usb.o sm501.o smc91111.o smiLynxEM.o \
|
sil680.o sl811_usb.o sm501.o smc91111.o smiLynxEM.o \
|
||||||
status_led.o sym53c8xx.o systemace.o ahci.o \
|
status_led.o sym53c8xx.o systemace.o ahci.o \
|
||||||
ti_pci1410a.o tigon3.o tsec.o \
|
ti_pci1410a.o tigon3.o tqm8xx_pcmcia.o tsec.o \
|
||||||
tsi108_eth.o tsi108_i2c.o tsi108_pci.o \
|
tsi108_eth.o tsi108_i2c.o tsi108_pci.o \
|
||||||
usb_ohci.o \
|
usb_ohci.o \
|
||||||
usbdcore.o usbdcore_ep0.o usbdcore_mpc8xx.o usbdcore_omap1510.o \
|
usbdcore.o usbdcore_ep0.o usbdcore_mpc8xx.o usbdcore_omap1510.o \
|
||||||
usbtty.o \
|
usbtty.o \
|
||||||
videomodes.o w83c553f.o \
|
videomodes.o w83c553f.o
|
||||||
ks8695eth.o \
|
|
||||||
pxa_pcmcia.o mpc8xx_pcmcia.o tqm8xx_pcmcia.o \
|
|
||||||
rpx_pcmcia.o \
|
|
||||||
fsl_i2c.o fsl_pci_init.o ati_radeon_fb.o
|
|
||||||
|
|
||||||
SRCS := $(COBJS:.o=.c)
|
SRCS := $(COBJS:.o=.c)
|
||||||
OBJS := $(addprefix $(obj),$(COBJS))
|
OBJS := $(addprefix $(obj),$(COBJS))
|
||||||
|
|||||||
@ -1,10 +1,10 @@
|
|||||||
|
|
||||||
#include <common.h>
|
#include <common.h>
|
||||||
|
|
||||||
#include <ssi.h>
|
|
||||||
|
|
||||||
#ifdef CONFIG_DS1722
|
#ifdef CONFIG_DS1722
|
||||||
|
|
||||||
|
#include <ssi.h>
|
||||||
|
|
||||||
static void ds1722_select(int dev)
|
static void ds1722_select(int dev)
|
||||||
{
|
{
|
||||||
ssi_set_interface(4096, 0, 0, 0);
|
ssi_set_interface(4096, 0, 0, 0);
|
||||||
|
|||||||
@ -54,6 +54,7 @@ fsl_pci_init(struct pci_controller *hose)
|
|||||||
u8 temp8;
|
u8 temp8;
|
||||||
int r;
|
int r;
|
||||||
int bridge;
|
int bridge;
|
||||||
|
int inbound = 0;
|
||||||
volatile ccsr_fsl_pci_t *pci = (ccsr_fsl_pci_t *) hose->cfg_addr;
|
volatile ccsr_fsl_pci_t *pci = (ccsr_fsl_pci_t *) hose->cfg_addr;
|
||||||
pci_dev_t dev = PCI_BDF(busno,0,0);
|
pci_dev_t dev = PCI_BDF(busno,0,0);
|
||||||
|
|
||||||
@ -74,6 +75,7 @@ fsl_pci_init(struct pci_controller *hose)
|
|||||||
PIWAR_READ_SNOOP | PIWAR_WRITE_SNOOP |
|
PIWAR_READ_SNOOP | PIWAR_WRITE_SNOOP |
|
||||||
(__ilog2(hose->regions[r].size) - 1);
|
(__ilog2(hose->regions[r].size) - 1);
|
||||||
pi++;
|
pi++;
|
||||||
|
inbound = hose->regions[r].size > 0;
|
||||||
} else { /* Outbound */
|
} else { /* Outbound */
|
||||||
po->powbar = (hose->regions[r].phys_start >> 12) & 0x000fffff;
|
po->powbar = (hose->regions[r].phys_start >> 12) & 0x000fffff;
|
||||||
po->potar = (hose->regions[r].bus_start >> 12) & 0x000fffff;
|
po->potar = (hose->regions[r].bus_start >> 12) & 0x000fffff;
|
||||||
@ -138,6 +140,12 @@ fsl_pci_init(struct pci_controller *hose)
|
|||||||
pciauto_setup_device(hose, dev, 0, hose->pci_mem,
|
pciauto_setup_device(hose, dev, 0, hose->pci_mem,
|
||||||
hose->pci_prefetch, hose->pci_io);
|
hose->pci_prefetch, hose->pci_io);
|
||||||
|
|
||||||
|
if (inbound) {
|
||||||
|
pci_hose_read_config_word(hose, dev, PCI_COMMAND, &temp16);
|
||||||
|
pci_hose_write_config_word(hose, dev, PCI_COMMAND,
|
||||||
|
temp16 | PCI_COMMAND_MEMORY);
|
||||||
|
}
|
||||||
|
|
||||||
#ifndef CONFIG_PCI_NOSCAN
|
#ifndef CONFIG_PCI_NOSCAN
|
||||||
printf (" Scanning PCI bus %02x\n", hose->current_busno);
|
printf (" Scanning PCI bus %02x\n", hose->current_busno);
|
||||||
hose->last_busno = pci_hose_scan_bus(hose,hose->current_busno);
|
hose->last_busno = pci_hose_scan_bus(hose,hose->current_busno);
|
||||||
|
|||||||
@ -1,11 +1,11 @@
|
|||||||
/* Three-wire (MicroWire) serial eeprom driver (for 93C46 and compatibles) */
|
/* Three-wire (MicroWire) serial eeprom driver (for 93C46 and compatibles) */
|
||||||
|
|
||||||
#include <common.h>
|
#include <common.h>
|
||||||
#include <ssi.h>
|
|
||||||
|
|
||||||
|
|
||||||
#ifdef CONFIG_MW_EEPROM
|
#ifdef CONFIG_MW_EEPROM
|
||||||
|
|
||||||
|
#include <ssi.h>
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Serial EEPROM opcodes, including start bit
|
* Serial EEPROM opcodes, including start bit
|
||||||
*/
|
*/
|
||||||
|
|||||||
@ -745,17 +745,15 @@ static void pcnet_reset_8390(void)
|
|||||||
|
|
||||||
PRINTK("nic base is %lx\n", nic_base);
|
PRINTK("nic base is %lx\n", nic_base);
|
||||||
|
|
||||||
#if 1
|
|
||||||
n2k_outb(E8390_NODMA+E8390_PAGE0+E8390_STOP, E8390_CMD);
|
n2k_outb(E8390_NODMA+E8390_PAGE0+E8390_STOP, E8390_CMD);
|
||||||
PRINTK("cmd (at %lx) is %x\n", nic_base+ E8390_CMD, n2k_inb(E8390_CMD));
|
PRINTK("cmd (at %lx) is %x\n", nic_base+ E8390_CMD, n2k_inb(E8390_CMD));
|
||||||
n2k_outb(E8390_NODMA+E8390_PAGE1+E8390_STOP, E8390_CMD);
|
n2k_outb(E8390_NODMA+E8390_PAGE1+E8390_STOP, E8390_CMD);
|
||||||
PRINTK("cmd (at %lx) is %x\n", nic_base+ E8390_CMD, n2k_inb(E8390_CMD));
|
PRINTK("cmd (at %lx) is %x\n", nic_base+ E8390_CMD, n2k_inb(E8390_CMD));
|
||||||
n2k_outb(E8390_NODMA+E8390_PAGE0+E8390_STOP, E8390_CMD);
|
n2k_outb(E8390_NODMA+E8390_PAGE0+E8390_STOP, E8390_CMD);
|
||||||
PRINTK("cmd (at %lx) is %x\n", nic_base+ E8390_CMD, n2k_inb(E8390_CMD));
|
PRINTK("cmd (at %lx) is %x\n", nic_base+ E8390_CMD, n2k_inb(E8390_CMD));
|
||||||
#endif
|
|
||||||
n2k_outb(E8390_NODMA+E8390_PAGE0+E8390_STOP, E8390_CMD);
|
n2k_outb(E8390_NODMA+E8390_PAGE0+E8390_STOP, E8390_CMD);
|
||||||
|
|
||||||
n2k_outb(n2k_inb(nic_base + PCNET_RESET), PCNET_RESET);
|
n2k_outb(n2k_inb(PCNET_RESET), PCNET_RESET);
|
||||||
|
|
||||||
for (i = 0; i < 100; i++) {
|
for (i = 0; i < 100; i++) {
|
||||||
if ((r = (n2k_inb(EN0_ISR) & ENISR_RESET)) != 0)
|
if ((r = (n2k_inb(EN0_ISR) & ENISR_RESET)) != 0)
|
||||||
@ -833,6 +831,7 @@ static int plen[NB];
|
|||||||
static int nrx = 0;
|
static int nrx = 0;
|
||||||
|
|
||||||
static int pkey = -1;
|
static int pkey = -1;
|
||||||
|
static int initialized=0;
|
||||||
|
|
||||||
void uboot_push_packet_len(int len) {
|
void uboot_push_packet_len(int len) {
|
||||||
PRINTK("pushed len = %d, nrx = %d\n", len, nrx);
|
PRINTK("pushed len = %d, nrx = %d\n", len, nrx);
|
||||||
@ -846,7 +845,9 @@ void uboot_push_packet_len(int len) {
|
|||||||
}
|
}
|
||||||
plen[nrx] = len;
|
plen[nrx] = len;
|
||||||
dp83902a_recv(&pbuf[nrx*2000], len);
|
dp83902a_recv(&pbuf[nrx*2000], len);
|
||||||
nrx++;
|
|
||||||
|
/*Just pass it to the upper layer*/
|
||||||
|
NetReceive(&pbuf[nrx*2000], plen[nrx]);
|
||||||
}
|
}
|
||||||
|
|
||||||
void uboot_push_tx_done(int key, int val) {
|
void uboot_push_tx_done(int key, int val) {
|
||||||
@ -903,37 +904,21 @@ int eth_init(bd_t *bd) {
|
|||||||
if (dp83902a_init() == false)
|
if (dp83902a_init() == false)
|
||||||
return -1;
|
return -1;
|
||||||
dp83902a_start(dev_addr);
|
dp83902a_start(dev_addr);
|
||||||
|
initialized=1;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
void eth_halt() {
|
void eth_halt() {
|
||||||
|
|
||||||
PRINTK("### eth_halt\n");
|
PRINTK("### eth_halt\n");
|
||||||
|
if(initialized)
|
||||||
dp83902a_stop();
|
dp83902a_stop();
|
||||||
|
initialized=0;
|
||||||
}
|
}
|
||||||
|
|
||||||
int eth_rx() {
|
int eth_rx() {
|
||||||
int j, tmo;
|
dp83902a_poll();
|
||||||
|
return 1;
|
||||||
PRINTK("### eth_rx\n");
|
|
||||||
|
|
||||||
tmo = get_timer (0) + TOUT * CFG_HZ;
|
|
||||||
while(1) {
|
|
||||||
dp83902a_poll();
|
|
||||||
if (nrx > 0) {
|
|
||||||
for(j=0; j<nrx; j++) {
|
|
||||||
NetReceive(&pbuf[j*2000], plen[j]);
|
|
||||||
}
|
|
||||||
nrx = 0;
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
if (get_timer (0) >= tmo) {
|
|
||||||
printf("timeout during rx\n");
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return 0;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
int eth_send(volatile void *packet, int length) {
|
int eth_send(volatile void *packet, int length) {
|
||||||
@ -959,5 +944,4 @@ int eth_send(volatile void *packet, int length) {
|
|||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@ -42,7 +42,7 @@ are GPL, so this is, of course, GPL.
|
|||||||
this file might be covered by the GNU General Public License.
|
this file might be covered by the GNU General Public License.
|
||||||
|
|
||||||
Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
|
Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
|
||||||
at http://sources.redhat.com/ecos/ecos-license/ */
|
at http://sources.redhat.com/ecos/ecos-license/
|
||||||
-------------------------------------------
|
-------------------------------------------
|
||||||
####ECOSGPLCOPYRIGHTEND####
|
####ECOSGPLCOPYRIGHTEND####
|
||||||
####BSDCOPYRIGHTBEGIN####
|
####BSDCOPYRIGHTBEGIN####
|
||||||
|
|||||||
@ -25,7 +25,7 @@ include $(TOPDIR)/config.mk
|
|||||||
|
|
||||||
LIB := $(obj)libserial.a
|
LIB := $(obj)libserial.a
|
||||||
|
|
||||||
COBJS := mcfuart.o
|
COBJS := mcfuart.o serial_pl010.o serial_pl011.o
|
||||||
|
|
||||||
SRCS := $(COBJS:.o=.c)
|
SRCS := $(COBJS:.o=.c)
|
||||||
OBJS := $(addprefix $(obj),$(COBJS))
|
OBJS := $(addprefix $(obj),$(COBJS))
|
||||||
|
|||||||
@ -803,6 +803,7 @@ static void startup_tsec(struct eth_device *dev)
|
|||||||
/* Tell the DMA it is clear to go */
|
/* Tell the DMA it is clear to go */
|
||||||
regs->dmactrl |= DMACTRL_INIT_SETTINGS;
|
regs->dmactrl |= DMACTRL_INIT_SETTINGS;
|
||||||
regs->tstat = TSTAT_CLEAR_THALT;
|
regs->tstat = TSTAT_CLEAR_THALT;
|
||||||
|
regs->rstat = RSTAT_CLEAR_RHALT;
|
||||||
regs->dmactrl &= ~(DMACTRL_GRS | DMACTRL_GTS);
|
regs->dmactrl &= ~(DMACTRL_GRS | DMACTRL_GTS);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -39,14 +39,14 @@ SECTIONS
|
|||||||
. = ALIGN(4);
|
. = ALIGN(4);
|
||||||
.data : { *(.data) }
|
.data : { *(.data) }
|
||||||
|
|
||||||
. = ALIGN(4);
|
. = .;
|
||||||
.sdata : { *(.sdata) }
|
_gp = ALIGN(16) + 0x7ff0;
|
||||||
|
|
||||||
_gp = ALIGN(16);
|
.got : {
|
||||||
|
__got_start = .;
|
||||||
__got_start = .;
|
*(.got)
|
||||||
.got : { *(.got) }
|
__got_end = .;
|
||||||
__got_end = .;
|
}
|
||||||
|
|
||||||
.sdata : { *(.sdata) }
|
.sdata : { *(.sdata) }
|
||||||
|
|
||||||
|
|||||||
@ -49,7 +49,7 @@
|
|||||||
cannot access physical memory directly from core */
|
cannot access physical memory directly from core */
|
||||||
#define UNCACHED_SDRAM(a) (((unsigned long)(a)) | 0x20000000)
|
#define UNCACHED_SDRAM(a) (((unsigned long)(a)) | 0x20000000)
|
||||||
#else /* !CONFIG_AU1X00 */
|
#else /* !CONFIG_AU1X00 */
|
||||||
#define UNCACHED_SDRAM(a) PHYSADDR(a)
|
#define UNCACHED_SDRAM(a) KSEG1ADDR(a)
|
||||||
#endif /* CONFIG_AU1X00 */
|
#endif /* CONFIG_AU1X00 */
|
||||||
#endif /* __ASSEMBLY__ */
|
#endif /* __ASSEMBLY__ */
|
||||||
/*
|
/*
|
||||||
|
|||||||
@ -19,21 +19,21 @@
|
|||||||
extern char *strcpy(char *__dest, __const__ char *__src);
|
extern char *strcpy(char *__dest, __const__ char *__src);
|
||||||
|
|
||||||
#undef __HAVE_ARCH_STRNCPY
|
#undef __HAVE_ARCH_STRNCPY
|
||||||
extern char *strncpy(char *__dest, __const__ char *__src, size_t __n);
|
extern char *strncpy(char *__dest, __const__ char *__src, __kernel_size_t __n);
|
||||||
|
|
||||||
#undef __HAVE_ARCH_STRCMP
|
#undef __HAVE_ARCH_STRCMP
|
||||||
extern int strcmp(__const__ char *__cs, __const__ char *__ct);
|
extern int strcmp(__const__ char *__cs, __const__ char *__ct);
|
||||||
|
|
||||||
#undef __HAVE_ARCH_STRNCMP
|
#undef __HAVE_ARCH_STRNCMP
|
||||||
extern int strncmp(__const__ char *__cs, __const__ char *__ct, size_t __count);
|
extern int strncmp(__const__ char *__cs, __const__ char *__ct, __kernel_size_t __count);
|
||||||
|
|
||||||
#undef __HAVE_ARCH_MEMSET
|
#undef __HAVE_ARCH_MEMSET
|
||||||
extern void *memset(void *__s, int __c, size_t __count);
|
extern void *memset(void *__s, int __c, __kernel_size_t __count);
|
||||||
|
|
||||||
#undef __HAVE_ARCH_MEMCPY
|
#undef __HAVE_ARCH_MEMCPY
|
||||||
extern void *memcpy(void *__to, __const__ void *__from, size_t __n);
|
extern void *memcpy(void *__to, __const__ void *__from, __kernel_size_t __n);
|
||||||
|
|
||||||
#undef __HAVE_ARCH_MEMMOVE
|
#undef __HAVE_ARCH_MEMMOVE
|
||||||
extern void *memmove(void *__dest, __const__ void *__src, size_t __n);
|
extern void *memmove(void *__dest, __const__ void *__src, __kernel_size_t __n);
|
||||||
|
|
||||||
#endif /* _ASM_STRING_H */
|
#endif /* _ASM_STRING_H */
|
||||||
|
|||||||
@ -146,7 +146,7 @@
|
|||||||
* Please note that CFG_SDRAM_BASE _must_ start at 0
|
* Please note that CFG_SDRAM_BASE _must_ start at 0
|
||||||
*/
|
*/
|
||||||
#define CFG_SDRAM_BASE 0x00000000
|
#define CFG_SDRAM_BASE 0x00000000
|
||||||
#define CFG_SDRAM_SIZE 16 /* SDRAM size in MB */
|
#define CFG_SDRAM_SIZE 8 /* SDRAM size in MB */
|
||||||
|
|
||||||
#ifdef CONFIG_MONITOR_IS_IN_RAM
|
#ifdef CONFIG_MONITOR_IS_IN_RAM
|
||||||
#define CFG_MONITOR_BASE 0x20000
|
#define CFG_MONITOR_BASE 0x20000
|
||||||
|
|||||||
@ -163,7 +163,7 @@
|
|||||||
* Please note that CFG_SDRAM_BASE _must_ start at 0
|
* Please note that CFG_SDRAM_BASE _must_ start at 0
|
||||||
*/
|
*/
|
||||||
#define CFG_SDRAM_BASE 0x00000000
|
#define CFG_SDRAM_BASE 0x00000000
|
||||||
#define CFG_SDRAM_SIZE 8 /* SDRAM size in MB */
|
#define CFG_SDRAM_SIZE 16 /* SDRAM size in MB */
|
||||||
#define CFG_FLASH_BASE 0xffe00000
|
#define CFG_FLASH_BASE 0xffe00000
|
||||||
#define CFG_INT_FLASH_BASE 0xf0000000
|
#define CFG_INT_FLASH_BASE 0xf0000000
|
||||||
#define CFG_INT_FLASH_ENABLE 0x21
|
#define CFG_INT_FLASH_ENABLE 0x21
|
||||||
|
|||||||
@ -175,7 +175,7 @@
|
|||||||
* Please note that CFG_SDRAM_BASE _must_ start at 0
|
* Please note that CFG_SDRAM_BASE _must_ start at 0
|
||||||
*/
|
*/
|
||||||
#define CFG_SDRAM_BASE 0x40000000
|
#define CFG_SDRAM_BASE 0x40000000
|
||||||
#define CFG_SDRAM_SIZE 16 /* SDRAM size in MB */
|
#define CFG_SDRAM_SIZE 32 /* SDRAM size in MB */
|
||||||
#define CFG_SDRAM_CFG1 0x53722730
|
#define CFG_SDRAM_CFG1 0x53722730
|
||||||
#define CFG_SDRAM_CFG2 0x56670000
|
#define CFG_SDRAM_CFG2 0x56670000
|
||||||
#define CFG_SDRAM_CTRL 0xE1092000
|
#define CFG_SDRAM_CTRL 0xE1092000
|
||||||
|
|||||||
@ -27,8 +27,8 @@
|
|||||||
* board/config.h - configuration options, board specific
|
* board/config.h - configuration options, board specific
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef _JAMICA54455_H
|
#ifndef _M54455EVB_H
|
||||||
#define _JAMICA54455_H
|
#define _M54455EVB_H
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* High Level Configuration Options
|
* High Level Configuration Options
|
||||||
@ -75,7 +75,7 @@
|
|||||||
#define CONFIG_CMD_MISC
|
#define CONFIG_CMD_MISC
|
||||||
#define CONFIG_CMD_MII
|
#define CONFIG_CMD_MII
|
||||||
#define CONFIG_CMD_NET
|
#define CONFIG_CMD_NET
|
||||||
#define CONFIG_CMD_PCI
|
#undef CONFIG_CMD_PCI
|
||||||
#define CONFIG_CMD_PING
|
#define CONFIG_CMD_PING
|
||||||
#define CONFIG_CMD_REGINFO
|
#define CONFIG_CMD_REGINFO
|
||||||
|
|
||||||
@ -129,8 +129,8 @@
|
|||||||
"u-boot=u-boot.bin\0" \
|
"u-boot=u-boot.bin\0" \
|
||||||
"load=tftp ${loadaddr) ${u-boot}\0" \
|
"load=tftp ${loadaddr) ${u-boot}\0" \
|
||||||
"upd=run load; run prog\0" \
|
"upd=run load; run prog\0" \
|
||||||
"prog=prot off 0 2ffff;" \
|
"prog=prot off 4000000 402ffff;" \
|
||||||
"era 0 2ffff;" \
|
"era 4000000 402ffff;" \
|
||||||
"cp.b ${loadaddr} 0 ${filesize};" \
|
"cp.b ${loadaddr} 0 ${filesize};" \
|
||||||
"save\0" \
|
"save\0" \
|
||||||
""
|
""
|
||||||
@ -174,6 +174,7 @@
|
|||||||
#define CFG_IMMR CFG_MBAR
|
#define CFG_IMMR CFG_MBAR
|
||||||
|
|
||||||
/* PCI */
|
/* PCI */
|
||||||
|
#ifdef CONFIG_CMD_PCI
|
||||||
#define CONFIG_PCI 1
|
#define CONFIG_PCI 1
|
||||||
|
|
||||||
#define CFG_PCI_MEM_BUS 0xA0000000
|
#define CFG_PCI_MEM_BUS 0xA0000000
|
||||||
@ -187,6 +188,7 @@
|
|||||||
#define CFG_PCI_CFG_BUS 0xB0000000
|
#define CFG_PCI_CFG_BUS 0xB0000000
|
||||||
#define CFG_PCI_CFG_PHYS CFG_PCI_CFG_BUS
|
#define CFG_PCI_CFG_PHYS CFG_PCI_CFG_BUS
|
||||||
#define CFG_PCI_CFG_SIZE 0x01000000
|
#define CFG_PCI_CFG_SIZE 0x01000000
|
||||||
|
#endif
|
||||||
|
|
||||||
/* FPGA - Spartan 2 */
|
/* FPGA - Spartan 2 */
|
||||||
/* experiment
|
/* experiment
|
||||||
@ -268,8 +270,6 @@
|
|||||||
/* Configuration for environment
|
/* Configuration for environment
|
||||||
* Environment is embedded in u-boot in the second sector of the flash
|
* Environment is embedded in u-boot in the second sector of the flash
|
||||||
*/
|
*/
|
||||||
#define CFG_ENV_OFFSET 0x4000
|
|
||||||
#define CFG_ENV_SECT_SIZE 0x2000
|
|
||||||
#define CFG_ENV_IS_IN_FLASH 1
|
#define CFG_ENV_IS_IN_FLASH 1
|
||||||
#define CONFIG_ENV_OVERWRITE 1
|
#define CONFIG_ENV_OVERWRITE 1
|
||||||
#undef CFG_ENV_IS_EMBEDDED
|
#undef CFG_ENV_IS_EMBEDDED
|
||||||
@ -278,13 +278,17 @@
|
|||||||
* FLASH organization
|
* FLASH organization
|
||||||
*/
|
*/
|
||||||
#ifdef CFG_ATMEL_BOOT
|
#ifdef CFG_ATMEL_BOOT
|
||||||
# define CFG_FLASH_BASE 0
|
# define CFG_FLASH_BASE CFG_CS0_BASE
|
||||||
# define CFG_FLASH0_BASE CFG_CS0_BASE
|
# define CFG_FLASH0_BASE CFG_CS0_BASE
|
||||||
# define CFG_FLASH1_BASE CFG_CS1_BASE
|
# define CFG_FLASH1_BASE CFG_CS1_BASE
|
||||||
|
# define CFG_ENV_ADDR (CFG_FLASH_BASE + 0x4000)
|
||||||
|
# define CFG_ENV_SECT_SIZE 0x2000
|
||||||
#else
|
#else
|
||||||
# define CFG_FLASH_BASE CFG_FLASH0_BASE
|
# define CFG_FLASH_BASE CFG_FLASH0_BASE
|
||||||
# define CFG_FLASH0_BASE CFG_CS1_BASE
|
# define CFG_FLASH0_BASE CFG_CS1_BASE
|
||||||
# define CFG_FLASH1_BASE CFG_CS0_BASE
|
# define CFG_FLASH1_BASE CFG_CS0_BASE
|
||||||
|
# define CFG_ENV_ADDR (CFG_FLASH_BASE + 0x60000)
|
||||||
|
# define CFG_ENV_SECT_SIZE 0x20000
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* M54455EVB has one non CFI flash, defined CFG_FLASH_CFI will cause the system
|
/* M54455EVB has one non CFI flash, defined CFG_FLASH_CFI will cause the system
|
||||||
@ -328,9 +332,9 @@
|
|||||||
* NOTE: Enable CONFIG_CMD_JFFS2 for JFFS2 support.
|
* NOTE: Enable CONFIG_CMD_JFFS2 for JFFS2 support.
|
||||||
*/
|
*/
|
||||||
#ifdef CFG_ATMEL_BOOT
|
#ifdef CFG_ATMEL_BOOT
|
||||||
# define CONFIG_JFFS2_DEV "nor0"
|
# define CONFIG_JFFS2_DEV "nor1"
|
||||||
# define CONFIG_JFFS2_PART_SIZE 0x01000000
|
# define CONFIG_JFFS2_PART_SIZE 0x01000000
|
||||||
# define CONFIG_JFFS2_PART_OFFSET CFG_FLASH1_BASE
|
# define CONFIG_JFFS2_PART_OFFSET (CFG_FLASH1_BASE + 0x500000)
|
||||||
#else
|
#else
|
||||||
# define CONFIG_JFFS2_DEV "nor0"
|
# define CONFIG_JFFS2_DEV "nor0"
|
||||||
# define CONFIG_JFFS2_PART_SIZE (0x01000000 - 0x500000)
|
# define CONFIG_JFFS2_PART_SIZE (0x01000000 - 0x500000)
|
||||||
@ -356,20 +360,20 @@
|
|||||||
|
|
||||||
#ifdef CFG_ATMEL_BOOT
|
#ifdef CFG_ATMEL_BOOT
|
||||||
/* Atmel Flash */
|
/* Atmel Flash */
|
||||||
#define CFG_CS0_BASE 0
|
#define CFG_CS0_BASE 0x04000000
|
||||||
#define CFG_CS0_MASK 0x00070001
|
#define CFG_CS0_MASK 0x00070001
|
||||||
#define CFG_CS0_CTRL 0x00001140
|
#define CFG_CS0_CTRL 0x00001140
|
||||||
/* Intel Flash */
|
/* Intel Flash */
|
||||||
#define CFG_CS1_BASE 0x04000000
|
#define CFG_CS1_BASE 0x00000000
|
||||||
#define CFG_CS1_MASK 0x01FF0001
|
#define CFG_CS1_MASK 0x01FF0001
|
||||||
#define CFG_CS1_CTRL 0x003F3D60
|
#define CFG_CS1_CTRL 0x00000D60
|
||||||
|
|
||||||
#define CFG_ATMEL_BASE CFG_CS0_BASE
|
#define CFG_ATMEL_BASE CFG_CS0_BASE
|
||||||
#else
|
#else
|
||||||
/* Intel Flash */
|
/* Intel Flash */
|
||||||
#define CFG_CS0_BASE 0
|
#define CFG_CS0_BASE 0x00000000
|
||||||
#define CFG_CS0_MASK 0x01FF0001
|
#define CFG_CS0_MASK 0x01FF0001
|
||||||
#define CFG_CS0_CTRL 0x003F3D60
|
#define CFG_CS0_CTRL 0x00000D60
|
||||||
/* Atmel Flash */
|
/* Atmel Flash */
|
||||||
#define CFG_CS1_BASE 0x04000000
|
#define CFG_CS1_BASE 0x04000000
|
||||||
#define CFG_CS1_MASK 0x00070001
|
#define CFG_CS1_MASK 0x00070001
|
||||||
@ -388,4 +392,4 @@
|
|||||||
#define CFG_CS3_MASK 0x00070001
|
#define CFG_CS3_MASK 0x00070001
|
||||||
#define CFG_CS3_CTRL 0x00000020
|
#define CFG_CS3_CTRL 0x00000020
|
||||||
|
|
||||||
#endif /* _JAMICA54455_H */
|
#endif /* _M54455EVB_H */
|
||||||
|
|||||||
@ -146,37 +146,26 @@
|
|||||||
/*
|
/*
|
||||||
* Command line configuration.
|
* Command line configuration.
|
||||||
*/
|
*/
|
||||||
#include <config_cmd_all.h>
|
#include <config_cmd_default.h>
|
||||||
|
|
||||||
#undef CONFIG_CMD_BEDBUG
|
/* Commands we want, that are not part of default set */
|
||||||
#undef CONFIG_CMD_BMP
|
#define CONFIG_CMD_ASKENV /* ask for env variable */
|
||||||
#undef CONFIG_CMD_BSP
|
#define CONFIG_CMD_CACHE /* icache, dcache */
|
||||||
#undef CONFIG_CMD_DATE
|
#define CONFIG_CMD_DHCP /* DHCP Support */
|
||||||
#undef CONFIG_CMD_DHCP
|
#define CONFIG_CMD_DIAG /* Diagnostics */
|
||||||
#undef CONFIG_CMD_DISPLAY
|
#define CONFIG_CMD_IMMAP /* IMMR dump support */
|
||||||
#undef CONFIG_CMD_DOC
|
#define CONFIG_CMD_IRQ /* irqinfo */
|
||||||
#undef CONFIG_CMD_DTT
|
#define CONFIG_CMD_MII /* MII support */
|
||||||
#undef CONFIG_CMD_EEPROM
|
#define CONFIG_CMD_PCI /* pciinfo */
|
||||||
#undef CONFIG_CMD_ELF
|
#define CONFIG_CMD_PING /* ping support */
|
||||||
#undef CONFIG_CMD_EXT2
|
#define CONFIG_CMD_PORTIO /* Port I/O */
|
||||||
#undef CONFIG_CMD_FDC
|
#define CONFIG_CMD_REGINFO /* Register dump */
|
||||||
#undef CONFIG_CMD_FDOS
|
#define CONFIG_CMD_SAVES /* save S record dump */
|
||||||
#undef CONFIG_CMD_HWFLOW
|
#define CONFIG_CMD_SDRAM /* SDRAM DIMM SPD info printout */
|
||||||
#undef CONFIG_CMD_IDE
|
|
||||||
#undef CONFIG_CMD_JFFS2
|
/* Commands from default set we don't need */
|
||||||
#undef CONFIG_CMD_KGDB
|
#undef CONFIG_CMD_FPGA /* FPGA configuration Support */
|
||||||
#undef CONFIG_CMD_MFSL
|
#undef CONFIG_CMD_SETGETDCR /* DCR support on 4xx */
|
||||||
#undef CONFIG_CMD_MMC
|
|
||||||
#undef CONFIG_CMD_NAND
|
|
||||||
#undef CONFIG_CMD_PCMCIA
|
|
||||||
#undef CONFIG_CMD_REISER
|
|
||||||
#undef CONFIG_CMD_SCSI
|
|
||||||
#undef CONFIG_CMD_SPI
|
|
||||||
#undef CONFIG_CMD_SNTP
|
|
||||||
#undef CONFIG_CMD_VFD
|
|
||||||
#undef CONFIG_CMD_UNIVERSE
|
|
||||||
#undef CONFIG_CMD_USB
|
|
||||||
#undef CONFIG_CMD_XIMG
|
|
||||||
|
|
||||||
/* Define a command string that is automatically executed when no character
|
/* Define a command string that is automatically executed when no character
|
||||||
* is read on the console interface withing "Boot Delay" after reset.
|
* is read on the console interface withing "Boot Delay" after reset.
|
||||||
|
|||||||
@ -316,6 +316,7 @@ extern unsigned long get_clock_freq(void);
|
|||||||
#define OF_SOC "soc8541@e0000000"
|
#define OF_SOC "soc8541@e0000000"
|
||||||
#define OF_TBCLK (bd->bi_busfreq / 8)
|
#define OF_TBCLK (bd->bi_busfreq / 8)
|
||||||
#define OF_STDOUT_PATH "/soc8541@e0000000/serial@4600"
|
#define OF_STDOUT_PATH "/soc8541@e0000000/serial@4600"
|
||||||
|
#define OF_PCI "pci@e0008000"
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* I2C
|
* I2C
|
||||||
|
|||||||
@ -340,6 +340,7 @@ extern unsigned long get_clock_freq(void);
|
|||||||
#define OF_SOC "soc8548@e0000000"
|
#define OF_SOC "soc8548@e0000000"
|
||||||
#define OF_TBCLK (bd->bi_busfreq / 8)
|
#define OF_TBCLK (bd->bi_busfreq / 8)
|
||||||
#define OF_STDOUT_PATH "/soc8548@e0000000/serial@4600"
|
#define OF_STDOUT_PATH "/soc8548@e0000000/serial@4600"
|
||||||
|
#define OF_PCI "pci@e0008000"
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* I2C
|
* I2C
|
||||||
|
|||||||
@ -316,6 +316,7 @@ extern unsigned long get_clock_freq(void);
|
|||||||
#define OF_SOC "soc8555@e0000000"
|
#define OF_SOC "soc8555@e0000000"
|
||||||
#define OF_TBCLK (bd->bi_busfreq / 8)
|
#define OF_TBCLK (bd->bi_busfreq / 8)
|
||||||
#define OF_STDOUT_PATH "/soc8555@e0000000/serial@4600"
|
#define OF_STDOUT_PATH "/soc8555@e0000000/serial@4600"
|
||||||
|
#define OF_PCI "pci@e0008000"
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* I2C
|
* I2C
|
||||||
|
|||||||
@ -297,7 +297,7 @@ extern unsigned long get_clock_freq(void);
|
|||||||
#define OF_SOC "soc8568@e0000000"
|
#define OF_SOC "soc8568@e0000000"
|
||||||
#define OF_QE "qe@e0080000"
|
#define OF_QE "qe@e0080000"
|
||||||
#define OF_TBCLK (bd->bi_busfreq / 8)
|
#define OF_TBCLK (bd->bi_busfreq / 8)
|
||||||
#define OF_STDOUT_PATH "/soc8568@e0000000/serial@4600"
|
#define OF_STDOUT_PATH "/soc8568@e0000000/serial@4500"
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* I2C
|
* I2C
|
||||||
|
|||||||
@ -257,8 +257,8 @@
|
|||||||
"fdt_addr=FC0A0000\0" \
|
"fdt_addr=FC0A0000\0" \
|
||||||
"kernel_addr=FC0C0000\0" \
|
"kernel_addr=FC0C0000\0" \
|
||||||
"ramdisk_addr=FC300000\0" \
|
"ramdisk_addr=FC300000\0" \
|
||||||
"kernel_addr_r=200000\0" \
|
"kernel_addr_r=400000\0" \
|
||||||
"fdt_addr_r=400000\0" \
|
"fdt_addr_r=600000\0" \
|
||||||
"rootpath=/opt/eldk/ppc_6xx\0" \
|
"rootpath=/opt/eldk/ppc_6xx\0" \
|
||||||
"ramargs=setenv bootargs root=/dev/ram rw\0" \
|
"ramargs=setenv bootargs root=/dev/ram rw\0" \
|
||||||
"nfsargs=setenv bootargs root=/dev/nfs rw " \
|
"nfsargs=setenv bootargs root=/dev/nfs rw " \
|
||||||
@ -547,7 +547,7 @@
|
|||||||
# if defined (CONFIG_TQM5200_REV100)
|
# if defined (CONFIG_TQM5200_REV100)
|
||||||
# error TQM5200 REV100 not supported on STK52XX REV200 or above
|
# error TQM5200 REV100 not supported on STK52XX REV200 or above
|
||||||
# else/* TQM5200 REV200 and above */
|
# else/* TQM5200 REV200 and above */
|
||||||
# define CFG_GPS_PORT_CONFIG 0x91500004
|
# define CFG_GPS_PORT_CONFIG 0x91500404
|
||||||
# endif
|
# endif
|
||||||
# endif
|
# endif
|
||||||
#elif defined (CONFIG_FO300)
|
#elif defined (CONFIG_FO300)
|
||||||
|
|||||||
@ -69,9 +69,14 @@
|
|||||||
"net_nfs=tftp 200000 ${bootfile};run nfsargs addip;bootm\0" \
|
"net_nfs=tftp 200000 ${bootfile};run nfsargs addip;bootm\0" \
|
||||||
"rootpath=/opt/eldk/ppc_8xx\0" \
|
"rootpath=/opt/eldk/ppc_8xx\0" \
|
||||||
"bootfile=/tftpboot/TQM860M/uImage\0" \
|
"bootfile=/tftpboot/TQM860M/uImage\0" \
|
||||||
"fdt_addr=40080000\0" \
|
"fdt_addr=400C0000\0" \
|
||||||
"kernel_addr=400A0000\0" \
|
"kernel_addr=40100000\0" \
|
||||||
"ramdisk_addr=40280000\0" \
|
"ramdisk_addr=40280000\0" \
|
||||||
|
"load=tftp 200000 ${u-boot}\0" \
|
||||||
|
"update=protect off 40000000 +${filesize};" \
|
||||||
|
"erase 40000000 +${filesize};" \
|
||||||
|
"cp.b 200000 40000000 ${filesize};" \
|
||||||
|
"protect on 40000000 +${filesize}\0" \
|
||||||
""
|
""
|
||||||
#define CONFIG_BOOTCOMMAND "run flash_self"
|
#define CONFIG_BOOTCOMMAND "run flash_self"
|
||||||
|
|
||||||
@ -172,7 +177,7 @@
|
|||||||
#define CFG_FLASH_BASE 0x40000000
|
#define CFG_FLASH_BASE 0x40000000
|
||||||
#define CFG_MONITOR_LEN (256 << 10) /* Reserve 256 kB for Monitor */
|
#define CFG_MONITOR_LEN (256 << 10) /* Reserve 256 kB for Monitor */
|
||||||
#define CFG_MONITOR_BASE CFG_FLASH_BASE
|
#define CFG_MONITOR_BASE CFG_FLASH_BASE
|
||||||
#define CFG_MALLOC_LEN (128 << 10) /* Reserve 128 kB for malloc() */
|
#define CFG_MALLOC_LEN (256 << 10) /* Reserve 256 kB for malloc() */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* For booting Linux, the board info and command line data
|
* For booting Linux, the board info and command line data
|
||||||
@ -193,7 +198,7 @@
|
|||||||
#define CFG_ENV_IS_IN_FLASH 1
|
#define CFG_ENV_IS_IN_FLASH 1
|
||||||
#define CFG_ENV_OFFSET 0x40000 /* Offset of Environment Sector */
|
#define CFG_ENV_OFFSET 0x40000 /* Offset of Environment Sector */
|
||||||
#define CFG_ENV_SIZE 0x08000 /* Total Size of Environment Sector */
|
#define CFG_ENV_SIZE 0x08000 /* Total Size of Environment Sector */
|
||||||
#define CFG_ENV_SECT_SIZE 0x20000 /* Total Size of Environment Sector */
|
#define CFG_ENV_SECT_SIZE 0x40000 /* Total Size of Environment Sector */
|
||||||
|
|
||||||
/* Address and size of Redundant Environment Sector */
|
/* Address and size of Redundant Environment Sector */
|
||||||
#define CFG_ENV_OFFSET_REDUND (CFG_ENV_OFFSET+CFG_ENV_SECT_SIZE)
|
#define CFG_ENV_OFFSET_REDUND (CFG_ENV_OFFSET+CFG_ENV_SECT_SIZE)
|
||||||
|
|||||||
@ -81,9 +81,14 @@
|
|||||||
"net_nfs=tftp 200000 ${bootfile};run nfsargs addip;bootm\0" \
|
"net_nfs=tftp 200000 ${bootfile};run nfsargs addip;bootm\0" \
|
||||||
"rootpath=/opt/eldk/ppc_8xx\0" \
|
"rootpath=/opt/eldk/ppc_8xx\0" \
|
||||||
"bootfile=/tftpboot/TQM866M/uImage\0" \
|
"bootfile=/tftpboot/TQM866M/uImage\0" \
|
||||||
"fdt_addr=40080000\0" \
|
"fdt_addr=400C0000\0" \
|
||||||
"kernel_addr=400A0000\0" \
|
"kernel_addr=40100000\0" \
|
||||||
"ramdisk_addr=40280000\0" \
|
"ramdisk_addr=40280000\0" \
|
||||||
|
"load=tftp 200000 ${u-boot}\0" \
|
||||||
|
"update=protect off 40000000 +${filesize};" \
|
||||||
|
"erase 40000000 +${filesize};" \
|
||||||
|
"cp.b 200000 40000000 ${filesize};" \
|
||||||
|
"protect on 40000000 +${filesize}\0" \
|
||||||
""
|
""
|
||||||
#define CONFIG_BOOTCOMMAND "run flash_self"
|
#define CONFIG_BOOTCOMMAND "run flash_self"
|
||||||
|
|
||||||
@ -215,7 +220,7 @@
|
|||||||
#define CFG_FLASH_BASE 0x40000000
|
#define CFG_FLASH_BASE 0x40000000
|
||||||
#define CFG_MONITOR_LEN (256 << 10) /* Reserve 256 kB for Monitor */
|
#define CFG_MONITOR_LEN (256 << 10) /* Reserve 256 kB for Monitor */
|
||||||
#define CFG_MONITOR_BASE CFG_FLASH_BASE
|
#define CFG_MONITOR_BASE CFG_FLASH_BASE
|
||||||
#define CFG_MALLOC_LEN (128 << 10) /* Reserve 128 kB for malloc() */
|
#define CFG_MALLOC_LEN (256 << 10) /* Reserve 256 kB for malloc() */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* For booting Linux, the board info and command line data
|
* For booting Linux, the board info and command line data
|
||||||
@ -236,7 +241,7 @@
|
|||||||
#define CFG_ENV_IS_IN_FLASH 1
|
#define CFG_ENV_IS_IN_FLASH 1
|
||||||
#define CFG_ENV_OFFSET 0x40000 /* Offset of Environment Sector */
|
#define CFG_ENV_OFFSET 0x40000 /* Offset of Environment Sector */
|
||||||
#define CFG_ENV_SIZE 0x08000 /* Total Size of Environment Sector */
|
#define CFG_ENV_SIZE 0x08000 /* Total Size of Environment Sector */
|
||||||
#define CFG_ENV_SECT_SIZE 0x20000 /* Total Size of Environment Sector */
|
#define CFG_ENV_SECT_SIZE 0x40000 /* Total Size of Environment Sector */
|
||||||
|
|
||||||
/* Address and size of Redundant Environment Sector */
|
/* Address and size of Redundant Environment Sector */
|
||||||
#define CFG_ENV_OFFSET_REDUND (CFG_ENV_OFFSET+CFG_ENV_SECT_SIZE)
|
#define CFG_ENV_OFFSET_REDUND (CFG_ENV_OFFSET+CFG_ENV_SECT_SIZE)
|
||||||
@ -421,26 +426,30 @@
|
|||||||
#define CFG_PTA_PER_CLK ((4096 * 64 * 1000) / (4 * 64))
|
#define CFG_PTA_PER_CLK ((4096 * 64 * 1000) / (4 * 64))
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Memory Periodic Timer Prescaler
|
* Periodic timer (MAMR[PTx]) for 4 * 7.8 us refresh (= 31.2 us per quad)
|
||||||
* Periodic timer for refresh, start with refresh rate for 40 MHz clock
|
*
|
||||||
* (CFG_8xx_CPUCLK_MIN / CFG_PTA_PER_CLK)
|
* CPUclock(MHz) * 31.2
|
||||||
|
* CFG_MAMR_PTA = ----------------------------------- with DFBRG = 0
|
||||||
|
* 2^(2*SCCR[DFBRG]) * MPTPR_PTP_DIV16
|
||||||
|
*
|
||||||
|
* CPU clock = 15 MHz: CFG_MAMR_PTA = 29 -> 4 * 7.73 us
|
||||||
|
* CPU clock = 50 MHz: CFG_MAMR_PTA = 97 -> 4 * 7.76 us
|
||||||
|
* CPU clock = 66 MHz: CFG_MAMR_PTA = 128 -> 4 * 7.75 us
|
||||||
|
* CPU clock = 133 MHz: CFG_MAMR_PTA = 255 -> 4 * 7.67 us
|
||||||
|
*
|
||||||
|
* Value 97 is for 4 * 7.8 us at 50 MHz. So the refresh cycle requirement will
|
||||||
|
* be met also in the default configuration, i.e. if environment variable
|
||||||
|
* 'cpuclk' is not set.
|
||||||
*/
|
*/
|
||||||
#define CFG_MAMR_PTA 39
|
#define CFG_MAMR_PTA 97
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* For 16 MBit, refresh rates could be 31.3 us
|
* Memory Periodic Timer Prescaler Register (MPTPR) values.
|
||||||
* (= 64 ms / 2K = 125 / quad bursts).
|
|
||||||
* For a simpler initialization, 15.6 us is used instead.
|
|
||||||
*
|
|
||||||
* #define CFG_MPTPR_2BK_2K MPTPR_PTP_DIV32 for 2 banks
|
|
||||||
* #define CFG_MPTPR_1BK_2K MPTPR_PTP_DIV64 for 1 bank
|
|
||||||
*/
|
*/
|
||||||
#define CFG_MPTPR_2BK_4K MPTPR_PTP_DIV16 /* setting for 2 banks */
|
/* 4 * 7.8 us refresh (= 31.2 us per quad) at 50 MHz and PTA = 97 */
|
||||||
#define CFG_MPTPR_1BK_4K MPTPR_PTP_DIV32 /* setting for 1 bank */
|
#define CFG_MPTPR_2BK_4K MPTPR_PTP_DIV16
|
||||||
|
/* 4 * 3.9 us refresh (= 15.6 us per quad) at 50 MHz and PTA = 97 */
|
||||||
/* refresh rate 7.8 us (= 64 ms / 8K = 31.2 / quad bursts) for 256 MBit */
|
#define CFG_MPTPR_2BK_8K MPTPR_PTP_DIV8
|
||||||
#define CFG_MPTPR_2BK_8K MPTPR_PTP_DIV8 /* setting for 2 banks */
|
|
||||||
#define CFG_MPTPR_1BK_8K MPTPR_PTP_DIV16 /* setting for 1 bank */
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* MAMR settings for SDRAM
|
* MAMR settings for SDRAM
|
||||||
|
|||||||
@ -114,15 +114,10 @@
|
|||||||
#define CONFIG_AUTOBOOT_STOP_STR " "
|
#define CONFIG_AUTOBOOT_STOP_STR " "
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* These are "locally administered ethernet addresses" generated by
|
* After booting the board for the first time, new ethernet addresses
|
||||||
* ./tools/gen_eth_addr
|
* should be generated and assigned to the environment variables
|
||||||
*
|
* "ethaddr" and "eth1addr". This is normally done during production.
|
||||||
* After booting the board for the first time, new addresses should be
|
|
||||||
* generated and assigned to the environment variables "ethaddr" and
|
|
||||||
* "eth1addr".
|
|
||||||
*/
|
*/
|
||||||
#define CONFIG_ETHADDR 6a:87:71:14:cd:cb
|
|
||||||
#define CONFIG_ETH1ADDR ca:f8:15:e6:3e:e6
|
|
||||||
#define CONFIG_OVERWRITE_ETHADDR_ONCE 1
|
#define CONFIG_OVERWRITE_ETHADDR_ONCE 1
|
||||||
#define CONFIG_NET_MULTI 1
|
#define CONFIG_NET_MULTI 1
|
||||||
|
|
||||||
|
|||||||
@ -123,6 +123,8 @@
|
|||||||
#define CONFIG_USB_STORAGE 1
|
#define CONFIG_USB_STORAGE 1
|
||||||
#define CONFIG_DOS_PARTITION 1
|
#define CONFIG_DOS_PARTITION 1
|
||||||
|
|
||||||
|
#include <asm/arch/pxa-regs.h> /* for OHCI_REGS_BASE */
|
||||||
|
|
||||||
#undef CFG_USB_OHCI_BOARD_INIT
|
#undef CFG_USB_OHCI_BOARD_INIT
|
||||||
#define CFG_USB_OHCI_CPU_INIT 1
|
#define CFG_USB_OHCI_CPU_INIT 1
|
||||||
#define CFG_USB_OHCI_REGS_BASE OHCI_REGS_BASE
|
#define CFG_USB_OHCI_REGS_BASE OHCI_REGS_BASE
|
||||||
|
|||||||
@ -42,6 +42,7 @@
|
|||||||
#endif
|
#endif
|
||||||
#define CONFIG_MMC 1
|
#define CONFIG_MMC 1
|
||||||
#define BOARD_LATE_INIT 1
|
#define BOARD_LATE_INIT 1
|
||||||
|
#define CONFIG_DOS_PARTITION
|
||||||
|
|
||||||
#undef CONFIG_USE_IRQ /* we don't need IRQ/FIQ stuff */
|
#undef CONFIG_USE_IRQ /* we don't need IRQ/FIQ stuff */
|
||||||
|
|
||||||
|
|||||||
@ -163,9 +163,9 @@
|
|||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Clock configuration: SYS_XTALIN = 25MHz
|
* Clock configuration: SYS_XTALIN = 33MHz
|
||||||
*/
|
*/
|
||||||
#define CFG_MPC5XXX_CLKIN 25000000
|
#define CFG_MPC5XXX_CLKIN 33000000
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -211,7 +211,7 @@
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define CFG_MONITOR_LEN (256 << 10) /* 256 kB for Monitor */
|
#define CFG_MONITOR_LEN (256 << 10) /* 256 kB for Monitor */
|
||||||
#define CFG_MALLOC_LEN (128 << 10) /* 128 kB for malloc() */
|
#define CFG_MALLOC_LEN (1024 << 10) /* 1 MiB for malloc() */
|
||||||
#define CFG_BOOTMAPSZ (8 << 20) /* initial mem map for Linux */
|
#define CFG_BOOTMAPSZ (8 << 20) /* initial mem map for Linux */
|
||||||
|
|
||||||
|
|
||||||
@ -221,7 +221,7 @@
|
|||||||
/* Boot Chipselect */
|
/* Boot Chipselect */
|
||||||
#define CFG_BOOTCS_START CFG_FLASH_BASE
|
#define CFG_BOOTCS_START CFG_FLASH_BASE
|
||||||
#define CFG_BOOTCS_SIZE CFG_FLASH_SIZE
|
#define CFG_BOOTCS_SIZE CFG_FLASH_SIZE
|
||||||
#define CFG_BOOTCS_CFG 0x03035D00
|
#define CFG_BOOTCS_CFG 0x00045D00
|
||||||
|
|
||||||
/* Flash memory addressing */
|
/* Flash memory addressing */
|
||||||
#define CFG_CS0_START CFG_FLASH_BASE
|
#define CFG_CS0_START CFG_FLASH_BASE
|
||||||
@ -251,11 +251,11 @@
|
|||||||
/*
|
/*
|
||||||
* SDRAM configuration
|
* SDRAM configuration
|
||||||
*/
|
*/
|
||||||
/* 2 x MT48LC16M16A2BG-75 IT:D, CASL 2, 32 bit data bus */
|
/* 2 x MT48LC16M16A2BG-75 IT:D, CASL 3, 32 bit data bus */
|
||||||
#define SDRAM_CONFIG1 0x52222600
|
#define SDRAM_CONFIG1 0x62322900
|
||||||
#define SDRAM_CONFIG2 0x88b70000
|
#define SDRAM_CONFIG2 0x88c70000
|
||||||
#define SDRAM_CONTROL 0x50570000
|
#define SDRAM_CONTROL 0x504f0000
|
||||||
#define SDRAM_MODE 0x008d0000
|
#define SDRAM_MODE 0x00cd0000
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -267,7 +267,7 @@
|
|||||||
#define CFG_FLASH_SIZE 0x01000000
|
#define CFG_FLASH_SIZE 0x01000000
|
||||||
#define CFG_MAX_FLASH_BANKS 1 /* max num of memory banks */
|
#define CFG_MAX_FLASH_BANKS 1 /* max num of memory banks */
|
||||||
#define CFG_FLASH_BANKS_LIST { CFG_FLASH_BASE }
|
#define CFG_FLASH_BANKS_LIST { CFG_FLASH_BASE }
|
||||||
#define CFG_MAX_FLASH_SECT 256 /* max num of sects on one chip */
|
#define CFG_MAX_FLASH_SECT 128 /* max num of sects on one chip */
|
||||||
#define CONFIG_FLASH_16BIT /* Flash is 16-bit */
|
#define CONFIG_FLASH_16BIT /* Flash is 16-bit */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -277,8 +277,8 @@
|
|||||||
#define MTDIDS_DEFAULT "nor0=motionpro-0"
|
#define MTDIDS_DEFAULT "nor0=motionpro-0"
|
||||||
#define MTDPARTS_DEFAULT "mtdparts=motionpro-0:" \
|
#define MTDPARTS_DEFAULT "mtdparts=motionpro-0:" \
|
||||||
"13m(fs),2m(kernel),256k(uboot)," \
|
"13m(fs),2m(kernel),256k(uboot)," \
|
||||||
"64k(env),64k(redund_env),64k(dtb)," \
|
"128k(env),128k(redund_env)," \
|
||||||
"-(user_data)"
|
"128k(dtb),-(user_data)"
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* IDE/ATA configuration
|
* IDE/ATA configuration
|
||||||
@ -356,7 +356,7 @@ extern void __led_set(led_id_t id, int state);
|
|||||||
/* This has to be a multiple of the Flash sector size */
|
/* This has to be a multiple of the Flash sector size */
|
||||||
#define CFG_ENV_ADDR (CFG_MONITOR_BASE + CFG_MONITOR_LEN)
|
#define CFG_ENV_ADDR (CFG_MONITOR_BASE + CFG_MONITOR_LEN)
|
||||||
#define CFG_ENV_SIZE 0x1000
|
#define CFG_ENV_SIZE 0x1000
|
||||||
#define CFG_ENV_SECT_SIZE 0x10000
|
#define CFG_ENV_SECT_SIZE 0x20000
|
||||||
|
|
||||||
/* Configuration of redundant environment */
|
/* Configuration of redundant environment */
|
||||||
#define CFG_ENV_ADDR_REDUND (CFG_ENV_ADDR + CFG_ENV_SECT_SIZE)
|
#define CFG_ENV_ADDR_REDUND (CFG_ENV_ADDR + CFG_ENV_SECT_SIZE)
|
||||||
@ -394,7 +394,8 @@ extern void __led_set(led_id_t id, int state);
|
|||||||
#define CFG_BARGSIZE CFG_CBSIZE /* Boot Argument Buffer Size */
|
#define CFG_BARGSIZE CFG_CBSIZE /* Boot Argument Buffer Size */
|
||||||
|
|
||||||
#define CFG_MEMTEST_START 0x00100000 /* memtest works on */
|
#define CFG_MEMTEST_START 0x00100000 /* memtest works on */
|
||||||
#define CFG_MEMTEST_END 0x03f00000 /* 1 ... 64 MiB in DRAM */
|
#define CFG_MEMTEST_END 0x03e00000 /* 1 ... 62 MiB in DRAM */
|
||||||
|
#define CFG_ALT_MEMTEST
|
||||||
|
|
||||||
#define CFG_LOAD_ADDR 0x200000 /* default kernel load addr */
|
#define CFG_LOAD_ADDR 0x200000 /* default kernel load addr */
|
||||||
|
|
||||||
|
|||||||
@ -38,10 +38,11 @@
|
|||||||
#include <asm/arch/pxa-regs.h>
|
#include <asm/arch/pxa-regs.h>
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* If we are developing, we might want to start armboot from ram
|
* If we are developing, we might want to start U-Boot from RAM
|
||||||
* so we MUST NOT initialize critical regs like mem-timing ...
|
* so we MUST NOT initialize critical regs like mem-timing ...
|
||||||
*/
|
*/
|
||||||
#define CONFIG_INIT_CRITICAL /* undef for developing */
|
#undef CONFIG_SKIP_LOWLEVEL_INIT /* define for developing */
|
||||||
|
#undef CONFIG_SKIP_RELOCATE_UBOOT /* define for developing */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* define the following to enable debug blinks. A debug blink function
|
* define the following to enable debug blinks. A debug blink function
|
||||||
@ -62,6 +63,7 @@
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define CONFIG_MMC 1
|
#define CONFIG_MMC 1
|
||||||
|
#define CONFIG_DOS_PARTITION 1
|
||||||
#define BOARD_LATE_INIT 1
|
#define BOARD_LATE_INIT 1
|
||||||
|
|
||||||
#undef CONFIG_USE_IRQ /* we don't need IRQ/FIQ stuff */
|
#undef CONFIG_USE_IRQ /* we don't need IRQ/FIQ stuff */
|
||||||
@ -121,7 +123,6 @@
|
|||||||
#define CONFIG_CMD_FAT
|
#define CONFIG_CMD_FAT
|
||||||
#define CONFIG_CMD_DHCP
|
#define CONFIG_CMD_DHCP
|
||||||
|
|
||||||
|
|
||||||
#define CONFIG_BOOTDELAY 3
|
#define CONFIG_BOOTDELAY 3
|
||||||
#define CONFIG_BOOTCOMMAND "bootm 40000"
|
#define CONFIG_BOOTCOMMAND "bootm 40000"
|
||||||
#define CONFIG_BOOTARGS "root=/dev/mtdblock2 rootfstype=cramfs console=ttyS0,115200"
|
#define CONFIG_BOOTARGS "root=/dev/mtdblock2 rootfstype=cramfs console=ttyS0,115200"
|
||||||
@ -332,7 +333,7 @@
|
|||||||
#define CFG_FLASH_CFI_DRIVER 1
|
#define CFG_FLASH_CFI_DRIVER 1
|
||||||
|
|
||||||
#define CFG_MONITOR_BASE 0
|
#define CFG_MONITOR_BASE 0
|
||||||
#define CFG_MONITOR_LEN 0x40000
|
#define CFG_MONITOR_LEN PHYS_FLASH_SECT_SIZE
|
||||||
|
|
||||||
#define CFG_MAX_FLASH_BANKS 1 /* max number of memory banks */
|
#define CFG_MAX_FLASH_BANKS 1 /* max number of memory banks */
|
||||||
#define CFG_MAX_FLASH_SECT 128 /* max number of sectors on one chip */
|
#define CFG_MAX_FLASH_SECT 128 /* max number of sectors on one chip */
|
||||||
@ -347,7 +348,7 @@
|
|||||||
#define CFG_ENV_IS_IN_FLASH 1
|
#define CFG_ENV_IS_IN_FLASH 1
|
||||||
/* Addr of Environment Sector */
|
/* Addr of Environment Sector */
|
||||||
#define CFG_ENV_ADDR (PHYS_FLASH_1 + PHYS_FLASH_SIZE - 0x40000)
|
#define CFG_ENV_ADDR (PHYS_FLASH_1 + PHYS_FLASH_SIZE - 0x40000)
|
||||||
#define CFG_ENV_SIZE 0x40000 /* Total Size of Environment Sector */
|
#define CFG_ENV_SIZE PHYS_FLASH_SECT_SIZE /* Total Size of Environment Sector */
|
||||||
#define CFG_ENV_SECT_SIZE 0x40000
|
#define CFG_ENV_SECT_SIZE (PHYS_FLASH_SECT_SIZE / 16)
|
||||||
|
|
||||||
#endif /* __CONFIG_H */
|
#endif /* __CONFIG_H */
|
||||||
|
|||||||
@ -32,6 +32,7 @@
|
|||||||
#define CONFIG_PXA250 1 /* This is an PXA250 CPU */
|
#define CONFIG_PXA250 1 /* This is an PXA250 CPU */
|
||||||
#define CONFIG_XSENGINE 1
|
#define CONFIG_XSENGINE 1
|
||||||
#define CONFIG_MMC 1
|
#define CONFIG_MMC 1
|
||||||
|
#define CONFIG_DOS_PARTITION 1
|
||||||
#define BOARD_POST_INIT 1
|
#define BOARD_POST_INIT 1
|
||||||
#undef CONFIG_USE_IRQ /* we don't need IRQ/FIQ stuff */
|
#undef CONFIG_USE_IRQ /* we don't need IRQ/FIQ stuff */
|
||||||
#define CFG_HZ 3686400 /* incrementer freq: 3.6864 MHz */
|
#define CFG_HZ 3686400 /* incrementer freq: 3.6864 MHz */
|
||||||
|
|||||||
@ -38,9 +38,9 @@ typedef struct block_dev_desc {
|
|||||||
#endif
|
#endif
|
||||||
lbaint_t lba; /* number of blocks */
|
lbaint_t lba; /* number of blocks */
|
||||||
unsigned long blksz; /* block size */
|
unsigned long blksz; /* block size */
|
||||||
unsigned char vendor [40+1]; /* IDE model, SCSI Vendor */
|
char vendor [40+1]; /* IDE model, SCSI Vendor */
|
||||||
unsigned char product[20+1]; /* IDE Serial no, SCSI product */
|
char product[20+1]; /* IDE Serial no, SCSI product */
|
||||||
unsigned char revision[8+1]; /* firmware revision */
|
char revision[8+1]; /* firmware revision */
|
||||||
unsigned long (*block_read)(int dev,
|
unsigned long (*block_read)(int dev,
|
||||||
unsigned long start,
|
unsigned long start,
|
||||||
lbaint_t blkcnt,
|
lbaint_t blkcnt,
|
||||||
|
|||||||
@ -26,6 +26,7 @@
|
|||||||
#include <image.h>
|
#include <image.h>
|
||||||
#include <zlib.h>
|
#include <zlib.h>
|
||||||
#include <bzlib.h>
|
#include <bzlib.h>
|
||||||
|
#include <watchdog.h>
|
||||||
#include <environment.h>
|
#include <environment.h>
|
||||||
#include <asm/byteorder.h>
|
#include <asm/byteorder.h>
|
||||||
|
|
||||||
@ -36,6 +37,8 @@ DECLARE_GLOBAL_DATA_PTR;
|
|||||||
#define LINUX_MAX_ENVS 256
|
#define LINUX_MAX_ENVS 256
|
||||||
#define LINUX_MAX_ARGS 256
|
#define LINUX_MAX_ARGS 256
|
||||||
|
|
||||||
|
#define CHUNKSZ (64 * 1024)
|
||||||
|
|
||||||
#ifdef CONFIG_SHOW_BOOT_PROGRESS
|
#ifdef CONFIG_SHOW_BOOT_PROGRESS
|
||||||
# include <status_led.h>
|
# include <status_led.h>
|
||||||
# define SHOW_BOOT_PROGRESS(arg) show_boot_progress(arg)
|
# define SHOW_BOOT_PROGRESS(arg) show_boot_progress(arg)
|
||||||
|
|||||||
@ -22,3 +22,28 @@
|
|||||||
#
|
#
|
||||||
|
|
||||||
PLATFORM_CPPFLAGS += -DCONFIG_MIPS -D__MIPS__
|
PLATFORM_CPPFLAGS += -DCONFIG_MIPS -D__MIPS__
|
||||||
|
|
||||||
|
#
|
||||||
|
# From Linux arch/mips/Makefile
|
||||||
|
#
|
||||||
|
# GCC uses -G 0 -mabicalls -fpic as default. We don't want PIC in the kernel
|
||||||
|
# code since it only slows down the whole thing. At some point we might make
|
||||||
|
# use of global pointer optimizations but their use of $28 conflicts with
|
||||||
|
# the current pointer optimization.
|
||||||
|
#
|
||||||
|
# The DECStation requires an ECOFF kernel for remote booting, other MIPS
|
||||||
|
# machines may also. Since BFD is incredibly buggy with respect to
|
||||||
|
# crossformat linking we rely on the elf2ecoff tool for format conversion.
|
||||||
|
#
|
||||||
|
# cflags-y += -G 0 -mno-abicalls -fno-pic -pipe
|
||||||
|
# cflags-y += -msoft-float
|
||||||
|
# LDFLAGS_vmlinux += -G 0 -static -n -nostdlib
|
||||||
|
# MODFLAGS += -mlong-calls
|
||||||
|
#
|
||||||
|
|
||||||
|
#
|
||||||
|
# Meanwhile, U-Boot rely on PIC. We add proper switches explicitly.
|
||||||
|
#
|
||||||
|
PLATFORM_CPPFLAGS += -G 0 -mabicalls -fpic -pipe
|
||||||
|
PLATFORM_CPPFLAGS += -msoft-float
|
||||||
|
PLATFORM_LDFLAGS += -G 0 -static -n -nostdlib
|
||||||
|
|||||||
11
net/bootp.c
11
net/bootp.c
@ -850,9 +850,9 @@ static void DhcpSendRequestPkt(Bootp_t *bp_offer)
|
|||||||
bp->bp_hlen = HWL_ETHER;
|
bp->bp_hlen = HWL_ETHER;
|
||||||
bp->bp_hops = 0;
|
bp->bp_hops = 0;
|
||||||
bp->bp_secs = htons(get_timer(0) / CFG_HZ);
|
bp->bp_secs = htons(get_timer(0) / CFG_HZ);
|
||||||
NetCopyIP(&bp->bp_ciaddr, &bp_offer->bp_ciaddr); /* both in network byte order */
|
/* Do not set the client IP, your IP, or server IP yet, since it hasn't been ACK'ed by
|
||||||
NetCopyIP(&bp->bp_yiaddr, &bp_offer->bp_yiaddr);
|
* the server yet */
|
||||||
NetCopyIP(&bp->bp_siaddr, &bp_offer->bp_siaddr);
|
|
||||||
/*
|
/*
|
||||||
* RFC3046 requires Relay Agents to discard packets with
|
* RFC3046 requires Relay Agents to discard packets with
|
||||||
* nonzero and offered giaddr
|
* nonzero and offered giaddr
|
||||||
@ -870,7 +870,9 @@ static void DhcpSendRequestPkt(Bootp_t *bp_offer)
|
|||||||
/*
|
/*
|
||||||
* Copy options from OFFER packet if present
|
* Copy options from OFFER packet if present
|
||||||
*/
|
*/
|
||||||
NetCopyIP(&OfferedIP, &bp->bp_yiaddr);
|
|
||||||
|
/* Copy offered IP into the parameters request list */
|
||||||
|
NetCopyIP(&OfferedIP, &bp_offer->bp_yiaddr);
|
||||||
extlen = DhcpExtended((u8 *)bp->bp_vend, DHCP_REQUEST, NetDHCPServerIP, OfferedIP);
|
extlen = DhcpExtended((u8 *)bp->bp_vend, DHCP_REQUEST, NetDHCPServerIP, OfferedIP);
|
||||||
|
|
||||||
pktlen = BOOTP_SIZE - sizeof(bp->bp_vend) + extlen;
|
pktlen = BOOTP_SIZE - sizeof(bp->bp_vend) + extlen;
|
||||||
@ -980,3 +982,4 @@ void DhcpRequest(void)
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user