mirror of
https://github.com/brain-hackers/u-boot-brain
synced 2024-08-15 06:33:45 +09:00
432 lines
11 KiB
C
432 lines
11 KiB
C
/*
|
|
* ppmc7xx.h
|
|
* ---------
|
|
*
|
|
* Wind River PPMC 7xx/74xx board configuration file.
|
|
*
|
|
* By Richard Danter (richard.danter@windriver.com)
|
|
* Copyright (C) 2005 Wind River Systems
|
|
*/
|
|
|
|
|
|
#ifndef __CONFIG_H
|
|
#define __CONFIG_H
|
|
|
|
#define CONFIG_PPMC7XX
|
|
|
|
|
|
/*===================================================================
|
|
*
|
|
* User configurable settings - Modify to your preference
|
|
*
|
|
*===================================================================
|
|
*/
|
|
|
|
/*
|
|
* Debug
|
|
*
|
|
* DEBUG - Define this is you want extra debug info
|
|
* GTREGREAD - Required to build with debug
|
|
* do_bdinfo - Required to build with debug
|
|
*/
|
|
|
|
#ifdef DEBUG
|
|
#define GTREGREAD(x) 0xFFFFFFFF
|
|
#define do_bdinfo(a,b,c,d)
|
|
#endif
|
|
|
|
/*
|
|
* CPU type
|
|
*
|
|
* CONFIG_7xx - We have a 750 or 755 CPU
|
|
* CONFIG_74xx - We have a 7400 CPU
|
|
* CONFIG_ALTIVEC - We have altivec enabled CPU (only 7400)
|
|
* CONFIG_BUS_CLK - System bus clock in Hz
|
|
*/
|
|
|
|
#define CONFIG_7xx
|
|
#undef CONFIG_74xx
|
|
#undef CONFIG_ALTIVEC
|
|
#define CONFIG_BUS_CLK 66000000
|
|
|
|
|
|
/*
|
|
* Monitor configuration
|
|
*
|
|
* List of command sets to include in shell
|
|
*
|
|
* The following command sets have been tested and known to work:
|
|
*
|
|
* CMD_CACHE - Cache control commands
|
|
* CMD_MEMORY - Memory display, change and test commands
|
|
* CMD_FLASH - Erase and program flash
|
|
* CMD_ENV - Environment commands
|
|
* CMD_RUN - Run commands stored in env vars
|
|
* CMD_ELF - Load ELF files
|
|
* CMD_NET - Networking/file download commands
|
|
* CMD_PIN - ICMP Echo Request command
|
|
* CMD_PCI - PCI Bus scanning command
|
|
*/
|
|
|
|
/*
|
|
* BOOTP options
|
|
*/
|
|
#define CONFIG_BOOTP_BOOTFILESIZE
|
|
#define CONFIG_BOOTP_BOOTPATH
|
|
#define CONFIG_BOOTP_GATEWAY
|
|
#define CONFIG_BOOTP_HOSTNAME
|
|
|
|
|
|
/*
|
|
* Command line configuration.
|
|
*/
|
|
#include <config_cmd_default.h>
|
|
|
|
#define CONFIG_CMD_FLASH
|
|
#define CONFIG_CMD_ENV
|
|
#define CONFIG_CMD_RUN
|
|
#define CONFIG_CMD_ELF
|
|
#define CONFIG_CMD_NET
|
|
#define CONFIG_CMD_PING
|
|
#define CONFIG_CMD_PCI
|
|
|
|
#undef CONFIG_CMD_KGDB
|
|
|
|
|
|
/*
|
|
* Serial configuration
|
|
*
|
|
* CONFIG_CONS_INDEX - Serial console port number (COM1)
|
|
* CONFIG_BAUDRATE - Serial speed
|
|
*/
|
|
|
|
#define CONFIG_CONS_INDEX 1
|
|
#define CONFIG_BAUDRATE 9600
|
|
|
|
|
|
/*
|
|
* PCI config
|
|
*
|
|
* CONFIG_PCI - Enable PCI bus
|
|
* CONFIG_PCI_PNP - Enable Plug & Play support
|
|
* CONFIG_PCI_SCAN_SHOW - Enable display of devices at startup
|
|
*/
|
|
|
|
#define CONFIG_PCI
|
|
#define CONFIG_PCI_PNP
|
|
#undef CONFIG_PCI_SCAN_SHOW
|
|
|
|
|
|
/*
|
|
* Network config
|
|
*
|
|
* CONFIG_NET_MULTI - Support for multiple network interfaces
|
|
* CONFIG_EEPRO100 - Intel 8255x Ethernet Controller
|
|
* CONFIG_EEPRO100_SROM_WRITE - Enable writing to network card ROM
|
|
*/
|
|
|
|
#define CONFIG_NET_MULTI
|
|
#define CONFIG_EEPRO100
|
|
#define CONFIG_EEPRO100_SROM_WRITE
|
|
|
|
|
|
/*
|
|
* Enable extra init functions
|
|
*
|
|
* CONFIG_MISC_INIT_F - Call pre-relocation init functions
|
|
* CONFIG_MISC_INIT_R - Call post relocation init functions
|
|
*/
|
|
|
|
#undef CONFIG_MISC_INIT_F
|
|
#define CONFIG_MISC_INIT_R
|
|
|
|
|
|
/*
|
|
* Boot config
|
|
*
|
|
* CONFIG_BOOTCOMMAND - Command(s) to execute to auto-boot
|
|
* CONFIG_BOOTDELAY - How long to wait before auto-boot (in sec)
|
|
*/
|
|
|
|
#define CONFIG_BOOTCOMMAND \
|
|
"bootp;" \
|
|
"setenv bootargs root=/dev/nfs rw nfsroot=$(serverip):$(rootpath) " \
|
|
"ip=$(ipaddr):$(serverip):$(gatewayip):$(netmask):$(hostname)::off;" \
|
|
"bootm"
|
|
#define CONFIG_BOOTDELAY 5
|
|
|
|
|
|
/*===================================================================
|
|
*
|
|
* Board configuration settings - You should not need to modify these
|
|
*
|
|
*===================================================================
|
|
*/
|
|
|
|
|
|
/*
|
|
* Memory map
|
|
*
|
|
* This board runs in a standard CHRP (Map-B) configuration.
|
|
*
|
|
* Type Start End Size Width Chip Sel
|
|
* ----------- ----------- ----------- ------- ------- --------
|
|
* SDRAM 0x00000000 0x04000000 64MB 64b SDRAMCS0
|
|
* User LED's 0x78000000 RCS3
|
|
* UART 0x7C000000 RCS2
|
|
* Mailbox 0xFF000000 RCS1
|
|
* Flash 0xFFC00000 0xFFFFFFFF 4MB 64b RCS0
|
|
*
|
|
* Flash sectors are laid out as follows.
|
|
*
|
|
* Sector Start End Size Comments
|
|
* ------- ----------- ----------- ------- -----------
|
|
* 0 0xFFC00000 0xFFC3FFFF 256KB
|
|
* 1 0xFFC40000 0xFFC7FFFF 256KB
|
|
* 2 0xFFC80000 0xFFCBFFFF 256KB
|
|
* 3 0xFFCC0000 0xFFCFFFFF 256KB
|
|
* 4 0xFFD00000 0xFFD3FFFF 256KB
|
|
* 5 0xFFD40000 0xFFD7FFFF 256KB
|
|
* 6 0xFFD80000 0xFFDBFFFF 256KB
|
|
* 7 0xFFDC0000 0xFFDFFFFF 256KB
|
|
* 8 0xFFE00000 0xFFE3FFFF 256KB
|
|
* 9 0xFFE40000 0xFFE7FFFF 256KB
|
|
* 10 0xFFE80000 0xFFEBFFFF 256KB
|
|
* 11 0xFFEC0000 0xFFEFFFFF 256KB
|
|
* 12 0xFFF00000 0xFFF3FFFF 256KB U-Boot code here
|
|
* 13 0xFFF40000 0xFFF7FFFF 256KB
|
|
* 14 0xFFF80000 0xFFFBFFFF 256KB
|
|
* 15 0xFFFC0000 0xFFFDFFFF 128KB
|
|
* 16 0xFFFE0000 0xFFFE7FFF 32KB U-Boot env vars here
|
|
* 17 0xFFFE8000 0xFFFEFFFF 32KB U-Boot backup copy of env vars here
|
|
* 18 0xFFFF0000 0xFFFFFFFF 64KB
|
|
*/
|
|
|
|
|
|
/*
|
|
* SDRAM config - see memory map details above.
|
|
*
|
|
* CFG_SDRAM_BASE - Start address of SDRAM, this _must_ be zero!
|
|
* CFG_SDRAM_SIZE - Total size of contiguous SDRAM bank(s)
|
|
*/
|
|
|
|
#define CFG_SDRAM_BASE 0x00000000
|
|
#define CFG_SDRAM_SIZE 0x04000000
|
|
|
|
|
|
/*
|
|
* Flash config - see memory map details above.
|
|
*
|
|
* CFG_FLASH_BASE - Start address of flash memory
|
|
* CFG_FLASH_SIZE - Total size of contiguous flash mem
|
|
* CFG_FLASH_ERASE_TOUT - Erase timeout in ms
|
|
* CFG_FLASH_WRITE_TOUT - Write timeout in ms
|
|
* CFG_MAX_FLASH_BANKS - Number of banks of flash on board
|
|
* CFG_MAX_FLASH_SECT - Number of sectors in a bank
|
|
*/
|
|
|
|
#define CFG_FLASH_BASE 0xFFC00000
|
|
#define CFG_FLASH_SIZE 0x00400000
|
|
#define CFG_FLASH_ERASE_TOUT 250000
|
|
#define CFG_FLASH_WRITE_TOUT 5000
|
|
#define CFG_MAX_FLASH_BANKS 1
|
|
#define CFG_MAX_FLASH_SECT 19
|
|
|
|
|
|
/*
|
|
* Monitor config - see memory map details above
|
|
*
|
|
* CFG_MONITOR_BASE - Base address of monitor code
|
|
* CFG_MALLOC_LEN - Size of malloc pool (128KB)
|
|
*/
|
|
|
|
#define CFG_MONITOR_BASE TEXT_BASE
|
|
#define CFG_MALLOC_LEN 0x20000
|
|
|
|
|
|
/*
|
|
* Command shell settings
|
|
*
|
|
* CFG_BARGSIZE - Boot Argument buffer size
|
|
* CFG_BOOTMAPSZ - Size of app's mapped RAM at boot (Linux=8MB)
|
|
* CFG_CBSIZE - Console Buffer (input) size
|
|
* CFG_LOAD_ADDR - Default load address
|
|
* CFG_LONGHELP - Provide more detailed help
|
|
* CFG_MAXARGS - Number of args accepted by monitor commands
|
|
* CFG_MEMTEST_START - Start address of test to run on RAM
|
|
* CFG_MEMTEST_END - End address of RAM test
|
|
* CFG_PBSIZE - Print Buffer (output) size
|
|
* CFG_PROMPT - Prompt string
|
|
*/
|
|
|
|
#define CFG_BARGSIZE 1024
|
|
#define CFG_BOOTMAPSZ 0x800000
|
|
#define CFG_CBSIZE 1024
|
|
#define CFG_LOAD_ADDR 0x100000
|
|
#define CFG_LONGHELP
|
|
#define CFG_MAXARGS 16
|
|
#define CFG_MEMTEST_START 0x00040000
|
|
#define CFG_MEMTEST_END 0x00040100
|
|
#define CFG_PBSIZE 1024
|
|
#define CFG_PROMPT "=> "
|
|
|
|
|
|
/*
|
|
* Environment config - see memory map details above
|
|
*
|
|
* CFG_ENV_IS_IN_FLASH - The env variables are stored in flash
|
|
* CFG_ENV_ADDR - Address of the sector containing env vars
|
|
* CFG_ENV_SIZE - Ammount of RAM for env vars (used to save RAM, 4KB)
|
|
* CFG_ENV_SECT_SIZE - Size of sector containing env vars (32KB)
|
|
*/
|
|
|
|
#define CFG_ENV_IS_IN_FLASH 1
|
|
#define CFG_ENV_ADDR 0xFFFE0000
|
|
#define CFG_ENV_SIZE 0x1000
|
|
#define CFG_ENV_ADDR_REDUND 0xFFFE8000
|
|
#define CFG_ENV_SIZE_REDUND 0x1000
|
|
#define CFG_ENV_SECT_SIZE 0x8000
|
|
|
|
|
|
/*
|
|
* Initial RAM config
|
|
*
|
|
* Since the main system RAM is initialised very early, we place the INIT_RAM
|
|
* in the main system RAM just above the exception vectors. The contents are
|
|
* copied to top of RAM by the init code.
|
|
*
|
|
* CFG_INIT_RAM_ADDR - Address of Init RAM, above exception vect
|
|
* CFG_INIT_RAM_END - Size of Init RAM
|
|
* CFG_GBL_DATA_SIZE - Ammount of RAM to reserve for global data
|
|
* CFG_GBL_DATA_OFFSET - Start of global data, top of stack
|
|
*/
|
|
|
|
#define CFG_INIT_RAM_ADDR (CFG_SDRAM_BASE + 0x4000)
|
|
#define CFG_INIT_RAM_END 0x4000
|
|
#define CFG_GBL_DATA_SIZE 128
|
|
#define CFG_GBL_DATA_OFFSET (CFG_INIT_RAM_END - CFG_GBL_DATA_SIZE)
|
|
|
|
|
|
/*
|
|
* Initial BAT config
|
|
*
|
|
* BAT0 - System SDRAM
|
|
* BAT1 - LED's and Serial Port
|
|
* BAT2 - PCI Memory
|
|
* BAT3 - PCI I/O including Flash Memory
|
|
*/
|
|
|
|
#define CFG_IBAT0L (CFG_SDRAM_BASE | BATL_PP_10 | BATL_MEMCOHERENCE)
|
|
#define CFG_IBAT0U (CFG_SDRAM_BASE | BATU_BL_64M | BATU_VS | BATU_VP)
|
|
#define CFG_DBAT0L CFG_IBAT0L
|
|
#define CFG_DBAT0U CFG_IBAT0U
|
|
|
|
#define CFG_IBAT1L (0x70000000 | BATL_PP_RW | BATL_CACHEINHIBIT)
|
|
#define CFG_IBAT1U (0x70000000 | BATU_BL_256M | BATU_VS | BATU_VP)
|
|
#define CFG_DBAT1L (0x70000000 | BATL_PP_RW | BATL_CACHEINHIBIT | BATL_GUARDEDSTORAGE)
|
|
#define CFG_DBAT1U (0x70000000 | BATU_BL_256M | BATU_VS | BATU_VP)
|
|
|
|
#define CFG_IBAT2L (0x80000000 | BATL_PP_RW | BATL_CACHEINHIBIT)
|
|
#define CFG_IBAT2U (0x80000000 | BATU_BL_256M | BATU_VS | BATU_VP)
|
|
#define CFG_DBAT2L (0x80000000 | BATL_PP_RW | BATL_CACHEINHIBIT | BATL_GUARDEDSTORAGE)
|
|
#define CFG_DBAT2U (0x80000000 | BATU_BL_256M | BATU_VS | BATU_VP)
|
|
|
|
#define CFG_IBAT3L (0xF0000000 | BATL_PP_RW | BATL_CACHEINHIBIT)
|
|
#define CFG_IBAT3U (0xF0000000 | BATU_BL_256M | BATU_VS | BATU_VP)
|
|
#define CFG_DBAT3L (0xF0000000 | BATL_PP_RW | BATL_CACHEINHIBIT | BATL_GUARDEDSTORAGE)
|
|
#define CFG_DBAT3U (0xF0000000 | BATU_BL_256M | BATU_VS | BATU_VP)
|
|
|
|
|
|
/*
|
|
* Cache config
|
|
*
|
|
* CFG_CACHELINE_SIZE - Size of a cache line (CPU specific)
|
|
* CFG_L2 - L2 cache enabled if defined
|
|
* L2_INIT - L2 cache init flags
|
|
* L2_ENABLE - L2 cache enable flags
|
|
*/
|
|
|
|
#define CFG_CACHELINE_SIZE 32
|
|
#undef CFG_L2
|
|
#define L2_INIT 0
|
|
#define L2_ENABLE 0
|
|
|
|
|
|
/*
|
|
* Clocks config
|
|
*
|
|
* CFG_BUS_HZ - Bus clock frequency in Hz
|
|
* CFG_BUS_CLK - As above (?)
|
|
* CFG_HZ - Decrementer freq in Hz
|
|
*/
|
|
|
|
#define CFG_BUS_HZ CONFIG_BUS_CLK
|
|
#define CFG_BUS_CLK CONFIG_BUS_CLK
|
|
#define CFG_HZ 1000
|
|
|
|
|
|
/*
|
|
* Serial port config
|
|
*
|
|
* CFG_BAUDRATE_TABLE - List of valid baud rates
|
|
* CFG_NS16550 - Include the NS16550 driver
|
|
* CFG_NS16550_SERIAL - Include the serial (wrapper) driver
|
|
* CFG_NS16550_CLK - Frequency of reference clock
|
|
* CFG_NS16550_REG_SIZE - 64-bit accesses to 8-bit port
|
|
* CFG_NS16550_COM1 - Base address of 1st serial port
|
|
*/
|
|
|
|
#define CFG_BAUDRATE_TABLE { 9600, 19200, 38400, 57600, 115200 }
|
|
#define CFG_NS16550
|
|
#define CFG_NS16550_SERIAL
|
|
#define CFG_NS16550_CLK 3686400
|
|
#define CFG_NS16550_REG_SIZE -8
|
|
#define CFG_NS16550_COM1 0x7C000000
|
|
|
|
|
|
/*
|
|
* PCI Config - Address Map B (CHRP)
|
|
*/
|
|
|
|
#define CFG_PCI_MEMORY_BUS 0x00000000
|
|
#define CFG_PCI_MEMORY_PHYS 0x00000000
|
|
#define CFG_PCI_MEMORY_SIZE 0x40000000
|
|
#define CFG_PCI_MEM_BUS 0x80000000
|
|
#define CFG_PCI_MEM_PHYS 0x80000000
|
|
#define CFG_PCI_MEM_SIZE 0x7D000000
|
|
#define CFG_ISA_MEM_BUS 0x00000000
|
|
#define CFG_ISA_MEM_PHYS 0xFD000000
|
|
#define CFG_ISA_MEM_SIZE 0x01000000
|
|
#define CFG_PCI_IO_BUS 0x00800000
|
|
#define CFG_PCI_IO_PHYS 0xFE800000
|
|
#define CFG_PCI_IO_SIZE 0x00400000
|
|
#define CFG_ISA_IO_BUS 0x00000000
|
|
#define CFG_ISA_IO_PHYS 0xFE000000
|
|
#define CFG_ISA_IO_SIZE 0x00800000
|
|
#define CFG_ISA_IO_BASE_ADDRESS CFG_ISA_IO_PHYS
|
|
#define CFG_ISA_IO CFG_ISA_IO_PHYS
|
|
#define CFG_60X_PCI_IO_OFFSET CFG_ISA_IO_PHYS
|
|
|
|
|
|
/*
|
|
* Extra init functions
|
|
*
|
|
* CFG_BOARD_ASM_INIT - Call assembly init code
|
|
*/
|
|
|
|
#define CFG_BOARD_ASM_INIT
|
|
|
|
|
|
/*
|
|
* Boot flags
|
|
*
|
|
* BOOTFLAG_COLD - Indicates a power-on boot
|
|
* BOOTFLAG_WARM - Indicates a software reset
|
|
*/
|
|
|
|
#define BOOTFLAG_COLD 0x01
|
|
#define BOOTFLAG_WARM 0x02
|
|
|
|
|
|
#endif /* __CONFIG_H */
|