Commit graph

86481 commits

Author SHA1 Message Date
Wolfgang Denk
91650b3e4d Sequential accesses to non-existent memory must be synchronized,
at least on G2 cores.

This fixes get_ram_size() problems on MPC5200 Rev. B boards.
2006-11-06 17:06:36 +01:00
Timur Tabi
be5e61815d mpc83xx: Update 83xx to use fsl_i2c.c
Update the 83xx tree to use I2C support in drivers/fsl_i2c.c.  Delete
cpu/mpc83xx/i2c.c, include/asm-ppc/i2c.h, and all references to those files.
Added multiple I2C bus support to fsl_i2c.c.

Signed-off-by: Timur Tabi <timur@freescale.com>
2006-11-03 19:42:23 -06:00
Timur Tabi
d239d74b1c mpc83xx: Replace CFG_IMMRBAR with CFG_IMMR
Replace all instances of CFG_IMMRBAR with CFG_IMMR, so that the 83xx
tree matches the other 8xxx trees.

Signed-off-by: Timur Tabi <timur@freescale.com>
2006-11-03 19:42:23 -06:00
Kim Phillips
f7fb2e703e mpc83xx: Lindent and clean up cpu/mpc83xx/speed.c 2006-11-03 19:42:22 -06:00
Dave Liu
90f30a710a mpc83xx: Fix the incorrect dcbz operation
The 834x rev1.x silicon has one CPU5 errata.

The issue is when the data cache locked with
HID0[DLOCK], the dcbz instruction looks like no-op inst.

The right behavior of the data cache is when the data cache
Locked with HID0[DLOCK], the dcbz instruction allocates
new tags in cache.

The 834x rev3.0 and later and 8360 have not this bug inside.

So, when 834x rev3.0/8360 are working with ECC, the dcbz
instruction will corrupt the stack in cache, the processor will
checkstop reset.

However, the 834x rev1.x can work with ECC with these code,
because the sillicon has this cache bug. The dcbz will not
corrupt the stack in cache.
Really, it is the fault code running on fault sillicon.

This patch fix the incorrect dcbz operation. Instead of
CPU FP writing to initialise the ECC.

CHANGELOG:
* Fix the incorrect dcbz operation instead of CPU FP
writing to initialise the ECC memory. Otherwise, it
will corrupt the stack in cache, The processor will checkstop
reset.

Signed-off-by: Dave Liu <daveliu@freescale.com>
2006-11-03 19:42:22 -06:00
Kim Phillips
bf0b542d67 mpc83xx: add OF_FLAT_TREE bits to 83xx boards
add ft_pci_setup, OF_CPU, OF_SOC, OF_TBCLK, and
STDOUT_PATH configuration bits to mpc8349emds,
mpc8349itx, and mpc8360emds board code.

redo environment to use bootm with the fdtaddr
for booting ARCH=powerpc kernels by default,
and provide default fdtaddr values.
2006-11-03 19:42:22 -06:00
Kim Phillips
48041365b3 mpc83xx: change ft code to modify local-mac-address property
Update 83xx OF code to update local-mac-address properties
for ethernet instead of the obsolete 'address' property.
2006-11-03 19:42:22 -06:00
Timur Tabi
9ca880a250 mpc83xx: Fix dual I2C support for the MPC8349ITX, MPC8349EMDS, TQM834x, and MPC8360EMDS
This patch also adds an improved I2C set_speed(), which handles all clock
frequencies.

Signed-off-by: Timur Tabi <timur@freescale.com>
2006-11-03 19:42:22 -06:00
Dave Liu
ac4b5622ce mpc83xx: add the README.mpc8360emds
add doc/README.mpc8360emds to accompany the new board support
2006-11-03 19:42:21 -06:00
Dave Liu
7737d5c658 mpc83xx: add QE ethernet support
this patch adds support for the QUICC Engine based UCC gigabit ethernet device.
2006-11-03 19:42:21 -06:00
Dave Liu
5f8204394e mpc83xx: Add MPC8360EMDS basic board support
Add support for the Freescale MPC8360EMDS board.
Includes DDR, DUART, Local Bus, PCI.
2006-11-03 19:42:21 -06:00
Dave Liu
23892e4935 mpc83xx: add the QUICC Engine (QE) immap file
common QE immap file.  Also required for 8360.
2006-11-03 19:42:20 -06:00
Dave Liu
b701652a49 mpc83xx: Add 8360 specifics to 83xx immap
Mainly add QE device dependencies, with appropriate 8360 protection.
Lindent also run.
2006-11-03 19:42:20 -06:00
Timur Tabi
988833324a mpc83xx: Fix PCI, USB, bootargs for MPC8349E-mITX
PREREQUISITE PATCHES:

* This patch can only be applied after the following patches have been applied:

  1) DNX#2006092142000015 "Add support for the MPC8349E-mITX  1/2"
  2) DNX#2006092142000024 "Add support for the MPC8349E-mITX  2/2"

CHANGELOG:

* For the 8349E-mITX, fix some size values in pci_init_board(), enable
  the clock for the 2nd USB board (Linux kernel will hang otherwise),
  and fix the CONFIG_BOOTARGS macro.

Signed-off-by: Timur Tabi <timur@freescale.com>
2006-11-03 19:42:20 -06:00
Timur Tabi
2ad6b513b3 mpc83xx: Add support for the MPC8349E-mITX
PREREQUISITE PATCHES:

* This patch can only be applied after the following patches have been applied:

  1) DNX#2006090742000024 "Add support for multiple I2C buses"
  2) DNX#2006090742000033 "Multi-bus I2C implementation of MPC834x"
  3) DNX#2006091242000041 "Additional MPC8349 support for multibus i2c"
  4) DNX#2006091242000078 "Add support for variable flash memory sizes on 83xx systems"
  5) DNX#2006091242000069 "Add support for Errata DDR6 on MPC 834x systems"

CHANGELOG:

* Add support for the Freescale MPC8349E-mITX reference design platform.
  The second TSEC (Vitesse 7385 switch) is not supported at this time.

Signed-off-by: Timur Tabi <timur@freescale.com>
2006-11-03 19:42:20 -06:00
Ben Warren
183da6d9b4 Additional MPC8349 support for multibus i2c
Hello,

Here is a patch for a file that was accidentally left out of a previous
attempt.

It accompanies the patch with ticket DNX#2006090742000024

CHANGELOG:
        Change PCI initialization to use new multi-bus I2C API.

regards,
Ben
2006-11-03 19:42:19 -06:00
Ben Warren
b24f119d67 Multi-bus I2C implementation of MPC834x
Hello,

Attached is a patch implementing multiple I2C buses on the MPC834x CPU
family and the MPC8349EMDS board in particular.
This patch requires Patch 1 (Add support for multiple I2C buses).
Testing was performed on a 533MHz board.

/*** Note: This patch replaces ticket DNX#2006083042000027 ***/

Signed-off-by: Ben Warren <bwarren@qstreams.com>

CHANGELOG:
        Implemented driver-level code to support two I2C buses on the
MPC834x CPU family and the MPC8349EMDS board.  Available I2C bus speeds
are 50kHz, 100kHz and 400kHz on each bus.

regards,
Ben
2006-11-03 19:42:19 -06:00
Ben Warren
bb99ad6d82 Add support for multiple I2C buses
Hello,

Attached is a patch providing support for multiple I2C buses at the
command level.  The second part of the patch includes an implementation
for the MPC834x CPU and MPC8349EMDS board.

/*** Note: This patch replaces ticket DNX#2006083042000018 ***/

Signed-off-by: Ben Warren <bwarren@qstreams.com>

Overview:

1. Include new 'i2c' command (based on USB implementation) using
CONFIG_I2C_CMD_TREE.

2. Allow multiple buses by defining CONFIG_I2C_MULTI_BUS.  Note that
the commands to change bus number and speed are only available under the
new 'i2c' command mentioned in the first bullet.

3. The option CFG_I2C_NOPROBES has been expanded to work in multi-bus
systems.  When CONFIG_I2C_MULTI_BUS is used, this option takes the form
of an array of bus-device pairs.  Otherwise, it is an array of uchar.

CHANGELOG:
        Added new 'i2c' master command for all I2C interaction.  This is
conditionally compiled with CONFIG_I2C_CMD_TREE.  New commands added for
setting I2C bus speed as well as changing the active bus if the board
has more than one (conditionally compiled with
CONFIG_I2C_MULTI_BUS).  Updated NOPROBE logic to handle multiple buses.
Updated README.

regards,
Ben
2006-11-03 19:42:19 -06:00
Timur Tabi
bed85caf87 mpc83xx: Add support for Errata DDR6 on MPC 834x systems
CHANGELOG:

* Errata DDR6, which affects all current MPC 834x processors, lists changes
  required to maintain compatibility with various types of DDR memory.  This
  patch implements those changes.

Signed-off-by: Timur Tabi <timur@freescale.com>
2006-11-03 19:42:19 -06:00
Timur Tabi
afd6e470f6 mpc83xx: fix TQM build by defining a CFG_FLASH_SIZE for it 2006-11-03 19:42:19 -06:00
Timur Tabi
31068b7c4a mpc83xx: Add support for variable flash memory sizes on 83xx systems
CHANGELOG:

* On 83xx systems, use the CFG_FLASH_SIZE macro to program the LBC local access
   window registers, instead of using a hard-coded value of 8MB.

Signed-off-by: Timur Tabi <timur@freescale.com>
2006-11-03 19:42:18 -06:00
Tanya Jiang
2fc34ae66e mpc83xx: Unified TQM834x variable names with 83xx and consolidated macros
Unified TQM834x variable names with 83xx and consolidated macro
in preparation for the 8360 and other upcoming 83xx devices.

Signed-off-by: Tanya Jiang <tanya.jiang@freescale.com>
2006-11-03 19:42:18 -06:00
Dave Liu
f6eda7f80c mpc83xx: Changed to unified mpx83xx names and added common 83xx changes
Incorporated the common unified variable names and the changes in preparation
for releasing mpc8360 patches.

Signed-off-by: Dave Liu <daveliu@freescale.com>
2006-11-03 19:42:18 -06:00
Tanya Jiang
3894c46c27 mpc83xx: Fix missing build for mpc8349emds pci.c
Make pci build for mpc8349emds

Signed-off-by: Tanya Jiang <tanya.jiang@freescale.com>
2006-11-03 19:42:17 -06:00
Tanya Jiang
09a81ff740 mpc83xx: Removed unused file resetvec.S for mpc83xx cpu
Removed unused file resetvec.S for mpc83xx cpu

Signed-off-by: Tanya Jiang <tanya.jiang@freescale.com>
2006-11-03 19:42:17 -06:00
Nick Spence
04f899fc46 NAND Flash verify across block boundaries
This patch addresses a problem when CONFIG_MTD_NAND_VERIFY_WRITE is
defined
and the write crosses a block boundary. The pointer to the verification
buffer (bufstart) is not being updated to reflect the starting of the
new
block so the verification of the second block fails.

CHANGELOG:

* Fix NAND FLASH page verification across block boundaries
2006-11-03 19:42:17 -06:00
Nick Spence
f484dc791a Added RGMII support to the TSECs and Marvell 881111 Phy
Added a phy initialization to adjust the RGMII RX and TX timing
Always set the R100 bit in 100 BaseT mode regardless of the TSEC mode

Signed-off-by: Nick Spence <nick.spence@freescale.com>
2006-11-03 19:42:17 -06:00
roy zang
41862d13a8 Merge /home/roy/CVS/7448/Open_Source/u-boot.git.dev 2006-11-03 13:40:18 +08:00
roy zang
1f2c5c5385 Merge /home/roy/CVS/7448/Open_Source/u-boot.git.dev 2006-11-03 13:40:03 +08:00
roy zang
0a8eb59983 Merge branch 'master' into hpc2 2006-11-03 13:15:31 +08:00
roy zang
4831c8b8a9 Remove some unused CFG define.
undef CFG_DRAM_TEST
2006-11-03 13:10:00 +08:00
roy zang
99c09c4dec Change the TEXT_BASE from 0xFFF00000 to 0xFF000000.
Both work. 0xFF000000 seems more reasonable.
2006-11-03 13:07:36 +08:00
Wolfgang Denk
ee58ea2689 Merge with /home/tur/proj/uboot_linux_v38b/u-boot 2006-11-02 21:26:38 +01:00
Wolfgang Denk
c592004430 Release U-Boot 1.1.6 2006-11-02 15:15:01 +01:00
roy zang
c1fbe4103a This patch comes from Yuli's posted patch on 8/8/2006
titled "CFI Driver Little-Endian write Issue".

http://sourceforge.net/mailarchive/message.php?msg_id=36311999

If that patch applied, please discard this one.
Until now , I do not see his patch is applied. So please apply this one.

Signed-off-by: Yuli Barcohen <yuli@arabellasw.com>
Signed-off-by: Roy Zang <tie-fei.zang@freescale.com>
2006-11-02 19:14:48 +08:00
roy zang
b825f158e4 Tsi108 on chip i2c support.
The i2c  Interface provides a master-only, serial interface that can be
used for initializing Tsi108/Tsi109 registers from an EEPROM after a
device reset.

Signed-off-by: Alexandre Bounine <alexandreb@tundra.com>
Signed-off-by: Roy Zang <tie-fei.zang@freescale.com>
2006-11-02 19:12:31 +08:00
roy zang
9226e7d6f0 Tsi108 on chip pci controller support.
If there is no pci card, the tsi108/109 pci configure read will
cause a machine check exception to the processor. PCI error should
also be cleared after the read.

Signed-off-by: Alexandre Bounine <alexandreb@tundra.com>
Signed-off-by: Roy Zang <tie-fei.zang@freescale.com>
2006-11-02 19:11:06 +08:00
roy zang
d1927cee97 Tundra tsi108 on chip Ethernet controller support.
The following is a brief description of the Ethernet controller:
The Tsi108/9 Ethernet Controller connects Switch Fabric to two independent
Gigabit Ethernet ports,E0 and E1.  It uses a single Management interface
to manage the two physical connection devices (PHYs).  Each Ethernet port
has its own statistics monitor that tracks and reports key interface
statistics.  Each port supports a 256-entry hash table for address
filtering.  In addition, each port is bridged to the Switch Fabric
through a 2-Kbyte transmit FIFO and a 4-Kbyte Receive FIFO.

Each Ethernet port also has a pair of internal Ethernet DMA channels to
support the transmit and receive data flows.  The Ethernet DMA channels
use descriptors set up in memory, the memory map of the device, and
access via the Switch Fabric.  The Ethernet Controller?s DMA arbiter
handles arbitration for the Switch Fabric.  The Controller also
has a register businterface for register accesses and status monitor
control.

The PMD (Physical Media Device) interface operates in MII, GMII, or TBI
modes.  The MII mode is used for connecting with 10 or 100 Mbit/s PMDs.
The GMII and TBI modes are used to connect with Gigabit PMDs.  Internal
data flows to and from the Ethernet Controller through the Switch Fabric.

Each Ethernet port uses its transmit and receive DMA channels to manage
data flows through buffer descriptors that are predefined by the
system (the descriptors can exist anywhere in the system memory map).
These descriptors are data structures that point to buffers filled
with data ready to transmit over Ethernet, or they point to empty
buffers ready to receive data from Ethernet.

Signed-off-by: Alexandre Bounine <alexandreb@tundra.com>
Signed-off-by: Roy Zang <tie-fei.zang@freescale.com>
2006-11-02 19:08:55 +08:00
roy zang
78aa0c3427 Tundra tsi108 header file.
The Tundra Semiconductor Corporation (Tundra) Tsi108 is a host bridge for
PowerPC processors that offers numerous system interconnect options for
embedded application designers. The Tsi108 can interconnect 60x or
MPX processors to PCI/X peripherals, DDR2-400 memory, Gigabit Ethernet,
and Flash. Provided the macro define for tsi108 chip.

Signed-off-by: Alexandre Bounine <alexandreb@tundra.com>
Signed-off-by: Roy Zang <tie-fei.zang@freescale.com>
2006-11-02 19:01:33 +08:00
roy zang
87c4db0969 Add mpc7448hpc2 (mpc7448 + tsi108) board associated code support.
mpc7448hpc2 board support high level code:tsi108 init + mpc7448hpc2.

Signed-off-by: Alexandre Bounine <alexandreb@tundra.com>
Signed-off-by: Roy Zang <tie-fei.zang@freescale.com>
2006-11-02 18:59:15 +08:00
roy zang
27801b8ab1 Add mpc7448hpc2 (mpc7448 + tsi108) board associated code support.
Make ,config.mk and link file for the mpc7448hpc2 board.

Signed-off-by: Alexandre Bounine <alexandreb@tundra.com>
Signed-off-by: Roy Zang <tie-fei.zang@freescale.com>
2006-11-02 18:57:21 +08:00
roy zang
c6411c0c3b Add mpc7448hpc2 (mpc7448 + tsi108) board associated code support.
The mpc7448hpc2 board support header file.

Signed-off-by: Alexandre Bounine <alexandreb@tundra.com>
Signed-off-by: Roy Zang <tie-fei.zang@freescale.com>
2006-11-02 18:55:04 +08:00
roy zang
625bb5ddb5 Add mpc7448hpc2 (mpc7448 + tsi108) board associated code support.
The mpc7448hpc2 board support low level assemble language init code.

Signed-off-by: Alexandre Bounine <alexandreb@tundra.com>
Signed-off-by: Roy Zang <tie-fei.zang@freescale.com>
2006-11-02 18:52:21 +08:00
roy zang
4c52783b3d General code modification for mpc7448hpc2 board support.
1. Add 7447A and 7448 processor support.
2. Add the following flags.

CFG_CONFIG_BUS_CLK : If the 74xx bus frequency can be configured dynamically
(such as by switch on board), this flag should be set.

CFG_EXCEPTION_AFTER_RELOCATE: If an exception occurs after the u-boot
relocates to RAM, this flag should be set.

CFG_SERIAL_HANG_IN_EXCEPTION: If the print out function will cause the
system hang in exception, this flag should be set.

There is a design issue for tsi108/109 pci configure  read. When pci scan
the slots, if there is no pci card, the tsi108/9 will cause a machine
check exception for mpc7448 processor.

Signed-off-by: Alexandre Bounine <alexandreb@tundra.com>
Signed-off-by: Roy Zang <tie-fei.zang@freescale.com>
2006-11-02 18:49:51 +08:00
roy zang
69366bf42f Add README file for mpc7448hpc2 board.
Signed-off-by: Roy Zang <tie-fei.zang@freescale.com>
2006-11-02 18:34:47 +08:00
Bartlomiej Sieka
25721b5cec Finish up support for MarelV38B board
- add watchdog support
 - enable GPIO_WKUP_7 pin for input
 - code cleanup
2006-11-01 02:04:38 +01:00
Bartlomiej Sieka
ffa150bc90 - Fix issues related to the use of ELDK 4 when compiling for MarelV38B:
* remove warnings when compiling ethaddr.c
      * adjust linker script (fixes a crash resulting from incorrect
      definition of __u_boot_cmd_start)
- Some MarelV38B code cleanup.
2006-11-01 01:45:46 +01:00
Bartlomiej Sieka
dae80f3caf - Add MPC5XXX register definition MPC5XXX_WU_GPIO_DATA_I and change the
MPC5XXX_WU_GPIO_DATA macro to MPC5XXX_WU_GPIO_DATA_O (per MPC5200 User's
  Manual). Replace the uses of MPC5XXX_WU_GPIO_DATA with
  MPC5XXX_WU_GPIO_DATA_O for affected boards.

- Add defintions for some MPC5XXX GPIO pins.
2006-11-01 01:38:16 +01:00
Bartlomiej Sieka
82d9c9ec29 Changed MarelV38B board make target to lowercase. Config file cleanup. 2006-11-01 01:34:29 +01:00
Wolfgang Denk
d9831893ab Merge with /home/sr/git/u-boot/nand-ladis 2006-10-29 01:12:53 +02:00