| Commit message (Collapse) | Author | Age | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch enables the hardware-fix for the PCI/DMA errata's 19+22 by
setting the FIXD bit in the SDR0_MFR register. Here a description of the
symptoms:
Problem Description
------------------------------
If a DMA is performed between memory and PCI with the DMA 1 Controller
using prefetch, and as a result uses a special purpose buffer selected by
the PCIXn Bridge Options 1 Register (PCIXn_BRDGOPT1[RBP7] - bits 31-29),
the first part of the transfer sequence is performed twice. The
PPC440SPe PCI Controller requests more data than was needed such that in
the case of enforce memory protection, a host CPU exception can occur.
No data is corrupted, because data transfer is stopped in the PCI
Controller. Prefetch enable is specified by setting DMA Configuration
Register (I2O0_DMAx_CFG[DXEPD] - bit 31) to 0.
Behavior that may be observed in a running system
---------------------------------------------------------------------------
1. DMA performance is decreased because of the double access on the PCI bus
interface.
2. If an illegal access to some address on the PCI bus is detected at the
system level, a machine check or similar system error may occur.
Workarounds Available
----------------------------------
1. Do not program prefetch. Note that a prefetch command cannot be programmed
without selecting a special purpose buffer.
2. To avoid crossing a physical boundary of the PCI slave device, add 512
bytes of address to the PCI address range.
This patch was originally provided by Pravin M. Bathija <pbathija@amcc.com>
from AMCC and slighly changed.
Signed-off-by: Pravin M. Bathija <pbathija@amcc.com>
Signed-off-by: Stefan Roese <sr@denx.de>
|
|
|
|
| |
Signed-off-by: Stefan Roese <sr@denx.de>
|
|
|
|
|
|
|
|
| |
This manual PCIe reset triggering solves the problem seen with the
Intel EPRO/1000 card, which was not detected (link not established)
upon power-up reset.
Signed-off-by: Stefan Roese <sr@denx.de>
|
|
|
|
|
|
|
|
| |
After an error in the AMCC 405EX users manual now correctly configure
IRQ2 (Kilauea)/IRQ0 (Makalu) as alternate 2 signal for external IRQ
usage.
Signed-off-by: Stefan Roese <sr@denx.de>
|
|
|
|
|
|
|
| |
As suggested by Senao, use a different EBC_PB0AP setup for 400MHz
operation.
Signed-off-by: Stefan Roese <sr@denx.de>
|
|
|
|
| |
Signed-off-by: Stefan Roese <sr@denx.de>
|
|
|
|
|
|
| |
Map 4k mem space for UTL registers for each port.
Signed-off-by: Stefan Roese <sr@denx.de>
|
|
|
|
|
|
| |
- Use generic GPIO configuration framework (CFG_4xx_GPIO_TABLE)
Signed-off-by: Stefan Roese <sr@denx.de>
|
|
|
|
|
|
|
|
| |
Till now the UTL registers on 405EX were not initialized but left with
their default values. This patch new initializes some of the UTL
registers on 405EX.
Signed-off-by: Stefan Roese <sr@denx.de>
|
|
|
|
|
|
|
|
|
|
|
| |
This patch adds changes needed for Makalu rev 1.1:
- Enable 2nd DDR2 bank resulting in 256MByte of SDRAM
- Enable 2nd ethernet port EMAC1
- Use generic GPIO configuration framework (CFG_4xx_GPIO_TABLE)
- Reset PCIe ports via GPIO upon bootup
Signed-off-by: Stefan Roese <sr@denx.de>
|
|
|
|
|
|
| |
Remove not needed pci_target_init() function.
Signed-off-by: Stefan Roese <sr@denx.de>
|
|
|
|
|
|
|
|
| |
- Rename CFG_440_GPIO_TABLE to CFG_4xx_GPIO_TABLE
- Cleanup of the 4xx GPIO functions
- Move some GPIO defines from the cpu headers ppc405.h/ppc440.h into gpio.h
Signed-off-by: Stefan Roese <sr@denx.de>
|
|
|
|
|
|
|
| |
This patch makes the AMCC Taihu a little more compatible to the other
AMCC eval boards.
Signed-off-by: Stefan Roese <sr@denx.de>
|
|
|
|
| |
Signed-off-by: Stefan Roese <sr@denx.de>
|
|
|
|
|
|
|
|
| |
This patch makes the sequoia board use the generic usb-ohci driver
instead of cpu/ppc4xx/usb_ohci.c.
Signed-off-by: Matthias Fuchs <matthias.fuchs@esd-electronics.com>
Signed-off-by: Stefan Roese <sr@denx.de>
|
|
|
|
|
|
|
|
|
|
| |
This patch disables the 44x d-cache on 'usb start' and
reenables it on 'usb stop'. This should be seen as a
temporary fix until the generic usb-ohci driver can
life with d-cache enabled.
Signed-off-by: Matthias Fuchs <matthias.fuchs@esd-electronics.com>
Signed-off-by: Stefan Roese <sr@denx.de>
|
|
|
|
|
|
|
|
| |
This patch removes some redundant code and decrements the end
address of cache flush and invalidate by 1.
Signed-off-by: Matthias Fuchs <matthias.fuchs@esd-electronics.com>
Signed-off-by: Stefan Roese <sr@denx.de>
|
|
|
|
| |
Signed-off-by: Stefan Roese <sr@denx.de>
|
|
|
|
|
|
|
|
|
|
|
| |
Most 4xx PPC capable of using an I2C bootrom for bootstrap setting
already print a line with the information which I2C bootrom is
used for bootstrap configuration. So we don't need this extra line
with "I2C boot EEPROM en-/dis-abled".
This patch also has a little code cleanup integrated.
Signed-off-by: Stefan Roese <sr@denx.de>
|
|
|
|
|
|
| |
Now not max 3 lines but 2 lines are printed per PCIe port.
Signed-off-by: Stefan Roese <sr@denx.de>
|
|
|
|
|
|
|
| |
This patch adds NAND booting support for the AMCC 405EX(r) eval boards.
Again, only one image supports both targets.
Signed-off-by: Stefan Roese <sr@denx.de>
|
|
|
|
|
|
|
| |
Since the cache handling functions were moved from start.S into cache.S
the acadia NAND booting Makfile needs to be adapted accordingly.
Signed-off-by: Stefan Roese <sr@denx.de>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch adds the CONFIG_4xx_DCACHE options to some SDRAM init files
and to the Sequoia TLB init code. Now the cache can be enabled on 44x
boards by defining CONFIG_4xx_DCACHE in the board config file. This
option will disappear, when more boards use is successfully and no
more known problems exist.
This is tested successfully on Sequoia and Katmai. The only problem that
needs to be fixed is, that USB is not working on Sequoia right now, since
it will need some cache handling code too, similar to the 4xx EMAC driver.
Signed-off-by: Stefan Roese <sr@denx.de>
|
|
|
|
|
|
|
|
| |
Now with caches enabled (i- and d-cache) on 44x, we need a chance to
disable the cache for the CPU POST tests, since these tests consist
of self modifying code. This is done via the new change_tlb() function.
Signed-off-by: Stefan Roese <sr@denx.de>
|
|
|
|
|
|
|
| |
This patch enables the 4xx EMAC POST driver to work too, when dcache is
enabled.
Signed-off-by: Stefan Roese <sr@denx.de>
|
|
|
|
| |
Signed-off-by: Stefan Roese <sr@denx.de>
|
|
|
|
|
|
|
| |
This patch enables the 4xx EMAC driver to work too, when dcache is
enabled.
Signed-off-by: Stefan Roese <sr@denx.de>
|
|
|
|
|
|
|
| |
This function is used to either turn cache on or off in a specific
memory area.
Signed-off-by: Stefan Roese <sr@denx.de>
|
|
|
|
|
|
|
| |
All 4xx board config files don't need the cache definitions anymore.
These are now defined in common headers.
Signed-off-by: Stefan Roese <sr@denx.de>
|
|
|
|
|
|
|
| |
New cache handling functions added and all existing functions
moved from start.S into seperate cache.S.
Signed-off-by: Stefan Roese <sr@denx.de>
|
|
|
|
| |
Signed-off-by: Stefan Roese <sr@denx.de>
|
|
|
|
| |
Signed-off-by: Stefan Roese <sr@denx.de>
|
|
|
|
|
|
|
|
| |
I lately noticed, that newer 4xx board with GBit support sometimes don't
finish link autonegotiation in 4 seconds. Changing this timeout to 5
seconds seems fine here.
Signed-off-by: Stefan Roese <sr@denx.de>
|
|
|
|
|
|
|
| |
This patch changes all in32/out32 calls to use the recommended in_be32/
out_be32 macros instead.
Signed-off-by: Stefan Roese <sr@denx.de>
|
|
|
|
|
|
|
|
| |
The POST ethernet test needed to be changed to dynamically determine
the count of ethernet devices. This code is cloned from the 4xx
ethernet driver.
Signed-off-by: Stefan Roese <sr@denx.de>
|
|
|
|
|
|
|
|
| |
We now use a value in the gd (global data) structure for the UART input
frequency, since the PPC4xx_SYS_INFO struct is always rewritten completely
in get_sys_info().
Signed-off-by: Stefan Roese <sr@denx.de>
|
|
|
|
|
|
|
|
|
|
| |
The Haleakala is nearly identical with the Kilauea eval board. The only
difference is that the 405EXr only supports one EMAC and one PCIe
interface. This patch adds support for the Haleakala board by using
the identical image for Kilauea and Haleakala. The distinction is done
by comparing the PVR.
Signed-off-by: Stefan Roese <sr@denx.de>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch also adds a note to the fixed DDR setup for Bamboo NAND booting:
Note:
As found out by Eugene O'Brien <eugene.obrien@advantechamt.com>, the fixed
DDR setup has problems (U-Boot crashes randomly upon TFTP), when the DIMM
modules are still plugged in. So it is recommended to remove the DIMM
modules while using the NAND booting code with the fixed SDRAM setup!
Signed-off-by: Eugene O'Brien <eugene.obrien@advantechamt.com>
Signed-off-by: Stefan Roese <sr@denx.de>
|
|
|
|
| |
Signed-off-by: Stefan Roese <sr@denx.de>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Change 4xx_uart.c:
- Use in_8/out_8 macros instead of in8/out8
- No need for UART_BASE marco anymore, now really handled via function
parameter
- serial_init_common() introduced
- Further coding style cleanup
Signed-off-by: Stefan Roese <sr@denx.de>
|
|
|
|
|
|
| |
Change all linker scripts to reference the changed driver name iop480_uart.o.
Signed-off-by: Stefan Roese <sr@denx.de>
|
|
|
|
|
|
|
|
|
|
| |
Change all linker scripts to reference the changed driver name 4xx_uart.o.
Note: In most cased all these explicit referencing of these object files
in the linker scripts is not neccessary. Only for manually embedded
environment into the U-Boot image, which is not done is most cases.
Signed-off-by: Stefan Roese <sr@denx.de>
|
|
|
|
|
|
|
|
|
| |
This patch starts the rework of the PPC4xx serial driver. First we split
the file into two seperate files, one 4xx_uart.c with the 405/440 UART
handling code and the other one iop480_uart.c with the UART code for the
PLX-Tech IOP480 PPC (PPC403 based).
Signed-off-by: Stefan Roese <sr@denx.de>
|
|
|
|
| |
Signed-off-by: Stefan Roese <sr@denx.de>
|
|
|
|
| |
Signed-off-by: Stefan Roese <sr@denx.de>
|
|
|
|
|
|
|
| |
This value is needed later for the device tree configuration of
the uart clock.
Signed-off-by: Stefan Roese <sr@denx.de>
|
|
|
|
| |
Signed-off-by: Stefan Roese <sr@denx.de>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch adds support for the Xicor/Intersil X1205 RTC used on the
AMCC Makalu eval board. This driver is basically cloned from the Linux
driver version (2.6.23).
This patch also introduces the Linux bcd.h header for the BCD2BIN/
BIN2BCD conversions. In the future some of the other U-Boot RTC driver
should be converted to also use this header instead of implementing
their own local copy of these functions/macros.
Signed-off-by: Stefan Roese <sr@denx.de>
|
|
|
|
|
|
|
|
|
|
| |
This patch moves some common 4xx macros and the PPC405_SYS_INFO/
PPC440_SYS_INFO structure into the common ppc4xx.h header.
Lot's of other macros are good candidates to be consolidated this way
in the future.
Signed-off-by: Stefan Roese <sr@denx.de>
|
|
|
|
|
|
|
|
|
| |
The size was initilized wrong. Instead of 256MB, the DDR2 controller
was setup to 512MB. Now the correct values is used.
This patch also does a little cleanup and adds a comment here.
Signed-off-by: Stefan Roese <sr@denx.de>
|