Commit graph

7205 commits

Author SHA1 Message Date
Andy Fleming
9e5be8214b tsec: Fix a bug in soft-resetting
SOFT_RESET must be asserted for at least 3 TX clocks.  Usually, that's about 30
clock cycles, so it's been mostly working.  But we had no guarantee, and at
slower bitrates, it's just over a microsecond (over 1000 clock cycles).  This
enforces a 2 microsecond gap between assertion and deassertion.

Signed-off-by: Andy Fleming <afleming@freescale.com>
Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
2009-02-09 22:52:32 -08:00
Simon Munton
09fcc8b5d8 Fix 100Mbs ethernet operation on sh7763 based boards
100Mbs ethernet does not work on sh7763 chips due to the wrong value being
used in the GECMR register. Following diff fixes the problem

Signed-off-by: Simon Munton	<simon@nidoran.m5data.com>
Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
2009-02-09 22:52:11 -08:00
ksi@koi8.net
2bc2a8f6dc Fix MPC8260 with ethernet on SCC
This fixes MPC8260 compilation with ethernet on SCC. Probably was a
typo or something...

Signed-off-by: Sergey Kubushyn <ksi@koi8.net>
Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
2009-02-09 22:47:06 -08:00
Heiko Schocher
ae5d8f613c 82xx serial, smc: Coding-Style cleanup serial SMC driver
Signed-off-by: Heiko Schocher <hs@denx.de>
2009-02-10 00:55:12 +01:00
Heiko Schocher
c92fac91a0 82xx serial, smc: add configurable SMC Rx buffer len
This patch adds the configuration option CONFIG_SYS_SMC_RXBUFLEN.
With this option it is possible to allow the receive
buffer for the SMC on 82xx to be greater then 1. In case
CONFIG_SYS_SMC_RXBUFLEN == 1 this driver works as the
old version.

When defining CONFIG_SYS_SMC_RXBUFLEN also
CONFIG_SYS_MAXIDLE must be defined to setup the maximum
idle timeout for the SMC.

Signed-off-by: Heiko Schocher <hs@denx.de>
2009-02-10 00:54:42 +01:00
Kumar Gala
bced7ccefa ppc: Fix roll over bug in flush_cache()
If we call flush_cache(0xfffff000, 0x1000) it would never
terminate the loop since end = 0xffffffff and we'd roll over
our counter from 0xfffffe0 to 0 (assuming a 32-byte cache line)

Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
2009-02-10 00:47:18 +01:00
Kumar Gala
87c9063963 ppc: Move CONFIG_MAX_MEM_MAPPED to common config.h
Moved CONFIG_MAX_MEM_MAPPED to the asm/config.h so its kept consistent
between the two current users (lib_ppc/board.c, 44x SPD DDR2).

Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
Acked-by: Stefan Roese <sr@denx.de>
2009-02-10 00:44:13 +01:00
Kumar Gala
47d41cc3a1 Add an architecture specific config.h for common defines
We have common defines that we duplicate in various ways.  Having an
arch specific config.h gives us a common location for those defines.

Eventually we should be able to replace this when we have proper
Kconfig support.

Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
2009-02-10 00:43:54 +01:00
Becky Bruce
4c78d4a6c0 mpc8641hpcn: Change PCI MEM pci bus address
Now that the rest of u-boot can support it, change the PCI bus
address of the PCI MEM regions from 0x80000000 to 0xc0000000,
and use the same bus address for both PCI1 and PCI2.  This will
maximize the amount of PCI address space left over to map RAM
on systems with large amounts of memory.

Signed-off-by: Becky Bruce <beckyb@kernel.crashing.org>
2009-02-10 00:31:07 +01:00
Becky Bruce
1785dbeed4 drivers/block/ahci: Fix pci mapping bug
The code assumes that the pci bus address and the virtual
address used to access a region are the same, but they might
not be.  Fix this assumption.

Signed-off-by: Becky Bruce <beckyb@kernel.crashing.org>
2009-02-10 00:31:05 +01:00
Becky Bruce
d591a80e74 MPC8641HPCN: Enable CONFIG_ADDR_MAP
Signed-off-by: Becky Bruce <beckyb@kernel.crashing.org>
2009-02-10 00:31:02 +01:00
Becky Bruce
49f46f3bf0 mpc8641hpcn: Clean up PCI mapping concepts
Clean up PCI mapping concepts in the 8641 config - rename _BASE
to _BUS, as it's actually a PCI bus address, separate virtual
and physical addresses into _VIRT and _PHYS, and use each
appopriately.

Signed-off-by: Becky Bruce <beckyb@kernel.crashing.org>
2009-02-10 00:30:17 +01:00
Becky Bruce
c9315e6b4f mpc86xx: Add support to populate addr map based on BATs
If CONFIG_ADDR_MAP is enabled, update the address map
whenever we write a bat.

Signed-off-by: Becky Bruce <beckyb@kernel.crashing.org>
2009-02-10 00:29:49 +01:00
Becky Bruce
d35ae5a938 powerpc: Move duplicated BAT defines to mmu.h
The BAT fields are architected; there's no need for these to be in
cpu-specific files.  Drop the duplication and move these to
include/asm-ppc/mmu.h.  Also, remove the BL_xxx defines that were only
used by the alaska board, and switch to using the BATU_BL_xxx defines
used by all the other boards.  The BL_ defines previously in use
had to be shifted into the proper position for use, which was inefficient.

Signed-off-by: Becky Bruce <beckyb@kernel.crashing.org>
2009-02-10 00:27:40 +01:00
Becky Bruce
6e61fae4d3 drivers/pci: Create pci_map_bar function
It is no longer always true that the pci bus address can be
used as the virtual address for pci accesses.  pci_map_bar()
is created to return the virtual address for a pci region.

Signed-off-by: Becky Bruce <beckyb@kernel.crashing.org>
2009-02-10 00:27:13 +01:00
Becky Bruce
2ecca34017 mpc8641hpcn: Set up outbound pci windows before inbound
Because the inbound pci windows are mapped generously, set up
the more specific outbound windows first.  This way, when we
search the pci regions for something, we will hit on the more
specific region.  This can actually be a problem on systems
with large amounts of RAM.

Signed-off-by: Becky Bruce <beckyb@kernel.crashing.org>
2009-02-10 00:26:45 +01:00
Becky Bruce
b81b773ead mpc8641hpcn: Use physical address in flash banks defintion
If the VA and PA of the flash aren't the same, the banks list
should be initialized to hold the physical address.  Correct this.

Signed-off-by: Becky Bruce <beckyb@kernel.crashing.org>
2009-02-10 00:26:03 +01:00
Wolfgang Denk
f8306cb94f Merge branch 'master' of ssh://gemini/home/wd/git/u-boot/master 2009-02-07 23:51:52 +01:00
Kumar Gala
2d43e873a2 pci: give preference to non-PCI_REGION_SYS_MEMORY regions when matching
When we search for an address match in pci_hose_{phys_to_bus,bus_to_phys}
we should give preference to memory regions that aren't system memory.

Its possible that we have over mapped system memory in the regions and
we want to avoid depending on the order of the regions.

Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
2009-02-07 23:50:08 +01:00
Kumar Gala
ff4e66e93c pci: Rename PCI_REGION_MEMORY to PCI_REGION_SYS_MEMORY for clarity
The PCI_REGION_MEMORY and PCI_REGION_MEM are a bit to similar and
can be confusing when reading the code.

Rename PCI_REGION_MEMORY to PCI_REGION_SYS_MEMORY to clarify its used
for system memory mapping purposes.

Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
2009-02-07 23:50:04 +01:00
Wolfgang Denk
64ace0d1e5 Merge branch 'master' of git://git.denx.de/u-boot-nand-flash 2009-02-07 23:37:10 +01:00
Wolfgang Denk
0cfa6a9de6 Merge branch 'master' of git://git.denx.de/u-boot-coldfire 2009-02-07 23:24:38 +01:00
Wolfgang Denk
045639397d Merge branch 'master' of git://git.denx.de/u-boot-blackfin 2009-02-07 22:53:45 +01:00
Wolfgang Denk
0ab5410a40 Merge branch 'master' of git://git.denx.de/u-boot-cfi-flash 2009-02-07 22:17:44 +01:00
Wolfgang Denk
e70ef33b6b Merge branch 'master' of git://git.denx.de/u-boot-ppc4xx 2009-02-07 22:17:19 +01:00
Wolfgang Denk
1b33a62bf9 Merge branch 'master' of git://git.denx.de/u-boot-mpc5xxx 2009-02-07 22:08:53 +01:00
Peter Tyser
8da601280a NAND: Add timeout for reset command
Without the timeout present an infinite loop can occur if the
NAND device is broken or not present.

Signed-off-by: Peter Tyser <ptyser@xes-inc.com>
Signed-off-by: Scott Wood <scottwood@freescale.com>
2009-02-06 17:29:38 -06:00
Peter Tyser
10dc6a9bef NAND: Silence warning when CONFIG_SYS_NAND_QUIET_TEST
Commit cfa460adfd removed support
for disabling the "No NAND device found!!!" warning when
CONFIG_SYS_NAND_QUIET_TEST was defined.  This re-adds support
for silencing the warning.

Signed-off-by: Peter Tyser <ptyser@xes-inc.com>
Signed-off-by: Scott Wood <scottwood@freescale.com>
2009-02-06 17:29:29 -06:00
Valeriy Glushkov
ad09ab2e3a NAND: Fixed invalid pointers to static relocated chip names
Dear Wolfgang,

You are right, the patch was ugly.
The new one seems to be better.

Signed-off-by: Valeriy Glushkov <gvv@lstec.com>
Signed-off-by: Scott Wood <scottwood@freescale.com>
2009-02-06 17:28:31 -06:00
derek@siconix.com
5a9427dc9b env_nand: fix env memory release
This fixes a bug that tmp environment memory not being released.

Signed-off-by: Derek Ou <dou@siconix.com>
Signed-off-by: Scott Wood <scottwood@freescale.com>
2009-02-06 16:06:53 -06:00
Richard Retanubun
6989e4f546 Coldfire: M527x: Add missing GPIO register address defines
Add missing GPIO registers address definition for Coldfire M5271.

Signed-off-by: Richard Retanubun <RichardRetanubun@RuggedCom.com>
2009-02-06 14:54:48 -07:00
Richard Retanubun
c4ff77f5e6 Coldfire: mcfmii: Allow non-autonegotiating PHYs to use mii command
Modified mii_init to support boards with PHYs that are not set to
autonegotiate, but still want to use u-boot's mii commands to probe
the smi bus. Such PHYs will not set the Autonegotiate-done bit.

Signed-off-by: Richard Retanubun <RichardRetanubun@RuggedCom.com>
2009-02-06 14:54:47 -07:00
Richard Retanubun
92d3e6e0ff Coldfire: Applied baudrate formula of serial_init to serial_setbrg
Applied the patch for baudrate divider value truncation for
serial_init to serial_setbrg as well.

Signed-off-by: Richard Retanubun <RichardRetanubun@RuggedCom.com>
2009-02-06 14:54:47 -07:00
Richard Retanubun
8706ef378f Coldfire: M5271EVB: Board header update (dependencies)
Cleanup for M5271EVB:
Added clarification on the use of CONFIG_SYS_CLOCK.
Modified to use u-boot's HUSH parser.
Cleanup on environment settings.
Removed compiler warning by defining CONFIG_SYS_CS0_*

Dependencies:
Added the use of CONFIG_SYS_MCF_SYNCR for clock multiplier.
This depends on a patch to include/asm-m68k/m5271.h
that defines the multiplier and divider ratios.

Removed the definition of CONFIG_SYS_FECI2C.
This depends on a patch that removes the use of it in
cpu/mcf52x2/cpu_init.c

Signed-off-by: Richard Retanubun <RichardRetanubun@RuggedCom.com>
2009-02-06 14:54:47 -07:00
Richard Retanubun
e0db344fab Coldfire: M5271: Allow board header file to specify clock multiplier
M5271 dynamic clock multiplier. It is currently fixed at 100MHz.

Allow the board header file to set their own multiplier and divider.
Added the #define for the multiplier and divider to the cpu header file.

Signed-off-by: Richard Retanubun <RichardRetanubun@RuggedCom.com>
2009-02-06 14:54:47 -07:00
Richard Retanubun
d1ef25dd81 Coldfire: M5271EVB: Remove usage of CONFIG_SYS_FECI2C
Discontinue the use of CONFIG_SYS_FECI2C (only used by M5271EVB).
Use read-modify-write to activate the FEC pins without disabling I2C.

Signed-off-by: Richard Retanubun <RichardRetanubun@RuggedCom.com>
2009-02-06 14:54:47 -07:00
Richard Retanubun
ee73cc59ab Coldfire: cmd_bdinfo cleanup
CONFIG_M68K bdinfo cleanup:

Fixed compiler warning about baudrate printing.
format '%d' expects type 'int', but argument 2 has type 'long unsigned int'.

Added printing of "cpufreq"

Signed-off-by: Richard Retanubun <RichardRetanubun@RuggedCom.com>
2009-02-06 14:54:46 -07:00
Richard Retanubun
4ffc39050a Coldfire: Fix half-baud UART by adding M5271 to Coldfire v2 core list
Added the CONFIG_M5271 to the list of Coldfire V2 processor. This
was causing the bus clock (not CPU clock) to be declared twice as
fast as it actually is. This causes UARTS to operate at half the
specified baudrate.

Signed-off-by: Richard Retanubun <RichardRetanubun@RuggedCom.com>
2009-02-06 14:54:46 -07:00
Dirk Eibach
59d1bda7f9 ppc4xx: Make PCIE support selectable
On some platforms PCIE support is not required, but would be included
because the cpu supports it. To reduce fooprint it is now configurable
via CONFIG_PCI_DISABLE_PCIE.

Signed-off-by: Dirk Eibach <eibach@gdsys.de>
Signed-off-by: Stefan Roese <sr@denx.de>
2009-02-06 11:06:19 +01:00
Matthias Fuchs
b129eff5ed ppc4xx: Only fixup opb attached UARTs
This patch updates the fdt UART clock fixup code to
only touch CPU internal UARTs on 4xx systems.
Only these UARTs are definitely clocked by gd->uart_clk.

Signed-off-by: Matthias Fuchs <matthias.fuchs@esd-electronics.com>
Signed-off-by: Stefan Roese <sr@denx.de>
2009-02-06 10:53:15 +01:00
Mike Frysinger
4b7e3d045c Blackfin: move default boot SPI CS to common code
Move the default SPI CS that we boot from into common code so that it can
be used in other SPI drivers and environment settings.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2009-02-05 21:25:36 -05:00
Mike Frysinger
f790ef6ff1 Blackfin: dynamically update UART speed when initializing
Previously, booting over the UART required the baud rate to be known ahead
of time.  Using a bit of tricky simple math, we can calculate the new board
rate based on the old divisors.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Signed-off-by: Robin Getz <rgetz@blackfin.uclinux.org>
2009-02-05 21:25:35 -05:00
Mike Frysinger
97f265f14f Blackfin: add support for fast SPI reads with Boot ROM
Newer Blackfin boot roms support using the fast SPI read command rather than
just the slow one.  If the functionality is available, then use it.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2009-02-05 21:25:35 -05:00
Mike Frysinger
67619982bf Blackfin: check for reserved settings in DDR MMRs
Some bits of the DDR MMRs should not be set.  If they do, bad things may
happen (like random failures or hardware destruction).

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2009-02-05 21:25:35 -05:00
Mike Frysinger
622a8dc095 Blackfin: set default voltage levels for BF538/BF539 parts
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2009-02-05 21:25:34 -05:00
Mike Frysinger
09dc6b0bbd Blackfin: use on-chip syscontrol() rom function when available
Newer Blackfin's have an on-chip rom with a syscontrol() function that needs
to be used to properly program the memory and voltage settings as it will
include (possibly critical) factory tested bias values.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2009-02-05 21:25:28 -05:00
Stefan Roese
e1fb6d0d52 cfi_flash: Fix typo in cfi_flash.c
Patch "flash/cfi_flash: Use virtual sector start address, not phys"
introduced a small typo and compilation warning for systems with CFI
legacy support (e.g. hcu4). This patch fixes it.

Signed-off-by: Stefan Roese <sr@denx.de>
2009-02-05 11:44:52 +01:00
Stefan Roese
28745db969 jedec_flash: Only use manufacturer defines from common flash.h
This patch removes the double defined manufacturer defines from
jedec_flash.c. Since the common defines in flash.h are 32bit
we now need the (16) cast. This patch also removes the compilation
warning (e.g. seen on hcu5):

./MAKEALL hcu5
Configuring for hcu5 board...
jedec_flash.c:219: warning: large integer implicitly truncated to unsigned type

Signed-off-by: Stefan Roese <sr@denx.de>
2009-02-05 11:27:58 +01:00
Stefan Roese
ec21d5cfcb cfi_flash: Silence compilation warning
Patch "flash/cfi_flash: Use virtual sector start address, not phys"
introduced a small compilation warning. This patch fixes it.

Signed-off-by: Stefan Roese <sr@denx.de>
2009-02-05 11:25:57 +01:00
Becky Bruce
09ce9921a7 flash/cfi_flash: Use virtual sector start address, not phys
include/flash.h was commented to say that the address in
flash_info->start was a physical address.  However, from u-boot's
point of view, and looking at most flash code, it makes more
sense for this to be a virtual address.  So I corrected the
comment to indicate that this was a virtual address.

The only flash driver that was actually treating the address
as physical was the mtd/cfi_flash driver.  However, this code
was using it inconsistently as it actually directly dereferenced
the "start" element, while it used map_physmem to get a
virtual address in other places.  I changed this driver so
that the code which initializes the info->start field calls
map_physmem to get a virtual address, eliminating the need for
further map_physmem calls.  The code is now consistent.

The *only* place a physical address should be used is when defining the
flash banks list that is used to initialize the flash_info struct,
usually found in the board config file.

Signed-off-by: Becky Bruce <beckyb@kernel.crashing.org>
Signed-off-by: Stefan Roese <sr@denx.de>
2009-02-05 11:20:05 +01:00