[U-Boot-Users] [PATCH 04/13] SPARC: Added support for SPARC LEON3 SOC processor.

Daniel Hellstrom daniel at gaisler.com
Fri Mar 28 20:22:50 CET 2008


Hello Wolfgang,

This patch adds support for SPARC/LEON3 to U-Boot. LEON3 boards 
are added in separate patches.

This patch does not support LEON3 SMP system.

Linux for SPARC assumes that there is a Sun Boot prom
available. The boot prom is used as monitor to support basic
features such as rebooting, printing to the system console
(serial terminal in the LEON case) and getting information
about the hardware (baudrate, main memory etc.). So, in
order to boot SPARC Linux on LEON a standard boot prom is
emulated. This is done in cpu/leon?/prom.c.
The boot prom must be placed at a higher address that the
stack to avoid that it gets overwritten.

Some chip designs has UHCI and EHI USB. UHCI has been
implemented for U-Boot on LEON3 systems.

LEON3 processors is on an extended AMBA bus (with Plug&Play
support), whereas LEON2 uses hardcoded addresses since it
is on an AMBA bus without Plug&Play.

ABOUT LEON3 and GRLIB
---------------------
LEON3 is an open source (GPL) SPARC V7 and/or V8 processor part of GRLIB.
GRLIB is a free comprehensive open source (GPL) Portable IP library 
(written in VHDL) featuring cores such as Ethernet 10/100/1000, SpaceWire, 
PCI, CAN, 1553, I2C, USB 1.1 and 2.0, SPI, DMA ATA, SVGA, PS/2, UART, 
Timer, SDRAM, SRAM, SSRAM, DDR, DDR2, FLASH/PROM, CPU Debug Unit, FPU, 
GPIO and many more. More info available at www.gaisler.com.

ABOUT SPARC-ELF COMPILER
------------------------
Compiling u-boot for LEON3 and LEON2 has only been has only been tested 
with GCC
3.4.4 compiler with added LEON2 and LEON3 support available from 
www.gaisler.com or
ftp://ftp.gaisler.com/gaisler.com/bcc/bin/linux/sparc-elf-3.4.4-1.0.30.tar.bz2, 

installation instructions can be found in bcc/doc/bcc.pdf. (extract to 
/opt/ and
add /opt/sparc-elf-3.4.4/bin to PATH).


U-BOOT support tested
---------------------
- LEON3 (and LEON3FT Fault tolerant version)
- LEON3 Simmulator (GRSIM and TSIM)
- Network (GRETH and SMC91111)
- USB 1.1 (UHCI)
- Linux and RTEMS booting
- booting UBOOT from RAM and FLASH by changing board/gaisler/xxx/config.mk
- DDR, DDR2, SRAM, FT-SRAM
- UART, IRQ, Timer

This patch is available at ftp://ftp.gaisler.com/gaisler.com/u-boot/patches/4_leon3.patch.

Best Regards,
Daniel Hellstrom


Signed-off-by: Daniel Hellstrom <daniel at gaisler.com>
---
 Makefile                           |    3 +
 README                             |    1 +
 cpu/leon3/Makefile                 |   54 ++
 cpu/leon3/ambapp.c                 |  339 ++++++++++
 cpu/leon3/config.mk                |   26 +
 cpu/leon3/cpu.c                    |   67 ++
 cpu/leon3/cpu_init.c               |  254 +++++++
 cpu/leon3/interrupts.c             |  219 ++++++
 cpu/leon3/prom.c                   | 1078 +++++++++++++++++++++++++++++
 cpu/leon3/serial.c                 |  139 ++++
 cpu/leon3/start.S                  |  616 +++++++++++++++++
 cpu/leon3/usb_uhci.c               | 1313 ++++++++++++++++++++++++++++++++++++
 cpu/leon3/usb_uhci.h               |  184 +++++
 include/ambapp.h                   |  380 +++++++++++
 include/asm-sparc/arch-leon3/asi.h |   36 +
 include/asm-sparc/leon.h           |   38 +
 include/asm-sparc/leon3.h          |   37 +
 include/asm-sparc/processor.h      |    9 +-
 18 files changed, 4792 insertions(+), 1 deletions(-)
 create mode 100644 cpu/leon3/Makefile
 create mode 100644 cpu/leon3/ambapp.c
 create mode 100644 cpu/leon3/config.mk
 create mode 100644 cpu/leon3/cpu.c
 create mode 100644 cpu/leon3/cpu_init.c
 create mode 100644 cpu/leon3/interrupts.c
 create mode 100644 cpu/leon3/prom.c
 create mode 100644 cpu/leon3/serial.c
 create mode 100644 cpu/leon3/start.S
 create mode 100644 cpu/leon3/usb_uhci.c
 create mode 100644 cpu/leon3/usb_uhci.h
 create mode 100644 include/ambapp.h
 create mode 100644 include/asm-sparc/arch-leon3/asi.h
 create mode 100644 include/asm-sparc/leon.h
 create mode 100644 include/asm-sparc/leon3.h

-- 
1.5.4





More information about the U-Boot mailing list