Commit Graph

3789 Commits

Author SHA1 Message Date
Lawrence R. Johnson
0ddd969aec ppc4xx: Use CFG_4xx_GPIO_TABLE to configure Korat board
Signed-off-by: Larry Johnson <lrj@acm.org>
2008-01-04 11:39:13 +01:00
Lawrence R. Johnson
b05e8bf58b ppc4xx: Use CFG_4xx_GPIO_TABLE to configure Sequoia board
Note: this patch changes the configuration of some GPIO registers:

   Register      Old Value   New Value
---------------  ----------  ----------
DCR GPIO0_TCR    0x0000000F  0x0000F0CF
DCR GPIO0_TSRH   0x55005000  0x00000000
DCR GPIO1_TCR    0xC2000000  0xE2000000
DCR GPIO1_TSRL   0x0C000000  0x00200000
DCR GPIO1_ISR2L  0x00050000  0x00110000

Signed-off-by: Larry Johnson <lrj@acm.org>
2008-01-04 11:39:05 +01:00
Lawrence R. Johnson
5ab884b254 ppc4xx: Add functionality to GPIO support
This patch makes two additions to GPIO support:

First, it adds function gpio_read_in_bit() to read the a bit from the
GPIO Input Register (GPIOx_IR) in the same way that function
gpio_read_out_bit() reads a bit from the GPIO Output Register
(GPIOx_OR).

Second, it modifies function gpio_set_chip_configuration() to provide
an additional option for configuring the GPIO from the
"CFG_4xx_GPIO_TABLE".

According to the 440EPx User's Manual, when an alternate output is used,
the three-state control is configured in one of two ways, depending on
the particular output.  The first option is to select the corresponding
alternate three-state control in the GPIOx_TRSH/L registers.  The second
option is to select the GPIO Three-State Control Register (GPIOx_TCR) in
the GPIOx_TRSH/L registers, and set the corresponding bit in the
GPIOx_TCR register to enable the output.  For example, the Manual
specifies configuring the GPIO00 Alternate 1 Signal (PreAddr07) to use
the alternate three-state control (first option), and specifies
configuring the GPIO32 Alternate 1 Signal (USB2OM0) with the output
enabled in the GPIOx_TCR register (second option).

Currently, gpio_set_chip_configuration() configures all alternate signal
outputs to use the first option.  This patch allow the second option to
be selected by setting the "out_val" element in the table entry to
"GPIO_OUT_1".  The first option is used when the "out_val" element is
set to "GPIO_OUT_0".  Because "out_val" is not currently used when an
alternate signal is selected, and because all current GPIO tables set
"out_val" to "GPIO_OUT_0" for all alternate signals, this patch should
not change any existing configurations.

Signed-off-by: Larry Johnson <lrj@acm.org>
2008-01-04 11:38:45 +01:00
Larry Johnson
196404cdc1 PPC4xx: Remove sdram.h from board/lwmon5
These definitions are now in "include/ppc440.h".

Signed-off-by: Larry Johnson <lrj@acm.org>
2008-01-04 11:37:48 +01:00
Larry Johnson
ef16fccf96 PPC4xx: Use common code for LWMON5 board SDRAM support
This patch also modifies the functionality of the code so that the data-eye
search is now done with with the cache disabled.

Signed-off-by: Larry Johnson <lrj@acm.org>
2008-01-04 11:37:43 +01:00
Larry Johnson
62cc3951ab PPC4xx: Remove sdram.h from board/amcc/sequoia
These definitions are now in "include/ppc440.h".

Signed-off-by: Larry Johnson <lrj@acm.org>
2008-01-04 11:37:38 +01:00
Larry Johnson
ce3902e176 PPC4xx: Use common code for Sequoia board SDRAM support
Signed-off-by: Larry Johnson <lrj@acm.org>
2008-01-04 11:37:33 +01:00
Jon Loeliger
5c740711f0 8610: Move include of config.h earlier.
Include config.h earlier in the set of #includes
so as to avoid a incidental and duplicate definition
of CFG_CACHELINE_SIZE.

Signed-off-by: Jon Loeliger
2008-01-03 10:41:04 -06:00
Jon Loeliger
61d3421bde Don't slam #undef DEBUG in the 8641HPCN config file.
Doing so prevents it from being individually set
and useful in other files.

Signed-off-by: Jon Loeliger <jdl@freescale.com>
2008-01-03 10:27:23 -06:00
Jon Loeliger
ea9f7395ec Convert MPC8641HPCN to use libfdt.
Assumes the presence of the aliases node in the DTS to
locate the ethernet, pci and serial nodes for fixups.

Use consistent fdtaddr and fdtfile in environment variables.

Signed-off-by: Jon Loeliger <jdl@freescale.com>
2008-01-03 10:27:03 -06:00
Jon Loeliger
2c3536425d Merge commit 'wd/master' 2008-01-03 09:46:55 -06:00
Stefan Roese
ce37422d00 cfi_flash: Fix bug in flash_isset() to use correct 32bit function
This bug was detected on the LWMON5 target which has 2 Intel 16bit wide
flash chips connected to a 32bit wide port.

Signed-off-by: Stefan Roese <sr@denx.de>
2008-01-02 16:07:01 +01:00
Wolfgang Denk
1182e9f8e3 Fix compile problem introduced by "cleanup" commit 3dfd708c
Signed-off-by: Wolfgang Denk <wd@denx.de>
2008-01-02 15:58:44 +01:00
Wolfgang Denk
1aaab9bfae Make scripts and Makefiles POSIX compliant
The bash builtin versions of the "test" (resp. "[") command allow
using "==" for string comparisons, but POSIX compatible implemen-
tations (like /usr/bin/test) insist on using "=" only. On such systems
you will see:

	$ /usr/bin/test a == a && echo OK
	/usr/bin/test: ==: binary operator expected

This patch fixes Makefiles and scripts to use POSIX style.

Signed-off-by: Wolfgang Denk <wd@denx.de>
2008-01-02 15:54:45 +01:00
Wolfgang Denk
8f8b52ea5b Merge branch 'master' of /home/wd/git/u-boot/custodians 2008-01-02 12:39:04 +01:00
Wolfgang Denk
3dfd708cc1 Minor coding style cleanup.
Signed-off-by: Wolfgang Denk <wd@denx.de>
2008-01-02 12:38:43 +01:00
Wolfgang Denk
d2995fe392 Merge branch 'master' of git://www.denx.de/git/u-boot-cfi-flash 2008-01-02 11:30:58 +01:00
Stefan Roese
feaa43f3a8 Merge branch 'for-1.3.2-ver2'
Conflicts:

	cpu/ppc4xx/fdt.c
	include/configs/kilauea.h
	include/configs/sequoia.h

Signed-off-by: Stefan Roese <sr@denx.de>
2007-12-29 09:23:11 +01:00
Stefan Roese
e174ac34ad ppc4xx: Coding style cleanup
Signed-off-by: Stefan Roese <sr@denx.de>
2007-12-28 17:29:56 +01:00
Matthias Fuchs
8ba132cab1 ppc4xx: Complete PMC440 board support
This patch brings the PMC440 board configuration file.
Finally it enables the PMC440 board support.

Signed-off-by: Matthias Fuchs <matthias.fuchs@esd-electronics.com>
2007-12-28 17:22:20 +01:00
Matthias Fuchs
407843a582 ppc4xx: Add FPGA support and BSP commands for PMC440 boards
This patch adds some BSP commands and FPGA booting support
for esd's PMC440 boards.

Signed-off-by: Matthias Fuchs <matthias.fuchs@esd-electronics.com>
2007-12-28 17:22:14 +01:00
Matthias Fuchs
72c5d52aed ppc4xx: Add initial esd PMC440 board files
This patch adds the first files for the new esd PMC440 boards.
The next two patches will complete the PMC440 board support.

Signed-off-by: Matthias Fuchs <matthias.fuchs@esd-electronics.com>
2007-12-28 17:22:09 +01:00
Matthias Fuchs
f6e0f1f618 ppc4xx: Add EEPROM write protection for PLU405 boards + misc. updates
- add EEPROM write protection for esd PLU405 boards.
- initialize NAND GPIOs
- use correct io accessors
- cleanup

Signed-off-by: Matthias Fuchs <matthias.fuchs@esd-electronics.com>
2007-12-28 17:21:45 +01:00
Matthias Fuchs
77660c4b59 ppc4xx: use correct io accessors for esd's LCD code
This patch fixes esd's LCD dectection code to work correctly with
newer gcc versions.

Signed-off-by: Matthias Fuchs <matthias.fuchs@esd-electronics.com>
2007-12-28 17:21:38 +01:00
Matthias Fuchs
b56bd0fcfc ppc4xx: Maintenance patch for VOH405 boards
- add EEPROM write protection
- initialize NAND GPIOs
- use correct io accessors
- slow down I2C clock to 100kHz
- enable ext. I2C bus
- cleanup

Signed-off-by: Matthias Fuchs <matthias.fuchs@esd-electronics.com>
2007-12-28 17:20:12 +01:00
Stefan Roese
c05569066d ppc4xx: Enable 405EP PCI arbiter per default on all boards
In an attmemt to clean up the 4xx start.S file, I removed the enabling
of the internal 405EP PCI arbiter. This is needed for multiple other
405EP platforms, like most of the esd 405EP. Now the internal PCI
arbiter is enabled again per default as it has been before.

Signed-off-by: Stefan Roese <sr@denx.de>
Acked-by: Matthias Fuchs <matthias.fuchs@esd-electronics.com>
2007-12-28 16:39:15 +01:00
Stefan Roese
bec9264616 ppc4xx: Fix bug in cpu_init.c (405EP instead of 450EP)
Signed-off-by: Stefan Roese <sr@denx.de>
Acked-by: Matthias Fuchs <matthias.fuchs@esd-electronics.com>
2007-12-28 16:39:11 +01:00
Stefan Roese
fb83a65c60 ppc4xx: Fix compilation problem of kilauea/haleakala nand booting target
Use correct link to nand_ecc now located in drivers/mtd/nand/ for the
platforms mentioned above.

Signed-off-by: Stefan Roese <sr@denx.de>
2007-12-28 06:06:04 +01:00
Stefan Roese
bb701283a8 Merge branch 'master' of /home/stefan/git/u-boot/u-boot into for-1.3.2-ver2 2007-12-27 19:37:26 +01:00
Matthias Fuchs
b568fd2557 Remove CPCI440 board
This board never left prototyping state and it
became a millstone round my neck. So remove it.

Signed-off-by: Matthias Fuchs <matthias.fuchs@esd-electronics.com>
2007-12-27 19:35:37 +01:00
Larry Johnson
c591dffe0c Add support for Korat PPC440EPx board
These patches add support for the PPC440EPx-based "Korat" board to
U-Boot.  They are based primarily on support for the Sequoia board.

Signed-off-by: Larry Johnson <lrj@acm.org>
2007-12-27 19:35:37 +01:00
Larry Johnson
87dc096829 Add configuration file for Korat board
This patch supplies the configuration file for the Korat PPC440EPx-
processor board.

Signed-off-by: Larry Johnson <lrj@acm.org>
2007-12-27 19:35:36 +01:00
Larry Johnson
8eb52d5d98 Add denali_data_eye.o and denali_spd_ddr2.o to PPC4xx Makefile
Signed-off-by: Larry Johnson <lrj@acm.org>
2007-12-27 19:35:36 +01:00
Larry Johnson
aba19604d8 Add 440EPx DDR2 SPD DIMM support
This patch adds SPD DDR2 support for the 440EPx ("Denali") SDRAM
controller.  It should also work on the 440GRx.  It is based on the DDR2
SPD code for the 440EP/440EPx, but makes no provision for DDR1 support.

This code has been tested on prototype Korat boards with three Kingston
DIMMS: 512 MiB ECC (one rank), 512 MiB non-ECC (one rank) and 1 GiB ECC
(two ranks).  The Korat board has a single DIMM socket, but support has
been provided (though not tested) for boards with two DIMM sockets.

Signed-off-by: Larry Johnson <lrj@acm.org>
2007-12-27 19:35:36 +01:00
Larry Johnson
8a24a69630 Copy 440EPx/GRx SDRAM data-eye search to common directory
This patch creates a non-board-specific file for performing the SDRAM
data-eye search.  It also adds ECC error checking to the test of valid
data on readback when ECC is enabled.

Signed-off-by: Larry Johnson <lrj@acm.org>
2007-12-27 19:35:36 +01:00
Larry Johnson
c46f53333b Add definitions for 440EPx/GRx SDRAM controller to ppc440.h
This patch adds the Denali SDRAM controller definitions to "ppc440.h".
It also fixes two typos in the definitions, so the board-specific
"sdram.h" files containing these definitions are also fixed to avoid
compiler warnings.

Signed-off-by: Larry Johnson <lrj@acm.org>
2007-12-27 19:35:36 +01:00
Larry Johnson
c348578bf6 Add Ethernet 1000BASE-X support for PPC4xx
This patch adds a new switch: "CONFIG_PHY_DYNAMIC_ANEG".  When this symbol
is defined, the PHY will advertise it's capabilities for autonegotiation
based on the capabilities shown in the PHY's status registers, including
1000BASE-X.  When "CONFIG_PHY_DYNAMIC_ANEG" is not defined, the PHY will
advertise hard-coded capabilities, as before.

Signed-off-by: Larry Johnson <lrj@acm.org>
2007-12-27 19:35:36 +01:00
Larry Johnson
9e2c347151 Add driver for National Semiconductor LM73 temperature sensor
This driver is based on the driver for the LM75.

Signed-off-by: Larry Johnson <lrj@acm.org>
2007-12-27 19:35:35 +01:00
Larry Johnson
1261827868 Add driver for STMicroelectronics M41T60 RTC
This driver is based on the driver for the M41T11.  In the intended
application, the RTC will be powered by a large capacitor, rather than a
battery.  The driver therefore checks to see whether the RTC has lost
power.  The chip's OUT bit is normally reset from its power-up state.  If
the OUT bit is read as set, or if the date and time are not valid, then the
RTC is assumed to have lost power, and its date and time are reset to
1900-01-01 00:00:00.

Support for adjusting the speed of the clock to improve accuracy is
provided through an environment variable.

Signed-off-by: Larry Johnson <lrj@acm.org>
2007-12-27 19:35:35 +01:00
Larry Johnson
d3471173e1 Use out_be32() and friends to access memory-mapped registers in sequoia.c
Signed-off-by: Larry Johnson <lrj@acm.org>
2007-12-27 19:35:35 +01:00
Larry Johnson
c68f59fe3e Use definitions from "asm-ppc/mmu.h" in init.S for Sequoia
Signed-off-by: Larry Johnson <lrj@acm.org>
2007-12-27 19:35:35 +01:00
Larry Johnson
0d9cdeac1d Cosmetic changes to ECC POST for AMCC Denali core
Signed-off-by: Larry Johnson <lrj@acm.org>
2007-12-27 19:35:35 +01:00
Stefan Roese
2e583d6c81 ppc4xx: Fix compilation problem in 405 cache POST test
Signed-off-by: Stefan Roese <sr@denx.de>
2007-12-27 19:35:35 +01:00
Stefan Roese
42d55ea0bd ppc4xx: Move virtual address of POST cache test to bigger address
On Sequoia & LWMON5 the virtual address of the POST cache test is now
moved to a bigger address. This enables usage of more memory on those
boards.

Signed-off-by: Stefan Roese <sr@denx.de>
2007-12-27 19:35:35 +01:00
Stefan Roese
d91722102c ppc4xx: Fix problem in 44x cache POST routine
As repoted by Larry Johnson, running "diag run cache" caused a crash
in U-Boot. This problem was introduced by a patch that removed the
TLB entry for the cache test after the test has completed. Since this
TLB was only setup once, a 2nd attempt to run this cache test
failed with a crash. Now this TLB entry is created every time the
routine is called.

Signed-off-by: Stefan Roese <sr@denx.de>
2007-12-27 19:35:34 +01:00
Stefan Roese
b0265b576b ppc4xx: Update Makalu fdt support
Signed-off-by: Stefan Roese <sr@denx.de>
2007-12-27 19:35:34 +01:00
Stefan Roese
bf8324e4a5 ppc4xx: Add fdt support to AMCC Katmai eval board
Signed-off-by: Stefan Roese <sr@denx.de>
2007-12-27 19:35:34 +01:00
Stefan Roese
328a340392 ppc4xx: fdt: Cleanup setup of cpu node setup
Now the cpu node setup ("timebase-frequency" and "clock-frequency") is
without using the absolute path to the cpu node. This makes it possible
to use this U-Boot version with both versions of cpu-node naming
"cpu@0" and the former "PowerPC,440EPx@0".

Signed-off-by: Stefan Roese <sr@denx.de>
2007-12-27 19:35:34 +01:00
Stefan Roese
7812bc4a2e ppc4xx: Fix lwmon5 compilation problem
Now that the 440EPx ECC test is not board specific anymore
remove this Makefile.

Signed-off-by: Stefan Roese <sr@denx.de>
2007-12-27 19:35:34 +01:00
Anatolij Gustschin
42ed33ffe1 Fix ppc4xx clear_bss() code
ppc4xx clear_bss() fails if BSS segment size is not
divisible by 4 without remainder. This patch provides
fix for this problem.

Signed-off-by: Anatolij Gustschin <agust@denx.de>
2007-12-27 19:35:34 +01:00