mirror of
https://github.com/Ysurac/openmptcprouter.git
synced 2025-03-09 15:40:20 +00:00
Add a directory by kernel instead of a common root, add qnap-301w and rpi4 kernel 6.1 suppport
This commit is contained in:
parent
e910436a7a
commit
46837ec4c0
9459 changed files with 362648 additions and 116345 deletions
6
common/package/utils/sysupgrade-helper/src/include/.gitignore
vendored
Normal file
6
common/package/utils/sysupgrade-helper/src/include/.gitignore
vendored
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
/autoconf.mk*
|
||||
/asm
|
||||
/bmp_logo.h
|
||||
/bmp_logo_data.h
|
||||
/config.h
|
||||
/config.mk
|
||||
126
common/package/utils/sysupgrade-helper/src/include/74xx_7xx.h
Normal file
126
common/package/utils/sysupgrade-helper/src/include/74xx_7xx.h
Normal file
|
|
@ -0,0 +1,126 @@
|
|||
/*
|
||||
* (C) Copyright 2001
|
||||
* Josh Huber, Mission Critical Linux, Inc. <huber@mclx.com>
|
||||
*
|
||||
* See file CREDITS for list of people who contributed to this
|
||||
* project.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of
|
||||
* the License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston,
|
||||
* MA 02111-1307 USA
|
||||
*/
|
||||
|
||||
/*
|
||||
* 74xx_7xx.h
|
||||
*
|
||||
* 74xx/7xx specific definitions
|
||||
*/
|
||||
|
||||
#ifndef __MPC74XX_H__
|
||||
#define __MPC74XX_H__
|
||||
|
||||
/*----------------------------------------------------------------
|
||||
* Exception offsets (PowerPC standard)
|
||||
*/
|
||||
#define EXC_OFF_SYS_RESET 0x0100 /* default system reset offset */
|
||||
#define _START_OFFSET EXC_OFF_SYS_RESET
|
||||
|
||||
/*----------------------------------------------------------------
|
||||
* l2cr values
|
||||
*/
|
||||
#define l2cr 1017
|
||||
|
||||
#define L2CR_L2E 0x80000000 /* bit 0 - enable */
|
||||
#define L2CR_L2PE 0x40000000 /* bit 1 - data parity */
|
||||
#define L2CR_L2SIZ_2M 0x00000000 /* bits 2-3 - 2MB, MPC7400 only! */
|
||||
#define L2CR_L2SIZ_1M 0x30000000 /* ... 1MB */
|
||||
#define L2CR_L2SIZ_HM 0x20000000 /* ... 512K */
|
||||
#define L2CR_L2SIZ_QM 0x10000000 /* ... 256k */
|
||||
#define L2CR_L2CLK_1 0x02000000 /* bits 4-6 clock ratio div 1 */
|
||||
#define L2CR_L2CLK_1_5 0x04000000 /* bits 4-6 clock ratio div 1.5 */
|
||||
#define L2CR_L2CLK_2 0x08000000 /* bits 4-6 clock ratio div 2 */
|
||||
#define L2CR_L2CLK_2_5 0x0a000000 /* bits 4-6 clock ratio div 2.5 */
|
||||
#define L2CR_L2CLK_3 0x0c000000 /* bits 4-6 clock ratio div 3 */
|
||||
#define L2CR_L2CLK_3_5 0x06000000 /* bits 4-6 clock ratio div 3.5 */
|
||||
#define L2CR_L2CLK_4 0x0e000000 /* bits 4-6 clock ratio div 4 */
|
||||
#define L2CR_L2RAM_BURST 0x01000000 /* bits 7-8 - burst SRAM */
|
||||
#define L2CR_DO 0x00400000 /* bit 9 - enable caching of instr. in L2 */
|
||||
#define L2CR_L2I 0x00200000 /* bit 10 - global invalidate bit */
|
||||
#define L2CR_L2CTL 0x00100000 /* bit 11 - l2 ram control */
|
||||
#define L2CR_L2WT 0x00080000 /* bit 12 - l2 write-through */
|
||||
#define L2CR_TS 0x00040000 /* bit 13 - test support on */
|
||||
#define L2CR_TS_OFF -L2CR_TS /* bit 13 - test support off */
|
||||
#define L2CR_L2OH_5 0x00000000 /* bits 14-15 - output hold time = short */
|
||||
#define L2CR_L2OH_1 0x00010000 /* bits 14-15 - output hold time = medium */
|
||||
#define L2CR_L2OH_INV 0x00020000 /* bits 14-15 - output hold time = long */
|
||||
#define L2CR_L2IP 0x00000001 /* global invalidate in progress */
|
||||
|
||||
#ifndef __ASSEMBLY__
|
||||
/* cpu ids we detect */
|
||||
typedef enum __cpu_t {
|
||||
CPU_740, CPU_750,
|
||||
CPU_740P, CPU_750P,
|
||||
CPU_745, CPU_755,
|
||||
CPU_750CX, CPU_750FX, CPU_750GX,
|
||||
CPU_7400,
|
||||
CPU_7410,
|
||||
CPU_7447A, CPU_7448,
|
||||
CPU_7450, CPU_7455, CPU_7457,
|
||||
CPU_UNKNOWN} cpu_t;
|
||||
|
||||
extern cpu_t get_cpu_type(void);
|
||||
|
||||
#define l1icache_enable icache_enable
|
||||
|
||||
void l2cache_enable(void);
|
||||
void l1dcache_enable(void);
|
||||
|
||||
static __inline__ unsigned long get_msr (void)
|
||||
{
|
||||
unsigned long msr;
|
||||
asm volatile("mfmsr %0" : "=r" (msr) :);
|
||||
return msr;
|
||||
}
|
||||
|
||||
static __inline__ void set_msr (unsigned long msr)
|
||||
{
|
||||
asm volatile("mtmsr %0" : : "r" (msr));
|
||||
}
|
||||
|
||||
static __inline__ unsigned long get_hid0 (void)
|
||||
{
|
||||
unsigned long hid0;
|
||||
asm volatile("mfspr %0, 1008" : "=r" (hid0) :);
|
||||
return hid0;
|
||||
}
|
||||
|
||||
static __inline__ unsigned long get_hid1 (void)
|
||||
{
|
||||
unsigned long hid1;
|
||||
asm volatile("mfspr %0, 1009" : "=r" (hid1) :);
|
||||
return hid1;
|
||||
}
|
||||
|
||||
static __inline__ void set_hid0 (unsigned long hid0)
|
||||
{
|
||||
asm volatile("mtspr 1008, %0" : : "r" (hid0));
|
||||
}
|
||||
|
||||
static __inline__ void set_hid1 (unsigned long hid1)
|
||||
{
|
||||
asm volatile("mtspr 1009, %0" : : "r" (hid1));
|
||||
}
|
||||
|
||||
#endif /* __ASSEMBLY__ */
|
||||
#endif /* __MPC74XX_H__ */
|
||||
87
common/package/utils/sysupgrade-helper/src/include/ACEX1K.h
Normal file
87
common/package/utils/sysupgrade-helper/src/include/ACEX1K.h
Normal file
|
|
@ -0,0 +1,87 @@
|
|||
/*
|
||||
* (C) Copyright 2003
|
||||
* Steven Scholz, imc Measurement & Control, steven.scholz@imc-berlin.de
|
||||
*
|
||||
* (C) Copyright 2002
|
||||
* Rich Ireland, Enterasys Networks, rireland@enterasys.com.
|
||||
*
|
||||
* See file CREDITS for list of people who contributed to this
|
||||
* project.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of
|
||||
* the License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston,
|
||||
* MA 02111-1307 USA
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef _ACEX1K_H_
|
||||
#define _ACEX1K_H_
|
||||
|
||||
#include <altera.h>
|
||||
|
||||
extern int ACEX1K_load(Altera_desc *desc, const void *image, size_t size);
|
||||
extern int ACEX1K_dump(Altera_desc *desc, const void *buf, size_t bsize);
|
||||
extern int ACEX1K_info(Altera_desc *desc);
|
||||
|
||||
extern int CYC2_load(Altera_desc *desc, const void *image, size_t size);
|
||||
extern int CYC2_dump(Altera_desc *desc, const void *buf, size_t bsize);
|
||||
extern int CYC2_info(Altera_desc *desc);
|
||||
|
||||
/* Slave Serial Implementation function table */
|
||||
typedef struct {
|
||||
Altera_pre_fn pre;
|
||||
Altera_config_fn config;
|
||||
Altera_clk_fn clk;
|
||||
Altera_status_fn status;
|
||||
Altera_done_fn done;
|
||||
Altera_data_fn data;
|
||||
Altera_abort_fn abort;
|
||||
Altera_post_fn post;
|
||||
} Altera_ACEX1K_Passive_Serial_fns;
|
||||
|
||||
/* Slave Serial Implementation function table */
|
||||
typedef struct {
|
||||
Altera_pre_fn pre;
|
||||
Altera_config_fn config;
|
||||
Altera_status_fn status;
|
||||
Altera_done_fn done;
|
||||
Altera_write_fn write;
|
||||
Altera_abort_fn abort;
|
||||
Altera_post_fn post;
|
||||
} Altera_CYC2_Passive_Serial_fns;
|
||||
|
||||
/* Device Image Sizes
|
||||
*********************************************************************/
|
||||
/* ACEX1K */
|
||||
/* FIXME: Which size do we mean?
|
||||
* Datasheet says 1337000/8=167125Bytes,
|
||||
* Filesize of an *.rbf file is 166965 Bytes
|
||||
*/
|
||||
#if 0
|
||||
#define Altera_EP1K100_SIZE 1337000/8 /* 167125 Bytes */
|
||||
#endif
|
||||
#define Altera_EP1K100_SIZE (166965*8)
|
||||
|
||||
#define Altera_EP2C8_SIZE 247942
|
||||
#define Altera_EP2C20_SIZE 586562
|
||||
#define Altera_EP2C35_SIZE 883905
|
||||
#define Altera_EP3C5_SIZE 368011 /* .rbf size in bytes */
|
||||
|
||||
/* Descriptor Macros
|
||||
*********************************************************************/
|
||||
/* ACEX1K devices */
|
||||
#define Altera_EP1K100_DESC(iface, fn_table, cookie) \
|
||||
{ Altera_ACEX1K, iface, Altera_EP1K100_SIZE, fn_table, cookie }
|
||||
|
||||
#endif /* _ACEX1K_H_ */
|
||||
386
common/package/utils/sysupgrade-helper/src/include/MCD_dma.h
Normal file
386
common/package/utils/sysupgrade-helper/src/include/MCD_dma.h
Normal file
|
|
@ -0,0 +1,386 @@
|
|||
/*
|
||||
* Copyright (C) 2004-2007 Freescale Semiconductor, Inc.
|
||||
*
|
||||
* See file CREDITS for list of people who contributed to this
|
||||
* project.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of
|
||||
* the License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston,
|
||||
* MA 02111-1307 USA
|
||||
*/
|
||||
|
||||
#ifndef _MCD_API_H
|
||||
#define _MCD_API_H
|
||||
|
||||
/* Turn Execution Unit tasks ON (#define) or OFF (#undef) */
|
||||
#undef MCD_INCLUDE_EU
|
||||
|
||||
/* Number of DMA channels */
|
||||
#define NCHANNELS 16
|
||||
|
||||
/* Total number of variants */
|
||||
#ifdef MCD_INCLUDE_EU
|
||||
#define NUMOFVARIANTS 6
|
||||
#else
|
||||
#define NUMOFVARIANTS 4
|
||||
#endif
|
||||
|
||||
/* Define sizes of the various tables */
|
||||
#define TASK_TABLE_SIZE (NCHANNELS*32)
|
||||
#define VAR_TAB_SIZE (128)
|
||||
#define CONTEXT_SAVE_SIZE (128)
|
||||
#define FUNCDESC_TAB_SIZE (256)
|
||||
|
||||
#ifdef MCD_INCLUDE_EU
|
||||
#define FUNCDESC_TAB_NUM 16
|
||||
#else
|
||||
#define FUNCDESC_TAB_NUM 1
|
||||
#endif
|
||||
|
||||
#ifndef DEFINESONLY
|
||||
|
||||
/* Portability typedefs */
|
||||
#if 1
|
||||
#include "common.h"
|
||||
#else
|
||||
#ifndef s32
|
||||
typedef int s32;
|
||||
#endif
|
||||
#ifndef u32
|
||||
typedef unsigned int u32;
|
||||
#endif
|
||||
#ifndef s16
|
||||
typedef short s16;
|
||||
#endif
|
||||
#ifndef u16
|
||||
typedef unsigned short u16;
|
||||
#endif
|
||||
#ifndef s8
|
||||
typedef char s8;
|
||||
#endif
|
||||
#ifndef u8
|
||||
typedef unsigned char u8;
|
||||
#endif
|
||||
#endif
|
||||
|
||||
/*
|
||||
* These structures represent the internal registers of the
|
||||
* multi-channel DMA
|
||||
*/
|
||||
struct dmaRegs_s {
|
||||
u32 taskbar; /* task table base address */
|
||||
u32 currPtr;
|
||||
u32 endPtr;
|
||||
u32 varTablePtr;
|
||||
u16 dma_rsvd0;
|
||||
u16 ptdControl; /* ptd control */
|
||||
u32 intPending; /* interrupt pending */
|
||||
u32 intMask; /* interrupt mask */
|
||||
u16 taskControl[16]; /* task control */
|
||||
u8 priority[32]; /* priority */
|
||||
u32 initiatorMux; /* initiator mux control */
|
||||
u32 taskSize0; /* task size control 0. */
|
||||
u32 taskSize1; /* task size control 1. */
|
||||
u32 dma_rsvd1; /* reserved */
|
||||
u32 dma_rsvd2; /* reserved */
|
||||
u32 debugComp1; /* debug comparator 1 */
|
||||
u32 debugComp2; /* debug comparator 2 */
|
||||
u32 debugControl; /* debug control */
|
||||
u32 debugStatus; /* debug status */
|
||||
u32 ptdDebug; /* priority task decode debug */
|
||||
u32 dma_rsvd3[31]; /* reserved */
|
||||
};
|
||||
typedef volatile struct dmaRegs_s dmaRegs;
|
||||
|
||||
#endif
|
||||
|
||||
/* PTD contrl reg bits */
|
||||
#define PTD_CTL_TSK_PRI 0x8000
|
||||
#define PTD_CTL_COMM_PREFETCH 0x0001
|
||||
|
||||
/* Task Control reg bits and field masks */
|
||||
#define TASK_CTL_EN 0x8000
|
||||
#define TASK_CTL_VALID 0x4000
|
||||
#define TASK_CTL_ALWAYS 0x2000
|
||||
#define TASK_CTL_INIT_MASK 0x1f00
|
||||
#define TASK_CTL_ASTRT 0x0080
|
||||
#define TASK_CTL_HIPRITSKEN 0x0040
|
||||
#define TASK_CTL_HLDINITNUM 0x0020
|
||||
#define TASK_CTL_ASTSKNUM_MASK 0x000f
|
||||
|
||||
/* Priority reg bits and field masks */
|
||||
#define PRIORITY_HLD 0x80
|
||||
#define PRIORITY_PRI_MASK 0x07
|
||||
|
||||
/* Debug Control reg bits and field masks */
|
||||
#define DBG_CTL_BLOCK_TASKS_MASK 0xffff0000
|
||||
#define DBG_CTL_AUTO_ARM 0x00008000
|
||||
#define DBG_CTL_BREAK 0x00004000
|
||||
#define DBG_CTL_COMP1_TYP_MASK 0x00003800
|
||||
#define DBG_CTL_COMP2_TYP_MASK 0x00000070
|
||||
#define DBG_CTL_EXT_BREAK 0x00000004
|
||||
#define DBG_CTL_INT_BREAK 0x00000002
|
||||
|
||||
/*
|
||||
* PTD Debug reg selector addresses
|
||||
* This reg must be written with a value to show the contents of
|
||||
* one of the desired internal register.
|
||||
*/
|
||||
#define PTD_DBG_REQ 0x00 /* shows the state of 31 initiators */
|
||||
#define PTD_DBG_TSK_VLD_INIT 0x01 /* shows which 16 tasks are valid and
|
||||
have initiators asserted */
|
||||
|
||||
/* General return values */
|
||||
#define MCD_OK 0
|
||||
#define MCD_ERROR -1
|
||||
#define MCD_TABLE_UNALIGNED -2
|
||||
#define MCD_CHANNEL_INVALID -3
|
||||
|
||||
/* MCD_initDma input flags */
|
||||
#define MCD_RELOC_TASKS 0x00000001
|
||||
#define MCD_NO_RELOC_TASKS 0x00000000
|
||||
#define MCD_COMM_PREFETCH_EN 0x00000002 /* MCF547x/548x ONLY */
|
||||
|
||||
/*
|
||||
* MCD_dmaStatus Status Values for each channel:
|
||||
* MCD_NO_DMA - No DMA has been requested since reset
|
||||
* MCD_IDLE - DMA active, but the initiator is currently inactive
|
||||
* MCD_RUNNING - DMA active, and the initiator is currently active
|
||||
* MCD_PAUSED - DMA active but it is currently paused
|
||||
* MCD_HALTED - the most recent DMA has been killed with MCD_killTask()
|
||||
* MCD_DONE - the most recent DMA has completed
|
||||
*/
|
||||
#define MCD_NO_DMA 1
|
||||
#define MCD_IDLE 2
|
||||
#define MCD_RUNNING 3
|
||||
#define MCD_PAUSED 4
|
||||
#define MCD_HALTED 5
|
||||
#define MCD_DONE 6
|
||||
|
||||
/* MCD_startDma parameter defines */
|
||||
|
||||
/* Constants for the funcDesc parameter */
|
||||
/*
|
||||
* MCD_NO_BYTE_SWAP - to disable byte swapping
|
||||
* MCD_BYTE_REVERSE - to reverse the bytes of each u32 of the DMAed data
|
||||
* MCD_U16_REVERSE - to reverse the 16-bit halves of each 32-bit data
|
||||
* value being DMAed
|
||||
* MCD_U16_BYTE_REVERSE - to reverse the byte halves of each 16-bit half of
|
||||
* each 32-bit data value DMAed
|
||||
* MCD_NO_BIT_REV - do not reverse the bits of each byte DMAed
|
||||
* MCD_BIT_REV - reverse the bits of each byte DMAed
|
||||
* MCD_CRC16 - to perform CRC-16 on DMAed data
|
||||
* MCD_CRCCCITT - to perform CRC-CCITT on DMAed data
|
||||
* MCD_CRC32 - to perform CRC-32 on DMAed data
|
||||
* MCD_CSUMINET - to perform internet checksums on DMAed data
|
||||
* MCD_NO_CSUM - to perform no checksumming
|
||||
*/
|
||||
#define MCD_NO_BYTE_SWAP 0x00045670
|
||||
#define MCD_BYTE_REVERSE 0x00076540
|
||||
#define MCD_U16_REVERSE 0x00067450
|
||||
#define MCD_U16_BYTE_REVERSE 0x00054760
|
||||
#define MCD_NO_BIT_REV 0x00000000
|
||||
#define MCD_BIT_REV 0x00088880
|
||||
/* CRCing: */
|
||||
#define MCD_CRC16 0xc0100000
|
||||
#define MCD_CRCCCITT 0xc0200000
|
||||
#define MCD_CRC32 0xc0300000
|
||||
#define MCD_CSUMINET 0xc0400000
|
||||
#define MCD_NO_CSUM 0xa0000000
|
||||
|
||||
#define MCD_FUNC_NOEU1 (MCD_NO_BYTE_SWAP | MCD_NO_BIT_REV | \
|
||||
MCD_NO_CSUM)
|
||||
#define MCD_FUNC_NOEU2 (MCD_NO_BYTE_SWAP | MCD_NO_CSUM)
|
||||
|
||||
/* Constants for the flags parameter */
|
||||
#define MCD_TT_FLAGS_RL 0x00000001 /* Read line */
|
||||
#define MCD_TT_FLAGS_CW 0x00000002 /* Combine Writes */
|
||||
#define MCD_TT_FLAGS_SP 0x00000004 /* MCF547x/548x ONLY */
|
||||
#define MCD_TT_FLAGS_MASK 0x000000ff
|
||||
#define MCD_TT_FLAGS_DEF (MCD_TT_FLAGS_RL | MCD_TT_FLAGS_CW)
|
||||
|
||||
#define MCD_SINGLE_DMA 0x00000100 /* Unchained DMA */
|
||||
#define MCD_CHAIN_DMA /* TBD */
|
||||
#define MCD_EU_DMA /* TBD */
|
||||
#define MCD_FECTX_DMA 0x00001000 /* FEC TX ring DMA */
|
||||
#define MCD_FECRX_DMA 0x00002000 /* FEC RX ring DMA */
|
||||
|
||||
/* these flags are valid for MCD_startDma and the chained buffer descriptors */
|
||||
/*
|
||||
* MCD_BUF_READY - indicates that this buf is now under the DMA's ctrl
|
||||
* MCD_WRAP - to tell the FEC Dmas to wrap to the first BD
|
||||
* MCD_INTERRUPT - to generate an interrupt after completion of the DMA
|
||||
* MCD_END_FRAME - tell the DMA to end the frame when transferring
|
||||
* last byte of data in buffer
|
||||
* MCD_CRC_RESTART - to empty out the accumulated checksum prior to
|
||||
* performing the DMA
|
||||
*/
|
||||
#define MCD_BUF_READY 0x80000000
|
||||
#define MCD_WRAP 0x20000000
|
||||
#define MCD_INTERRUPT 0x10000000
|
||||
#define MCD_END_FRAME 0x08000000
|
||||
#define MCD_CRC_RESTART 0x40000000
|
||||
|
||||
/* Defines for the FEC buffer descriptor control/status word*/
|
||||
#define MCD_FEC_BUF_READY 0x8000
|
||||
#define MCD_FEC_WRAP 0x2000
|
||||
#define MCD_FEC_INTERRUPT 0x1000
|
||||
#define MCD_FEC_END_FRAME 0x0800
|
||||
|
||||
/* Defines for general intuitiveness */
|
||||
|
||||
#define MCD_TRUE 1
|
||||
#define MCD_FALSE 0
|
||||
|
||||
/* Three different cases for destination and source. */
|
||||
#define MINUS1 -1
|
||||
#define ZERO 0
|
||||
#define PLUS1 1
|
||||
|
||||
#ifndef DEFINESONLY
|
||||
|
||||
/* Task Table Entry struct*/
|
||||
typedef struct {
|
||||
u32 TDTstart; /* task descriptor table start */
|
||||
u32 TDTend; /* task descriptor table end */
|
||||
u32 varTab; /* variable table start */
|
||||
u32 FDTandFlags; /* function descriptor table start & flags */
|
||||
volatile u32 descAddrAndStatus;
|
||||
volatile u32 modifiedVarTab;
|
||||
u32 contextSaveSpace; /* context save space start */
|
||||
u32 literalBases;
|
||||
} TaskTableEntry;
|
||||
|
||||
/* Chained buffer descriptor:
|
||||
* flags - flags describing the DMA
|
||||
* csumResult - checksum performed since last checksum reset
|
||||
* srcAddr - the address to move data from
|
||||
* destAddr - the address to move data to
|
||||
* lastDestAddr - the last address written to
|
||||
* dmaSize - the no of bytes to xfer independent of the xfer sz
|
||||
* next - next buffer descriptor in chain
|
||||
* info - private info about this descriptor; DMA does not affect it
|
||||
*/
|
||||
typedef volatile struct MCD_bufDesc_struct MCD_bufDesc;
|
||||
struct MCD_bufDesc_struct {
|
||||
u32 flags;
|
||||
u32 csumResult;
|
||||
s8 *srcAddr;
|
||||
s8 *destAddr;
|
||||
s8 *lastDestAddr;
|
||||
u32 dmaSize;
|
||||
MCD_bufDesc *next;
|
||||
u32 info;
|
||||
};
|
||||
|
||||
/* Progress Query struct:
|
||||
* lastSrcAddr - the most-recent or last, post-increment source address
|
||||
* lastDestAddr - the most-recent or last, post-increment destination address
|
||||
* dmaSize - the amount of data transferred for the current buffer
|
||||
* currBufDesc - pointer to the current buffer descriptor being DMAed
|
||||
*/
|
||||
|
||||
typedef volatile struct MCD_XferProg_struct {
|
||||
s8 *lastSrcAddr;
|
||||
s8 *lastDestAddr;
|
||||
u32 dmaSize;
|
||||
MCD_bufDesc *currBufDesc;
|
||||
} MCD_XferProg;
|
||||
|
||||
/* FEC buffer descriptor */
|
||||
typedef volatile struct MCD_bufDescFec_struct {
|
||||
u16 statCtrl;
|
||||
u16 length;
|
||||
u32 dataPointer;
|
||||
} MCD_bufDescFec;
|
||||
|
||||
/*************************************************************************/
|
||||
/* API function Prototypes - see MCD_dmaApi.c for further notes */
|
||||
|
||||
/* MCD_startDma starts a particular kind of DMA:
|
||||
* srcAddr - the channel on which to run the DMA
|
||||
* srcIncr - the address to move data from, or buffer-descriptor address
|
||||
* destAddr - the amount to increment the source address per transfer
|
||||
* destIncr - the address to move data to
|
||||
* dmaSize - the amount to increment the destination address per transfer
|
||||
* xferSize - the number bytes in of each data movement (1, 2, or 4)
|
||||
* initiator - what device initiates the DMA
|
||||
* priority - priority of the DMA
|
||||
* flags - flags describing the DMA
|
||||
* funcDesc - description of byte swapping, bit swapping, and CRC actions
|
||||
*/
|
||||
int MCD_startDma(int channel, s8 * srcAddr, s16 srcIncr, s8 * destAddr,
|
||||
s16 destIncr, u32 dmaSize, u32 xferSize, u32 initiator,
|
||||
int priority, u32 flags, u32 funcDesc);
|
||||
|
||||
/*
|
||||
* MCD_initDma() initializes the DMA API by setting up a pointer to the DMA
|
||||
* registers, relocating and creating the appropriate task structures, and
|
||||
* setting up some global settings
|
||||
*/
|
||||
int MCD_initDma(dmaRegs * sDmaBarAddr, void *taskTableDest, u32 flags);
|
||||
|
||||
/* MCD_dmaStatus() returns the status of the DMA on the requested channel. */
|
||||
int MCD_dmaStatus(int channel);
|
||||
|
||||
/* MCD_XferProgrQuery() returns progress of DMA on requested channel */
|
||||
int MCD_XferProgrQuery(int channel, MCD_XferProg * progRep);
|
||||
|
||||
/*
|
||||
* MCD_killDma() halts the DMA on the requested channel, without any
|
||||
* intention of resuming the DMA.
|
||||
*/
|
||||
int MCD_killDma(int channel);
|
||||
|
||||
/*
|
||||
* MCD_continDma() continues a DMA which as stopped due to encountering an
|
||||
* unready buffer descriptor.
|
||||
*/
|
||||
int MCD_continDma(int channel);
|
||||
|
||||
/*
|
||||
* MCD_pauseDma() pauses the DMA on the given channel ( if any DMA is
|
||||
* running on that channel).
|
||||
*/
|
||||
int MCD_pauseDma(int channel);
|
||||
|
||||
/*
|
||||
* MCD_resumeDma() resumes the DMA on a given channel (if any DMA is
|
||||
* running on that channel).
|
||||
*/
|
||||
int MCD_resumeDma(int channel);
|
||||
|
||||
/* MCD_csumQuery provides the checksum/CRC after performing a non-chained DMA */
|
||||
int MCD_csumQuery(int channel, u32 * csum);
|
||||
|
||||
/*
|
||||
* MCD_getCodeSize provides the packed size required by the microcoded task
|
||||
* and structures.
|
||||
*/
|
||||
int MCD_getCodeSize(void);
|
||||
|
||||
/*
|
||||
* MCD_getVersion provides a pointer to a version string and returns a
|
||||
* version number.
|
||||
*/
|
||||
int MCD_getVersion(char **longVersion);
|
||||
|
||||
/* macro for setting a location in the variable table */
|
||||
#define MCD_SET_VAR(taskTab,idx,value) ((u32 *)(taskTab)->varTab)[idx] = value
|
||||
/* Note that MCD_SET_VAR() is invoked many times in firing up a DMA function,
|
||||
so I'm avoiding surrounding it with "do {} while(0)" */
|
||||
|
||||
#endif /* DEFINESONLY */
|
||||
|
||||
#endif /* _MCD_API_H */
|
||||
|
|
@ -0,0 +1,27 @@
|
|||
/*
|
||||
* Copyright (C) 2004-2007 Freescale Semiconductor, Inc.
|
||||
*
|
||||
* See file CREDITS for list of people who contributed to this
|
||||
* project.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of
|
||||
* the License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston,
|
||||
* MA 02111-1307 USA
|
||||
*/
|
||||
|
||||
/* This file is autogenerated. Do not change */
|
||||
#define CURRBD 4
|
||||
#define DCOUNT 6
|
||||
#define DESTPTR 5
|
||||
#define SRCPTR 7
|
||||
|
|
@ -0,0 +1,60 @@
|
|||
/*
|
||||
* Copyright (C) 2004-2007 Freescale Semiconductor, Inc.
|
||||
*
|
||||
* See file CREDITS for list of people who contributed to this
|
||||
* project.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of
|
||||
* the License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston,
|
||||
* MA 02111-1307 USA
|
||||
*/
|
||||
|
||||
#ifndef MCD_TSK_INIT_H
|
||||
#define MCD_TSK_INIT_H 1
|
||||
|
||||
/*
|
||||
* Do not edit!
|
||||
*/
|
||||
|
||||
/* Task 0 */
|
||||
void MCD_startDmaChainNoEu(int *currBD, short srcIncr, short destIncr,
|
||||
int xferSize, short xferSizeIncr, int *cSave,
|
||||
volatile TaskTableEntry * taskTable, int channel);
|
||||
|
||||
/* Task 1 */
|
||||
void MCD_startDmaSingleNoEu(char *srcAddr, short srcIncr, char *destAddr,
|
||||
short destIncr, int dmaSize, short xferSizeIncr,
|
||||
int flags, int *currBD, int *cSave,
|
||||
volatile TaskTableEntry * taskTable, int channel);
|
||||
|
||||
/* Task 2 */
|
||||
void MCD_startDmaChainEu(int *currBD, short srcIncr, short destIncr,
|
||||
int xferSize, short xferSizeIncr, int *cSave,
|
||||
volatile TaskTableEntry * taskTable, int channel);
|
||||
|
||||
/* Task 3 */
|
||||
void MCD_startDmaSingleEu(char *srcAddr, short srcIncr, char *destAddr,
|
||||
short destIncr, int dmaSize, short xferSizeIncr,
|
||||
int flags, int *currBD, int *cSave,
|
||||
volatile TaskTableEntry * taskTable, int channel);
|
||||
|
||||
/* Task 4 */
|
||||
void MCD_startDmaENetRcv(char *bDBase, char *currBD, char *rcvFifoPtr,
|
||||
volatile TaskTableEntry * taskTable, int channel);
|
||||
|
||||
/* Task 5 */
|
||||
void MCD_startDmaENetXmit(char *bDBase, char *currBD, char *xmitFifoPtr,
|
||||
volatile TaskTableEntry * taskTable, int channel);
|
||||
|
||||
#endif /* MCD_TSK_INIT_H */
|
||||
2833
common/package/utils/sysupgrade-helper/src/include/SA-1100.h
Normal file
2833
common/package/utils/sysupgrade-helper/src/include/SA-1100.h
Normal file
File diff suppressed because it is too large
Load diff
|
|
@ -0,0 +1,32 @@
|
|||
/*
|
||||
* You do not need to use #ifdef around functions that may not exist
|
||||
* in the final configuration (such as i2c).
|
||||
*/
|
||||
EXPORT_FUNC(get_version)
|
||||
EXPORT_FUNC(getc)
|
||||
EXPORT_FUNC(tstc)
|
||||
EXPORT_FUNC(putc)
|
||||
EXPORT_FUNC(puts)
|
||||
EXPORT_FUNC(printf)
|
||||
EXPORT_FUNC(install_hdlr)
|
||||
EXPORT_FUNC(free_hdlr)
|
||||
EXPORT_FUNC(malloc)
|
||||
EXPORT_FUNC(free)
|
||||
EXPORT_FUNC(udelay)
|
||||
EXPORT_FUNC(get_timer)
|
||||
EXPORT_FUNC(vprintf)
|
||||
EXPORT_FUNC(do_reset)
|
||||
EXPORT_FUNC(getenv)
|
||||
EXPORT_FUNC(setenv)
|
||||
EXPORT_FUNC(simple_strtoul)
|
||||
EXPORT_FUNC(strict_strtoul)
|
||||
EXPORT_FUNC(simple_strtol)
|
||||
EXPORT_FUNC(strcmp)
|
||||
EXPORT_FUNC(i2c_write)
|
||||
EXPORT_FUNC(i2c_read)
|
||||
EXPORT_FUNC(spi_init)
|
||||
EXPORT_FUNC(spi_setup_slave)
|
||||
EXPORT_FUNC(spi_free_slave)
|
||||
EXPORT_FUNC(spi_claim_bus)
|
||||
EXPORT_FUNC(spi_release_bus)
|
||||
EXPORT_FUNC(spi_xfer)
|
||||
|
|
@ -0,0 +1,29 @@
|
|||
#ifndef __ADDR_MAP_H
|
||||
#define __ADDR_MAP_H
|
||||
|
||||
/*
|
||||
* Copyright 2008 Freescale Semiconductor, Inc.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License
|
||||
* Version 2 as published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston,
|
||||
* MA 02111-1307 USA
|
||||
*/
|
||||
|
||||
#include <asm/types.h>
|
||||
|
||||
extern phys_addr_t addrmap_virt_to_phys(void *vaddr);
|
||||
extern void *addrmap_phys_to_virt(phys_addr_t paddr);
|
||||
extern void addrmap_set_entry(unsigned long vaddr, phys_addr_t paddr,
|
||||
phys_size_t size, int idx);
|
||||
|
||||
#endif
|
||||
70
common/package/utils/sysupgrade-helper/src/include/aes.h
Normal file
70
common/package/utils/sysupgrade-helper/src/include/aes.h
Normal file
|
|
@ -0,0 +1,70 @@
|
|||
/*
|
||||
* Copyright (c) 2011 The Chromium OS Authors.
|
||||
* (C) Copyright 2010 - 2011 NVIDIA Corporation <www.nvidia.com>
|
||||
*
|
||||
* See file CREDITS for list of people who contributed to this
|
||||
* project.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of
|
||||
* the License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston,
|
||||
* MA 02111-1307 USA
|
||||
*/
|
||||
|
||||
#ifndef _AES_REF_H_
|
||||
#define _AES_REF_H_
|
||||
|
||||
/*
|
||||
* AES encryption library, with small code size, supporting only 128-bit AES
|
||||
*
|
||||
* AES is a stream cipher which works a block at a time, with each block
|
||||
* in this case being AES_KEY_LENGTH bytes.
|
||||
*/
|
||||
|
||||
enum {
|
||||
AES_STATECOLS = 4, /* columns in the state & expanded key */
|
||||
AES_KEYCOLS = 4, /* columns in a key */
|
||||
AES_ROUNDS = 10, /* rounds in encryption */
|
||||
|
||||
AES_KEY_LENGTH = 128 / 8,
|
||||
AES_EXPAND_KEY_LENGTH = 4 * AES_STATECOLS * (AES_ROUNDS + 1),
|
||||
};
|
||||
|
||||
/**
|
||||
* Expand a key into a key schedule, which is then used for the other
|
||||
* operations.
|
||||
*
|
||||
* \param key Key, of length AES_KEY_LENGTH bytes
|
||||
* \param expkey Buffer to place expanded key, AES_EXPAND_KEY_LENGTH
|
||||
*/
|
||||
void aes_expand_key(u8 *key, u8 *expkey);
|
||||
|
||||
/**
|
||||
* Encrypt a single block of data
|
||||
*
|
||||
* in Input data
|
||||
* expkey Expanded key to use for encryption (from aes_expand_key())
|
||||
* out Output data
|
||||
*/
|
||||
void aes_encrypt(u8 *in, u8 *expkey, u8 *out);
|
||||
|
||||
/**
|
||||
* Decrypt a single block of data
|
||||
*
|
||||
* in Input data
|
||||
* expkey Expanded key to use for decryption (from aes_expand_key())
|
||||
* out Output data
|
||||
*/
|
||||
void aes_decrypt(u8 *in, u8 *expkey, u8 *out);
|
||||
|
||||
#endif /* _AES_REF_H_ */
|
||||
195
common/package/utils/sysupgrade-helper/src/include/ahci.h
Normal file
195
common/package/utils/sysupgrade-helper/src/include/ahci.h
Normal file
|
|
@ -0,0 +1,195 @@
|
|||
/*
|
||||
* Copyright (C) Freescale Semiconductor, Inc. 2006.
|
||||
* Author: Jason Jin<Jason.jin@freescale.com>
|
||||
* Zhang Wei<wei.zhang@freescale.com>
|
||||
*
|
||||
* See file CREDITS for list of people who contributed to this
|
||||
* project.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of
|
||||
* the License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston,
|
||||
* MA 02111-1307 USA
|
||||
*
|
||||
*/
|
||||
#ifndef _AHCI_H_
|
||||
#define _AHCI_H_
|
||||
|
||||
#include <pci.h>
|
||||
|
||||
#define AHCI_PCI_BAR 0x24
|
||||
#define AHCI_MAX_SG 56 /* hardware max is 64K */
|
||||
#define AHCI_CMD_SLOT_SZ 32
|
||||
#define AHCI_MAX_CMD_SLOT 32
|
||||
#define AHCI_RX_FIS_SZ 256
|
||||
#define AHCI_CMD_TBL_HDR 0x80
|
||||
#define AHCI_CMD_TBL_CDB 0x40
|
||||
#define AHCI_CMD_TBL_SZ AHCI_CMD_TBL_HDR + (AHCI_MAX_SG * 16)
|
||||
#define AHCI_PORT_PRIV_DMA_SZ (AHCI_CMD_SLOT_SZ * AHCI_MAX_CMD_SLOT + \
|
||||
AHCI_CMD_TBL_SZ + AHCI_RX_FIS_SZ)
|
||||
#define AHCI_CMD_ATAPI (1 << 5)
|
||||
#define AHCI_CMD_WRITE (1 << 6)
|
||||
#define AHCI_CMD_PREFETCH (1 << 7)
|
||||
#define AHCI_CMD_RESET (1 << 8)
|
||||
#define AHCI_CMD_CLR_BUSY (1 << 10)
|
||||
|
||||
#define RX_FIS_D2H_REG 0x40 /* offset of D2H Register FIS data */
|
||||
|
||||
/* Global controller registers */
|
||||
#define HOST_CAP 0x00 /* host capabilities */
|
||||
#define HOST_CTL 0x04 /* global host control */
|
||||
#define HOST_IRQ_STAT 0x08 /* interrupt status */
|
||||
#define HOST_PORTS_IMPL 0x0c /* bitmap of implemented ports */
|
||||
#define HOST_VERSION 0x10 /* AHCI spec. version compliancy */
|
||||
|
||||
/* HOST_CTL bits */
|
||||
#define HOST_RESET (1 << 0) /* reset controller; self-clear */
|
||||
#define HOST_IRQ_EN (1 << 1) /* global IRQ enable */
|
||||
#define HOST_AHCI_EN (1 << 31) /* AHCI enabled */
|
||||
|
||||
/* Registers for each SATA port */
|
||||
#define PORT_LST_ADDR 0x00 /* command list DMA addr */
|
||||
#define PORT_LST_ADDR_HI 0x04 /* command list DMA addr hi */
|
||||
#define PORT_FIS_ADDR 0x08 /* FIS rx buf addr */
|
||||
#define PORT_FIS_ADDR_HI 0x0c /* FIS rx buf addr hi */
|
||||
#define PORT_IRQ_STAT 0x10 /* interrupt status */
|
||||
#define PORT_IRQ_MASK 0x14 /* interrupt enable/disable mask */
|
||||
#define PORT_CMD 0x18 /* port command */
|
||||
#define PORT_TFDATA 0x20 /* taskfile data */
|
||||
#define PORT_SIG 0x24 /* device TF signature */
|
||||
#define PORT_CMD_ISSUE 0x38 /* command issue */
|
||||
#define PORT_SCR 0x28 /* SATA phy register block */
|
||||
#define PORT_SCR_STAT 0x28 /* SATA phy register: SStatus */
|
||||
#define PORT_SCR_CTL 0x2c /* SATA phy register: SControl */
|
||||
#define PORT_SCR_ERR 0x30 /* SATA phy register: SError */
|
||||
#define PORT_SCR_ACT 0x34 /* SATA phy register: SActive */
|
||||
|
||||
/* PORT_IRQ_{STAT,MASK} bits */
|
||||
#define PORT_IRQ_COLD_PRES (1 << 31) /* cold presence detect */
|
||||
#define PORT_IRQ_TF_ERR (1 << 30) /* task file error */
|
||||
#define PORT_IRQ_HBUS_ERR (1 << 29) /* host bus fatal error */
|
||||
#define PORT_IRQ_HBUS_DATA_ERR (1 << 28) /* host bus data error */
|
||||
#define PORT_IRQ_IF_ERR (1 << 27) /* interface fatal error */
|
||||
#define PORT_IRQ_IF_NONFATAL (1 << 26) /* interface non-fatal error */
|
||||
#define PORT_IRQ_OVERFLOW (1 << 24) /* xfer exhausted available S/G */
|
||||
#define PORT_IRQ_BAD_PMP (1 << 23) /* incorrect port multiplier */
|
||||
|
||||
#define PORT_IRQ_PHYRDY (1 << 22) /* PhyRdy changed */
|
||||
#define PORT_IRQ_DEV_ILCK (1 << 7) /* device interlock */
|
||||
#define PORT_IRQ_CONNECT (1 << 6) /* port connect change status */
|
||||
#define PORT_IRQ_SG_DONE (1 << 5) /* descriptor processed */
|
||||
#define PORT_IRQ_UNK_FIS (1 << 4) /* unknown FIS rx'd */
|
||||
#define PORT_IRQ_SDB_FIS (1 << 3) /* Set Device Bits FIS rx'd */
|
||||
#define PORT_IRQ_DMAS_FIS (1 << 2) /* DMA Setup FIS rx'd */
|
||||
#define PORT_IRQ_PIOS_FIS (1 << 1) /* PIO Setup FIS rx'd */
|
||||
#define PORT_IRQ_D2H_REG_FIS (1 << 0) /* D2H Register FIS rx'd */
|
||||
|
||||
#define PORT_IRQ_FATAL PORT_IRQ_TF_ERR | PORT_IRQ_HBUS_ERR \
|
||||
| PORT_IRQ_HBUS_DATA_ERR | PORT_IRQ_IF_ERR
|
||||
|
||||
#define DEF_PORT_IRQ PORT_IRQ_FATAL | PORT_IRQ_PHYRDY \
|
||||
| PORT_IRQ_CONNECT | PORT_IRQ_SG_DONE \
|
||||
| PORT_IRQ_UNK_FIS | PORT_IRQ_SDB_FIS \
|
||||
| PORT_IRQ_DMAS_FIS | PORT_IRQ_PIOS_FIS \
|
||||
| PORT_IRQ_D2H_REG_FIS
|
||||
|
||||
/* PORT_CMD bits */
|
||||
#define PORT_CMD_ATAPI (1 << 24) /* Device is ATAPI */
|
||||
#define PORT_CMD_LIST_ON (1 << 15) /* cmd list DMA engine running */
|
||||
#define PORT_CMD_FIS_ON (1 << 14) /* FIS DMA engine running */
|
||||
#define PORT_CMD_FIS_RX (1 << 4) /* Enable FIS receive DMA engine */
|
||||
#define PORT_CMD_CLO (1 << 3) /* Command list override */
|
||||
#define PORT_CMD_POWER_ON (1 << 2) /* Power up device */
|
||||
#define PORT_CMD_SPIN_UP (1 << 1) /* Spin up device */
|
||||
#define PORT_CMD_START (1 << 0) /* Enable port DMA engine */
|
||||
|
||||
#define PORT_CMD_ICC_ACTIVE (0x1 << 28) /* Put i/f in active state */
|
||||
#define PORT_CMD_ICC_PARTIAL (0x2 << 28) /* Put i/f in partial state */
|
||||
#define PORT_CMD_ICC_SLUMBER (0x6 << 28) /* Put i/f in slumber state */
|
||||
|
||||
#define AHCI_MAX_PORTS 32
|
||||
|
||||
/* SETFEATURES stuff */
|
||||
#define SETFEATURES_XFER 0x03
|
||||
#define XFER_UDMA_7 0x47
|
||||
#define XFER_UDMA_6 0x46
|
||||
#define XFER_UDMA_5 0x45
|
||||
#define XFER_UDMA_4 0x44
|
||||
#define XFER_UDMA_3 0x43
|
||||
#define XFER_UDMA_2 0x42
|
||||
#define XFER_UDMA_1 0x41
|
||||
#define XFER_UDMA_0 0x40
|
||||
#define XFER_MW_DMA_2 0x22
|
||||
#define XFER_MW_DMA_1 0x21
|
||||
#define XFER_MW_DMA_0 0x20
|
||||
#define XFER_SW_DMA_2 0x12
|
||||
#define XFER_SW_DMA_1 0x11
|
||||
#define XFER_SW_DMA_0 0x10
|
||||
#define XFER_PIO_4 0x0C
|
||||
#define XFER_PIO_3 0x0B
|
||||
#define XFER_PIO_2 0x0A
|
||||
#define XFER_PIO_1 0x09
|
||||
#define XFER_PIO_0 0x08
|
||||
#define XFER_PIO_SLOW 0x00
|
||||
|
||||
#define ATA_FLAG_SATA (1 << 3)
|
||||
#define ATA_FLAG_NO_LEGACY (1 << 4) /* no legacy mode check */
|
||||
#define ATA_FLAG_MMIO (1 << 6) /* use MMIO, not PIO */
|
||||
#define ATA_FLAG_SATA_RESET (1 << 7) /* (obsolete) use COMRESET */
|
||||
#define ATA_FLAG_PIO_DMA (1 << 8) /* PIO cmds via DMA */
|
||||
#define ATA_FLAG_NO_ATAPI (1 << 11) /* No ATAPI support */
|
||||
|
||||
struct ahci_cmd_hdr {
|
||||
u32 opts;
|
||||
u32 status;
|
||||
u32 tbl_addr;
|
||||
u32 tbl_addr_hi;
|
||||
u32 reserved[4];
|
||||
};
|
||||
|
||||
struct ahci_sg {
|
||||
u32 addr;
|
||||
u32 addr_hi;
|
||||
u32 reserved;
|
||||
u32 flags_size;
|
||||
};
|
||||
|
||||
struct ahci_ioports {
|
||||
u32 cmd_addr;
|
||||
u32 scr_addr;
|
||||
u32 port_mmio;
|
||||
struct ahci_cmd_hdr *cmd_slot;
|
||||
struct ahci_sg *cmd_tbl_sg;
|
||||
u32 cmd_tbl;
|
||||
u32 rx_fis;
|
||||
};
|
||||
|
||||
struct ahci_probe_ent {
|
||||
pci_dev_t dev;
|
||||
struct ahci_ioports port[AHCI_MAX_PORTS];
|
||||
u32 n_ports;
|
||||
u32 hard_port_no;
|
||||
u32 host_flags;
|
||||
u32 host_set_flags;
|
||||
u32 mmio_base;
|
||||
u32 pio_mask;
|
||||
u32 udma_mask;
|
||||
u32 flags;
|
||||
u32 cap; /* cache of HOST_CAP register */
|
||||
u32 port_map; /* cache of HOST_PORTS_IMPL reg */
|
||||
u32 link_port_map; /*linkup port map*/
|
||||
};
|
||||
|
||||
int ahci_init(u32 base);
|
||||
|
||||
#endif
|
||||
54
common/package/utils/sysupgrade-helper/src/include/ali512x.h
Normal file
54
common/package/utils/sysupgrade-helper/src/include/ali512x.h
Normal file
|
|
@ -0,0 +1,54 @@
|
|||
/*
|
||||
* (C) Copyright 2002
|
||||
* Daniel Engström, Omicron Ceti AB <daniel@omicron.se>.
|
||||
*
|
||||
* See file CREDITS for list of people who contributed to this
|
||||
* project.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of
|
||||
* the License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston,
|
||||
* MA 02111-1307 USA
|
||||
*/
|
||||
|
||||
#ifndef __ASM_IC_ALI512X_H_
|
||||
#define __ASM_IC_ALI512X_H_
|
||||
|
||||
# define ALI_INDEX 0x3f0
|
||||
# define ALI_DATA 0x3f1
|
||||
|
||||
# define ALI_ENABLED 1
|
||||
# define ALI_DISABLED 0
|
||||
|
||||
# define ALI_UART1 0
|
||||
# define ALI_UART2 1
|
||||
|
||||
/* setup functions */
|
||||
void ali512x_init(void);
|
||||
void ali512x_set_fdc(int enabled, u16 io, u8 irq, u8 dma_channel);
|
||||
void ali512x_set_pp(int enabled, u16 io, u8 irq, u8 dma_channel);
|
||||
void ali512x_set_uart(int enabled, int index, u16 io, u8 irq);
|
||||
void ali512x_set_rtc(int enabled, u16 io, u8 irq);
|
||||
void ali512x_set_kbc(int enabled, u8 kbc_irq, u8 mouse_irq);
|
||||
void ali512x_set_cio(int enabled);
|
||||
|
||||
|
||||
/* common I/O functions */
|
||||
void ali512x_cio_function(int pin, int special, int inv, int input);
|
||||
void ali512x_cio_out(int pin, int value);
|
||||
int ali512x_cio_in(int pin);
|
||||
|
||||
/* misc features */
|
||||
void ali512x_set_uart2_irda(int enabled);
|
||||
|
||||
#endif
|
||||
106
common/package/utils/sysupgrade-helper/src/include/altera.h
Normal file
106
common/package/utils/sysupgrade-helper/src/include/altera.h
Normal file
|
|
@ -0,0 +1,106 @@
|
|||
/*
|
||||
* (C) Copyright 2002
|
||||
* Rich Ireland, Enterasys Networks, rireland@enterasys.com.
|
||||
*
|
||||
* See file CREDITS for list of people who contributed to this
|
||||
* project.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of
|
||||
* the License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston,
|
||||
* MA 02111-1307 USA
|
||||
*
|
||||
*/
|
||||
|
||||
#include <fpga.h>
|
||||
|
||||
#ifndef _ALTERA_H_
|
||||
#define _ALTERA_H_
|
||||
|
||||
/* Altera Model definitions
|
||||
*********************************************************************/
|
||||
#define CONFIG_SYS_ACEX1K CONFIG_SYS_FPGA_DEV( 0x1 )
|
||||
#define CONFIG_SYS_CYCLON2 CONFIG_SYS_FPGA_DEV( 0x2 )
|
||||
#define CONFIG_SYS_STRATIX_II CONFIG_SYS_FPGA_DEV( 0x4 )
|
||||
|
||||
#define CONFIG_SYS_ALTERA_ACEX1K (CONFIG_SYS_FPGA_ALTERA | CONFIG_SYS_ACEX1K)
|
||||
#define CONFIG_SYS_ALTERA_CYCLON2 (CONFIG_SYS_FPGA_ALTERA | CONFIG_SYS_CYCLON2)
|
||||
#define CONFIG_SYS_ALTERA_STRATIX_II (CONFIG_SYS_FPGA_ALTERA | CONFIG_SYS_STRATIX_II)
|
||||
/* Add new models here */
|
||||
|
||||
/* Altera Interface definitions
|
||||
*********************************************************************/
|
||||
#define CONFIG_SYS_ALTERA_IF_PS CONFIG_SYS_FPGA_IF( 0x1 ) /* passive serial */
|
||||
#define CONFIG_SYS_ALTERA_IF_FPP CONFIG_SYS_FPGA_IF( 0x2 ) /* fast passive parallel */
|
||||
/* Add new interfaces here */
|
||||
|
||||
typedef enum { /* typedef Altera_iface */
|
||||
min_altera_iface_type, /* insert all new types after this */
|
||||
passive_serial, /* serial data and external clock */
|
||||
passive_parallel_synchronous, /* parallel data */
|
||||
passive_parallel_asynchronous, /* parallel data */
|
||||
passive_serial_asynchronous, /* serial data w/ internal clock (not used) */
|
||||
altera_jtag_mode, /* jtag/tap serial (not used ) */
|
||||
fast_passive_parallel, /* fast passive parallel (FPP) */
|
||||
fast_passive_parallel_security, /* fast passive parallel with security (FPPS) */
|
||||
max_altera_iface_type /* insert all new types before this */
|
||||
} Altera_iface; /* end, typedef Altera_iface */
|
||||
|
||||
typedef enum { /* typedef Altera_Family */
|
||||
min_altera_type, /* insert all new types after this */
|
||||
Altera_ACEX1K, /* ACEX1K Family */
|
||||
Altera_CYC2, /* CYCLONII Family */
|
||||
Altera_StratixII, /* StratixII Familiy */
|
||||
/* Add new models here */
|
||||
max_altera_type /* insert all new types before this */
|
||||
} Altera_Family; /* end, typedef Altera_Family */
|
||||
|
||||
typedef struct { /* typedef Altera_desc */
|
||||
Altera_Family family; /* part type */
|
||||
Altera_iface iface; /* interface type */
|
||||
size_t size; /* bytes of data part can accept */
|
||||
void * iface_fns;/* interface function table */
|
||||
void * base; /* base interface address */
|
||||
int cookie; /* implementation specific cookie */
|
||||
} Altera_desc; /* end, typedef Altera_desc */
|
||||
|
||||
/* Generic Altera Functions
|
||||
*********************************************************************/
|
||||
extern int altera_load(Altera_desc *desc, const void *image, size_t size);
|
||||
extern int altera_dump(Altera_desc *desc, const void *buf, size_t bsize);
|
||||
extern int altera_info(Altera_desc *desc);
|
||||
|
||||
/* Board specific implementation specific function types
|
||||
*********************************************************************/
|
||||
typedef int (*Altera_pre_fn)( int cookie );
|
||||
typedef int (*Altera_config_fn)( int assert_config, int flush, int cookie );
|
||||
typedef int (*Altera_status_fn)( int cookie );
|
||||
typedef int (*Altera_done_fn)( int cookie );
|
||||
typedef int (*Altera_clk_fn)( int assert_clk, int flush, int cookie );
|
||||
typedef int (*Altera_data_fn)( int assert_data, int flush, int cookie );
|
||||
typedef int(*Altera_write_fn)(const void *buf, size_t len, int flush, int cookie);
|
||||
typedef int (*Altera_abort_fn)( int cookie );
|
||||
typedef int (*Altera_post_fn)( int cookie );
|
||||
|
||||
typedef struct {
|
||||
Altera_pre_fn pre;
|
||||
Altera_config_fn config;
|
||||
Altera_status_fn status;
|
||||
Altera_done_fn done;
|
||||
Altera_clk_fn clk;
|
||||
Altera_data_fn data;
|
||||
Altera_abort_fn abort;
|
||||
Altera_post_fn post;
|
||||
} altera_board_specific_func;
|
||||
|
||||
#endif /* _ALTERA_H_ */
|
||||
|
|
@ -0,0 +1,77 @@
|
|||
/*
|
||||
* Register definitions for the AMBA CLCD logic cell.
|
||||
*
|
||||
* derived from David A Rusling, although rearranged as a C structure
|
||||
* linux/include/asm-arm/hardware/amba_clcd.h -- Integrator LCD panel.
|
||||
*
|
||||
* Copyright (C) 2001 ARM Limited
|
||||
*
|
||||
* This file is subject to the terms and conditions of the GNU General Public
|
||||
* License. See the file COPYING in the main directory of this archive
|
||||
* for more details.
|
||||
*/
|
||||
|
||||
/*
|
||||
* CLCD Controller Internal Register addresses
|
||||
*/
|
||||
struct clcd_registers {
|
||||
u32 tim0; /* 0x00 */
|
||||
u32 tim1;
|
||||
u32 tim2;
|
||||
u32 tim3;
|
||||
u32 ubas; /* 0x10 */
|
||||
u32 lbas;
|
||||
#if !defined(CONFIG_ARCH_VERSATILE) && !defined(CONFIG_ARCH_REALVIEW)
|
||||
u32 ienb;
|
||||
u32 cntl;
|
||||
#else /* Someone rearranged these two registers on the Versatile */
|
||||
u32 cntl;
|
||||
u32 ienb;
|
||||
#endif
|
||||
u32 stat; /* 0x20 */
|
||||
u32 intr;
|
||||
u32 ucur;
|
||||
u32 lcur;
|
||||
u32 unused[0x74]; /* 0x030..0x1ff */
|
||||
u32 palette[0x80]; /* 0x200..0x3ff */
|
||||
};
|
||||
|
||||
/* Bit definition for TIM2 */
|
||||
#define TIM2_CLKSEL (1 << 5)
|
||||
#define TIM2_IVS (1 << 11)
|
||||
#define TIM2_IHS (1 << 12)
|
||||
#define TIM2_IPC (1 << 13)
|
||||
#define TIM2_IOE (1 << 14)
|
||||
#define TIM2_BCD (1 << 26)
|
||||
|
||||
/* Bit definitions for control register */
|
||||
#define CNTL_LCDEN (1 << 0)
|
||||
#define CNTL_LCDBPP1 (0 << 1)
|
||||
#define CNTL_LCDBPP2 (1 << 1)
|
||||
#define CNTL_LCDBPP4 (2 << 1)
|
||||
#define CNTL_LCDBPP8 (3 << 1)
|
||||
#define CNTL_LCDBPP16 (4 << 1)
|
||||
#define CNTL_LCDBPP16_565 (6 << 1)
|
||||
#define CNTL_LCDBPP24 (5 << 1)
|
||||
#define CNTL_LCDBW (1 << 4)
|
||||
#define CNTL_LCDTFT (1 << 5)
|
||||
#define CNTL_LCDMONO8 (1 << 6)
|
||||
#define CNTL_LCDDUAL (1 << 7)
|
||||
#define CNTL_BGR (1 << 8)
|
||||
#define CNTL_BEBO (1 << 9)
|
||||
#define CNTL_BEPO (1 << 10)
|
||||
#define CNTL_LCDPWR (1 << 11)
|
||||
#define CNTL_LCDVCOMP(x) ((x) << 12)
|
||||
#define CNTL_LDMAFIFOTIME (1 << 15)
|
||||
#define CNTL_WATERMARK (1 << 16)
|
||||
|
||||
/* u-boot specific: information passed by the board file */
|
||||
struct clcd_config {
|
||||
struct clcd_registers *address;
|
||||
u32 tim0;
|
||||
u32 tim1;
|
||||
u32 tim2;
|
||||
u32 tim3;
|
||||
u32 cntl;
|
||||
unsigned long pixclock;
|
||||
};
|
||||
394
common/package/utils/sysupgrade-helper/src/include/ambapp.h
Normal file
394
common/package/utils/sysupgrade-helper/src/include/ambapp.h
Normal file
|
|
@ -0,0 +1,394 @@
|
|||
/* Interface for accessing Gaisler AMBA Plug&Play Bus.
|
||||
* The AHB bus can be interfaced with a simpler bus -
|
||||
* the APB bus, also freely available in GRLIB at
|
||||
* www.gaisler.com.
|
||||
*
|
||||
* (C) Copyright 2007
|
||||
* Daniel Hellstrom, Gaisler Research, daniel@gaisler.com.
|
||||
*
|
||||
* See file CREDITS for list of people who contributed to this
|
||||
* project.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of
|
||||
* the License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston,
|
||||
* MA 02111-1307 USA
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef __AMBAPP_H__
|
||||
#define __AMBAPP_H__
|
||||
|
||||
/* Default location of Plug&Play info
|
||||
* normally 0xfffff000 for AHB masters
|
||||
* and 0xfffff800 for AHB slaves.
|
||||
* Normally no need to change this.
|
||||
*/
|
||||
#define LEON3_IO_AREA 0xfff00000
|
||||
#define LEON3_CONF_AREA 0xff000
|
||||
#define LEON3_AHB_SLAVE_CONF_AREA (1 << 11)
|
||||
|
||||
/* Max devices this software will support */
|
||||
#define LEON3_AHB_MASTERS 16
|
||||
#define LEON3_AHB_SLAVES 16
|
||||
/*#define LEON3_APB_MASTERS 1*/ /* Number of APB buses that has Plug&Play */
|
||||
#define LEON3_APB_SLAVES 16 /* Total number of APB slaves per APB bus */
|
||||
|
||||
/* Vendor codes */
|
||||
#define VENDOR_GAISLER 1
|
||||
#define VENDOR_PENDER 2
|
||||
#define VENDOR_ESA 4
|
||||
#define VENDOR_ASTRIUM 6
|
||||
#define VENDOR_OPENCHIP 7
|
||||
#define VENDOR_OPENCORES 8
|
||||
#define VENDOR_CONTRIB 9
|
||||
#define VENDOR_EONIC 11
|
||||
#define VENDOR_RADIONOR 15
|
||||
#define VENDOR_GLEICHMANN 16
|
||||
#define VENDOR_MENTA 17
|
||||
#define VENDOR_SUN 19
|
||||
#define VENDOR_EMBEDDIT 234
|
||||
#define VENDOR_CAL 202
|
||||
|
||||
/* Gaisler Research device id's */
|
||||
#define GAISLER_LEON3 0x003
|
||||
#define GAISLER_LEON3DSU 0x004
|
||||
#define GAISLER_ETHAHB 0x005
|
||||
#define GAISLER_APBMST 0x006
|
||||
#define GAISLER_AHBUART 0x007
|
||||
#define GAISLER_SRCTRL 0x008
|
||||
#define GAISLER_SDCTRL 0x009
|
||||
#define GAISLER_APBUART 0x00C
|
||||
#define GAISLER_IRQMP 0x00D
|
||||
#define GAISLER_AHBRAM 0x00E
|
||||
#define GAISLER_GPTIMER 0x011
|
||||
#define GAISLER_PCITRG 0x012
|
||||
#define GAISLER_PCISBRG 0x013
|
||||
#define GAISLER_PCIFBRG 0x014
|
||||
#define GAISLER_PCITRACE 0x015
|
||||
#define GAISLER_PCIDMA 0x016
|
||||
#define GAISLER_AHBTRACE 0x017
|
||||
#define GAISLER_ETHDSU 0x018
|
||||
#define GAISLER_PIOPORT 0x01A
|
||||
#define GAISLER_AHBJTAG 0x01c
|
||||
#define GAISLER_SPW 0x01f
|
||||
#define GAISLER_ATACTRL 0x024
|
||||
#define GAISLER_VGA 0x061
|
||||
#define GAISLER_KBD 0X060
|
||||
#define GAISLER_ETHMAC 0x01D
|
||||
#define GAISLER_DDRSPA 0x025
|
||||
#define GAISLER_EHCI 0x026
|
||||
#define GAISLER_UHCI 0x027
|
||||
#define GAISLER_SPW2 0x029
|
||||
#define GAISLER_DDR2SPA 0x02E
|
||||
#define GAISLER_AHBSTAT 0x052
|
||||
#define GAISLER_FTMCTRL 0x054
|
||||
|
||||
#define GAISLER_L2TIME 0xffd /* internal device: leon2 timer */
|
||||
#define GAISLER_L2C 0xffe /* internal device: leon2compat */
|
||||
#define GAISLER_PLUGPLAY 0xfff /* internal device: plug & play configarea */
|
||||
|
||||
/* European Space Agency device id's */
|
||||
#define ESA_LEON2 0x2
|
||||
#define ESA_MCTRL 0xF
|
||||
|
||||
/* Opencores device id's */
|
||||
#define OPENCORES_PCIBR 0x4
|
||||
#define OPENCORES_ETHMAC 0x5
|
||||
|
||||
/* Vendor codes */
|
||||
|
||||
/*
|
||||
*
|
||||
* Macros for manipulating Configuration registers
|
||||
*
|
||||
*/
|
||||
|
||||
#define amba_vendor(x) (((x) >> 24) & 0xff)
|
||||
|
||||
#define amba_device(x) (((x) >> 12) & 0xfff)
|
||||
|
||||
#define amba_membar_start(mbar) \
|
||||
(((mbar) & 0xfff00000) & (((mbar) & 0xfff0) << 16))
|
||||
|
||||
#define amba_iobar_start(base, iobar) \
|
||||
((base) | ((((iobar) & 0xfff00000)>>12) & (((iobar) & 0xfff0)<<4)) )
|
||||
|
||||
#define amba_irq(conf) ((conf) & 0xf)
|
||||
|
||||
#define amba_ver(conf) (((conf)>>5) & 0x1f)
|
||||
|
||||
#define amba_membar_type(mbar) ((mbar) & 0xf)
|
||||
|
||||
#define amba_membar_mask(mbar) (((mbar)>>4) & 0xfff)
|
||||
|
||||
#define AMBA_TYPE_APBIO 0x1
|
||||
#define AMBA_TYPE_MEM 0x2
|
||||
#define AMBA_TYPE_AHBIO 0x3
|
||||
|
||||
#define AMBA_TYPE_AHBIO_ADDR(addr) (LEON3_IO_AREA | ((addr) >> 12))
|
||||
|
||||
#ifndef __ASSEMBLER__
|
||||
|
||||
#ifdef CONFIG_CMD_AMBAPP
|
||||
|
||||
/* AMBA Plug&Play relocation & initialization */
|
||||
int ambapp_init_reloc(void);
|
||||
|
||||
/* AMBA Plug&Play Name of Vendors and devices */
|
||||
|
||||
/* Return name of device */
|
||||
char *ambapp_device_id2str(int vendor, int id);
|
||||
|
||||
/* Return name of vendor */
|
||||
char *ambapp_vendor_id2str(int vendor);
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Types and structure used for AMBA Plug & Play bus scanning
|
||||
*/
|
||||
|
||||
/* AMBA Plug&Play AHB information layout */
|
||||
typedef struct {
|
||||
unsigned int conf;
|
||||
unsigned int userdef[3];
|
||||
unsigned int bars[4];
|
||||
} ahbctrl_pp_dev;
|
||||
|
||||
/* Prototypes for scanning AMBA Plug&Play bus for AMBA
|
||||
* i) AHB Masters
|
||||
* ii) AHB Slaves
|
||||
* iii) APB Slaves (APB MST is a AHB Slave)
|
||||
*/
|
||||
|
||||
typedef struct {
|
||||
unsigned char irq;
|
||||
unsigned char ver;
|
||||
unsigned int address;
|
||||
} ambapp_apbdev;
|
||||
|
||||
typedef struct {
|
||||
unsigned char irq;
|
||||
unsigned char ver;
|
||||
unsigned int userdef[3];
|
||||
unsigned int address[4];
|
||||
} ambapp_ahbdev;
|
||||
|
||||
/* AMBA Plug&Play AHB Masters & Slaves information locations
|
||||
* Max devices is 64 supported by HW, however often only 8
|
||||
* are used.
|
||||
*/
|
||||
typedef struct {
|
||||
ahbctrl_pp_dev masters[64];
|
||||
ahbctrl_pp_dev slaves[64];
|
||||
} ahbctrl_info;
|
||||
|
||||
/* AMBA Plug&Play AHB information layout */
|
||||
typedef struct {
|
||||
unsigned int conf;
|
||||
unsigned int bar;
|
||||
} apbctrl_pp_dev;
|
||||
|
||||
/* All functions return the number of found devices
|
||||
* 0 = no devices found
|
||||
*/
|
||||
|
||||
/****************************** APB SLAVES ******************************/
|
||||
int ambapp_apb_count(unsigned int vendor, unsigned int driver);
|
||||
|
||||
int ambapp_apb_first(unsigned int vendor,
|
||||
unsigned int driver, ambapp_apbdev * dev);
|
||||
|
||||
int ambapp_apb_next(unsigned int vendor,
|
||||
unsigned int driver, ambapp_apbdev * dev, int index);
|
||||
|
||||
int ambapp_apbs_first(unsigned int vendor,
|
||||
unsigned int driver, ambapp_apbdev * dev, int max_cnt);
|
||||
|
||||
/****************************** AHB MASTERS ******************************/
|
||||
int ambapp_ahbmst_count(unsigned int vendor, unsigned int driver);
|
||||
|
||||
int ambapp_ahbmst_first(unsigned int vendor,
|
||||
unsigned int driver, ambapp_ahbdev * dev);
|
||||
|
||||
int ambapp_ahbmst_next(unsigned int vendor,
|
||||
unsigned int driver, ambapp_ahbdev * dev, int index);
|
||||
|
||||
int ambapp_ahbmsts_first(unsigned int vendor,
|
||||
unsigned int driver, ambapp_ahbdev * dev, int max_cnt);
|
||||
|
||||
/****************************** AHB SLAVES ******************************/
|
||||
int ambapp_ahbslv_count(unsigned int vendor, unsigned int driver);
|
||||
|
||||
int ambapp_ahbslv_first(unsigned int vendor,
|
||||
unsigned int driver, ambapp_ahbdev * dev);
|
||||
|
||||
int ambapp_ahbslv_next(unsigned int vendor,
|
||||
unsigned int driver, ambapp_ahbdev * dev, int index);
|
||||
|
||||
int ambapp_ahbslvs_first(unsigned int vendor,
|
||||
unsigned int driver, ambapp_ahbdev * dev, int max_cnt);
|
||||
|
||||
/*************************** AHB/APB only regs functions *************************
|
||||
* During start up, no memory is available we can use the simplified functions
|
||||
* to get to the memory controller.
|
||||
*
|
||||
* Functions uses no stack/memory, only registers.
|
||||
*/
|
||||
unsigned int ambapp_apb_next_nomem(register unsigned int vendor, /* Plug&Play Vendor ID */
|
||||
register unsigned int driver, /* Plug&Play Device ID */
|
||||
register int index);
|
||||
|
||||
ahbctrl_pp_dev *ambapp_ahb_next_nomem(register unsigned int vendor, /* Plug&Play Vendor ID */
|
||||
register unsigned int driver, /* Plug&Play Device ID */
|
||||
register unsigned int opts, /* scan for AHB 1=slave, 0=masters */
|
||||
register int index);
|
||||
|
||||
unsigned int ambapp_ahb_get_info(ahbctrl_pp_dev * ahb, int info);
|
||||
|
||||
/*************************** AMBA Plug&Play device register MAPS *****************/
|
||||
|
||||
/*
|
||||
* The following defines the bits in the LEON UART Status Registers.
|
||||
*/
|
||||
|
||||
#define LEON_REG_UART_STATUS_DR 0x00000001 /* Data Ready */
|
||||
#define LEON_REG_UART_STATUS_TSE 0x00000002 /* TX Send Register Empty */
|
||||
#define LEON_REG_UART_STATUS_THE 0x00000004 /* TX Hold Register Empty */
|
||||
#define LEON_REG_UART_STATUS_BR 0x00000008 /* Break Error */
|
||||
#define LEON_REG_UART_STATUS_OE 0x00000010 /* RX Overrun Error */
|
||||
#define LEON_REG_UART_STATUS_PE 0x00000020 /* RX Parity Error */
|
||||
#define LEON_REG_UART_STATUS_FE 0x00000040 /* RX Framing Error */
|
||||
#define LEON_REG_UART_STATUS_ERR 0x00000078 /* Error Mask */
|
||||
|
||||
/*
|
||||
* The following defines the bits in the LEON UART Ctrl Registers.
|
||||
*/
|
||||
|
||||
#define LEON_REG_UART_CTRL_RE 0x00000001 /* Receiver enable */
|
||||
#define LEON_REG_UART_CTRL_TE 0x00000002 /* Transmitter enable */
|
||||
#define LEON_REG_UART_CTRL_RI 0x00000004 /* Receiver interrupt enable */
|
||||
#define LEON_REG_UART_CTRL_TI 0x00000008 /* Transmitter interrupt enable */
|
||||
#define LEON_REG_UART_CTRL_PS 0x00000010 /* Parity select */
|
||||
#define LEON_REG_UART_CTRL_PE 0x00000020 /* Parity enable */
|
||||
#define LEON_REG_UART_CTRL_FL 0x00000040 /* Flow control enable */
|
||||
#define LEON_REG_UART_CTRL_LB 0x00000080 /* Loop Back enable */
|
||||
#define LEON_REG_UART_CTRL_DBG (1<<11) /* Debug Bit used by GRMON */
|
||||
|
||||
#define LEON3_GPTIMER_EN 1
|
||||
#define LEON3_GPTIMER_RL 2
|
||||
#define LEON3_GPTIMER_LD 4
|
||||
#define LEON3_GPTIMER_IRQEN 8
|
||||
|
||||
/*
|
||||
* The following defines the bits in the LEON PS/2 Status Registers.
|
||||
*/
|
||||
|
||||
#define LEON_REG_PS2_STATUS_DR 0x00000001 /* Data Ready */
|
||||
#define LEON_REG_PS2_STATUS_PE 0x00000002 /* Parity error */
|
||||
#define LEON_REG_PS2_STATUS_FE 0x00000004 /* Framing error */
|
||||
#define LEON_REG_PS2_STATUS_KI 0x00000008 /* Keyboard inhibit */
|
||||
|
||||
/*
|
||||
* The following defines the bits in the LEON PS/2 Ctrl Registers.
|
||||
*/
|
||||
|
||||
#define LEON_REG_PS2_CTRL_RE 0x00000001 /* Receiver enable */
|
||||
#define LEON_REG_PS2_CTRL_TE 0x00000002 /* Transmitter enable */
|
||||
#define LEON_REG_PS2_CTRL_RI 0x00000004 /* Keyboard receive interrupt */
|
||||
#define LEON_REG_PS2_CTRL_TI 0x00000008 /* Keyboard transmit interrupt */
|
||||
|
||||
typedef struct {
|
||||
volatile unsigned int ilevel;
|
||||
volatile unsigned int ipend;
|
||||
volatile unsigned int iforce;
|
||||
volatile unsigned int iclear;
|
||||
volatile unsigned int mstatus;
|
||||
volatile unsigned int notused[11];
|
||||
volatile unsigned int cpu_mask[16];
|
||||
volatile unsigned int cpu_force[16];
|
||||
} ambapp_dev_irqmp;
|
||||
|
||||
typedef struct {
|
||||
volatile unsigned int data;
|
||||
volatile unsigned int status;
|
||||
volatile unsigned int ctrl;
|
||||
volatile unsigned int scaler;
|
||||
} ambapp_dev_apbuart;
|
||||
|
||||
typedef struct {
|
||||
volatile unsigned int val;
|
||||
volatile unsigned int rld;
|
||||
volatile unsigned int ctrl;
|
||||
volatile unsigned int unused;
|
||||
} ambapp_dev_gptimer_element;
|
||||
|
||||
#define LEON3_GPTIMER_CTRL_EN 0x1 /* Timer enable */
|
||||
#define LEON3_GPTIMER_CTRL_RS 0x2 /* Timer reStart */
|
||||
#define LEON3_GPTIMER_CTRL_LD 0x4 /* Timer reLoad */
|
||||
#define LEON3_GPTIMER_CTRL_IE 0x8 /* interrupt enable */
|
||||
#define LEON3_GPTIMER_CTRL_IP 0x10 /* interrupt flag/pending */
|
||||
#define LEON3_GPTIMER_CTRL_CH 0x20 /* Chain with previous timer */
|
||||
|
||||
typedef struct {
|
||||
volatile unsigned int scalar;
|
||||
volatile unsigned int scalar_reload;
|
||||
volatile unsigned int config;
|
||||
volatile unsigned int unused;
|
||||
volatile ambapp_dev_gptimer_element e[8];
|
||||
} ambapp_dev_gptimer;
|
||||
|
||||
typedef struct {
|
||||
volatile unsigned int iodata;
|
||||
volatile unsigned int ioout;
|
||||
volatile unsigned int iodir;
|
||||
volatile unsigned int irqmask;
|
||||
volatile unsigned int irqpol;
|
||||
volatile unsigned int irqedge;
|
||||
} ambapp_dev_ioport;
|
||||
|
||||
typedef struct {
|
||||
volatile unsigned int write;
|
||||
volatile unsigned int dummy;
|
||||
volatile unsigned int txcolor;
|
||||
volatile unsigned int bgcolor;
|
||||
} ambapp_dev_textvga;
|
||||
|
||||
typedef struct {
|
||||
volatile unsigned int data;
|
||||
volatile unsigned int status;
|
||||
volatile unsigned int ctrl;
|
||||
} ambapp_dev_apbps2;
|
||||
|
||||
typedef struct {
|
||||
unsigned int mcfg1, mcfg2, mcfg3;
|
||||
} ambapp_dev_mctrl;
|
||||
|
||||
typedef struct {
|
||||
unsigned int sdcfg;
|
||||
} ambapp_dev_sdctrl;
|
||||
|
||||
typedef struct {
|
||||
unsigned int cfg1;
|
||||
unsigned int cfg2;
|
||||
unsigned int cfg3;
|
||||
} ambapp_dev_ddr2spa;
|
||||
|
||||
typedef struct {
|
||||
unsigned int ctrl;
|
||||
unsigned int cfg;
|
||||
} ambapp_dev_ddrspa;
|
||||
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
|
@ -0,0 +1,367 @@
|
|||
/*
|
||||
* (C) Copyright 2011 Andes Technology Corp
|
||||
* Macpaul Lin <macpaul@andestech.com>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
*/
|
||||
|
||||
/*
|
||||
* Andes Power Control Unit
|
||||
*/
|
||||
#ifndef __ANDES_PCU_H
|
||||
#define __ANDES_PCU_H
|
||||
|
||||
#ifndef __ASSEMBLY__
|
||||
|
||||
struct pcs {
|
||||
unsigned int cr; /* PCSx Configuration (clock scaling) */
|
||||
unsigned int parm; /* PCSx Parameter*/
|
||||
unsigned int stat1; /* PCSx Status 1 */
|
||||
unsigned int stat2; /* PCSx Stusts 2 */
|
||||
unsigned int pdd; /* PCSx PDD */
|
||||
};
|
||||
|
||||
struct andes_pcu {
|
||||
unsigned int rev; /* 0x00 - PCU Revision */
|
||||
unsigned int spinfo; /* 0x04 - Scratch Pad Info */
|
||||
unsigned int rsvd1[2]; /* 0x08-0x0C: Reserved */
|
||||
unsigned int soc_id; /* 0x10 - SoC ID */
|
||||
unsigned int soc_ahb; /* 0x14 - SoC AHB configuration */
|
||||
unsigned int soc_apb; /* 0x18 - SoC APB configuration */
|
||||
unsigned int rsvd2; /* 0x1C */
|
||||
unsigned int dcsrcr0; /* 0x20 - Driving Capability
|
||||
and Slew Rate Control 0 */
|
||||
unsigned int dcsrcr1; /* 0x24 - Driving Capability
|
||||
and Slew Rate Control 1 */
|
||||
unsigned int dcsrcr2; /* 0x28 - Driving Capability
|
||||
and Slew Rate Control 2 */
|
||||
unsigned int rsvd3; /* 0x2C */
|
||||
unsigned int mfpsr0; /* 0x30 - Multi-Func Port Setting 0 */
|
||||
unsigned int mfpsr1; /* 0x34 - Multi-Func Port Setting 1 */
|
||||
unsigned int dmaes; /* 0x38 - DMA Engine Selection */
|
||||
unsigned int rsvd4; /* 0x3C */
|
||||
unsigned int oscc; /* 0x40 - OSC Control */
|
||||
unsigned int pwmcd; /* 0x44 - PWM Clock divider */
|
||||
unsigned int socmisc; /* 0x48 - SoC Misc. */
|
||||
unsigned int rsvd5[13]; /* 0x4C-0x7C: Reserved */
|
||||
unsigned int bsmcr; /* 0x80 - BSM Controrl */
|
||||
unsigned int bsmst; /* 0x84 - BSM Status */
|
||||
unsigned int wes; /* 0x88 - Wakeup Event Sensitivity*/
|
||||
unsigned int west; /* 0x8C - Wakeup Event Status */
|
||||
unsigned int rsttiming; /* 0x90 - Reset Timing */
|
||||
unsigned int intr_st; /* 0x94 - PCU Interrupt Status */
|
||||
unsigned int rsvd6[2]; /* 0x98-0x9C: Reserved */
|
||||
struct pcs pcs1; /* 0xA0-0xB0: PCS1 (clock scaling) */
|
||||
unsigned int pcsrsvd1[3]; /* 0xB4-0xBC: Reserved */
|
||||
struct pcs pcs2; /* 0xC0-0xD0: PCS2 (AHB clock gating) */
|
||||
unsigned int pcsrsvd2[3]; /* 0xD4-0xDC: Reserved */
|
||||
struct pcs pcs3; /* 0xE0-0xF0: PCS3 (APB clock gating) */
|
||||
unsigned int pcsrsvd3[3]; /* 0xF4-0xFC: Reserved */
|
||||
struct pcs pcs4; /* 0x100-0x110: PCS4 main PLL scaling */
|
||||
unsigned int pcsrsvd4[3]; /* 0x114-0x11C: Reserved */
|
||||
struct pcs pcs5; /* 0x120-0x130: PCS5 PCI PLL scaling */
|
||||
unsigned int pcsrsvd5[3]; /* 0x134-0x13C: Reserved */
|
||||
struct pcs pcs6; /* 0x140-0x150: PCS6 AC97 PLL scaling */
|
||||
unsigned int pcsrsvd6[3]; /* 0x154-0x15C: Reserved */
|
||||
struct pcs pcs7; /* 0x160-0x170: PCS7 GMAC PLL scaling */
|
||||
unsigned int pcsrsvd7[3]; /* 0x174-0x17C: Reserved */
|
||||
struct pcs pcs8; /* 0x180-0x190: PCS8 voltage scaling */
|
||||
unsigned int pcsrsvd8[3]; /* 0x194-0x19C: Reserved */
|
||||
struct pcs pcs9; /* 0x1A0-0x1B0: PCS9 power control */
|
||||
unsigned int pcsrsvd9[93]; /* 0x1B4-0x3FC: Reserved */
|
||||
unsigned int pmspdm[40]; /* 0x400-0x4fC: Power Manager
|
||||
Scratch Pad Memory 0 */
|
||||
};
|
||||
#endif /* __ASSEMBLY__ */
|
||||
|
||||
/*
|
||||
* PCU Revision Register (ro)
|
||||
*/
|
||||
#define ANDES_PCU_REV_NUMBER_PCS(x) (((x) >> 0) & 0xff)
|
||||
#define ANDES_PCU_REV_VER(x) (((x) >> 16) & 0xffff)
|
||||
|
||||
/*
|
||||
* Scratch Pad Info Register (ro)
|
||||
*/
|
||||
#define ANDES_PCU_SPINFO_SIZE(x) (((x) >> 0) & 0xff)
|
||||
#define ANDES_PCU_SPINFO_OFFSET(x) (((x) >> 8) & 0xf)
|
||||
|
||||
/*
|
||||
* SoC ID Register (ro)
|
||||
*/
|
||||
#define ANDES_PCU_SOC_ID_VER_MINOR(x) (((x) >> 0) & 0xf)
|
||||
#define ANDES_PCU_SOC_ID_VER_MAJOR(x) (((x) >> 4) & 0xfff)
|
||||
#define ANDES_PCU_SOC_ID_DEVICEID(x) (((x) >> 16) & 0xffff)
|
||||
|
||||
/*
|
||||
* SoC AHB Configuration Register (ro)
|
||||
*/
|
||||
#define ANDES_PCU_SOC_AHB_AHBC(x) ((x) << 0)
|
||||
#define ANDES_PCU_SOC_AHB_APBREG(x) ((x) << 1)
|
||||
#define ANDES_PCU_SOC_AHB_APB(x) ((x) << 2)
|
||||
#define ANDES_PCU_SOC_AHB_DLM1(x) ((x) << 3)
|
||||
#define ANDES_PCU_SOC_AHB_SPIROM(x) ((x) << 4)
|
||||
#define ANDES_PCU_SOC_AHB_DDR2C(x) ((x) << 5)
|
||||
#define ANDES_PCU_SOC_AHB_DDR2MEM(x) ((x) << 6)
|
||||
#define ANDES_PCU_SOC_AHB_DMAC(x) ((x) << 7)
|
||||
#define ANDES_PCU_SOC_AHB_DLM2(x) ((x) << 8)
|
||||
#define ANDES_PCU_SOC_AHB_GPU(x) ((x) << 9)
|
||||
#define ANDES_PCU_SOC_AHB_GMAC(x) ((x) << 12)
|
||||
#define ANDES_PCU_SOC_AHB_IDE(x) ((x) << 13)
|
||||
#define ANDES_PCU_SOC_AHB_USBOTG(x) ((x) << 14)
|
||||
#define ANDES_PCU_SOC_AHB_INTC(x) ((x) << 15)
|
||||
#define ANDES_PCU_SOC_AHB_LPCIO(x) ((x) << 16)
|
||||
#define ANDES_PCU_SOC_AHB_LPCREG(x) ((x) << 17)
|
||||
#define ANDES_PCU_SOC_AHB_PCIIO(x) ((x) << 18)
|
||||
#define ANDES_PCU_SOC_AHB_PCIMEM(x) ((x) << 19)
|
||||
#define ANDES_PCU_SOC_AHB_L2CC(x) ((x) << 20)
|
||||
#define ANDES_PCU_SOC_AHB_AHB2AHBREG(x) ((x) << 27)
|
||||
#define ANDES_PCU_SOC_AHB_AHB2AHBMEM0(x) ((x) << 28)
|
||||
#define ANDES_PCU_SOC_AHB_AHB2AHBMEM1(x) ((x) << 29)
|
||||
#define ANDES_PCU_SOC_AHB_AHB2AHBMEM2(x) ((x) << 30)
|
||||
#define ANDES_PCU_SOC_AHB_AHB2AHBMEM3(x) ((x) << 31)
|
||||
|
||||
/*
|
||||
* SoC APB Configuration Register (ro)
|
||||
*/
|
||||
#define ANDES_PCU_SOC_APB_CFC(x) ((x) << 1)
|
||||
#define ANDES_PCU_SOC_APB_SSP(x) ((x) << 2)
|
||||
#define ANDES_PCU_SOC_APB_UART1(x) ((x) << 3)
|
||||
#define ANDES_PCU_SOC_APB_SDC(x) ((x) << 5)
|
||||
#define ANDES_PCU_SOC_APB_AC97I2S(x) ((x) << 6)
|
||||
#define ANDES_PCU_SOC_APB_UART2(x) ((x) << 8)
|
||||
#define ANDES_PCU_SOC_APB_PCU(x) ((x) << 16)
|
||||
#define ANDES_PCU_SOC_APB_TMR(x) ((x) << 17)
|
||||
#define ANDES_PCU_SOC_APB_WDT(x) ((x) << 18)
|
||||
#define ANDES_PCU_SOC_APB_RTC(x) ((x) << 19)
|
||||
#define ANDES_PCU_SOC_APB_GPIO(x) ((x) << 20)
|
||||
#define ANDES_PCU_SOC_APB_I2C(x) ((x) << 22)
|
||||
#define ANDES_PCU_SOC_APB_PWM(x) ((x) << 23)
|
||||
|
||||
/*
|
||||
* Driving Capability and Slew Rate Control Register 0 (rw)
|
||||
*/
|
||||
#define ANDES_PCU_DCSRCR0_TRIAHB(x) (((x) & 0x1f) << 0)
|
||||
#define ANDES_PCU_DCSRCR0_LPC(x) (((x) & 0xf) << 8)
|
||||
#define ANDES_PCU_DCSRCR0_ULPI(x) (((x) & 0xf) << 12)
|
||||
#define ANDES_PCU_DCSRCR0_GMAC(x) (((x) & 0xf) << 16)
|
||||
#define ANDES_PCU_DCSRCR0_GPU(x) (((x) & 0xf) << 20)
|
||||
|
||||
/*
|
||||
* Driving Capability and Slew Rate Control Register 1 (rw)
|
||||
*/
|
||||
#define ANDES_PCU_DCSRCR1_I2C(x) (((x) & 0xf) << 0)
|
||||
|
||||
/*
|
||||
* Driving Capability and Slew Rate Control Register 2 (rw)
|
||||
*/
|
||||
#define ANDES_PCU_DCSRCR2_UART1(x) (((x) & 0xf) << 0)
|
||||
#define ANDES_PCU_DCSRCR2_UART2(x) (((x) & 0xf) << 4)
|
||||
#define ANDES_PCU_DCSRCR2_AC97(x) (((x) & 0xf) << 8)
|
||||
#define ANDES_PCU_DCSRCR2_SPI(x) (((x) & 0xf) << 12)
|
||||
#define ANDES_PCU_DCSRCR2_SD(x) (((x) & 0xf) << 16)
|
||||
#define ANDES_PCU_DCSRCR2_CFC(x) (((x) & 0xf) << 20)
|
||||
#define ANDES_PCU_DCSRCR2_GPIO(x) (((x) & 0xf) << 24)
|
||||
#define ANDES_PCU_DCSRCR2_PCU(x) (((x) & 0xf) << 28)
|
||||
|
||||
/*
|
||||
* Multi-function Port Setting Register 0 (rw)
|
||||
*/
|
||||
#define ANDES_PCU_MFPSR0_PCIMODE(x) ((x) << 0)
|
||||
#define ANDES_PCU_MFPSR0_IDEMODE(x) ((x) << 1)
|
||||
#define ANDES_PCU_MFPSR0_MINI_TC01(x) ((x) << 2)
|
||||
#define ANDES_PCU_MFPSR0_AHB_DEBUG(x) ((x) << 3)
|
||||
#define ANDES_PCU_MFPSR0_AHB_TARGET(x) ((x) << 4)
|
||||
#define ANDES_PCU_MFPSR0_DEFAULT_IVB(x) (((x) & 0x7) << 28)
|
||||
#define ANDES_PCU_MFPSR0_DEFAULT_ENDIAN(x) ((x) << 31)
|
||||
|
||||
/*
|
||||
* Multi-function Port Setting Register 1 (rw)
|
||||
*/
|
||||
#define ANDES_PCU_MFPSR1_SUSPEND(x) ((x) << 0)
|
||||
#define ANDES_PCU_MFPSR1_PWM0(x) ((x) << 1)
|
||||
#define ANDES_PCU_MFPSR1_PWM1(x) ((x) << 2)
|
||||
#define ANDES_PCU_MFPSR1_AC97CLKOUT(x) ((x) << 3)
|
||||
#define ANDES_PCU_MFPSR1_PWREN(x) ((x) << 4)
|
||||
#define ANDES_PCU_MFPSR1_PME(x) ((x) << 5)
|
||||
#define ANDES_PCU_MFPSR1_I2C(x) ((x) << 6)
|
||||
#define ANDES_PCU_MFPSR1_UART1(x) ((x) << 7)
|
||||
#define ANDES_PCU_MFPSR1_UART2(x) ((x) << 8)
|
||||
#define ANDES_PCU_MFPSR1_SPI(x) ((x) << 9)
|
||||
#define ANDES_PCU_MFPSR1_SD(x) ((x) << 10)
|
||||
#define ANDES_PCU_MFPSR1_GPUPLLSRC(x) ((x) << 27)
|
||||
#define ANDES_PCU_MFPSR1_DVOMODE(x) ((x) << 28)
|
||||
#define ANDES_PCU_MFPSR1_HSMP_FAST_REQ(x) ((x) << 29)
|
||||
#define ANDES_PCU_MFPSR1_AHB_FAST_REQ(x) ((x) << 30)
|
||||
#define ANDES_PCU_MFPSR1_PMUR_EXT_INT(x) ((x) << 31)
|
||||
|
||||
/*
|
||||
* DMA Engine Selection Register (rw)
|
||||
*/
|
||||
#define ANDES_PCU_DMAES_AC97RX(x) ((x) << 2)
|
||||
#define ANDES_PCU_DMAES_AC97TX(x) ((x) << 3)
|
||||
#define ANDES_PCU_DMAES_UART1RX(x) ((x) << 4)
|
||||
#define ANDES_PCU_DMAES_UART1TX(x) ((x) << 5)
|
||||
#define ANDES_PCU_DMAES_UART2RX(x) ((x) << 6)
|
||||
#define ANDES_PCU_DMAES_UART2TX(x) ((x) << 7)
|
||||
#define ANDES_PCU_DMAES_SDDMA(x) ((x) << 8)
|
||||
#define ANDES_PCU_DMAES_CFCDMA(x) ((x) << 9)
|
||||
|
||||
/*
|
||||
* OSC Control Register (rw)
|
||||
*/
|
||||
#define ANDES_PCU_OSCC_OSCH_OFF(x) ((x) << 0)
|
||||
#define ANDES_PCU_OSCC_OSCH_STABLE(x) ((x) << 1)
|
||||
#define ANDES_PCU_OSCC_OSCH_TRI(x) ((x) << 2)
|
||||
#define ANDES_PCU_OSCC_OSCH_RANGE(x) (((x) & 0x3) << 4)
|
||||
#define ANDES_PCU_OSCC_OSCH2_RANGE(x) (((x) & 0x3) << 6)
|
||||
#define ANDES_PCU_OSCC_OSCH3_RANGE(x) (((x) & 0x3) << 8)
|
||||
|
||||
/*
|
||||
* PWM Clock Divider Register (rw)
|
||||
*/
|
||||
#define ANDES_PCU_PWMCD_PWMDIV(x) (((x) & 0xf) << 0)
|
||||
|
||||
/*
|
||||
* SoC Misc. Register (rw)
|
||||
*/
|
||||
#define ANDES_PCU_SOCMISC_RSCPUA(x) ((x) << 0)
|
||||
#define ANDES_PCU_SOCMISC_RSCPUB(x) ((x) << 1)
|
||||
#define ANDES_PCU_SOCMISC_RSPCI(x) ((x) << 2)
|
||||
#define ANDES_PCU_SOCMISC_USBWAKE(x) ((x) << 3)
|
||||
#define ANDES_PCU_SOCMISC_EXLM_WAITA(x) (((x) & 0x3) << 4)
|
||||
#define ANDES_PCU_SOCMISC_EXLM_WAITB(x) (((x) & 0x3) << 6)
|
||||
#define ANDES_PCU_SOCMISC_DDRPLL_BYPASS(x) (((x) << 8)
|
||||
#define ANDES_PCU_SOCMISC_300MHZSEL(x) (((x) << 9)
|
||||
#define ANDES_PCU_SOCMISC_DDRDLL_SRST(x) (((x) << 10)
|
||||
#define ANDES_PCU_SOCMISC_DDRDDQ_TEST(x) (((x) << 11)
|
||||
#define ANDES_PCU_SOCMISC_DDRDLL_TEST(x) (((x) << 12)
|
||||
#define ANDES_PCU_SOCMISC_GPUPLL_BYPASS(x) (((x) << 13)
|
||||
#define ANDES_PCU_SOCMISC_ENCPUA(x) (((x) << 14)
|
||||
#define ANDES_PCU_SOCMISC_ENCPUB(x) (((x) << 15)
|
||||
#define ANDES_PCU_SOCMISC_PWON_PWBTN(x) (((x) << 16)
|
||||
#define ANDES_PCU_SOCMISC_PWON_GPIO1(x) (((x) << 17)
|
||||
#define ANDES_PCU_SOCMISC_PWON_GPIO2(x) (((x) << 18)
|
||||
#define ANDES_PCU_SOCMISC_PWON_GPIO3(x) (((x) << 19)
|
||||
#define ANDES_PCU_SOCMISC_PWON_GPIO4(x) (((x) << 20)
|
||||
#define ANDES_PCU_SOCMISC_PWON_GPIO5(x) (((x) << 21)
|
||||
#define ANDES_PCU_SOCMISC_PWON_WOL(x) (((x) << 22)
|
||||
#define ANDES_PCU_SOCMISC_PWON_RTC(x) (((x) << 23)
|
||||
#define ANDES_PCU_SOCMISC_PWON_RTCALM(x) (((x) << 24)
|
||||
#define ANDES_PCU_SOCMISC_PWON_XDBGIN(x) (((x) << 25)
|
||||
#define ANDES_PCU_SOCMISC_PWON_PME(x) (((x) << 26)
|
||||
#define ANDES_PCU_SOCMISC_PWON_PWFAIL(x) (((x) << 27)
|
||||
#define ANDES_PCU_SOCMISC_CPUA_SRSTED(x) (((x) << 28)
|
||||
#define ANDES_PCU_SOCMISC_CPUB_SRSTED(x) (((x) << 29)
|
||||
#define ANDES_PCU_SOCMISC_WD_RESET(x) (((x) << 30)
|
||||
#define ANDES_PCU_SOCMISC_HW_RESET(x) (((x) << 31)
|
||||
|
||||
/*
|
||||
* BSM Control Register (rw)
|
||||
*/
|
||||
#define ANDES_PCU_BSMCR_LINK0(x) (((x) & 0xf) << 0)
|
||||
#define ANDES_PCU_BSMCR_LINK1(x) (((x) & 0xf) << 4)
|
||||
#define ANDES_PCU_BSMCR_SYNCSRC(x) (((x) & 0xf) << 24)
|
||||
#define ANDES_PCU_BSMCR_CMD(x) (((x) & 0x7) << 28)
|
||||
#define ANDES_PCU_BSMCR_IE(x) ((x) << 31)
|
||||
|
||||
/*
|
||||
* BSM Status Register
|
||||
*/
|
||||
#define ANDES_PCU_BSMSR_CI0(x) (((x) & 0xf) << 0)
|
||||
#define ANDES_PCU_BSMSR_CI1(x) (((x) & 0xf) << 4)
|
||||
#define ANDES_PCU_BSMSR_SYNCSRC(x) (((x) & 0xf) << 24)
|
||||
#define ANDES_PCU_BSMSR_BSMST(x) (((x) & 0xf) << 28)
|
||||
|
||||
/*
|
||||
* Wakeup Event Sensitivity Register (rw)
|
||||
*/
|
||||
#define ANDES_PCU_WESR_POLOR(x) (((x) & 0xff) << 0)
|
||||
|
||||
/*
|
||||
* Wakeup Event Status Register (ro)
|
||||
*/
|
||||
#define ANDES_PCU_WEST_SIG(x) (((x) & 0xff) << 0)
|
||||
|
||||
/*
|
||||
* Reset Timing Register
|
||||
*/
|
||||
#define ANDES_PCU_RSTTIMING_RG0(x) (((x) & 0xff) << 0)
|
||||
#define ANDES_PCU_RSTTIMING_RG1(x) (((x) & 0xff) << 8)
|
||||
#define ANDES_PCU_RSTTIMING_RG2(x) (((x) & 0xff) << 16)
|
||||
#define ANDES_PCU_RSTTIMING_RG3(x) (((x) & 0xff) << 24)
|
||||
|
||||
/*
|
||||
* PCU Interrupt Status Register
|
||||
*/
|
||||
#define ANDES_PCU_INTR_ST_BSM(x) ((x) << 0)
|
||||
#define ANDES_PCU_INTR_ST_PCS1(x) ((x) << 1)
|
||||
#define ANDES_PCU_INTR_ST_PCS2(x) ((x) << 2)
|
||||
#define ANDES_PCU_INTR_ST_PCS3(x) ((x) << 3)
|
||||
#define ANDES_PCU_INTR_ST_PCS4(x) ((x) << 4)
|
||||
#define ANDES_PCU_INTR_ST_PCS5(x) ((x) << 5)
|
||||
#define ANDES_PCU_INTR_ST_PCS6(x) ((x) << 6)
|
||||
#define ANDES_PCU_INTR_ST_PCS7(x) ((x) << 7)
|
||||
#define ANDES_PCU_INTR_ST_PCS8(x) ((x) << 8)
|
||||
#define ANDES_PCU_INTR_ST_PCS9(x) ((x) << 9)
|
||||
|
||||
/*
|
||||
* PCSx Configuration Register
|
||||
*/
|
||||
#define ANDES_PCU_PCSX_CR_WAKEUP_EN(x) (((x) & 0xff) << 0)
|
||||
#define ANDES_PCU_PCSX_CR_LW(x) (((x) & 0xf) << 16)
|
||||
#define ANDES_PCU_PCSX_CR_LS(x) (((x) & 0xf) << 20)
|
||||
#define ANDES_PCU_PCSX_CR_TYPE(x) (((x) >> 28) & 0x7) /* (ro) */
|
||||
|
||||
/*
|
||||
* PCSx Parameter Register (rw)
|
||||
*/
|
||||
#define ANDES_PCU_PCSX_PARM_NEXT(x) (((x) & 0xffffff) << 0)
|
||||
#define ANDES_PCU_PCSX_PARM_SYNCSRC(x) (((x) & 0xf) << 24)
|
||||
#define ANDES_PCU_PCSX_PARM_PCSCMD(x) (((x) & 0x7) << 28)
|
||||
#define ANDES_PCU_PCSX_PARM_IE(x) (((x) << 31)
|
||||
|
||||
/*
|
||||
* PCSx Status Register 1
|
||||
*/
|
||||
#define ANDES_PCU_PCSX_STAT1_ERRNO(x) (((x) & 0xf) << 0)
|
||||
#define ANDES_PCU_PCSX_STAT1_ST(x) (((x) & 0x7) << 28)
|
||||
|
||||
/*
|
||||
* PCSx Status Register 2
|
||||
*/
|
||||
#define ANDES_PCU_PCSX_STAT2_CRNTPARM(x) (((x) & 0xffffff) << 0)
|
||||
#define ANDES_PCU_PCSX_STAT2_SYNCSRC(x) (((x) & 0xf) << 24)
|
||||
|
||||
/*
|
||||
* PCSx PDD Register
|
||||
* This is reserved for PCS(1-7)
|
||||
*/
|
||||
#define ANDES_PCU_PCS8_PDD_1BYTE(x) (((x) & 0xff) << 0)
|
||||
#define ANDES_PCU_PCS8_PDD_2BYTE(x) (((x) & 0xff) << 8)
|
||||
#define ANDES_PCU_PCS8_PDD_3BYTE(x) (((x) & 0xff) << 16)
|
||||
#define ANDES_PCU_PCS8_PDD_4BYTE(x) (((x) & 0xff) << 24)
|
||||
|
||||
#define ANDES_PCU_PCS9_PDD_TIME1(x) (((x) & 0x3f) << 0)
|
||||
#define ANDES_PCU_PCS9_PDD_TIME2(x) (((x) & 0x3f) << 6)
|
||||
#define ANDES_PCU_PCS9_PDD_TIME3(x) (((x) & 0x3f) << 12)
|
||||
#define ANDES_PCU_PCS9_PDD_TIME4(x) (((x) & 0x3f) << 18)
|
||||
#define ANDES_PCU_PCS9_PDD_TICKTYPE(x) ((x) << 24)
|
||||
#define ANDES_PCU_PCS9_PDD_GPU_SRST(x) ((x) << 27)
|
||||
#define ANDES_PCU_PCS9_PDD_PWOFFTIME(x) (((x) & 0x3) << 28)
|
||||
#define ANDES_PCU_PCS9_PDD_SUS2DRAM(x) ((x) << 30)
|
||||
#define ANDES_PCU_PCS9_PDD_CLRPWOFF_FLAG(x) ((x) << 31)
|
||||
|
||||
#endif /* __ANDES_PCU_H */
|
||||
171
common/package/utils/sysupgrade-helper/src/include/api_public.h
Normal file
171
common/package/utils/sysupgrade-helper/src/include/api_public.h
Normal file
|
|
@ -0,0 +1,171 @@
|
|||
/*
|
||||
* (C) Copyright 2007-2008 Semihalf
|
||||
*
|
||||
* Written by: Rafal Jaworowski <raj@semihalf.com>
|
||||
*
|
||||
* This file is dual licensed; you can use it under the terms of
|
||||
* either the GPL, or the BSD license, at your option.
|
||||
*
|
||||
* I. GPL:
|
||||
*
|
||||
* This file is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of
|
||||
* the License, or (at your option) any later version.
|
||||
*
|
||||
* This file is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston,
|
||||
* MA 02111-1307 USA
|
||||
*
|
||||
* Alternatively,
|
||||
*
|
||||
* II. BSD license:
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
|
||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
|
||||
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
#ifndef _API_PUBLIC_H_
|
||||
#define _API_PUBLIC_H_
|
||||
|
||||
#define API_EINVAL 1 /* invalid argument(s) */
|
||||
#define API_ENODEV 2 /* no device */
|
||||
#define API_ENOMEM 3 /* no memory */
|
||||
#define API_EBUSY 4 /* busy, occupied etc. */
|
||||
#define API_EIO 5 /* I/O error */
|
||||
#define API_ESYSC 6 /* syscall error */
|
||||
|
||||
typedef int (*scp_t)(int, int *, ...);
|
||||
|
||||
#define API_SIG_VERSION 1
|
||||
#define API_SIG_MAGIC "UBootAPI"
|
||||
#define API_SIG_MAGLEN 8
|
||||
|
||||
struct api_signature {
|
||||
char magic[API_SIG_MAGLEN]; /* magic string */
|
||||
uint16_t version; /* API version */
|
||||
uint32_t checksum; /* checksum of this sig struct */
|
||||
scp_t syscall; /* entry point to the API */
|
||||
};
|
||||
|
||||
enum {
|
||||
API_RSVD = 0,
|
||||
API_GETC,
|
||||
API_PUTC,
|
||||
API_TSTC,
|
||||
API_PUTS,
|
||||
API_RESET,
|
||||
API_GET_SYS_INFO,
|
||||
API_UDELAY,
|
||||
API_GET_TIMER,
|
||||
API_DEV_ENUM,
|
||||
API_DEV_OPEN,
|
||||
API_DEV_CLOSE,
|
||||
API_DEV_READ,
|
||||
API_DEV_WRITE,
|
||||
API_ENV_ENUM,
|
||||
API_ENV_GET,
|
||||
API_ENV_SET,
|
||||
API_DISPLAY_GET_INFO,
|
||||
API_DISPLAY_DRAW_BITMAP,
|
||||
API_DISPLAY_CLEAR,
|
||||
API_MAXCALL
|
||||
};
|
||||
|
||||
#define MR_ATTR_FLASH 0x0001
|
||||
#define MR_ATTR_DRAM 0x0002
|
||||
#define MR_ATTR_SRAM 0x0003
|
||||
|
||||
struct mem_region {
|
||||
unsigned long start;
|
||||
unsigned long size;
|
||||
int flags;
|
||||
};
|
||||
|
||||
struct sys_info {
|
||||
unsigned long clk_bus;
|
||||
unsigned long clk_cpu;
|
||||
unsigned long bar;
|
||||
struct mem_region *mr;
|
||||
int mr_no; /* number of memory regions */
|
||||
};
|
||||
|
||||
#undef CONFIG_SYS_64BIT_LBA
|
||||
#ifdef CONFIG_SYS_64BIT_LBA
|
||||
typedef u_int64_t lbasize_t;
|
||||
#else
|
||||
typedef unsigned long lbasize_t;
|
||||
#endif
|
||||
typedef unsigned long lbastart_t;
|
||||
|
||||
#define DEV_TYP_NONE 0x0000
|
||||
#define DEV_TYP_NET 0x0001
|
||||
|
||||
#define DEV_TYP_STOR 0x0002
|
||||
#define DT_STOR_IDE 0x0010
|
||||
#define DT_STOR_SCSI 0x0020
|
||||
#define DT_STOR_USB 0x0040
|
||||
#define DT_STOR_MMC 0x0080
|
||||
#define DT_STOR_SATA 0x0100
|
||||
|
||||
#define DEV_STA_CLOSED 0x0000 /* invalid, closed */
|
||||
#define DEV_STA_OPEN 0x0001 /* open i.e. active */
|
||||
|
||||
struct device_info {
|
||||
int type;
|
||||
void *cookie;
|
||||
|
||||
union {
|
||||
struct {
|
||||
lbasize_t block_count; /* no of blocks */
|
||||
unsigned long block_size; /* size of one block */
|
||||
} storage;
|
||||
|
||||
struct {
|
||||
unsigned char hwaddr[6];
|
||||
} net;
|
||||
} info;
|
||||
#define di_stor info.storage
|
||||
#define di_net info.net
|
||||
|
||||
int state;
|
||||
};
|
||||
|
||||
#define DISPLAY_TYPE_LCD 0x0001
|
||||
#define DISPLAY_TYPE_VIDEO 0x0002
|
||||
|
||||
struct display_info {
|
||||
int type;
|
||||
/* screen size in pixels */
|
||||
int pixel_width;
|
||||
int pixel_height;
|
||||
/* screen size in rows and columns of text */
|
||||
int screen_rows;
|
||||
int screen_cols;
|
||||
};
|
||||
|
||||
#endif /* _API_PUBLIC_H_ */
|
||||
11
common/package/utils/sysupgrade-helper/src/include/arm925t.h
Normal file
11
common/package/utils/sysupgrade-helper/src/include/arm925t.h
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
/************************************************
|
||||
* NAME : arm925t.h
|
||||
* Version : 23 June 2003 *
|
||||
************************************************/
|
||||
|
||||
#ifndef __ARM925T_H__
|
||||
#define __ARM925T_H__
|
||||
|
||||
void archflashwp(void *archdata, int wp);
|
||||
|
||||
#endif /*__ARM925T_H__*/
|
||||
|
|
@ -0,0 +1,92 @@
|
|||
/*
|
||||
* (C) Copyright 2005
|
||||
* ARM Ltd.
|
||||
* Peter Pearse, <Peter.Pearse@arm.com>
|
||||
* Configuration for ARM Core Modules.
|
||||
* No standalonw port yet available
|
||||
* - this file is included by both integratorap.h & integratorcp.h
|
||||
*
|
||||
* See file CREDITS for list of people who contributed to this
|
||||
* project.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of
|
||||
* the License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston,
|
||||
* MA 02111-1307 USA
|
||||
*/
|
||||
|
||||
#ifndef __ARMCOREMODULE_H
|
||||
#define __ARMCOREMODULE_H
|
||||
|
||||
#define CM_BASE 0x10000000
|
||||
|
||||
/* CM registers common to all CMs */
|
||||
/* Note that observed values after reboot into the ARM Boot Monitor
|
||||
have been used as defaults, rather than the POR values */
|
||||
#define OS_CTRL 0x0000000C
|
||||
#define CMMASK_REMAP 0x00000005 /* set remap & led */
|
||||
#define CMMASK_RESET 0x00000008
|
||||
#define OS_LOCK 0x00000014
|
||||
#define CMVAL_LOCK1 0x0000A000 /* locking value */
|
||||
#define CMVAL_LOCK2 0x0000005F /* locking value */
|
||||
#define CMVAL_UNLOCK 0x00000000 /* any value != CM_LOCKVAL */
|
||||
#define OS_SDRAM 0x00000020
|
||||
#define OS_INIT 0x00000024
|
||||
#define CMMASK_MAP_SIMPLE 0xFFFDFFFF /* simple mapping */
|
||||
#define CMMASK_TCRAM_DISABLE 0xFFFEFFFF /* TCRAM disabled */
|
||||
#define CMMASK_LOWVEC 0x00000000 /* vectors @ 0x00000000 */
|
||||
#define CMMASK_LE 0xFFFFFFF7 /* little endian */
|
||||
#define CMMASK_CMxx6_COMMON 0x00000013 /* Common value for CMxx6 */
|
||||
/* - observed reset value of */
|
||||
/* CM926EJ-S */
|
||||
/* CM1136-EJ-S */
|
||||
|
||||
#if defined (CONFIG_CM10200E) || defined (CONFIG_CM10220E)
|
||||
#define CMMASK_INIT_102 0x00000300 /* see CM102xx ref manual */
|
||||
/* - PLL test clock bypassed */
|
||||
/* - bus clock ratio 2 */
|
||||
/* - little endian */
|
||||
/* - vectors at zero */
|
||||
#endif /* CM1022xx */
|
||||
|
||||
/* Determine CM characteristics */
|
||||
|
||||
#undef CONFIG_CM_MULTIPLE_SSRAM
|
||||
#undef CONFIG_CM_SPD_DETECT
|
||||
#undef CONFIG_CM_REMAP
|
||||
#undef CONFIG_CM_INIT
|
||||
#undef CONFIG_CM_TCRAM
|
||||
|
||||
#if defined (CONFIG_CM946E_S) || defined (CONFIG_CM966E_S)
|
||||
#define CONFIG_CM_MULTIPLE_SSRAM /* CM has multiple SSRAM mapping */
|
||||
#endif
|
||||
|
||||
/* Excalibur core module has reduced functionality */
|
||||
#ifndef CONFIG_CM922T_XA10
|
||||
#define CONFIG_CM_SPD_DETECT /* CM supports SPD query */
|
||||
#define OS_SPD 0x00000100 /* Address of SPD data */
|
||||
#define CONFIG_CM_REMAP /* CM supports remapping */
|
||||
#define CONFIG_CM_INIT /* CM has initialization reg */
|
||||
#endif /* NOT EXCALIBUR */
|
||||
|
||||
#if defined(CONFIG_CM926EJ_S) || defined (CONFIG_CM946E_S) || \
|
||||
defined(CONFIG_CM966E_S) || defined (CONFIG_CM1026EJ_S) || \
|
||||
defined(CONFIG_CM1136JF_S)
|
||||
#define CONFIG_CM_TCRAM /* CM has TCRAM */
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_CM_SPD_DETECT
|
||||
#define OS_SPD 0x00000100 /* The SDRAM SPD data is copied here */
|
||||
#endif
|
||||
|
||||
#endif /* __ARMCOREMODULE_H */
|
||||
|
|
@ -0,0 +1,155 @@
|
|||
/*
|
||||
* U-boot - errno.h Error number defines
|
||||
*
|
||||
* Copyright (c) 2005-2007 Analog Devices Inc.
|
||||
*
|
||||
* See file CREDITS for list of people who contributed to this
|
||||
* project.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of
|
||||
* the License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
|
||||
* MA 02110-1301 USA
|
||||
*/
|
||||
|
||||
#ifndef _GENERIC_ERRNO_H
|
||||
#define _GENERIC_ERRNO_H
|
||||
|
||||
#define EPERM 1 /* Operation not permitted */
|
||||
#define ENOENT 2 /* No such file or directory */
|
||||
#define ESRCH 3 /* No such process */
|
||||
#define EINTR 4 /* Interrupted system call */
|
||||
#define EIO 5 /* I/O error */
|
||||
#define ENXIO 6 /* No such device or address */
|
||||
#define E2BIG 7 /* Argument list too long */
|
||||
#define ENOEXEC 8 /* Exec format error */
|
||||
#define EBADF 9 /* Bad file number */
|
||||
#define ECHILD 10 /* No child processes */
|
||||
#define EAGAIN 11 /* Try again */
|
||||
#define ENOMEM 12 /* Out of memory */
|
||||
#define EACCES 13 /* Permission denied */
|
||||
#define EFAULT 14 /* Bad address */
|
||||
#define ENOTBLK 15 /* Block device required */
|
||||
#define EBUSY 16 /* Device or resource busy */
|
||||
#define EEXIST 17 /* File exists */
|
||||
#define EXDEV 18 /* Cross-device link */
|
||||
#define ENODEV 19 /* No such device */
|
||||
#define ENOTDIR 20 /* Not a directory */
|
||||
#define EISDIR 21 /* Is a directory */
|
||||
#define EINVAL 22 /* Invalid argument */
|
||||
#define ENFILE 23 /* File table overflow */
|
||||
#define EMFILE 24 /* Too many open files */
|
||||
#define ENOTTY 25 /* Not a typewriter */
|
||||
#define ETXTBSY 26 /* Text file busy */
|
||||
#define EFBIG 27 /* File too large */
|
||||
#define ENOSPC 28 /* No space left on device */
|
||||
#define ESPIPE 29 /* Illegal seek */
|
||||
#define EROFS 30 /* Read-only file system */
|
||||
#define EMLINK 31 /* Too many links */
|
||||
#define EPIPE 32 /* Broken pipe */
|
||||
#define EDOM 33 /* Math argument out of domain of func */
|
||||
#define ERANGE 34 /* Math result not representable */
|
||||
#define EDEADLK 35 /* Resource deadlock would occur */
|
||||
#define ENAMETOOLONG 36 /* File name too long */
|
||||
#define ENOLCK 37 /* No record locks available */
|
||||
#define ENOSYS 38 /* Function not implemented */
|
||||
#define ENOTEMPTY 39 /* Directory not empty */
|
||||
#define ELOOP 40 /* Too many symbolic links encountered */
|
||||
#define EWOULDBLOCK EAGAIN /* Operation would block */
|
||||
#define ENOMSG 42 /* No message of desired type */
|
||||
#define EIDRM 43 /* Identifier removed */
|
||||
#define ECHRNG 44 /* Channel number out of range */
|
||||
#define EL2NSYNC 45 /* Level 2 not synchronized */
|
||||
#define EL3HLT 46 /* Level 3 halted */
|
||||
#define EL3RST 47 /* Level 3 reset */
|
||||
#define ELNRNG 48 /* Link number out of range */
|
||||
#define EUNATCH 49 /* Protocol driver not attached */
|
||||
#define ENOCSI 50 /* No CSI structure available */
|
||||
#define EL2HLT 51 /* Level 2 halted */
|
||||
#define EBADE 52 /* Invalid exchange */
|
||||
#define EBADR 53 /* Invalid request descriptor */
|
||||
#define EXFULL 54 /* Exchange full */
|
||||
#define ENOANO 55 /* No anode */
|
||||
#define EBADRQC 56 /* Invalid request code */
|
||||
#define EBADSLT 57 /* Invalid slot */
|
||||
|
||||
#define EDEADLOCK EDEADLK
|
||||
|
||||
#define EBFONT 59 /* Bad font file format */
|
||||
#define ENOSTR 60 /* Device not a stream */
|
||||
#define ENODATA 61 /* No data available */
|
||||
#define ETIME 62 /* Timer expired */
|
||||
#define ENOSR 63 /* Out of streams resources */
|
||||
#define ENONET 64 /* Machine is not on the network */
|
||||
#define ENOPKG 65 /* Package not installed */
|
||||
#define EREMOTE 66 /* Object is remote */
|
||||
#define ENOLINK 67 /* Link has been severed */
|
||||
#define EADV 68 /* Advertise error */
|
||||
#define ESRMNT 69 /* Srmount error */
|
||||
#define ECOMM 70 /* Communication error on send */
|
||||
#define EPROTO 71 /* Protocol error */
|
||||
#define EMULTIHOP 72 /* Multihop attempted */
|
||||
#define EDOTDOT 73 /* RFS specific error */
|
||||
#define EBADMSG 74 /* Not a data message */
|
||||
#define EOVERFLOW 75 /* Value too large for defined data type */
|
||||
#define ENOTUNIQ 76 /* Name not unique on network */
|
||||
#define EBADFD 77 /* File descriptor in bad state */
|
||||
#define EREMCHG 78 /* Remote address changed */
|
||||
#define ELIBACC 79 /* Can not access a needed shared library */
|
||||
#define ELIBBAD 80 /* Accessing a corrupted shared library */
|
||||
#define ELIBSCN 81 /* .lib section in a.out corrupted */
|
||||
#define ELIBMAX 82 /* Attempting to link in too many shared libraries */
|
||||
#define ELIBEXEC 83 /* Cannot exec a shared library directly */
|
||||
#define EILSEQ 84 /* Illegal byte sequence */
|
||||
#define ERESTART 85 /* Interrupted system call should be restarted */
|
||||
#define ESTRPIPE 86 /* Streams pipe error */
|
||||
#define EUSERS 87 /* Too many users */
|
||||
#define ENOTSOCK 88 /* Socket operation on non-socket */
|
||||
#define EDESTADDRREQ 89 /* Destination address required */
|
||||
#define EMSGSIZE 90 /* Message too long */
|
||||
#define EPROTOTYPE 91 /* Protocol wrong type for socket */
|
||||
#define ENOPROTOOPT 92 /* Protocol not available */
|
||||
#define EPROTONOSUPPORT 93 /* Protocol not supported */
|
||||
#define ESOCKTNOSUPPORT 94 /* Socket type not supported */
|
||||
#define EOPNOTSUPP 95 /* Operation not supported on transport endpoint */
|
||||
#define EPFNOSUPPORT 96 /* Protocol family not supported */
|
||||
#define EAFNOSUPPORT 97 /* Address family not supported by protocol */
|
||||
#define EADDRINUSE 98 /* Address already in use */
|
||||
#define EADDRNOTAVAIL 99 /* Cannot assign requested address */
|
||||
#define ENETDOWN 100 /* Network is down */
|
||||
#define ENETUNREACH 101 /* Network is unreachable */
|
||||
#define ENETRESET 102 /* Network dropped connection because of reset */
|
||||
#define ECONNABORTED 103 /* Software caused connection abort */
|
||||
#define ECONNRESET 104 /* Connection reset by peer */
|
||||
#define ENOBUFS 105 /* No buffer space available */
|
||||
#define EISCONN 106 /* Transport endpoint is already connected */
|
||||
#define ENOTCONN 107 /* Transport endpoint is not connected */
|
||||
#define ESHUTDOWN 108 /* Cannot send after transport endpoint shutdown */
|
||||
#define ETOOMANYREFS 109 /* Too many references: cannot splice */
|
||||
#define ETIMEDOUT 110 /* Connection timed out */
|
||||
#define ECONNREFUSED 111 /* Connection refused */
|
||||
#define EHOSTDOWN 112 /* Host is down */
|
||||
#define EHOSTUNREACH 113 /* No route to host */
|
||||
#define EALREADY 114 /* Operation already in progress */
|
||||
#define EINPROGRESS 115 /* Operation now in progress */
|
||||
#define ESTALE 116 /* Stale NFS file handle */
|
||||
#define EUCLEAN 117 /* Structure needs cleaning */
|
||||
#define ENOTNAM 118 /* Not a XENIX named type file */
|
||||
#define ENAVAIL 119 /* No XENIX semaphores available */
|
||||
#define EISNAM 120 /* Is a named type file */
|
||||
#define EREMOTEIO 121 /* Remote I/O error */
|
||||
#define EDQUOT 122 /* Quota exceeded */
|
||||
#define ENOMEDIUM 123 /* No medium found */
|
||||
#define EMEDIUMTYPE 124 /* Wrong medium type */
|
||||
|
||||
#endif
|
||||
|
|
@ -0,0 +1,97 @@
|
|||
/*
|
||||
* Copyright (c) 2011 The Chromium OS Authors.
|
||||
* Copyright (c) 2011, NVIDIA Corp. All rights reserved.
|
||||
* See file CREDITS for list of people who contributed to this
|
||||
* project.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of
|
||||
* the License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston,
|
||||
* MA 02111-1307 USA
|
||||
*/
|
||||
|
||||
#ifndef _ASM_GENERIC_GPIO_H_
|
||||
#define _ASM_GENERIC_GPIO_H_
|
||||
|
||||
/*
|
||||
* Generic GPIO API for U-Boot
|
||||
*
|
||||
* GPIOs are numbered from 0 to GPIO_COUNT-1 which value is defined
|
||||
* by the SOC/architecture.
|
||||
*
|
||||
* Each GPIO can be an input or output. If an input then its value can
|
||||
* be read as 0 or 1. If an output then its value can be set to 0 or 1.
|
||||
* If you try to write an input then the value is undefined. If you try
|
||||
* to read an output, barring something very unusual, you will get
|
||||
* back the value of the output that you previously set.
|
||||
*
|
||||
* In some cases the operation may fail, for example if the GPIO number
|
||||
* is out of range, or the GPIO is not available because its pin is
|
||||
* being used by another function. In that case, functions may return
|
||||
* an error value of -1.
|
||||
*/
|
||||
|
||||
/**
|
||||
* Request ownership of a GPIO.
|
||||
*
|
||||
* @param gpio GPIO number
|
||||
* @param label Name given to the GPIO
|
||||
* @return 0 if ok, -1 on error
|
||||
*/
|
||||
int gpio_request(unsigned gpio, const char *label);
|
||||
|
||||
/**
|
||||
* Stop using the GPIO. This function should not alter pin configuration.
|
||||
*
|
||||
* @param gpio GPIO number
|
||||
* @return 0 if ok, -1 on error
|
||||
*/
|
||||
int gpio_free(unsigned gpio);
|
||||
|
||||
/**
|
||||
* Make a GPIO an input.
|
||||
*
|
||||
* @param gpio GPIO number
|
||||
* @return 0 if ok, -1 on error
|
||||
*/
|
||||
int gpio_direction_input(unsigned gpio);
|
||||
|
||||
/**
|
||||
* Make a GPIO an output, and set its value.
|
||||
*
|
||||
* @param gpio GPIO number
|
||||
* @param value GPIO value (0 for low or 1 for high)
|
||||
* @return 0 if ok, -1 on error
|
||||
*/
|
||||
int gpio_direction_output(unsigned gpio, int value);
|
||||
|
||||
/**
|
||||
* Get a GPIO's value. This will work whether the GPIO is an input
|
||||
* or an output.
|
||||
*
|
||||
* @param gpio GPIO number
|
||||
* @return 0 if low, 1 if high, -1 on error
|
||||
*/
|
||||
int gpio_get_value(unsigned gpio);
|
||||
|
||||
/**
|
||||
* Set an output GPIO's value. The GPIO must already be an output or
|
||||
* this function may have no effect.
|
||||
*
|
||||
* @param gpio GPIO number
|
||||
* @param value GPIO value (0 for low or 1 for high)
|
||||
* @return 0 if ok, -1 on error
|
||||
*/
|
||||
int gpio_set_value(unsigned gpio, int value);
|
||||
|
||||
#endif /* _ASM_GENERIC_GPIO_H_ */
|
||||
|
|
@ -0,0 +1,105 @@
|
|||
#ifndef _ASM_GENERIC_IOCTL_H
|
||||
#define _ASM_GENERIC_IOCTL_H
|
||||
|
||||
/* ioctl command encoding: 32 bits total, command in lower 16 bits,
|
||||
* size of the parameter structure in the lower 14 bits of the
|
||||
* upper 16 bits.
|
||||
* Encoding the size of the parameter structure in the ioctl request
|
||||
* is useful for catching programs compiled with old versions
|
||||
* and to avoid overwriting user space outside the user buffer area.
|
||||
* The highest 2 bits are reserved for indicating the ``access mode''.
|
||||
* NOTE: This limits the max parameter size to 16kB -1 !
|
||||
*/
|
||||
|
||||
/*
|
||||
* The following is for compatibility across the various Linux
|
||||
* platforms. The generic ioctl numbering scheme doesn't really enforce
|
||||
* a type field. De facto, however, the top 8 bits of the lower 16
|
||||
* bits are indeed used as a type field, so we might just as well make
|
||||
* this explicit here. Please be sure to use the decoding macros
|
||||
* below from now on.
|
||||
*/
|
||||
#define _IOC_NRBITS 8
|
||||
#define _IOC_TYPEBITS 8
|
||||
|
||||
/*
|
||||
* Let any architecture override either of the following before
|
||||
* including this file.
|
||||
*/
|
||||
|
||||
#ifndef _IOC_SIZEBITS
|
||||
# define _IOC_SIZEBITS 14
|
||||
#endif
|
||||
|
||||
#ifndef _IOC_DIRBITS
|
||||
# define _IOC_DIRBITS 2
|
||||
#endif
|
||||
|
||||
#define _IOC_NRMASK ((1 << _IOC_NRBITS)-1)
|
||||
#define _IOC_TYPEMASK ((1 << _IOC_TYPEBITS)-1)
|
||||
#define _IOC_SIZEMASK ((1 << _IOC_SIZEBITS)-1)
|
||||
#define _IOC_DIRMASK ((1 << _IOC_DIRBITS)-1)
|
||||
|
||||
#define _IOC_NRSHIFT 0
|
||||
#define _IOC_TYPESHIFT (_IOC_NRSHIFT+_IOC_NRBITS)
|
||||
#define _IOC_SIZESHIFT (_IOC_TYPESHIFT+_IOC_TYPEBITS)
|
||||
#define _IOC_DIRSHIFT (_IOC_SIZESHIFT+_IOC_SIZEBITS)
|
||||
|
||||
/*
|
||||
* Direction bits, which any architecture can choose to override
|
||||
* before including this file.
|
||||
*/
|
||||
|
||||
#ifndef _IOC_NONE
|
||||
# define _IOC_NONE 0U
|
||||
#endif
|
||||
|
||||
#ifndef _IOC_WRITE
|
||||
# define _IOC_WRITE 1U
|
||||
#endif
|
||||
|
||||
#ifndef _IOC_READ
|
||||
# define _IOC_READ 2U
|
||||
#endif
|
||||
|
||||
#define _IOC(dir,type,nr,size) \
|
||||
(((dir) << _IOC_DIRSHIFT) | \
|
||||
((type) << _IOC_TYPESHIFT) | \
|
||||
((nr) << _IOC_NRSHIFT) | \
|
||||
((size) << _IOC_SIZESHIFT))
|
||||
|
||||
#ifdef __KERNEL__
|
||||
/* provoke compile error for invalid uses of size argument */
|
||||
extern unsigned int __invalid_size_argument_for_IOC;
|
||||
#define _IOC_TYPECHECK(t) \
|
||||
((sizeof(t) == sizeof(t[1]) && \
|
||||
sizeof(t) < (1 << _IOC_SIZEBITS)) ? \
|
||||
sizeof(t) : __invalid_size_argument_for_IOC)
|
||||
#else
|
||||
#define _IOC_TYPECHECK(t) (sizeof(t))
|
||||
#endif
|
||||
|
||||
/* used to create numbers */
|
||||
#define _IO(type,nr) _IOC(_IOC_NONE,(type),(nr),0)
|
||||
#define _IOR(type,nr,size) _IOC(_IOC_READ,(type),(nr),(_IOC_TYPECHECK(size)))
|
||||
#define _IOW(type,nr,size) _IOC(_IOC_WRITE,(type),(nr),(_IOC_TYPECHECK(size)))
|
||||
#define _IOWR(type,nr,size) _IOC(_IOC_READ|_IOC_WRITE,(type),(nr),(_IOC_TYPECHECK(size)))
|
||||
#define _IOR_BAD(type,nr,size) _IOC(_IOC_READ,(type),(nr),sizeof(size))
|
||||
#define _IOW_BAD(type,nr,size) _IOC(_IOC_WRITE,(type),(nr),sizeof(size))
|
||||
#define _IOWR_BAD(type,nr,size) _IOC(_IOC_READ|_IOC_WRITE,(type),(nr),sizeof(size))
|
||||
|
||||
/* used to decode ioctl numbers.. */
|
||||
#define _IOC_DIR(nr) (((nr) >> _IOC_DIRSHIFT) & _IOC_DIRMASK)
|
||||
#define _IOC_TYPE(nr) (((nr) >> _IOC_TYPESHIFT) & _IOC_TYPEMASK)
|
||||
#define _IOC_NR(nr) (((nr) >> _IOC_NRSHIFT) & _IOC_NRMASK)
|
||||
#define _IOC_SIZE(nr) (((nr) >> _IOC_SIZESHIFT) & _IOC_SIZEMASK)
|
||||
|
||||
/* ...and for the drivers/sound files... */
|
||||
|
||||
#define IOC_IN (_IOC_WRITE << _IOC_DIRSHIFT)
|
||||
#define IOC_OUT (_IOC_READ << _IOC_DIRSHIFT)
|
||||
#define IOC_INOUT ((_IOC_WRITE|_IOC_READ) << _IOC_DIRSHIFT)
|
||||
#define IOCSIZE_MASK (_IOC_SIZEMASK << _IOC_SIZESHIFT)
|
||||
#define IOCSIZE_SHIFT (_IOC_SIZESHIFT)
|
||||
|
||||
#endif /* _ASM_GENERIC_IOCTL_H */
|
||||
|
|
@ -0,0 +1,101 @@
|
|||
#ifndef __ASM_GENERIC_SIGNAL_H
|
||||
#define __ASM_GENERIC_SIGNAL_H
|
||||
|
||||
#include <linux/types.h>
|
||||
|
||||
#define _NSIG 64
|
||||
#define _NSIG_BPW BITS_PER_LONG
|
||||
#define _NSIG_WORDS (_NSIG / _NSIG_BPW)
|
||||
|
||||
#define SIGHUP 1
|
||||
#define SIGINT 2
|
||||
#define SIGQUIT 3
|
||||
#define SIGILL 4
|
||||
#define SIGTRAP 5
|
||||
#define SIGABRT 6
|
||||
#define SIGIOT 6
|
||||
#define SIGBUS 7
|
||||
#define SIGFPE 8
|
||||
#define SIGKILL 9
|
||||
#define SIGUSR1 10
|
||||
#define SIGSEGV 11
|
||||
#define SIGUSR2 12
|
||||
#define SIGPIPE 13
|
||||
#define SIGALRM 14
|
||||
#define SIGTERM 15
|
||||
#define SIGSTKFLT 16
|
||||
#define SIGCHLD 17
|
||||
#define SIGCONT 18
|
||||
#define SIGSTOP 19
|
||||
#define SIGTSTP 20
|
||||
#define SIGTTIN 21
|
||||
#define SIGTTOU 22
|
||||
#define SIGURG 23
|
||||
#define SIGXCPU 24
|
||||
#define SIGXFSZ 25
|
||||
#define SIGVTALRM 26
|
||||
#define SIGPROF 27
|
||||
#define SIGWINCH 28
|
||||
#define SIGIO 29
|
||||
#define SIGPOLL SIGIO
|
||||
/*
|
||||
#define SIGLOST 29
|
||||
*/
|
||||
#define SIGPWR 30
|
||||
#define SIGSYS 31
|
||||
#define SIGUNUSED 31
|
||||
|
||||
/* These should not be considered constants from userland. */
|
||||
#define SIGRTMIN 32
|
||||
#ifndef SIGRTMAX
|
||||
#define SIGRTMAX _NSIG
|
||||
#endif
|
||||
|
||||
/*
|
||||
* SA_FLAGS values:
|
||||
*
|
||||
* SA_ONSTACK indicates that a registered stack_t will be used.
|
||||
* SA_RESTART flag to get restarting signals (which were the default long ago)
|
||||
* SA_NOCLDSTOP flag to turn off SIGCHLD when children stop.
|
||||
* SA_RESETHAND clears the handler when the signal is delivered.
|
||||
* SA_NOCLDWAIT flag on SIGCHLD to inhibit zombies.
|
||||
* SA_NODEFER prevents the current signal from being masked in the handler.
|
||||
*
|
||||
* SA_ONESHOT and SA_NOMASK are the historical Linux names for the Single
|
||||
* Unix names RESETHAND and NODEFER respectively.
|
||||
*/
|
||||
#define SA_NOCLDSTOP 0x00000001
|
||||
#define SA_NOCLDWAIT 0x00000002
|
||||
#define SA_SIGINFO 0x00000004
|
||||
#define SA_ONSTACK 0x08000000
|
||||
#define SA_RESTART 0x10000000
|
||||
#define SA_NODEFER 0x40000000
|
||||
#define SA_RESETHAND 0x80000000
|
||||
|
||||
#define SA_NOMASK SA_NODEFER
|
||||
#define SA_ONESHOT SA_RESETHAND
|
||||
|
||||
/*
|
||||
* New architectures should not define the obsolete
|
||||
* SA_RESTORER 0x04000000
|
||||
*/
|
||||
|
||||
/*
|
||||
* sigaltstack controls
|
||||
*/
|
||||
#define SS_ONSTACK 1
|
||||
#define SS_DISABLE 2
|
||||
|
||||
#define MINSIGSTKSZ 2048
|
||||
#define SIGSTKSZ 8192
|
||||
|
||||
#ifndef __ASSEMBLY__
|
||||
typedef struct {
|
||||
unsigned long sig[_NSIG_WORDS];
|
||||
} sigset_t;
|
||||
|
||||
/* not actually used, but required for linux/syscalls.h */
|
||||
|
||||
#endif /* __ASSEMBLY__ */
|
||||
|
||||
#endif /* _ASM_GENERIC_SIGNAL_H */
|
||||
|
|
@ -0,0 +1,23 @@
|
|||
#ifndef _GENERIC_UNALIGNED_H
|
||||
#define _GENERIC_UNALIGNED_H
|
||||
|
||||
#include <asm/byteorder.h>
|
||||
|
||||
#include <linux/unaligned/le_byteshift.h>
|
||||
#include <linux/unaligned/be_byteshift.h>
|
||||
#include <linux/unaligned/generic.h>
|
||||
|
||||
/*
|
||||
* Select endianness
|
||||
*/
|
||||
#if defined(__LITTLE_ENDIAN)
|
||||
#define get_unaligned __get_unaligned_le
|
||||
#define put_unaligned __put_unaligned_le
|
||||
#elif defined(__BIG_ENDIAN)
|
||||
#define get_unaligned __get_unaligned_be
|
||||
#define put_unaligned __put_unaligned_be
|
||||
#else
|
||||
#error invalid endian
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
#ifndef DO_DEPS_ONLY
|
||||
|
||||
#include <generated/generic-asm-offsets.h>
|
||||
/* #include <generated/asm-offsets.h> */
|
||||
|
||||
#endif
|
||||
69
common/package/utils/sysupgrade-helper/src/include/at45.h
Normal file
69
common/package/utils/sysupgrade-helper/src/include/at45.h
Normal file
|
|
@ -0,0 +1,69 @@
|
|||
|
||||
#ifndef _AT45_H_
|
||||
#define _AT45_H_
|
||||
#ifdef CONFIG_DATAFLASH_MMC_SELECT
|
||||
extern void AT91F_SelectMMC(void);
|
||||
extern void AT91F_SelectSPI(void);
|
||||
extern int AT91F_GetMuxStatus(void);
|
||||
#endif
|
||||
extern void AT91F_SpiInit(void);
|
||||
extern void AT91F_SpiEnable(int cs);
|
||||
extern unsigned int AT91F_SpiWrite ( AT91PS_DataflashDesc pDesc );
|
||||
extern AT91S_DataFlashStatus AT91F_DataFlashSendCommand(
|
||||
AT91PS_DataFlash pDataFlash,
|
||||
unsigned char OpCode,
|
||||
unsigned int CmdSize,
|
||||
unsigned int DataflashAddress);
|
||||
extern AT91S_DataFlashStatus AT91F_DataFlashGetStatus (
|
||||
AT91PS_DataflashDesc pDesc);
|
||||
extern AT91S_DataFlashStatus AT91F_DataFlashWaitReady (
|
||||
AT91PS_DataflashDesc pDataFlashDesc,
|
||||
unsigned int timeout);
|
||||
extern AT91S_DataFlashStatus AT91F_DataFlashContinuousRead (
|
||||
AT91PS_DataFlash pDataFlash,
|
||||
int src,
|
||||
unsigned char *dataBuffer,
|
||||
int sizeToRead );
|
||||
extern AT91S_DataFlashStatus AT91F_DataFlashPagePgmBuf(
|
||||
AT91PS_DataFlash pDataFlash,
|
||||
unsigned char *src,
|
||||
unsigned int dest,
|
||||
unsigned int SizeToWrite);
|
||||
extern AT91S_DataFlashStatus AT91F_MainMemoryToBufferTransfert(
|
||||
AT91PS_DataFlash pDataFlash,
|
||||
unsigned char BufferCommand,
|
||||
unsigned int page);
|
||||
extern AT91S_DataFlashStatus AT91F_DataFlashWriteBuffer (
|
||||
AT91PS_DataFlash pDataFlash,
|
||||
unsigned char BufferCommand,
|
||||
unsigned char *dataBuffer,
|
||||
unsigned int bufferAddress,
|
||||
int SizeToWrite );
|
||||
extern AT91S_DataFlashStatus AT91F_PageErase(
|
||||
AT91PS_DataFlash pDataFlash,
|
||||
unsigned int page);
|
||||
extern AT91S_DataFlashStatus AT91F_BlockErase(
|
||||
AT91PS_DataFlash pDataFlash,
|
||||
unsigned int block);
|
||||
extern AT91S_DataFlashStatus AT91F_WriteBufferToMain (
|
||||
AT91PS_DataFlash pDataFlash,
|
||||
unsigned char BufferCommand,
|
||||
unsigned int dest );
|
||||
extern AT91S_DataFlashStatus AT91F_PartialPageWrite (
|
||||
AT91PS_DataFlash pDataFlash,
|
||||
unsigned char *src,
|
||||
unsigned int dest,
|
||||
unsigned int size);
|
||||
extern AT91S_DataFlashStatus AT91F_DataFlashWrite(
|
||||
AT91PS_DataFlash pDataFlash,
|
||||
unsigned char *src,
|
||||
int dest,
|
||||
int size );
|
||||
extern int AT91F_DataFlashRead(
|
||||
AT91PS_DataFlash pDataFlash,
|
||||
unsigned long addr,
|
||||
unsigned long size,
|
||||
char *buffer);
|
||||
extern int AT91F_DataflashProbe(int cs, AT91PS_DataflashDesc pDesc);
|
||||
|
||||
#endif
|
||||
|
|
@ -0,0 +1,126 @@
|
|||
/* ---------------------------------------------------------------------------- */
|
||||
/* ATMEL Microcontroller Software Support - ROUSSET - */
|
||||
/* ---------------------------------------------------------------------------- */
|
||||
/* The software is delivered "AS IS" without warranty or condition of any */
|
||||
/* kind, either express, implied or statutory. This includes without */
|
||||
/* limitation any warranty or condition with respect to merchantability or */
|
||||
/* fitness for any particular purpose, or against the infringements of */
|
||||
/* intellectual property rights of others. */
|
||||
/* ---------------------------------------------------------------------------- */
|
||||
/* File Name : at91rm9200_i2c.h */
|
||||
/* Object : AT91RM9200 / TWI definitions */
|
||||
/* Generated : AT91 SW Application Group 12/03/2002 (10:48:02) */
|
||||
/* */
|
||||
/* ---------------------------------------------------------------------------- */
|
||||
|
||||
#ifndef AT91RM9200_TWI_H
|
||||
#define AT91RM9200_TWI_H
|
||||
|
||||
/* ******************************************************************************/
|
||||
/* SOFTWARE API DEFINITION FOR Two-wire Interface */
|
||||
/* ******************************************************************************/
|
||||
#ifndef __ASSEMBLY__
|
||||
|
||||
typedef struct _AT91S_TWI {
|
||||
AT91_REG TWI_CR; /* Control Register */
|
||||
AT91_REG TWI_MMR; /* Master Mode Register */
|
||||
AT91_REG TWI_SMR; /* Slave Mode Register */
|
||||
AT91_REG TWI_IADR; /* Internal Address Register */
|
||||
AT91_REG TWI_CWGR; /* Clock Waveform Generator Register */
|
||||
AT91_REG Reserved0[3];
|
||||
AT91_REG TWI_SR; /* Status Register */
|
||||
AT91_REG TWI_IER; /* Interrupt Enable Register */
|
||||
AT91_REG TWI_IDR; /* Interrupt Disable Register */
|
||||
AT91_REG TWI_IMR; /* Interrupt Mask Register */
|
||||
AT91_REG TWI_RHR; /* Receive Holding Register */
|
||||
AT91_REG TWI_THR; /* Transmit Holding Register */
|
||||
AT91_REG Reserved1[50];
|
||||
AT91_REG TWI_RPR; /* Receive Pointer Register */
|
||||
AT91_REG TWI_RCR; /* Receive Counter Register */
|
||||
AT91_REG TWI_TPR; /* Transmit Pointer Register */
|
||||
AT91_REG TWI_TCR; /* Transmit Counter Register */
|
||||
AT91_REG TWI_RNPR; /* Receive Next Pointer Register */
|
||||
AT91_REG TWI_RNCR; /* Receive Next Counter Register */
|
||||
AT91_REG TWI_TNPR; /* Transmit Next Pointer Register */
|
||||
AT91_REG TWI_TNCR; /* Transmit Next Counter Register */
|
||||
AT91_REG TWI_PTCR; /* PDC Transfer Control Register */
|
||||
AT91_REG TWI_PTSR; /* PDC Transfer Status Register */
|
||||
} AT91S_TWI, *AT91PS_TWI;
|
||||
|
||||
#endif
|
||||
|
||||
/* -------- TWI_CR : (TWI Offset: 0x0) TWI Control Register -------- */
|
||||
#define AT91C_TWI_START (0x1 << 0) /* (TWI) Send a START Condition */
|
||||
#define AT91C_TWI_STOP (0x1 << 1) /* (TWI) Send a STOP Condition */
|
||||
#define AT91C_TWI_MSEN (0x1 << 2) /* (TWI) TWI Master Transfer Enabled */
|
||||
#define AT91C_TWI_MSDIS (0x1 << 3) /* (TWI) TWI Master Transfer Disabled */
|
||||
#define AT91C_TWI_SVEN (0x1 << 4) /* (TWI) TWI Slave Transfer Enabled */
|
||||
#define AT91C_TWI_SVDIS (0x1 << 5) /* (TWI) TWI Slave Transfer Disabled */
|
||||
#define AT91C_TWI_SWRST (0x1 << 7) /* (TWI) Software Reset */
|
||||
/* -------- TWI_MMR : (TWI Offset: 0x4) TWI Master Mode Register -------- */
|
||||
#define AT91C_TWI_IADRSZ (0x3 << 8) /* (TWI) Internal Device Address Size */
|
||||
#define AT91C_TWI_IADRSZ_NO (0x0 << 8) /* (TWI) No internal device address */
|
||||
#define AT91C_TWI_IADRSZ_1_BYTE (0x1 << 8) /* (TWI) One-byte internal device address */
|
||||
#define AT91C_TWI_IADRSZ_2_BYTE (0x2 << 8) /* (TWI) Two-byte internal device address */
|
||||
#define AT91C_TWI_IADRSZ_3_BYTE (0x3 << 8) /* (TWI) Three-byte internal device address */
|
||||
#define AT91C_TWI_MREAD (0x1 << 12) /* (TWI) Master Read Direction */
|
||||
#define AT91C_TWI_DADR (0x7F << 6) /* (TWI) Device Address */
|
||||
/* -------- TWI_SMR : (TWI Offset: 0x8) TWI Slave Mode Register -------- */
|
||||
#define AT91C_TWI_SADR (0x7F << 16) /* (TWI) Slave Device Address */
|
||||
/* -------- TWI_CWGR : (TWI Offset: 0x10) TWI Clock Waveform Generator Register -------- */
|
||||
#define AT91C_TWI_CLDIV (0xFF << 0) /* (TWI) Clock Low Divider */
|
||||
#define AT91C_TWI_CHDIV (0xFF << 8) /* (TWI) Clock High Divider */
|
||||
#define AT91C_TWI_CKDIV (0x7 << 16) /* (TWI) Clock Divider */
|
||||
/* -------- TWI_SR : (TWI Offset: 0x20) TWI Status Register -------- */
|
||||
#define AT91C_TWI_TXCOMP (0x1 << 0) /* (TWI) Transmission Completed */
|
||||
#define AT91C_TWI_RXRDY (0x1 << 1) /* (TWI) Receive holding register ReaDY */
|
||||
#define AT91C_TWI_TXRDY (0x1 << 2) /* (TWI) Transmit holding register ReaDY*/
|
||||
#define AT91C_TWI_SVREAD (0x1 << 3) /* (TWI) Slave Read */
|
||||
#define AT91C_TWI_SVACC (0x1 << 4) /* (TWI) Slave Access */
|
||||
#define AT91C_TWI_GCACC (0x1 << 5) /* (TWI) General Call Access */
|
||||
#define AT91C_TWI_OVRE (0x1 << 6) /* (TWI) Overrun Error */
|
||||
#define AT91C_TWI_UNRE (0x1 << 7) /* (TWI) Underrun Error */
|
||||
#define AT91C_TWI_NACK (0x1 << 8) /* (TWI) Not Acknowledged */
|
||||
#define AT91C_TWI_ARBLST (0x1 << 9) /* (TWI) Arbitration Lost */
|
||||
/* -------- TWI_IER : (TWI Offset: 0x24) TWI Interrupt Enable Register -------- */
|
||||
/* -------- TWI_IDR : (TWI Offset: 0x28) TWI Interrupt Disable Register ------- */
|
||||
/* -------- TWI_IMR : (TWI Offset: 0x2c) TWI Interrupt Mask Register -------- */
|
||||
|
||||
/*
|
||||
i2c Support for Atmel's AT91RM9200 Two-Wire Interface
|
||||
|
||||
(c) Rick Bronson
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 2 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
*/
|
||||
|
||||
#ifndef AT91_I2C_H
|
||||
#define AT91_I2C_H
|
||||
|
||||
#define AT91C_TWI_CLOCK 100000
|
||||
#define AT91C_TWI_SCLOCK (10 * AT91C_MASTER_CLOCK / AT91C_TWI_CLOCK)
|
||||
#define AT91C_TWI_CKDIV1 (2 << 16) /* TWI clock divider. NOTE: see Errata #22 */
|
||||
|
||||
#if (AT91C_TWI_SCLOCK % 10) >= 5
|
||||
#define AT91C_TWI_CLDIV2 ((AT91C_TWI_SCLOCK / 10) - 5)
|
||||
#else
|
||||
#define AT91C_TWI_CLDIV2 ((AT91C_TWI_SCLOCK / 10) - 6)
|
||||
#endif
|
||||
#define AT91C_TWI_CLDIV3 ((AT91C_TWI_CLDIV2 + (4 - AT91C_TWI_CLDIV2 % 4)) >> 2)
|
||||
|
||||
#define AT91C_EEPROM_I2C_ADDRESS (0x50 << 16)
|
||||
|
||||
#endif /* __ASSEMBLY__ */
|
||||
#endif /* AT91RM9200_TWI_H */
|
||||
|
|
@ -0,0 +1,57 @@
|
|||
/*
|
||||
* Ethernet: An implementation of the Ethernet Device Driver suite for the
|
||||
* uClinux 2.0.38 operating system. This Driver has been developed
|
||||
* for AT75C220 board.
|
||||
*
|
||||
* NOTE: The driver is implemented for one MAC
|
||||
*
|
||||
* Version: @(#)at91rm9200_net.h 1.0.0 01/10/2001
|
||||
*
|
||||
* Authors: Lineo Inc <www.lineo.com>
|
||||
*
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License
|
||||
* as published by the Free Software Foundation; either version
|
||||
* 2 of the License, or (at your option) any later version.
|
||||
*/
|
||||
|
||||
#ifndef AT91RM9200_ETHERNET
|
||||
#define AT91RM9200_ETHERNET
|
||||
|
||||
#include <common.h>
|
||||
#include <asm/io.h>
|
||||
#include <asm/arch/hardware.h>
|
||||
|
||||
#define FALSE 0
|
||||
#define TRUE 1
|
||||
|
||||
|
||||
#define ETHERNET_ADDRESS_SIZE 6
|
||||
|
||||
typedef unsigned char UCHAR;
|
||||
|
||||
/* Interface to drive the physical layer */
|
||||
typedef struct _AT91S_PhyOps
|
||||
{
|
||||
unsigned char (*Init)(AT91S_EMAC *pmac);
|
||||
unsigned int (*IsPhyConnected)(AT91S_EMAC *pmac);
|
||||
unsigned char (*GetLinkSpeed)(AT91S_EMAC *pmac);
|
||||
unsigned char (*AutoNegotiate)(AT91S_EMAC *pmac, int *);
|
||||
|
||||
} AT91S_PhyOps,*AT91PS_PhyOps;
|
||||
|
||||
|
||||
#define EMAC_DESC_DONE 0x00000001 /* ownership bit */
|
||||
#define EMAC_DESC_WRAP 0x00000002 /* bit for wrap */
|
||||
|
||||
/****************** function prototypes **********************/
|
||||
|
||||
/* MII functions */
|
||||
void at91rm9200_EmacEnableMDIO(AT91PS_EMAC p_mac);
|
||||
void at91rm9200_EmacDisableMDIO(AT91PS_EMAC p_mac);
|
||||
UCHAR at91rm9200_EmacReadPhy(AT91PS_EMAC p_mac, unsigned char RegisterAddress, unsigned short *pInput);
|
||||
UCHAR at91rm9200_EmacWritePhy(AT91PS_EMAC p_mac, unsigned char RegisterAddress, unsigned short *pOutput);
|
||||
void at91rm9200_GetPhyInterface(AT91PS_PhyOps p_phyops);
|
||||
|
||||
#endif /* AT91RM9200_ETHERNET */
|
||||
264
common/package/utils/sysupgrade-helper/src/include/ata.h
Normal file
264
common/package/utils/sysupgrade-helper/src/include/ata.h
Normal file
|
|
@ -0,0 +1,264 @@
|
|||
/*
|
||||
* (C) Copyright 2000
|
||||
* Wolfgang Denk, DENX Software Engineering, wd@denx.de.
|
||||
*
|
||||
* See file CREDITS for list of people who contributed to this
|
||||
* project.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of
|
||||
* the License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston,
|
||||
* MA 02111-1307 USA
|
||||
*/
|
||||
|
||||
/*
|
||||
* Most of the following information was derived from the document
|
||||
* "Information Technology - AT Attachment-3 Interface (ATA-3)"
|
||||
* which can be found at:
|
||||
* http://www.dt.wdc.com/ata/ata-3/ata3r5v.zip
|
||||
* ftp://poctok.iae.nsk.su/pub/asm/Documents/IDE/ATA3R5V.ZIP
|
||||
* ftp://ftp.fee.vutbr.cz/pub/doc/io/ata/ata-3/ata3r5v.zip
|
||||
*/
|
||||
|
||||
#ifndef _ATA_H
|
||||
#define _ATA_H
|
||||
|
||||
#include <libata.h>
|
||||
|
||||
/* Register addressing depends on the hardware design; for instance,
|
||||
* 8-bit (register) and 16-bit (data) accesses might use different
|
||||
* address spaces. This is implemented by the following definitions.
|
||||
*/
|
||||
#ifndef CONFIG_SYS_ATA_STRIDE
|
||||
#define CONFIG_SYS_ATA_STRIDE 1
|
||||
#endif
|
||||
|
||||
#define ATA_IO_DATA(x) (CONFIG_SYS_ATA_DATA_OFFSET+((x) * CONFIG_SYS_ATA_STRIDE))
|
||||
#define ATA_IO_REG(x) (CONFIG_SYS_ATA_REG_OFFSET +((x) * CONFIG_SYS_ATA_STRIDE))
|
||||
#define ATA_IO_ALT(x) (CONFIG_SYS_ATA_ALT_OFFSET +((x) * CONFIG_SYS_ATA_STRIDE))
|
||||
|
||||
/*
|
||||
* I/O Register Descriptions
|
||||
*/
|
||||
#define ATA_DATA_REG ATA_IO_DATA(0)
|
||||
#define ATA_ERROR_REG ATA_IO_REG(1)
|
||||
#define ATA_SECT_CNT ATA_IO_REG(2)
|
||||
#define ATA_SECT_NUM ATA_IO_REG(3)
|
||||
#define ATA_CYL_LOW ATA_IO_REG(4)
|
||||
#define ATA_CYL_HIGH ATA_IO_REG(5)
|
||||
#define ATA_DEV_HD ATA_IO_REG(6)
|
||||
#define ATA_COMMAND ATA_IO_REG(7)
|
||||
#define ATA_DATA_EVEN ATA_IO_REG(8)
|
||||
#define ATA_DATA_ODD ATA_IO_REG(9)
|
||||
#define ATA_STATUS ATA_COMMAND
|
||||
#define ATA_DEV_CTL ATA_IO_ALT(6)
|
||||
#define ATA_LBA_LOW ATA_SECT_NUM
|
||||
#define ATA_LBA_MID ATA_CYL_LOW
|
||||
#define ATA_LBA_HIGH ATA_CYL_HIGH
|
||||
#define ATA_LBA_SEL ATA_DEV_CTL
|
||||
|
||||
/*
|
||||
* Status register bits
|
||||
*/
|
||||
#define ATA_STAT_BUSY 0x80 /* Device Busy */
|
||||
#define ATA_STAT_READY 0x40 /* Device Ready */
|
||||
#define ATA_STAT_FAULT 0x20 /* Device Fault */
|
||||
#define ATA_STAT_SEEK 0x10 /* Device Seek Complete */
|
||||
#define ATA_STAT_DRQ 0x08 /* Data Request (ready) */
|
||||
#define ATA_STAT_CORR 0x04 /* Corrected Data Error */
|
||||
#define ATA_STAT_INDEX 0x02 /* Vendor specific */
|
||||
#define ATA_STAT_ERR 0x01 /* Error */
|
||||
|
||||
/*
|
||||
* Device / Head Register Bits
|
||||
*/
|
||||
#ifndef ATA_DEVICE
|
||||
#define ATA_DEVICE(x) ((x & 1)<<4)
|
||||
#endif /* ATA_DEVICE */
|
||||
#define ATA_LBA 0xE0
|
||||
|
||||
/*
|
||||
* ATA Commands (only mandatory commands listed here)
|
||||
*/
|
||||
#define ATA_CMD_READ 0x20 /* Read Sectors (with retries) */
|
||||
#define ATA_CMD_READN 0x21 /* Read Sectors ( no retries) */
|
||||
#define ATA_CMD_WRITE 0x30 /* Write Sectores (with retries)*/
|
||||
#define ATA_CMD_WRITEN 0x31 /* Write Sectors ( no retries)*/
|
||||
#define ATA_CMD_VRFY 0x40 /* Read Verify (with retries) */
|
||||
#define ATA_CMD_VRFYN 0x41 /* Read verify ( no retries) */
|
||||
#define ATA_CMD_SEEK 0x70 /* Seek */
|
||||
#define ATA_CMD_DIAG 0x90 /* Execute Device Diagnostic */
|
||||
#define ATA_CMD_INIT 0x91 /* Initialize Device Parameters */
|
||||
#define ATA_CMD_RD_MULT 0xC4 /* Read Multiple */
|
||||
#define ATA_CMD_WR_MULT 0xC5 /* Write Multiple */
|
||||
#define ATA_CMD_SETMULT 0xC6 /* Set Multiple Mode */
|
||||
#define ATA_CMD_RD_DMA 0xC8 /* Read DMA (with retries) */
|
||||
#define ATA_CMD_RD_DMAN 0xC9 /* Read DMS ( no retries) */
|
||||
#define ATA_CMD_WR_DMA 0xCA /* Write DMA (with retries) */
|
||||
#define ATA_CMD_WR_DMAN 0xCB /* Write DMA ( no retires) */
|
||||
#define ATA_CMD_IDENT 0xEC /* Identify Device */
|
||||
#define ATA_CMD_SETF 0xEF /* Set Features */
|
||||
#define ATA_CMD_CHK_PWR 0xE5 /* Check Power Mode */
|
||||
|
||||
#define ATA_CMD_READ_EXT 0x24 /* Read Sectors (with retries) with 48bit addressing */
|
||||
#define ATA_CMD_WRITE_EXT 0x34 /* Write Sectores (with retries) with 48bit addressing */
|
||||
#define ATA_CMD_VRFY_EXT 0x42 /* Read Verify (with retries) with 48bit addressing */
|
||||
|
||||
/*
|
||||
* ATAPI Commands
|
||||
*/
|
||||
#define ATAPI_CMD_IDENT 0xA1 /* Identify AT Atachment Packed Interface Device */
|
||||
#define ATAPI_CMD_PACKET 0xA0 /* Packed Command */
|
||||
|
||||
|
||||
#define ATAPI_CMD_INQUIRY 0x12
|
||||
#define ATAPI_CMD_REQ_SENSE 0x03
|
||||
#define ATAPI_CMD_READ_CAP 0x25
|
||||
#define ATAPI_CMD_START_STOP 0x1B
|
||||
#define ATAPI_CMD_READ_12 0xA8
|
||||
|
||||
|
||||
#define ATA_GET_ERR() inb(ATA_STATUS)
|
||||
#define ATA_GET_STAT() inb(ATA_STATUS)
|
||||
#define ATA_OK_STAT(stat,good,bad) (((stat)&((good)|(bad)))==(good))
|
||||
#define ATA_BAD_R_STAT (ATA_STAT_BUSY | ATA_STAT_ERR)
|
||||
#define ATA_BAD_W_STAT (ATA_BAD_R_STAT | ATA_STAT_FAULT)
|
||||
#define ATA_BAD_STAT (ATA_BAD_R_STAT | ATA_STAT_DRQ)
|
||||
#define ATA_DRIVE_READY (ATA_READY_STAT | ATA_STAT_SEEK)
|
||||
#define ATA_DATA_READY (ATA_STAT_DRQ)
|
||||
|
||||
#define ATA_BLOCKSIZE 512 /* bytes */
|
||||
#define ATA_BLOCKSHIFT 9 /* 2 ^ ATA_BLOCKSIZESHIFT = 512 */
|
||||
#define ATA_SECTORWORDS (512 / sizeof(unsigned long))
|
||||
|
||||
#ifndef ATA_RESET_TIME
|
||||
#define ATA_RESET_TIME 60 /* spec allows up to 31 seconds */
|
||||
#endif
|
||||
|
||||
/* ------------------------------------------------------------------------- */
|
||||
|
||||
/*
|
||||
* structure returned by ATA_CMD_IDENT, as per ANSI ATA2 rev.2f spec
|
||||
*/
|
||||
typedef struct hd_driveid {
|
||||
unsigned short config; /* lots of obsolete bit flags */
|
||||
unsigned short cyls; /* "physical" cyls */
|
||||
unsigned short reserved2; /* reserved (word 2) */
|
||||
unsigned short heads; /* "physical" heads */
|
||||
unsigned short track_bytes; /* unformatted bytes per track */
|
||||
unsigned short sector_bytes; /* unformatted bytes per sector */
|
||||
unsigned short sectors; /* "physical" sectors per track */
|
||||
unsigned short vendor0; /* vendor unique */
|
||||
unsigned short vendor1; /* vendor unique */
|
||||
unsigned short vendor2; /* vendor unique */
|
||||
unsigned char serial_no[20]; /* 0 = not_specified */
|
||||
unsigned short buf_type;
|
||||
unsigned short buf_size; /* 512 byte increments; 0 = not_specified */
|
||||
unsigned short ecc_bytes; /* for r/w long cmds; 0 = not_specified */
|
||||
unsigned char fw_rev[8]; /* 0 = not_specified */
|
||||
unsigned char model[40]; /* 0 = not_specified */
|
||||
unsigned char max_multsect; /* 0=not_implemented */
|
||||
unsigned char vendor3; /* vendor unique */
|
||||
unsigned short dword_io; /* 0=not_implemented; 1=implemented */
|
||||
unsigned char vendor4; /* vendor unique */
|
||||
unsigned char capability; /* bits 0:DMA 1:LBA 2:IORDYsw 3:IORDYsup*/
|
||||
unsigned short reserved50; /* reserved (word 50) */
|
||||
unsigned char vendor5; /* vendor unique */
|
||||
unsigned char tPIO; /* 0=slow, 1=medium, 2=fast */
|
||||
unsigned char vendor6; /* vendor unique */
|
||||
unsigned char tDMA; /* 0=slow, 1=medium, 2=fast */
|
||||
unsigned short field_valid; /* bits 0:cur_ok 1:eide_ok */
|
||||
unsigned short cur_cyls; /* logical cylinders */
|
||||
unsigned short cur_heads; /* logical heads */
|
||||
unsigned short cur_sectors; /* logical sectors per track */
|
||||
unsigned short cur_capacity0; /* logical total sectors on drive */
|
||||
unsigned short cur_capacity1; /* (2 words, misaligned int) */
|
||||
unsigned char multsect; /* current multiple sector count */
|
||||
unsigned char multsect_valid; /* when (bit0==1) multsect is ok */
|
||||
unsigned int lba_capacity; /* total number of sectors */
|
||||
unsigned short dma_1word; /* single-word dma info */
|
||||
unsigned short dma_mword; /* multiple-word dma info */
|
||||
unsigned short eide_pio_modes; /* bits 0:mode3 1:mode4 */
|
||||
unsigned short eide_dma_min; /* min mword dma cycle time (ns) */
|
||||
unsigned short eide_dma_time; /* recommended mword dma cycle time (ns) */
|
||||
unsigned short eide_pio; /* min cycle time (ns), no IORDY */
|
||||
unsigned short eide_pio_iordy; /* min cycle time (ns), with IORDY */
|
||||
unsigned short words69_70[2]; /* reserved words 69-70 */
|
||||
unsigned short words71_74[4]; /* reserved words 71-74 */
|
||||
unsigned short queue_depth; /* */
|
||||
unsigned short words76_79[4]; /* reserved words 76-79 */
|
||||
unsigned short major_rev_num; /* */
|
||||
unsigned short minor_rev_num; /* */
|
||||
unsigned short command_set_1; /* bits 0:Smart 1:Security 2:Removable 3:PM */
|
||||
unsigned short command_set_2; /* bits 14:Smart Enabled 13:0 zero 10:lba48 support*/
|
||||
unsigned short cfsse; /* command set-feature supported extensions */
|
||||
unsigned short cfs_enable_1; /* command set-feature enabled */
|
||||
unsigned short cfs_enable_2; /* command set-feature enabled */
|
||||
unsigned short csf_default; /* command set-feature default */
|
||||
unsigned short dma_ultra; /* */
|
||||
unsigned short word89; /* reserved (word 89) */
|
||||
unsigned short word90; /* reserved (word 90) */
|
||||
unsigned short CurAPMvalues; /* current APM values */
|
||||
unsigned short word92; /* reserved (word 92) */
|
||||
unsigned short hw_config; /* hardware config */
|
||||
unsigned short words94_99[6];/* reserved words 94-99 */
|
||||
/*unsigned long long lba48_capacity; /--* 4 16bit values containing lba 48 total number of sectors */
|
||||
unsigned short lba48_capacity[4]; /* 4 16bit values containing lba 48 total number of sectors */
|
||||
unsigned short words104_125[22];/* reserved words 104-125 */
|
||||
unsigned short last_lun; /* reserved (word 126) */
|
||||
unsigned short word127; /* reserved (word 127) */
|
||||
unsigned short dlf; /* device lock function
|
||||
* 15:9 reserved
|
||||
* 8 security level 1:max 0:high
|
||||
* 7:6 reserved
|
||||
* 5 enhanced erase
|
||||
* 4 expire
|
||||
* 3 frozen
|
||||
* 2 locked
|
||||
* 1 en/disabled
|
||||
* 0 capability
|
||||
*/
|
||||
unsigned short csfo; /* current set features options
|
||||
* 15:4 reserved
|
||||
* 3 auto reassign
|
||||
* 2 reverting
|
||||
* 1 read-look-ahead
|
||||
* 0 write cache
|
||||
*/
|
||||
unsigned short words130_155[26];/* reserved vendor words 130-155 */
|
||||
unsigned short word156;
|
||||
unsigned short words157_159[3];/* reserved vendor words 157-159 */
|
||||
unsigned short words160_162[3];/* reserved words 160-162 */
|
||||
unsigned short cf_advanced_caps;
|
||||
unsigned short words164_255[92];/* reserved words 164-255 */
|
||||
} hd_driveid_t;
|
||||
|
||||
|
||||
/*
|
||||
* PIO Mode Configuration
|
||||
*
|
||||
* See ATA-3 (AT Attachment-3 Interface) documentation, Figure 14 / Table 21
|
||||
*/
|
||||
|
||||
typedef struct {
|
||||
unsigned int t_setup; /* Setup Time in [ns] or clocks */
|
||||
unsigned int t_length; /* Length Time in [ns] or clocks */
|
||||
unsigned int t_hold; /* Hold Time in [ns] or clocks */
|
||||
}
|
||||
pio_config_t;
|
||||
|
||||
#define IDE_MAX_PIO_MODE 4 /* max suppurted PIO mode */
|
||||
|
||||
/* ------------------------------------------------------------------------- */
|
||||
|
||||
#endif /* _ATA_H */
|
||||
231
common/package/utils/sysupgrade-helper/src/include/atmel_hlcdc.h
Normal file
231
common/package/utils/sysupgrade-helper/src/include/atmel_hlcdc.h
Normal file
|
|
@ -0,0 +1,231 @@
|
|||
/*
|
||||
* Header file for AT91/AT32 MULTI LAYER LCD Controller
|
||||
*
|
||||
* Data structure and register user interface
|
||||
*
|
||||
* Copyright (C) 2012 Atmel Corporation
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*/
|
||||
#ifndef __ATMEL_HLCDC_H__
|
||||
#define __ATMEL_HLCDC_H__
|
||||
|
||||
/* Atmel multi layer lcdc hardware registers */
|
||||
struct atmel_hlcd_regs {
|
||||
u32 lcdc_lcdcfg0;
|
||||
u32 lcdc_lcdcfg1;
|
||||
u32 lcdc_lcdcfg2;
|
||||
u32 lcdc_lcdcfg3;
|
||||
u32 lcdc_lcdcfg4;
|
||||
u32 lcdc_lcdcfg5;
|
||||
u32 lcdc_lcdcfg6;
|
||||
u32 res1;
|
||||
u32 lcdc_lcden;
|
||||
u32 lcdc_lcddis;
|
||||
u32 lcdc_lcdsr;
|
||||
u32 res2;
|
||||
u32 lcdc_lcdidr;
|
||||
u32 res3[3];
|
||||
u32 lcdc_basecher;
|
||||
u32 res4[3];
|
||||
u32 lcdc_baseidr;
|
||||
u32 res5[3];
|
||||
u32 lcdc_baseaddr;
|
||||
u32 lcdc_basectrl;
|
||||
u32 lcdc_basenext;
|
||||
u32 lcdc_basecfg0;
|
||||
u32 lcdc_basecfg1;
|
||||
u32 lcdc_basecfg2;
|
||||
u32 lcdc_basecfg3;
|
||||
u32 lcdc_basecfg4;
|
||||
};
|
||||
|
||||
#define LCDC_LCDCFG0_CLKPOL (0x1 << 0)
|
||||
#define LCDC_LCDCFG0_CLKSEL (0x1 << 2)
|
||||
#define LCDC_LCDCFG0_CLKPWMSEL (0x1 << 3)
|
||||
#define LCDC_LCDCFG0_CGDISBASE (0x1 << 8)
|
||||
#define LCDC_LCDCFG0_CGDISOVR1 (0x1 << 9)
|
||||
#define LCDC_LCDCFG0_CGDISHEO (0x1 << 11)
|
||||
#define LCDC_LCDCFG0_CGDISHCR (0x1 << 12)
|
||||
#define LCDC_LCDCFG0_CLKDIV_Pos 16
|
||||
#define LCDC_LCDCFG0_CLKDIV_Msk (0xff << LCDC_LCDCFG0_CLKDIV_Pos)
|
||||
#define LCDC_LCDCFG0_CLKDIV(value) \
|
||||
((LCDC_LCDCFG0_CLKDIV_Msk & ((value) << LCDC_LCDCFG0_CLKDIV_Pos)))
|
||||
|
||||
#define LCDC_LCDCFG1_HSPW_Pos 0
|
||||
#define LCDC_LCDCFG1_HSPW_Msk (0x3f << LCDC_LCDCFG1_HSPW_Pos)
|
||||
#define LCDC_LCDCFG1_HSPW(value) \
|
||||
((LCDC_LCDCFG1_HSPW_Msk & ((value) << LCDC_LCDCFG1_HSPW_Pos)))
|
||||
#define LCDC_LCDCFG1_VSPW_Pos 16
|
||||
#define LCDC_LCDCFG1_VSPW_Msk (0x3f << LCDC_LCDCFG1_VSPW_Pos)
|
||||
#define LCDC_LCDCFG1_VSPW(value) \
|
||||
((LCDC_LCDCFG1_VSPW_Msk & ((value) << LCDC_LCDCFG1_VSPW_Pos)))
|
||||
|
||||
#define LCDC_LCDCFG2_VFPW_Pos 0
|
||||
#define LCDC_LCDCFG2_VFPW_Msk (0x3f << LCDC_LCDCFG2_VFPW_Pos)
|
||||
#define LCDC_LCDCFG2_VFPW(value) \
|
||||
((LCDC_LCDCFG2_VFPW_Msk & ((value) << LCDC_LCDCFG2_VFPW_Pos)))
|
||||
#define LCDC_LCDCFG2_VBPW_Pos 16
|
||||
#define LCDC_LCDCFG2_VBPW_Msk (0x3f << LCDC_LCDCFG2_VBPW_Pos)
|
||||
#define LCDC_LCDCFG2_VBPW(value) \
|
||||
((LCDC_LCDCFG2_VBPW_Msk & ((value) << LCDC_LCDCFG2_VBPW_Pos)))
|
||||
|
||||
#define LCDC_LCDCFG3_HFPW_Pos 0
|
||||
#define LCDC_LCDCFG3_HFPW_Msk (0xff << LCDC_LCDCFG3_HFPW_Pos)
|
||||
#define LCDC_LCDCFG3_HFPW(value) \
|
||||
((LCDC_LCDCFG3_HFPW_Msk & ((value) << LCDC_LCDCFG3_HFPW_Pos)))
|
||||
#define LCDC_LCDCFG3_HBPW_Pos 16
|
||||
#define LCDC_LCDCFG3_HBPW_Msk (0xff << LCDC_LCDCFG3_HBPW_Pos)
|
||||
#define LCDC_LCDCFG3_HBPW(value) \
|
||||
((LCDC_LCDCFG3_HBPW_Msk & ((value) << LCDC_LCDCFG3_HBPW_Pos)))
|
||||
|
||||
#define LCDC_LCDCFG4_PPL_Pos 0
|
||||
#define LCDC_LCDCFG4_PPL_Msk (0x7ff << LCDC_LCDCFG4_PPL_Pos)
|
||||
#define LCDC_LCDCFG4_PPL(value) \
|
||||
((LCDC_LCDCFG4_PPL_Msk & ((value) << LCDC_LCDCFG4_PPL_Pos)))
|
||||
#define LCDC_LCDCFG4_RPF_Pos 16
|
||||
#define LCDC_LCDCFG4_RPF_Msk (0x7ff << LCDC_LCDCFG4_RPF_Pos)
|
||||
#define LCDC_LCDCFG4_RPF(value) \
|
||||
((LCDC_LCDCFG4_RPF_Msk & ((value) << LCDC_LCDCFG4_RPF_Pos)))
|
||||
|
||||
#define LCDC_LCDCFG5_HSPOL (0x1 << 0)
|
||||
#define LCDC_LCDCFG5_VSPOL (0x1 << 1)
|
||||
#define LCDC_LCDCFG5_VSPDLYS (0x1 << 2)
|
||||
#define LCDC_LCDCFG5_VSPDLYE (0x1 << 3)
|
||||
#define LCDC_LCDCFG5_DISPPOL (0x1 << 4)
|
||||
#define LCDC_LCDCFG5_SERIAL (0x1 << 5)
|
||||
#define LCDC_LCDCFG5_DITHER (0x1 << 6)
|
||||
#define LCDC_LCDCFG5_DISPDLY (0x1 << 7)
|
||||
#define LCDC_LCDCFG5_MODE_Pos 8
|
||||
#define LCDC_LCDCFG5_MODE_Msk (0x3 << LCDC_LCDCFG5_MODE_Pos)
|
||||
#define LCDC_LCDCFG5_MODE_OUTPUT_12BPP (0x0 << 8)
|
||||
#define LCDC_LCDCFG5_MODE_OUTPUT_16BPP (0x1 << 8)
|
||||
#define LCDC_LCDCFG5_MODE_OUTPUT_18BPP (0x2 << 8)
|
||||
#define LCDC_LCDCFG5_MODE_OUTPUT_24BPP (0x3 << 8)
|
||||
#define LCDC_LCDCFG5_VSPSU (0x1 << 12)
|
||||
#define LCDC_LCDCFG5_VSPHO (0x1 << 13)
|
||||
#define LCDC_LCDCFG5_GUARDTIME_Pos 16
|
||||
#define LCDC_LCDCFG5_GUARDTIME_Msk (0x1f << LCDC_LCDCFG5_GUARDTIME_Pos)
|
||||
#define LCDC_LCDCFG5_GUARDTIME(value) \
|
||||
((LCDC_LCDCFG5_GUARDTIME_Msk & ((value) << LCDC_LCDCFG5_GUARDTIME_Pos)))
|
||||
|
||||
#define LCDC_LCDCFG6_PWMPS_Pos 0
|
||||
#define LCDC_LCDCFG6_PWMPS_Msk (0x7 << LCDC_LCDCFG6_PWMPS_Pos)
|
||||
#define LCDC_LCDCFG6_PWMPS(value) \
|
||||
((LCDC_LCDCFG6_PWMPS_Msk & ((value) << LCDC_LCDCFG6_PWMPS_Pos)))
|
||||
#define LCDC_LCDCFG6_PWMPOL (0x1 << 4)
|
||||
#define LCDC_LCDCFG6_PWMCVAL_Pos 8
|
||||
#define LCDC_LCDCFG6_PWMCVAL_Msk (0xff << LCDC_LCDCFG6_PWMCVAL_Pos)
|
||||
#define LCDC_LCDCFG6_PWMCVAL(value) \
|
||||
((LCDC_LCDCFG6_PWMCVAL_Msk & ((value) << LCDC_LCDCFG6_PWMCVAL_Pos)))
|
||||
|
||||
#define LCDC_LCDEN_CLKEN (0x1 << 0)
|
||||
#define LCDC_LCDEN_SYNCEN (0x1 << 1)
|
||||
#define LCDC_LCDEN_DISPEN (0x1 << 2)
|
||||
#define LCDC_LCDEN_PWMEN (0x1 << 3)
|
||||
|
||||
#define LCDC_LCDDIS_CLKDIS (0x1 << 0)
|
||||
#define LCDC_LCDDIS_SYNCDIS (0x1 << 1)
|
||||
#define LCDC_LCDDIS_DISPDIS (0x1 << 2)
|
||||
#define LCDC_LCDDIS_PWMDIS (0x1 << 3)
|
||||
#define LCDC_LCDDIS_CLKRST (0x1 << 8)
|
||||
#define LCDC_LCDDIS_SYNCRST (0x1 << 9)
|
||||
#define LCDC_LCDDIS_DISPRST (0x1 << 10)
|
||||
#define LCDC_LCDDIS_PWMRST (0x1 << 11)
|
||||
|
||||
#define LCDC_LCDSR_CLKSTS (0x1 << 0)
|
||||
#define LCDC_LCDSR_LCDSTS (0x1 << 1)
|
||||
#define LCDC_LCDSR_DISPSTS (0x1 << 2)
|
||||
#define LCDC_LCDSR_PWMSTS (0x1 << 3)
|
||||
#define LCDC_LCDSR_SIPSTS (0x1 << 4)
|
||||
|
||||
#define LCDC_LCDIDR_SOFID (0x1 << 0)
|
||||
#define LCDC_LCDIDR_DISID (0x1 << 1)
|
||||
#define LCDC_LCDIDR_DISPID (0x1 << 2)
|
||||
#define LCDC_LCDIDR_FIFOERRID (0x1 << 4)
|
||||
#define LCDC_LCDIDR_BASEID (0x1 << 8)
|
||||
#define LCDC_LCDIDR_OVR1ID (0x1 << 9)
|
||||
#define LCDC_LCDIDR_HEOID (0x1 << 11)
|
||||
#define LCDC_LCDIDR_HCRID (0x1 << 12)
|
||||
|
||||
#define LCDC_BASECHER_CHEN (0x1 << 0)
|
||||
#define LCDC_BASECHER_UPDATEEN (0x1 << 1)
|
||||
#define LCDC_BASECHER_A2QEN (0x1 << 2)
|
||||
|
||||
#define LCDC_BASEIDR_DMA (0x1 << 2)
|
||||
#define LCDC_BASEIDR_DSCR (0x1 << 3)
|
||||
#define LCDC_BASEIDR_ADD (0x1 << 4)
|
||||
#define LCDC_BASEIDR_DONE (0x1 << 5)
|
||||
#define LCDC_BASEIDR_OVR (0x1 << 6)
|
||||
|
||||
#define LCDC_BASECTRL_DFETCH (0x1 << 0)
|
||||
#define LCDC_BASECTRL_LFETCH (0x1 << 1)
|
||||
#define LCDC_BASECTRL_DMAIEN (0x1 << 2)
|
||||
#define LCDC_BASECTRL_DSCRIEN (0x1 << 3)
|
||||
#define LCDC_BASECTRL_ADDIEN (0x1 << 4)
|
||||
#define LCDC_BASECTRL_DONEIEN (0x1 << 5)
|
||||
|
||||
#define LCDC_BASECFG0_BLEN_Pos 4
|
||||
#define LCDC_BASECFG0_BLEN_AHB_SINGLE (0x0 << 4)
|
||||
#define LCDC_BASECFG0_BLEN_AHB_INCR4 (0x1 << 4)
|
||||
#define LCDC_BASECFG0_BLEN_AHB_INCR8 (0x2 << 4)
|
||||
#define LCDC_BASECFG0_BLEN_AHB_INCR16 (0x3 << 4)
|
||||
#define LCDC_BASECFG0_DLBO (0x1 << 8)
|
||||
|
||||
#define LCDC_BASECFG1_RGBMODE_12BPP_RGB_444 (0x0 << 4)
|
||||
#define LCDC_BASECFG1_RGBMODE_16BPP_ARGB_4444 (0x1 << 4)
|
||||
#define LCDC_BASECFG1_RGBMODE_16BPP_RGBA_4444 (0x2 << 4)
|
||||
#define LCDC_BASECFG1_RGBMODE_16BPP_RGB_565 (0x3 << 4)
|
||||
#define LCDC_BASECFG1_RGBMODE_16BPP_TRGB_1555 (0x4 << 4)
|
||||
#define LCDC_BASECFG1_RGBMODE_18BPP_RGB_666 (0x5 << 4)
|
||||
#define LCDC_BASECFG1_RGBMODE_18BPP_RGB_666_PACKED (0x6 << 4)
|
||||
#define LCDC_BASECFG1_RGBMODE_19BPP_TRGB_1666 (0x7 << 4)
|
||||
#define LCDC_BASECFG1_RGBMODE_19BPP_TRGB_PACKED (0x8 << 4)
|
||||
#define LCDC_BASECFG1_RGBMODE_24BPP_RGB_888 (0x9 << 4)
|
||||
#define LCDC_BASECFG1_RGBMODE_24BPP_RGB_888_PACKED (0xA << 4)
|
||||
#define LCDC_BASECFG1_RGBMODE_25BPP_TRGB_1888 (0xB << 4)
|
||||
#define LCDC_BASECFG1_RGBMODE_32BPP_ARGB_8888 (0xC << 4)
|
||||
#define LCDC_BASECFG1_RGBMODE_32BPP_RGBA_8888 (0xD << 4)
|
||||
|
||||
#define LCDC_BASECFG2_XSTRIDE_Pos 0
|
||||
#define LCDC_BASECFG2_XSTRIDE_Msk (0xffffffff << LCDC_BASECFG2_XSTRIDE_Pos)
|
||||
#define LCDC_BASECFG2_XSTRIDE(value) \
|
||||
((LCDC_BASECFG2_XSTRIDE_Msk & ((value) << LCDC_BASECFG2_XSTRIDE_Pos)))
|
||||
|
||||
#define LCDC_BASECFG3_BDEF_Pos 0
|
||||
#define LCDC_BASECFG3_BDEF_Msk (0xff << LCDC_BASECFG3_BDEF_Pos)
|
||||
#define LCDC_BASECFG3_BDEF(value) \
|
||||
((LCDC_BASECFG3_BDEF_Msk & ((value) << LCDC_BASECFG3_BDEF_Pos)))
|
||||
#define LCDC_BASECFG3_GDEF_Pos 8
|
||||
#define LCDC_BASECFG3_GDEF_Msk (0xff << LCDC_BASECFG3_GDEF_Pos)
|
||||
#define LCDC_BASECFG3_GDEF(value) \
|
||||
((LCDC_BASECFG3_GDEF_Msk & ((value) << LCDC_BASECFG3_GDEF_Pos)))
|
||||
#define LCDC_BASECFG3_RDEF_Pos 16
|
||||
#define LCDC_BASECFG3_RDEF_Msk (0xff << LCDC_BASECFG3_RDEF_Pos)
|
||||
#define LCDC_BASECFG3_RDEF(value) \
|
||||
((LCDC_BASECFG3_RDEF_Msk & ((value) << LCDC_BASECFG3_RDEF_Pos)))
|
||||
|
||||
#define LCDC_BASECFG4_DMA (0x1 << 8)
|
||||
#define LCDC_BASECFG4_REP (0x1 << 9)
|
||||
|
||||
struct lcd_dma_desc {
|
||||
u32 address;
|
||||
u32 control;
|
||||
u32 next;
|
||||
};
|
||||
|
||||
#define ATMEL_LCDC_LUT(n) (0x0400 + ((n)*4))
|
||||
|
||||
#endif /* __ATMEL_HLCDC_H__ */
|
||||
177
common/package/utils/sysupgrade-helper/src/include/atmel_lcdc.h
Normal file
177
common/package/utils/sysupgrade-helper/src/include/atmel_lcdc.h
Normal file
|
|
@ -0,0 +1,177 @@
|
|||
/*
|
||||
* Header file for AT91/AT32 LCD Controller
|
||||
*
|
||||
* Data structure and register user interface
|
||||
*
|
||||
* Copyright (C) 2007 Atmel Corporation
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*/
|
||||
#ifndef __ATMEL_LCDC_H__
|
||||
#define __ATMEL_LCDC_H__
|
||||
|
||||
#define ATMEL_LCDC_DMABADDR1 0x00
|
||||
#define ATMEL_LCDC_DMABADDR2 0x04
|
||||
#define ATMEL_LCDC_DMAFRMPT1 0x08
|
||||
#define ATMEL_LCDC_DMAFRMPT2 0x0c
|
||||
#define ATMEL_LCDC_DMAFRMADD1 0x10
|
||||
#define ATMEL_LCDC_DMAFRMADD2 0x14
|
||||
|
||||
#define ATMEL_LCDC_DMAFRMCFG 0x18
|
||||
#define ATMEL_LCDC_FRSIZE (0x7fffff << 0)
|
||||
#define ATMEL_LCDC_BLENGTH_OFFSET 24
|
||||
#define ATMEL_LCDC_BLENGTH (0x7f << ATMEL_LCDC_BLENGTH_OFFSET)
|
||||
|
||||
#define ATMEL_LCDC_DMACON 0x1c
|
||||
#define ATMEL_LCDC_DMAEN (0x1 << 0)
|
||||
#define ATMEL_LCDC_DMARST (0x1 << 1)
|
||||
#define ATMEL_LCDC_DMABUSY (0x1 << 2)
|
||||
#define ATMEL_LCDC_DMAUPDT (0x1 << 3)
|
||||
#define ATMEL_LCDC_DMA2DEN (0x1 << 4)
|
||||
|
||||
#define ATMEL_LCDC_DMA2DCFG 0x20
|
||||
#define ATMEL_LCDC_ADDRINC_OFFSET 0
|
||||
#define ATMEL_LCDC_ADDRINC (0xffff)
|
||||
#define ATMEL_LCDC_PIXELOFF_OFFSET 24
|
||||
#define ATMEL_LCDC_PIXELOFF (0x1f << 24)
|
||||
|
||||
#define ATMEL_LCDC_LCDCON1 0x0800
|
||||
#define ATMEL_LCDC_BYPASS (1 << 0)
|
||||
#define ATMEL_LCDC_CLKVAL_OFFSET 12
|
||||
#define ATMEL_LCDC_CLKVAL (0x1ff << ATMEL_LCDC_CLKVAL_OFFSET)
|
||||
#define ATMEL_LCDC_LINCNT (0x7ff << 21)
|
||||
|
||||
#define ATMEL_LCDC_LCDCON2 0x0804
|
||||
#define ATMEL_LCDC_DISTYPE (3 << 0)
|
||||
#define ATMEL_LCDC_DISTYPE_STNMONO (0 << 0)
|
||||
#define ATMEL_LCDC_DISTYPE_STNCOLOR (1 << 0)
|
||||
#define ATMEL_LCDC_DISTYPE_TFT (2 << 0)
|
||||
#define ATMEL_LCDC_SCANMOD (1 << 2)
|
||||
#define ATMEL_LCDC_SCANMOD_SINGLE (0 << 2)
|
||||
#define ATMEL_LCDC_SCANMOD_DUAL (1 << 2)
|
||||
#define ATMEL_LCDC_IFWIDTH (3 << 3)
|
||||
#define ATMEL_LCDC_IFWIDTH_4 (0 << 3)
|
||||
#define ATMEL_LCDC_IFWIDTH_8 (1 << 3)
|
||||
#define ATMEL_LCDC_IFWIDTH_16 (2 << 3)
|
||||
#define ATMEL_LCDC_PIXELSIZE (7 << 5)
|
||||
#define ATMEL_LCDC_PIXELSIZE_1 (0 << 5)
|
||||
#define ATMEL_LCDC_PIXELSIZE_2 (1 << 5)
|
||||
#define ATMEL_LCDC_PIXELSIZE_4 (2 << 5)
|
||||
#define ATMEL_LCDC_PIXELSIZE_8 (3 << 5)
|
||||
#define ATMEL_LCDC_PIXELSIZE_16 (4 << 5)
|
||||
#define ATMEL_LCDC_PIXELSIZE_24 (5 << 5)
|
||||
#define ATMEL_LCDC_PIXELSIZE_32 (6 << 5)
|
||||
#define ATMEL_LCDC_INVVD (1 << 8)
|
||||
#define ATMEL_LCDC_INVVD_NORMAL (0 << 8)
|
||||
#define ATMEL_LCDC_INVVD_INVERTED (1 << 8)
|
||||
#define ATMEL_LCDC_INVFRAME (1 << 9 )
|
||||
#define ATMEL_LCDC_INVFRAME_NORMAL (0 << 9)
|
||||
#define ATMEL_LCDC_INVFRAME_INVERTED (1 << 9)
|
||||
#define ATMEL_LCDC_INVLINE (1 << 10)
|
||||
#define ATMEL_LCDC_INVLINE_NORMAL (0 << 10)
|
||||
#define ATMEL_LCDC_INVLINE_INVERTED (1 << 10)
|
||||
#define ATMEL_LCDC_INVCLK (1 << 11)
|
||||
#define ATMEL_LCDC_INVCLK_NORMAL (0 << 11)
|
||||
#define ATMEL_LCDC_INVCLK_INVERTED (1 << 11)
|
||||
#define ATMEL_LCDC_INVDVAL (1 << 12)
|
||||
#define ATMEL_LCDC_INVDVAL_NORMAL (0 << 12)
|
||||
#define ATMEL_LCDC_INVDVAL_INVERTED (1 << 12)
|
||||
#define ATMEL_LCDC_CLKMOD (1 << 15)
|
||||
#define ATMEL_LCDC_CLKMOD_ACTIVEDISPLAY (0 << 15)
|
||||
#define ATMEL_LCDC_CLKMOD_ALWAYSACTIVE (1 << 15)
|
||||
#define ATMEL_LCDC_MEMOR (1 << 31)
|
||||
#define ATMEL_LCDC_MEMOR_BIG (0 << 31)
|
||||
#define ATMEL_LCDC_MEMOR_LITTLE (1 << 31)
|
||||
|
||||
#define ATMEL_LCDC_TIM1 0x0808
|
||||
#define ATMEL_LCDC_VFP (0xffU << 0)
|
||||
#define ATMEL_LCDC_VBP_OFFSET 8
|
||||
#define ATMEL_LCDC_VBP (0xffU << ATMEL_LCDC_VBP_OFFSET)
|
||||
#define ATMEL_LCDC_VPW_OFFSET 16
|
||||
#define ATMEL_LCDC_VPW (0x3fU << ATMEL_LCDC_VPW_OFFSET)
|
||||
#define ATMEL_LCDC_VHDLY_OFFSET 24
|
||||
#define ATMEL_LCDC_VHDLY (0xfU << ATMEL_LCDC_VHDLY_OFFSET)
|
||||
|
||||
#define ATMEL_LCDC_TIM2 0x080c
|
||||
#define ATMEL_LCDC_HBP (0xffU << 0)
|
||||
#define ATMEL_LCDC_HPW_OFFSET 8
|
||||
#define ATMEL_LCDC_HPW (0x3fU << ATMEL_LCDC_HPW_OFFSET)
|
||||
#define ATMEL_LCDC_HFP_OFFSET 21
|
||||
#define ATMEL_LCDC_HFP (0x7ffU << ATMEL_LCDC_HFP_OFFSET)
|
||||
|
||||
#define ATMEL_LCDC_LCDFRMCFG 0x0810
|
||||
#define ATMEL_LCDC_LINEVAL (0x7ff << 0)
|
||||
#define ATMEL_LCDC_HOZVAL_OFFSET 21
|
||||
#define ATMEL_LCDC_HOZVAL (0x7ff << ATMEL_LCDC_HOZVAL_OFFSET)
|
||||
|
||||
#define ATMEL_LCDC_FIFO 0x0814
|
||||
#define ATMEL_LCDC_FIFOTH (0xffff)
|
||||
|
||||
#define ATMEL_LCDC_MVAL 0x0818
|
||||
|
||||
#define ATMEL_LCDC_DP1_2 0x081c
|
||||
#define ATMEL_LCDC_DP4_7 0x0820
|
||||
#define ATMEL_LCDC_DP3_5 0x0824
|
||||
#define ATMEL_LCDC_DP2_3 0x0828
|
||||
#define ATMEL_LCDC_DP5_7 0x082c
|
||||
#define ATMEL_LCDC_DP3_4 0x0830
|
||||
#define ATMEL_LCDC_DP4_5 0x0834
|
||||
#define ATMEL_LCDC_DP6_7 0x0838
|
||||
#define ATMEL_LCDC_DP1_2_VAL (0xff)
|
||||
#define ATMEL_LCDC_DP4_7_VAL (0xfffffff)
|
||||
#define ATMEL_LCDC_DP3_5_VAL (0xfffff)
|
||||
#define ATMEL_LCDC_DP2_3_VAL (0xfff)
|
||||
#define ATMEL_LCDC_DP5_7_VAL (0xfffffff)
|
||||
#define ATMEL_LCDC_DP3_4_VAL (0xffff)
|
||||
#define ATMEL_LCDC_DP4_5_VAL (0xfffff)
|
||||
#define ATMEL_LCDC_DP6_7_VAL (0xfffffff)
|
||||
|
||||
#define ATMEL_LCDC_PWRCON 0x083c
|
||||
#define ATMEL_LCDC_PWR (1 << 0)
|
||||
#define ATMEL_LCDC_GUARDT_OFFSET 1
|
||||
#define ATMEL_LCDC_GUARDT (0x7f << ATMEL_LCDC_GUARDT_OFFSET)
|
||||
#define ATMEL_LCDC_BUSY (1 << 31)
|
||||
|
||||
#define ATMEL_LCDC_CONTRAST_CTR 0x0840
|
||||
#define ATMEL_LCDC_PS (3 << 0)
|
||||
#define ATMEL_LCDC_PS_DIV1 (0 << 0)
|
||||
#define ATMEL_LCDC_PS_DIV2 (1 << 0)
|
||||
#define ATMEL_LCDC_PS_DIV4 (2 << 0)
|
||||
#define ATMEL_LCDC_PS_DIV8 (3 << 0)
|
||||
#define ATMEL_LCDC_POL (1 << 2)
|
||||
#define ATMEL_LCDC_POL_NEGATIVE (0 << 2)
|
||||
#define ATMEL_LCDC_POL_POSITIVE (1 << 2)
|
||||
#define ATMEL_LCDC_ENA (1 << 3)
|
||||
#define ATMEL_LCDC_ENA_PWMDISABLE (0 << 3)
|
||||
#define ATMEL_LCDC_ENA_PWMENABLE (1 << 3)
|
||||
|
||||
#define ATMEL_LCDC_CONTRAST_VAL 0x0844
|
||||
#define ATMEL_LCDC_CVAL (0xff)
|
||||
|
||||
#define ATMEL_LCDC_IER 0x0848
|
||||
#define ATMEL_LCDC_IDR 0x084c
|
||||
#define ATMEL_LCDC_IMR 0x0850
|
||||
#define ATMEL_LCDC_ISR 0x0854
|
||||
#define ATMEL_LCDC_ICR 0x0858
|
||||
#define ATMEL_LCDC_LNI (1 << 0)
|
||||
#define ATMEL_LCDC_LSTLNI (1 << 1)
|
||||
#define ATMEL_LCDC_EOFI (1 << 2)
|
||||
#define ATMEL_LCDC_UFLWI (1 << 4)
|
||||
#define ATMEL_LCDC_OWRI (1 << 5)
|
||||
#define ATMEL_LCDC_MERI (1 << 6)
|
||||
|
||||
#define ATMEL_LCDC_LUT(n) (0x0c00 + ((n)*4))
|
||||
|
||||
#endif /* __ATMEL_LCDC_H__ */
|
||||
211
common/package/utils/sysupgrade-helper/src/include/atmel_mci.h
Normal file
211
common/package/utils/sysupgrade-helper/src/include/atmel_mci.h
Normal file
|
|
@ -0,0 +1,211 @@
|
|||
/*
|
||||
* Copyright (C) 2005-2006 Atmel Corporation
|
||||
*
|
||||
* See file CREDITS for list of people who contributed to this
|
||||
* project.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of
|
||||
* the License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston,
|
||||
* MA 02111-1307 USA
|
||||
*/
|
||||
#ifndef __ATMEL_MCI_H__
|
||||
#define __ATMEL_MCI_H__
|
||||
|
||||
int atmel_mci_init(void *regs);
|
||||
|
||||
#ifndef __ASSEMBLY__
|
||||
|
||||
/*
|
||||
* Structure for struct SoC access.
|
||||
* Names starting with '_' are fillers.
|
||||
*/
|
||||
typedef struct atmel_mci {
|
||||
/* reg Offset */
|
||||
u32 cr; /* 0x00 */
|
||||
u32 mr; /* 0x04 */
|
||||
u32 dtor; /* 0x08 */
|
||||
u32 sdcr; /* 0x0c */
|
||||
u32 argr; /* 0x10 */
|
||||
u32 cmdr; /* 0x14 */
|
||||
u32 _18; /* 0x18 */
|
||||
u32 _1c; /* 0x1c */
|
||||
u32 rspr; /* 0x20 */
|
||||
u32 rspr1; /* 0x24 */
|
||||
u32 rspr2; /* 0x28 */
|
||||
u32 rspr3; /* 0x2c */
|
||||
u32 rdr; /* 0x30 */
|
||||
u32 tdr; /* 0x34 */
|
||||
u32 _38; /* 0x38 */
|
||||
u32 _3c; /* 0x3c */
|
||||
u32 sr; /* 0x40 */
|
||||
u32 ier; /* 0x44 */
|
||||
u32 idr; /* 0x48 */
|
||||
u32 imr; /* 0x4c */
|
||||
} atmel_mci_t;
|
||||
|
||||
#endif /* __ASSEMBLY__ */
|
||||
|
||||
/* Bitfields in CR */
|
||||
#define MMCI_MCIEN_OFFSET 0
|
||||
#define MMCI_MCIEN_SIZE 1
|
||||
#define MMCI_MCIDIS_OFFSET 1
|
||||
#define MMCI_MCIDIS_SIZE 1
|
||||
#define MMCI_PWSEN_OFFSET 2
|
||||
#define MMCI_PWSEN_SIZE 1
|
||||
#define MMCI_PWSDIS_OFFSET 3
|
||||
#define MMCI_PWSDIS_SIZE 1
|
||||
#define MMCI_SWRST_OFFSET 7
|
||||
#define MMCI_SWRST_SIZE 1
|
||||
|
||||
/* Bitfields in MR */
|
||||
#define MMCI_CLKDIV_OFFSET 0
|
||||
#define MMCI_CLKDIV_SIZE 8
|
||||
#define MMCI_PWSDIV_OFFSET 8
|
||||
#define MMCI_PWSDIV_SIZE 3
|
||||
#define MMCI_RDPROOF_OFFSET 11
|
||||
#define MMCI_RDPROOF_SIZE 1
|
||||
#define MMCI_WRPROOF_OFFSET 12
|
||||
#define MMCI_WRPROOF_SIZE 1
|
||||
#define MMCI_PDCPADV_OFFSET 14
|
||||
#define MMCI_PDCPADV_SIZE 1
|
||||
#define MMCI_PDCMODE_OFFSET 15
|
||||
#define MMCI_PDCMODE_SIZE 1
|
||||
#define MMCI_BLKLEN_OFFSET 16
|
||||
#define MMCI_BLKLEN_SIZE 16
|
||||
|
||||
/* Bitfields in DTOR */
|
||||
#define MMCI_DTOCYC_OFFSET 0
|
||||
#define MMCI_DTOCYC_SIZE 4
|
||||
#define MMCI_DTOMUL_OFFSET 4
|
||||
#define MMCI_DTOMUL_SIZE 3
|
||||
|
||||
/* Bitfields in SDCR */
|
||||
#define MMCI_SCDSEL_OFFSET 0
|
||||
#define MMCI_SCDSEL_SIZE 4
|
||||
#define MMCI_SCDBUS_OFFSET 7
|
||||
#define MMCI_SCDBUS_SIZE 1
|
||||
|
||||
/* Bitfields in ARGR */
|
||||
#define MMCI_ARG_OFFSET 0
|
||||
#define MMCI_ARG_SIZE 32
|
||||
|
||||
/* Bitfields in CMDR */
|
||||
#define MMCI_CMDNB_OFFSET 0
|
||||
#define MMCI_CMDNB_SIZE 6
|
||||
#define MMCI_RSPTYP_OFFSET 6
|
||||
#define MMCI_RSPTYP_SIZE 2
|
||||
#define MMCI_SPCMD_OFFSET 8
|
||||
#define MMCI_SPCMD_SIZE 3
|
||||
#define MMCI_OPDCMD_OFFSET 11
|
||||
#define MMCI_OPDCMD_SIZE 1
|
||||
#define MMCI_MAXLAT_OFFSET 12
|
||||
#define MMCI_MAXLAT_SIZE 1
|
||||
#define MMCI_TRCMD_OFFSET 16
|
||||
#define MMCI_TRCMD_SIZE 2
|
||||
#define MMCI_TRDIR_OFFSET 18
|
||||
#define MMCI_TRDIR_SIZE 1
|
||||
#define MMCI_TRTYP_OFFSET 19
|
||||
#define MMCI_TRTYP_SIZE 2
|
||||
|
||||
/* Bitfields in RSPRx */
|
||||
#define MMCI_RSP_OFFSET 0
|
||||
#define MMCI_RSP_SIZE 32
|
||||
|
||||
/* Bitfields in SR/IER/IDR/IMR */
|
||||
#define MMCI_CMDRDY_OFFSET 0
|
||||
#define MMCI_CMDRDY_SIZE 1
|
||||
#define MMCI_RXRDY_OFFSET 1
|
||||
#define MMCI_RXRDY_SIZE 1
|
||||
#define MMCI_TXRDY_OFFSET 2
|
||||
#define MMCI_TXRDY_SIZE 1
|
||||
#define MMCI_BLKE_OFFSET 3
|
||||
#define MMCI_BLKE_SIZE 1
|
||||
#define MMCI_DTIP_OFFSET 4
|
||||
#define MMCI_DTIP_SIZE 1
|
||||
#define MMCI_NOTBUSY_OFFSET 5
|
||||
#define MMCI_NOTBUSY_SIZE 1
|
||||
#define MMCI_ENDRX_OFFSET 6
|
||||
#define MMCI_ENDRX_SIZE 1
|
||||
#define MMCI_ENDTX_OFFSET 7
|
||||
#define MMCI_ENDTX_SIZE 1
|
||||
#define MMCI_RXBUFF_OFFSET 14
|
||||
#define MMCI_RXBUFF_SIZE 1
|
||||
#define MMCI_TXBUFE_OFFSET 15
|
||||
#define MMCI_TXBUFE_SIZE 1
|
||||
#define MMCI_RINDE_OFFSET 16
|
||||
#define MMCI_RINDE_SIZE 1
|
||||
#define MMCI_RDIRE_OFFSET 17
|
||||
#define MMCI_RDIRE_SIZE 1
|
||||
#define MMCI_RCRCE_OFFSET 18
|
||||
#define MMCI_RCRCE_SIZE 1
|
||||
#define MMCI_RENDE_OFFSET 19
|
||||
#define MMCI_RENDE_SIZE 1
|
||||
#define MMCI_RTOE_OFFSET 20
|
||||
#define MMCI_RTOE_SIZE 1
|
||||
#define MMCI_DCRCE_OFFSET 21
|
||||
#define MMCI_DCRCE_SIZE 1
|
||||
#define MMCI_DTOE_OFFSET 22
|
||||
#define MMCI_DTOE_SIZE 1
|
||||
#define MMCI_OVRE_OFFSET 30
|
||||
#define MMCI_OVRE_SIZE 1
|
||||
#define MMCI_UNRE_OFFSET 31
|
||||
#define MMCI_UNRE_SIZE 1
|
||||
|
||||
/* Constants for DTOMUL */
|
||||
#define MMCI_DTOMUL_1_CYCLE 0
|
||||
#define MMCI_DTOMUL_16_CYCLES 1
|
||||
#define MMCI_DTOMUL_128_CYCLES 2
|
||||
#define MMCI_DTOMUL_256_CYCLES 3
|
||||
#define MMCI_DTOMUL_1024_CYCLES 4
|
||||
#define MMCI_DTOMUL_4096_CYCLES 5
|
||||
#define MMCI_DTOMUL_65536_CYCLES 6
|
||||
#define MMCI_DTOMUL_1048576_CYCLES 7
|
||||
|
||||
/* Constants for RSPTYP */
|
||||
#define MMCI_RSPTYP_NO_RESP 0
|
||||
#define MMCI_RSPTYP_48_BIT_RESP 1
|
||||
#define MMCI_RSPTYP_136_BIT_RESP 2
|
||||
|
||||
/* Constants for SPCMD */
|
||||
#define MMCI_SPCMD_NO_SPEC_CMD 0
|
||||
#define MMCI_SPCMD_INIT_CMD 1
|
||||
#define MMCI_SPCMD_SYNC_CMD 2
|
||||
#define MMCI_SPCMD_INT_CMD 4
|
||||
#define MMCI_SPCMD_INT_RESP 5
|
||||
|
||||
/* Constants for TRCMD */
|
||||
#define MMCI_TRCMD_NO_TRANS 0
|
||||
#define MMCI_TRCMD_START_TRANS 1
|
||||
#define MMCI_TRCMD_STOP_TRANS 2
|
||||
|
||||
/* Constants for TRTYP */
|
||||
#define MMCI_TRTYP_BLOCK 0
|
||||
#define MMCI_TRTYP_MULTI_BLOCK 1
|
||||
#define MMCI_TRTYP_STREAM 2
|
||||
|
||||
/* Bit manipulation macros */
|
||||
#define MMCI_BIT(name) \
|
||||
(1 << MMCI_##name##_OFFSET)
|
||||
#define MMCI_BF(name,value) \
|
||||
(((value) & ((1 << MMCI_##name##_SIZE) - 1)) \
|
||||
<< MMCI_##name##_OFFSET)
|
||||
#define MMCI_BFEXT(name,value) \
|
||||
(((value) >> MMCI_##name##_OFFSET)\
|
||||
& ((1 << MMCI_##name##_SIZE) - 1))
|
||||
#define MMCI_BFINS(name,value,old) \
|
||||
(((old) & ~(((1 << MMCI_##name##_SIZE) - 1) \
|
||||
<< MMCI_##name##_OFFSET)) \
|
||||
| MMCI_BF(name,value))
|
||||
|
||||
#endif /* __ATMEL_MCI_H__ */
|
||||
25
common/package/utils/sysupgrade-helper/src/include/bcd.h
Normal file
25
common/package/utils/sysupgrade-helper/src/include/bcd.h
Normal file
|
|
@ -0,0 +1,25 @@
|
|||
/* Permission is hereby granted to copy, modify and redistribute this code
|
||||
* in terms of the GNU Library General Public License, Version 2 or later,
|
||||
* at your option.
|
||||
*/
|
||||
|
||||
/* inline functions to translate to/from binary and binary-coded decimal
|
||||
* (frequently found in RTC chips).
|
||||
*/
|
||||
|
||||
#ifndef _BCD_H
|
||||
#define _BCD_H
|
||||
|
||||
#include <linux/types.h>
|
||||
|
||||
static inline unsigned int bcd2bin(u8 val)
|
||||
{
|
||||
return ((val) & 0x0f) + ((val) >> 4) * 10;
|
||||
}
|
||||
|
||||
static inline u8 bin2bcd (unsigned int val)
|
||||
{
|
||||
return (((val / 10) << 4) | (val % 10));
|
||||
}
|
||||
|
||||
#endif /* _BCD_H */
|
||||
104
common/package/utils/sysupgrade-helper/src/include/bcm5221.h
Normal file
104
common/package/utils/sysupgrade-helper/src/include/bcm5221.h
Normal file
|
|
@ -0,0 +1,104 @@
|
|||
/*
|
||||
* Broadcom BCM5221 Ethernet PHY
|
||||
*
|
||||
* (C) Copyright 2005 REA Elektronik GmbH <www.rea.de>
|
||||
* Anders Larsen <alarsen@rea.de>
|
||||
*
|
||||
* See file CREDITS for list of people who contributed to this
|
||||
* project.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of
|
||||
* the License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston,
|
||||
* MA 02111-1307 USA
|
||||
*/
|
||||
|
||||
#define BCM5221_BMCR 0 /* Basic Mode Control Register */
|
||||
#define BCM5221_BMSR 1 /* Basic Mode Status Register */
|
||||
#define BCM5221_PHYID1 2 /* PHY Identifier Register 1 */
|
||||
#define BCM5221_PHYID2 3 /* PHY Identifier Register 2 */
|
||||
#define BCM5221_ANAR 4 /* Auto-negotiation Advertisement Register */
|
||||
#define BCM5221_ANLPAR 5 /* Auto-negotiation Link Partner Ability Register */
|
||||
#define BCM5221_ANER 6 /* Auto-negotiation Expansion Register */
|
||||
#define BCM5221_ACSR 24 /* Auxiliary Control/Status Register */
|
||||
#define BCM5221_INTR 26 /* Interrupt Register */
|
||||
|
||||
/* --Bit definitions: BCM5221_BMCR */
|
||||
#define BCM5221_RESET (1 << 15) /* 1= Software Reset; 0=Normal Operation */
|
||||
#define BCM5221_LOOPBACK (1 << 14) /* 1=loopback Enabled; 0=Normal Operation */
|
||||
#define BCM5221_SPEED_SELECT (1 << 13) /* 1=100Mbps; 0=10Mbps */
|
||||
#define BCM5221_AUTONEG (1 << 12)
|
||||
#define BCM5221_POWER_DOWN (1 << 11)
|
||||
#define BCM5221_ISOLATE (1 << 10)
|
||||
#define BCM5221_RESTART_AUTONEG (1 << 9)
|
||||
#define BCM5221_DUPLEX_MODE (1 << 8)
|
||||
#define BCM5221_COLLISION_TEST (1 << 7)
|
||||
|
||||
/*--Bit definitions: BCM5221_BMSR */
|
||||
#define BCM5221_100BASE_T4 (1 << 15)
|
||||
#define BCM5221_100BASE_TX_FD (1 << 14)
|
||||
#define BCM5221_100BASE_TX_HD (1 << 13)
|
||||
#define BCM5221_10BASE_T_FD (1 << 12)
|
||||
#define BCM5221_10BASE_T_HD (1 << 11)
|
||||
#define BCM5221_MF_PREAMB_SUPPR (1 << 6)
|
||||
#define BCM5221_AUTONEG_COMP (1 << 5)
|
||||
#define BCM5221_REMOTE_FAULT (1 << 4)
|
||||
#define BCM5221_AUTONEG_ABILITY (1 << 3)
|
||||
#define BCM5221_LINK_STATUS (1 << 2)
|
||||
#define BCM5221_JABBER_DETECT (1 << 1)
|
||||
#define BCM5221_EXTEND_CAPAB (1 << 0)
|
||||
|
||||
/*--definitions: BCM5221_PHYID1 */
|
||||
#define BCM5221_PHYID1_OUI 0x1018
|
||||
#define BCM5221_LSB_MASK 0x3F
|
||||
|
||||
/*--Bit definitions: BCM5221_ANAR, BCM5221_ANLPAR */
|
||||
#define BCM5221_NP (1 << 15)
|
||||
#define BCM5221_ACK (1 << 14)
|
||||
#define BCM5221_RF (1 << 13)
|
||||
#define BCM5221_FCS (1 << 10)
|
||||
#define BCM5221_T4 (1 << 9)
|
||||
#define BCM5221_TX_FDX (1 << 8)
|
||||
#define BCM5221_TX_HDX (1 << 7)
|
||||
#define BCM5221_10_FDX (1 << 6)
|
||||
#define BCM5221_10_HDX (1 << 5)
|
||||
#define BCM5221_AN_IEEE_802_3 0x0001
|
||||
|
||||
/*--Bit definitions: BCM5221_ANER */
|
||||
#define BCM5221_PDF (1 << 4)
|
||||
#define BCM5221_LP_NP_ABLE (1 << 3)
|
||||
#define BCM5221_NP_ABLE (1 << 2)
|
||||
#define BCM5221_PAGE_RX (1 << 1)
|
||||
#define BCM5221_LP_AN_ABLE (1 << 0)
|
||||
|
||||
/*--Bit definitions: BCM5221_ACSR */
|
||||
#define BCM5221_100 (1 << 1)
|
||||
#define BCM5221_FDX (1 << 0)
|
||||
|
||||
/*--Bit definitions: BCM5221_INTR */
|
||||
#define BCM5221_FDX_LED (1 << 15)
|
||||
#define BCM5221_INTR_ENABLE (1 << 14)
|
||||
#define BCM5221_FDX_MASK (1 << 11)
|
||||
#define BCM5221_SPD_MASK (1 << 10)
|
||||
#define BCM5221_LINK_MASK (1 << 9)
|
||||
#define BCM5221_INTR_MASK (1 << 8)
|
||||
#define BCM5221_FDX_CHG (1 << 3)
|
||||
#define BCM5221_SPD_CHG (1 << 2)
|
||||
#define BCM5221_LINK_CHG (1 << 1)
|
||||
#define BCM5221_INTR_STATUS (1 << 0)
|
||||
|
||||
/****************** function prototypes **********************/
|
||||
unsigned int bcm5221_IsPhyConnected(AT91PS_EMAC p_mac);
|
||||
unsigned char bcm5221_GetLinkSpeed(AT91PS_EMAC p_mac);
|
||||
unsigned char bcm5221_AutoNegotiate(AT91PS_EMAC p_mac, int *status);
|
||||
unsigned char bcm5221_InitPhy(AT91PS_EMAC p_mac);
|
||||
|
|
@ -0,0 +1,40 @@
|
|||
/* $Id$ */
|
||||
|
||||
#ifndef _BEDBUG_H
|
||||
#define _BEDBUG_H
|
||||
|
||||
#ifndef NULL
|
||||
#define NULL 0
|
||||
#endif
|
||||
|
||||
#define _USE_PROTOTYPES
|
||||
|
||||
#ifndef isblank
|
||||
#define isblank(c) isspace((int)(c))
|
||||
#endif
|
||||
|
||||
#ifndef __P
|
||||
#if defined(_USE_PROTOTYPES) && (defined(__STDC__) || defined(__cplusplus))
|
||||
#define __P(protos) protos /* full-blown ANSI C */
|
||||
#else
|
||||
#define __P(protos) () /* traditional C preprocessor */
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#endif /* _BEDBUG_H */
|
||||
|
||||
|
||||
/*
|
||||
* Copyright (c) 2001 William L. Pitts
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms are freely
|
||||
* permitted provided that the above copyright notice and this
|
||||
* paragraph and the following disclaimer are duplicated in all
|
||||
* such forms.
|
||||
*
|
||||
* This software is provided "AS IS" and without any express or
|
||||
* implied warranties, including, without limitation, the implied
|
||||
* warranties of merchantability and fitness for a particular
|
||||
* purpose.
|
||||
*/
|
||||
413
common/package/utils/sysupgrade-helper/src/include/bedbug/ppc.h
Normal file
413
common/package/utils/sysupgrade-helper/src/include/bedbug/ppc.h
Normal file
|
|
@ -0,0 +1,413 @@
|
|||
/* $Id$ */
|
||||
|
||||
#ifndef _PPC_H
|
||||
#define _PPC_H
|
||||
|
||||
/*======================================================================
|
||||
*
|
||||
* OPERANDS
|
||||
*
|
||||
*======================================================================*/
|
||||
|
||||
enum OP_FIELD {
|
||||
O_AA = 1, O_BD, O_BI, O_BO, O_crbD, O_crbA, O_crbB, O_CRM, O_d, O_frC, O_frD,
|
||||
O_frS, O_IMM, O_LI, O_LK, O_MB, O_ME, O_NB, O_OE, O_rA, O_rB, O_Rc, O_rD,
|
||||
O_rS, O_SH, O_SIMM, O_SR, O_TO, O_UIMM, O_crfD, O_crfS, O_L, O_spr, O_tbr,
|
||||
O_cr2 };
|
||||
|
||||
struct operand {
|
||||
enum OP_FIELD field; /* The operand identifier from the
|
||||
enum above */
|
||||
|
||||
char * name; /* Symbolic name of this operand */
|
||||
|
||||
unsigned int bits; /* The number of bits used by this
|
||||
operand */
|
||||
|
||||
unsigned int shift; /* How far to the right the operand
|
||||
should be shifted so that it is
|
||||
aligned at the beginning of the
|
||||
word */
|
||||
|
||||
unsigned int hint; /* A bitwise-inclusive-OR of the
|
||||
values shown below. These are used
|
||||
tell the disassembler how to print
|
||||
this operand */
|
||||
};
|
||||
|
||||
/* Values for operand hint */
|
||||
#define OH_SILENT 0x01 /* dont print this operand */
|
||||
#define OH_ADDR 0x02 /* this operand is an address */
|
||||
#define OH_REG 0x04 /* this operand is a register */
|
||||
#define OH_SPR 0x08 /* this operand is an SPR */
|
||||
#define OH_TBR 0x10 /* this operand is a TBR */
|
||||
#define OH_OFFSET 0x20 /* this operand is an offset */
|
||||
#define OH_LITERAL 0x40 /* a literal string */
|
||||
|
||||
|
||||
/*======================================================================
|
||||
*
|
||||
* OPCODES
|
||||
*
|
||||
*======================================================================*/
|
||||
|
||||
/* From the MPCxxx instruction set documentation, all instructions are
|
||||
* 32 bits long and word aligned. Bits 0-5 always specify the primary
|
||||
* opcode. Many instructions also have an extended opcode.
|
||||
*/
|
||||
|
||||
#define GET_OPCD(i) (((unsigned long)(i) >> 26) & 0x3f)
|
||||
#define MAKE_OPCODE(i) ((((unsigned long)(i)) & 0x3f) << 26)
|
||||
|
||||
/* The MPC860 User's Manual, Appendix D.4 contains the definitions of the
|
||||
* instruction forms
|
||||
*/
|
||||
|
||||
|
||||
/*-------------------------------------------------
|
||||
* I-Form Instructions:
|
||||
* bX
|
||||
*-------------------------------------------------
|
||||
* OPCD | LI |AA|LK
|
||||
*-------------------------------------------------*/
|
||||
|
||||
#define I_OPCODE(i,aa,lk) (MAKE_OPCODE(i) | (((aa) & 0x1) << 1) | ((lk) & 0x1))
|
||||
#define I_MASK I_OPCODE(0x3f,0x1,0x1)
|
||||
|
||||
|
||||
/*-------------------------------------------------
|
||||
* B-Form Instructions:
|
||||
* bcX
|
||||
*-------------------------------------------------
|
||||
* OPCD | BO | BI | BD |AA|LK
|
||||
*-------------------------------------------------*/
|
||||
|
||||
#define B_OPCODE(i,aa,lk) (MAKE_OPCODE(i) | (((aa) & 0x1) << 1) | ((lk) & 0x1))
|
||||
#define B_MASK B_OPCODE(0x3f,0x1,0x1)
|
||||
|
||||
|
||||
/*-------------------------------------------------
|
||||
* SC-Form Instructions:
|
||||
* sc
|
||||
*-------------------------------------------------
|
||||
* OPCD | 00000 | 00000 | 00000000000000 |1|0
|
||||
*-------------------------------------------------*/
|
||||
|
||||
#define SC_OPCODE(i) (MAKE_OPCODE(i) | 0x2)
|
||||
#define SC_MASK SC_OPCODE(0x3f)
|
||||
|
||||
|
||||
/*-------------------------------------------------
|
||||
* D-Form Instructions:
|
||||
* addi addic addic. addis andi. andis. cmpi cmpli
|
||||
* lbz lbzu lha lhau lhz lhzu lmw lwz lwzu mulli
|
||||
* ori oris stb stbu sth sthu stmw stw stwu subfic
|
||||
* twi xori xoris
|
||||
*-------------------------------------------------
|
||||
* OPCD | D | A | d
|
||||
* OPCD | D | A | SIMM
|
||||
* OPCD | S | A | d
|
||||
* OPCD | S | A | UIMM
|
||||
* OPCD |crfD|0|L| A | SIMM
|
||||
* OPCD |crfD|0|L| A | UIMM
|
||||
* OPCD | TO | A | SIMM
|
||||
*-------------------------------------------------*/
|
||||
|
||||
#define D_OPCODE(i) MAKE_OPCODE(i)
|
||||
#define D_MASK MAKE_OPCODE(0x3f)
|
||||
|
||||
|
||||
/*-------------------------------------------------
|
||||
* DS-Form Instructions:
|
||||
* (none supported by MPC860)
|
||||
*-------------------------------------------------
|
||||
* OPCD | D | A | ds |XO
|
||||
* OPCD | S | A | ds |XO
|
||||
*-------------------------------------------------*/
|
||||
|
||||
#define DS_OPCODE(i,xo) (MAKE_OPCODE(i) | ((xo) & 0x3))
|
||||
#define DS_MASK DS_OPCODE(0x3f,0x1)
|
||||
|
||||
|
||||
/*---------------------------------------------------
|
||||
* X-Form Instructions:
|
||||
* andX andcX cmp cmpl cntlzwX dcbf dcbi dcbst dcbt
|
||||
* dcbtst dcbz eciwx ecowx eieio eqvX extsbX extshX
|
||||
* icbi lbzux lbxz lhaux lhax lhbrx lhzux lhxz lswi
|
||||
* lswx lwarx lwbrx lwzux lwxz mcrfs mcrxr mfcr
|
||||
* mfmsr mfsr mfsrin mtmsr mtsr mtsrin nandX norX
|
||||
* orX orcX slwX srawX srawiX srwX stbux stbx
|
||||
* sthbrx sthuxsthx stswi stswx stwbrx stwcx. stwux
|
||||
* stwx sync tlbie tlbld tlbli tlbsync tw xorX
|
||||
*---------------------------------------------------
|
||||
* OPCD | D | A | B | XO |0
|
||||
* OPCD | D | A | NB | XO |0
|
||||
* OPCD | D | 00000 | B | XO |0
|
||||
* OPCD | D | 00000 | 00000 | XO |0
|
||||
* OPCD | D |0| SR | 00000 | XO |0
|
||||
* OPCD | S | A | B | XO |Rc
|
||||
* OPCD | S | A | B | XO |1
|
||||
* OPCD | S | A | B | XO |0
|
||||
* OPCD | S | A | NB | XO |0
|
||||
* OPCD | S | A | 00000 | XO |Rc
|
||||
* OPCD | S | 00000 | B | XO |0
|
||||
* OPCD | S | 00000 | 00000 | XO |0
|
||||
* OPCD | S |0| SR | 00000 | XO |0
|
||||
* OPCD | S | A | SH | XO |Rc
|
||||
* OPCD |crfD|0|L| A | SH | XO |0
|
||||
* OPCD |crfD |00| A | B | XO |0
|
||||
* OPCD |crfD |00|crfS |00| 00000 | XO |0
|
||||
* OPCD |crfD |00| 00000 | 00000 | XO |0
|
||||
* OPCD |crfD |00| 00000 | IMM |0| XO |Rc
|
||||
* OPCD | TO | A | B | XO |0
|
||||
* OPCD | D | 00000 | B | XO |Rc
|
||||
* OPCD | D | 00000 | 00000 | XO |Rc
|
||||
* OPCD | crbD | 00000 | 00000 | XO |Rc
|
||||
* OPCD | 00000 | A | B | XO |0
|
||||
* OPCD | 00000 | 00000 | B | XO |0
|
||||
* OPCD | 00000 | 00000 | 00000 | XO |0
|
||||
*---------------------------------------------------*/
|
||||
|
||||
#define X_OPCODE(i,xo,rc) (MAKE_OPCODE(i) | (((xo) & 0x3ff) << 1) | \
|
||||
((rc) & 0x1))
|
||||
#define X_MASK X_OPCODE(0x3f,0x3ff,0x1)
|
||||
|
||||
|
||||
/*---------------------------------------------------
|
||||
* XL-Form Instructions:
|
||||
* bcctrX bclrX crand crandc creqv crnand crnor cror
|
||||
* croc crxorisync mcrf rfi
|
||||
*---------------------------------------------------
|
||||
* OPCD | BO | BI | 00000 | XO |LK
|
||||
* OPCD | crbD | crbA | crbB | XO |0
|
||||
* OPCD |crfD |00|crfS |00| 00000 | XO |0
|
||||
* OPCD | 00000 | 00000 | 00000 | XO |0
|
||||
*---------------------------------------------------*/
|
||||
|
||||
#define XL_OPCODE(i,xo,lk) (MAKE_OPCODE(i) | (((xo) & 0x3ff) << 1) | \
|
||||
((lk) & 0x1))
|
||||
#define XL_MASK XL_OPCODE(0x3f,0x3ff,0x1)
|
||||
|
||||
|
||||
/*---------------------------------------------------
|
||||
* XFX-Form Instructions:
|
||||
* mfspr mftb mtcrf mtspr
|
||||
*---------------------------------------------------
|
||||
* OPCD | D | spr | XO |0
|
||||
* OPCD | D |0| CRM |0| XO |0
|
||||
* OPCD | S | spr | XO |0
|
||||
* OPCD | D | tbr | XO |0
|
||||
*---------------------------------------------------*/
|
||||
|
||||
#define XFX_OPCODE(i,xo,rc) (MAKE_OPCODE(i) | (((xo) & 0x3ff) << 1) | \
|
||||
((rc) & 0x1))
|
||||
#define XFX_MASK XFX_OPCODE(0x3f,0x3ff,0x1)
|
||||
|
||||
|
||||
/*---------------------------------------------------
|
||||
* XFL-Form Instructions:
|
||||
* (none supported by MPC860)
|
||||
*---------------------------------------------------
|
||||
* OPCD |0| FM |0| B | XO |0
|
||||
*---------------------------------------------------*/
|
||||
|
||||
#define XFL_OPCODE(i,xo,rc) (MAKE_OPCODE(i) | (((xo) & 0x3ff) << 1) | \
|
||||
((rc) & 0x1))
|
||||
#define XFL_MASK XFL_OPCODE(0x3f,0x3ff,0x1)
|
||||
|
||||
|
||||
/*---------------------------------------------------
|
||||
* XS-Form Instructions:
|
||||
* (none supported by MPC860)
|
||||
*---------------------------------------------------
|
||||
* OPCD | S | A | sh | XO |sh|LK
|
||||
*---------------------------------------------------*/
|
||||
|
||||
#define XS_OPCODE(i,xo,rc) (MAKE_OPCODE(i) | (((xo) & 0x1ff) << 2) | \
|
||||
((rc) & 0x1))
|
||||
#define XS_MASK XS_OPCODE(0x3f,0x1ff,0x1)
|
||||
|
||||
|
||||
/*---------------------------------------------------
|
||||
* XO-Form Instructions:
|
||||
* addX addcXaddeX addmeX addzeX divwX divwuX mulhwX
|
||||
* mulhwuX mullwX negX subfX subfcX subfeX subfmeX
|
||||
* subfzeX
|
||||
*---------------------------------------------------
|
||||
* OPCD | D | A | B |OE| XO |Rc
|
||||
* OPCD | D | A | B |0 | XO |Rc
|
||||
* OPCD | D | A | 00000 |OE| XO |Rc
|
||||
*---------------------------------------------------*/
|
||||
|
||||
#define XO_OPCODE(i,xo,oe,rc) (MAKE_OPCODE(i) | (((oe) & 0x1) << 10) | \
|
||||
(((xo) & 0x1ff) << 1) | ((rc) & 0x1))
|
||||
#define XO_MASK XO_OPCODE(0x3f,0x1ff,0x1,0x1)
|
||||
|
||||
|
||||
/*---------------------------------------------------
|
||||
* A-Form Instructions:
|
||||
* (none supported by MPC860)
|
||||
*---------------------------------------------------
|
||||
* OPCD | D | A | B |00000| XO |Rc
|
||||
* OPCD | D | A | B | C | XO |Rc
|
||||
* OPCD | D | A | 00000 | C | XO |Rc
|
||||
* OPCD | D | 00000 | B |00000| XO |Rc
|
||||
*---------------------------------------------------*/
|
||||
|
||||
#define A_OPCODE(i,xo,rc) (MAKE_OPCODE(i) | (((xo) & 0x1f) << 1) | \
|
||||
((rc) & 0x1))
|
||||
#define A_MASK A_OPCODE(0x3f,0x1f,0x1)
|
||||
|
||||
|
||||
/*---------------------------------------------------
|
||||
* M-Form Instructions:
|
||||
* rlwimiX rlwinmX rlwnmX
|
||||
*---------------------------------------------------
|
||||
* OPCD | S | A | SH | MB | ME |Rc
|
||||
* OPCD | S | A | B | MB | ME |Rc
|
||||
*---------------------------------------------------*/
|
||||
|
||||
#define M_OPCODE(i,rc) (MAKE_OPCODE(i) | ((rc) & 0x1))
|
||||
#define M_MASK M_OPCODE(0x3f,0x1)
|
||||
|
||||
|
||||
/*---------------------------------------------------
|
||||
* MD-Form Instructions:
|
||||
* (none supported by MPC860)
|
||||
*---------------------------------------------------
|
||||
* OPCD | S | A | sh | mb | XO |sh|Rc
|
||||
* OPCD | S | A | sh | me | XO |sh|Rc
|
||||
*---------------------------------------------------*/
|
||||
|
||||
#define MD_OPCODE(i,xo,rc) (MAKE_OPCODE(i) | (((xo) & 0x7) << 2) | \
|
||||
((rc) & 0x1))
|
||||
#define MD_MASK MD_OPCODE(0x3f,0x7,0x1)
|
||||
|
||||
|
||||
/*---------------------------------------------------
|
||||
* MDS-Form Instructions:
|
||||
* (none supported by MPC860)
|
||||
*---------------------------------------------------
|
||||
* OPCD | S | A | B | mb | XO |Rc
|
||||
* OPCD | S | A | B | me | XO |Rc
|
||||
*---------------------------------------------------*/
|
||||
|
||||
#define MDS_OPCODE(i,xo,rc) (MAKE_OPCODE(i) | (((xo) & 0xf) << 1) | \
|
||||
((rc) & 0x1))
|
||||
#define MDS_MASK MDS_OPCODE(0x3f,0xf,0x1)
|
||||
|
||||
#ifndef FALSE
|
||||
#define FALSE 0
|
||||
#define TRUE (!FALSE)
|
||||
#endif
|
||||
|
||||
#define INSTRUCTION( memaddr ) ntohl(*(unsigned long *)(memaddr))
|
||||
|
||||
#define MAX_OPERANDS 8
|
||||
|
||||
struct ppc_ctx;
|
||||
|
||||
struct opcode {
|
||||
unsigned long opcode; /* The complete opcode as produced by
|
||||
one of the XXX_OPCODE macros above */
|
||||
|
||||
unsigned long mask; /* The mask to use on an instruction
|
||||
before comparing with the opcode
|
||||
field to see if it matches */
|
||||
|
||||
enum OP_FIELD fields[MAX_OPERANDS];
|
||||
/* An array defining the operands for
|
||||
this opcode. The values of the
|
||||
array are the operand identifiers */
|
||||
|
||||
int (*hfunc)(struct ppc_ctx *);
|
||||
/* Address of a function to handle the given
|
||||
mnemonic */
|
||||
|
||||
char * name; /* The symbolic name of this opcode */
|
||||
|
||||
unsigned int hint; /* A bitwise-inclusive-OR of the
|
||||
values shown below. These are used
|
||||
tell the disassembler how to print
|
||||
some operands for this opcode */
|
||||
};
|
||||
|
||||
/* values for opcode hints */
|
||||
#define H_RELATIVE 0x1 /* The address operand is relative */
|
||||
#define H_IMM_HIGH 0x2 /* [U|S]IMM field shifted high */
|
||||
#define H_RA0_IS_0 0x4 /* If rA = 0 then treat as literal 0 */
|
||||
|
||||
struct ppc_ctx {
|
||||
struct opcode * op;
|
||||
unsigned long instr;
|
||||
unsigned int flags;
|
||||
int datalen;
|
||||
char data[ 256 ];
|
||||
char radix_fmt[ 8 ];
|
||||
unsigned char * virtual;
|
||||
};
|
||||
|
||||
|
||||
/*======================================================================
|
||||
*
|
||||
* FUNCTIONS
|
||||
*
|
||||
*======================================================================*/
|
||||
|
||||
/* Values for flags as passed to various ppc routines */
|
||||
#define F_RADOCTAL 0x1 /* output radix = unsigned octal */
|
||||
#define F_RADUDECIMAL 0x2 /* output radix = unsigned decimal */
|
||||
#define F_RADSDECIMAL 0x4 /* output radix = signed decimal */
|
||||
#define F_RADHEX 0x8 /* output radix = unsigned hex */
|
||||
#define F_SIMPLE 0x10 /* use simplified mnemonics */
|
||||
#define F_SYMBOL 0x20 /* use symbol lookups for addresses */
|
||||
#define F_INSTR 0x40 /* output the raw instruction */
|
||||
#define F_LOCALMEM 0x80 /* retrieve opcodes from local memory
|
||||
rather than from the HMI */
|
||||
#define F_LINENO 0x100 /* show line number info if available */
|
||||
#define F_VALIDONLY 0x200 /* cache: valid entries only */
|
||||
|
||||
/* Values for assembler error codes */
|
||||
#define E_ASM_BAD_OPCODE 1
|
||||
#define E_ASM_NUM_OPERANDS 2
|
||||
#define E_ASM_BAD_REGISTER 3
|
||||
#define E_ASM_BAD_SPR 4
|
||||
#define E_ASM_BAD_TBR 5
|
||||
|
||||
extern int disppc __P((unsigned char *,unsigned char *,int,
|
||||
int (*)(const char *), unsigned long));
|
||||
extern int print_source_line __P((char *,char *,int,
|
||||
int (*pfunc)(const char *)));
|
||||
extern int find_next_address __P((unsigned char *,int,struct pt_regs *));
|
||||
extern int handle_bc __P((struct ppc_ctx *));
|
||||
extern unsigned long asmppc __P((unsigned long,char*,int*));
|
||||
extern char *asm_error_str __P((int));
|
||||
|
||||
/*======================================================================
|
||||
*
|
||||
* GLOBAL VARIABLES
|
||||
*
|
||||
*======================================================================*/
|
||||
|
||||
extern struct operand operands[];
|
||||
extern const unsigned int n_operands;
|
||||
extern struct opcode opcodes[];
|
||||
extern const unsigned int n_opcodes;
|
||||
|
||||
#endif /* _PPC_H */
|
||||
|
||||
|
||||
/*
|
||||
* Copyright (c) 2000 William L. Pitts and W. Gerald Hicks
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms are freely
|
||||
* permitted provided that the above copyright notice and this
|
||||
* paragraph and the following disclaimer are duplicated in all
|
||||
* such forms.
|
||||
*
|
||||
* This software is provided "AS IS" and without any express or
|
||||
* implied warranties, including, without limitation, the implied
|
||||
* warranties of merchantability and fitness for a particular
|
||||
* purpose.
|
||||
*/
|
||||
402
common/package/utils/sysupgrade-helper/src/include/bedbug/regs.h
Normal file
402
common/package/utils/sysupgrade-helper/src/include/bedbug/regs.h
Normal file
|
|
@ -0,0 +1,402 @@
|
|||
/* $Id$ */
|
||||
|
||||
#ifndef _REGS_H
|
||||
#define _REGS_H
|
||||
|
||||
/* Special Purpose Registers */
|
||||
|
||||
#define SPR_CR -1
|
||||
#define SPR_MSR -2
|
||||
|
||||
#define SPR_XER 1
|
||||
#define SPR_LR 8
|
||||
#define SPR_CTR 9
|
||||
#define SPR_DSISR 18
|
||||
#define SPR_DAR 19
|
||||
#define SPR_DEC 22
|
||||
#define SPR_SRR0 26
|
||||
#define SPR_SRR1 27
|
||||
#define SPR_EIE 80
|
||||
#define SPR_EID 81
|
||||
#define SPR_CMPA 144
|
||||
#define SPR_CMPB 145
|
||||
#define SPR_CMPC 146
|
||||
#define SPR_CMPD 147
|
||||
#define SPR_ICR 148
|
||||
#define SPR_DER 149
|
||||
#define SPR_COUNTA 150
|
||||
#define SPR_COUNTB 151
|
||||
#define SPR_CMPE 152
|
||||
#define SPR_CMPF 153
|
||||
#define SPR_CMPG 154
|
||||
#define SPR_CMPH 155
|
||||
#define SPR_LCTRL1 156
|
||||
#define SPR_LCTRL2 157
|
||||
#define SPR_ICTRL 158
|
||||
#define SPR_BAR 159
|
||||
#define SPR_USPRG0 256
|
||||
#define SPR_SPRG4_RO 260
|
||||
#define SPR_SPRG5_RO 261
|
||||
#define SPR_SPRG6_RO 262
|
||||
#define SPR_SPRG7_RO 263
|
||||
#define SPR_SPRG0 272
|
||||
#define SPR_SPRG1 273
|
||||
#define SPR_SPRG2 274
|
||||
#define SPR_SPRG3 275
|
||||
#define SPR_SPRG4 276
|
||||
#define SPR_SPRG5 277
|
||||
#define SPR_SPRG6 278
|
||||
#define SPR_SPRG7 279
|
||||
#define SPR_EAR 282 /* MPC603e core */
|
||||
#define SPR_TBL 284
|
||||
#define SPR_TBU 285
|
||||
#define SPR_PVR 287
|
||||
#define SPR_IC_CST 560
|
||||
#define SPR_IC_ADR 561
|
||||
#define SPR_IC_DAT 562
|
||||
#define SPR_DC_CST 568
|
||||
#define SPR_DC_ADR 569
|
||||
#define SPR_DC_DAT 570
|
||||
#define SPR_DPDR 630
|
||||
#define SPR_IMMR 638
|
||||
#define SPR_MI_CTR 784
|
||||
#define SPR_MI_AP 786
|
||||
#define SPR_MI_EPN 787
|
||||
#define SPR_MI_TWC 789
|
||||
#define SPR_MI_RPN 790
|
||||
#define SPR_MD_CTR 792
|
||||
#define SPR_M_CASID 793
|
||||
#define SPR_MD_AP 794
|
||||
#define SPR_MD_EPN 795
|
||||
#define SPR_M_TWB 796
|
||||
#define SPR_MD_TWC 797
|
||||
#define SPR_MD_RPN 798
|
||||
#define SPR_M_TW 799
|
||||
#define SPR_MI_DBCAM 816
|
||||
#define SPR_MI_DBRAM0 817
|
||||
#define SPR_MI_DBRAM1 818
|
||||
#define SPR_MD_DBCAM 824
|
||||
#define SPR_MD_DBRAM0 825
|
||||
#define SPR_MD_DBRAM1 826
|
||||
#define SPR_ZPR 944
|
||||
#define SPR_PID 945
|
||||
#define SPR_CCR0 947
|
||||
#define SPR_IAC3 948
|
||||
#define SPR_IAC4 949
|
||||
#define SPR_DVC1 950
|
||||
#define SPR_DVC2 951
|
||||
#define SPR_SGR 953
|
||||
#define SPR_DCWR 954
|
||||
#define SPR_SLER 955
|
||||
#define SPR_SU0R 956
|
||||
#define SPR_DBCR1 957
|
||||
#define SPR_ICDBDR 979
|
||||
#define SPR_ESR 980
|
||||
#define SPR_DEAR 981
|
||||
#define SPR_EVPR 982
|
||||
#define SPR_TSR 984
|
||||
#define SPR_TCR 986
|
||||
#define SPR_PIT 987
|
||||
#define SPR_SRR2 990
|
||||
#define SPR_SRR3 991
|
||||
#define SPR_DBSR 1008
|
||||
#define SPR_DBCR0 1010
|
||||
#define SPR_IABR 1010 /* MPC603e core */
|
||||
#define SPR_IAC1 1012
|
||||
#define SPR_IAC2 1013
|
||||
#define SPR_DAC1 1014
|
||||
#define SPR_DAC2 1015
|
||||
#define SPR_DCCR 1018
|
||||
#define SPR_ICCR 1019
|
||||
|
||||
/* Bits for the DBCR0 register */
|
||||
#define DBCR0_EDM 0x80000000
|
||||
#define DBCR0_IDM 0x40000000
|
||||
#define DBCR0_RST 0x30000000
|
||||
#define DBCR0_IC 0x08000000
|
||||
#define DBCR0_BT 0x04000000
|
||||
#define DBCR0_EDE 0x02000000
|
||||
#define DBCR0_TDE 0x01000000
|
||||
#define DBCR0_IA1 0x00800000
|
||||
#define DBCR0_IA2 0x00400000
|
||||
#define DBCR0_IA12 0x00200000
|
||||
#define DBCR0_IA12X 0x00100000
|
||||
#define DBCR0_IA3 0x00080000
|
||||
#define DBCR0_IA4 0x00040000
|
||||
#define DBCR0_IA34 0x00020000
|
||||
#define DBCR0_IA34X 0x00010000
|
||||
#define DBCR0_IA12T 0x00008000
|
||||
#define DBCR0_IA34T 0x00004000
|
||||
#define DBCR0_FT 0x00000001
|
||||
|
||||
/* Bits for the DBCR1 register */
|
||||
#define DBCR1_D1R 0x80000000
|
||||
#define DBCR1_D2R 0x40000000
|
||||
#define DBCR1_D1W 0x20000000
|
||||
#define DBCR1_D2W 0x10000000
|
||||
#define DBCR1_D1S 0x0C000000
|
||||
#define DBCR1_D2S 0x03000000
|
||||
#define DBCR1_DA12 0x00800000
|
||||
#define DBCR1_DA12X 0x00400000
|
||||
#define DBCR1_DV1M 0x000C0000
|
||||
#define DBCR1_DV2M 0x00030000
|
||||
#define DBCR1_DV1BE 0x0000F000
|
||||
#define DBCR1_DV2BE 0x00000F00
|
||||
|
||||
/*
|
||||
* DBSR bits which have conflicting definitions on true Book E versus PPC40x
|
||||
*/
|
||||
#ifdef CONFIG_BOOKE
|
||||
#define DBSR_IA1 0x00800000 /* Instr Address Compare 1 Event */
|
||||
#define DBSR_IA2 0x00400000 /* Instr Address Compare 2 Event */
|
||||
#define DBSR_IA3 0x00200000 /* Instr Address Compare 3 Event */
|
||||
#define DBSR_IA4 0x00100000 /* Instr Address Compare 4 Event */
|
||||
#endif
|
||||
#ifndef CONFIG_440
|
||||
#define DBSR_IA1 0x04000000 /* Instr Address Compare 1 Event */
|
||||
#define DBSR_IA2 0x02000000 /* Instr Address Compare 2 Event */
|
||||
#define DBSR_IA3 0x00080000 /* Instr Address Compare 3 Event */
|
||||
#define DBSR_IA4 0x00040000 /* Instr Address Compare 4 Event */
|
||||
#endif
|
||||
|
||||
struct spr_info {
|
||||
int spr_val;
|
||||
char spr_name[ 10 ];
|
||||
};
|
||||
|
||||
extern struct spr_info spr_map[];
|
||||
extern const unsigned int n_sprs;
|
||||
|
||||
|
||||
#define SET_REGISTER( str, val ) \
|
||||
({ unsigned long __value = (val); \
|
||||
asm volatile( str : : "r" (__value)); \
|
||||
__value; })
|
||||
|
||||
#define GET_REGISTER( str ) \
|
||||
({ unsigned long __value; \
|
||||
asm volatile( str : "=r" (__value) : ); \
|
||||
__value; })
|
||||
|
||||
#define GET_CR() GET_REGISTER( "mfcr %0" )
|
||||
#define SET_CR(val) SET_REGISTER( "mtcr %0", val )
|
||||
#define GET_MSR() GET_REGISTER( "mfmsr %0" )
|
||||
#define SET_MSR(val) SET_REGISTER( "mtmsr %0", val )
|
||||
#define GET_XER() GET_REGISTER( "mfspr %0,1" )
|
||||
#define SET_XER(val) SET_REGISTER( "mtspr 1,%0", val )
|
||||
#define GET_LR() GET_REGISTER( "mfspr %0,8" )
|
||||
#define SET_LR(val) SET_REGISTER( "mtspr 8,%0", val )
|
||||
#define GET_CTR() GET_REGISTER( "mfspr %0,9" )
|
||||
#define SET_CTR(val) SET_REGISTER( "mtspr 9,%0", val )
|
||||
#define GET_DSISR() GET_REGISTER( "mfspr %0,18" )
|
||||
#define SET_DSISR(val) SET_REGISTER( "mtspr 18,%0", val )
|
||||
#define GET_DAR() GET_REGISTER( "mfspr %0,19" )
|
||||
#define SET_DAR(val) SET_REGISTER( "mtspr 19,%0", val )
|
||||
#define GET_DEC() GET_REGISTER( "mfspr %0,22" )
|
||||
#define SET_DEC(val) SET_REGISTER( "mtspr 22,%0", val )
|
||||
#define GET_SRR0() GET_REGISTER( "mfspr %0,26" )
|
||||
#define SET_SRR0(val) SET_REGISTER( "mtspr 26,%0", val )
|
||||
#define GET_SRR1() GET_REGISTER( "mfspr %0,27" )
|
||||
#define SET_SRR1(val) SET_REGISTER( "mtspr 27,%0", val )
|
||||
#define GET_EIE() GET_REGISTER( "mfspr %0,80" )
|
||||
#define SET_EIE(val) SET_REGISTER( "mtspr 80,%0", val )
|
||||
#define GET_EID() GET_REGISTER( "mfspr %0,81" )
|
||||
#define SET_EID(val) SET_REGISTER( "mtspr 81,%0", val )
|
||||
#define GET_CMPA() GET_REGISTER( "mfspr %0,144" )
|
||||
#define SET_CMPA(val) SET_REGISTER( "mtspr 144,%0", val )
|
||||
#define GET_CMPB() GET_REGISTER( "mfspr %0,145" )
|
||||
#define SET_CMPB(val) SET_REGISTER( "mtspr 145,%0", val )
|
||||
#define GET_CMPC() GET_REGISTER( "mfspr %0,146" )
|
||||
#define SET_CMPC(val) SET_REGISTER( "mtspr 146,%0", val )
|
||||
#define GET_CMPD() GET_REGISTER( "mfspr %0,147" )
|
||||
#define SET_CMPD(val) SET_REGISTER( "mtspr 147,%0", val )
|
||||
#define GET_ICR() GET_REGISTER( "mfspr %0,148" )
|
||||
#define SET_ICR(val) SET_REGISTER( "mtspr 148,%0", val )
|
||||
#define GET_DER() GET_REGISTER( "mfspr %0,149" )
|
||||
#define SET_DER(val) SET_REGISTER( "mtspr 149,%0", val )
|
||||
#define GET_COUNTA() GET_REGISTER( "mfspr %0,150" )
|
||||
#define SET_COUNTA(val) SET_REGISTER( "mtspr 150,%0", val )
|
||||
#define GET_COUNTB() GET_REGISTER( "mfspr %0,151" )
|
||||
#define SET_COUNTB(val) SET_REGISTER( "mtspr 151,%0", val )
|
||||
#define GET_CMPE() GET_REGISTER( "mfspr %0,152" )
|
||||
#define SET_CMPE(val) SET_REGISTER( "mtspr 152,%0", val )
|
||||
#define GET_CMPF() GET_REGISTER( "mfspr %0,153" )
|
||||
#define SET_CMPF(val) SET_REGISTER( "mtspr 153,%0", val )
|
||||
#define GET_CMPG() GET_REGISTER( "mfspr %0,154" )
|
||||
#define SET_CMPG(val) SET_REGISTER( "mtspr 154,%0", val )
|
||||
#define GET_CMPH() GET_REGISTER( "mfspr %0,155" )
|
||||
#define SET_CMPH(val) SET_REGISTER( "mtspr 155,%0", val )
|
||||
#define GET_LCTRL1() GET_REGISTER( "mfspr %0,156" )
|
||||
#define SET_LCTRL1(val) SET_REGISTER( "mtspr 156,%0", val )
|
||||
#define GET_LCTRL2() GET_REGISTER( "mfspr %0,157" )
|
||||
#define SET_LCTRL2(val) SET_REGISTER( "mtspr 157,%0", val )
|
||||
#define GET_ICTRL() GET_REGISTER( "mfspr %0,158" )
|
||||
#define SET_ICTRL(val) SET_REGISTER( "mtspr 158,%0", val )
|
||||
#define GET_BAR() GET_REGISTER( "mfspr %0,159" )
|
||||
#define SET_BAR(val) SET_REGISTER( "mtspr 159,%0", val )
|
||||
#define GET_USPRG0() GET_REGISTER( "mfspr %0,256" )
|
||||
#define SET_USPRG0(val) SET_REGISTER( "mtspr 256,%0", val )
|
||||
#define GET_SPRG4_RO() GET_REGISTER( "mfspr %0,260" )
|
||||
#define SET_SPRG4_RO(val) SET_REGISTER( "mtspr 260,%0", val )
|
||||
#define GET_SPRG5_RO() GET_REGISTER( "mfspr %0,261" )
|
||||
#define SET_SPRG5_RO(val) SET_REGISTER( "mtspr 261,%0", val )
|
||||
#define GET_SPRG6_RO() GET_REGISTER( "mfspr %0,262" )
|
||||
#define SET_SPRG6_RO(val) SET_REGISTER( "mtspr 262,%0", val )
|
||||
#define GET_SPRG7_RO() GET_REGISTER( "mfspr %0,263" )
|
||||
#define SET_SPRG7_RO(val) SET_REGISTER( "mtspr 263,%0", val )
|
||||
#define GET_SPRG0() GET_REGISTER( "mfspr %0,272" )
|
||||
#define SET_SPRG0(val) SET_REGISTER( "mtspr 272,%0", val )
|
||||
#define GET_SPRG1() GET_REGISTER( "mfspr %0,273" )
|
||||
#define SET_SPRG1(val) SET_REGISTER( "mtspr 273,%0", val )
|
||||
#define GET_SPRG2() GET_REGISTER( "mfspr %0,274" )
|
||||
#define SET_SPRG2(val) SET_REGISTER( "mtspr 274,%0", val )
|
||||
#define GET_SPRG3() GET_REGISTER( "mfspr %0,275" )
|
||||
#define SET_SPRG3(val) SET_REGISTER( "mtspr 275,%0", val )
|
||||
#define GET_SPRG4() GET_REGISTER( "mfspr %0,276" )
|
||||
#define SET_SPRG4(val) SET_REGISTER( "mtspr 276,%0", val )
|
||||
#define GET_SPRG5() GET_REGISTER( "mfspr %0,277" )
|
||||
#define SET_SPRG5(val) SET_REGISTER( "mtspr 277,%0", val )
|
||||
#define GET_SPRG6() GET_REGISTER( "mfspr %0,278" )
|
||||
#define SET_SPRG6(val) SET_REGISTER( "mtspr 278,%0", val )
|
||||
#define GET_SPRG7() GET_REGISTER( "mfspr %0,279" )
|
||||
#define SET_SPRG7(val) SET_REGISTER( "mtspr 279,%0", val )
|
||||
#define GET_EAR() GET_REGISTER( "mfspr %0,282" )
|
||||
#define SET_EAR(val) SET_REGISTER( "mtspr 282,%0", val )
|
||||
#define GET_TBL() GET_REGISTER( "mfspr %0,284" )
|
||||
#define SET_TBL(val) SET_REGISTER( "mtspr 284,%0", val )
|
||||
#define GET_TBU() GET_REGISTER( "mfspr %0,285" )
|
||||
#define SET_TBU(val) SET_REGISTER( "mtspr 285,%0", val )
|
||||
#define GET_PVR() GET_REGISTER( "mfspr %0,287" )
|
||||
#define SET_PVR(val) SET_REGISTER( "mtspr 287,%0", val )
|
||||
#define GET_IC_CST() GET_REGISTER( "mfspr %0,560" )
|
||||
#define SET_IC_CST(val) SET_REGISTER( "mtspr 560,%0", val )
|
||||
#define GET_IC_ADR() GET_REGISTER( "mfspr %0,561" )
|
||||
#define SET_IC_ADR(val) SET_REGISTER( "mtspr 561,%0", val )
|
||||
#define GET_IC_DAT() GET_REGISTER( "mfspr %0,562" )
|
||||
#define SET_IC_DAT(val) SET_REGISTER( "mtspr 562,%0", val )
|
||||
#define GET_DC_CST() GET_REGISTER( "mfspr %0,568" )
|
||||
#define SET_DC_CST(val) SET_REGISTER( "mtspr 568,%0", val )
|
||||
#define GET_DC_ADR() GET_REGISTER( "mfspr %0,569" )
|
||||
#define SET_DC_ADR(val) SET_REGISTER( "mtspr 569,%0", val )
|
||||
#define GET_DC_DAT() GET_REGISTER( "mfspr %0,570" )
|
||||
#define SET_DC_DAT(val) SET_REGISTER( "mtspr 570,%0", val )
|
||||
#define GET_DPDR() GET_REGISTER( "mfspr %0,630" )
|
||||
#define SET_DPDR(val) SET_REGISTER( "mtspr 630,%0", val )
|
||||
#define GET_IMMR() GET_REGISTER( "mfspr %0,638" )
|
||||
#define SET_IMMR(val) SET_REGISTER( "mtspr 638,%0", val )
|
||||
#define GET_MI_CTR() GET_REGISTER( "mfspr %0,784" )
|
||||
#define SET_MI_CTR(val) SET_REGISTER( "mtspr 784,%0", val )
|
||||
#define GET_MI_AP() GET_REGISTER( "mfspr %0,786" )
|
||||
#define SET_MI_AP(val) SET_REGISTER( "mtspr 786,%0", val )
|
||||
#define GET_MI_EPN() GET_REGISTER( "mfspr %0,787" )
|
||||
#define SET_MI_EPN(val) SET_REGISTER( "mtspr 787,%0", val )
|
||||
#define GET_MI_TWC() GET_REGISTER( "mfspr %0,789" )
|
||||
#define SET_MI_TWC(val) SET_REGISTER( "mtspr 789,%0", val )
|
||||
#define GET_MI_RPN() GET_REGISTER( "mfspr %0,790" )
|
||||
#define SET_MI_RPN(val) SET_REGISTER( "mtspr 790,%0", val )
|
||||
#define GET_MD_CTR() GET_REGISTER( "mfspr %0,792" )
|
||||
#define SET_MD_CTR(val) SET_REGISTER( "mtspr 792,%0", val )
|
||||
#define GET_M_CASID() GET_REGISTER( "mfspr %0,793" )
|
||||
#define SET_M_CASID(val) SET_REGISTER( "mtspr 793,%0", val )
|
||||
#define GET_MD_AP() GET_REGISTER( "mfspr %0,794" )
|
||||
#define SET_MD_AP(val) SET_REGISTER( "mtspr ,794%0", val )
|
||||
#define GET_MD_EPN() GET_REGISTER( "mfspr %0,795" )
|
||||
#define SET_MD_EPN(val) SET_REGISTER( "mtspr 795,%0", val )
|
||||
#define GET_M_TWB() GET_REGISTER( "mfspr %0,796" )
|
||||
#define SET_M_TWB(val) SET_REGISTER( "mtspr 796,%0", val )
|
||||
#define GET_MD_TWC() GET_REGISTER( "mfspr %0,797" )
|
||||
#define SET_MD_TWC(val) SET_REGISTER( "mtspr 797,%0", val )
|
||||
#define GET_MD_RPN() GET_REGISTER( "mfspr %0,798" )
|
||||
#define SET_MD_RPN(val) SET_REGISTER( "mtspr 798,%0", val )
|
||||
#define GET_M_TW() GET_REGISTER( "mfspr %0,799" )
|
||||
#define SET_M_TW(val) SET_REGISTER( "mtspr 799,%0", val )
|
||||
#define GET_MI_DBCAM() GET_REGISTER( "mfspr %0,816" )
|
||||
#define SET_MI_DBCAM(val) SET_REGISTER( "mtspr 816,%0", val )
|
||||
#define GET_MI_DBRAM0() GET_REGISTER( "mfspr %0,817" )
|
||||
#define SET_MI_DBRAM0(val) SET_REGISTER( "mtspr 817,%0", val )
|
||||
#define GET_MI_DBRAM1() GET_REGISTER( "mfspr %0,818" )
|
||||
#define SET_MI_DBRAM1(val) SET_REGISTER( "mtspr 818,%0", val )
|
||||
#define GET_MD_DBCAM() GET_REGISTER( "mfspr %0,824" )
|
||||
#define SET_MD_DBCA(val) SET_REGISTER( "mtspr 824,%0", val )
|
||||
#define GET_MD_DBRAM0() GET_REGISTER( "mfspr %0,825" )
|
||||
#define SET_MD_DBRAM0(val) SET_REGISTER( "mtspr 825,%0", val )
|
||||
#define GET_MD_DBRAM1() GET_REGISTER( "mfspr %0,826" )
|
||||
#define SET_MD_DBRAM1(val) SET_REGISTER( "mtspr 826,%0", val )
|
||||
#define GET_ZPR() GET_REGISTER( "mfspr %0,944" )
|
||||
#define SET_ZPR(val) SET_REGISTER( "mtspr 944,%0", val )
|
||||
#define GET_PID() GET_REGISTER( "mfspr %0,945" )
|
||||
#define SET_PID(val) SET_REGISTER( "mtspr 945,%0", val )
|
||||
#define GET_CCR0() GET_REGISTER( "mfspr %0,947" )
|
||||
#define SET_CCR0(val) SET_REGISTER( "mtspr 947,%0", val )
|
||||
#define GET_IAC3() GET_REGISTER( "mfspr %0,948" )
|
||||
#define SET_IAC3(val) SET_REGISTER( "mtspr 948,%0", val )
|
||||
#define GET_IAC4() GET_REGISTER( "mfspr %0,949" )
|
||||
#define SET_IAC4(val) SET_REGISTER( "mtspr 949,%0", val )
|
||||
#define GET_DVC1() GET_REGISTER( "mfspr %0,950" )
|
||||
#define SET_DVC1(val) SET_REGISTER( "mtspr 950,%0", val )
|
||||
#define GET_DVC2() GET_REGISTER( "mfspr %0,951" )
|
||||
#define SET_DVC2(val) SET_REGISTER( "mtspr 951,%0", val )
|
||||
#define GET_SGR() GET_REGISTER( "mfspr %0,953" )
|
||||
#define SET_SGR(val) SET_REGISTER( "mtspr 953,%0", val )
|
||||
#define GET_DCWR() GET_REGISTER( "mfspr %0,954" )
|
||||
#define SET_DCWR(val) SET_REGISTER( "mtspr 954,%0", val )
|
||||
#define GET_SLER() GET_REGISTER( "mfspr %0,955" )
|
||||
#define SET_SLER(val) SET_REGISTER( "mtspr 955,%0", val )
|
||||
#define GET_SU0R() GET_REGISTER( "mfspr %0,956" )
|
||||
#define SET_SU0R(val) SET_REGISTER( "mtspr 956,%0", val )
|
||||
#define GET_DBCR1() GET_REGISTER( "mfspr %0,957" )
|
||||
#define SET_DBCR1(val) SET_REGISTER( "mtspr 957,%0", val )
|
||||
#define GET_ICDBDR() GET_REGISTER( "mfspr %0,979" )
|
||||
#define SET_ICDBDR(val) SET_REGISTER( "mtspr 979,%0", val )
|
||||
#define GET_ESR() GET_REGISTER( "mfspr %0,980" )
|
||||
#define SET_ESR(val) SET_REGISTER( "mtspr 980,%0", val )
|
||||
#define GET_DEAR() GET_REGISTER( "mfspr %0,981" )
|
||||
#define SET_DEAR(val) SET_REGISTER( "mtspr 981,%0", val )
|
||||
#define GET_EVPR() GET_REGISTER( "mfspr %0,982" )
|
||||
#define SET_EVPR(val) SET_REGISTER( "mtspr 982,%0", val )
|
||||
#define GET_TSR() GET_REGISTER( "mfspr %0,984" )
|
||||
#define SET_TSR(val) SET_REGISTER( "mtspr 984,%0", val )
|
||||
#define GET_TCR() GET_REGISTER( "mfspr %0,986" )
|
||||
#define SET_TCR(val) SET_REGISTER( "mtspr 986,%0", val )
|
||||
#define GET_PIT() GET_REGISTER( "mfspr %0,987" )
|
||||
#define SET_PIT(val) SET_REGISTER( "mtspr 987,%0", val )
|
||||
#define GET_SRR2() GET_REGISTER( "mfspr %0,990" )
|
||||
#define SET_SRR2(val) SET_REGISTER( "mtspr 990,%0", val )
|
||||
#define GET_SRR3() GET_REGISTER( "mfspr %0,991" )
|
||||
#define SET_SRR3(val) SET_REGISTER( "mtspr 991,%0", val )
|
||||
#define GET_DBSR() GET_REGISTER( "mfspr %0,1008" )
|
||||
#define SET_DBSR(val) SET_REGISTER( "mtspr 1008,%0", val )
|
||||
#define GET_DBCR0() GET_REGISTER( "mfspr %0,1010" )
|
||||
#define SET_DBCR0(val) SET_REGISTER( "mtspr 1010,%0", val )
|
||||
#define GET_IABR() GET_REGISTER( "mfspr %0,1010" )
|
||||
#define SET_IABR(val) SET_REGISTER( "mtspr 1010,%0", val )
|
||||
#define GET_IAC1() GET_REGISTER( "mfspr %0,1012" )
|
||||
#define SET_IAC1(val) SET_REGISTER( "mtspr 1012,%0", val )
|
||||
#define GET_IAC2() GET_REGISTER( "mfspr %0,1013" )
|
||||
#define SET_IAC2(val) SET_REGISTER( "mtspr 1013,%0", val )
|
||||
#define GET_DAC1() GET_REGISTER( "mfspr %0,1014" )
|
||||
#define SET_DAC1(val) SET_REGISTER( "mtspr 1014,%0", val )
|
||||
#define GET_DAC2() GET_REGISTER( "mfspr %0,1015" )
|
||||
#define SET_DAC2(val) SET_REGISTER( "mtspr 1015,%0", val )
|
||||
#define GET_DCCR() GET_REGISTER( "mfspr %0,1018" )
|
||||
#define SET_DCCR(val) SET_REGISTER( "mtspr 1018,%0", val )
|
||||
#define GET_ICCR() GET_REGISTER( "mfspr %0,1019" )
|
||||
#define SET_ICCR(val) SET_REGISTER( "mtspr 1019,%0", val )
|
||||
|
||||
#endif /* _REGS_H */
|
||||
|
||||
|
||||
/*
|
||||
* Copyright (c) 2000 William L. Pitts and W. Gerald Hicks
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms are freely
|
||||
* permitted provided that the above copyright notice and this
|
||||
* paragraph and the following disclaimer are duplicated in all
|
||||
* such forms.
|
||||
*
|
||||
* This software is provided "AS IS" and without any express or
|
||||
* implied warranties, including, without limitation, the implied
|
||||
* warranties of merchantability and fitness for a particular
|
||||
* purpose.
|
||||
*/
|
||||
|
|
@ -0,0 +1,601 @@
|
|||
/* $Id$ */
|
||||
|
||||
#ifndef TABLES_H
|
||||
#define TABLES_H
|
||||
|
||||
/* This is only included by common/bedbug.c, and depends on the following
|
||||
* files to already be included
|
||||
* common.h
|
||||
* bedbug/bedbug.h
|
||||
* bedbug/ppc.h
|
||||
* bedbug/regs.h
|
||||
*/
|
||||
|
||||
struct operand operands[] = {
|
||||
/*Field Name Bits Shift Hint Position */
|
||||
/*----- ------ ----- ----- ---- ------------ */
|
||||
{ O_AA, "O_AA", 1, 1, OH_SILENT }, /* 30 */
|
||||
{ O_BD, "O_BD", 14, 2, OH_ADDR }, /* 16-29 */
|
||||
{ O_BI, "O_BI", 5, 16, 0 }, /* 11-15 */
|
||||
{ O_BO, "O_BO", 5, 21, 0 }, /* 6-10 */
|
||||
{ O_crbD, "O_crbD", 5, 21, 0 }, /* 6-10 */
|
||||
{ O_crbA, "O_crbA", 5, 16, 0 }, /* 11-15 */
|
||||
{ O_crbB, "O_crbB", 5, 11, 0 }, /* 16-20 */
|
||||
{ O_CRM, "O_CRM", 8, 12, 0 }, /* 12-19 */
|
||||
{ O_d, "O_d", 15, 0, OH_OFFSET }, /* 16-31 */
|
||||
{ O_frC, "O_frC", 5, 6, 0 }, /* 21-25 */
|
||||
{ O_frD, "O_frD", 5, 21, 0 }, /* 6-10 */
|
||||
{ O_frS, "O_frS", 5, 21, 0 }, /* 6-10 */
|
||||
{ O_IMM, "O_IMM", 4, 12, 0 }, /* 16-19 */
|
||||
{ O_LI, "O_LI", 24, 2, OH_ADDR }, /* 6-29 */
|
||||
{ O_LK, "O_LK", 1, 0, OH_SILENT }, /* 31 */
|
||||
{ O_MB, "O_MB", 5, 6, 0 }, /* 21-25 */
|
||||
{ O_ME, "O_ME", 5, 1, 0 }, /* 26-30 */
|
||||
{ O_NB, "O_NB", 5, 11, 0 }, /* 16-20 */
|
||||
{ O_OE, "O_OE", 1, 10, OH_SILENT }, /* 21 */
|
||||
{ O_rA, "O_rA", 5, 16, OH_REG }, /* 11-15 */
|
||||
{ O_rB, "O_rB", 5, 11, OH_REG }, /* 16-20 */
|
||||
{ O_Rc, "O_Rc", 1, 0, OH_SILENT }, /* 31 */
|
||||
{ O_rD, "O_rD", 5, 21, OH_REG }, /* 6-10 */
|
||||
{ O_rS, "O_rS", 5, 21, OH_REG }, /* 6-10 */
|
||||
{ O_SH, "O_SH", 5, 11, 0 }, /* 16-20 */
|
||||
{ O_SIMM, "O_SIMM", 16, 0, 0 }, /* 16-31 */
|
||||
{ O_SR, "O_SR", 4, 16, 0 }, /* 12-15 */
|
||||
{ O_TO, "O_TO", 5, 21, 0 }, /* 6-10 */
|
||||
{ O_UIMM, "O_UIMM", 16, 0, 0 }, /* 16-31 */
|
||||
{ O_crfD, "O_crfD", 3, 23, 0 }, /* 6- 8 */
|
||||
{ O_crfS, "O_crfS", 3, 18, 0 }, /* 11-13 */
|
||||
{ O_L, "O_L", 1, 21, 0 }, /* 10 */
|
||||
{ O_spr, "O_spr", 10, 11, OH_SPR }, /* 11-20 */
|
||||
{ O_tbr, "O_tbr", 10, 11, OH_TBR }, /* 11-20 */
|
||||
{ O_cr2, "O_cr2", 0, 0, OH_LITERAL }, /* "cr2" */
|
||||
};
|
||||
|
||||
const unsigned int n_operands = sizeof(operands) / sizeof(operands[0]);
|
||||
|
||||
/* A note about the fields array in the opcodes structure:
|
||||
The operands are listed in the order they appear in the output.
|
||||
|
||||
This table is arranged in numeric order of the opcode. Note that some
|
||||
opcodes have defined bits in odd places so not all forms of a command
|
||||
will be in the same place. This is done so that a binary search can be
|
||||
done to find the opcodes. Note that table D.2 in the MPC860 User's
|
||||
Manual "Instructions Sorted by Opcode" does not account for these
|
||||
bit locations */
|
||||
|
||||
struct opcode opcodes[] = {
|
||||
{ D_OPCODE(3), D_MASK, {O_TO, O_rA, O_SIMM, 0},
|
||||
0, "twi", 0 },
|
||||
{ D_OPCODE(7), D_MASK, {O_rD, O_rA, O_SIMM, 0},
|
||||
0, "mulli", 0 },
|
||||
{ D_OPCODE(8), D_MASK, {O_rD, O_rA, O_SIMM, 0},
|
||||
0, "subfic", 0 },
|
||||
{ D_OPCODE(10), D_MASK, {O_crfD, O_L, O_rA, O_UIMM, 0},
|
||||
0, "cmpli", 0 },
|
||||
{ D_OPCODE(11), D_MASK, {O_crfD, O_L, O_rA, O_SIMM, 0},
|
||||
0, "cmpi", 0 },
|
||||
{ D_OPCODE(12), D_MASK, {O_rD, O_rA, O_SIMM, 0},
|
||||
0, "addic", 0 },
|
||||
{ D_OPCODE(13), D_MASK, {O_rD, O_rA, O_SIMM, 0},
|
||||
0, "addic.", 0 },
|
||||
{ D_OPCODE(14), D_MASK, {O_rD, O_rA, O_SIMM, 0},
|
||||
0, "addi", H_RA0_IS_0 },
|
||||
{ D_OPCODE(15), D_MASK, {O_rD, O_rA, O_SIMM, 0},
|
||||
0, "addis", H_RA0_IS_0|H_IMM_HIGH },
|
||||
{ B_OPCODE(16,0,0), B_MASK, {O_BO, O_BI, O_BD, O_AA, O_LK, 0},
|
||||
handle_bc, "bc", H_RELATIVE },
|
||||
{ B_OPCODE(16,0,1), B_MASK, {O_BO, O_BI, O_BD, O_AA, O_LK, 0},
|
||||
0, "bcl", H_RELATIVE },
|
||||
{ B_OPCODE(16,1,0), B_MASK, {O_BO, O_BI, O_BD, O_AA, O_LK, 0},
|
||||
0, "bca", 0 },
|
||||
{ B_OPCODE(16,1,1), B_MASK, {O_BO, O_BI, O_BD, O_AA, O_LK, 0},
|
||||
0, "bcla", 0 },
|
||||
{ SC_OPCODE(17), SC_MASK, {0},
|
||||
0, "sc", 0 },
|
||||
{ I_OPCODE(18,0,0), I_MASK, {O_LI, O_AA, O_LK, 0},
|
||||
0, "b", H_RELATIVE },
|
||||
{ I_OPCODE(18,0,1), I_MASK, {O_LI, O_AA, O_LK, 0},
|
||||
0, "bl", H_RELATIVE },
|
||||
{ I_OPCODE(18,1,0), I_MASK, {O_LI, O_AA, O_LK, 0},
|
||||
0, "ba", 0 },
|
||||
{ I_OPCODE(18,1,1), I_MASK, {O_LI, O_AA, O_LK, 0},
|
||||
0, "bla", 0 },
|
||||
{ XL_OPCODE(19,0,0), XL_MASK, {O_crfD, O_crfS},
|
||||
0, "mcrf", 0 },
|
||||
{ XL_OPCODE(19,16,0), XL_MASK, {O_BO, O_BI, O_LK, 0},
|
||||
0, "bclr", 0 },
|
||||
{ XL_OPCODE(19,16,1), XL_MASK, {O_BO, O_BI, O_LK, 0},
|
||||
0, "bclrl", 0 },
|
||||
{ XL_OPCODE(19,33,0), XL_MASK, {O_crbD, O_crbA, O_crbB, 0},
|
||||
0, "crnor", 0 },
|
||||
{ XL_OPCODE(19,50,0), XL_MASK, {0},
|
||||
0, "rfi", 0 },
|
||||
{ XL_OPCODE(19,129,0), XL_MASK, {O_crbD, O_crbA, O_crbB, 0},
|
||||
0, "crandc", 0 },
|
||||
{ XL_OPCODE(19,150,0), XL_MASK, {0},
|
||||
0, "isync", 0 },
|
||||
{ XL_OPCODE(19,193,0), XL_MASK, {O_crbD, O_crbA, O_crbB, 0},
|
||||
0, "crxor", 0 },
|
||||
{ XL_OPCODE(19,225,0), XL_MASK, {O_crbD, O_crbA, O_crbB, 0},
|
||||
0, "crnand", 0 },
|
||||
{ XL_OPCODE(19,257,0), XL_MASK, {O_crbD, O_crbA, O_crbB, 0},
|
||||
0, "crand", 0 },
|
||||
{ XL_OPCODE(19,289,0), XL_MASK, {O_crbD, O_crbA, O_crbB, 0},
|
||||
0, "creqv", 0 },
|
||||
{ XL_OPCODE(19,417,0), XL_MASK, {O_crbD, O_crbA, O_crbB, 0},
|
||||
0, "crorc", 0 },
|
||||
{ XL_OPCODE(19,449,0), XL_MASK, {O_crbD, O_crbA, O_crbB, 0},
|
||||
0, "cror", 0 },
|
||||
{ XL_OPCODE(19,528,0), XL_MASK, {O_BO, O_BI, O_LK, 0},
|
||||
0, "bcctr", 0 },
|
||||
{ XL_OPCODE(19,528,1), XL_MASK, {O_BO, O_BI, O_LK, 0},
|
||||
0, "bcctrl", 0 },
|
||||
{ M_OPCODE(20,0), M_MASK, {O_rA, O_rS, O_SH, O_MB, O_ME, O_Rc, 0},
|
||||
0, "rlwimi", 0 },
|
||||
{ M_OPCODE(20,1), M_MASK, {O_rA, O_rS, O_SH, O_MB, O_ME, O_Rc, 0},
|
||||
0, "rlwimi.", 0 },
|
||||
{ M_OPCODE(21,0), M_MASK, {O_rA, O_rS, O_SH, O_MB, O_ME, O_Rc, 0},
|
||||
0, "rlwinm", 0 },
|
||||
{ M_OPCODE(21,1), M_MASK, {O_rA, O_rS, O_SH, O_MB, O_ME, O_Rc, 0},
|
||||
0, "rlwinm.", 0 },
|
||||
{ M_OPCODE(23,0), M_MASK, {O_rA, O_rS, O_rB, O_MB, O_ME, O_Rc, 0},
|
||||
0, "rlwnm", 0 },
|
||||
{ M_OPCODE(23,1), M_MASK, {O_rA, O_rS, O_rB, O_MB, O_ME, O_Rc, 0},
|
||||
0, "rlwnm.", 0 },
|
||||
{ D_OPCODE(24), D_MASK, {O_rA, O_rS, O_UIMM, 0},
|
||||
0, "ori", 0 },
|
||||
{ D_OPCODE(25), D_MASK, {O_rA, O_rS, O_UIMM, 0},
|
||||
0, "oris", H_IMM_HIGH },
|
||||
{ D_OPCODE(26), D_MASK, {O_rA, O_rS, O_UIMM, 0},
|
||||
0, "xori", 0 },
|
||||
{ D_OPCODE(27), D_MASK, {O_rA, O_rS, O_UIMM, 0},
|
||||
0, "xoris", H_IMM_HIGH },
|
||||
{ D_OPCODE(28), D_MASK, {O_rA, O_rS, O_UIMM, 0},
|
||||
0, "andi.", 0 },
|
||||
{ D_OPCODE(29), D_MASK, {O_rA, O_rS, O_UIMM, 0},
|
||||
0, "andis.", H_IMM_HIGH },
|
||||
{ X_OPCODE(31,0,0), X_MASK, {O_crfD, O_L, O_rA, O_rB, 0},
|
||||
0, "cmp", 0 },
|
||||
{ X_OPCODE(31,4,0), X_MASK, {O_TO, O_rA, O_rB, 0},
|
||||
0, "tw", 0 },
|
||||
{ XO_OPCODE(31,8,0,0), XO_MASK, {O_rD, O_rA, O_rB, O_OE, O_Rc, 0},
|
||||
0, "subfc", 0 },
|
||||
{ XO_OPCODE(31,8,0,1), XO_MASK, {O_rD, O_rA, O_rB, O_OE, O_Rc, 0},
|
||||
0, "subfc.", 0 },
|
||||
{ XO_OPCODE(31,10,0,0), XO_MASK, {O_rD, O_rA, O_rB, O_OE, O_Rc, 0},
|
||||
0, "addc", 0 },
|
||||
{ XO_OPCODE(31,10,0,1), XO_MASK, {O_rD, O_rA, O_rB, O_OE, O_Rc, 0},
|
||||
0, "addc.", 0 },
|
||||
{ XO_OPCODE(31,11,0,0), XO_MASK, {O_rD, O_rA, O_rB, O_Rc, 0},
|
||||
0, "mulhwu", 0 },
|
||||
{ XO_OPCODE(31,11,0,1), XO_MASK, {O_rD, O_rA, O_rB, O_Rc, 0},
|
||||
0, "mulhwu.", 0 },
|
||||
{ X_OPCODE(31,19,0), X_MASK, {O_rD, 0},
|
||||
0, "mfcr", 0 },
|
||||
{ X_OPCODE(31,20,0), X_MASK, {O_rD, O_rA, O_rB, 0},
|
||||
0, "lwarx", H_RA0_IS_0 },
|
||||
{ X_OPCODE(31,23,0), X_MASK, {O_rD, O_rA, O_rB, 0},
|
||||
0, "lwzx", H_RA0_IS_0 },
|
||||
{ X_OPCODE(31,24,0), X_MASK, {O_rA, O_rS, O_rB, O_Rc, 0},
|
||||
0, "slw", 0 },
|
||||
{ X_OPCODE(31,24,1), X_MASK, {O_rA, O_rS, O_rB, O_Rc, 0},
|
||||
0, "slw.", 0 },
|
||||
{ X_OPCODE(31,26,0), X_MASK, {O_rA, O_rS, O_Rc, 0 },
|
||||
0, "cntlzw", 0 },
|
||||
{ X_OPCODE(31,26,1), X_MASK, {O_rA, O_rS, O_Rc, 0},
|
||||
0, "cntlzw.", 0 },
|
||||
{ X_OPCODE(31,28,0), X_MASK, {O_rA, O_rS, O_rB, O_Rc, 0},
|
||||
0, "and", 0 },
|
||||
{ X_OPCODE(31,28,1), X_MASK, {O_rA, O_rS, O_rB, O_Rc, 0},
|
||||
0, "and.", 0 },
|
||||
{ X_OPCODE(31,32,0), X_MASK, {O_crfD, O_L, O_rA, O_rB, 0},
|
||||
0, "cmpl", 0 },
|
||||
{ XO_OPCODE(31,40,0,0), XO_MASK, {O_rD, O_rA, O_rB, O_OE, O_Rc, 0},
|
||||
0, "subf", 0 },
|
||||
{ XO_OPCODE(31,40,0,1), XO_MASK, {O_rD, O_rA, O_rB, O_OE, O_Rc, 0},
|
||||
0, "subf.", 0 },
|
||||
{ X_OPCODE(31,54,0), X_MASK, {O_rA, O_rB, 0},
|
||||
0, "dcbst", H_RA0_IS_0 },
|
||||
{ X_OPCODE(31,55,0), X_MASK, {O_rD, O_rA, O_rB, 0},
|
||||
0, "lwzux", 0 },
|
||||
{ X_OPCODE(31,60,0), X_MASK, {O_rA, O_rS, O_rB, O_Rc, 0},
|
||||
0, "andc", 0 },
|
||||
{ X_OPCODE(31,60,1), X_MASK, {O_rA, O_rS, O_rB, O_Rc, 0},
|
||||
0, "andc.", 0 },
|
||||
{ XO_OPCODE(31,75,0,0), XO_MASK, {O_rD, O_rA, O_rB, O_Rc, 0},
|
||||
0, "mulhw", 0 },
|
||||
{ XO_OPCODE(31,75,0,1), XO_MASK, {O_rD, O_rA, O_rB, O_Rc, 0},
|
||||
0, "mulhw.", 0 },
|
||||
{ X_OPCODE(31,83,0), X_MASK, {O_rD, 0},
|
||||
0, "mfmsr", 0 },
|
||||
{ X_OPCODE(31,86,0), X_MASK, {O_rA, O_rB, 0},
|
||||
0, "dcbf", H_RA0_IS_0 },
|
||||
{ X_OPCODE(31,87,0), X_MASK, {O_rD, O_rA, O_rB, 0},
|
||||
0, "lbzx", H_RA0_IS_0 },
|
||||
{ XO_OPCODE(31,104,0,0), XO_MASK, {O_rD, O_rA, O_OE, O_Rc, 0},
|
||||
0, "neg", 0 },
|
||||
{ XO_OPCODE(31,104,0,1), XO_MASK, {O_rD, O_rA, O_OE, O_Rc, 0},
|
||||
0, "neg.", 0 },
|
||||
{ X_OPCODE(31,119,0), X_MASK, {O_rD, O_rA, O_rB, 0},
|
||||
0, "lbzux", 0 },
|
||||
{ X_OPCODE(31,124,0), X_MASK, {O_rA, O_rS, O_rB, O_Rc, 0},
|
||||
0, "nor", 0 },
|
||||
{ X_OPCODE(31,124,1), X_MASK, {O_rA, O_rS, O_rB, O_Rc, 0},
|
||||
0, "nor.", 0 },
|
||||
{ XO_OPCODE(31,136,0,0), XO_MASK, {O_rD, O_rA, O_rB, O_OE, O_Rc, 0},
|
||||
0, "subfe", 0 },
|
||||
{ XO_OPCODE(31,136,0,1), XO_MASK, {O_rD, O_rA, O_rB, O_OE, O_Rc, 0},
|
||||
0, "subfe.", 0 },
|
||||
{ XO_OPCODE(31,138,0,0), XO_MASK, {O_rD, O_rA, O_rB, O_OE, O_Rc, 0},
|
||||
0, "adde", 0 },
|
||||
{ XO_OPCODE(31,138,0,1), XO_MASK, {O_rD, O_rA, O_rB, O_OE, O_Rc, 0},
|
||||
0, "adde.", 0 },
|
||||
{ XFX_OPCODE(31,144,0), XFX_MASK, {O_CRM, O_rS, 0},
|
||||
0, "mtcrf", 0 },
|
||||
{ X_OPCODE(31,146,0), X_MASK, {O_rS, 0},
|
||||
0, "mtmsr", 0 },
|
||||
{ X_OPCODE(31,150,1), X_MASK, {O_rS, O_rA, O_rB, 0},
|
||||
0, "stwcx.", 0 },
|
||||
{ X_OPCODE(31,151,0), X_MASK, {O_rS, O_rA, O_rB, 0},
|
||||
0, "stwx", 0 },
|
||||
{ X_OPCODE(31,183,0), X_MASK, {O_rS, O_rA, O_rB, 0},
|
||||
0, "stwux", 0 },
|
||||
{ XO_OPCODE(31,200,0,0), XO_MASK, {O_rD, O_rA, O_OE, O_Rc, 0},
|
||||
0, "subfze", 0 },
|
||||
{ XO_OPCODE(31,200,0,1), XO_MASK, {O_rD, O_rA, O_OE, O_Rc, 0},
|
||||
0, "subfze.", 0 },
|
||||
{ XO_OPCODE(31,202,0,0), XO_MASK, {O_rD, O_rA, O_OE, O_Rc, 0},
|
||||
0, "addze", 0 },
|
||||
{ XO_OPCODE(31,202,0,1), XO_MASK, {O_rD, O_rA, O_OE, O_Rc, 0},
|
||||
0, "addze.", 0 },
|
||||
{ X_OPCODE(31,210,0), X_MASK, {O_SR, O_rS, 0},
|
||||
0, "mtsr", 0 },
|
||||
{ X_OPCODE(31,215,0), X_MASK, {O_rS, O_rA, O_rB, 0},
|
||||
0, "stbx", H_RA0_IS_0 },
|
||||
{ XO_OPCODE(31,232,0,0), XO_MASK, {O_rD, O_rA, O_OE, O_Rc, 0},
|
||||
0, "subfme", 0 },
|
||||
{ XO_OPCODE(31,232,0,1), XO_MASK, {O_rD, O_rA, O_OE, O_Rc, 0},
|
||||
0, "subfme.", 0 },
|
||||
{ XO_OPCODE(31,234,0,0), XO_MASK, {O_rD, O_rA, O_OE, O_Rc, 0},
|
||||
0, "addme", 0 },
|
||||
{ XO_OPCODE(31,234,0,1), XO_MASK, {O_rD, O_rA, O_OE, O_Rc, 0},
|
||||
0, "addme.", 0 },
|
||||
{ XO_OPCODE(31,235,0,0), XO_MASK, {O_rD, O_rA, O_rB, O_OE, O_Rc, 0},
|
||||
0, "mullw", 0 },
|
||||
{ XO_OPCODE(31,235,0,1), XO_MASK, {O_rD, O_rA, O_rB, O_OE, O_Rc, 0},
|
||||
0, "mullw.", 0 },
|
||||
{ X_OPCODE(31,242,0), X_MASK, {O_rS, O_rB, 0},
|
||||
0, "mtsrin", 0 },
|
||||
{ X_OPCODE(31,246,0), X_MASK, {O_rA, O_rB, 0},
|
||||
0, "dcbtst", H_RA0_IS_0 },
|
||||
{ X_OPCODE(31,247,0), X_MASK, {O_rS, O_rA, O_rB, 0},
|
||||
0, "stbux", 0 },
|
||||
{ XO_OPCODE(31,266,0,0), XO_MASK, {O_rD, O_rA, O_rB, O_OE, O_Rc, 0},
|
||||
0, "add", 0 },
|
||||
{ XO_OPCODE(31,266,0,1), XO_MASK, {O_rD, O_rA, O_rB, O_OE, O_Rc, 0},
|
||||
0, "add.", 0 },
|
||||
{ X_OPCODE(31,278,0), X_MASK, {O_rA, O_rB, 0},
|
||||
0, "dcbt", H_RA0_IS_0 },
|
||||
{ X_OPCODE(31,279,0), X_MASK, {O_rD, O_rA, O_rB, 0},
|
||||
0, "lhzx", H_RA0_IS_0 },
|
||||
{ X_OPCODE(31,284,0), X_MASK, {O_rA, O_rS, O_rB, O_Rc, 0},
|
||||
0, "eqv", 0 },
|
||||
{ X_OPCODE(31,284,1), X_MASK, {O_rA, O_rS, O_rB, O_Rc, 0},
|
||||
0, "eqv.", 0 },
|
||||
{ X_OPCODE(31,306,0), X_MASK, {O_rB, 0},
|
||||
0, "tlbie", 0 },
|
||||
{ X_OPCODE(31,310,0), X_MASK, {O_rD, O_rA, O_rB, 0},
|
||||
0, "eciwx", H_RA0_IS_0 },
|
||||
{ X_OPCODE(31,311,0), X_MASK, {O_rD, O_rA, O_rB, 0},
|
||||
0, "lhzux", 0 },
|
||||
{ X_OPCODE(31,316,0), X_MASK, {O_rA, O_rS, O_rB, O_Rc, 0},
|
||||
0, "xor", 0 },
|
||||
{ X_OPCODE(31,316,1), X_MASK, {O_rA, O_rS, O_rB, O_Rc, 0},
|
||||
0, "xor.", 0 },
|
||||
{ XFX_OPCODE(31,339,0), XFX_MASK, {O_rD, O_spr, 0},
|
||||
0, "mfspr", 0 },
|
||||
{ X_OPCODE(31,343,0), X_MASK, {O_rD, O_rA, O_rB, 0},
|
||||
0, "lhax", H_RA0_IS_0 },
|
||||
{ X_OPCODE(31,370,0), X_MASK, {0},
|
||||
0, "tlbia", 0 },
|
||||
{ XFX_OPCODE(31,371,0), XFX_MASK, {O_rD, O_tbr, 0},
|
||||
0, "mftb", 0 },
|
||||
{ X_OPCODE(31,375,0), X_MASK, {O_rD, O_rA, O_rB, 0},
|
||||
0, "lhaux", 0 },
|
||||
{ X_OPCODE(31,407,0), X_MASK, {O_rS, O_rA, O_rB, 0},
|
||||
0, "sthx", H_RA0_IS_0 },
|
||||
{ X_OPCODE(31,412,0), X_MASK, {O_rA, O_rS, O_rB, O_Rc, 0},
|
||||
0, "orc", 0 },
|
||||
{ X_OPCODE(31,412,1), X_MASK, {O_rA, O_rS, O_rB, O_Rc, 0},
|
||||
0, "orc.", 0 },
|
||||
{ X_OPCODE(31,438,0), X_MASK, {O_rS, O_rA, O_rB, 0},
|
||||
0, "ecowx", H_RA0_IS_0 },
|
||||
{ X_OPCODE(31,439,0), X_MASK, {O_rS, O_rA, O_rB, 0},
|
||||
0, "sthux", 0 },
|
||||
{ X_OPCODE(31,444,0), X_MASK, {O_rA, O_rS, O_rB, O_Rc, 0},
|
||||
0, "or", 0 },
|
||||
{ X_OPCODE(31,444,1), X_MASK, {O_rA, O_rS, O_rB, O_Rc, 0},
|
||||
0, "or.", 0 },
|
||||
{ XO_OPCODE(31,459,0,0), XO_MASK, {O_rD, O_rA, O_rB, O_OE, O_Rc, 0},
|
||||
0, "divwu", 0 },
|
||||
{ XO_OPCODE(31,459,0,1), XO_MASK, {O_rD, O_rA, O_rB, O_OE, O_Rc, 0},
|
||||
0, "divwu.", 0 },
|
||||
{ XFX_OPCODE(31,467,0), XFX_MASK, {O_spr, O_rS, 0},
|
||||
0, "mtspr", 0 },
|
||||
{ X_OPCODE(31,470,0), X_MASK, {O_rA, O_rB, 0},
|
||||
0, "dcbi", H_RA0_IS_0 },
|
||||
{ X_OPCODE(31,476,0), X_MASK, {O_rA, O_rS, O_rB, O_Rc, 0},
|
||||
0, "nand", 0 },
|
||||
{ X_OPCODE(31,476,1), X_MASK, {O_rA, O_rS, O_rB, O_Rc,0},
|
||||
0, "nand.", 0 },
|
||||
{ XO_OPCODE(31,491,0,0), XO_MASK, {O_rD, O_rA, O_rB, O_OE, O_Rc, 0},
|
||||
0, "divw", 0 },
|
||||
{ XO_OPCODE(31,491,0,1), XO_MASK, {O_rD, O_rA, O_rB, O_OE, O_Rc, 0},
|
||||
0, "divw.", 0 },
|
||||
{ X_OPCODE(31,512,0), X_MASK, {O_crfD, 0},
|
||||
0, "mcrxr", 0 },
|
||||
{ XO_OPCODE(31,8,1,0), XO_MASK, {O_rD, O_rA, O_rB, O_OE, O_Rc, 0},
|
||||
0, "subfco", 0 },
|
||||
{ XO_OPCODE(31,8,1,1), XO_MASK, {O_rD, O_rA, O_rB, O_OE, O_Rc, 0},
|
||||
0, "subfco.", 0 },
|
||||
{ XO_OPCODE(31,10,1,0), XO_MASK, {O_rD, O_rA, O_rB, O_OE, O_Rc, 0},
|
||||
0, "addco", 0 },
|
||||
{ XO_OPCODE(31,10,1,1), XO_MASK, {O_rD, O_rA, O_rB, O_OE, O_Rc, 0},
|
||||
0, "addco.", 0 },
|
||||
{ X_OPCODE(31,533,0), X_MASK, {O_rD, O_rA, O_rB, 0},
|
||||
0, "lswx", H_RA0_IS_0 },
|
||||
{ X_OPCODE(31,534,0), X_MASK, {O_rD, O_rA, O_rB, 0},
|
||||
0, "lwbrx", H_RA0_IS_0 },
|
||||
{ X_OPCODE(31,536,0), X_MASK, {O_rA, O_rS, O_rB, O_Rc, 0},
|
||||
0, "srw", 0 },
|
||||
{ X_OPCODE(31,536,1), X_MASK, {O_rA, O_rS, O_rB, O_Rc, 0},
|
||||
0, "srw.", 0 },
|
||||
{ XO_OPCODE(31,40,1,0), XO_MASK, {O_rD, O_rA, O_rB, O_OE, O_Rc, 0},
|
||||
0, "subfo", 0 },
|
||||
{ XO_OPCODE(31,40,1,1), XO_MASK, {O_rD, O_rA, O_rB, O_OE, O_Rc, 0},
|
||||
0, "subfo.", 0 },
|
||||
{ X_OPCODE(31,566,0), X_MASK, {0},
|
||||
0, "tlbsync", 0 },
|
||||
{ X_OPCODE(31,595,0), X_MASK, {O_rD, O_SR, 0},
|
||||
0, "mfsr", 0 },
|
||||
{ X_OPCODE(31,597,0), X_MASK, {O_rD, O_rA, O_NB, 0},
|
||||
0, "lswi", H_RA0_IS_0 },
|
||||
{ X_OPCODE(31,598,0), X_MASK, {0},
|
||||
0, "sync", 0 },
|
||||
{ XO_OPCODE(31,104,1,0), XO_MASK, {O_rD, O_rA, O_OE, O_Rc, 0},
|
||||
0, "nego", 0 },
|
||||
{ XO_OPCODE(31,104,1,1), XO_MASK, {O_rD, O_rA, O_OE, O_Rc, 0},
|
||||
0, "nego.", 0 },
|
||||
{ XO_OPCODE(31,136,1,0), XO_MASK, {O_rD, O_rA, O_rB, O_OE, O_Rc, 0},
|
||||
0, "subfeo", 0 },
|
||||
{ XO_OPCODE(31,136,1,1), XO_MASK, {O_rD, O_rA, O_rB, O_OE, O_Rc, 0},
|
||||
0, "subfeo.", 0 },
|
||||
{ XO_OPCODE(31,138,1,0), XO_MASK, {O_rD, O_rA, O_rB, O_OE, O_Rc, 0},
|
||||
0, "addeo", 0 },
|
||||
{ XO_OPCODE(31,138,1,1), XO_MASK, {O_rD, O_rA, O_rB, O_OE, O_Rc, 0},
|
||||
0, "addeo.", 0 },
|
||||
{ X_OPCODE(31,659,0), X_MASK, {O_rD, O_rB, 0},
|
||||
0, "mfsrin", 0 },
|
||||
{ X_OPCODE(31,661,0), X_MASK, {O_rS, O_rA, O_rB, 0},
|
||||
0, "stswx", H_RA0_IS_0 },
|
||||
{ X_OPCODE(31,662,0), X_MASK, {O_rS, O_rA, O_rB, 0},
|
||||
0, "stwbrx", H_RA0_IS_0 },
|
||||
{ XO_OPCODE(31,200,1,0), XO_MASK, {O_rD, O_rA, O_OE, O_Rc, 0},
|
||||
0, "subfzeo", 0 },
|
||||
{ XO_OPCODE(31,200,1,1), XO_MASK, {O_rD, O_rA, O_OE, O_Rc, 0},
|
||||
0, "subfzeo.", 0 },
|
||||
{ XO_OPCODE(31,202,1,0), XO_MASK, {O_rD, O_rA, O_OE, O_Rc, 0},
|
||||
0, "addzeo", 0 },
|
||||
{ XO_OPCODE(31,202,1,1), XO_MASK, {O_rD, O_rA, O_OE, O_Rc, 0},
|
||||
0, "addzeo.", 0 },
|
||||
{ X_OPCODE(31,725,0), X_MASK, {O_rS, O_rA, O_NB, 0},
|
||||
0, "stswi", H_RA0_IS_0 },
|
||||
{ XO_OPCODE(31,232,1,0), XO_MASK, {O_rD, O_rA, O_OE, O_Rc, 0},
|
||||
0, "subfmeo", 0 },
|
||||
{ XO_OPCODE(31,232,1,1), XO_MASK, {O_rD, O_rA, O_OE, O_Rc, 0},
|
||||
0, "subfmeo.", 0 },
|
||||
{ XO_OPCODE(31,234,1,0), XO_MASK, {O_rD, O_rA, O_OE, O_Rc, 0},
|
||||
0, "addmeo", 0 },
|
||||
{ XO_OPCODE(31,234,1,1), XO_MASK, {O_rD, O_rA, O_OE, O_Rc, 0},
|
||||
0, "addmeo.", 0 },
|
||||
{ XO_OPCODE(31,235,1,0), XO_MASK, {O_rD, O_rA, O_rB, O_OE, O_Rc, 0},
|
||||
0, "mullwo", 0 },
|
||||
{ XO_OPCODE(31,235,1,1), XO_MASK, {O_rD, O_rA, O_rB, O_OE, O_Rc, 0},
|
||||
0, "mullwo.", 0 },
|
||||
{ XO_OPCODE(31,266,1,0), XO_MASK, {O_rD, O_rA, O_rB, O_OE, O_Rc, 0},
|
||||
0, "addo", 0 },
|
||||
{ XO_OPCODE(31,266,1,1), XO_MASK, {O_rD, O_rA, O_rB, O_OE, O_Rc, 0},
|
||||
0, "addo.", 0 },
|
||||
{ X_OPCODE(31,790,0), X_MASK, {O_rD, O_rA, O_rB, 0},
|
||||
0, "lhbrx", H_RA0_IS_0 },
|
||||
{ X_OPCODE(31,792,0), X_MASK, {O_rA, O_rS, O_rB, O_Rc, 0},
|
||||
0, "sraw", 0 },
|
||||
{ X_OPCODE(31,792,1), X_MASK, {O_rA, O_rS, O_rB, O_Rc, 0},
|
||||
0, "sraw.", 0 },
|
||||
{ X_OPCODE(31,824,0), X_MASK, {O_rA, O_rS, O_SH, O_Rc, 0},
|
||||
0, "srawi", 0 },
|
||||
{ X_OPCODE(31,824,1), X_MASK, {O_rA, O_rS, O_SH, O_Rc, 0},
|
||||
0, "srawi.", 0 },
|
||||
{ X_OPCODE(31,854,0), X_MASK, {0},
|
||||
0, "eieio", 0 },
|
||||
{ X_OPCODE(31,918,0), X_MASK, {O_rS, O_rA, O_rB, 0},
|
||||
0, "sthbrx", H_RA0_IS_0 },
|
||||
{ X_OPCODE(31,922,0), X_MASK, {O_rA, O_rS, O_Rc, 0},
|
||||
0, "extsh", 0 },
|
||||
{ X_OPCODE(31,922,1), X_MASK, {O_rA, O_rS, O_Rc, 0},
|
||||
0, "extsh.", 0 },
|
||||
{ X_OPCODE(31,954,0), X_MASK, {O_rA, O_rS, O_Rc, 0},
|
||||
0, "extsb", 0 },
|
||||
{ X_OPCODE(31,954,1), X_MASK, {O_rA, O_rS, O_Rc, 0},
|
||||
0, "extsb.", 0 },
|
||||
{ XO_OPCODE(31,459,1,0), XO_MASK, {O_rD, O_rA, O_rB, O_OE, O_Rc, 0},
|
||||
0, "divwuo", 0 },
|
||||
{ XO_OPCODE(31,459,1,1), XO_MASK, {O_rD, O_rA, O_rB, O_OE, O_Rc, 0},
|
||||
0, "divwuo.", 0 },
|
||||
{ X_OPCODE(31,978,0), X_MASK, {O_rB, 0},
|
||||
0, "tlbld", 0 },
|
||||
{ X_OPCODE(31,982,0), X_MASK, {O_rA, O_rB, 0},
|
||||
0, "icbi", H_RA0_IS_0 },
|
||||
{ XO_OPCODE(31,491,1,0), XO_MASK, {O_rD, O_rA, O_rB, O_OE, O_Rc, 0},
|
||||
0, "divwo", 0 },
|
||||
{ XO_OPCODE(31,491,1,1), XO_MASK, {O_rD, O_rA, O_rB, O_OE, O_Rc, 0},
|
||||
0, "divwo.", 0 },
|
||||
{ X_OPCODE(31,1010,0), X_MASK, {O_rB, 0},
|
||||
0, "tlbli", 0 },
|
||||
{ X_OPCODE(31,1014,0), X_MASK, {O_rA, O_rB, 0},
|
||||
0, "dcbz", H_RA0_IS_0 },
|
||||
{ D_OPCODE(32), D_MASK, {O_rD, O_d, O_rA, 0},
|
||||
0, "lwz", H_RA0_IS_0 },
|
||||
{ D_OPCODE(33), D_MASK, {O_rD, O_d, O_rA, 0},
|
||||
0, "lwzu", 0 },
|
||||
{ D_OPCODE(34), D_MASK, {O_rD, O_d, O_rA, 0},
|
||||
0, "lbz", H_RA0_IS_0 },
|
||||
{ D_OPCODE(35), D_MASK, {O_rD, O_d, O_rA, 0},
|
||||
0, "lbzu", 0 },
|
||||
{ D_OPCODE(36), D_MASK, {O_rS, O_d, O_rA, 0},
|
||||
0, "stw", H_RA0_IS_0 },
|
||||
{ D_OPCODE(37), D_MASK, {O_rS, O_d, O_rA, 0},
|
||||
0, "stwu", 0 },
|
||||
{ D_OPCODE(38), D_MASK, {O_rS, O_d, O_rA, 0},
|
||||
0, "stb", H_RA0_IS_0 },
|
||||
{ D_OPCODE(39), D_MASK, {O_rS, O_d, O_rA, 0},
|
||||
0, "stbu", 0 },
|
||||
{ D_OPCODE(40), D_MASK, {O_rD, O_d, O_rA, 0},
|
||||
0, "lhz", H_RA0_IS_0 },
|
||||
{ D_OPCODE(41), D_MASK, {O_rD, O_d, O_rA, 0},
|
||||
0, "lhzu", 0 },
|
||||
{ D_OPCODE(42), D_MASK, {O_rD, O_d, O_rA, 0},
|
||||
0, "lha", H_RA0_IS_0 },
|
||||
{ D_OPCODE(43), D_MASK, {O_rD, O_d, O_rA, 0},
|
||||
0, "lhau", 0 },
|
||||
{ D_OPCODE(44), D_MASK, {O_rS, O_d, O_rA, 0},
|
||||
0, "sth", H_RA0_IS_0 },
|
||||
{ D_OPCODE(45), D_MASK, {O_rS, O_d, O_rA, 0},
|
||||
0, "sthu", 0 },
|
||||
{ D_OPCODE(46), D_MASK, {O_rD, O_d, O_rA, 0},
|
||||
0, "lmw", H_RA0_IS_0 },
|
||||
{ D_OPCODE(47), D_MASK, {O_rS, O_d, O_rA, 0},
|
||||
0, "stmw", H_RA0_IS_0 },
|
||||
};
|
||||
|
||||
const unsigned int n_opcodes = sizeof(opcodes) / sizeof(opcodes[0]);
|
||||
|
||||
struct spr_info spr_map[] = {
|
||||
{ SPR_XER, "XER" },
|
||||
{ SPR_LR, "LR" },
|
||||
{ SPR_CTR, "CTR" },
|
||||
{ SPR_DSISR, "DSISR" },
|
||||
{ SPR_DAR, "DAR" },
|
||||
{ SPR_DEC, "DEC" },
|
||||
{ SPR_SRR0, "SRR0" },
|
||||
{ SPR_SRR1, "SRR1" },
|
||||
{ SPR_EIE, "EIE" },
|
||||
{ SPR_EID, "EID" },
|
||||
{ SPR_CMPA, "CMPA" },
|
||||
{ SPR_CMPB, "CMPB" },
|
||||
{ SPR_CMPC, "CMPC" },
|
||||
{ SPR_CMPD, "CMPD" },
|
||||
{ SPR_ICR, "ICR" },
|
||||
{ SPR_DER, "DER" },
|
||||
{ SPR_COUNTA, "COUNTA" },
|
||||
{ SPR_COUNTB, "COUNTB" },
|
||||
{ SPR_CMPE, "CMPE" },
|
||||
{ SPR_CMPF, "CMPF" },
|
||||
{ SPR_CMPG, "CMPG" },
|
||||
{ SPR_CMPH, "CMPH" },
|
||||
{ SPR_LCTRL1, "LCTRL1" },
|
||||
{ SPR_LCTRL2, "LCTRL2" },
|
||||
{ SPR_ICTRL, "ICTRL" },
|
||||
{ SPR_BAR, "BAR" },
|
||||
{ SPR_USPRG0, "USPRG0" },
|
||||
{ SPR_SPRG4_RO, "SPRG4_RO" },
|
||||
{ SPR_SPRG5_RO, "SPRG5_RO" },
|
||||
{ SPR_SPRG6_RO, "SPRG6_RO" },
|
||||
{ SPR_SPRG7_RO, "SPRG7_RO" },
|
||||
{ SPR_SPRG0, "SPRG0" },
|
||||
{ SPR_SPRG1, "SPRG1" },
|
||||
{ SPR_SPRG2, "SPRG2" },
|
||||
{ SPR_SPRG3, "SPRG3" },
|
||||
{ SPR_SPRG4, "SPRG4" },
|
||||
{ SPR_SPRG5, "SPRG5" },
|
||||
{ SPR_SPRG6, "SPRG6" },
|
||||
{ SPR_SPRG7, "SPRG7" },
|
||||
{ SPR_EAR, "EAR" },
|
||||
{ SPR_TBL, "TBL" },
|
||||
{ SPR_TBU, "TBU" },
|
||||
{ SPR_IC_CST, "IC_CST" },
|
||||
{ SPR_IC_ADR, "IC_ADR" },
|
||||
{ SPR_IC_DAT, "IC_DAT" },
|
||||
{ SPR_DC_CST, "DC_CST" },
|
||||
{ SPR_DC_ADR, "DC_ADR" },
|
||||
{ SPR_DC_DAT, "DC_DAT" },
|
||||
{ SPR_DPDR, "DPDR" },
|
||||
{ SPR_IMMR, "IMMR" },
|
||||
{ SPR_MI_CTR, "MI_CTR" },
|
||||
{ SPR_MI_AP, "MI_AP" },
|
||||
{ SPR_MI_EPN, "MI_EPN" },
|
||||
{ SPR_MI_TWC, "MI_TWC" },
|
||||
{ SPR_MI_RPN, "MI_RPN" },
|
||||
{ SPR_MD_CTR, "MD_CTR" },
|
||||
{ SPR_M_CASID, "M_CASID" },
|
||||
{ SPR_MD_AP, "MD_AP" },
|
||||
{ SPR_MD_EPN, "MD_EPN" },
|
||||
{ SPR_M_TWB, "M_TWB" },
|
||||
{ SPR_MD_TWC, "MD_TWC" },
|
||||
{ SPR_MD_RPN, "MD_RPN" },
|
||||
{ SPR_M_TW, "M_TW" },
|
||||
{ SPR_MI_DBCAM, "MI_DBCAM" },
|
||||
{ SPR_MI_DBRAM0, "MI_DBRAM0" },
|
||||
{ SPR_MI_DBRAM1, "MI_DBRAM1" },
|
||||
{ SPR_MD_DBCAM, "MD_DBCAM" },
|
||||
{ SPR_MD_DBRAM0, "MD_DBRAM0" },
|
||||
{ SPR_MD_DBRAM1, "MD_DBRAM1" },
|
||||
{ SPR_ZPR, "ZPR" },
|
||||
{ SPR_PID, "PID" },
|
||||
{ SPR_CCR0, "CCR0" },
|
||||
{ SPR_IAC3, "IAC3" },
|
||||
{ SPR_IAC4, "IAC4" },
|
||||
{ SPR_DVC1, "DVC1" },
|
||||
{ SPR_DVC2, "DVC2" },
|
||||
{ SPR_SGR, "SGR" },
|
||||
{ SPR_DCWR, "DCWR" },
|
||||
{ SPR_SLER, "SLER" },
|
||||
{ SPR_SU0R, "SU0R" },
|
||||
{ SPR_DBCR1, "DBCR1" },
|
||||
{ SPR_ICDBDR, "ICDBDR" },
|
||||
{ SPR_ESR, "ESR" },
|
||||
{ SPR_DEAR, "DEAR" },
|
||||
{ SPR_EVPR, "EVPR" },
|
||||
{ SPR_TSR, "TSR" },
|
||||
{ SPR_TCR, "TCR" },
|
||||
{ SPR_PIT, "PIT" },
|
||||
{ SPR_SRR2, "SRR2" },
|
||||
{ SPR_SRR3, "SRR3" },
|
||||
{ SPR_DBSR, "DBSR" },
|
||||
{ SPR_DBCR0, "DBCR0" },
|
||||
{ SPR_IAC1, "IAC1" },
|
||||
{ SPR_IAC2, "IAC2" },
|
||||
{ SPR_DAC1, "DAC1" },
|
||||
{ SPR_DAC2, "DAC2" },
|
||||
{ SPR_DCCR, "DCCR" },
|
||||
{ SPR_ICCR, "ICCR" },
|
||||
};
|
||||
|
||||
const unsigned int n_sprs = sizeof(spr_map) / sizeof(spr_map[0]);
|
||||
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Copyright (c) 2000 William L. Pitts and W. Gerald Hicks
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms are freely
|
||||
* permitted provided that the above copyright notice and this
|
||||
* paragraph and the following disclaimer are duplicated in all
|
||||
* such forms.
|
||||
*
|
||||
* This software is provided "AS IS" and without any express or
|
||||
* implied warranties, including, without limitation, the implied
|
||||
* warranties of merchantability and fitness for a particular
|
||||
* purpose.
|
||||
*/
|
||||
|
|
@ -0,0 +1,26 @@
|
|||
#ifndef _TYPE_BEDBUG_H
|
||||
#define _TYPE_BEDBUG_H
|
||||
|
||||
/* Supporting routines */
|
||||
int bedbug_puts (const char *);
|
||||
void bedbug_init (void);
|
||||
void bedbug860_init (void);
|
||||
void do_bedbug_breakpoint (struct pt_regs *);
|
||||
void bedbug_main_loop (unsigned long, struct pt_regs *);
|
||||
|
||||
|
||||
typedef struct {
|
||||
int hw_debug_enabled;
|
||||
int stopped;
|
||||
int current_bp;
|
||||
struct pt_regs *regs;
|
||||
|
||||
void (*do_break) (cmd_tbl_t *, int, int, char * const []);
|
||||
void (*break_isr) (struct pt_regs *);
|
||||
int (*find_empty) (void);
|
||||
int (*set) (int, unsigned long);
|
||||
int (*clear) (int);
|
||||
} CPU_DEBUG_CTX;
|
||||
|
||||
|
||||
#endif /* _TYPE_BEDBUG_H */
|
||||
|
|
@ -0,0 +1,77 @@
|
|||
/* (C) Copyright 2002
|
||||
* Detlev Zundel, DENX Software Engineering, dzu@denx.de.
|
||||
*
|
||||
* See file CREDITS for list of people who contributed to this
|
||||
* project.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of
|
||||
* the License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston,
|
||||
* MA 02111-1307 USA
|
||||
*/
|
||||
|
||||
/************************************************************************/
|
||||
/* ** Layout of a bmp file */
|
||||
/************************************************************************/
|
||||
|
||||
#ifndef _BMP_H_
|
||||
#define _BMP_H_
|
||||
|
||||
typedef struct bmp_color_table_entry {
|
||||
__u8 blue;
|
||||
__u8 green;
|
||||
__u8 red;
|
||||
__u8 reserved;
|
||||
} __attribute__ ((packed)) bmp_color_table_entry_t;
|
||||
|
||||
/* When accessing these fields, remember that they are stored in little
|
||||
endian format, so use linux macros, e.g. le32_to_cpu(width) */
|
||||
|
||||
typedef struct bmp_header {
|
||||
/* Header */
|
||||
char signature[2];
|
||||
__u32 file_size;
|
||||
__u32 reserved;
|
||||
__u32 data_offset;
|
||||
/* InfoHeader */
|
||||
__u32 size;
|
||||
__u32 width;
|
||||
__u32 height;
|
||||
__u16 planes;
|
||||
__u16 bit_count;
|
||||
__u32 compression;
|
||||
__u32 image_size;
|
||||
__u32 x_pixels_per_m;
|
||||
__u32 y_pixels_per_m;
|
||||
__u32 colors_used;
|
||||
__u32 colors_important;
|
||||
/* ColorTable */
|
||||
|
||||
} __attribute__ ((packed)) bmp_header_t;
|
||||
|
||||
typedef struct bmp_image {
|
||||
bmp_header_t header;
|
||||
/* We use a zero sized array just as a placeholder for variable
|
||||
sized array */
|
||||
bmp_color_table_entry_t color_table[0];
|
||||
} bmp_image_t;
|
||||
|
||||
/* Data in the bmp_image is aligned to this length */
|
||||
#define BMP_DATA_ALIGN 4
|
||||
|
||||
/* Constants for the compression field */
|
||||
#define BMP_BI_RGB 0
|
||||
#define BMP_BI_RLE8 1
|
||||
#define BMP_BI_RLE4 2
|
||||
|
||||
#endif /* _BMP_H_ */
|
||||
262
common/package/utils/sysupgrade-helper/src/include/bootstage.h
Normal file
262
common/package/utils/sysupgrade-helper/src/include/bootstage.h
Normal file
|
|
@ -0,0 +1,262 @@
|
|||
/*
|
||||
* This file implements recording of each stage of the boot process. It is
|
||||
* intended to implement timing of each stage, reporting this information
|
||||
* to the user and passing it to the OS for logging / further analysis.
|
||||
*
|
||||
* Copyright (c) 2011 The Chromium OS Authors.
|
||||
* See file CREDITS for list of people who contributed to this
|
||||
* project.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of
|
||||
* the License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston,
|
||||
* MA 02111-1307 USA
|
||||
*/
|
||||
|
||||
#ifndef _BOOTSTAGE_H
|
||||
#define _BOOTSTAGE_H
|
||||
|
||||
/* The number of boot stage records available for the user */
|
||||
#ifndef CONFIG_BOOTSTAGE_USER_COUNT
|
||||
#define CONFIG_BOOTSTAGE_USER_COUNT 20
|
||||
#endif
|
||||
|
||||
/*
|
||||
* A list of boot stages that we know about. Each of these indicates the
|
||||
* state that we are at, and the action that we are about to perform. For
|
||||
* errors, we issue an error for an item when it fails. Therefore the
|
||||
* normal sequence is:
|
||||
*
|
||||
* progress action1
|
||||
* progress action2
|
||||
* progress action3
|
||||
*
|
||||
* and an error condition where action 3 failed would be:
|
||||
*
|
||||
* progress action1
|
||||
* progress action2
|
||||
* progress action3
|
||||
* error on action3
|
||||
*/
|
||||
enum bootstage_id {
|
||||
BOOTSTAGE_ID_START = 0,
|
||||
BOOTSTAGE_ID_CHECK_MAGIC, /* Checking image magic */
|
||||
BOOTSTAGE_ID_CHECK_HEADER, /* Checking image header */
|
||||
BOOTSTAGE_ID_CHECK_CHECKSUM, /* Checking image checksum */
|
||||
BOOTSTAGE_ID_CHECK_ARCH, /* Checking architecture */
|
||||
|
||||
BOOTSTAGE_ID_CHECK_IMAGETYPE = 5,/* Checking image type */
|
||||
BOOTSTAGE_ID_DECOMP_IMAGE, /* Decompressing image */
|
||||
BOOTSTAGE_ID_KERNEL_LOADED, /* Kernel has been loaded */
|
||||
BOOTSTAGE_ID_DECOMP_UNIMPL = 7, /* Odd decompression algorithm */
|
||||
BOOTSTAGE_ID_CHECK_BOOT_OS, /* Calling OS-specific boot function */
|
||||
BOOTSTAGE_ID_BOOT_OS_RETURNED, /* Tried to boot OS, but it returned */
|
||||
BOOTSTAGE_ID_CHECK_RAMDISK = 9, /* Checking ram disk */
|
||||
|
||||
BOOTSTAGE_ID_RD_MAGIC, /* Checking ram disk magic */
|
||||
BOOTSTAGE_ID_RD_HDR_CHECKSUM, /* Checking ram disk heder checksum */
|
||||
BOOTSTAGE_ID_RD_CHECKSUM, /* Checking ram disk checksum */
|
||||
BOOTSTAGE_ID_COPY_RAMDISK = 12, /* Copying ram disk into place */
|
||||
BOOTSTAGE_ID_RAMDISK, /* Checking for valid ramdisk */
|
||||
BOOTSTAGE_ID_NO_RAMDISK, /* No ram disk found (not an error) */
|
||||
|
||||
BOOTSTAGE_ID_RUN_OS = 15, /* Exiting U-Boot, entering OS */
|
||||
|
||||
BOOTSTAGE_ID_NEED_RESET = 30,
|
||||
BOOTSTAGE_ID_POST_FAIL, /* Post failure */
|
||||
BOOTSTAGE_ID_POST_FAIL_R, /* Post failure reported after reloc */
|
||||
|
||||
/*
|
||||
* This set is reported ony by x86, and the meaning is different. In
|
||||
* this case we are reporting completion of a particular stage.
|
||||
* This should probably change in he x86 code (which doesn't report
|
||||
* errors in any case), but discussion this can perhaps wait until we
|
||||
* have a generic board implementation.
|
||||
*/
|
||||
BOOTSTAGE_ID_BOARD_INIT_R, /* We have relocated */
|
||||
BOOTSTAGE_ID_BOARD_GLOBAL_DATA, /* Global data is set up */
|
||||
|
||||
BOOTSTAGE_ID_BOARD_INIT_SEQ, /* We completed the init sequence */
|
||||
BOOTSTAGE_ID_BOARD_FLASH, /* We have configured flash banks */
|
||||
BOOTSTAGE_ID_BOARD_FLASH_37, /* In case you didn't hear... */
|
||||
BOOTSTAGE_ID_BOARD_ENV, /* Environment is relocated & ready */
|
||||
BOOTSTAGE_ID_BOARD_PCI, /* PCI is up */
|
||||
|
||||
BOOTSTAGE_ID_BOARD_INTERRUPTS, /* Exceptions / interrupts ready */
|
||||
BOOTSTAGE_ID_BOARD_DONE, /* Board init done, off to main loop */
|
||||
/* ^^^ here ends the x86 sequence */
|
||||
|
||||
/* Boot stages related to loading a kernel from an IDE device */
|
||||
BOOTSTAGE_ID_IDE_START = 41,
|
||||
BOOTSTAGE_ID_IDE_ADDR,
|
||||
BOOTSTAGE_ID_IDE_BOOT_DEVICE,
|
||||
BOOTSTAGE_ID_IDE_TYPE,
|
||||
|
||||
BOOTSTAGE_ID_IDE_PART,
|
||||
BOOTSTAGE_ID_IDE_PART_INFO,
|
||||
BOOTSTAGE_ID_IDE_PART_TYPE,
|
||||
BOOTSTAGE_ID_IDE_PART_READ,
|
||||
BOOTSTAGE_ID_IDE_FORMAT,
|
||||
|
||||
BOOTSTAGE_ID_IDE_CHECKSUM, /* 50 */
|
||||
BOOTSTAGE_ID_IDE_READ,
|
||||
|
||||
/* Boot stages related to loading a kernel from an NAND device */
|
||||
BOOTSTAGE_ID_NAND_PART,
|
||||
BOOTSTAGE_ID_NAND_SUFFIX,
|
||||
BOOTSTAGE_ID_NAND_BOOT_DEVICE,
|
||||
BOOTSTAGE_ID_NAND_HDR_READ = 55,
|
||||
BOOTSTAGE_ID_NAND_AVAILABLE = 55,
|
||||
BOOTSTAGE_ID_NAND_TYPE = 57,
|
||||
BOOTSTAGE_ID_NAND_READ,
|
||||
|
||||
/* Boot stages related to loading a kernel from an network device */
|
||||
BOOTSTAGE_ID_NET_CHECKSUM = 60,
|
||||
BOOTSTAGE_ID_NET_ETH_START = 64,
|
||||
BOOTSTAGE_ID_NET_ETH_INIT,
|
||||
|
||||
BOOTSTAGE_ID_NET_START = 80,
|
||||
BOOTSTAGE_ID_NET_NETLOOP_OK,
|
||||
BOOTSTAGE_ID_NET_LOADED,
|
||||
BOOTSTAGE_ID_NET_DONE_ERR,
|
||||
BOOTSTAGE_ID_NET_DONE,
|
||||
|
||||
/*
|
||||
* Boot stages related to loading a FIT image. Some of these are a
|
||||
* bit wonky.
|
||||
*/
|
||||
BOOTSTAGE_ID_FIT_FORMAT = 100,
|
||||
BOOTSTAGE_ID_FIT_NO_UNIT_NAME,
|
||||
BOOTSTAGE_ID_FIT_UNIT_NAME,
|
||||
BOOTSTAGE_ID_FIT_CONFIG,
|
||||
BOOTSTAGE_ID_FIT_CHECK_SUBIMAGE,
|
||||
BOOTSTAGE_ID_FIT_CHECK_HASH = 104,
|
||||
|
||||
BOOTSTAGE_ID_FIT_CHECK_ARCH,
|
||||
BOOTSTAGE_ID_FIT_CHECK_KERNEL,
|
||||
BOOTSTAGE_ID_FIT_CHECKED,
|
||||
|
||||
BOOTSTAGE_ID_FIT_KERNEL_INFO_ERR = 107,
|
||||
BOOTSTAGE_ID_FIT_KERNEL_INFO,
|
||||
BOOTSTAGE_ID_FIT_TYPE,
|
||||
|
||||
BOOTSTAGE_ID_FIT_COMPRESSION,
|
||||
BOOTSTAGE_ID_FIT_OS,
|
||||
BOOTSTAGE_ID_FIT_LOADADDR,
|
||||
BOOTSTAGE_ID_OVERWRITTEN,
|
||||
|
||||
BOOTSTAGE_ID_FIT_RD_FORMAT = 120,
|
||||
BOOTSTAGE_ID_FIT_RD_FORMAT_OK,
|
||||
BOOTSTAGE_ID_FIT_RD_NO_UNIT_NAME,
|
||||
BOOTSTAGE_ID_FIT_RD_UNIT_NAME,
|
||||
BOOTSTAGE_ID_FIT_RD_SUBNODE,
|
||||
|
||||
BOOTSTAGE_ID_FIT_RD_CHECK,
|
||||
BOOTSTAGE_ID_FIT_RD_HASH = 125,
|
||||
BOOTSTAGE_ID_FIT_RD_CHECK_ALL,
|
||||
BOOTSTAGE_ID_FIT_RD_GET_DATA,
|
||||
BOOTSTAGE_ID_FIT_RD_CHECK_ALL_OK = 127,
|
||||
BOOTSTAGE_ID_FIT_RD_GET_DATA_OK,
|
||||
BOOTSTAGE_ID_FIT_RD_LOAD,
|
||||
|
||||
BOOTSTAGE_ID_IDE_FIT_READ = 140,
|
||||
BOOTSTAGE_ID_IDE_FIT_READ_OK,
|
||||
|
||||
BOOTSTAGE_ID_NAND_FIT_READ = 150,
|
||||
BOOTSTAGE_ID_NAND_FIT_READ_OK,
|
||||
|
||||
/*
|
||||
* These boot stages are new, higher level, and not directly related
|
||||
* to the old boot progress numbers. They are useful for recording
|
||||
* rough boot timing information.
|
||||
*/
|
||||
BOOTSTAGE_ID_AWAKE,
|
||||
BOOTSTAGE_ID_START_UBOOT_F,
|
||||
BOOTSTAGE_ID_START_UBOOT_R,
|
||||
BOOTSTAGE_ID_USB_START,
|
||||
BOOTSTAGE_ID_ETH_START,
|
||||
BOOTSTAGE_ID_BOOTP_START,
|
||||
BOOTSTAGE_ID_BOOTP_STOP,
|
||||
BOOTSTAGE_ID_BOOTM_START,
|
||||
BOOTSTAGE_ID_BOOTM_HANDOFF,
|
||||
BOOTSTAGE_ID_MAIN_LOOP,
|
||||
BOOTSTAGE_KERNELREAD_START,
|
||||
BOOTSTAGE_KERNELREAD_STOP,
|
||||
|
||||
BOOTSTAGE_ID_CPU_AWAKE,
|
||||
BOOTSTAGE_ID_MAIN_CPU_AWAKE,
|
||||
BOOTSTAGE_ID_MAIN_CPU_READY,
|
||||
|
||||
/* a few spare for the user, from here */
|
||||
BOOTSTAGE_ID_USER,
|
||||
BOOTSTAGE_ID_COUNT = BOOTSTAGE_ID_USER + CONFIG_BOOTSTAGE_USER_COUNT,
|
||||
BOOTSTAGE_ID_ALLOC,
|
||||
};
|
||||
|
||||
/*
|
||||
* Return the time since boot in microseconds, This is needed for bootstage
|
||||
* and should be defined in CPU- or board-specific code. If undefined then
|
||||
* millisecond resolution will be used (the standard get_timer()).
|
||||
*/
|
||||
ulong timer_get_boot_us(void);
|
||||
|
||||
/*
|
||||
* Board code can implement show_boot_progress() if needed.
|
||||
*
|
||||
* @param val Progress state (enum bootstage_id), or -id if an error
|
||||
* has occurred.
|
||||
*/
|
||||
void show_boot_progress(int val);
|
||||
|
||||
#ifdef CONFIG_BOOTSTAGE
|
||||
/* This is the full bootstage implementation */
|
||||
|
||||
/*
|
||||
* Mark a time stamp for the current boot stage.
|
||||
*/
|
||||
ulong bootstage_mark(enum bootstage_id id);
|
||||
|
||||
ulong bootstage_error(enum bootstage_id id);
|
||||
|
||||
ulong bootstage_mark_name(enum bootstage_id id, const char *name);
|
||||
|
||||
/* Print a report about boot time */
|
||||
void bootstage_report(void);
|
||||
|
||||
#else
|
||||
/*
|
||||
* This is a dummy implementation which just calls show_boot_progress(),
|
||||
* and won't even do that unless CONFIG_SHOW_BOOT_PROGRESS is defined
|
||||
*/
|
||||
|
||||
static inline ulong bootstage_mark(enum bootstage_id id)
|
||||
{
|
||||
show_boot_progress(id);
|
||||
return 0;
|
||||
}
|
||||
|
||||
static inline ulong bootstage_error(enum bootstage_id id)
|
||||
{
|
||||
show_boot_progress(-id);
|
||||
return 0;
|
||||
}
|
||||
|
||||
static inline ulong bootstage_mark_name(enum bootstage_id id, const char *name)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
#endif /* CONFIG_BOOTSTAGE */
|
||||
|
||||
#endif
|
||||
|
|
@ -0,0 +1,36 @@
|
|||
/*
|
||||
* (C) Copyright 2005-2009
|
||||
* Jens Scharsig @ BuS Elektronik GmbH & Co. KG, <esw@bus-elektronik.de>
|
||||
*
|
||||
* See file CREDITS for list of people who contributed to this
|
||||
* project.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of
|
||||
* the License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston,
|
||||
* MA 02111-1307 USA
|
||||
*/
|
||||
|
||||
#ifndef __BUS_VCXK_H_
|
||||
#define __BUS_VCXK_H_
|
||||
|
||||
extern int vcxk_init(unsigned long width, unsigned long height);
|
||||
extern void vcxk_setpixel(int x, int y, unsigned long color);
|
||||
extern int vcxk_acknowledge_wait(void);
|
||||
extern int vcxk_request(void);
|
||||
extern void vcxk_loadimage(ulong source);
|
||||
extern int vcxk_display_bitmap(ulong addr, int x, int y);
|
||||
extern void vcxk_setbrightness(unsigned int side, short brightness);
|
||||
extern int video_display_bitmap(ulong addr, int x, int y);
|
||||
|
||||
#endif
|
||||
329
common/package/utils/sysupgrade-helper/src/include/bzlib.h
Normal file
329
common/package/utils/sysupgrade-helper/src/include/bzlib.h
Normal file
|
|
@ -0,0 +1,329 @@
|
|||
/*
|
||||
* This file is a modified version of bzlib.h from the bzip2-1.0.2
|
||||
* distribution which can be found at http://sources.redhat.com/bzip2/
|
||||
*/
|
||||
|
||||
/*-------------------------------------------------------------*/
|
||||
/*--- Public header file for the library. ---*/
|
||||
/*--- bzlib.h ---*/
|
||||
/*-------------------------------------------------------------*/
|
||||
|
||||
/*--
|
||||
This file is a part of bzip2 and/or libbzip2, a program and
|
||||
library for lossless, block-sorting data compression.
|
||||
|
||||
Copyright (C) 1996-2002 Julian R Seward. All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions
|
||||
are met:
|
||||
|
||||
1. Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
|
||||
2. The origin of this software must not be misrepresented; you must
|
||||
not claim that you wrote the original software. If you use this
|
||||
software in a product, an acknowledgment in the product
|
||||
documentation would be appreciated but is not required.
|
||||
|
||||
3. Altered source versions must be plainly marked as such, and must
|
||||
not be misrepresented as being the original software.
|
||||
|
||||
4. The name of the author may not be used to endorse or promote
|
||||
products derived from this software without specific prior written
|
||||
permission.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
|
||||
OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
|
||||
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
|
||||
GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
|
||||
WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
||||
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
Julian Seward, Cambridge, UK.
|
||||
jseward@acm.org
|
||||
bzip2/libbzip2 version 1.0 of 21 March 2000
|
||||
|
||||
This program is based on (at least) the work of:
|
||||
Mike Burrows
|
||||
David Wheeler
|
||||
Peter Fenwick
|
||||
Alistair Moffat
|
||||
Radford Neal
|
||||
Ian H. Witten
|
||||
Robert Sedgewick
|
||||
Jon L. Bentley
|
||||
|
||||
For more information on these sources, see the manual.
|
||||
--*/
|
||||
|
||||
|
||||
#ifndef _BZLIB_H
|
||||
#define _BZLIB_H
|
||||
|
||||
/* Configure for U-Boot environment */
|
||||
#define BZ_NO_STDIO
|
||||
#define BZ_NO_COMPRESS
|
||||
/* End of configuration for U-Boot environment */
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#define BZ_RUN 0
|
||||
#define BZ_FLUSH 1
|
||||
#define BZ_FINISH 2
|
||||
|
||||
#define BZ_OK 0
|
||||
#define BZ_RUN_OK 1
|
||||
#define BZ_FLUSH_OK 2
|
||||
#define BZ_FINISH_OK 3
|
||||
#define BZ_STREAM_END 4
|
||||
#define BZ_SEQUENCE_ERROR (-1)
|
||||
#define BZ_PARAM_ERROR (-2)
|
||||
#define BZ_MEM_ERROR (-3)
|
||||
#define BZ_DATA_ERROR (-4)
|
||||
#define BZ_DATA_ERROR_MAGIC (-5)
|
||||
#define BZ_IO_ERROR (-6)
|
||||
#define BZ_UNEXPECTED_EOF (-7)
|
||||
#define BZ_OUTBUFF_FULL (-8)
|
||||
#define BZ_CONFIG_ERROR (-9)
|
||||
|
||||
typedef
|
||||
struct {
|
||||
char *next_in;
|
||||
unsigned int avail_in;
|
||||
unsigned int total_in_lo32;
|
||||
unsigned int total_in_hi32;
|
||||
|
||||
char *next_out;
|
||||
unsigned int avail_out;
|
||||
unsigned int total_out_lo32;
|
||||
unsigned int total_out_hi32;
|
||||
|
||||
void *state;
|
||||
|
||||
void *(*bzalloc)(void *,int,int);
|
||||
void (*bzfree)(void *,void *);
|
||||
void *opaque;
|
||||
}
|
||||
bz_stream;
|
||||
|
||||
|
||||
#ifndef BZ_IMPORT
|
||||
#define BZ_EXPORT
|
||||
#endif
|
||||
|
||||
#ifdef _WIN32
|
||||
# include <windows.h>
|
||||
# ifdef small
|
||||
/* windows.h define small to char */
|
||||
# undef small
|
||||
# endif
|
||||
# ifdef BZ_EXPORT
|
||||
# define BZ_API(func) WINAPI func
|
||||
# define BZ_EXTERN extern
|
||||
# else
|
||||
/* import windows dll dynamically */
|
||||
# define BZ_API(func) (WINAPI * func)
|
||||
# define BZ_EXTERN
|
||||
# endif
|
||||
#else
|
||||
# define BZ_API(func) func
|
||||
# define BZ_EXTERN extern
|
||||
#endif
|
||||
|
||||
|
||||
/*-- Core (low-level) library functions --*/
|
||||
|
||||
BZ_EXTERN int BZ_API(BZ2_bzCompressInit) (
|
||||
bz_stream* strm,
|
||||
int blockSize100k,
|
||||
int verbosity,
|
||||
int workFactor
|
||||
);
|
||||
|
||||
BZ_EXTERN int BZ_API(BZ2_bzCompress) (
|
||||
bz_stream* strm,
|
||||
int action
|
||||
);
|
||||
|
||||
BZ_EXTERN int BZ_API(BZ2_bzCompressEnd) (
|
||||
bz_stream* strm
|
||||
);
|
||||
|
||||
BZ_EXTERN int BZ_API(BZ2_bzDecompressInit) (
|
||||
bz_stream *strm,
|
||||
int verbosity,
|
||||
int small
|
||||
);
|
||||
|
||||
BZ_EXTERN int BZ_API(BZ2_bzDecompress) (
|
||||
bz_stream* strm
|
||||
);
|
||||
|
||||
BZ_EXTERN int BZ_API(BZ2_bzDecompressEnd) (
|
||||
bz_stream *strm
|
||||
);
|
||||
|
||||
|
||||
/*-- High(er) level library functions --*/
|
||||
|
||||
#ifndef BZ_NO_STDIO
|
||||
#define BZ_MAX_UNUSED 5000
|
||||
|
||||
/* Need a definitition for FILE */
|
||||
#include <stdio.h>
|
||||
|
||||
typedef void BZFILE;
|
||||
|
||||
BZ_EXTERN BZFILE* BZ_API(BZ2_bzReadOpen) (
|
||||
int* bzerror,
|
||||
FILE* f,
|
||||
int verbosity,
|
||||
int small,
|
||||
void* unused,
|
||||
int nUnused
|
||||
);
|
||||
|
||||
BZ_EXTERN void BZ_API(BZ2_bzReadClose) (
|
||||
int* bzerror,
|
||||
BZFILE* b
|
||||
);
|
||||
|
||||
BZ_EXTERN void BZ_API(BZ2_bzReadGetUnused) (
|
||||
int* bzerror,
|
||||
BZFILE* b,
|
||||
void** unused,
|
||||
int* nUnused
|
||||
);
|
||||
|
||||
BZ_EXTERN int BZ_API(BZ2_bzRead) (
|
||||
int* bzerror,
|
||||
BZFILE* b,
|
||||
void* buf,
|
||||
int len
|
||||
);
|
||||
|
||||
BZ_EXTERN BZFILE* BZ_API(BZ2_bzWriteOpen) (
|
||||
int* bzerror,
|
||||
FILE* f,
|
||||
int blockSize100k,
|
||||
int verbosity,
|
||||
int workFactor
|
||||
);
|
||||
|
||||
BZ_EXTERN void BZ_API(BZ2_bzWrite) (
|
||||
int* bzerror,
|
||||
BZFILE* b,
|
||||
void* buf,
|
||||
int len
|
||||
);
|
||||
|
||||
BZ_EXTERN void BZ_API(BZ2_bzWriteClose) (
|
||||
int* bzerror,
|
||||
BZFILE* b,
|
||||
int abandon,
|
||||
unsigned int* nbytes_in,
|
||||
unsigned int* nbytes_out
|
||||
);
|
||||
|
||||
BZ_EXTERN void BZ_API(BZ2_bzWriteClose64) (
|
||||
int* bzerror,
|
||||
BZFILE* b,
|
||||
int abandon,
|
||||
unsigned int* nbytes_in_lo32,
|
||||
unsigned int* nbytes_in_hi32,
|
||||
unsigned int* nbytes_out_lo32,
|
||||
unsigned int* nbytes_out_hi32
|
||||
);
|
||||
#endif
|
||||
|
||||
|
||||
/*-- Utility functions --*/
|
||||
|
||||
BZ_EXTERN int BZ_API(BZ2_bzBuffToBuffCompress) (
|
||||
char* dest,
|
||||
unsigned int* destLen,
|
||||
char* source,
|
||||
unsigned int sourceLen,
|
||||
int blockSize100k,
|
||||
int verbosity,
|
||||
int workFactor
|
||||
);
|
||||
|
||||
BZ_EXTERN int BZ_API(BZ2_bzBuffToBuffDecompress) (
|
||||
char* dest,
|
||||
unsigned int* destLen,
|
||||
char* source,
|
||||
unsigned int sourceLen,
|
||||
int small,
|
||||
int verbosity
|
||||
);
|
||||
|
||||
|
||||
/*--
|
||||
Code contributed by Yoshioka Tsuneo
|
||||
(QWF00133@niftyserve.or.jp/tsuneo-y@is.aist-nara.ac.jp),
|
||||
to support better zlib compatibility.
|
||||
This code is not _officially_ part of libbzip2 (yet);
|
||||
I haven't tested it, documented it, or considered the
|
||||
threading-safeness of it.
|
||||
If this code breaks, please contact both Yoshioka and me.
|
||||
--*/
|
||||
|
||||
BZ_EXTERN const char * BZ_API(BZ2_bzlibVersion) (
|
||||
void
|
||||
);
|
||||
|
||||
#ifndef BZ_NO_STDIO
|
||||
BZ_EXTERN BZFILE * BZ_API(BZ2_bzopen) (
|
||||
const char *path,
|
||||
const char *mode
|
||||
);
|
||||
|
||||
BZ_EXTERN BZFILE * BZ_API(BZ2_bzdopen) (
|
||||
int fd,
|
||||
const char *mode
|
||||
);
|
||||
|
||||
BZ_EXTERN int BZ_API(BZ2_bzread) (
|
||||
BZFILE* b,
|
||||
void* buf,
|
||||
int len
|
||||
);
|
||||
|
||||
BZ_EXTERN int BZ_API(BZ2_bzwrite) (
|
||||
BZFILE* b,
|
||||
void* buf,
|
||||
int len
|
||||
);
|
||||
|
||||
BZ_EXTERN int BZ_API(BZ2_bzflush) (
|
||||
BZFILE* b
|
||||
);
|
||||
|
||||
BZ_EXTERN void BZ_API(BZ2_bzclose) (
|
||||
BZFILE* b
|
||||
);
|
||||
|
||||
BZ_EXTERN const char * BZ_API(BZ2_bzerror) (
|
||||
BZFILE *b,
|
||||
int *errnum
|
||||
);
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
/*-------------------------------------------------------------*/
|
||||
/*--- end bzlib.h ---*/
|
||||
/*-------------------------------------------------------------*/
|
||||
40
common/package/utils/sysupgrade-helper/src/include/circbuf.h
Normal file
40
common/package/utils/sysupgrade-helper/src/include/circbuf.h
Normal file
|
|
@ -0,0 +1,40 @@
|
|||
/*
|
||||
* (C) Copyright 2003
|
||||
* Gerry Hamel, geh@ti.com, Texas Instruments
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef __CIRCBUF_H__
|
||||
#define __CIRCBUF_H__
|
||||
|
||||
typedef struct circbuf {
|
||||
unsigned int size; /* current number of bytes held */
|
||||
unsigned int totalsize; /* number of bytes allocated */
|
||||
|
||||
char *top; /* pointer to current buffer start */
|
||||
char *tail; /* pointer to space for next element */
|
||||
|
||||
char *data; /* all data */
|
||||
char *end; /* end of data buffer */
|
||||
} circbuf_t;
|
||||
|
||||
int buf_init (circbuf_t * buf, unsigned int size);
|
||||
int buf_free (circbuf_t * buf);
|
||||
int buf_pop (circbuf_t * buf, char *dest, unsigned int len);
|
||||
int buf_push (circbuf_t * buf, const char *src, unsigned int len);
|
||||
|
||||
#endif
|
||||
276
common/package/utils/sysupgrade-helper/src/include/clps7111.h
Normal file
276
common/package/utils/sysupgrade-helper/src/include/clps7111.h
Normal file
|
|
@ -0,0 +1,276 @@
|
|||
/*
|
||||
* linux/include/asm-arm/hardware/clps7111.h
|
||||
*
|
||||
* This file contains the hardware definitions of the CLPS7111 internal
|
||||
* registers.
|
||||
*
|
||||
* Copyright (C) 2000 Deep Blue Solutions Ltd.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*/
|
||||
#ifndef __ASM_HARDWARE_CLPS7111_H
|
||||
#define __ASM_HARDWARE_CLPS7111_H
|
||||
|
||||
#define CLPS7111_PHYS_BASE (0x80000000)
|
||||
|
||||
#ifndef __ASSEMBLY__
|
||||
#define clps_readb(off) __raw_readb(CLPS7111_BASE + (off))
|
||||
#define clps_readl(off) __raw_readl(CLPS7111_BASE + (off))
|
||||
#define clps_writeb(val,off) __raw_writeb(val, CLPS7111_BASE + (off))
|
||||
#define clps_writel(val,off) __raw_writel(val, CLPS7111_BASE + (off))
|
||||
#endif
|
||||
|
||||
#define PADR (0x0000)
|
||||
#define PBDR (0x0001)
|
||||
#define PDDR (0x0003)
|
||||
#define PADDR (0x0040)
|
||||
#define PBDDR (0x0041)
|
||||
#define PDDDR (0x0043)
|
||||
#define PEDR (0x0080)
|
||||
#define PEDDR (0x00c0)
|
||||
#define SYSCON1 (0x0100)
|
||||
#define SYSFLG1 (0x0140)
|
||||
#define MEMCFG1 (0x0180)
|
||||
#define MEMCFG2 (0x01c0)
|
||||
#define DRFPR (0x0200)
|
||||
#define INTSR1 (0x0240)
|
||||
#define INTMR1 (0x0280)
|
||||
#define LCDCON (0x02c0)
|
||||
#define TC1D (0x0300)
|
||||
#define TC2D (0x0340)
|
||||
#define RTCDR (0x0380)
|
||||
#define RTCMR (0x03c0)
|
||||
#define PMPCON (0x0400)
|
||||
#define CODR (0x0440)
|
||||
#define UARTDR1 (0x0480)
|
||||
#define UBRLCR1 (0x04c0)
|
||||
#define SYNCIO (0x0500)
|
||||
#define PALLSW (0x0540)
|
||||
#define PALMSW (0x0580)
|
||||
#define STFCLR (0x05c0)
|
||||
#define BLEOI (0x0600)
|
||||
#define MCEOI (0x0640)
|
||||
#define TEOI (0x0680)
|
||||
#define TC1EOI (0x06c0)
|
||||
#define TC2EOI (0x0700)
|
||||
#define RTCEOI (0x0740)
|
||||
#define UMSEOI (0x0780)
|
||||
#define COEOI (0x07c0)
|
||||
#define HALT (0x0800)
|
||||
#define STDBY (0x0840)
|
||||
|
||||
#define FBADDR (0x1000)
|
||||
#define SYSCON2 (0x1100)
|
||||
#define SYSFLG2 (0x1140)
|
||||
#define INTSR2 (0x1240)
|
||||
#define INTMR2 (0x1280)
|
||||
#define UARTDR2 (0x1480)
|
||||
#define UBRLCR2 (0x14c0)
|
||||
#define SS2DR (0x1500)
|
||||
#define SRXEOF (0x1600)
|
||||
#define SS2POP (0x16c0)
|
||||
#define KBDEOI (0x1700)
|
||||
|
||||
/* common bits: SYSCON1 / SYSCON2 */
|
||||
#define SYSCON_UARTEN (1 << 8)
|
||||
|
||||
#define SYSCON1_KBDSCAN(x) ((x) & 15)
|
||||
#define SYSCON1_KBDSCANMASK (15)
|
||||
#define SYSCON1_TC1M (1 << 4)
|
||||
#define SYSCON1_TC1S (1 << 5)
|
||||
#define SYSCON1_TC2M (1 << 6)
|
||||
#define SYSCON1_TC2S (1 << 7)
|
||||
#define SYSCON1_UART1EN SYSCON_UARTEN
|
||||
#define SYSCON1_BZTOG (1 << 9)
|
||||
#define SYSCON1_BZMOD (1 << 10)
|
||||
#define SYSCON1_DBGEN (1 << 11)
|
||||
#define SYSCON1_LCDEN (1 << 12)
|
||||
#define SYSCON1_CDENTX (1 << 13)
|
||||
#define SYSCON1_CDENRX (1 << 14)
|
||||
#define SYSCON1_SIREN (1 << 15)
|
||||
#define SYSCON1_ADCKSEL(x) (((x) & 3) << 16)
|
||||
#define SYSCON1_ADCKSEL_MASK (3 << 16)
|
||||
#define SYSCON1_EXCKEN (1 << 18)
|
||||
#define SYSCON1_WAKEDIS (1 << 19)
|
||||
#define SYSCON1_IRTXM (1 << 20)
|
||||
|
||||
/* common bits: SYSFLG1 / SYSFLG2 */
|
||||
#define SYSFLG_UBUSY (1 << 11)
|
||||
#define SYSFLG_URXFE (1 << 22)
|
||||
#define SYSFLG_UTXFF (1 << 23)
|
||||
|
||||
#define SYSFLG1_MCDR (1 << 0)
|
||||
#define SYSFLG1_DCDET (1 << 1)
|
||||
#define SYSFLG1_WUDR (1 << 2)
|
||||
#define SYSFLG1_WUON (1 << 3)
|
||||
#define SYSFLG1_CTS (1 << 8)
|
||||
#define SYSFLG1_DSR (1 << 9)
|
||||
#define SYSFLG1_DCD (1 << 10)
|
||||
#define SYSFLG1_UBUSY SYSFLG_UBUSY
|
||||
#define SYSFLG1_NBFLG (1 << 12)
|
||||
#define SYSFLG1_RSTFLG (1 << 13)
|
||||
#define SYSFLG1_PFFLG (1 << 14)
|
||||
#define SYSFLG1_CLDFLG (1 << 15)
|
||||
#define SYSFLG1_URXFE SYSFLG_URXFE
|
||||
#define SYSFLG1_UTXFF SYSFLG_UTXFF
|
||||
#define SYSFLG1_CRXFE (1 << 24)
|
||||
#define SYSFLG1_CTXFF (1 << 25)
|
||||
#define SYSFLG1_SSIBUSY (1 << 26)
|
||||
#define SYSFLG1_ID (1 << 29)
|
||||
|
||||
#define SYSFLG2_SSRXOF (1 << 0)
|
||||
#define SYSFLG2_RESVAL (1 << 1)
|
||||
#define SYSFLG2_RESFRM (1 << 2)
|
||||
#define SYSFLG2_SS2RXFE (1 << 3)
|
||||
#define SYSFLG2_SS2TXFF (1 << 4)
|
||||
#define SYSFLG2_SS2TXUF (1 << 5)
|
||||
#define SYSFLG2_CKMODE (1 << 6)
|
||||
#define SYSFLG2_UBUSY SYSFLG_UBUSY
|
||||
#define SYSFLG2_URXFE SYSFLG_URXFE
|
||||
#define SYSFLG2_UTXFF SYSFLG_UTXFF
|
||||
|
||||
#define LCDCON_GSEN (1 << 30)
|
||||
#define LCDCON_GSMD (1 << 31)
|
||||
|
||||
#define SYSCON2_SERSEL (1 << 0)
|
||||
#define SYSCON2_KBD6 (1 << 1)
|
||||
#define SYSCON2_DRAMZ (1 << 2)
|
||||
#define SYSCON2_KBWEN (1 << 3)
|
||||
#define SYSCON2_SS2TXEN (1 << 4)
|
||||
#define SYSCON2_PCCARD1 (1 << 5)
|
||||
#define SYSCON2_PCCARD2 (1 << 6)
|
||||
#define SYSCON2_SS2RXEN (1 << 7)
|
||||
#define SYSCON2_UART2EN SYSCON_UARTEN
|
||||
#define SYSCON2_SS2MAEN (1 << 9)
|
||||
#define SYSCON2_OSTB (1 << 12)
|
||||
#define SYSCON2_CLKENSL (1 << 13)
|
||||
#define SYSCON2_BUZFREQ (1 << 14)
|
||||
|
||||
/* common bits: UARTDR1 / UARTDR2 */
|
||||
#define UARTDR_FRMERR (1 << 8)
|
||||
#define UARTDR_PARERR (1 << 9)
|
||||
#define UARTDR_OVERR (1 << 10)
|
||||
|
||||
/* common bits: UBRLCR1 / UBRLCR2 */
|
||||
#define UBRLCR_BAUD_MASK ((1 << 12) - 1)
|
||||
#define UBRLCR_BREAK (1 << 12)
|
||||
#define UBRLCR_PRTEN (1 << 13)
|
||||
#define UBRLCR_EVENPRT (1 << 14)
|
||||
#define UBRLCR_XSTOP (1 << 15)
|
||||
#define UBRLCR_FIFOEN (1 << 16)
|
||||
#define UBRLCR_WRDLEN5 (0 << 17)
|
||||
#define UBRLCR_WRDLEN6 (1 << 17)
|
||||
#define UBRLCR_WRDLEN7 (2 << 17)
|
||||
#define UBRLCR_WRDLEN8 (3 << 17)
|
||||
#define UBRLCR_WRDLEN_MASK (3 << 17)
|
||||
|
||||
#define SYNCIO_SMCKEN (1 << 13)
|
||||
#define SYNCIO_TXFRMEN (1 << 14)
|
||||
|
||||
#define SYSCON3 0x2200 /* System Control register 3 ----------------------- */
|
||||
#define ADCCON 0x00000001 /* ADC configuration */
|
||||
#define CLKCTL 0x00000006 /* processor clock control */
|
||||
#define CLKCTL_18 0x0 /* 18.432 MHz */
|
||||
#define CLKCTL_36 0x2 /* 36.864 MHz */
|
||||
#define CLKCTL_49 0x4 /* 49.152 MHz */
|
||||
#define CLKCTL_73 0x6 /* 73.728 MHz */
|
||||
#define MCPSEL 0x00000008 /* MCP select */
|
||||
#define ADCCKNSEN 0x000010 /* ADC clock sense */
|
||||
#define VERSN 0x000000e0 /* additional version bits */
|
||||
#define VERSN_SHIFT 5
|
||||
#define FASTWAKE 0x0000100 /* Wakeup clock select: 0=8Hz, 1=4kHz */
|
||||
|
||||
#define INTSR3 0x2240 /* Interrupt Status register 3 --------------------- */
|
||||
#define MCPINT 0x00000001 /* MCP interface interrupt (FIQ) */
|
||||
|
||||
#define INTMR3 0x2280 /* Interrupt Mask register 3 ----------------------- */
|
||||
#define LEDFLSH 0x22C0 /* LED Flash control register ---------------------- */
|
||||
#define LEDFLSH_RATE 0x03 /* flash rate */
|
||||
#define LEDFLSH_RATE_SHIFT 0
|
||||
#define LEDFLSH_DUTY 0x3c /* duty ratio */
|
||||
#define LEDFLSH_DUTY_SHIFT 2
|
||||
#define LEDFLSH_ENABLE 0x40 /* enable */
|
||||
|
||||
#define IO_START CLPS7111_PHYS_BASE
|
||||
|
||||
#define IO(offset) (IO_START + (offset))
|
||||
|
||||
#define IO_BYTE(offset) (*(volatile unsigned char *)(IO_START + (offset)))
|
||||
#define IO_WORD(offset) (*(volatile unsigned long *)(IO_START + (offset)))
|
||||
|
||||
#define IO_PADR IO_BYTE(PADR)
|
||||
#define IO_PBDR IO_BYTE(PBDR)
|
||||
#define IO_PDDR IO_BYTE(PDDR)
|
||||
#define IO_PADDR IO_BYTE(PADDR)
|
||||
#define IO_PBDDR IO_BYTE(PBDDR)
|
||||
#define IO_PDDDR IO_BYTE(PDDDR)
|
||||
#define IO_PEDR IO_BYTE(PEDR)
|
||||
#define IO_PEDDR IO_BYTE(PEDDR)
|
||||
#define IO_SYSCON IO_WORD(SYSCON)
|
||||
#define IO_SYSFLG IO_WORD(SYSFLG)
|
||||
#define IO_MEMCFG1 IO_WORD(MEMCFG1)
|
||||
#define IO_MEMCFG2 IO_WORD(MEMCFG2)
|
||||
#define IO_DRFPR IO_WORD(DRFPR)
|
||||
#define IO_INTSR IO_WORD(INTSR)
|
||||
#define IO_INTMR IO_WORD(INTMR)
|
||||
#define IO_LCDCON IO_WORD(LCDCON)
|
||||
#define IO_TC1D IO_WORD(TC1D)
|
||||
#define IO_TC2D IO_WORD(TC2D)
|
||||
#define IO_RTCDR IO_WORD(RTCDR)
|
||||
#define IO_RTCMR IO_WORD(RTCMR)
|
||||
#define IO_PMPCON IO_WORD(PMPCON)
|
||||
#define IO_CODR IO_BYTE(CODR)
|
||||
#define IO_UARTDR IO_WORD(UARTDR)
|
||||
#define IO_UBRLCR IO_WORD(UBRLCR)
|
||||
#define IO_SYNCIO IO_WORD(SYNCIO)
|
||||
#define IO_PALLSW IO_WORD(PALLSW)
|
||||
#define IO_PALMSW IO_WORD(PALMSW)
|
||||
#define IO_STFCLR IO_WORD(STFCLR)
|
||||
#define IO_BLEOI IO_WORD(BLEOI)
|
||||
#define IO_MCEOI IO_WORD(MCEOI)
|
||||
#define IO_TEOI IO_WORD(TEOI)
|
||||
#define IO_TC1EOI IO_WORD(TC1EOI)
|
||||
#define IO_TC2EOI IO_WORD(TC2EOI)
|
||||
#define IO_RTCEOI IO_WORD(RTCEOI)
|
||||
#define IO_UMSEOI IO_WORD(UMSEOI)
|
||||
#define IO_COEOI IO_WORD(COEOI)
|
||||
#define IO_HALT IO_WORD(HALT)
|
||||
#define IO_STDBY IO_WORD(STDBY)
|
||||
#define IO_SYSCON1 IO_WORD(SYSCON1)
|
||||
#define IO_SYSFLG1 IO_WORD(SYSFLG1)
|
||||
#define IO_INTSR1 IO_WORD(INTSR1)
|
||||
#define IO_INTMR1 IO_WORD(INTMR1)
|
||||
#define IO_UARTDR1 IO_WORD(UARTDR1)
|
||||
#define IO_UBRLCR1 IO_WORD(UBRLCR1)
|
||||
#define IO_FRBADDR IO_WORD(FRBADDR)
|
||||
#define IO_SYSCON2 IO_WORD(SYSCON2)
|
||||
#define IO_SYSFLG2 IO_WORD(SYSFLG2)
|
||||
#define IO_INTSR2 IO_WORD(INTSR2)
|
||||
#define IO_INTMR2 IO_WORD(INTMR2)
|
||||
#define IO_UARTDR2 IO_WORD(UARTDR2)
|
||||
#define IO_UBRLCR2 IO_WORD(UBRLCR2)
|
||||
#define IO_KBDEOI IO_WORD(KBDEOI)
|
||||
|
||||
#define IO_MCCR IO_WORD(MCCR)
|
||||
#define IO_MCDR0 IO_WORD(MCDR0)
|
||||
#define IO_MCDR1 IO_WORD(MCDR1)
|
||||
#define IO_MCDR2 IO_WORD(MCDR2)
|
||||
#define IO_MCSR IO_WORD(MCSR)
|
||||
#define IO_SYSCON3 IO_WORD(SYSCON3)
|
||||
#define IO_INTSR3 IO_WORD(INTSR3)
|
||||
#define IO_INTMR3 IO_WORD(INTMR3)
|
||||
#define IO_LEDFLSH IO_WORD(LEDFLSH)
|
||||
|
||||
#endif /* __ASM_HARDWARE_CLPS7111_H */
|
||||
31
common/package/utils/sysupgrade-helper/src/include/cmd_spl.h
Normal file
31
common/package/utils/sysupgrade-helper/src/include/cmd_spl.h
Normal file
|
|
@ -0,0 +1,31 @@
|
|||
/* Copyright (C) 2011
|
||||
* Corscience GmbH & Co. KG - Simon Schwarz <schwarz@corscience.de>
|
||||
*
|
||||
* See file CREDITS for list of people who contributed to this
|
||||
* project.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of
|
||||
* the License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston,
|
||||
* MA 02111-1307 USA
|
||||
*/
|
||||
#ifndef _NAND_SPL_H_
|
||||
#define _NAND_SPL_H_
|
||||
|
||||
#define SPL_EXPORT (0x00000001)
|
||||
|
||||
#define SPL_EXPORT_FDT (0x00000001)
|
||||
#define SPL_EXPORT_ATAGS (0x00000002)
|
||||
#define SPL_EXPORT_LAST SPL_EXPORT_ATAGS
|
||||
|
||||
#endif /* _NAND_SPL_H_ */
|
||||
183
common/package/utils/sysupgrade-helper/src/include/command.h
Normal file
183
common/package/utils/sysupgrade-helper/src/include/command.h
Normal file
|
|
@ -0,0 +1,183 @@
|
|||
/*
|
||||
* (C) Copyright 2000-2009
|
||||
* Wolfgang Denk, DENX Software Engineering, wd@denx.de.
|
||||
*
|
||||
* See file CREDITS for list of people who contributed to this
|
||||
* project.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of
|
||||
* the License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston,
|
||||
* MA 02111-1307 USA
|
||||
*/
|
||||
|
||||
/*
|
||||
* Definitions for Command Processor
|
||||
*/
|
||||
#ifndef __COMMAND_H
|
||||
#define __COMMAND_H
|
||||
|
||||
#include <config.h>
|
||||
|
||||
#ifndef NULL
|
||||
#define NULL 0
|
||||
#endif
|
||||
|
||||
/* Default to a width of 8 characters for help message command width */
|
||||
#ifndef CONFIG_SYS_HELP_CMD_WIDTH
|
||||
#define CONFIG_SYS_HELP_CMD_WIDTH 8
|
||||
#endif
|
||||
|
||||
#ifndef __ASSEMBLY__
|
||||
/*
|
||||
* Monitor Command Table
|
||||
*/
|
||||
|
||||
struct cmd_tbl_s {
|
||||
char *name; /* Command Name */
|
||||
int maxargs; /* maximum number of arguments */
|
||||
int repeatable; /* autorepeat allowed? */
|
||||
/* Implementation function */
|
||||
int (*cmd)(struct cmd_tbl_s *, int, int, char * const []);
|
||||
char *usage; /* Usage message (short) */
|
||||
#ifdef CONFIG_SYS_LONGHELP
|
||||
char *help; /* Help message (long) */
|
||||
#endif
|
||||
#ifdef CONFIG_AUTO_COMPLETE
|
||||
/* do auto completion on the arguments */
|
||||
int (*complete)(int argc, char * const argv[], char last_char, int maxv, char *cmdv[]);
|
||||
#endif
|
||||
};
|
||||
|
||||
typedef struct cmd_tbl_s cmd_tbl_t;
|
||||
|
||||
extern cmd_tbl_t __u_boot_cmd_start;
|
||||
extern cmd_tbl_t __u_boot_cmd_end;
|
||||
|
||||
#if defined(CONFIG_CMD_RUN)
|
||||
extern int do_run(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]);
|
||||
#endif
|
||||
|
||||
/* common/command.c */
|
||||
int _do_help (cmd_tbl_t *cmd_start, int cmd_items, cmd_tbl_t * cmdtp, int
|
||||
flag, int argc, char * const argv[]);
|
||||
cmd_tbl_t *find_cmd(const char *cmd);
|
||||
cmd_tbl_t *find_cmd_tbl (const char *cmd, cmd_tbl_t *table, int table_len);
|
||||
|
||||
extern int cmd_usage(const cmd_tbl_t *cmdtp);
|
||||
|
||||
#ifdef CONFIG_AUTO_COMPLETE
|
||||
extern int var_complete(int argc, char * const argv[], char last_char, int maxv, char *cmdv[]);
|
||||
extern int cmd_auto_complete(const char *const prompt, char *buf, int *np, int *colp);
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Monitor Command
|
||||
*
|
||||
* All commands use a common argument format:
|
||||
*
|
||||
* void function (cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]);
|
||||
*/
|
||||
|
||||
#if defined(CONFIG_CMD_MEMORY) \
|
||||
|| defined(CONFIG_CMD_I2C) \
|
||||
|| defined(CONFIG_CMD_ITEST) \
|
||||
|| defined(CONFIG_CMD_PCI) \
|
||||
|| defined(CONFIG_CMD_PORTIO)
|
||||
#define CMD_DATA_SIZE
|
||||
extern int cmd_get_data_size(char* arg, int default_size);
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_CMD_BOOTD
|
||||
extern int do_bootd(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]);
|
||||
#endif
|
||||
#ifdef CONFIG_CMD_BOOTM
|
||||
extern int do_bootm(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]);
|
||||
extern int bootm_maybe_autostart(cmd_tbl_t *cmdtp, const char *cmd);
|
||||
#else
|
||||
static inline int bootm_maybe_autostart(cmd_tbl_t *cmdtp, const char *cmd)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
#endif
|
||||
extern int do_reset(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]);
|
||||
|
||||
/*
|
||||
* Error codes that commands return to cmd_process(). We use the standard 0
|
||||
* and 1 for success and failure, but add one more case - failure with a
|
||||
* request to call cmd_usage(). But the cmd_process() function handles
|
||||
* CMD_RET_USAGE itself and after calling cmd_usage() it will return 1.
|
||||
* This is just a convenience for commands to avoid them having to call
|
||||
* cmd_usage() all over the place.
|
||||
*/
|
||||
enum command_ret_t {
|
||||
CMD_RET_SUCCESS, /* 0 = Success */
|
||||
CMD_RET_FAILURE, /* 1 = Failure */
|
||||
CMD_RET_USAGE = -1, /* Failure, please report 'usage' error */
|
||||
};
|
||||
|
||||
/**
|
||||
* Process a command with arguments. We look up the command and execute it
|
||||
* if valid. Otherwise we print a usage message.
|
||||
*
|
||||
* @param flag Some flags normally 0 (see CMD_FLAG_.. above)
|
||||
* @param argc Number of arguments (arg 0 must be the command text)
|
||||
* @param argv Arguments
|
||||
* @param repeatable This function sets this to 0 if the command is not
|
||||
* repeatable. If the command is repeatable, the value
|
||||
* is left unchanged.
|
||||
* @return 0 if the command succeeded, 1 if it failed
|
||||
*/
|
||||
int cmd_process(int flag, int argc, char * const argv[],
|
||||
int *repeatable);
|
||||
|
||||
#endif /* __ASSEMBLY__ */
|
||||
|
||||
/*
|
||||
* Command Flags:
|
||||
*/
|
||||
#define CMD_FLAG_REPEAT 0x0001 /* repeat last command */
|
||||
#define CMD_FLAG_BOOTD 0x0002 /* command is from bootd */
|
||||
|
||||
#define Struct_Section __attribute__((unused, section(".u_boot_cmd"), \
|
||||
aligned(4)))
|
||||
|
||||
#ifdef CONFIG_AUTO_COMPLETE
|
||||
# define _CMD_COMPLETE(x) x,
|
||||
#else
|
||||
# define _CMD_COMPLETE(x)
|
||||
#endif
|
||||
#ifdef CONFIG_SYS_LONGHELP
|
||||
# define _CMD_HELP(x) x,
|
||||
#else
|
||||
# define _CMD_HELP(x)
|
||||
#endif
|
||||
|
||||
#define U_BOOT_CMD_MKENT_COMPLETE(name,maxargs,rep,cmd,usage,help,comp) \
|
||||
{#name, maxargs, rep, cmd, usage, _CMD_HELP(help) _CMD_COMPLETE(comp)}
|
||||
|
||||
#define U_BOOT_CMD_MKENT(name,maxargs,rep,cmd,usage,help) \
|
||||
U_BOOT_CMD_MKENT_COMPLETE(name,maxargs,rep,cmd,usage,help,NULL)
|
||||
|
||||
#define U_BOOT_CMD_COMPLETE(name,maxargs,rep,cmd,usage,help,comp) \
|
||||
cmd_tbl_t __u_boot_cmd_##name Struct_Section = \
|
||||
U_BOOT_CMD_MKENT_COMPLETE(name,maxargs,rep,cmd,usage,help,comp)
|
||||
|
||||
#define U_BOOT_CMD(name,maxargs,rep,cmd,usage,help) \
|
||||
U_BOOT_CMD_COMPLETE(name,maxargs,rep,cmd,usage,help,NULL)
|
||||
|
||||
#if defined(CONFIG_NEEDS_MANUAL_RELOC)
|
||||
void fixup_cmdtable(cmd_tbl_t *cmdtp, int size);
|
||||
#endif
|
||||
|
||||
#endif /* __COMMAND_H */
|
||||
983
common/package/utils/sysupgrade-helper/src/include/common.h
Normal file
983
common/package/utils/sysupgrade-helper/src/include/common.h
Normal file
|
|
@ -0,0 +1,983 @@
|
|||
/*
|
||||
* (C) Copyright 2000-2009
|
||||
* Wolfgang Denk, DENX Software Engineering, wd@denx.de.
|
||||
*
|
||||
* See file CREDITS for list of people who contributed to this
|
||||
* project.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of
|
||||
* the License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston,
|
||||
* MA 02111-1307 USA
|
||||
*/
|
||||
|
||||
#ifndef __COMMON_H_
|
||||
#define __COMMON_H_ 1
|
||||
|
||||
#undef _LINUX_CONFIG_H
|
||||
#define _LINUX_CONFIG_H 1 /* avoid reading Linux autoconf.h file */
|
||||
|
||||
#ifndef __ASSEMBLY__ /* put C only stuff in this section */
|
||||
|
||||
typedef unsigned char uchar;
|
||||
typedef volatile unsigned long vu_long;
|
||||
typedef volatile unsigned short vu_short;
|
||||
typedef volatile unsigned char vu_char;
|
||||
|
||||
#include <config.h>
|
||||
#include <asm-offsets.h>
|
||||
#include <linux/bitops.h>
|
||||
#include <linux/types.h>
|
||||
#include <linux/string.h>
|
||||
#include <linux/compiler.h>
|
||||
#include <asm/ptrace.h>
|
||||
#include <stdarg.h>
|
||||
#if defined(CONFIG_PCI) && (defined(CONFIG_4xx) && !defined(CONFIG_AP1000))
|
||||
#include <pci.h>
|
||||
#endif
|
||||
#if defined(CONFIG_8xx)
|
||||
#include <asm/8xx_immap.h>
|
||||
#if defined(CONFIG_MPC852) || defined(CONFIG_MPC852T) || \
|
||||
defined(CONFIG_MPC859) || defined(CONFIG_MPC859T) || \
|
||||
defined(CONFIG_MPC859DSL) || \
|
||||
defined(CONFIG_MPC866) || defined(CONFIG_MPC866T) || \
|
||||
defined(CONFIG_MPC866P)
|
||||
# define CONFIG_MPC866_FAMILY 1
|
||||
#elif defined(CONFIG_MPC870) \
|
||||
|| defined(CONFIG_MPC875) \
|
||||
|| defined(CONFIG_MPC880) \
|
||||
|| defined(CONFIG_MPC885)
|
||||
# define CONFIG_MPC885_FAMILY 1
|
||||
#endif
|
||||
#if defined(CONFIG_MPC860) \
|
||||
|| defined(CONFIG_MPC860T) \
|
||||
|| defined(CONFIG_MPC866_FAMILY) \
|
||||
|| defined(CONFIG_MPC885_FAMILY)
|
||||
# define CONFIG_MPC86x 1
|
||||
#endif
|
||||
#elif defined(CONFIG_5xx)
|
||||
#include <asm/5xx_immap.h>
|
||||
#elif defined(CONFIG_MPC5xxx)
|
||||
#include <mpc5xxx.h>
|
||||
#elif defined(CONFIG_MPC512X)
|
||||
#include <asm/immap_512x.h>
|
||||
#elif defined(CONFIG_MPC8220)
|
||||
#include <asm/immap_8220.h>
|
||||
#elif defined(CONFIG_8260)
|
||||
#if defined(CONFIG_MPC8247) \
|
||||
|| defined(CONFIG_MPC8248) \
|
||||
|| defined(CONFIG_MPC8271) \
|
||||
|| defined(CONFIG_MPC8272)
|
||||
#define CONFIG_MPC8272_FAMILY 1
|
||||
#endif
|
||||
#if defined(CONFIG_MPC8272_FAMILY)
|
||||
#define CONFIG_MPC8260 1
|
||||
#endif
|
||||
#include <asm/immap_8260.h>
|
||||
#endif
|
||||
#ifdef CONFIG_MPC86xx
|
||||
#include <mpc86xx.h>
|
||||
#include <asm/immap_86xx.h>
|
||||
#endif
|
||||
#ifdef CONFIG_MPC85xx
|
||||
#include <mpc85xx.h>
|
||||
#include <asm/immap_85xx.h>
|
||||
#endif
|
||||
#ifdef CONFIG_MPC83xx
|
||||
#include <mpc83xx.h>
|
||||
#include <asm/immap_83xx.h>
|
||||
#endif
|
||||
#ifdef CONFIG_4xx
|
||||
#include <asm/ppc4xx.h>
|
||||
#endif
|
||||
#ifdef CONFIG_HYMOD
|
||||
#include <board/hymod/hymod.h>
|
||||
#endif
|
||||
#ifdef CONFIG_ARM
|
||||
#define asmlinkage /* nothing */
|
||||
#endif
|
||||
#ifdef CONFIG_BLACKFIN
|
||||
#include <asm/blackfin.h>
|
||||
#endif
|
||||
#ifdef CONFIG_SOC_DA8XX
|
||||
#include <asm/arch/hardware.h>
|
||||
#endif
|
||||
|
||||
#include <part.h>
|
||||
#include <flash.h>
|
||||
#include <image.h>
|
||||
|
||||
#ifdef DEBUG
|
||||
#define _DEBUG 1
|
||||
#else
|
||||
#define _DEBUG 0
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Output a debug text when condition "cond" is met. The "cond" should be
|
||||
* computed by a preprocessor in the best case, allowing for the best
|
||||
* optimization.
|
||||
*/
|
||||
#define debug_cond(cond, fmt, args...) \
|
||||
do { \
|
||||
if (cond) \
|
||||
printf(fmt, ##args); \
|
||||
} while (0)
|
||||
|
||||
#define debug(fmt, args...) \
|
||||
debug_cond(_DEBUG, fmt, ##args)
|
||||
|
||||
/*
|
||||
* An assertion is run-time check done in debug mode only. If DEBUG is not
|
||||
* defined then it is skipped. If DEBUG is defined and the assertion fails,
|
||||
* then it calls panic*( which may or may not reset/halt U-Boot (see
|
||||
* CONFIG_PANIC_HANG), It is hoped that all failing assertions are found
|
||||
* before release, and after release it is hoped that they don't matter. But
|
||||
* in any case these failing assertions cannot be fixed with a reset (which
|
||||
* may just do the same assertion again).
|
||||
*/
|
||||
void __assert_fail(const char *assertion, const char *file, unsigned line,
|
||||
const char *function);
|
||||
#define assert(x) \
|
||||
({ if (!(x) && _DEBUG) \
|
||||
__assert_fail(#x, __FILE__, __LINE__, __func__); })
|
||||
|
||||
#define error(fmt, args...) do { \
|
||||
printf("ERROR: " fmt "\nat %s:%d/%s()\n", \
|
||||
##args, __FILE__, __LINE__, __func__); \
|
||||
} while (0)
|
||||
|
||||
#ifndef BUG
|
||||
#define BUG() do { \
|
||||
printf("BUG: failure at %s:%d/%s()!\n", __FILE__, __LINE__, __FUNCTION__); \
|
||||
panic("BUG!"); \
|
||||
} while (0)
|
||||
#define BUG_ON(condition) do { if (unlikely((condition)!=0)) BUG(); } while(0)
|
||||
#endif /* BUG */
|
||||
|
||||
/* Force a compilation error if condition is true */
|
||||
#define BUILD_BUG_ON(condition) ((void)sizeof(char[1 - 2*!!(condition)]))
|
||||
|
||||
typedef void (interrupt_handler_t)(void *);
|
||||
|
||||
#include <asm/u-boot.h> /* boot information for Linux kernel */
|
||||
#include <asm/global_data.h> /* global data used for startup functions */
|
||||
|
||||
/*
|
||||
* enable common handling for all TQM8xxL/M boards:
|
||||
* - CONFIG_TQM8xxM will be defined for all TQM8xxM boards
|
||||
* - CONFIG_TQM8xxL will be defined for all TQM8xxL _and_ TQM8xxM boards
|
||||
* and for the TQM885D board
|
||||
*/
|
||||
#if defined(CONFIG_TQM823M) || defined(CONFIG_TQM850M) || \
|
||||
defined(CONFIG_TQM855M) || defined(CONFIG_TQM860M) || \
|
||||
defined(CONFIG_TQM862M) || defined(CONFIG_TQM866M)
|
||||
# ifndef CONFIG_TQM8xxM
|
||||
# define CONFIG_TQM8xxM
|
||||
# endif
|
||||
#endif
|
||||
#if defined(CONFIG_TQM823L) || defined(CONFIG_TQM850L) || \
|
||||
defined(CONFIG_TQM855L) || defined(CONFIG_TQM860L) || \
|
||||
defined(CONFIG_TQM862L) || defined(CONFIG_TQM8xxM) || \
|
||||
defined(CONFIG_TQM885D)
|
||||
# ifndef CONFIG_TQM8xxL
|
||||
# define CONFIG_TQM8xxL
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#ifndef CONFIG_SERIAL_MULTI
|
||||
|
||||
#if defined(CONFIG_8xx_CONS_SMC1) || defined(CONFIG_8xx_CONS_SMC2) \
|
||||
|| defined(CONFIG_8xx_CONS_SCC1) || defined(CONFIG_8xx_CONS_SCC2) \
|
||||
|| defined(CONFIG_8xx_CONS_SCC3) || defined(CONFIG_8xx_CONS_SCC4)
|
||||
|
||||
#define CONFIG_SERIAL_MULTI 1
|
||||
|
||||
#endif
|
||||
|
||||
#endif /* CONFIG_SERIAL_MULTI */
|
||||
|
||||
/*
|
||||
* General Purpose Utilities
|
||||
*/
|
||||
#define min(X, Y) \
|
||||
({ typeof (X) __x = (X); \
|
||||
typeof (Y) __y = (Y); \
|
||||
(__x < __y) ? __x : __y; })
|
||||
|
||||
#define max(X, Y) \
|
||||
({ typeof (X) __x = (X); \
|
||||
typeof (Y) __y = (Y); \
|
||||
(__x > __y) ? __x : __y; })
|
||||
|
||||
#define MIN(x, y) min(x, y)
|
||||
#define MAX(x, y) max(x, y)
|
||||
|
||||
/*
|
||||
* Return the absolute value of a number.
|
||||
*
|
||||
* This handles unsigned and signed longs, ints, shorts and chars. For all
|
||||
* input types abs() returns a signed long.
|
||||
*
|
||||
* For 64-bit types, use abs64()
|
||||
*/
|
||||
#define abs(x) ({ \
|
||||
long ret; \
|
||||
if (sizeof(x) == sizeof(long)) { \
|
||||
long __x = (x); \
|
||||
ret = (__x < 0) ? -__x : __x; \
|
||||
} else { \
|
||||
int __x = (x); \
|
||||
ret = (__x < 0) ? -__x : __x; \
|
||||
} \
|
||||
ret; \
|
||||
})
|
||||
|
||||
#define abs64(x) ({ \
|
||||
s64 __x = (x); \
|
||||
(__x < 0) ? -__x : __x; \
|
||||
})
|
||||
|
||||
#if defined(CONFIG_ENV_IS_EMBEDDED)
|
||||
#define TOTAL_MALLOC_LEN CONFIG_SYS_MALLOC_LEN
|
||||
#elif ( ((CONFIG_ENV_ADDR+CONFIG_ENV_SIZE_MAX) < CONFIG_SYS_MONITOR_BASE) || \
|
||||
(CONFIG_ENV_ADDR >= (CONFIG_SYS_MONITOR_BASE + CONFIG_SYS_MONITOR_LEN)) ) || \
|
||||
defined(CONFIG_ENV_IS_IN_NVRAM)
|
||||
#define TOTAL_MALLOC_LEN (CONFIG_SYS_MALLOC_LEN + CONFIG_ENV_SIZE_MAX)
|
||||
#else
|
||||
#define TOTAL_MALLOC_LEN CONFIG_SYS_MALLOC_LEN
|
||||
#endif
|
||||
|
||||
/**
|
||||
* container_of - cast a member of a structure out to the containing structure
|
||||
* @ptr: the pointer to the member.
|
||||
* @type: the type of the container struct this is embedded in.
|
||||
* @member: the name of the member within the struct.
|
||||
*
|
||||
*/
|
||||
#define container_of(ptr, type, member) ({ \
|
||||
const typeof( ((type *)0)->member ) *__mptr = (ptr); \
|
||||
(type *)( (char *)__mptr - offsetof(type,member) );})
|
||||
|
||||
/*
|
||||
* Function Prototypes
|
||||
*/
|
||||
|
||||
void hang (void) __attribute__ ((noreturn));
|
||||
|
||||
int timer_init(void);
|
||||
int cpu_init(void);
|
||||
|
||||
/* */
|
||||
phys_size_t initdram (int);
|
||||
int display_options (void);
|
||||
void print_size(unsigned long long, const char *);
|
||||
int print_buffer (ulong addr, void* data, uint width, uint count, uint linelen);
|
||||
|
||||
/* common/main.c */
|
||||
void main_loop (void);
|
||||
int run_command(const char *cmd, int flag);
|
||||
int readline (const char *const prompt);
|
||||
int readline_into_buffer(const char *const prompt, char *buffer,
|
||||
int timeout);
|
||||
int parse_line (char *, char *[]);
|
||||
void init_cmd_timeout(void);
|
||||
void reset_cmd_timeout(void);
|
||||
#ifdef CONFIG_MENU
|
||||
int abortboot(int bootdelay);
|
||||
#endif
|
||||
extern char console_buffer[];
|
||||
|
||||
/* arch/$(ARCH)/lib/board.c */
|
||||
void board_init_f (ulong) __attribute__ ((noreturn));
|
||||
void board_init_r (gd_t *, ulong) __attribute__ ((noreturn));
|
||||
int checkboard (void);
|
||||
int checkflash (void);
|
||||
int checkdram (void);
|
||||
int last_stage_init(void);
|
||||
extern ulong monitor_flash_len;
|
||||
int mac_read_from_eeprom(void);
|
||||
extern u8 _binary_dt_dtb_start[]; /* embedded device tree blob */
|
||||
int set_cpu_clk_info(void);
|
||||
|
||||
/* common/flash.c */
|
||||
void flash_perror (int);
|
||||
|
||||
/* common/cmd_source.c */
|
||||
int source (ulong addr, const char *fit_uname);
|
||||
|
||||
extern ulong load_addr; /* Default Load Address */
|
||||
extern ulong save_addr; /* Default Save Address */
|
||||
extern ulong save_size; /* Default Save Size */
|
||||
|
||||
/* common/cmd_doc.c */
|
||||
void doc_probe(unsigned long physadr);
|
||||
|
||||
/* common/cmd_net.c */
|
||||
int do_tftpb(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]);
|
||||
|
||||
/* common/cmd_fat.c */
|
||||
int do_fat_fsload(cmd_tbl_t *, int, int, char * const []);
|
||||
|
||||
/* common/cmd_ext2.c */
|
||||
int do_ext2load(cmd_tbl_t *, int, int, char * const []);
|
||||
|
||||
/* common/cmd_nvedit.c */
|
||||
int env_init (void);
|
||||
void env_relocate (void);
|
||||
int envmatch (uchar *, int);
|
||||
char *getenv (const char *);
|
||||
int getenv_f (const char *name, char *buf, unsigned len);
|
||||
ulong getenv_ulong(const char *name, int base, ulong default_val);
|
||||
#ifdef CONFIG_IPQ806X_ENV
|
||||
extern int (*saveenv) (void);
|
||||
#else
|
||||
int saveenv (void);
|
||||
#endif
|
||||
#ifdef CONFIG_PPC /* ARM version to be fixed! */
|
||||
int inline setenv (const char *, const char *);
|
||||
#else
|
||||
int setenv (const char *, const char *);
|
||||
int setenv_ulong(const char *varname, ulong value);
|
||||
int setenv_addr(const char *varname, const void *addr);
|
||||
#endif /* CONFIG_PPC */
|
||||
#ifdef CONFIG_ARM
|
||||
# include <asm/mach-types.h>
|
||||
# include <asm/setup.h>
|
||||
# include <asm/u-boot-arm.h> /* ARM version to be fixed! */
|
||||
#endif /* CONFIG_ARM */
|
||||
#ifdef CONFIG_X86 /* x86 version to be fixed! */
|
||||
# include <asm/u-boot-x86.h>
|
||||
#endif /* CONFIG_X86 */
|
||||
#ifdef CONFIG_SANDBOX
|
||||
# include <asm/u-boot-sandbox.h> /* TODO(sjg) what needs to be fixed? */
|
||||
#endif
|
||||
#ifdef CONFIG_NDS32
|
||||
# include <asm/mach-types.h>
|
||||
# include <asm/u-boot-nds32.h>
|
||||
#endif /* CONFIG_NDS32 */
|
||||
#ifdef CONFIG_MIPS
|
||||
# include <asm/u-boot-mips.h>
|
||||
#endif /* CONFIG_MIPS */
|
||||
|
||||
#ifdef CONFIG_AUTO_COMPLETE
|
||||
int env_complete(char *var, int maxv, char *cmdv[], int maxsz, char *buf);
|
||||
#endif
|
||||
int get_env_id (void);
|
||||
|
||||
void pci_init (void);
|
||||
void pci_init_board(void);
|
||||
void pciinfo (int, int);
|
||||
|
||||
#if defined(CONFIG_PCI) && (defined(CONFIG_4xx) && !defined(CONFIG_AP1000))
|
||||
int pci_pre_init (struct pci_controller *);
|
||||
int is_pci_host (struct pci_controller *);
|
||||
#endif
|
||||
|
||||
#if defined(CONFIG_PCI) && (defined(CONFIG_440) || defined(CONFIG_405EX))
|
||||
# if defined(CONFIG_SYS_PCI_TARGET_INIT)
|
||||
void pci_target_init (struct pci_controller *);
|
||||
# endif
|
||||
# if defined(CONFIG_SYS_PCI_MASTER_INIT)
|
||||
void pci_master_init (struct pci_controller *);
|
||||
# endif
|
||||
#if defined(CONFIG_440SPE) || \
|
||||
defined(CONFIG_460EX) || defined(CONFIG_460GT) || \
|
||||
defined(CONFIG_405EX)
|
||||
void pcie_setup_hoses(int busno);
|
||||
#endif
|
||||
#endif
|
||||
|
||||
int misc_init_f (void);
|
||||
int misc_init_r (void);
|
||||
|
||||
/* common/exports.c */
|
||||
void jumptable_init(void);
|
||||
|
||||
/* common/kallsysm.c */
|
||||
const char *symbol_lookup(unsigned long addr, unsigned long *caddr);
|
||||
|
||||
/* api/api.c */
|
||||
void api_init (void);
|
||||
|
||||
/* common/memsize.c */
|
||||
long get_ram_size (long *, long);
|
||||
|
||||
/* $(BOARD)/$(BOARD).c */
|
||||
void reset_phy (void);
|
||||
void fdc_hw_init (void);
|
||||
|
||||
/* $(BOARD)/eeprom.c */
|
||||
void eeprom_init (void);
|
||||
#ifndef CONFIG_SPI
|
||||
int eeprom_probe (unsigned dev_addr, unsigned offset);
|
||||
#endif
|
||||
int eeprom_read (unsigned dev_addr, unsigned offset, uchar *buffer, unsigned cnt);
|
||||
int eeprom_write (unsigned dev_addr, unsigned offset, uchar *buffer, unsigned cnt);
|
||||
#ifdef CONFIG_LWMON
|
||||
extern uchar pic_read (uchar reg);
|
||||
extern void pic_write (uchar reg, uchar val);
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Set this up regardless of board
|
||||
* type, to prevent errors.
|
||||
*/
|
||||
#if defined(CONFIG_SPI) || !defined(CONFIG_SYS_I2C_EEPROM_ADDR)
|
||||
# define CONFIG_SYS_DEF_EEPROM_ADDR 0
|
||||
#else
|
||||
#if !defined(CONFIG_ENV_EEPROM_IS_ON_I2C)
|
||||
# define CONFIG_SYS_DEF_EEPROM_ADDR CONFIG_SYS_I2C_EEPROM_ADDR
|
||||
#endif
|
||||
#endif /* CONFIG_SPI || !defined(CONFIG_SYS_I2C_EEPROM_ADDR) */
|
||||
|
||||
#if defined(CONFIG_SPI)
|
||||
extern void spi_init_f (void);
|
||||
extern void spi_init_r (void);
|
||||
extern ssize_t spi_read (uchar *, int, uchar *, int);
|
||||
extern ssize_t spi_write (uchar *, int, uchar *, int);
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_RPXCLASSIC
|
||||
void rpxclassic_init (void);
|
||||
#endif
|
||||
|
||||
void rpxlite_init (void);
|
||||
|
||||
#ifdef CONFIG_MBX
|
||||
/* $(BOARD)/mbx8xx.c */
|
||||
void mbx_init (void);
|
||||
void board_serial_init (void);
|
||||
void board_ether_init (void);
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_HERMES
|
||||
/* $(BOARD)/hermes.c */
|
||||
void hermes_start_lxt980 (int speed);
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_EVB64260
|
||||
void evb64260_init(void);
|
||||
void debug_led(int, int);
|
||||
void display_mem_map(void);
|
||||
void perform_soft_reset(void);
|
||||
#endif
|
||||
|
||||
/* $(BOARD)/$(BOARD).c */
|
||||
int board_early_init_f (void);
|
||||
int board_late_init (void);
|
||||
int board_postclk_init (void); /* after clocks/timebase, before env/serial */
|
||||
int board_early_init_r (void);
|
||||
void board_poweroff (void);
|
||||
|
||||
#if defined(CONFIG_SYS_DRAM_TEST)
|
||||
int testdram(void);
|
||||
#endif /* CONFIG_SYS_DRAM_TEST */
|
||||
|
||||
/* $(CPU)/start.S */
|
||||
#if defined(CONFIG_5xx) || \
|
||||
defined(CONFIG_8xx)
|
||||
uint get_immr (uint);
|
||||
#endif
|
||||
uint get_pir (void);
|
||||
#if defined(CONFIG_MPC5xxx)
|
||||
uint get_svr (void);
|
||||
#endif
|
||||
uint get_pvr (void);
|
||||
uint get_svr (void);
|
||||
uint rd_ic_cst (void);
|
||||
void wr_ic_cst (uint);
|
||||
void wr_ic_adr (uint);
|
||||
uint rd_dc_cst (void);
|
||||
void wr_dc_cst (uint);
|
||||
void wr_dc_adr (uint);
|
||||
int icache_status (void);
|
||||
void icache_enable (void);
|
||||
void icache_disable(void);
|
||||
int dcache_status (void);
|
||||
void dcache_enable (void);
|
||||
void dcache_disable(void);
|
||||
void mmu_disable(void);
|
||||
void relocate_code (ulong, gd_t *, ulong) __attribute__ ((noreturn));
|
||||
ulong get_endaddr (void);
|
||||
void trap_init (ulong);
|
||||
#if defined (CONFIG_4xx) || \
|
||||
defined (CONFIG_MPC5xxx) || \
|
||||
defined (CONFIG_74xx_7xx) || \
|
||||
defined (CONFIG_74x) || \
|
||||
defined (CONFIG_75x) || \
|
||||
defined (CONFIG_74xx) || \
|
||||
defined (CONFIG_MPC8220) || \
|
||||
defined (CONFIG_MPC85xx) || \
|
||||
defined (CONFIG_MPC86xx) || \
|
||||
defined (CONFIG_MPC83xx)
|
||||
unsigned char in8(unsigned int);
|
||||
void out8(unsigned int, unsigned char);
|
||||
unsigned short in16(unsigned int);
|
||||
unsigned short in16r(unsigned int);
|
||||
void out16(unsigned int, unsigned short value);
|
||||
void out16r(unsigned int, unsigned short value);
|
||||
unsigned long in32(unsigned int);
|
||||
unsigned long in32r(unsigned int);
|
||||
void out32(unsigned int, unsigned long value);
|
||||
void out32r(unsigned int, unsigned long value);
|
||||
void ppcDcbf(unsigned long value);
|
||||
void ppcDcbi(unsigned long value);
|
||||
void ppcSync(void);
|
||||
void ppcDcbz(unsigned long value);
|
||||
#endif
|
||||
#if defined (CONFIG_MICROBLAZE)
|
||||
unsigned short in16(unsigned int);
|
||||
void out16(unsigned int, unsigned short value);
|
||||
#endif
|
||||
|
||||
#if defined (CONFIG_MPC83xx)
|
||||
void ppcDWload(unsigned int *addr, unsigned int *ret);
|
||||
void ppcDWstore(unsigned int *addr, unsigned int *value);
|
||||
void disable_addr_trans(void);
|
||||
void enable_addr_trans(void);
|
||||
#if defined(CONFIG_DDR_ECC) && !defined(CONFIG_ECC_INIT_VIA_DDRCONTROLLER)
|
||||
void ddr_enable_ecc(unsigned int dram_size);
|
||||
#endif
|
||||
#endif
|
||||
|
||||
/* $(CPU)/cpu.c */
|
||||
static inline int cpumask_next(int cpu, unsigned int mask)
|
||||
{
|
||||
for (cpu++; !((1 << cpu) & mask); cpu++)
|
||||
;
|
||||
|
||||
return cpu;
|
||||
}
|
||||
|
||||
#define for_each_cpu(iter, cpu, num_cpus, mask) \
|
||||
for (iter = 0, cpu = cpumask_next(-1, mask); \
|
||||
iter < num_cpus; \
|
||||
iter++, cpu = cpumask_next(cpu, mask)) \
|
||||
|
||||
int cpu_numcores (void);
|
||||
u32 cpu_mask (void);
|
||||
int is_core_valid (unsigned int);
|
||||
int probecpu (void);
|
||||
int checkcpu (void);
|
||||
int checkicache (void);
|
||||
int checkdcache (void);
|
||||
void upmconfig (unsigned int, unsigned int *, unsigned int);
|
||||
ulong get_tbclk (void);
|
||||
void reset_cpu (ulong addr);
|
||||
#if defined (CONFIG_OF_LIBFDT) && defined (CONFIG_OF_BOARD_SETUP)
|
||||
void ft_cpu_setup(void *blob, bd_t *bd);
|
||||
#ifdef CONFIG_PCI
|
||||
void ft_pci_setup(void *blob, bd_t *bd);
|
||||
#endif
|
||||
#endif
|
||||
|
||||
|
||||
/* $(CPU)/serial.c */
|
||||
int serial_init (void);
|
||||
void serial_setbrg (void);
|
||||
void serial_putc (const char);
|
||||
void serial_putc_raw(const char);
|
||||
void serial_puts (const char *);
|
||||
int serial_getc (void);
|
||||
int serial_tstc (void);
|
||||
|
||||
void _serial_setbrg (const int);
|
||||
void _serial_putc (const char, const int);
|
||||
void _serial_putc_raw(const char, const int);
|
||||
void _serial_puts (const char *, const int);
|
||||
int _serial_getc (const int);
|
||||
int _serial_tstc (const int);
|
||||
|
||||
/* $(CPU)/speed.c */
|
||||
int get_clocks (void);
|
||||
int get_clocks_866 (void);
|
||||
int sdram_adjust_866 (void);
|
||||
int adjust_sdram_tbs_8xx (void);
|
||||
#if defined(CONFIG_8260)
|
||||
int prt_8260_clks (void);
|
||||
#elif defined(CONFIG_MPC5xxx)
|
||||
int prt_mpc5xxx_clks (void);
|
||||
#endif
|
||||
#if defined(CONFIG_MPC512X)
|
||||
int prt_mpc512xxx_clks (void);
|
||||
#endif
|
||||
#if defined(CONFIG_MPC8220)
|
||||
int prt_mpc8220_clks (void);
|
||||
#endif
|
||||
#ifdef CONFIG_4xx
|
||||
ulong get_OPB_freq (void);
|
||||
ulong get_PCI_freq (void);
|
||||
#endif
|
||||
#if defined(CONFIG_S3C24X0) || \
|
||||
defined(CONFIG_LH7A40X) || \
|
||||
defined(CONFIG_S3C6400) || \
|
||||
defined(CONFIG_EP93XX)
|
||||
ulong get_FCLK (void);
|
||||
ulong get_HCLK (void);
|
||||
ulong get_PCLK (void);
|
||||
ulong get_UCLK (void);
|
||||
#endif
|
||||
#if defined(CONFIG_LH7A40X)
|
||||
ulong get_PLLCLK (void);
|
||||
#endif
|
||||
#if defined CONFIG_INCA_IP
|
||||
uint incaip_get_cpuclk (void);
|
||||
#endif
|
||||
#if defined(CONFIG_IMX)
|
||||
ulong get_systemPLLCLK(void);
|
||||
ulong get_FCLK(void);
|
||||
ulong get_HCLK(void);
|
||||
ulong get_BCLK(void);
|
||||
ulong get_PERCLK1(void);
|
||||
ulong get_PERCLK2(void);
|
||||
ulong get_PERCLK3(void);
|
||||
#endif
|
||||
ulong get_bus_freq (ulong);
|
||||
int get_serial_clock(void);
|
||||
|
||||
#if defined(CONFIG_MPC83xx) || defined(CONFIG_MPC85xx)
|
||||
ulong get_ddr_freq(ulong);
|
||||
#endif
|
||||
#if defined(CONFIG_MPC85xx)
|
||||
typedef MPC85xx_SYS_INFO sys_info_t;
|
||||
void get_sys_info ( sys_info_t * );
|
||||
#endif
|
||||
#if defined(CONFIG_MPC86xx)
|
||||
typedef MPC86xx_SYS_INFO sys_info_t;
|
||||
void get_sys_info ( sys_info_t * );
|
||||
static inline ulong get_ddr_freq(ulong dummy)
|
||||
{
|
||||
return get_bus_freq(dummy);
|
||||
}
|
||||
#endif
|
||||
|
||||
#if defined(CONFIG_4xx) || defined(CONFIG_IOP480)
|
||||
# if defined(CONFIG_440)
|
||||
# if defined(CONFIG_440SPE)
|
||||
unsigned long determine_sysper(void);
|
||||
unsigned long determine_pci_clock_per(void);
|
||||
# endif
|
||||
# endif
|
||||
typedef PPC4xx_SYS_INFO sys_info_t;
|
||||
int ppc440spe_revB(void);
|
||||
void get_sys_info ( sys_info_t * );
|
||||
#endif
|
||||
|
||||
/* $(CPU)/cpu_init.c */
|
||||
#if defined(CONFIG_8xx) || defined(CONFIG_8260)
|
||||
void cpu_init_f (volatile immap_t *immr);
|
||||
#endif
|
||||
#if defined(CONFIG_4xx) || defined(CONFIG_MPC85xx) || defined(CONFIG_MCF52x2) ||defined(CONFIG_MPC86xx)
|
||||
void cpu_init_f (void);
|
||||
#endif
|
||||
|
||||
int cpu_init_r (void);
|
||||
#if defined(CONFIG_8260)
|
||||
int prt_8260_rsr (void);
|
||||
#elif defined(CONFIG_MPC83xx)
|
||||
int prt_83xx_rsr (void);
|
||||
#endif
|
||||
|
||||
/* $(CPU)/interrupts.c */
|
||||
int interrupt_init (void);
|
||||
void timer_interrupt (struct pt_regs *);
|
||||
void external_interrupt (struct pt_regs *);
|
||||
void irq_install_handler(int, interrupt_handler_t *, void *);
|
||||
void irq_free_handler (int);
|
||||
void reset_timer (void);
|
||||
ulong get_timer (ulong base);
|
||||
void enable_interrupts (void);
|
||||
int disable_interrupts (void);
|
||||
|
||||
/* $(CPU)/.../commproc.c */
|
||||
int dpram_init (void);
|
||||
uint dpram_base(void);
|
||||
uint dpram_base_align(uint align);
|
||||
uint dpram_alloc(uint size);
|
||||
uint dpram_alloc_align(uint size,uint align);
|
||||
void bootcount_store (ulong);
|
||||
ulong bootcount_load (void);
|
||||
#define BOOTCOUNT_MAGIC 0xB001C041
|
||||
|
||||
/* $(CPU)/.../<eth> */
|
||||
void mii_init (void);
|
||||
|
||||
/* $(CPU)/.../lcd.c */
|
||||
ulong lcd_setmem (ulong);
|
||||
|
||||
/* $(CPU)/.../video.c */
|
||||
ulong video_setmem (ulong);
|
||||
|
||||
/* arch/$(ARCH)/lib/cache.c */
|
||||
void enable_caches(void);
|
||||
void flush_cache (unsigned long, unsigned long);
|
||||
void flush_dcache_all(void);
|
||||
void flush_dcache_range(unsigned long start, unsigned long stop);
|
||||
void invalidate_dcache_range(unsigned long start, unsigned long stop);
|
||||
void invalidate_dcache_all(void);
|
||||
void invalidate_icache_all(void);
|
||||
void set_l2_indirect_reg(u32 reg_addr, u32 val);
|
||||
void clear_l2cache_err(void);
|
||||
u32 get_l2_indirect_reg(u32 reg_addr);
|
||||
|
||||
/* arch/$(ARCH)/lib/ticks.S */
|
||||
unsigned long long get_ticks(void);
|
||||
void wait_ticks (unsigned long);
|
||||
|
||||
/* arch/$(ARCH)/lib/time.c */
|
||||
void __udelay (unsigned long);
|
||||
ulong usec2ticks (unsigned long usec);
|
||||
ulong ticks2usec (unsigned long ticks);
|
||||
int init_timebase (void);
|
||||
|
||||
/* lib/gunzip.c */
|
||||
int gunzip(void *, int, unsigned char *, unsigned long *);
|
||||
int zunzip(void *dst, int dstlen, unsigned char *src, unsigned long *lenp,
|
||||
int stoponerr, int offset);
|
||||
|
||||
/* lib/qsort.c */
|
||||
void qsort(void *base, size_t nmemb, size_t size,
|
||||
int(*compar)(const void *, const void *));
|
||||
int strcmp_compar(const void *, const void *);
|
||||
|
||||
/* lib/time.c */
|
||||
void udelay (unsigned long);
|
||||
void mdelay(unsigned long);
|
||||
|
||||
/* lib/uuid.c */
|
||||
void uuid_str_to_bin(const char *uuid, unsigned char *out);
|
||||
int uuid_str_valid(const char *uuid);
|
||||
|
||||
/* lib/vsprintf.c */
|
||||
#include <vsprintf.h>
|
||||
|
||||
/* lib/strmhz.c */
|
||||
char * strmhz(char *buf, unsigned long hz);
|
||||
|
||||
/* lib/crc32.c */
|
||||
#include <u-boot/crc.h>
|
||||
|
||||
/* lib/rand.c */
|
||||
#if defined(CONFIG_RANDOM_MACADDR) || \
|
||||
defined(CONFIG_BOOTP_RANDOM_DELAY) || \
|
||||
defined(CONFIG_CMD_LINK_LOCAL)
|
||||
#define RAND_MAX -1U
|
||||
void srand(unsigned int seed);
|
||||
unsigned int rand(void);
|
||||
unsigned int rand_r(unsigned int *seedp);
|
||||
#endif
|
||||
|
||||
/* common/console.c */
|
||||
int console_init_f(void); /* Before relocation; uses the serial stuff */
|
||||
int console_init_r(void); /* After relocation; uses the console stuff */
|
||||
int console_assign(int file, const char *devname); /* Assign the console */
|
||||
int ctrlc (void);
|
||||
int had_ctrlc (void); /* have we had a Control-C since last clear? */
|
||||
void clear_ctrlc (void); /* clear the Control-C condition */
|
||||
int disable_ctrlc (int); /* 1 to disable, 0 to enable Control-C detect */
|
||||
|
||||
/*
|
||||
* STDIO based functions (can always be used)
|
||||
*/
|
||||
/* serial stuff */
|
||||
int serial_printf (const char *fmt, ...)
|
||||
__attribute__ ((format (__printf__, 1, 2)));
|
||||
/* stdin */
|
||||
int getc(void);
|
||||
int tstc(void);
|
||||
|
||||
/* stdout */
|
||||
void putc(const char c);
|
||||
void puts(const char *s);
|
||||
int printf(const char *fmt, ...)
|
||||
__attribute__ ((format (__printf__, 1, 2)));
|
||||
int vprintf(const char *fmt, va_list args);
|
||||
|
||||
/* stderr */
|
||||
#define eputc(c) fputc(stderr, c)
|
||||
#define eputs(s) fputs(stderr, s)
|
||||
#define eprintf(fmt,args...) fprintf(stderr,fmt ,##args)
|
||||
|
||||
/*
|
||||
* FILE based functions (can only be used AFTER relocation!)
|
||||
*/
|
||||
#define stdin 0
|
||||
#define stdout 1
|
||||
#define stderr 2
|
||||
#define MAX_FILES 3
|
||||
|
||||
int fprintf(int file, const char *fmt, ...)
|
||||
__attribute__ ((format (__printf__, 2, 3)));
|
||||
void fputs(int file, const char *s);
|
||||
void fputc(int file, const char c);
|
||||
int ftstc(int file);
|
||||
int fgetc(int file);
|
||||
|
||||
/* lib/net_utils.c */
|
||||
#include <net.h>
|
||||
static inline IPaddr_t getenv_IPaddr(char *var)
|
||||
{
|
||||
return string_to_ip(getenv(var));
|
||||
}
|
||||
|
||||
/*
|
||||
* CONSOLE multiplexing.
|
||||
*/
|
||||
#ifdef CONFIG_CONSOLE_MUX
|
||||
#include <iomux.h>
|
||||
#endif
|
||||
|
||||
int pcmcia_init (void);
|
||||
|
||||
#ifdef CONFIG_STATUS_LED
|
||||
# include <status_led.h>
|
||||
#endif
|
||||
|
||||
#include <bootstage.h>
|
||||
|
||||
#ifdef CONFIG_SHOW_ACTIVITY
|
||||
void show_activity(int arg);
|
||||
#endif
|
||||
|
||||
/* Multicore arch functions */
|
||||
#ifdef CONFIG_MP
|
||||
int cpu_status(int nr);
|
||||
int cpu_reset(int nr);
|
||||
int cpu_disable(int nr);
|
||||
int cpu_release(int nr, int argc, char * const argv[]);
|
||||
#endif
|
||||
|
||||
#endif /* __ASSEMBLY__ */
|
||||
|
||||
#ifdef CONFIG_PPC
|
||||
/*
|
||||
* Has to be included outside of the #ifndef __ASSEMBLY__ section.
|
||||
* Otherwise might lead to compilation errors in assembler files.
|
||||
*/
|
||||
#include <asm/cache.h>
|
||||
#endif
|
||||
|
||||
/* Put only stuff here that the assembler can digest */
|
||||
|
||||
#ifdef CONFIG_POST
|
||||
#define CONFIG_HAS_POST
|
||||
#ifndef CONFIG_POST_ALT_LIST
|
||||
#define CONFIG_POST_STD_LIST
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_INIT_CRITICAL
|
||||
#error CONFIG_INIT_CRITICAL is deprecated!
|
||||
#error Read section CONFIG_SKIP_LOWLEVEL_INIT in README.
|
||||
#endif
|
||||
|
||||
#define ARRAY_SIZE(x) (sizeof(x) / sizeof((x)[0]))
|
||||
|
||||
#define ROUND(a,b) (((a) + (b) - 1) & ~((b) - 1))
|
||||
#define DIV_ROUND(n,d) (((n) + ((d)/2)) / (d))
|
||||
#define DIV_ROUND_UP(n,d) (((n) + (d) - 1) / (d))
|
||||
#define roundup(x, y) ((((x) + ((y) - 1)) / (y)) * (y))
|
||||
#define __round_mask(x, y) ((__typeof__(x))((y)-1))
|
||||
#define round_up(x, y) ((((x)-1) | __round_mask(x, y))+1)
|
||||
#define round_down(x, y) ((x) & ~__round_mask(x, y))
|
||||
|
||||
#define ALIGN(x,a) __ALIGN_MASK((x),(typeof(x))(a)-1)
|
||||
#define __ALIGN_MASK(x,mask) (((x)+(mask))&~(mask))
|
||||
|
||||
/*
|
||||
* ARCH_DMA_MINALIGN is defined in asm/cache.h for each architecture. It
|
||||
* is used to align DMA buffers.
|
||||
*/
|
||||
#ifndef __ASSEMBLY__
|
||||
#include <asm/cache.h>
|
||||
#endif
|
||||
|
||||
/*
|
||||
* The ALLOC_CACHE_ALIGN_BUFFER macro is used to allocate a buffer on the
|
||||
* stack that meets the minimum architecture alignment requirements for DMA.
|
||||
* Such a buffer is useful for DMA operations where flushing and invalidating
|
||||
* the cache before and after a read and/or write operation is required for
|
||||
* correct operations.
|
||||
*
|
||||
* When called the macro creates an array on the stack that is sized such
|
||||
* that:
|
||||
*
|
||||
* 1) The beginning of the array can be advanced enough to be aligned.
|
||||
*
|
||||
* 2) The size of the aligned portion of the array is a multiple of the minimum
|
||||
* architecture alignment required for DMA.
|
||||
*
|
||||
* 3) The aligned portion contains enough space for the original number of
|
||||
* elements requested.
|
||||
*
|
||||
* The macro then creates a pointer to the aligned portion of this array and
|
||||
* assigns to the pointer the address of the first element in the aligned
|
||||
* portion of the array.
|
||||
*
|
||||
* Calling the macro as:
|
||||
*
|
||||
* ALLOC_CACHE_ALIGN_BUFFER(uint32_t, buffer, 1024);
|
||||
*
|
||||
* Will result in something similar to saying:
|
||||
*
|
||||
* uint32_t buffer[1024];
|
||||
*
|
||||
* The following differences exist:
|
||||
*
|
||||
* 1) The resulting buffer is guaranteed to be aligned to the value of
|
||||
* ARCH_DMA_MINALIGN.
|
||||
*
|
||||
* 2) The buffer variable created by the macro is a pointer to the specified
|
||||
* type, and NOT an array of the specified type. This can be very important
|
||||
* if you want the address of the buffer, which you probably do, to pass it
|
||||
* to the DMA hardware. The value of &buffer is different in the two cases.
|
||||
* In the macro case it will be the address of the pointer, not the address
|
||||
* of the space reserved for the buffer. However, in the second case it
|
||||
* would be the address of the buffer. So if you are replacing hard coded
|
||||
* stack buffers with this macro you need to make sure you remove the & from
|
||||
* the locations where you are taking the address of the buffer.
|
||||
*
|
||||
* Note that the size parameter is the number of array elements to allocate,
|
||||
* not the number of bytes.
|
||||
*
|
||||
* This macro can not be used outside of function scope, or for the creation
|
||||
* of a function scoped static buffer. It can not be used to create a cache
|
||||
* line aligned global buffer.
|
||||
*/
|
||||
#define ALLOC_ALIGN_BUFFER(type, name, size, align) \
|
||||
char __##name[ROUND(size * sizeof(type), align) + (align - 1)]; \
|
||||
\
|
||||
type *name = (type *) ALIGN((uintptr_t)__##name, align)
|
||||
#define ALLOC_CACHE_ALIGN_BUFFER(type, name, size) \
|
||||
ALLOC_ALIGN_BUFFER(type, name, size, ARCH_DMA_MINALIGN)
|
||||
|
||||
/*
|
||||
* DEFINE_CACHE_ALIGN_BUFFER() is similar to ALLOC_CACHE_ALIGN_BUFFER, but it's
|
||||
* purpose is to allow allocating aligned buffers outside of function scope.
|
||||
* Usage of this macro shall be avoided or used with extreme care!
|
||||
*/
|
||||
#define DEFINE_ALIGN_BUFFER(type, name, size, align) \
|
||||
static char __##name[roundup(size * sizeof(type), align)] \
|
||||
__attribute__((aligned(align))); \
|
||||
\
|
||||
static type *name = (type *)__##name
|
||||
#define DEFINE_CACHE_ALIGN_BUFFER(type, name, size) \
|
||||
DEFINE_ALIGN_BUFFER(type, name, size, ARCH_DMA_MINALIGN)
|
||||
|
||||
/* Pull in stuff for the build system */
|
||||
#ifdef DO_DEPS_ONLY
|
||||
# include <environment.h>
|
||||
#endif
|
||||
|
||||
#endif /* __COMMON_H_ */
|
||||
1788
common/package/utils/sysupgrade-helper/src/include/commproc.h
Normal file
1788
common/package/utils/sysupgrade-helper/src/include/commproc.h
Normal file
File diff suppressed because it is too large
Load diff
137
common/package/utils/sysupgrade-helper/src/include/compiler.h
Normal file
137
common/package/utils/sysupgrade-helper/src/include/compiler.h
Normal file
|
|
@ -0,0 +1,137 @@
|
|||
/*
|
||||
* Keep all the ugly #ifdef for system stuff here
|
||||
*/
|
||||
|
||||
#ifndef __COMPILER_H__
|
||||
#define __COMPILER_H__
|
||||
|
||||
#include <stddef.h>
|
||||
|
||||
#ifdef USE_HOSTCC
|
||||
|
||||
#if defined(__BEOS__) || \
|
||||
defined(__NetBSD__) || \
|
||||
defined(__FreeBSD__) || \
|
||||
defined(__sun__) || \
|
||||
defined(__APPLE__)
|
||||
# include <inttypes.h>
|
||||
#elif defined(__linux__) || defined(__WIN32__) || defined(__MINGW32__)
|
||||
# include <stdint.h>
|
||||
#endif
|
||||
|
||||
#include <errno.h>
|
||||
#include <stdlib.h>
|
||||
#include <stdint.h>
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
|
||||
#if !defined(__WIN32__) && !defined(__MINGW32__)
|
||||
# include <sys/mman.h>
|
||||
#endif
|
||||
|
||||
/* Not all systems (like Windows) has this define, and yes
|
||||
* we do replace/emulate mmap() on those systems ...
|
||||
*/
|
||||
#ifndef MAP_FAILED
|
||||
# define MAP_FAILED ((void *)-1)
|
||||
#endif
|
||||
|
||||
#include <fcntl.h>
|
||||
#ifndef O_BINARY /* should be define'd on __WIN32__ */
|
||||
#define O_BINARY 0
|
||||
#endif
|
||||
|
||||
#ifdef __linux__
|
||||
# include <endian.h>
|
||||
# include <byteswap.h>
|
||||
#elif defined(__MACH__) || defined(__FreeBSD__)
|
||||
# include <machine/endian.h>
|
||||
typedef unsigned long ulong;
|
||||
#endif
|
||||
|
||||
typedef uint8_t __u8;
|
||||
typedef uint16_t __u16;
|
||||
typedef uint32_t __u32;
|
||||
typedef unsigned int uint;
|
||||
|
||||
#define uswap_16(x) \
|
||||
((((x) & 0xff00) >> 8) | \
|
||||
(((x) & 0x00ff) << 8))
|
||||
#define uswap_32(x) \
|
||||
((((x) & 0xff000000) >> 24) | \
|
||||
(((x) & 0x00ff0000) >> 8) | \
|
||||
(((x) & 0x0000ff00) << 8) | \
|
||||
(((x) & 0x000000ff) << 24))
|
||||
#define _uswap_64(x, sfx) \
|
||||
((((x) & 0xff00000000000000##sfx) >> 56) | \
|
||||
(((x) & 0x00ff000000000000##sfx) >> 40) | \
|
||||
(((x) & 0x0000ff0000000000##sfx) >> 24) | \
|
||||
(((x) & 0x000000ff00000000##sfx) >> 8) | \
|
||||
(((x) & 0x00000000ff000000##sfx) << 8) | \
|
||||
(((x) & 0x0000000000ff0000##sfx) << 24) | \
|
||||
(((x) & 0x000000000000ff00##sfx) << 40) | \
|
||||
(((x) & 0x00000000000000ff##sfx) << 56))
|
||||
#if defined(__GNUC__)
|
||||
# define uswap_64(x) _uswap_64(x, ull)
|
||||
#else
|
||||
# define uswap_64(x) _uswap_64(x, )
|
||||
#endif
|
||||
|
||||
#if __BYTE_ORDER == __LITTLE_ENDIAN
|
||||
# define cpu_to_le16(x) (x)
|
||||
# define cpu_to_le32(x) (x)
|
||||
# define cpu_to_le64(x) (x)
|
||||
# define le16_to_cpu(x) (x)
|
||||
# define le32_to_cpu(x) (x)
|
||||
# define le64_to_cpu(x) (x)
|
||||
# define cpu_to_be16(x) uswap_16(x)
|
||||
# define cpu_to_be32(x) uswap_32(x)
|
||||
# define cpu_to_be64(x) uswap_64(x)
|
||||
# define be16_to_cpu(x) uswap_16(x)
|
||||
# define be32_to_cpu(x) uswap_32(x)
|
||||
# define be64_to_cpu(x) uswap_64(x)
|
||||
#else
|
||||
# define cpu_to_le16(x) uswap_16(x)
|
||||
# define cpu_to_le32(x) uswap_32(x)
|
||||
# define cpu_to_le64(x) uswap_64(x)
|
||||
# define le16_to_cpu(x) uswap_16(x)
|
||||
# define le32_to_cpu(x) uswap_32(x)
|
||||
# define le64_to_cpu(x) uswap_64(x)
|
||||
# define cpu_to_be16(x) (x)
|
||||
# define cpu_to_be32(x) (x)
|
||||
# define cpu_to_be64(x) (x)
|
||||
# define be16_to_cpu(x) (x)
|
||||
# define be32_to_cpu(x) (x)
|
||||
# define be64_to_cpu(x) (x)
|
||||
#endif
|
||||
|
||||
#else /* !USE_HOSTCC */
|
||||
|
||||
#include <linux/string.h>
|
||||
#include <linux/types.h>
|
||||
#include <asm/byteorder.h>
|
||||
|
||||
#if __SIZEOF_LONG__ == 8
|
||||
# define __WORDSIZE 64
|
||||
#elif __SIZEOF_LONG__ == 4
|
||||
# define __WORDSIZE 32
|
||||
#else
|
||||
/*
|
||||
* Assume 32-bit for now - only newer toolchains support this feature and
|
||||
* this is only required for sandbox support at present.
|
||||
*/
|
||||
#define __WORDSIZE 32
|
||||
#endif
|
||||
|
||||
/* Type for `void *' pointers. */
|
||||
typedef unsigned long int uintptr_t;
|
||||
|
||||
#endif /* USE_HOSTCC */
|
||||
|
||||
/* compiler options */
|
||||
#define uninitialized_var(x) x = x
|
||||
|
||||
#define likely(x) __builtin_expect(!!(x), 1)
|
||||
#define unlikely(x) __builtin_expect(!!(x), 0)
|
||||
|
||||
#endif
|
||||
|
|
@ -0,0 +1,91 @@
|
|||
/*
|
||||
* Copyright 2007 Freescale Semiconductor, Inc.
|
||||
*
|
||||
* This file is licensed under the terms of the GNU General Public
|
||||
* License Version 2. This file is licensed "as is" without any
|
||||
* warranty of any kind, whether express or implied.
|
||||
*/
|
||||
|
||||
#ifndef _CONFIG_CMD_ALL_H
|
||||
#define _CONFIG_CMD_ALL_H
|
||||
|
||||
/*
|
||||
* Alphabetical list of all possible commands.
|
||||
*/
|
||||
|
||||
#define CONFIG_CMD_AMBAPP /* AMBA Plug & Play Bus print utility */
|
||||
#define CONFIG_CMD_ASKENV /* ask for env variable */
|
||||
#define CONFIG_CMD_BDI /* bdinfo */
|
||||
#define CONFIG_CMD_BEDBUG /* Include BedBug Debugger */
|
||||
#define CONFIG_CMD_BMP /* BMP support */
|
||||
#define CONFIG_CMD_BOOTD /* bootd */
|
||||
#define CONFIG_CMD_BOOTZ /* boot zImage */
|
||||
#define CONFIG_CMD_BSP /* Board Specific functions */
|
||||
#define CONFIG_CMD_CACHE /* icache, dcache */
|
||||
#define CONFIG_CMD_CDP /* Cisco Discovery Protocol */
|
||||
#define CONFIG_CMD_CONSOLE /* coninfo */
|
||||
#define CONFIG_CMD_DATE /* support for RTC, date/time...*/
|
||||
#define CONFIG_CMD_DHCP /* DHCP Support */
|
||||
#define CONFIG_CMD_DIAG /* Diagnostics */
|
||||
#define CONFIG_CMD_DISPLAY /* Display support */
|
||||
#define CONFIG_CMD_DOC /* Disk-On-Chip Support */
|
||||
#define CONFIG_CMD_DTT /* Digital Therm and Thermostat */
|
||||
#define CONFIG_CMD_ECHO /* echo arguments */
|
||||
#define CONFIG_CMD_EDITENV /* editenv */
|
||||
#define CONFIG_CMD_EEPROM /* EEPROM read/write support */
|
||||
#define CONFIG_CMD_ELF /* ELF (VxWorks) load/boot cmd */
|
||||
#define CONFIG_CMD_EXT2 /* EXT2 Support */
|
||||
#define CONFIG_CMD_FAT /* FAT support */
|
||||
#define CONFIG_CMD_FDC /* Floppy Disk Support */
|
||||
#define CONFIG_CMD_FDOS /* Floppy DOS support */
|
||||
#define CONFIG_CMD_FLASH /* flinfo, erase, protect */
|
||||
#define CONFIG_CMD_FPGA /* FPGA configuration Support */
|
||||
#define CONFIG_CMD_HWFLOW /* RTS/CTS hw flow control */
|
||||
#define CONFIG_CMD_I2C /* I2C serial bus support */
|
||||
#define CONFIG_CMD_IDE /* IDE harddisk support */
|
||||
#define CONFIG_CMD_IMI /* iminfo */
|
||||
#define CONFIG_CMD_IMLS /* List all found images */
|
||||
#define CONFIG_CMD_IMMAP /* IMMR dump support */
|
||||
#define CONFIG_CMD_IRQ /* irqinfo */
|
||||
#define CONFIG_CMD_ITEST /* Integer (and string) test */
|
||||
#define CONFIG_CMD_JFFS2 /* JFFS2 Support */
|
||||
#define CONFIG_CMD_KGDB /* kgdb */
|
||||
#define CONFIG_CMD_LICENSE /* console license display */
|
||||
#define CONFIG_CMD_LOADB /* loadb */
|
||||
#define CONFIG_CMD_LOADS /* loads */
|
||||
#define CONFIG_CMD_MEMORY /* md mm nm mw cp cmp crc base loop mtest */
|
||||
#define CONFIG_CMD_MFSL /* FSL support for Microblaze */
|
||||
#define CONFIG_CMD_MII /* MII support */
|
||||
#define CONFIG_CMD_MISC /* Misc functions like sleep etc*/
|
||||
#define CONFIG_CMD_MMC /* MMC support */
|
||||
#define CONFIG_CMD_MTDPARTS /* mtd parts support */
|
||||
#define CONFIG_CMD_NAND /* NAND support */
|
||||
#define CONFIG_CMD_NET /* bootp, tftpboot, rarpboot */
|
||||
#define CONFIG_CMD_NFS /* NFS support */
|
||||
#define CONFIG_CMD_ONENAND /* OneNAND support */
|
||||
#define CONFIG_CMD_PCI /* pciinfo */
|
||||
#define CONFIG_CMD_PCMCIA /* PCMCIA support */
|
||||
#define CONFIG_CMD_PING /* ping support */
|
||||
#define CONFIG_CMD_PORTIO /* Port I/O */
|
||||
#define CONFIG_CMD_REGINFO /* Register dump */
|
||||
#define CONFIG_CMD_REISER /* Reiserfs support */
|
||||
#define CONFIG_CMD_RARP /* rarpboot support */
|
||||
#define CONFIG_CMD_RUN /* run command in env variable */
|
||||
#define CONFIG_CMD_SAVEENV /* saveenv */
|
||||
#define CONFIG_CMD_SAVES /* save S record dump */
|
||||
#define CONFIG_CMD_SCSI /* SCSI Support */
|
||||
#define CONFIG_CMD_SDRAM /* SDRAM DIMM SPD info printout */
|
||||
#define CONFIG_CMD_SETEXPR /* setexpr support */
|
||||
#define CONFIG_CMD_SETGETDCR /* DCR support on 4xx */
|
||||
#define CONFIG_CMD_SNTP /* SNTP support */
|
||||
#define CONFIG_CMD_SOURCE /* "source" command support */
|
||||
#define CONFIG_CMD_SPI /* SPI utility */
|
||||
#define CONFIG_CMD_TERMINAL /* built-in Serial Terminal */
|
||||
#define CONFIG_CMD_UBI /* UBI Support */
|
||||
#define CONFIG_CMD_UBIFS /* UBIFS Support */
|
||||
#define CONFIG_CMD_UNIVERSE /* Tundra Universe Support */
|
||||
#define CONFIG_CMD_UNZIP /* unzip from memory to memory */
|
||||
#define CONFIG_CMD_USB /* USB Support */
|
||||
#define CONFIG_CMD_XIMG /* Load part of Multi Image */
|
||||
|
||||
#endif /* _CONFIG_CMD_ALL_H */
|
||||
|
|
@ -0,0 +1,43 @@
|
|||
/*
|
||||
* Copyright 2007 Freescale Semiconductor, Inc.
|
||||
*
|
||||
* This file is licensed under the terms of the GNU General Public
|
||||
* License Version 2. This file is licensed "as is" without any
|
||||
* warranty of any kind, whether express or implied.
|
||||
*/
|
||||
|
||||
#ifndef _CONFIG_CMD_DEFAULT_H
|
||||
#define _CONFIG_CMD_DEFAULT_H
|
||||
|
||||
/*
|
||||
* Alphabetical list of all commands that are configured by default.
|
||||
* This is essentially all commands minus those that are considered
|
||||
* "non-standard" for some reason (memory hogs, requires special
|
||||
* hardware, not fully tested, etc.).
|
||||
*/
|
||||
|
||||
#define CONFIG_CMD_BDI /* bdinfo */
|
||||
#define CONFIG_CMD_BOOTD /* bootd */
|
||||
#define CONFIG_CMD_CONSOLE /* coninfo */
|
||||
#define CONFIG_CMD_ECHO /* echo arguments */
|
||||
#define CONFIG_CMD_EDITENV /* editenv */
|
||||
#define CONFIG_CMD_FPGA /* FPGA configuration Support */
|
||||
#define CONFIG_CMD_IMI /* iminfo */
|
||||
#define CONFIG_CMD_ITEST /* Integer (and string) test */
|
||||
#ifndef CONFIG_SYS_NO_FLASH
|
||||
#define CONFIG_CMD_FLASH /* flinfo, erase, protect */
|
||||
#define CONFIG_CMD_IMLS /* List all found images */
|
||||
#endif
|
||||
#define CONFIG_CMD_LOADB /* loadb */
|
||||
#define CONFIG_CMD_LOADS /* loads */
|
||||
#define CONFIG_CMD_MEMORY /* md mm nm mw cp cmp crc base loop mtest */
|
||||
#define CONFIG_CMD_MISC /* Misc functions like sleep etc*/
|
||||
#define CONFIG_CMD_NET /* bootp, tftpboot, rarpboot */
|
||||
#define CONFIG_CMD_NFS /* NFS support */
|
||||
#define CONFIG_CMD_RUN /* run command in env variable */
|
||||
#define CONFIG_CMD_SAVEENV /* saveenv */
|
||||
#define CONFIG_CMD_SETGETDCR /* DCR support on 4xx */
|
||||
#define CONFIG_CMD_SOURCE /* "source" command support */
|
||||
#define CONFIG_CMD_XIMG /* Load part of Multi Image */
|
||||
|
||||
#endif /* _CONFIG_CMD_DEFAULT_H */
|
||||
|
|
@ -0,0 +1,18 @@
|
|||
/*
|
||||
* config_cmd_defaults.h - sane defaults for everyone
|
||||
*
|
||||
* Copyright (c) 2010-2011 Analog Devices Inc.
|
||||
*
|
||||
* Licensed under the GPL-2 or later.
|
||||
*/
|
||||
|
||||
#ifndef _CONFIG_CMD_DEFAULTS_H_
|
||||
#define _CONFIG_CMD_DEFAULTS_H_
|
||||
|
||||
#define CONFIG_CMD_BOOTM 1
|
||||
#define CONFIG_CMD_CRC32 1
|
||||
#define CONFIG_CMD_EXPORTENV 1
|
||||
#define CONFIG_CMD_GO 1
|
||||
#define CONFIG_CMD_IMPORTENV 1
|
||||
|
||||
#endif
|
||||
|
|
@ -0,0 +1,21 @@
|
|||
/*
|
||||
* config_defaults.h - sane defaults for everyone
|
||||
*
|
||||
* Copyright (c) 2009 Analog Devices Inc.
|
||||
*
|
||||
* Licensed under the GPL-2 or later.
|
||||
*/
|
||||
|
||||
#ifndef _CONFIG_DEFAULTS_H_
|
||||
#define _CONFIG_DEFAULTS_H_
|
||||
|
||||
/* Support bootm-ing different OSes */
|
||||
#define CONFIG_BOOTM_LINUX 1
|
||||
#define CONFIG_BOOTM_NETBSD 1
|
||||
#define CONFIG_BOOTM_RTEMS 1
|
||||
|
||||
#define CONFIG_GZIP 1
|
||||
#define CONFIG_ZLIB 1
|
||||
#define CONFIG_PARTITIONS 1
|
||||
|
||||
#endif
|
||||
|
|
@ -0,0 +1,16 @@
|
|||
/*
|
||||
* Copyright 2012 Texas Instruments
|
||||
*
|
||||
* This file is licensed under the terms of the GNU General Public
|
||||
* License Version 2. This file is licensed "as is" without any
|
||||
* warranty of any kind, whether express or implied.
|
||||
*/
|
||||
|
||||
#ifndef __CONFIG_FALLBACKS_H
|
||||
#define __CONFIG_FALLBACKS_H
|
||||
|
||||
#ifndef CONFIG_SYS_BAUDRATE_TABLE
|
||||
#define CONFIG_SYS_BAUDRATE_TABLE { 9600, 19200, 38400, 57600, 115200 }
|
||||
#endif
|
||||
|
||||
#endif /* __CONFIG_FALLBACKS_H */
|
||||
|
|
@ -0,0 +1,33 @@
|
|||
/*
|
||||
* Enable all PHYs
|
||||
*
|
||||
* This software may be used and distributed according to the
|
||||
* terms of the GNU Public License, Version 2, incorporated
|
||||
* herein by reference.
|
||||
*
|
||||
* Copyright 2011 Freescale Semiconductor, Inc.
|
||||
* author Andy Fleming
|
||||
*
|
||||
*/
|
||||
#ifndef _CONFIG_PHYLIB_ALL_H
|
||||
#define _CONFIG_PHYLIB_ALL_H
|
||||
|
||||
#ifdef CONFIG_PHYLIB
|
||||
|
||||
#define CONFIG_PHY_VITESSE
|
||||
#define CONFIG_PHY_MARVELL
|
||||
#define CONFIG_PHY_MICREL
|
||||
#define CONFIG_PHY_BROADCOM
|
||||
#define CONFIG_PHY_DAVICOM
|
||||
#define CONFIG_PHY_REALTEK
|
||||
#define CONFIG_PHY_NATSEMI
|
||||
#define CONFIG_PHY_LXT
|
||||
#define CONFIG_PHY_ATHEROS
|
||||
|
||||
#ifdef CONFIG_PHYLIB_10G
|
||||
#define CONFIG_PHY_TERANETICS
|
||||
#endif /* CONFIG_PHYLIB_10G */
|
||||
|
||||
#endif /* CONFIG_PHYLIB */
|
||||
|
||||
#endif /*_CONFIG_PHYLIB_ALL_H */
|
||||
|
|
@ -0,0 +1,310 @@
|
|||
/*
|
||||
* (C) Copyright 2001, 2002, 2003
|
||||
* Wolfgang Denk, DENX Software Engineering, wd@denx.de.
|
||||
*
|
||||
* See file CREDITS for list of people who contributed to this
|
||||
* project.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of
|
||||
* the License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston,
|
||||
* MA 02111-1307 USA
|
||||
*/
|
||||
|
||||
/* ------------------------------------------------------------------------- */
|
||||
/*
|
||||
* Configuration settings for the A-3000 board (Artis Microsystems Inc.).
|
||||
* http://artismicro.com
|
||||
*/
|
||||
|
||||
/* ------------------------------------------------------------------------- */
|
||||
|
||||
/*
|
||||
* board/config.h - configuration options, board specific
|
||||
*/
|
||||
|
||||
#ifndef __CONFIG_H
|
||||
#define __CONFIG_H
|
||||
|
||||
/*
|
||||
* High Level Configuration Options
|
||||
* (easy to change)
|
||||
*/
|
||||
|
||||
#define CONFIG_MPC824X 1
|
||||
#define CONFIG_MPC8245 1
|
||||
#define CONFIG_A3000 1
|
||||
|
||||
#define CONFIG_SYS_TEXT_BASE 0xFFF00000
|
||||
|
||||
#define CONFIG_CONS_INDEX 1
|
||||
#define CONFIG_BAUDRATE 9600
|
||||
|
||||
#define CONFIG_BOOTDELAY 5
|
||||
|
||||
|
||||
/*
|
||||
* 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>
|
||||
|
||||
|
||||
/*
|
||||
* Miscellaneous configurable options
|
||||
*/
|
||||
#undef CONFIG_SYS_LONGHELP /* undef to save memory */
|
||||
#define CONFIG_SYS_PROMPT "A3000> " /* Monitor Command Prompt */
|
||||
#define CONFIG_SYS_CBSIZE 256 /* Console I/O Buffer Size */
|
||||
|
||||
/* Print Buffer Size
|
||||
*/
|
||||
#define CONFIG_SYS_PBSIZE (CONFIG_SYS_CBSIZE + sizeof(CONFIG_SYS_PROMPT) + 16)
|
||||
#define CONFIG_SYS_MAXARGS 8 /* Max number of command args */
|
||||
#define CONFIG_SYS_BARGSIZE CONFIG_SYS_CBSIZE /* Boot Argument Buffer Size */
|
||||
#define CONFIG_SYS_LOAD_ADDR 0x00400000 /* Default load address */
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* PCI stuff
|
||||
*-----------------------------------------------------------------------
|
||||
*/
|
||||
#define CONFIG_HARD_I2C 1 /* To enable I2C support */
|
||||
#undef CONFIG_SOFT_I2C /* I2C bit-banged */
|
||||
#define CONFIG_SYS_I2C_SPEED 400000 /* I2C speed and slave address */
|
||||
#define CONFIG_SYS_I2C_SLAVE 0x7F
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* PCI stuff
|
||||
*-----------------------------------------------------------------------
|
||||
*/
|
||||
#define CONFIG_PCI /* include pci support */
|
||||
#undef CONFIG_PCI_PNP
|
||||
#define CONFIG_PCI_SCAN_SHOW /* print pci devices @ startup */
|
||||
|
||||
|
||||
/* #define CONFIG_TULIP */
|
||||
/* #define CONFIG_EEPRO100 */
|
||||
#define CONFIG_NATSEMI
|
||||
|
||||
#define PCI_ENET0_IOADDR 0x80000000
|
||||
#define PCI_ENET0_MEMADDR 0x80000000
|
||||
#define PCI_ENET1_IOADDR 0x81000000
|
||||
#define PCI_ENET1_MEMADDR 0x81000000
|
||||
#define PCI_ENET2_IOADDR 0x82000000
|
||||
#define PCI_ENET2_MEMADDR 0x82000000
|
||||
#define PCI_ENET3_IOADDR 0x83000000
|
||||
#define PCI_ENET3_MEMADDR 0x83000000
|
||||
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* Start addresses for the final memory configuration
|
||||
* (Set up by the startup code)
|
||||
* Please note that CONFIG_SYS_SDRAM_BASE _must_ start at 0
|
||||
*/
|
||||
#define CONFIG_SYS_SDRAM_BASE 0x00000000
|
||||
|
||||
#define CONFIG_SYS_FLASH_BASE0_PRELIM 0xFF000000 /* FLASH bank on RCS#0 */
|
||||
#define CONFIG_SYS_FLASH_BASE1_PRELIM 0xFF000000 /* FLASH bank on RCS#1 */
|
||||
#define CONFIG_SYS_FLASH_BASE CONFIG_SYS_FLASH_BASE0_PRELIM
|
||||
#define CONFIG_SYS_FLASH_BANKS { CONFIG_SYS_FLASH_BASE0_PRELIM }
|
||||
|
||||
/* even though FLASHP_BASE is FF800000, with 4MB is RCS0, the
|
||||
* reset vector is actually located at FFB00100, but the 8245
|
||||
* takes care of us.
|
||||
*/
|
||||
#define CONFIG_SYS_RESET_ADDRESS 0xFFF00100
|
||||
|
||||
#define CONFIG_SYS_EUMB_ADDR 0xFC000000
|
||||
|
||||
#define CONFIG_SYS_MONITOR_BASE CONFIG_SYS_TEXT_BASE
|
||||
#define CONFIG_SYS_MONITOR_LEN (256 << 10) /* Reserve 256 kB for Monitor */
|
||||
#define CONFIG_SYS_MALLOC_LEN (128 << 10) /* Reserve 128 kB for malloc() */
|
||||
|
||||
#define CONFIG_SYS_MEMTEST_START 0x00004000 /* memtest works on */
|
||||
#define CONFIG_SYS_MEMTEST_END 0x02000000 /* 0 ... 32 MB in DRAM */
|
||||
|
||||
/* Maximum amount of RAM.
|
||||
*/
|
||||
#define CONFIG_SYS_MAX_RAM_SIZE 0x04000000 /* 0 .. 128 MB of (S)DRAM */
|
||||
|
||||
|
||||
#if CONFIG_SYS_MONITOR_BASE >= CONFIG_SYS_FLASH_BASE
|
||||
#undef CONFIG_SYS_RAMBOOT
|
||||
#else
|
||||
#define CONFIG_SYS_RAMBOOT
|
||||
#endif
|
||||
|
||||
/*
|
||||
* NS16550 Configuration
|
||||
*/
|
||||
#define CONFIG_SYS_NS16550
|
||||
#define CONFIG_SYS_NS16550_SERIAL
|
||||
|
||||
#define CONFIG_SYS_NS16550_REG_SIZE 1
|
||||
|
||||
#define CONFIG_SYS_NS16550_CLK get_bus_freq(0)
|
||||
|
||||
#define CONFIG_SYS_NS16550_COM1 (CONFIG_SYS_EUMB_ADDR + 0x4500)
|
||||
#define CONFIG_SYS_NS16550_COM2 (CONFIG_SYS_EUMB_ADDR + 0x4600)
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* Definitions for initial stack pointer and data area
|
||||
*/
|
||||
|
||||
/* #define CONFIG_SYS_MONITOR_BASE CONFIG_SYS_TEXT_BASE */
|
||||
#define CONFIG_SYS_INIT_RAM_ADDR 0x40000000
|
||||
#define CONFIG_SYS_INIT_RAM_SIZE 0x1000
|
||||
#define CONFIG_SYS_GBL_DATA_OFFSET (CONFIG_SYS_INIT_RAM_SIZE - GENERATED_GBL_DATA_SIZE)
|
||||
|
||||
|
||||
/*
|
||||
* Low Level Configuration Settings
|
||||
* (address mappings, register initial values, etc.)
|
||||
* You should know what you are doing if you make changes here.
|
||||
* For the detail description refer to the MPC8240 user's manual.
|
||||
*/
|
||||
|
||||
#define CONFIG_SYS_CLK_FREQ 33333333 /* external frequency to pll */
|
||||
#define CONFIG_SYS_HZ 1000
|
||||
|
||||
/* Bit-field values for MCCR1.
|
||||
*/
|
||||
#define CONFIG_SYS_ROMNAL 7
|
||||
#define CONFIG_SYS_ROMFAL 11
|
||||
#define CONFIG_SYS_DBUS_SIZE 0x3
|
||||
|
||||
/* Bit-field values for MCCR2.
|
||||
*/
|
||||
#define CONFIG_SYS_TSWAIT 0x5 /* Transaction Start Wait States timer */
|
||||
#define CONFIG_SYS_REFINT 0x400 /* Refresh interval FIXME: was 0t430 */
|
||||
|
||||
/* Burst To Precharge. Bits of this value go to MCCR3 and MCCR4.
|
||||
*/
|
||||
#define CONFIG_SYS_BSTOPRE 121
|
||||
|
||||
/* Bit-field values for MCCR3.
|
||||
*/
|
||||
#define CONFIG_SYS_REFREC 8 /* Refresh to activate interval */
|
||||
|
||||
/* Bit-field values for MCCR4.
|
||||
*/
|
||||
#define CONFIG_SYS_PRETOACT 3 /* Precharge to activate interval FIXME: was 2 */
|
||||
#define CONFIG_SYS_ACTTOPRE 5 /* Activate to Precharge interval FIXME: was 5 */
|
||||
#define CONFIG_SYS_ACTORW 3 /* FIXME was 2 */
|
||||
#define CONFIG_SYS_SDMODE_CAS_LAT 3 /* SDMODE CAS latancy */
|
||||
#define CONFIG_SYS_SDMODE_WRAP 0 /* SDMODE wrap type */
|
||||
#define CONFIG_SYS_REGISTERD_TYPE_BUFFER 1
|
||||
#define CONFIG_SYS_EXTROM 1
|
||||
#define CONFIG_SYS_REGDIMM 0
|
||||
|
||||
#define CONFIG_SYS_PGMAX 0x32 /* how long the 8240 reatins the currently accessed page in memory FIXME: was 0x32*/
|
||||
|
||||
#define CONFIG_SYS_SDRAM_DSCD 0x20 /* SDRAM data in sample clock delay - note bottom 3 bits MUST be 0 */
|
||||
|
||||
/* Memory bank settings.
|
||||
* Only bits 20-29 are actually used from these vales to set the
|
||||
* start/end addresses. The upper two bits will always be 0, and the lower
|
||||
* 20 bits will be 0x00000 for a start address, or 0xfffff for an end
|
||||
* address. Refer to the MPC8240 book.
|
||||
*/
|
||||
|
||||
#define CONFIG_SYS_BANK0_START 0x00000000
|
||||
#define CONFIG_SYS_BANK0_END (CONFIG_SYS_MAX_RAM_SIZE - 1)
|
||||
#define CONFIG_SYS_BANK0_ENABLE 1
|
||||
#define CONFIG_SYS_BANK1_START 0x3ff00000
|
||||
#define CONFIG_SYS_BANK1_END 0x3fffffff
|
||||
#define CONFIG_SYS_BANK1_ENABLE 0
|
||||
#define CONFIG_SYS_BANK2_START 0x3ff00000
|
||||
#define CONFIG_SYS_BANK2_END 0x3fffffff
|
||||
#define CONFIG_SYS_BANK2_ENABLE 0
|
||||
#define CONFIG_SYS_BANK3_START 0x3ff00000
|
||||
#define CONFIG_SYS_BANK3_END 0x3fffffff
|
||||
#define CONFIG_SYS_BANK3_ENABLE 0
|
||||
#define CONFIG_SYS_BANK4_START 0x3ff00000
|
||||
#define CONFIG_SYS_BANK4_END 0x3fffffff
|
||||
#define CONFIG_SYS_BANK4_ENABLE 0
|
||||
#define CONFIG_SYS_BANK5_START 0x3ff00000
|
||||
#define CONFIG_SYS_BANK5_END 0x3fffffff
|
||||
#define CONFIG_SYS_BANK5_ENABLE 0
|
||||
#define CONFIG_SYS_BANK6_START 0x3ff00000
|
||||
#define CONFIG_SYS_BANK6_END 0x3fffffff
|
||||
#define CONFIG_SYS_BANK6_ENABLE 0
|
||||
#define CONFIG_SYS_BANK7_START 0x3ff00000
|
||||
#define CONFIG_SYS_BANK7_END 0x3fffffff
|
||||
#define CONFIG_SYS_BANK7_ENABLE 0
|
||||
|
||||
#define CONFIG_SYS_ODCR 0xff
|
||||
|
||||
#define CONFIG_SYS_IBAT0L (CONFIG_SYS_SDRAM_BASE | BATL_PP_10 | BATL_MEMCOHERENCE)
|
||||
#define CONFIG_SYS_IBAT0U (CONFIG_SYS_SDRAM_BASE | BATU_BL_256M | BATU_VS | BATU_VP)
|
||||
|
||||
#define CONFIG_SYS_IBAT1L (CONFIG_SYS_INIT_RAM_ADDR | BATL_PP_10 | BATL_MEMCOHERENCE)
|
||||
#define CONFIG_SYS_IBAT1U (CONFIG_SYS_INIT_RAM_ADDR | BATU_BL_128K | BATU_VS | BATU_VP)
|
||||
|
||||
#define CONFIG_SYS_IBAT2L (0x80000000 | BATL_PP_10 | BATL_CACHEINHIBIT)
|
||||
#define CONFIG_SYS_IBAT2U (0x80000000 | BATU_BL_256M | BATU_VS | BATU_VP)
|
||||
|
||||
#define CONFIG_SYS_IBAT3L (0xF0000000 | BATL_PP_10 | BATL_CACHEINHIBIT)
|
||||
#define CONFIG_SYS_IBAT3U (0xF0000000 | BATU_BL_256M | BATU_VS | BATU_VP)
|
||||
|
||||
#define CONFIG_SYS_DBAT0L CONFIG_SYS_IBAT0L
|
||||
#define CONFIG_SYS_DBAT0U CONFIG_SYS_IBAT0U
|
||||
#define CONFIG_SYS_DBAT1L CONFIG_SYS_IBAT1L
|
||||
#define CONFIG_SYS_DBAT1U CONFIG_SYS_IBAT1U
|
||||
#define CONFIG_SYS_DBAT2L CONFIG_SYS_IBAT2L
|
||||
#define CONFIG_SYS_DBAT2U CONFIG_SYS_IBAT2U
|
||||
#define CONFIG_SYS_DBAT3L CONFIG_SYS_IBAT3L
|
||||
#define CONFIG_SYS_DBAT3U CONFIG_SYS_IBAT3U
|
||||
|
||||
/*
|
||||
* For booting Linux, the board info and command line data
|
||||
* have to be in the first 8 MB of memory, since this is
|
||||
* the maximum mapped by the Linux kernel during initialization.
|
||||
*/
|
||||
#define CONFIG_SYS_BOOTMAPSZ (8 << 20) /* Initial Memory map for Linux */
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* FLASH organization
|
||||
*/
|
||||
#define CONFIG_SYS_MAX_FLASH_BANKS 1 /* Max number of flash banks */
|
||||
#define CONFIG_SYS_MAX_FLASH_SECT 128 /* Max number of sectors per flash */
|
||||
|
||||
#define CONFIG_SYS_FLASH_ERASE_TOUT 120000 /* Timeout for Flash Erase (in ms) */
|
||||
#define CONFIG_SYS_FLASH_WRITE_TOUT 500 /* Timeout for Flash Write (in ms) */
|
||||
|
||||
|
||||
/* Warining: environment is not EMBEDDED in the U-Boot code.
|
||||
* It's stored in flash separately.
|
||||
*/
|
||||
#define CONFIG_ENV_IS_IN_FLASH 1
|
||||
#define CONFIG_ENV_ADDR 0xFFFE0000
|
||||
#define CONFIG_ENV_SIZE 0x00020000 /* Size of the Environment */
|
||||
#define CONFIG_ENV_SECT_SIZE 0x00020000 /* Size of the Environment Sector */
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* Cache Configuration
|
||||
*/
|
||||
#define CONFIG_SYS_CACHELINE_SIZE 32
|
||||
#if defined(CONFIG_CMD_KGDB)
|
||||
# define CONFIG_SYS_CACHELINE_SHIFT 5 /* log base 2 of the above value */
|
||||
#endif
|
||||
|
||||
#endif /* __CONFIG_H */
|
||||
|
|
@ -0,0 +1,203 @@
|
|||
/*
|
||||
* (C) Copyright 2001
|
||||
* Stefan Roese, esd gmbh germany, stefan.roese@esd-electronics.com
|
||||
*
|
||||
* See file CREDITS for list of people who contributed to this
|
||||
* project.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of
|
||||
* the License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston,
|
||||
* MA 02111-1307 USA
|
||||
*/
|
||||
|
||||
/*
|
||||
* board/config.h - configuration options, board specific
|
||||
*/
|
||||
|
||||
#ifndef __CONFIG_H
|
||||
#define __CONFIG_H
|
||||
|
||||
/*
|
||||
* High Level Configuration Options
|
||||
* (easy to change)
|
||||
*/
|
||||
|
||||
#define CONFIG_IOP480 1 /* This is a IOP480 CPU */
|
||||
#define CONFIG_ADCIOP 1 /* ...on a ADCIOP board */
|
||||
|
||||
#define CONFIG_SYS_TEXT_BASE 0xFFFD0000
|
||||
|
||||
#define CONFIG_BOARD_EARLY_INIT_F 1 /* call board_early_init_f() */
|
||||
|
||||
#define CONFIG_CLOCKS_IN_MHZ 1 /* clocks passsed to Linux in MHz */
|
||||
|
||||
#define CONFIG_CPUCLOCK 66
|
||||
#define CONFIG_BUSCLOCK (CONFIG_CPUCLOCK)
|
||||
|
||||
#define CONFIG_BAUDRATE 9600
|
||||
#define CONFIG_BOOTDELAY 3 /* autoboot after 3 seconds */
|
||||
#define CONFIG_BOOTCOMMAND "bootm ffc00000" /* autoboot command */
|
||||
|
||||
#undef CONFIG_BOOTARGS
|
||||
|
||||
#define CONFIG_LOADS_ECHO 1 /* echo on for serial download */
|
||||
#define CONFIG_SYS_LOADS_BAUD_CHANGE 1 /* allow baudrate change */
|
||||
|
||||
#undef CONFIG_WATCHDOG /* watchdog disabled */
|
||||
|
||||
#define CONFIG_PHY_ADDR 0 /* PHY address */
|
||||
|
||||
#define CONFIG_IPADDR 10.0.18.222
|
||||
#define CONFIG_SERVERIP 10.0.18.190
|
||||
|
||||
|
||||
/*
|
||||
* 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_DHCP
|
||||
#define CONFIG_CMD_IRQ
|
||||
#define CONFIG_CMD_ELF
|
||||
#define CONFIG_CMD_ASKENV
|
||||
|
||||
|
||||
/*
|
||||
* Miscellaneous configurable options
|
||||
*/
|
||||
#define CONFIG_SYS_LONGHELP /* undef to save memory */
|
||||
#define CONFIG_SYS_PROMPT "=> " /* Monitor Command Prompt */
|
||||
#if defined(CONFIG_CMD_KGDB)
|
||||
#define CONFIG_SYS_CBSIZE 1024 /* Console I/O Buffer Size */
|
||||
#else
|
||||
#define CONFIG_SYS_CBSIZE 256 /* Console I/O Buffer Size */
|
||||
#endif
|
||||
#define CONFIG_SYS_PBSIZE (CONFIG_SYS_CBSIZE+sizeof(CONFIG_SYS_PROMPT)+16) /* Print Buffer Size */
|
||||
#define CONFIG_SYS_MAXARGS 16 /* max number of command args */
|
||||
#define CONFIG_SYS_BARGSIZE CONFIG_SYS_CBSIZE /* Boot Argument Buffer Size */
|
||||
|
||||
#define CONFIG_SYS_CONSOLE_INFO_QUIET 1 /* don't print console @ startup*/
|
||||
|
||||
#define CONFIG_SYS_MEMTEST_START 0x0400000 /* memtest works on */
|
||||
#define CONFIG_SYS_MEMTEST_END 0x0C00000 /* 4 ... 12 MB in DRAM */
|
||||
|
||||
/* The following table includes the supported baudrates */
|
||||
#define CONFIG_SYS_BAUDRATE_TABLE \
|
||||
{ 300, 600, 1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200 }
|
||||
|
||||
#define CONFIG_SYS_LOAD_ADDR 0x100000 /* default load address */
|
||||
|
||||
#define CONFIG_SYS_HZ 1000 /* decrementer freq: 1 ms ticks */
|
||||
|
||||
#define CONFIG_ZERO_BOOTDELAY_CHECK /* check for keypress on bootdelay==0 */
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* Definitions for initial stack pointer and data area (in DPRAM)
|
||||
*/
|
||||
#define CONFIG_SYS_INIT_RAM_ADDR 0x00df0000 /* inside of SDRAM */
|
||||
#define CONFIG_SYS_INIT_RAM_SIZE 0x0f00 /* Size of used area in RAM */
|
||||
#define CONFIG_SYS_GBL_DATA_OFFSET (CONFIG_SYS_INIT_RAM_SIZE - GENERATED_GBL_DATA_SIZE)
|
||||
#define CONFIG_SYS_INIT_SP_OFFSET CONFIG_SYS_GBL_DATA_OFFSET
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* Start addresses for the final memory configuration
|
||||
* (Set up by the startup code)
|
||||
* Please note that CONFIG_SYS_SDRAM_BASE _must_ start at 0
|
||||
*/
|
||||
#define CONFIG_SYS_SDRAM_BASE 0x00000000
|
||||
#define CONFIG_SYS_FLASH_BASE 0xFFFD0000
|
||||
#define CONFIG_SYS_MONITOR_BASE CONFIG_SYS_FLASH_BASE
|
||||
#define CONFIG_SYS_MONITOR_LEN (192 << 10) /* Reserve 192 kB for Monitor */
|
||||
#define CONFIG_SYS_MALLOC_LEN (128 << 10) /* Reserve 128 kB for malloc() */
|
||||
|
||||
/*
|
||||
* For booting Linux, the board info and command line data
|
||||
* have to be in the first 8 MB of memory, since this is
|
||||
* the maximum mapped by the Linux kernel during initialization.
|
||||
*/
|
||||
#define CONFIG_SYS_BOOTMAPSZ (8 << 20) /* Initial Memory map for Linux */
|
||||
/*-----------------------------------------------------------------------
|
||||
* FLASH organization
|
||||
*/
|
||||
#define CONFIG_SYS_MAX_FLASH_BANKS 2 /* max number of memory banks */
|
||||
#define CONFIG_SYS_MAX_FLASH_SECT 256 /* max number of sectors on one chip */
|
||||
|
||||
#define CONFIG_SYS_FLASH_ERASE_TOUT 120000 /* Timeout for Flash Erase (in ms) */
|
||||
#define CONFIG_SYS_FLASH_WRITE_TOUT 500 /* Timeout for Flash Write (in ms) */
|
||||
|
||||
#define CONFIG_SYS_FLASH_WORD_SIZE unsigned char /* flash word size (width) */
|
||||
#define CONFIG_SYS_FLASH_ADDR0 0x0AA9 /* 1st address for flash config cycles */
|
||||
#define CONFIG_SYS_FLASH_ADDR1 0x0556 /* 2nd address for flash config cycles */
|
||||
/*
|
||||
* The following defines are added for buggy IOP480 byte interface.
|
||||
* All other boards should use the standard values (CPCI405 etc.)
|
||||
*/
|
||||
#define CONFIG_SYS_FLASH_READ0 0x0002 /* 0 is standard */
|
||||
#define CONFIG_SYS_FLASH_READ1 0x0000 /* 1 is standard */
|
||||
#define CONFIG_SYS_FLASH_READ2 0x0004 /* 2 is standard */
|
||||
|
||||
#define CONFIG_SYS_FLASH_EMPTY_INFO /* print 'E' for empty sector on flinfo */
|
||||
|
||||
#if 1 /* Use NVRAM for environment variables */
|
||||
/*-----------------------------------------------------------------------
|
||||
* NVRAM organization
|
||||
*/
|
||||
#define CONFIG_ENV_IS_IN_NVRAM 1 /* use NVRAM for environment vars */
|
||||
#define CONFIG_SYS_NVRAM_BASE_ADDR 0x10000000 /* NVRAM base address */
|
||||
#define CONFIG_SYS_NVRAM_SIZE (32*1024) /* NVRAM size */
|
||||
#define CONFIG_ENV_SIZE 0x0400 /* Size of Environment vars */
|
||||
#define CONFIG_ENV_ADDR \
|
||||
(CONFIG_SYS_NVRAM_BASE_ADDR+CONFIG_SYS_NVRAM_SIZE-CONFIG_ENV_SIZE) /* Env */
|
||||
#define CONFIG_SYS_VXWORKS_MAC_PTR (CONFIG_SYS_NVRAM_BASE_ADDR+0x7800) /* VxWorks eth-addr*/
|
||||
|
||||
#else /* Use FLASH for environment variables */
|
||||
|
||||
#define CONFIG_ENV_IS_IN_FLASH 1
|
||||
#define CONFIG_ENV_OFFSET 0x00010000 /* Offset of Environment Sector */
|
||||
#define CONFIG_ENV_SIZE 0x1000 /* Total Size of Environment Sector */
|
||||
|
||||
#define CONFIG_ENV_SECT_SIZE 0x8000 /* see README - env sector total size */
|
||||
|
||||
#endif
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* PCI stuff
|
||||
*/
|
||||
#define CONFIG_PCI /* include pci support */
|
||||
#undef CONFIG_PCI_PNP
|
||||
|
||||
|
||||
#define CONFIG_TULIP
|
||||
|
||||
#define CONFIG_SYS_ETH_DEV_FN 0x0000
|
||||
#define CONFIG_SYS_ETH_IOBASE 0x0fff0000
|
||||
|
||||
/*
|
||||
* Init Memory Controller:
|
||||
*
|
||||
* BR0/1 and OR0/1 (FLASH)
|
||||
*/
|
||||
|
||||
#define FLASH_BASE0_PRELIM 0xFFC00000 /* FLASH bank #0 */
|
||||
#define FLASH_BASE1_PRELIM 0xFFE00000 /* FLASH bank #1 */
|
||||
|
||||
#endif /* __CONFIG_H */
|
||||
|
|
@ -0,0 +1,60 @@
|
|||
/*
|
||||
* A collection of structures, addresses, and values associated with
|
||||
* the Motorola 860 ADS board. Copied from the MBX stuff.
|
||||
* Magnus Damm added defines for 8xxrom and extended bd_info.
|
||||
* Helmut Buchsbaum added bitvalues for BCSRx
|
||||
*
|
||||
* Copyright (c) 1998 Dan Malek (dmalek@jlc.net)
|
||||
*
|
||||
* Modified by, Yuli Barcohen, Arabella Software Ltd., yuli@arabellasw.com
|
||||
*
|
||||
* Values common to all FADS family boards are in board/fads/fads.h
|
||||
*/
|
||||
|
||||
#ifndef __CONFIG_H
|
||||
#define __CONFIG_H
|
||||
|
||||
/* Board type */
|
||||
#define CONFIG_ADS 1 /* Old Motorola MPC821/860ADS */
|
||||
|
||||
/* Processor type */
|
||||
#define CONFIG_MPC860 1
|
||||
|
||||
#define CONFIG_SYS_TEXT_BASE 0xFE000000
|
||||
|
||||
#define CONFIG_8xx_CONS_SMC1 1 /* Console is on SMC1 */
|
||||
#undef CONFIG_8xx_CONS_SMC2
|
||||
#undef CONFIG_8xx_CONS_NONE
|
||||
|
||||
#define CONFIG_BAUDRATE 38400 /* Console baudrate */
|
||||
|
||||
#if 0
|
||||
#define CONFIG_SYS_8XX_FACT 1526 /* 32.768 kHz crystal on XTAL/EXTAL */
|
||||
#else
|
||||
#define CONFIG_SYS_8XX_FACT 12 /* 4 MHz oscillator on EXTCLK */
|
||||
#endif
|
||||
|
||||
#define CONFIG_SYS_PLPRCR (((CONFIG_SYS_8XX_FACT-1) << PLPRCR_MF_SHIFT) | \
|
||||
PLPRCR_SPLSS | PLPRCR_TEXPS | PLPRCR_TMIST)
|
||||
|
||||
#define CONFIG_DRAM_50MHZ 1
|
||||
|
||||
|
||||
/*
|
||||
* Command line configuration.
|
||||
*/
|
||||
#include <config_cmd_default.h>
|
||||
|
||||
#define CONFIG_CMD_DHCP
|
||||
#define CONFIG_CMD_IMMAP
|
||||
#define CONFIG_CMD_PCMCIA
|
||||
#define CONFIG_CMD_PING
|
||||
|
||||
/* This is picked up again in fads.h */
|
||||
#define FADS_COMMANDS_ALREADY_DEFINED
|
||||
|
||||
#include "../../board/fads/fads.h"
|
||||
|
||||
#define CONFIG_SYS_PC_IDE_RESET ((ushort)0x0008) /* PC 12 */
|
||||
|
||||
#endif /* __CONFIG_H */
|
||||
|
|
@ -0,0 +1,299 @@
|
|||
/*
|
||||
* (C) Copyright 2001-2005
|
||||
* Wolfgang Denk, DENX Software Engineering, wd@denx.de.
|
||||
*
|
||||
* See file CREDITS for list of people who contributed to this
|
||||
* project.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of
|
||||
* the License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston,
|
||||
* MA 02111-1307 USA
|
||||
*/
|
||||
|
||||
/*
|
||||
* board/config.h - configuration options, board specific
|
||||
*/
|
||||
|
||||
#ifndef __CONFIG_H
|
||||
#define __CONFIG_H
|
||||
|
||||
/*
|
||||
* High Level Configuration Options
|
||||
* (easy to change)
|
||||
*/
|
||||
|
||||
#define CONFIG_MPC860 1
|
||||
#define CONFIG_AMX860 1
|
||||
|
||||
#define CONFIG_SYS_TEXT_BASE 0x40000000
|
||||
|
||||
#undef CONFIG_8xx_CONS_SMC1 /* Console is on SCC2 */
|
||||
#undef CONFIG_8xx_CONS_SMC2
|
||||
#define CONFIG_8xx_CONS_SCC2 1
|
||||
#undef CONFIG_8xx_CONS_NONE
|
||||
#define CONFIG_BAUDRATE 9600
|
||||
#define CONFIG_LOADS_ECHO 1 /* echo on for serial download */
|
||||
|
||||
#define MPC8XX_FACT 10 /* Multiply by 10 */
|
||||
#define MPC8XX_XIN 5000000 /* 5 MHz in */
|
||||
#define MPC8XX_HZ ((MPC8XX_XIN) * (MPC8XX_FACT))
|
||||
|
||||
#if 0
|
||||
#define CONFIG_BOOTDELAY -1 /* autoboot disabled */
|
||||
#else
|
||||
#define CONFIG_BOOTDELAY 5 /* autoboot after 5 seconds */
|
||||
#endif
|
||||
|
||||
#define CONFIG_BOOTCOMMAND \
|
||||
"bootp;" \
|
||||
"setenv bootargs root=/dev/nfs rw nfsroot=${serverip}:${rootpath} " \
|
||||
"ip=${ipaddr}:${serverip}:${gatewayip}:${netmask}:${hostname}::off;" \
|
||||
"bootm" /* autoboot command */
|
||||
|
||||
#undef CONFIG_BOOTARGS
|
||||
|
||||
#undef CONFIG_WATCHDOG /* watchdog disabled */
|
||||
|
||||
#define CONFIG_SCC1_ENET 1 /* use SCC1 ethernet */
|
||||
|
||||
#define CONFIG_RTC_MPC8xx /* use internal RTC of MPC8xx */
|
||||
|
||||
|
||||
/*
|
||||
* Command line configuration.
|
||||
*/
|
||||
#include <config_cmd_default.h>
|
||||
|
||||
#define CONFIG_CMD_DHCP
|
||||
#define CONFIG_CMD_DATE
|
||||
#define CONFIG_CMD_NFS
|
||||
#define CONFIG_CMD_SNTP
|
||||
|
||||
|
||||
#if defined(CONFIG_CMD_KGDB)
|
||||
#undef CONFIG_KGDB_ON_SMC /* define if kgdb on SMC */
|
||||
#define CONFIG_KGDB_ON_SCC /* define if kgdb on SCC */
|
||||
#undef CONFIG_KGDB_NONE /* define if kgdb on something else */
|
||||
#define CONFIG_KGDB_INDEX 1 /* which serial channel for kgdb */
|
||||
#define CONFIG_KGDB_BAUDRATE 9600 /* speed to run kgdb serial port at */
|
||||
#endif
|
||||
|
||||
|
||||
/*
|
||||
* BOOTP options
|
||||
*/
|
||||
#define CONFIG_BOOTP_BOOTFILESIZE
|
||||
#define CONFIG_BOOTP_BOOTPATH
|
||||
#define CONFIG_BOOTP_GATEWAY
|
||||
#define CONFIG_BOOTP_HOSTNAME
|
||||
#define CONFIG_BOOTP_SUBNETMASK
|
||||
|
||||
|
||||
/*
|
||||
* Miscellaneous configurable options
|
||||
*/
|
||||
#define CONFIG_SYS_LONGHELP /* undef to save memory */
|
||||
#define CONFIG_SYS_PROMPT "=> " /* Monitor Command Prompt */
|
||||
#if defined(CONFIG_CMD_KGDB)
|
||||
#define CONFIG_SYS_CBSIZE 1024 /* Console I/O Buffer Size */
|
||||
#else
|
||||
#define CONFIG_SYS_CBSIZE 256 /* Console I/O Buffer Size */
|
||||
#endif
|
||||
#define CONFIG_SYS_PBSIZE (CONFIG_SYS_CBSIZE+sizeof(CONFIG_SYS_PROMPT)+16) /* Print Buffer Size */
|
||||
#define CONFIG_SYS_MAXARGS 16 /* max number of command args */
|
||||
#define CONFIG_SYS_BARGSIZE CONFIG_SYS_CBSIZE /* Boot Argument Buffer Size */
|
||||
|
||||
#define CONFIG_SYS_MEMTEST_START 0x0100000 /* memtest works on */
|
||||
#define CONFIG_SYS_MEMTEST_END 0x0200000 /* 1 ... 4 MB in DRAM */
|
||||
|
||||
#define CONFIG_SYS_LOAD_ADDR 0x00100000
|
||||
|
||||
#define CONFIG_SYS_HZ 1000 /* decrementer freq: 1 ms ticks */
|
||||
|
||||
/*
|
||||
* Low Level Configuration Settings
|
||||
* (address mappings, register initial values, etc.)
|
||||
* You should know what you are doing if you make changes here.
|
||||
*/
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* Internal Memory Mapped Register
|
||||
*/
|
||||
#define CONFIG_SYS_IMMR 0xFF000000
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* Definitions for initial stack pointer and data area (in DPRAM)
|
||||
*/
|
||||
#define CONFIG_SYS_INIT_RAM_ADDR CONFIG_SYS_IMMR
|
||||
#define CONFIG_SYS_INIT_RAM_SIZE 0x2F00 /* Size of used area in DPRAM */
|
||||
#define CONFIG_SYS_GBL_DATA_OFFSET (CONFIG_SYS_INIT_RAM_SIZE - GENERATED_GBL_DATA_SIZE)
|
||||
#define CONFIG_SYS_INIT_SP_OFFSET CONFIG_SYS_GBL_DATA_OFFSET
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* Start addresses for the final memory configuration
|
||||
* (Set up by the startup code)
|
||||
* Please note that CONFIG_SYS_SDRAM_BASE _must_ start at 0
|
||||
*/
|
||||
#define CONFIG_SYS_SDRAM_BASE 0x00000000
|
||||
#define CONFIG_SYS_FLASH_BASE 0x40000000
|
||||
#if defined(DEBUG)
|
||||
#define CONFIG_SYS_MONITOR_LEN (256 << 10) /* Reserve 256 kB for Monitor */
|
||||
#else
|
||||
#define CONFIG_SYS_MONITOR_LEN (192 << 10) /* Reserve 192 kB for Monitor */
|
||||
#endif
|
||||
#define CONFIG_SYS_MONITOR_BASE CONFIG_SYS_FLASH_BASE
|
||||
#define CONFIG_SYS_MALLOC_LEN (128 << 10) /* Reserve 128 kB for malloc() */
|
||||
|
||||
/*
|
||||
* U-Boot for AMX board supports two types of memory extension
|
||||
* modules: one that provides 4 MB flash memory, and another one with
|
||||
* 16 MB EDO DRAM.
|
||||
*
|
||||
* The flash module swaps the CS0 and CS1 signals: if the module is
|
||||
* installed, CS0 is connected to Flash on the module and CS1 is
|
||||
* connected to the on-board Flash. This means that you must intall
|
||||
* U-Boot when the Flash module is plugged in, if you plan to use
|
||||
* it.
|
||||
*
|
||||
* To enable support for the DRAM extension card, CONFIG_AMX_RAM_EXT
|
||||
* must be defined. The DRAM module uses CS1.
|
||||
*
|
||||
* Only one of these modules may be installed at a time. If U-Boot
|
||||
* is compiled with the CONFIG_AMX_RAM_EXT option set, it will not
|
||||
* work if the Flash extension module is installed instead of the
|
||||
* DRAM module.
|
||||
*/
|
||||
#define CONFIG_AMX_RAM_EXT /* 16Mb Ext. DRAM module support */
|
||||
|
||||
/*
|
||||
* For booting Linux, the board info and command line data
|
||||
* have to be in the first 8 MB of memory, since this is
|
||||
* the maximum mapped by the Linux kernel during initialization.
|
||||
*
|
||||
* Use 4 MB for without and 8 MB with 16 MB DRAM extension module
|
||||
* (CONFIG_AMX_RAM_EXT)
|
||||
*/
|
||||
#ifdef CONFIG_AMX_RAM_EXT
|
||||
# define CONFIG_SYS_BOOTMAPSZ (8 << 20) /* Initial Memory map for Linux */
|
||||
#else
|
||||
# define CONFIG_SYS_BOOTMAPSZ (4 << 20) /* Initial Memory map for Linux */
|
||||
#endif
|
||||
/*-----------------------------------------------------------------------
|
||||
* FLASH organization
|
||||
*/
|
||||
#define CONFIG_SYS_MAX_FLASH_BANKS 2 /* max number of memory banks */
|
||||
#define CONFIG_SYS_MAX_FLASH_SECT 35 /* max number of sectors on one chip */
|
||||
|
||||
#define CONFIG_SYS_FLASH_ERASE_TOUT 120000 /* Timeout for Flash Erase (in ms) */
|
||||
#define CONFIG_SYS_FLASH_WRITE_TOUT 500 /* Timeout for Flash Write (in ms) */
|
||||
|
||||
#define CONFIG_ENV_IS_IN_FLASH 1
|
||||
#define CONFIG_ENV_OFFSET 0x8000 /* Offset of Environment Sector */
|
||||
#define CONFIG_ENV_SIZE 0x4000 /* Total Size of Environment Sector */
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* Cache Configuration
|
||||
*/
|
||||
#define CONFIG_SYS_CACHELINE_SIZE 16 /* For all MPC8xx CPUs */
|
||||
#if defined(CONFIG_CMD_KGDB)
|
||||
#define CONFIG_SYS_CACHELINE_SHIFT 4 /* log base 2 of the above value */
|
||||
#endif
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* SYPCR - System Protection Control 11-9
|
||||
* SYPCR can only be written once after reset!
|
||||
*-----------------------------------------------------------------------
|
||||
* Software & Bus Monitor Timer max, Bus Monitor enable, SW Watchdog freeze
|
||||
*/
|
||||
#if defined(CONFIG_WATCHDOG)
|
||||
#define CONFIG_SYS_SYPCR (SYPCR_SWTC | SYPCR_BMT | SYPCR_BME | SYPCR_SWF | \
|
||||
SYPCR_SWE | SYPCR_SWRI| SYPCR_SWP)
|
||||
#else
|
||||
#define CONFIG_SYS_SYPCR (SYPCR_SWTC | SYPCR_BMT | SYPCR_BME | SYPCR_SWF | SYPCR_SWP)
|
||||
#endif
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* SIUMCR - SIU Module Configuration 11-6
|
||||
*-----------------------------------------------------------------------
|
||||
* PCMCIA config., multi-function pin tri-state
|
||||
*/
|
||||
#define CONFIG_SYS_SIUMCR (SIUMCR_DBGC00 | SIUMCR_DBPC00 | SIUMCR_MLRC01)
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* TBSCR - Time Base Status and Control 11-26
|
||||
*-----------------------------------------------------------------------
|
||||
* Clear Reference Interrupt Status, Timebase freezing enabled
|
||||
*/
|
||||
#define CONFIG_SYS_TBSCR (TBSCR_REFA | TBSCR_REFB | TBSCR_TBE)
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* PISCR - Periodic Interrupt Status and Control 11-31
|
||||
*-----------------------------------------------------------------------
|
||||
* Clear Periodic Interrupt Status, Interrupt Timer freezing enabled
|
||||
*/
|
||||
#define CONFIG_SYS_PISCR (PISCR_PS | PISCR_PITF)
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* PLPRCR - PLL, Low-Power, and Reset Control Register 15-30
|
||||
*-----------------------------------------------------------------------
|
||||
* set the PLL, the low-power modes and the reset control (15-29)
|
||||
*/
|
||||
#define CONFIG_SYS_PLPRCR (((MPC8XX_FACT-1) << PLPRCR_MF_SHIFT) | \
|
||||
PLPRCR_SPLSS | PLPRCR_TEXPS | PLPRCR_TMIST)
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* SCCR - System Clock and reset Control Register 15-27
|
||||
*-----------------------------------------------------------------------
|
||||
* Set clock output, timebase and RTC source and divider,
|
||||
* power management and some other internal clocks
|
||||
*/
|
||||
#define SCCR_MASK SCCR_EBDF11
|
||||
#define CONFIG_SYS_SCCR (SCCR_TBS|SCCR_COM00|SCCR_DFSYNC00|SCCR_DFBRG00|SCCR_DFNL000|SCCR_DFNH000|SCCR_DFLCD000|SCCR_DFALCD00)
|
||||
|
||||
#define CONFIG_SYS_DER 0
|
||||
|
||||
/*
|
||||
* Init Memory Controller:
|
||||
*
|
||||
* BR0/1 and OR0/1 (FLASH)
|
||||
*/
|
||||
|
||||
#define FLASH_BASE0_PRELIM 0x40000000 /* FLASH bank #0 */
|
||||
#ifndef CONFIG_AMX_RAM_EXT
|
||||
#define FLASH_BASE1_PRELIM 0x60000000 /* FLASH bank #1 */
|
||||
#endif
|
||||
|
||||
#define CONFIG_SYS_REMAP_OR_AM 0x80000000 /* OR addr mask */
|
||||
#define CONFIG_SYS_PRELIM_OR_AM 0xFFC00000 /* OR addr mask */
|
||||
|
||||
/* FLASH timing: ACS = 10, TRLX = 1, CSNT = 1, SCY = 3, EHTR = 0 */
|
||||
/* 0x00000800 0x00000400 0x00000100 0x00000030 0x00000004 */
|
||||
#define CONFIG_SYS_OR_TIMING_FLASH (OR_CSNT_SAM | OR_ACS_DIV4 | OR_BI | OR_SCY_5_CLK | OR_TRLX)
|
||||
|
||||
#define CONFIG_SYS_OR0_REMAP (CONFIG_SYS_REMAP_OR_AM | CONFIG_SYS_OR_TIMING_FLASH)
|
||||
|
||||
#define CONFIG_SYS_OR0_PRELIM 0xFFC00954 /* Real values for the board */
|
||||
#define CONFIG_SYS_BR0_PRELIM 0x40000001 /* Real values for the board */
|
||||
|
||||
#ifndef CONFIG_AMX_RAM_EXT
|
||||
#define CONFIG_SYS_OR1_REMAP CONFIG_SYS_OR0_REMAP
|
||||
#define CONFIG_SYS_OR1_PRELIM 0xFFC00954 /* Real values for the board */
|
||||
#define CONFIG_SYS_BR1_PRELIM 0x60000001 /* Real values for the board */
|
||||
#endif
|
||||
|
||||
/* DSP ("Glue") Xilinx */
|
||||
#define CONFIG_SYS_OR6_PRELIM 0xFFFF8000 /* 32kB, 15 waits, cs after addr, no bursts */
|
||||
#define CONFIG_SYS_BR6_PRELIM 0x60000401 /* use GPCM for CS generation, 8 bit port */
|
||||
|
||||
#endif /* __CONFIG_H */
|
||||
|
|
@ -0,0 +1,247 @@
|
|||
/*
|
||||
* AMIRIX.h: AMIRIX specific config options
|
||||
*
|
||||
* Author : Frank Smith (smith at amirix dot com)
|
||||
*
|
||||
* Derived from : other configuration header files in this tree
|
||||
*
|
||||
* This software may be used and distributed according to the terms of
|
||||
* the GNU General Public License (GPL) version 2, incorporated herein by
|
||||
* reference. Drivers based on or derived from this code fall under the GPL
|
||||
* and must retain the authorship, copyright and this license notice. This
|
||||
* file is not a complete program and may only be used when the entire
|
||||
* program is licensed under the GPL.
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef __CONFIG_H
|
||||
#define __CONFIG_H
|
||||
|
||||
/*
|
||||
* High Level Configuration Options
|
||||
* (easy to change)
|
||||
*/
|
||||
|
||||
#define CONFIG_405 1 /* This is a PPC405 CPU */
|
||||
#define CONFIG_4xx 1 /* ...member of PPC4xx family */
|
||||
|
||||
#define CONFIG_AP1000 1 /* ...on an AP1000 board */
|
||||
|
||||
/*
|
||||
* Start at bottom of RAM, but at an aliased address so that it looks
|
||||
* like it's not in RAM. This is a bit of voodoo to allow it to be
|
||||
* run from RAM instead of Flash.
|
||||
*/
|
||||
#define CONFIG_SYS_TEXT_BASE 0x08000000
|
||||
#define CONFIG_SYS_LDSCRIPT "board/amirix/ap1000/u-boot.lds"
|
||||
|
||||
#define CONFIG_PCI 1
|
||||
|
||||
#define CONFIG_SYS_HUSH_PARSER 1 /* use "hush" command parser */
|
||||
#define CONFIG_SYS_PROMPT "0> "
|
||||
|
||||
#define CONFIG_COMMAND_EDIT 1
|
||||
#define CONFIG_COMPLETE_ADDRESSES 1
|
||||
|
||||
#define CONFIG_ENV_IS_IN_FLASH 1
|
||||
#define CONFIG_SYS_FLASH_USE_BUFFER_WRITE
|
||||
|
||||
#ifdef CONFIG_ENV_IS_IN_NVRAM
|
||||
#undef CONFIG_ENV_IS_IN_FLASH
|
||||
#else
|
||||
#ifdef CONFIG_ENV_IS_IN_FLASH
|
||||
#undef CONFIG_ENV_IS_IN_NVRAM
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#define CONFIG_BAUDRATE 57600
|
||||
#define CONFIG_BOOTDELAY 3 /* autoboot after 3 seconds */
|
||||
|
||||
#define CONFIG_BOOTCOMMAND "" /* autoboot command */
|
||||
|
||||
#define CONFIG_BOOTARGS "console=ttyS0,57600"
|
||||
|
||||
#define CONFIG_LOADS_ECHO 1 /* echo on for serial download */
|
||||
#define CONFIG_SYS_LOADS_BAUD_CHANGE 1 /* allow baudrate change */
|
||||
|
||||
|
||||
/*
|
||||
* 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_ASKENV
|
||||
#define CONFIG_CMD_DHCP
|
||||
#define CONFIG_CMD_ELF
|
||||
#define CONFIG_CMD_IRQ
|
||||
#define CONFIG_CMD_MVENV
|
||||
#define CONFIG_CMD_PCI
|
||||
#define CONFIG_CMD_PING
|
||||
|
||||
|
||||
#undef CONFIG_WATCHDOG /* watchdog disabled */
|
||||
|
||||
#define CONFIG_SYS_CLK_FREQ 30000000
|
||||
|
||||
#define CONFIG_SPD_EEPROM 1 /* use SPD EEPROM for setup */
|
||||
|
||||
/*
|
||||
* I2C
|
||||
*/
|
||||
#define CONFIG_HARD_I2C /* I2C with hardware support */
|
||||
#define CONFIG_PPC4XX_I2C /* use PPC4xx driver */
|
||||
#define CONFIG_SYS_I2C_SLAVE 0x7F
|
||||
#define CONFIG_SYS_I2C_SPEED 400000
|
||||
|
||||
/*
|
||||
* Miscellaneous configurable options
|
||||
*/
|
||||
#define CONFIG_SYS_LONGHELP /* undef to save memory */
|
||||
#if defined(CONFIG_CMD_KGDB)
|
||||
#define CONFIG_SYS_CBSIZE 1024 /* Console I/O Buffer Size */
|
||||
#else
|
||||
#define CONFIG_SYS_CBSIZE 256 /* Console I/O Buffer Size */
|
||||
#endif
|
||||
/* usually: (CONFIG_SYS_CBSIZE+sizeof(CONFIG_SYS_PROMPT)+16) */
|
||||
#define CONFIG_SYS_PBSIZE (CONFIG_SYS_CBSIZE+4+16) /* Print Buffer Size */
|
||||
#define CONFIG_SYS_MAXARGS 16 /* max number of command args */
|
||||
#define CONFIG_SYS_BARGSIZE CONFIG_SYS_CBSIZE /* Boot Argument Buffer Size */
|
||||
|
||||
#define CONFIG_SYS_ALT_MEMTEST 1
|
||||
#define CONFIG_SYS_MEMTEST_START 0x00400000 /* memtest works on */
|
||||
#define CONFIG_SYS_MEMTEST_END 0x01000000 /* 4 ... 16 MB in DRAM */
|
||||
|
||||
/*
|
||||
* If CONFIG_SYS_EXT_SERIAL_CLOCK, then the UART divisor is 1.
|
||||
* If CONFIG_SYS_405_UART_ERRATA_59, then UART divisor is 31.
|
||||
* Otherwise, UART divisor is determined by CPU Clock and CONFIG_SYS_BASE_BAUD value.
|
||||
* The Linux BASE_BAUD define should match this configuration.
|
||||
* baseBaud = cpuClock/(uartDivisor*16)
|
||||
* If CONFIG_SYS_405_UART_ERRATA_59 and 200MHz CPU clock,
|
||||
* set Linux BASE_BAUD to 403200.
|
||||
*/
|
||||
#undef CONFIG_SYS_EXT_SERIAL_CLOCK /* external serial clock */
|
||||
#undef CONFIG_SYS_405_UART_ERRATA_59 /* 405GP/CR Rev. D silicon */
|
||||
|
||||
#define CONFIG_SYS_NS16550_CLK 40000000
|
||||
#define CONFIG_SYS_DUART_CHAN 0
|
||||
#define CONFIG_SYS_NS16550_COM1 (0x4C000000 + 0x1000)
|
||||
#define CONFIG_SYS_NS16550_COM2 (0x4C800000 + 0x1000)
|
||||
#define CONFIG_SYS_NS16550_REG_SIZE 4
|
||||
#define CONFIG_SYS_NS16550 1
|
||||
#define CONFIG_SYS_INIT_CHAN1 1
|
||||
#define CONFIG_SYS_INIT_CHAN2 0
|
||||
|
||||
/* The following table includes the supported baudrates */
|
||||
#define CONFIG_SYS_BAUDRATE_TABLE \
|
||||
{300, 600, 1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200, 230400}
|
||||
|
||||
#define CONFIG_SYS_LOAD_ADDR 0x00200000 /* default load address */
|
||||
#define CONFIG_SYS_EXTBDINFO 1 /* To use extended board_into (bd_t) */
|
||||
|
||||
#define CONFIG_SYS_HZ 1000 /* decrementer freq: 1 ms ticks */
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* Start addresses for the final memory configuration
|
||||
* (Set up by the startup code)
|
||||
* Please note that CONFIG_SYS_SDRAM_BASE _must_ start at 0
|
||||
*/
|
||||
#define CONFIG_SYS_SDRAM_BASE 0x00000000
|
||||
#define CONFIG_SYS_FLASH_BASE 0x20000000
|
||||
#define CONFIG_SYS_MONITOR_BASE CONFIG_SYS_TEXT_BASE
|
||||
#define CONFIG_SYS_MONITOR_LEN (192 * 1024) /* Reserve 196 kB for Monitor */
|
||||
#define CONFIG_SYS_MALLOC_LEN (128 * 1024) /* Reserve 128 kB for malloc() */
|
||||
|
||||
/*
|
||||
* For booting Linux, the board info and command line data
|
||||
* have to be in the first 8 MB of memory, since this is
|
||||
* the maximum mapped by the Linux kernel during initialization.
|
||||
*/
|
||||
#define CONFIG_SYS_BOOTMAPSZ (8 << 20) /* Initial Memory map for Linux */
|
||||
/*-----------------------------------------------------------------------
|
||||
* FLASH organization
|
||||
*/
|
||||
#define CONFIG_SYS_FLASH_CFI 1
|
||||
#define CONFIG_SYS_PROGFLASH_BASE CONFIG_SYS_FLASH_BASE
|
||||
#define CONFIG_SYS_CONFFLASH_BASE 0x24000000
|
||||
|
||||
#define CONFIG_SYS_MAX_FLASH_BANKS 2 /* max number of memory banks */
|
||||
#define CONFIG_SYS_MAX_FLASH_SECT 256 /* max number of sectors on one chip */
|
||||
|
||||
#define CONFIG_SYS_FLASH_ERASE_TOUT 120000 /* Timeout for Flash Erase (in ms) */
|
||||
#define CONFIG_SYS_FLASH_WRITE_TOUT 500 /* Timeout for Flash Write (in ms) */
|
||||
|
||||
#define CONFIG_SYS_FLASH_PROTECTION 1 /* use hardware protection */
|
||||
|
||||
/* BEG ENVIRONNEMENT FLASH */
|
||||
#ifdef CONFIG_ENV_IS_IN_FLASH
|
||||
#define CONFIG_ENV_OFFSET 0x00040000 /* Offset of Environment Sector */
|
||||
#define CONFIG_ENV_SIZE 0x1000 /* Total Size of Environment Sector */
|
||||
#define CONFIG_ENV_SECT_SIZE 0x20000 /* see README - env sector total size */
|
||||
#endif
|
||||
/* END ENVIRONNEMENT FLASH */
|
||||
/*-----------------------------------------------------------------------
|
||||
* NVRAM organization
|
||||
*/
|
||||
#define CONFIG_SYS_NVRAM_BASE_ADDR 0xf0000000 /* NVRAM base address */
|
||||
#define CONFIG_SYS_NVRAM_SIZE 0x1ff8 /* NVRAM size */
|
||||
|
||||
#ifdef CONFIG_ENV_IS_IN_NVRAM
|
||||
#define CONFIG_ENV_SIZE 0x1000 /* Size of Environment vars */
|
||||
#define CONFIG_ENV_ADDR \
|
||||
(CONFIG_SYS_NVRAM_BASE_ADDR+CONFIG_SYS_NVRAM_SIZE-CONFIG_ENV_SIZE) /* Env */
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Init Memory Controller:
|
||||
*
|
||||
* BR0/1 and OR0/1 (FLASH)
|
||||
*/
|
||||
|
||||
#define FLASH_BASE0_PRELIM CONFIG_SYS_FLASH_BASE /* FLASH bank #0 */
|
||||
#define FLASH_BASE1_PRELIM 0 /* FLASH bank #1 */
|
||||
|
||||
/* Configuration Port location */
|
||||
#define CONFIG_PORT_ADDR 0xF0000500
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* Definitions for initial stack pointer and data area (in DPRAM)
|
||||
*/
|
||||
|
||||
#define CONFIG_SYS_INIT_RAM_ADDR 0x400000 /* inside of SDRAM */
|
||||
#define CONFIG_SYS_INIT_RAM_SIZE 0x2000 /* Size of used area in RAM */
|
||||
#define CONFIG_SYS_GBL_DATA_OFFSET (CONFIG_SYS_INIT_RAM_SIZE - GENERATED_GBL_DATA_SIZE)
|
||||
#define CONFIG_SYS_INIT_SP_OFFSET CONFIG_SYS_GBL_DATA_OFFSET
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* Definitions for Serial Presence Detect EEPROM address
|
||||
* (to get SDRAM settings)
|
||||
*/
|
||||
#define SPD_EEPROM_ADDRESS 0x50
|
||||
|
||||
#if defined(CONFIG_CMD_KGDB)
|
||||
#define CONFIG_KGDB_BAUDRATE 230400 /* speed to run kgdb serial port */
|
||||
#define CONFIG_KGDB_SER_INDEX 2 /* which serial port to use */
|
||||
#endif
|
||||
|
||||
/* JFFS2 stuff */
|
||||
|
||||
#define CONFIG_SYS_JFFS2_FIRST_BANK 0
|
||||
#define CONFIG_SYS_JFFS2_NUM_BANKS 1
|
||||
#define CONFIG_SYS_JFFS2_FIRST_SECTOR 1
|
||||
|
||||
#define CONFIG_E1000
|
||||
|
||||
#define CONFIG_SYS_ETH_DEV_FN 0x0800
|
||||
#define CONFIG_SYS_ETH_IOBASE 0x31000000
|
||||
#define CONFIG_SYS_ETH_MEMBASE 0x32000000
|
||||
|
||||
#endif /* __CONFIG_H */
|
||||
|
|
@ -0,0 +1,442 @@
|
|||
/*
|
||||
* (C) Copyright 2005-2008
|
||||
* Matthias Fuchs, esd gmbh germany, matthias.fuchs@esd-electronics.com
|
||||
*
|
||||
* (C) Copyright 2001-2004
|
||||
* Stefan Roese, esd gmbh germany, stefan.roese@esd-electronics.com
|
||||
*
|
||||
* See file CREDITS for list of people who contributed to this
|
||||
* project.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of
|
||||
* the License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston,
|
||||
* MA 02111-1307 USA
|
||||
*/
|
||||
|
||||
/*
|
||||
* board/config.h - configuration options, board specific
|
||||
*/
|
||||
#ifndef __CONFIG_H
|
||||
#define __CONFIG_H
|
||||
|
||||
/*
|
||||
* High Level Configuration Options
|
||||
* (easy to change)
|
||||
*/
|
||||
#define CONFIG_405GP 1 /* This is a PPC405 CPU */
|
||||
#define CONFIG_4xx 1 /* ...member of PPC4xx family */
|
||||
#define CONFIG_APCG405 1 /* ...on a APC405 board */
|
||||
|
||||
#define CONFIG_SYS_TEXT_BASE 0xFFF80000
|
||||
|
||||
#define CONFIG_BOARD_EARLY_INIT_F 1 /* call board_early_init_f() */
|
||||
#define CONFIG_BOARD_EARLY_INIT_R 1
|
||||
#define CONFIG_MISC_INIT_R 1 /* call misc_init_r() */
|
||||
|
||||
#define CONFIG_SYS_CLK_FREQ 33333400 /* external frequency to pll */
|
||||
|
||||
#define CONFIG_BOARD_TYPES 1 /* support board types */
|
||||
|
||||
#define CONFIG_BAUDRATE 115200
|
||||
#define CONFIG_BOOTDELAY 1 /* autoboot after 3 seconds */
|
||||
#define CONFIG_BOOTCOUNT_LIMIT 1
|
||||
|
||||
#undef CONFIG_BOOTARGS
|
||||
|
||||
#define CONFIG_SYS_USB_LOAD_COMMAND "fatload usb 0 200000 pImage;" \
|
||||
"fatload usb 0 300000 pImage.initrd"
|
||||
#define CONFIG_SYS_USB_SELF_COMMAND "usb start;run usb_load;usb stop;" \
|
||||
"run ramargs addip addcon usbargs;" \
|
||||
"bootm 200000 300000"
|
||||
#define CONFIG_SYS_USB_ARGS "setenv bootargs $(bootargs) usbboot=1"
|
||||
#define CONFIG_SYS_BOOTLIMIT "3"
|
||||
#define CONFIG_SYS_ALT_BOOTCOMMAND "run usb_self;reset"
|
||||
|
||||
#define CONFIG_EXTRA_ENV_SETTINGS \
|
||||
"hostname=abg405\0" \
|
||||
"bd_type=abg405\0" \
|
||||
"serial#=AA0000\0" \
|
||||
"kernel_addr=fe000000\0" \
|
||||
"ramdisk_addr=fe100000\0" \
|
||||
"ramargs=setenv bootargs root=/dev/ram rw\0" \
|
||||
"nfsargs=setenv bootargs root=/dev/nfs rw " \
|
||||
"nfsroot=$(serverip):$(rootpath)\0" \
|
||||
"addip=setenv bootargs $(bootargs) " \
|
||||
"ip=$(ipaddr):$(serverip):$(gatewayip):$(netmask)" \
|
||||
":$(hostname)::off panic=1\0" \
|
||||
"addcon=setenv bootargs $(bootargs) console=ttyS0,$(baudrate)" \
|
||||
" $(optargs)\0" \
|
||||
"flash_self=run ramargs addip addcon;" \
|
||||
"bootm $(kernel_addr) $(ramdisk_addr)\0" \
|
||||
"net_nfs=tftp 200000 $(img);run nfsargs addip addcon;" \
|
||||
"bootm\0" \
|
||||
"rootpath=/tftpboot/abg405/target_root\0" \
|
||||
"img=/tftpboot/abg405/pImage\0" \
|
||||
"load=tftp 100000 /tftpboot/abg405/u-boot.bin\0" \
|
||||
"update=protect off fff80000 ffffffff;era fff80000 ffffffff;" \
|
||||
"cp.b 100000 fff80000 80000\0" \
|
||||
"ipaddr=10.0.111.111\0" \
|
||||
"netmask=255.255.0.0\0" \
|
||||
"serverip=10.0.0.190\0" \
|
||||
"splashimage=ffe80000\0" \
|
||||
"usb_load="CONFIG_SYS_USB_LOAD_COMMAND"\0" \
|
||||
"usb_self="CONFIG_SYS_USB_SELF_COMMAND"\0" \
|
||||
"usbargs="CONFIG_SYS_USB_ARGS"\0" \
|
||||
"bootlimit="CONFIG_SYS_BOOTLIMIT"\0" \
|
||||
"altbootcmd="CONFIG_SYS_ALT_BOOTCOMMAND"\0" \
|
||||
""
|
||||
#define CONFIG_BOOTCOMMAND "run flash_self;reset"
|
||||
|
||||
#define CONFIG_ETHADDR 00:02:27:8e:00:00
|
||||
|
||||
#define CONFIG_LOADS_ECHO 1 /* echo on for serial download */
|
||||
#define CONFIG_SYS_LOADS_BAUD_CHANGE 1 /* allow baudrate change */
|
||||
|
||||
#undef CONFIG_HAS_ETH1
|
||||
|
||||
#define CONFIG_PPC4xx_EMAC
|
||||
#define CONFIG_MII 1 /* MII PHY management */
|
||||
#define CONFIG_PHY_ADDR 0 /* PHY address */
|
||||
#define CONFIG_LXT971_NO_SLEEP 1
|
||||
#define CONFIG_RESET_PHY_R 1 /* use reset_phy() */
|
||||
|
||||
#define CONFIG_PHY_CLK_FREQ EMAC_STACR_CLK_66MHZ /* 66 MHz OPB clock*/
|
||||
|
||||
/*
|
||||
* 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_DATE
|
||||
#define CONFIG_CMD_DHCP
|
||||
#define CONFIG_CMD_EEPROM
|
||||
#define CONFIG_CMD_ELF
|
||||
#define CONFIG_CMD_FAT
|
||||
#define CONFIG_CMD_I2C
|
||||
#define CONFIG_CMD_IDE
|
||||
#define CONFIG_CMD_IRQ
|
||||
#define CONFIG_CMD_MII
|
||||
#define CONFIG_CMD_PCI
|
||||
#define CONFIG_CMD_PING
|
||||
#define CONFIG_CMD_SOURCE
|
||||
#define CONFIG_CMD_USB
|
||||
|
||||
#define CONFIG_MAC_PARTITION
|
||||
#define CONFIG_DOS_PARTITION
|
||||
|
||||
#define CONFIG_SUPPORT_VFAT
|
||||
|
||||
#define CONFIG_AUTO_UPDATE 1 /* autoupdate via CF or USB */
|
||||
|
||||
#undef CONFIG_WATCHDOG /* watchdog disabled */
|
||||
|
||||
#define CONFIG_RTC_MC146818 /* DS1685 is MC146818 compatible*/
|
||||
#define CONFIG_SYS_RTC_REG_BASE_ADDR 0xF0000500 /* RTC Base Address */
|
||||
|
||||
#define CONFIG_SDRAM_BANK0 1 /* init onboard SDRAM bank 0 */
|
||||
|
||||
/*
|
||||
* Miscellaneous configurable options
|
||||
*/
|
||||
#define CONFIG_SYS_LONGHELP /* undef to save memory */
|
||||
#define CONFIG_SYS_PROMPT "=> " /* Monitor Command Prompt */
|
||||
#define CONFIG_CMDLINE_EDITING 1 /* add command line history */
|
||||
|
||||
#if defined(CONFIG_CMD_KGDB)
|
||||
#define CONFIG_SYS_CBSIZE 1024 /* Console I/O Buffer Size */
|
||||
#else
|
||||
#define CONFIG_SYS_CBSIZE 256 /* Console I/O Buffer Size */
|
||||
#endif
|
||||
#define CONFIG_SYS_PBSIZE (CONFIG_SYS_CBSIZE+sizeof(CONFIG_SYS_PROMPT)+16) /* Print Buffer Size */
|
||||
#define CONFIG_SYS_MAXARGS 16 /* max number of command args */
|
||||
#define CONFIG_SYS_BARGSIZE CONFIG_SYS_CBSIZE /* Boot Argument Buffer Size */
|
||||
|
||||
#define CONFIG_SYS_DEVICE_NULLDEV 1 /* include nulldev device */
|
||||
|
||||
#define CONFIG_SYS_CONSOLE_INFO_QUIET 1 /* don't print console @ startup*/
|
||||
|
||||
#define CONFIG_SYS_MEMTEST_START 0x0400000 /* memtest works on */
|
||||
#define CONFIG_SYS_MEMTEST_END 0x0C00000 /* 4 ... 12 MB in DRAM */
|
||||
|
||||
#define CONFIG_CONS_INDEX 1 /* Use UART0 */
|
||||
#define CONFIG_SYS_NS16550
|
||||
#define CONFIG_SYS_NS16550_SERIAL
|
||||
#define CONFIG_SYS_NS16550_REG_SIZE 1
|
||||
#define CONFIG_SYS_NS16550_CLK get_serial_clock()
|
||||
|
||||
#define CONFIG_SYS_EXT_SERIAL_CLOCK 14745600 /* use external serial clock */
|
||||
|
||||
/* The following table includes the supported baudrates */
|
||||
#define CONFIG_SYS_BAUDRATE_TABLE \
|
||||
{ 300, 600, 1200, 2400, 4800, 9600, 19200, 38400, \
|
||||
57600, 115200, 230400, 460800, 921600 }
|
||||
|
||||
#define CONFIG_SYS_LOAD_ADDR 0x100000 /* default load address */
|
||||
#define CONFIG_SYS_EXTBDINFO 1 /* To use extended board_into (bd_t) */
|
||||
|
||||
#define CONFIG_SYS_HZ 1000 /* decrementer freq: 1 ms ticks */
|
||||
|
||||
#define CONFIG_ZERO_BOOTDELAY_CHECK /* check for keypress on bootdelay==0 */
|
||||
|
||||
/* Only interrupt boot if space is pressed */
|
||||
/* If a long serial cable is connected but */
|
||||
/* other end is dead, garbage will be read */
|
||||
#define CONFIG_AUTOBOOT_KEYED 1
|
||||
#define CONFIG_AUTOBOOT_PROMPT \
|
||||
"Press SPACE to abort autoboot in %d seconds\n", bootdelay
|
||||
#undef CONFIG_AUTOBOOT_DELAY_STR
|
||||
#define CONFIG_AUTOBOOT_STOP_STR " "
|
||||
|
||||
#define CONFIG_VERSION_VARIABLE 1 /* include version env variable */
|
||||
|
||||
#define CONFIG_SYS_RX_ETH_BUFFER 16 /* use 16 rx buffer on 405 emac */
|
||||
|
||||
/*
|
||||
* PCI stuff
|
||||
*/
|
||||
#define PCI_HOST_ADAPTER 0 /* configure as pci adapter */
|
||||
#define PCI_HOST_FORCE 1 /* configure as pci host */
|
||||
#define PCI_HOST_AUTO 2 /* detected via arbiter enable */
|
||||
|
||||
#define CONFIG_PCI /* include pci support */
|
||||
#define CONFIG_PCI_HOST PCI_HOST_FORCE /* select pci host function */
|
||||
#define CONFIG_PCI_PNP /* do pci plug-and-play */
|
||||
/* resource configuration */
|
||||
|
||||
#define CONFIG_PCI_SCAN_SHOW /* print pci devices @ startup */
|
||||
#define CONFIG_PCI_SKIP_HOST_BRIDGE 1
|
||||
#define CONFIG_SYS_PCI_SUBSYS_VENDORID 0x12FE /* PCI Vendor ID: esd gmbh */
|
||||
#define CONFIG_SYS_PCI_SUBSYS_DEVICEID 0x0405 /* PCI Device ID: CPCI-405 */
|
||||
#define CONFIG_SYS_PCI_CLASSCODE 0x0b20 /* PCI Class Code: Processor/PPC*/
|
||||
#define CONFIG_SYS_PCI_PTM1LA 0x00000000 /* point to sdram */
|
||||
#define CONFIG_SYS_PCI_PTM1MS 0xfc000001 /* 64MB, enable hard-wired to 1 */
|
||||
#define CONFIG_SYS_PCI_PTM1PCI 0x00000000 /* Host: use this pci address */
|
||||
#define CONFIG_SYS_PCI_PTM2LA 0xffc00000 /* point to flash */
|
||||
#define CONFIG_SYS_PCI_PTM2MS 0xffc00001 /* 4MB, enable */
|
||||
#define CONFIG_SYS_PCI_PTM2PCI 0x04000000 /* Host: use this pci address */
|
||||
|
||||
/*
|
||||
* IDE/ATA stuff
|
||||
*/
|
||||
#undef CONFIG_IDE_8xx_DIRECT /* no pcmcia interface required */
|
||||
#undef CONFIG_IDE_LED /* no led for ide supported */
|
||||
#define CONFIG_IDE_RESET 1 /* reset for ide supported */
|
||||
|
||||
#define CONFIG_SYS_IDE_MAXBUS 1 /* max. 1 IDE busses */
|
||||
#define CONFIG_SYS_IDE_MAXDEVICE (CONFIG_SYS_IDE_MAXBUS) /* max. 1 drives per IDE bus */
|
||||
|
||||
#define CONFIG_SYS_ATA_BASE_ADDR 0xF0100000
|
||||
#define CONFIG_SYS_ATA_IDE0_OFFSET 0x0000
|
||||
|
||||
#define CONFIG_SYS_ATA_DATA_OFFSET 0x0000 /* Offset for data I/O */
|
||||
#define CONFIG_SYS_ATA_REG_OFFSET 0x0000 /* Offset for normal register access */
|
||||
#define CONFIG_SYS_ATA_ALT_OFFSET 0x0000 /* Offset for alternate registers */
|
||||
|
||||
/*
|
||||
* Start addresses for the final memory configuration
|
||||
* (Set up by the startup code)
|
||||
* Please note that CONFIG_SYS_SDRAM_BASE _must_ start at 0
|
||||
*/
|
||||
#define CONFIG_SYS_SDRAM_BASE 0x00000000
|
||||
#define CONFIG_SYS_MONITOR_BASE 0xFFF80000
|
||||
#define CONFIG_SYS_MONITOR_LEN (512 * 1024) /* Reserve 512 kB for Monitor */
|
||||
#define CONFIG_SYS_MALLOC_LEN (2*1024*1024) /* Reserve 2MB for malloc() */
|
||||
|
||||
/*
|
||||
* For booting Linux, the board info and command line data
|
||||
* have to be in the first 8 MB of memory, since this is
|
||||
* the maximum mapped by the Linux kernel during initialization.
|
||||
*/
|
||||
#define CONFIG_SYS_BOOTMAPSZ (8 << 20) /* Init. Memory map for Linux */
|
||||
|
||||
/*
|
||||
* FLASH organization
|
||||
*/
|
||||
#define CONFIG_SYS_FLASH_BASE 0xFE000000
|
||||
#define CONFIG_SYS_FLASH_CFI 1 /* Flash is CFI conformant */
|
||||
#define CONFIG_FLASH_CFI_DRIVER 1 /* Use the common driver */
|
||||
#define CONFIG_SYS_MAX_FLASH_SECT 256 /* max num of sects on one chip */
|
||||
#define CONFIG_SYS_MAX_FLASH_BANKS_DETECT 2
|
||||
#define CONFIG_SYS_FLASH_QUIET_TEST 1
|
||||
#define CONFIG_SYS_FLASH_INCREMENT 0x01000000
|
||||
#define CONFIG_SYS_FLASH_PROTECTION 1 /* use hardware protection */
|
||||
#define CONFIG_SYS_FLASH_AUTOPROTECT_LIST { \
|
||||
{0xfe000000, 0x500000}, \
|
||||
{0xffe80000, 0x180000} \
|
||||
}
|
||||
#define CONFIG_SYS_FLASH_USE_BUFFER_WRITE 1 /* use buffered writes (20x faster) */
|
||||
#define CONFIG_SYS_FLASH_BANKS_LIST { \
|
||||
CONFIG_SYS_FLASH_BASE, \
|
||||
CONFIG_SYS_FLASH_BASE + CONFIG_SYS_FLASH_INCREMENT \
|
||||
}
|
||||
#define CONFIG_SYS_FLASH_EMPTY_INFO /* print 'E' for empty sector on flinfo */
|
||||
|
||||
/*
|
||||
* Environment Variable setup
|
||||
*/
|
||||
#define CONFIG_ENV_IS_IN_EEPROM 1 /* use EEPROM for environment vars */
|
||||
#define CONFIG_ENV_OFFSET 0x000 /* environment starts at the */
|
||||
/* beginning of the EEPROM */
|
||||
#define CONFIG_ENV_SIZE 0x800 /* 2048 bytes may be used for env vars*/
|
||||
#define CONFIG_ENV_OVERWRITE 1 /* allow overwriting vendor vars */
|
||||
|
||||
#define CONFIG_SYS_NVRAM_BASE_ADDR 0xF0000500 /* NVRAM base address */
|
||||
#define CONFIG_SYS_NVRAM_SIZE 242 /* NVRAM size */
|
||||
|
||||
/*
|
||||
* I2C EEPROM (CAT24WC16) for environment
|
||||
*/
|
||||
#define CONFIG_HARD_I2C /* I2c with hardware support */
|
||||
#define CONFIG_PPC4XX_I2C /* use PPC4xx driver */
|
||||
#define CONFIG_SYS_I2C_SPEED 100000 /* I2C speed and slave address */
|
||||
#define CONFIG_SYS_I2C_SLAVE 0x7F
|
||||
|
||||
#define CONFIG_SYS_I2C_EEPROM_ADDR 0x50 /* EEPROM CAT28WC08 */
|
||||
#define CONFIG_SYS_I2C_EEPROM_ADDR_LEN 1 /* Bytes of address */
|
||||
/* mask of address bits that overflow into the "EEPROM chip address" */
|
||||
#define CONFIG_SYS_I2C_EEPROM_ADDR_OVERFLOW 0x07
|
||||
#define CONFIG_SYS_EEPROM_PAGE_WRITE_BITS 4 /* The Catalyst CAT24WC08 has */
|
||||
/* 16 byte page write mode using*/
|
||||
/* last 4 bits of the address */
|
||||
#define CONFIG_SYS_EEPROM_PAGE_WRITE_DELAY_MS 10 /* and takes up to 10 msec */
|
||||
|
||||
/*
|
||||
* External Bus Controller (EBC) Setup
|
||||
*/
|
||||
#define FLASH0_BA (CONFIG_SYS_FLASH_BASE + CONFIG_SYS_FLASH_INCREMENT) /* FLASH 0 BA */
|
||||
#define FLASH1_BA CONFIG_SYS_FLASH_BASE /* FLASH 1 Base Address */
|
||||
#define CAN_BA 0xF0000000 /* CAN Base Address */
|
||||
#define DUART0_BA 0xF0000400 /* DUART Base Address */
|
||||
#define DUART1_BA 0xF0000408 /* DUART Base Address */
|
||||
#define RTC_BA 0xF0000500 /* RTC Base Address */
|
||||
#define PS2_BA 0xF0000600 /* PS/2 Base Address */
|
||||
#define CF_BA 0xF0100000 /* CompactFlash Base Address */
|
||||
#define FPGA_BA 0xF0100100 /* FPGA internal Base Address */
|
||||
#define FUJI_BA 0xF0100200 /* Fuji internal Base Address */
|
||||
#define PCMCIA1_BA 0x20000000 /* PCMCIA Slot 1 Base Address */
|
||||
#define PCMCIA2_BA 0x28000000 /* PCMCIA Slot 2 Base Address */
|
||||
#define VGA_BA 0xF1000000 /* Epson VGA Base Address */
|
||||
|
||||
#define CONFIG_SYS_FPGA_BASE_ADDR FPGA_BA /* FPGA internal Base Address */
|
||||
|
||||
/* Memory Bank 0 (Flash Bank 0) initialization */
|
||||
#define CONFIG_SYS_EBC_PB0AP 0x92015480
|
||||
#define CONFIG_SYS_EBC_PB0CR FLASH0_BA | 0x9A000 /* BAS=0xFF0,BS=16MB,BU=R/W,BW=16bit*/
|
||||
#define CONFIG_SYS_EBC_PB0AP_HWREV8 CONFIG_SYS_EBC_PB0AP
|
||||
#define CONFIG_SYS_EBC_PB0CR_HWREV8 FLASH1_BA | 0xBA000 /* BS=32MB */
|
||||
|
||||
/* Memory Bank 1 (Flash Bank 1) initialization */
|
||||
#define CONFIG_SYS_EBC_PB1AP 0x92015480
|
||||
#define CONFIG_SYS_EBC_PB1CR FLASH1_BA | 0x9A000 /* BAS=0xFE0,BS=16MB,BU=R/W,BW=16bit*/
|
||||
|
||||
/* Memory Bank 2 (CAN0, 1, RTC, Duart) initialization */
|
||||
#define CONFIG_SYS_EBC_PB2AP 0x010053C0 /* BWT=2,WBN=1,WBF=1,TH=1,RE=1,SOR=1,BEM=1 */
|
||||
#define CONFIG_SYS_EBC_PB2CR CAN_BA | 0x18000 /* BAS=0xF00,BS=1MB,BU=R/W,BW=8bit */
|
||||
|
||||
/* Memory Bank 3 (CompactFlash IDE, FPGA internal) initialization */
|
||||
#define CONFIG_SYS_EBC_PB3AP 0x010059C0 /* BWT=2,WBN=1,WBF=1,TH=1,RE=1,SOR=1,BEM=1 */
|
||||
#define CONFIG_SYS_EBC_PB3CR CF_BA | 0x1A000 /* BAS=0xF01,BS=1MB,BU=R/W,BW=16bit */
|
||||
|
||||
/* Memory Bank 4 (PCMCIA Slot 1) initialization */
|
||||
#define CONFIG_SYS_EBC_PB4AP 0x050007C0 /* BWT=2,WBN=1,WBF=1,TH=1,RE=1,SOR=1,BEM=1 */
|
||||
#define CONFIG_SYS_EBC_PB4CR PCMCIA1_BA | 0xFA000 /*BAS=0x200,BS=128MB,BU=R/W,BW=16bit*/
|
||||
|
||||
/* Memory Bank 5 (Epson VGA) initialization */
|
||||
#define CONFIG_SYS_EBC_PB5AP 0x03805380 /* BWT=2,WBN=1,WBF=1,TH=1,RE=1,SOR=1,BEM=0 */
|
||||
#define CONFIG_SYS_EBC_PB5CR VGA_BA | 0x5A000 /* BAS=0xF10,BS=4MB,BU=R/W,BW=16bit */
|
||||
|
||||
/* Memory Bank 6 (PCMCIA Slot 2) initialization */
|
||||
#define CONFIG_SYS_EBC_PB6AP 0x050007C0 /* BWT=2,WBN=1,WBF=1,TH=1,RE=1,SOR=1,BEM=1 */
|
||||
#define CONFIG_SYS_EBC_PB6CR PCMCIA2_BA | 0xFA000 /*BAS=0x280,BS=128MB,BU=R/W,BW=16bit*/
|
||||
|
||||
/*
|
||||
* FPGA stuff
|
||||
*/
|
||||
|
||||
/* FPGA internal regs */
|
||||
#define CONFIG_SYS_FPGA_CTRL 0x008
|
||||
#define CONFIG_SYS_FPGA_CTRL2 0x00a
|
||||
|
||||
/* FPGA Control Reg */
|
||||
#define CONFIG_SYS_FPGA_CTRL_CF_RESET 0x0001
|
||||
#define CONFIG_SYS_FPGA_CTRL_WDI 0x0002
|
||||
#define CONFIG_SYS_FPGA_CTRL_PS2_RESET 0x0020
|
||||
|
||||
#define CONFIG_SYS_FPGA_SPARTAN2 1 /* using Xilinx Spartan 2 now */
|
||||
#define CONFIG_SYS_FPGA_MAX_SIZE 80*1024 /* 80kByte is enough for XC2S50 */
|
||||
|
||||
/* FPGA program pin configuration */
|
||||
#define CONFIG_SYS_FPGA_PRG 0x04000000 /* FPGA program pin (ppc output) */
|
||||
#define CONFIG_SYS_FPGA_CLK 0x02000000 /* FPGA clk pin (ppc output) */
|
||||
#define CONFIG_SYS_FPGA_DATA 0x01000000 /* FPGA data pin (ppc output) */
|
||||
#define CONFIG_SYS_FPGA_INIT 0x00010000 /* FPGA init pin (ppc input) */
|
||||
#define CONFIG_SYS_FPGA_DONE 0x00008000 /* FPGA done pin (ppc input) */
|
||||
|
||||
/*
|
||||
* LCD Setup
|
||||
*/
|
||||
#define CONFIG_SYS_LCD_BIG_MEM (VGA_BA + 0x200000) /* S1D13806 Mem Base */
|
||||
#define CONFIG_SYS_LCD_BIG_REG VGA_BA /* S1D13806 Reg Base */
|
||||
|
||||
#define CONFIG_LCD_BIG 2 /* Epson S1D13806 used */
|
||||
|
||||
/* Image information... */
|
||||
#define CONFIG_LCD_USED CONFIG_LCD_BIG
|
||||
|
||||
#define CONFIG_SYS_LCD_MEM CONFIG_SYS_LCD_BIG_MEM
|
||||
#define CONFIG_SYS_LCD_REG CONFIG_SYS_LCD_BIG_REG
|
||||
|
||||
#define CONFIG_SYS_VIDEO_LOGO_MAX_SIZE (1 << 20)
|
||||
|
||||
/*
|
||||
* Definitions for initial stack pointer and data area (in data cache)
|
||||
*/
|
||||
|
||||
/* use on chip memory ( OCM ) for temperary stack until sdram is tested */
|
||||
#define CONFIG_SYS_TEMP_STACK_OCM 1
|
||||
|
||||
/* On Chip Memory location */
|
||||
#define CONFIG_SYS_OCM_DATA_ADDR 0xF8000000
|
||||
#define CONFIG_SYS_OCM_DATA_SIZE 0x1000
|
||||
|
||||
#define CONFIG_SYS_INIT_RAM_ADDR CONFIG_SYS_OCM_DATA_ADDR /* inside of SDRAM */
|
||||
#define CONFIG_SYS_INIT_RAM_SIZE CONFIG_SYS_OCM_DATA_SIZE /* Size of used area in RAM */
|
||||
#define CONFIG_SYS_GBL_DATA_OFFSET (CONFIG_SYS_INIT_RAM_SIZE - GENERATED_GBL_DATA_SIZE)
|
||||
/* reserve some memory for BOOT limit info */
|
||||
#define CONFIG_SYS_INIT_SP_OFFSET (CONFIG_SYS_GBL_DATA_OFFSET - 16)
|
||||
|
||||
#ifdef CONFIG_BOOTCOUNT_LIMIT /* reserve 2 word for bootcount limit */
|
||||
#define CONFIG_SYS_BOOTCOUNT_ADDR (CONFIG_SYS_GBL_DATA_OFFSET - 8)
|
||||
#endif
|
||||
|
||||
/*
|
||||
* PCI OHCI controller
|
||||
*/
|
||||
#define CONFIG_USB_OHCI_NEW 1
|
||||
#define CONFIG_PCI_OHCI 1
|
||||
#define CONFIG_SYS_OHCI_SWAP_REG_ACCESS 1
|
||||
#define CONFIG_SYS_USB_OHCI_MAX_ROOT_PORTS 15
|
||||
#define CONFIG_SYS_USB_OHCI_SLOT_NAME "ohci_pci"
|
||||
#define CONFIG_USB_STORAGE 1
|
||||
#define CONFIG_SYS_USB_OHCI_BOARD_INIT 1
|
||||
|
||||
#endif /* __CONFIG_H */
|
||||
|
|
@ -0,0 +1,272 @@
|
|||
/*
|
||||
* (C) Copyright 2001-2004
|
||||
* Stefan Roese, esd gmbh germany, stefan.roese@esd-electronics.com
|
||||
*
|
||||
* See file CREDITS for list of people who contributed to this
|
||||
* project.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of
|
||||
* the License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston,
|
||||
* MA 02111-1307 USA
|
||||
*/
|
||||
|
||||
/*
|
||||
* board/config.h - configuration options, board specific
|
||||
*/
|
||||
|
||||
#ifndef __CONFIG_H
|
||||
#define __CONFIG_H
|
||||
|
||||
/*
|
||||
* High Level Configuration Options
|
||||
* (easy to change)
|
||||
*/
|
||||
|
||||
#define CONFIG_405GP 1 /* This is a PPC405GP CPU */
|
||||
#define CONFIG_4xx 1 /* ...member of PPC4xx family */
|
||||
#define CONFIG_AR405 1 /* ...on a AR405 board */
|
||||
|
||||
#define CONFIG_SYS_TEXT_BASE 0xFFFA0000
|
||||
|
||||
#define CONFIG_BOARD_EARLY_INIT_F 1 /* call board_early_init_f() */
|
||||
|
||||
#define CONFIG_SYS_CLK_FREQ 33000000 /* external frequency to pll */
|
||||
|
||||
#define CONFIG_BOARD_TYPES 1 /* support board types */
|
||||
|
||||
#define CONFIG_BAUDRATE 9600
|
||||
#define CONFIG_BOOTDELAY 3 /* autoboot after 3 seconds */
|
||||
|
||||
#if 1
|
||||
#define CONFIG_BOOTCOMMAND "bootm fff00000" /* autoboot command */
|
||||
#else
|
||||
#define CONFIG_BOOTCOMMAND "bootp" /* autoboot command */
|
||||
#endif
|
||||
|
||||
#if 0
|
||||
#define CONFIG_BOOTARGS "root=/dev/nfs " \
|
||||
"ip=192.168.2.176:192.168.2.190:192.168.2.79:255.255.255.0 " \
|
||||
"nfsroot=192.168.2.190:/home/stefan/cpci405/target_ftest4"
|
||||
#else
|
||||
#define CONFIG_BOOTARGS "root=/dev/hda1 " \
|
||||
"ip=192.168.2.176:192.168.2.190:192.168.2.79:255.255.255.0"
|
||||
|
||||
#endif
|
||||
|
||||
#define CONFIG_PREBOOT /* enable preboot variable */
|
||||
|
||||
#define CONFIG_LOADS_ECHO 1 /* echo on for serial download */
|
||||
#define CONFIG_SYS_LOADS_BAUD_CHANGE 1 /* allow baudrate change */
|
||||
|
||||
#define CONFIG_PPC4xx_EMAC
|
||||
#define CONFIG_MII 1 /* MII PHY management */
|
||||
#define CONFIG_PHY_ADDR 0 /* PHY address */
|
||||
#define CONFIG_LXT971_NO_SLEEP 1 /* disable sleep mode in LXT971 */
|
||||
|
||||
|
||||
/*
|
||||
* 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_DHCP
|
||||
#define CONFIG_CMD_PCI
|
||||
#define CONFIG_CMD_IRQ
|
||||
#define CONFIG_CMD_ELF
|
||||
#define CONFIG_CMD_MII
|
||||
#undef CONFIG_CMD_NFS
|
||||
#define CONFIG_CMD_PING
|
||||
#define CONFIG_CMD_BSP
|
||||
|
||||
|
||||
#undef CONFIG_WATCHDOG /* watchdog disabled */
|
||||
|
||||
#define CONFIG_SDRAM_BANK0 1 /* init onboard SDRAM bank 0 */
|
||||
|
||||
/*
|
||||
* Miscellaneous configurable options
|
||||
*/
|
||||
#define CONFIG_SYS_LONGHELP /* undef to save memory */
|
||||
#define CONFIG_SYS_PROMPT "=> " /* Monitor Command Prompt */
|
||||
#if defined(CONFIG_CMD_KGDB)
|
||||
#define CONFIG_SYS_CBSIZE 1024 /* Console I/O Buffer Size */
|
||||
#else
|
||||
#define CONFIG_SYS_CBSIZE 256 /* Console I/O Buffer Size */
|
||||
#endif
|
||||
#define CONFIG_SYS_PBSIZE (CONFIG_SYS_CBSIZE+sizeof(CONFIG_SYS_PROMPT)+16) /* Print Buffer Size */
|
||||
#define CONFIG_SYS_MAXARGS 16 /* max number of command args */
|
||||
#define CONFIG_SYS_BARGSIZE CONFIG_SYS_CBSIZE /* Boot Argument Buffer Size */
|
||||
|
||||
#define CONFIG_SYS_DEVICE_NULLDEV 1 /* include nulldev device */
|
||||
|
||||
#define CONFIG_SYS_CONSOLE_INFO_QUIET 1 /* don't print console @ startup*/
|
||||
|
||||
#define CONFIG_AUTO_COMPLETE 1 /* add autocompletion support */
|
||||
#define CONFIG_LOOPW 1 /* enable loopw command */
|
||||
#define CONFIG_MX_CYCLIC 1 /* enable mdc/mwc commands */
|
||||
|
||||
#define CONFIG_SYS_MEMTEST_START 0x0400000 /* memtest works on */
|
||||
#define CONFIG_SYS_MEMTEST_END 0x0C00000 /* 4 ... 12 MB in DRAM */
|
||||
|
||||
#define CONFIG_CONS_INDEX 1 /* Use UART0 */
|
||||
#define CONFIG_SYS_NS16550
|
||||
#define CONFIG_SYS_NS16550_SERIAL
|
||||
#define CONFIG_SYS_NS16550_REG_SIZE 1
|
||||
#define CONFIG_SYS_NS16550_CLK get_serial_clock()
|
||||
|
||||
#define CONFIG_SYS_EXT_SERIAL_CLOCK 14745600 /* use external serial clock */
|
||||
|
||||
/* The following table includes the supported baudrates */
|
||||
#define CONFIG_SYS_BAUDRATE_TABLE \
|
||||
{ 300, 600, 1200, 2400, 4800, 9600, 19200, 38400, \
|
||||
57600, 115200, 230400, 460800, 921600 }
|
||||
|
||||
#define CONFIG_SYS_LOAD_ADDR 0x100000 /* default load address */
|
||||
#define CONFIG_SYS_EXTBDINFO 1 /* To use extended board_into (bd_t) */
|
||||
|
||||
#define CONFIG_SYS_HZ 1000 /* decrementer freq: 1 ms ticks */
|
||||
|
||||
#define CONFIG_ZERO_BOOTDELAY_CHECK /* check for keypress on bootdelay==0 */
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* PCI stuff
|
||||
*-----------------------------------------------------------------------
|
||||
*/
|
||||
#define PCI_HOST_ADAPTER 0 /* configure ar pci adapter */
|
||||
#define PCI_HOST_FORCE 1 /* configure as pci host */
|
||||
#define PCI_HOST_AUTO 2 /* detected via arbiter enable */
|
||||
|
||||
#define CONFIG_PCI /* include pci support */
|
||||
#define CONFIG_PCI_HOST PCI_HOST_FORCE /* select pci host function */
|
||||
#define CONFIG_PCI_PNP /* do pci plug-and-play */
|
||||
/* resource configuration */
|
||||
|
||||
#define CONFIG_PCI_SCAN_SHOW /* print pci devices @ startup */
|
||||
|
||||
#define CONFIG_PCI_CONFIG_HOST_BRIDGE 1 /* don't skip host bridge config*/
|
||||
|
||||
#define CONFIG_PCI_BOOTDELAY 0 /* enable pci bootdelay variable*/
|
||||
|
||||
#define CONFIG_SYS_PCI_SUBSYS_VENDORID 0x12FE /* PCI Vendor ID: esd gmbh */
|
||||
#define CONFIG_SYS_PCI_SUBSYS_DEVICEID 0x0403 /* PCI Device ID: ARISTO405 */
|
||||
#define CONFIG_SYS_PCI_PTM1LA 0x00000000 /* point to sdram */
|
||||
#define CONFIG_SYS_PCI_PTM1MS 0x80000001 /* 2GB, enable hard-wired to 1 */
|
||||
#define CONFIG_SYS_PCI_PTM1PCI 0x00000000 /* Host: use this pci address */
|
||||
#define CONFIG_SYS_PCI_PTM2LA 0xfff00000 /* point to flash */
|
||||
#define CONFIG_SYS_PCI_PTM2MS 0xfff00001 /* 1MB, enable */
|
||||
#define CONFIG_SYS_PCI_PTM2PCI 0x04000000 /* Host: use this pci address */
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* Start addresses for the final memory configuration
|
||||
* (Set up by the startup code)
|
||||
* Please note that CONFIG_SYS_SDRAM_BASE _must_ start at 0
|
||||
*/
|
||||
#define CONFIG_SYS_SDRAM_BASE 0x00000000
|
||||
#define CONFIG_SYS_FLASH_BASE CONFIG_SYS_MONITOR_BASE
|
||||
#define CONFIG_SYS_MONITOR_BASE CONFIG_SYS_TEXT_BASE
|
||||
#define CONFIG_SYS_MONITOR_LEN (~(CONFIG_SYS_TEXT_BASE) + 1)
|
||||
#define CONFIG_SYS_MALLOC_LEN (128 * 1024) /* Reserve 128 kB for malloc() */
|
||||
|
||||
/*
|
||||
* For booting Linux, the board info and command line data
|
||||
* have to be in the first 8 MB of memory, since this is
|
||||
* the maximum mapped by the Linux kernel during initialization.
|
||||
*/
|
||||
#define CONFIG_SYS_BOOTMAPSZ (8 << 20) /* Initial Memory map for Linux */
|
||||
/*-----------------------------------------------------------------------
|
||||
* FLASH organization
|
||||
*/
|
||||
#define CONFIG_SYS_MAX_FLASH_BANKS 1 /* max number of memory banks */
|
||||
#define CONFIG_SYS_MAX_FLASH_SECT 256 /* max number of sectors on one chip */
|
||||
|
||||
#define CONFIG_SYS_FLASH_ERASE_TOUT 120000 /* Timeout for Flash Erase (in ms) */
|
||||
#define CONFIG_SYS_FLASH_WRITE_TOUT 500 /* Timeout for Flash Write (in ms) */
|
||||
|
||||
#define CONFIG_SYS_FLASH_WORD_SIZE unsigned short /* flash word size (width) */
|
||||
#define CONFIG_SYS_FLASH_ADDR0 0x5555 /* 1st address for flash config cycles */
|
||||
#define CONFIG_SYS_FLASH_ADDR1 0x2AAA /* 2nd address for flash config cycles */
|
||||
/*
|
||||
* The following defines are added for buggy IOP480 byte interface.
|
||||
* All other boards should use the standard values (CPCI405 etc.)
|
||||
*/
|
||||
#define CONFIG_SYS_FLASH_READ0 0x0000 /* 0 is standard */
|
||||
#define CONFIG_SYS_FLASH_READ1 0x0001 /* 1 is standard */
|
||||
#define CONFIG_SYS_FLASH_READ2 0x0002 /* 2 is standard */
|
||||
|
||||
#define CONFIG_SYS_FLASH_EMPTY_INFO /* print 'E' for empty sector on flinfo */
|
||||
|
||||
#define CONFIG_ENV_IS_IN_FLASH 1
|
||||
#define CONFIG_ENV_ADDR (CONFIG_SYS_MONITOR_BASE - CONFIG_ENV_SECT_SIZE)
|
||||
#define CONFIG_ENV_SECT_SIZE 0x10000 /* see README - env sector total size */
|
||||
#define CONFIG_ENV_SIZE 0x04000 /* Size of Environment */
|
||||
|
||||
#define CONFIG_ENV_ADDR_REDUND (CONFIG_ENV_ADDR - CONFIG_ENV_SECT_SIZE)
|
||||
#define CONFIG_ENV_SIZE_REDUND CONFIG_ENV_SIZE
|
||||
|
||||
/*
|
||||
* Init Memory Controller:
|
||||
*
|
||||
* BR0/1 and OR0/1 (FLASH)
|
||||
*/
|
||||
|
||||
#define FLASH_BASE0_PRELIM 0xFFC00000 /* FLASH bank #0 */
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* External Bus Controller (EBC) Setup
|
||||
*/
|
||||
|
||||
/* Memory Bank 0 (Flash Bank 0) initialization */
|
||||
#define CONFIG_SYS_EBC_PB0AP 0x92015480
|
||||
#define CONFIG_SYS_EBC_PB0CR 0xFFC5A000 /* BAS=0xFFC,BS=4MB,BU=R/W,BW=16bit */
|
||||
|
||||
/* Memory Bank 1 (CAN0, 1, 2, 3) initialization */
|
||||
#define CONFIG_SYS_EBC_PB1AP 0x01000380 /* enable Ready, BEM=0 */
|
||||
#define CONFIG_SYS_EBC_PB1CR 0xF0018000 /* BAS=0xF00,BS=1MB,BU=R/W,BW=8bit */
|
||||
|
||||
/* Memory Bank 2 (Expension Bus) initialization */
|
||||
#define CONFIG_SYS_EBC_PB2AP 0x01000280 /* disable Ready, BEM=0 */
|
||||
#define CONFIG_SYS_EBC_PB2CR 0xF0118000 /* BAS=0xF01,BS=1MB,BU=R/W,BW=8bit */
|
||||
|
||||
/* Memory Bank 3 (16552) initialization */
|
||||
#define CONFIG_SYS_EBC_PB3AP 0x01000380 /* enable Ready, BEM=0 */
|
||||
#define CONFIG_SYS_EBC_PB3CR 0xF0218000 /* BAS=0xF02,BS=1MB,BU=R/W,BW=8bit */
|
||||
|
||||
/* Memory Bank 4 (FPGA regs) initialization */
|
||||
#define CONFIG_SYS_EBC_PB4AP 0x01005380 /* enable Ready, BEM=0 */
|
||||
#define CONFIG_SYS_EBC_PB4CR 0xF031C000 /* BAS=0xF03,BS=1MB,BU=R/W,BW=32bit */
|
||||
|
||||
/* Memory Bank 5 (Flash Bank 1/DUMMY) initialization */
|
||||
#define CONFIG_SYS_EBC_PB5AP 0x92015480
|
||||
#define CONFIG_SYS_EBC_PB5CR 0xFF85A000 /* BAS=0xFF8,BS=4MB,BU=R/W,BW=16bit */
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* Definitions for initial stack pointer and data area (in data cache)
|
||||
*/
|
||||
#define CONFIG_SYS_INIT_DCACHE_CS 7 /* use cs # 7 for data cache memory */
|
||||
|
||||
#define CONFIG_SYS_INIT_RAM_ADDR 0x40000000 /* use data cache */
|
||||
#define CONFIG_SYS_INIT_RAM_SIZE 0x2000 /* Size of used area in RAM */
|
||||
#define CONFIG_SYS_GBL_DATA_OFFSET (CONFIG_SYS_INIT_RAM_SIZE - GENERATED_GBL_DATA_SIZE)
|
||||
#define CONFIG_SYS_INIT_SP_OFFSET CONFIG_SYS_GBL_DATA_OFFSET
|
||||
|
||||
#endif /* __CONFIG_H */
|
||||
|
|
@ -0,0 +1,367 @@
|
|||
/*
|
||||
* (C) Copyright 2001-2003
|
||||
* Stefan Roese, esd gmbh germany, stefan.roese@esd-electronics.com
|
||||
*
|
||||
* See file CREDITS for list of people who contributed to this
|
||||
* project.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of
|
||||
* the License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston,
|
||||
* MA 02111-1307 USA
|
||||
*/
|
||||
|
||||
/*
|
||||
* board/config.h - configuration options, board specific
|
||||
*/
|
||||
|
||||
#ifndef __CONFIG_H
|
||||
#define __CONFIG_H
|
||||
|
||||
/*
|
||||
* High Level Configuration Options
|
||||
* (easy to change)
|
||||
*/
|
||||
|
||||
#define CONFIG_405EP 1 /* This is a PPC405 CPU */
|
||||
#define CONFIG_4xx 1 /* ...member of PPC4xx family */
|
||||
#define CONFIG_ASH405 1 /* ...on a ASH405 board */
|
||||
|
||||
#define CONFIG_SYS_TEXT_BASE 0xFFFC0000
|
||||
|
||||
#define CONFIG_BOARD_EARLY_INIT_F 1 /* call board_early_init_f() */
|
||||
#define CONFIG_MISC_INIT_R 1 /* call misc_init_r() */
|
||||
|
||||
#define CONFIG_SYS_CLK_FREQ 33333300 /* external frequency to pll */
|
||||
|
||||
#define CONFIG_BAUDRATE 9600
|
||||
#define CONFIG_BOOTDELAY 3 /* autoboot after 3 seconds */
|
||||
|
||||
#undef CONFIG_BOOTARGS
|
||||
#undef CONFIG_BOOTCOMMAND
|
||||
|
||||
#define CONFIG_PREBOOT /* enable preboot variable */
|
||||
|
||||
#define CONFIG_LOADS_ECHO 1 /* echo on for serial download */
|
||||
#define CONFIG_SYS_LOADS_BAUD_CHANGE 1 /* allow baudrate change */
|
||||
|
||||
#undef CONFIG_HAS_ETH1
|
||||
|
||||
#define CONFIG_PPC4xx_EMAC
|
||||
#define CONFIG_MII 1 /* MII PHY management */
|
||||
#define CONFIG_PHY_ADDR 0 /* PHY address */
|
||||
#define CONFIG_LXT971_NO_SLEEP 1 /* disable sleep mode in LXT971 */
|
||||
#define CONFIG_RESET_PHY_R 1 /* use reset_phy() to disable phy sleep mode */
|
||||
|
||||
#define CONFIG_PHY_CLK_FREQ EMAC_STACR_CLK_66MHZ /* 66 MHz OPB clock*/
|
||||
|
||||
|
||||
/*
|
||||
* 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_DHCP
|
||||
#define CONFIG_CMD_IRQ
|
||||
#define CONFIG_CMD_ELF
|
||||
#define CONFIG_CMD_NAND
|
||||
#define CONFIG_CMD_DATE
|
||||
#define CONFIG_CMD_I2C
|
||||
#define CONFIG_CMD_MII
|
||||
#define CONFIG_CMD_PING
|
||||
#define CONFIG_CMD_EEPROM
|
||||
|
||||
|
||||
#undef CONFIG_WATCHDOG /* watchdog disabled */
|
||||
|
||||
#define CONFIG_RTC_MC146818 /* DS1685 is MC146818 compatible*/
|
||||
#define CONFIG_SYS_RTC_REG_BASE_ADDR 0xF0000500 /* RTC Base Address */
|
||||
|
||||
#define CONFIG_SDRAM_BANK0 1 /* init onboard SDRAM bank 0 */
|
||||
|
||||
/*
|
||||
* Miscellaneous configurable options
|
||||
*/
|
||||
#define CONFIG_SYS_LONGHELP /* undef to save memory */
|
||||
#define CONFIG_SYS_PROMPT "=> " /* Monitor Command Prompt */
|
||||
|
||||
#undef CONFIG_SYS_HUSH_PARSER /* use "hush" command parser */
|
||||
|
||||
#if defined(CONFIG_CMD_KGDB)
|
||||
#define CONFIG_SYS_CBSIZE 1024 /* Console I/O Buffer Size */
|
||||
#else
|
||||
#define CONFIG_SYS_CBSIZE 256 /* Console I/O Buffer Size */
|
||||
#endif
|
||||
#define CONFIG_SYS_PBSIZE (CONFIG_SYS_CBSIZE+sizeof(CONFIG_SYS_PROMPT)+16) /* Print Buffer Size */
|
||||
#define CONFIG_SYS_MAXARGS 16 /* max number of command args */
|
||||
#define CONFIG_SYS_BARGSIZE CONFIG_SYS_CBSIZE /* Boot Argument Buffer Size */
|
||||
|
||||
#define CONFIG_SYS_DEVICE_NULLDEV 1 /* include nulldev device */
|
||||
|
||||
#define CONFIG_SYS_CONSOLE_INFO_QUIET 1 /* don't print console @ startup*/
|
||||
|
||||
#define CONFIG_SYS_MEMTEST_START 0x0400000 /* memtest works on */
|
||||
#define CONFIG_SYS_MEMTEST_END 0x0C00000 /* 4 ... 12 MB in DRAM */
|
||||
|
||||
#define CONFIG_CONS_INDEX 1 /* Use UART0 */
|
||||
#define CONFIG_SYS_NS16550
|
||||
#define CONFIG_SYS_NS16550_SERIAL
|
||||
#define CONFIG_SYS_NS16550_REG_SIZE 1
|
||||
#define CONFIG_SYS_NS16550_CLK get_serial_clock()
|
||||
|
||||
#undef CONFIG_SYS_EXT_SERIAL_CLOCK /* no external serial clock used */
|
||||
#define CONFIG_SYS_BASE_BAUD 691200
|
||||
|
||||
/* The following table includes the supported baudrates */
|
||||
#define CONFIG_SYS_BAUDRATE_TABLE \
|
||||
{ 300, 600, 1200, 2400, 4800, 9600, 19200, 38400, \
|
||||
57600, 115200, 230400, 460800, 921600 }
|
||||
|
||||
#define CONFIG_SYS_LOAD_ADDR 0x100000 /* default load address */
|
||||
#define CONFIG_SYS_EXTBDINFO 1 /* To use extended board_into (bd_t) */
|
||||
|
||||
#define CONFIG_SYS_HZ 1000 /* decrementer freq: 1 ms ticks */
|
||||
|
||||
#define CONFIG_ZERO_BOOTDELAY_CHECK /* check for keypress on bootdelay==0 */
|
||||
|
||||
#define CONFIG_VERSION_VARIABLE 1 /* include version env variable */
|
||||
|
||||
#define CONFIG_SYS_RX_ETH_BUFFER 16 /* use 16 rx buffer on 405 emac */
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* NAND-FLASH stuff
|
||||
*-----------------------------------------------------------------------
|
||||
*/
|
||||
#define CONFIG_SYS_NAND_BASE_LIST { CONFIG_SYS_NAND_BASE }
|
||||
#define CONFIG_SYS_MAX_NAND_DEVICE 1 /* Max number of NAND devices */
|
||||
#define NAND_BIG_DELAY_US 25
|
||||
|
||||
#define CONFIG_SYS_NAND_CE (0x80000000 >> 1) /* our CE is GPIO1 */
|
||||
#define CONFIG_SYS_NAND_RDY (0x80000000 >> 4) /* our RDY is GPIO4 */
|
||||
#define CONFIG_SYS_NAND_CLE (0x80000000 >> 2) /* our CLE is GPIO2 */
|
||||
#define CONFIG_SYS_NAND_ALE (0x80000000 >> 3) /* our ALE is GPIO3 */
|
||||
|
||||
#define CONFIG_SYS_NAND_SKIP_BAD_DOT_I 1 /* ".i" read skips bad blocks */
|
||||
#define CONFIG_SYS_NAND_QUIET 1
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* PCI stuff
|
||||
*-----------------------------------------------------------------------
|
||||
*/
|
||||
#define PCI_HOST_ADAPTER 0 /* configure as pci adapter */
|
||||
#define PCI_HOST_FORCE 1 /* configure as pci host */
|
||||
#define PCI_HOST_AUTO 2 /* detected via arbiter enable */
|
||||
|
||||
#define CONFIG_PCI /* include pci support */
|
||||
#define CONFIG_PCI_HOST PCI_HOST_HOST /* select pci host function */
|
||||
#undef CONFIG_PCI_PNP /* do pci plug-and-play */
|
||||
/* resource configuration */
|
||||
|
||||
#undef CONFIG_PCI_SCAN_SHOW /* print pci devices @ startup */
|
||||
|
||||
#define CONFIG_SYS_PCI_SUBSYS_VENDORID 0x12FE /* PCI Vendor ID: esd gmbh */
|
||||
#define CONFIG_SYS_PCI_SUBSYS_DEVICEID 0x0405 /* PCI Device ID: CPCI-405 */
|
||||
#define CONFIG_SYS_PCI_CLASSCODE 0x0b20 /* PCI Class Code: Processor/PPC*/
|
||||
#define CONFIG_SYS_PCI_PTM1LA 0x00000000 /* point to sdram */
|
||||
#define CONFIG_SYS_PCI_PTM1MS 0xfc000001 /* 64MB, enable hard-wired to 1 */
|
||||
#define CONFIG_SYS_PCI_PTM1PCI 0x00000000 /* Host: use this pci address */
|
||||
#define CONFIG_SYS_PCI_PTM2LA 0xffc00000 /* point to flash */
|
||||
#define CONFIG_SYS_PCI_PTM2MS 0xffc00001 /* 4MB, enable */
|
||||
#define CONFIG_SYS_PCI_PTM2PCI 0x04000000 /* Host: use this pci address */
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* Start addresses for the final memory configuration
|
||||
* (Set up by the startup code)
|
||||
* Please note that CONFIG_SYS_SDRAM_BASE _must_ start at 0
|
||||
*/
|
||||
#define CONFIG_SYS_SDRAM_BASE 0x00000000
|
||||
#define CONFIG_SYS_FLASH_BASE 0xFFFC0000
|
||||
#define CONFIG_SYS_MONITOR_BASE CONFIG_SYS_FLASH_BASE
|
||||
#define CONFIG_SYS_MONITOR_LEN (256 * 1024) /* Reserve 256 kB for Monitor */
|
||||
#define CONFIG_SYS_MALLOC_LEN (256 * 1024) /* Reserve 256 kB for malloc() */
|
||||
|
||||
/*
|
||||
* For booting Linux, the board info and command line data
|
||||
* have to be in the first 8 MB of memory, since this is
|
||||
* the maximum mapped by the Linux kernel during initialization.
|
||||
*/
|
||||
#define CONFIG_SYS_BOOTMAPSZ (8 << 20) /* Initial Memory map for Linux */
|
||||
/*-----------------------------------------------------------------------
|
||||
* FLASH organization
|
||||
*/
|
||||
#define CONFIG_SYS_MAX_FLASH_BANKS 1 /* max number of memory banks */
|
||||
#define CONFIG_SYS_MAX_FLASH_SECT 256 /* max number of sectors on one chip */
|
||||
|
||||
#define CONFIG_SYS_FLASH_ERASE_TOUT 120000 /* Timeout for Flash Erase (in ms) */
|
||||
#define CONFIG_SYS_FLASH_WRITE_TOUT 1000 /* Timeout for Flash Write (in ms) */
|
||||
|
||||
#define CONFIG_SYS_FLASH_WORD_SIZE unsigned short /* flash word size (width) */
|
||||
#define CONFIG_SYS_FLASH_ADDR0 0x5555 /* 1st address for flash config cycles */
|
||||
#define CONFIG_SYS_FLASH_ADDR1 0x2AAA /* 2nd address for flash config cycles */
|
||||
/*
|
||||
* The following defines are added for buggy IOP480 byte interface.
|
||||
* All other boards should use the standard values (CPCI405 etc.)
|
||||
*/
|
||||
#define CONFIG_SYS_FLASH_READ0 0x0000 /* 0 is standard */
|
||||
#define CONFIG_SYS_FLASH_READ1 0x0001 /* 1 is standard */
|
||||
#define CONFIG_SYS_FLASH_READ2 0x0002 /* 2 is standard */
|
||||
|
||||
#define CONFIG_SYS_FLASH_EMPTY_INFO /* print 'E' for empty sector on flinfo */
|
||||
|
||||
#if 0 /* test-only */
|
||||
#define CONFIG_SYS_JFFS2_FIRST_BANK 0 /* use for JFFS2 */
|
||||
#define CONFIG_SYS_JFFS2_NUM_BANKS 1 /* ! second bank contains U-Boot */
|
||||
#endif
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* Environment Variable setup
|
||||
*/
|
||||
#define CONFIG_ENV_IS_IN_EEPROM 1 /* use EEPROM for environment vars */
|
||||
#define CONFIG_ENV_OFFSET 0x100 /* environment starts at the beginning of the EEPROM */
|
||||
#define CONFIG_ENV_SIZE 0x700 /* 2048 bytes may be used for env vars*/
|
||||
/* total size of a CAT24WC16 is 2048 bytes */
|
||||
|
||||
#define CONFIG_SYS_NVRAM_BASE_ADDR 0xF0000500 /* NVRAM base address */
|
||||
#define CONFIG_SYS_NVRAM_SIZE 242 /* NVRAM size */
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* I2C EEPROM (CAT24WC16) for environment
|
||||
*/
|
||||
#define CONFIG_HARD_I2C /* I2c with hardware support */
|
||||
#define CONFIG_PPC4XX_I2C /* use PPC4xx driver */
|
||||
#define CONFIG_SYS_I2C_SPEED 400000 /* I2C speed and slave address */
|
||||
#define CONFIG_SYS_I2C_SLAVE 0x7F
|
||||
|
||||
#define CONFIG_SYS_I2C_EEPROM_ADDR 0x50 /* EEPROM CAT28WC08 */
|
||||
#define CONFIG_SYS_I2C_EEPROM_ADDR_LEN 1 /* Bytes of address */
|
||||
/* mask of address bits that overflow into the "EEPROM chip address" */
|
||||
#define CONFIG_SYS_I2C_EEPROM_ADDR_OVERFLOW 0x07
|
||||
#define CONFIG_SYS_EEPROM_PAGE_WRITE_BITS 4 /* The Catalyst CAT24WC08 has */
|
||||
/* 16 byte page write mode using*/
|
||||
/* last 4 bits of the address */
|
||||
#define CONFIG_SYS_EEPROM_PAGE_WRITE_DELAY_MS 10 /* and takes up to 10 msec */
|
||||
|
||||
/*
|
||||
* Init Memory Controller:
|
||||
*
|
||||
* BR0/1 and OR0/1 (FLASH)
|
||||
*/
|
||||
|
||||
#define FLASH_BASE0_PRELIM 0xFFC00000 /* FLASH bank #0 */
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* External Bus Controller (EBC) Setup
|
||||
*/
|
||||
|
||||
/* Memory Bank 0 (Flash Bank 0, NOR-FLASH) initialization */
|
||||
#define CONFIG_SYS_EBC_PB0AP 0x92015480
|
||||
/*#define CONFIG_SYS_EBC_PB0AP 0x08055880 /XXX* TWT=16,CSN=1,OEN=1,WBN=1,WBF=1,TH=4,SOR=1 */
|
||||
#define CONFIG_SYS_EBC_PB0CR 0xFFC5A000 /* BAS=0xFFC,BS=4MB,BU=R/W,BW=16bit */
|
||||
|
||||
/* Memory Bank 1 (Flash Bank 1, NAND-FLASH) initialization */
|
||||
#define CONFIG_SYS_EBC_PB1AP 0x92015480
|
||||
#define CONFIG_SYS_EBC_PB1CR 0xF4018000 /* BAS=0xF40,BS=1MB,BU=R/W,BW=8bit */
|
||||
|
||||
/* Memory Bank 2 (8 Bit Peripheral: CAN, UART, RTC) initialization */
|
||||
#define CONFIG_SYS_EBC_PB2AP 0x010053C0 /* BWT=2,WBN=1,WBF=1,TH=1,RE=1,SOR=1,BEM=1 */
|
||||
#define CONFIG_SYS_EBC_PB2CR 0xF0018000 /* BAS=0xF00,BS=1MB,BU=R/W,BW=8bit */
|
||||
|
||||
/* Memory Bank 3 (16 Bit Peripheral: FPGA internal, dig. IO) initialization */
|
||||
#define CONFIG_SYS_EBC_PB3AP 0x010053C0 /* BWT=2,WBN=1,WBF=1,TH=1,RE=1,SOR=1,BEM=1 */
|
||||
#define CONFIG_SYS_EBC_PB3CR 0xF011A000 /* BAS=0xF01,BS=1MB,BU=R/W,BW=16bit */
|
||||
|
||||
#define CAN_BA 0xF0000000 /* CAN Base Address */
|
||||
#define DUART0_BA 0xF0000400 /* DUART Base Address */
|
||||
#define DUART1_BA 0xF0000408 /* DUART Base Address */
|
||||
#define DUART2_BA 0xF0000410 /* DUART Base Address */
|
||||
#define DUART3_BA 0xF0000418 /* DUART Base Address */
|
||||
#define RTC_BA 0xF0000500 /* RTC Base Address */
|
||||
#define CONFIG_SYS_NAND_BASE 0xF4000000
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* FPGA stuff
|
||||
*/
|
||||
#define CONFIG_SYS_FPGA_SPARTAN2 1 /* using Xilinx Spartan 2 now */
|
||||
#define CONFIG_SYS_FPGA_MAX_SIZE 128*1024 /* 128kByte is enough for XC2S50E*/
|
||||
|
||||
/* FPGA program pin configuration */
|
||||
#define CONFIG_SYS_FPGA_PRG 0x04000000 /* FPGA program pin (ppc output) */
|
||||
#define CONFIG_SYS_FPGA_CLK 0x02000000 /* FPGA clk pin (ppc output) */
|
||||
#define CONFIG_SYS_FPGA_DATA 0x01000000 /* FPGA data pin (ppc output) */
|
||||
#define CONFIG_SYS_FPGA_INIT 0x00010000 /* FPGA init pin (ppc input) */
|
||||
#define CONFIG_SYS_FPGA_DONE 0x00008000 /* FPGA done pin (ppc input) */
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* Definitions for initial stack pointer and data area (in data cache)
|
||||
*/
|
||||
/* use on chip memory ( OCM ) for temperary stack until sdram is tested */
|
||||
#define CONFIG_SYS_TEMP_STACK_OCM 1
|
||||
|
||||
/* On Chip Memory location */
|
||||
#define CONFIG_SYS_OCM_DATA_ADDR 0xF8000000
|
||||
#define CONFIG_SYS_OCM_DATA_SIZE 0x1000
|
||||
#define CONFIG_SYS_INIT_RAM_ADDR CONFIG_SYS_OCM_DATA_ADDR /* inside of SDRAM */
|
||||
#define CONFIG_SYS_INIT_RAM_SIZE CONFIG_SYS_OCM_DATA_SIZE /* Size of used area in RAM */
|
||||
|
||||
#define CONFIG_SYS_GBL_DATA_OFFSET (CONFIG_SYS_INIT_RAM_SIZE - GENERATED_GBL_DATA_SIZE)
|
||||
#define CONFIG_SYS_INIT_SP_OFFSET CONFIG_SYS_GBL_DATA_OFFSET
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* Definitions for GPIO setup (PPC405EP specific)
|
||||
*
|
||||
* GPIO0[0] - External Bus Controller BLAST output
|
||||
* GPIO0[1-9] - Instruction trace outputs -> GPIO
|
||||
* GPIO0[10-13] - External Bus Controller CS_1 - CS_4 outputs
|
||||
* GPIO0[14-16] - External Bus Controller ABUS3-ABUS5 outputs -> GPIO
|
||||
* GPIO0[17-23] - External Interrupts IRQ0 - IRQ6 inputs
|
||||
* GPIO0[24-27] - UART0 control signal inputs/outputs
|
||||
* GPIO0[28-29] - UART1 data signal input/output
|
||||
* GPIO0[30-31] - EMAC0 and EMAC1 reject packet inputs
|
||||
*/
|
||||
#define CONFIG_SYS_GPIO0_OSRL 0x40000550
|
||||
#define CONFIG_SYS_GPIO0_OSRH 0x00000110
|
||||
#define CONFIG_SYS_GPIO0_ISR1L 0x00000000
|
||||
#define CONFIG_SYS_GPIO0_ISR1H 0x15555445
|
||||
#define CONFIG_SYS_GPIO0_TSRL 0x00000000
|
||||
#define CONFIG_SYS_GPIO0_TSRH 0x00000000
|
||||
#define CONFIG_SYS_GPIO0_TCR 0xF7FE0014
|
||||
|
||||
#define CONFIG_SYS_DUART_RST (0x80000000 >> 14)
|
||||
|
||||
/*
|
||||
* Default speed selection (cpu_plb_opb_ebc) in mhz.
|
||||
* This value will be set if iic boot eprom is disabled.
|
||||
*/
|
||||
#if 0
|
||||
#define PLLMR0_DEFAULT PLLMR0_266_133_66_33
|
||||
#define PLLMR1_DEFAULT PLLMR1_266_133_66_33
|
||||
#endif
|
||||
#if 1
|
||||
#define PLLMR0_DEFAULT PLLMR0_200_100_50_33
|
||||
#define PLLMR1_DEFAULT PLLMR1_200_100_50_33
|
||||
#endif
|
||||
#if 0
|
||||
#define PLLMR0_DEFAULT PLLMR0_133_66_66_33
|
||||
#define PLLMR1_DEFAULT PLLMR1_133_66_66_33
|
||||
#endif
|
||||
|
||||
#endif /* __CONFIG_H */
|
||||
|
|
@ -0,0 +1,212 @@
|
|||
/*
|
||||
* Copyright (C) 2004-2005 Arabella Software Ltd.
|
||||
* Yuli Barcohen <yuli@arabellasw.com>
|
||||
*
|
||||
* Support for Analogue&Micro Adder boards family.
|
||||
* Tested on AdderII and Adder87x.
|
||||
*
|
||||
* See file CREDITS for list of people who contributed to this
|
||||
* project.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of
|
||||
* the License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston,
|
||||
* MA 02111-1307 USA
|
||||
*/
|
||||
#ifndef __CONFIG_H
|
||||
#define __CONFIG_H
|
||||
|
||||
#if !defined(CONFIG_MPC875) && !defined(CONFIG_MPC852T)
|
||||
#define CONFIG_MPC875
|
||||
#endif
|
||||
|
||||
#define CONFIG_ADDER /* Analogue&Micro Adder board */
|
||||
|
||||
#define CONFIG_SYS_TEXT_BASE 0xFE000000
|
||||
|
||||
#define CONFIG_8xx_CONS_SMC1 1 /* Console is on SMC1 */
|
||||
#define CONFIG_BAUDRATE 38400
|
||||
|
||||
#define CONFIG_ETHER_ON_FEC1
|
||||
#define CONFIG_ETHER_ON_FEC2
|
||||
#define CONFIG_HAS_ETH0
|
||||
#define CONFIG_HAS_ETH1
|
||||
|
||||
#if defined(CONFIG_ETHER_ON_FEC1) || defined(CONFIG_ETHER_ON_FEC2)
|
||||
#define CONFIG_SYS_DISCOVER_PHY
|
||||
#define CONFIG_MII_INIT 1
|
||||
#define FEC_ENET
|
||||
#endif /* CONFIG_ETHER_ON_FEC || CONFIG_ETHER_ON_FEC2 */
|
||||
|
||||
#define CONFIG_8xx_OSCLK 10000000 /* 10 MHz oscillator on EXTCLK */
|
||||
#define CONFIG_8xx_CPUCLK_DEFAULT 50000000
|
||||
#define CONFIG_SYS_8xx_CPUCLK_MIN 40000000
|
||||
#ifdef CONFIG_MPC852T
|
||||
#define CONFIG_SYS_8xx_CPUCLK_MAX 50000000
|
||||
#else
|
||||
#define CONFIG_SYS_8xx_CPUCLK_MAX 133000000
|
||||
#endif /* CONFIG_MPC852T */
|
||||
|
||||
|
||||
/*
|
||||
* 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_DHCP
|
||||
#define CONFIG_CMD_IMMAP
|
||||
#define CONFIG_CMD_MII
|
||||
#define CONFIG_CMD_PING
|
||||
|
||||
|
||||
#define CONFIG_BOOTDELAY 5 /* Autoboot after 5 seconds */
|
||||
#define CONFIG_BOOTCOMMAND "bootm fe040000" /* Autoboot command */
|
||||
#define CONFIG_BOOTARGS "root=/dev/mtdblock1 rw mtdparts=1M(ROM)ro,-(root)"
|
||||
|
||||
#define CONFIG_BZIP2 /* Include support for bzip2 compressed images */
|
||||
#undef CONFIG_WATCHDOG /* Disable platform specific watchdog */
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* Miscellaneous configurable options
|
||||
*/
|
||||
#define CONFIG_SYS_PROMPT "=> " /* Monitor Command Prompt */
|
||||
#define CONFIG_SYS_HUSH_PARSER
|
||||
#define CONFIG_SYS_LONGHELP /* #undef to save memory */
|
||||
#define CONFIG_SYS_CBSIZE 256 /* Console I/O Buffer Size */
|
||||
#define CONFIG_SYS_PBSIZE (CONFIG_SYS_CBSIZE + sizeof(CONFIG_SYS_PROMPT) + 16) /* Print Buffer Size */
|
||||
#define CONFIG_SYS_MAXARGS 16 /* Max number of command args */
|
||||
#define CONFIG_SYS_BARGSIZE CONFIG_SYS_CBSIZE /* Boot Argument Buffer Size */
|
||||
|
||||
#define CONFIG_SYS_LOAD_ADDR 0x400000 /* Default load address */
|
||||
|
||||
#define CONFIG_SYS_HZ 1000 /* Decrementer freq: 1 ms ticks */
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* RAM configuration (note that CONFIG_SYS_SDRAM_BASE must be zero)
|
||||
*/
|
||||
#define CONFIG_SYS_SDRAM_BASE 0x00000000
|
||||
#define CONFIG_SYS_SDRAM_MAX_SIZE 0x01000000 /* Up to 16 Mbyte */
|
||||
|
||||
#define CONFIG_SYS_MAMR 0x00002114
|
||||
|
||||
/*
|
||||
* 4096 Up to 4096 SDRAM rows
|
||||
* 1000 factor s -> ms
|
||||
* 32 PTP (pre-divider from MPTPR)
|
||||
* 4 Number of refresh cycles per period
|
||||
* 64 Refresh cycle in ms per number of rows
|
||||
*/
|
||||
#define CONFIG_SYS_PTA_PER_CLK ((4096 * 32 * 1000) / (4 * 64))
|
||||
|
||||
#define CONFIG_SYS_MEMTEST_START 0x00100000 /* memtest works on */
|
||||
#define CONFIG_SYS_MEMTEST_END 0x00500000 /* 1 ... 5 MB in SDRAM */
|
||||
|
||||
#define CONFIG_SYS_RESET_ADDRESS 0x09900000
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* For booting Linux, the board info and command line data
|
||||
* have to be in the first 8 MB of memory, since this is
|
||||
* the maximum mapped by the Linux kernel during initialization.
|
||||
*/
|
||||
#define CONFIG_SYS_BOOTMAPSZ (8 << 20) /* Initial Memory map for Linux */
|
||||
|
||||
#define CONFIG_SYS_MONITOR_BASE CONFIG_SYS_TEXT_BASE
|
||||
#define CONFIG_SYS_MONITOR_LEN (256 << 10) /* Reserve 256 KB for Monitor */
|
||||
#ifdef CONFIG_BZIP2
|
||||
#define CONFIG_SYS_MALLOC_LEN (2500 << 10) /* Reserve ~2.5 MB for malloc() */
|
||||
#else
|
||||
#define CONFIG_SYS_MALLOC_LEN (128 << 10) /* Reserve 128 KB for malloc() */
|
||||
#endif /* CONFIG_BZIP2 */
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* Flash organisation
|
||||
*/
|
||||
#define CONFIG_SYS_FLASH_BASE 0xFE000000
|
||||
#define CONFIG_SYS_FLASH_CFI /* The flash is CFI compatible */
|
||||
#define CONFIG_FLASH_CFI_DRIVER /* Use common CFI driver */
|
||||
#define CONFIG_SYS_MAX_FLASH_BANKS 1 /* Max number of flash banks */
|
||||
#define CONFIG_SYS_MAX_FLASH_SECT 128 /* Max num of sects on one chip */
|
||||
|
||||
/* Environment is in flash */
|
||||
#define CONFIG_ENV_IS_IN_FLASH
|
||||
#define CONFIG_ENV_SECT_SIZE 0x10000 /* We use one complete sector */
|
||||
#define CONFIG_ENV_ADDR (CONFIG_SYS_MONITOR_BASE + CONFIG_SYS_MONITOR_LEN)
|
||||
|
||||
#define CONFIG_ENV_OVERWRITE
|
||||
|
||||
#define CONFIG_SYS_OR0_PRELIM 0xFF000774
|
||||
#define CONFIG_SYS_BR0_PRELIM (CONFIG_SYS_FLASH_BASE | BR_PS_16 | BR_MS_GPCM | BR_V)
|
||||
|
||||
#define CONFIG_SYS_DIRECT_FLASH_TFTP
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* Internal Memory Map Register
|
||||
*/
|
||||
#define CONFIG_SYS_IMMR 0xFF000000
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* Definitions for initial stack pointer and data area (in DPRAM)
|
||||
*/
|
||||
#define CONFIG_SYS_INIT_RAM_ADDR CONFIG_SYS_IMMR
|
||||
#define CONFIG_SYS_INIT_RAM_SIZE 0x2F00 /* Size of used area in DPRAM */
|
||||
#define CONFIG_SYS_GBL_DATA_OFFSET (CONFIG_SYS_INIT_RAM_SIZE - GENERATED_GBL_DATA_SIZE)
|
||||
#define CONFIG_SYS_INIT_SP_OFFSET CONFIG_SYS_GBL_DATA_OFFSET
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* Configuration registers
|
||||
*/
|
||||
#ifdef CONFIG_WATCHDOG
|
||||
#define CONFIG_SYS_SYPCR (SYPCR_SWTC | SYPCR_BMT | SYPCR_BME | \
|
||||
SYPCR_SWF | SYPCR_SWE | SYPCR_SWRI | \
|
||||
SYPCR_SWP)
|
||||
#else
|
||||
#define CONFIG_SYS_SYPCR (SYPCR_SWTC | SYPCR_BMT | SYPCR_BME | \
|
||||
SYPCR_SWF | SYPCR_SWP)
|
||||
#endif /* CONFIG_WATCHDOG */
|
||||
|
||||
#define CONFIG_SYS_SIUMCR (SIUMCR_MLRC01 | SIUMCR_DBGC11)
|
||||
|
||||
/* TBSCR - Time Base Status and Control Register */
|
||||
#define CONFIG_SYS_TBSCR (TBSCR_TBF | TBSCR_TBE)
|
||||
|
||||
/* PISCR - Periodic Interrupt Status and Control */
|
||||
#define CONFIG_SYS_PISCR (PISCR_PS | PISCR_PITF)
|
||||
|
||||
/* PLPRCR - PLL, Low-Power, and Reset Control Register */
|
||||
/* #define CONFIG_SYS_PLPRCR PLPRCR_TEXPS */
|
||||
|
||||
/* SCCR - System Clock and reset Control Register */
|
||||
#define SCCR_MASK SCCR_EBDF11
|
||||
#define CONFIG_SYS_SCCR SCCR_RTSEL
|
||||
|
||||
#define CONFIG_SYS_DER 0
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* Cache Configuration
|
||||
*/
|
||||
#define CONFIG_SYS_CACHELINE_SIZE 16 /* For all MPC8xx chips */
|
||||
|
||||
/* pass open firmware flat tree */
|
||||
#define CONFIG_OF_LIBFDT 1
|
||||
#define CONFIG_OF_BOARD_SETUP 1
|
||||
|
||||
#endif /* __CONFIG_H */
|
||||
|
|
@ -0,0 +1,51 @@
|
|||
/*
|
||||
* Copyright (C) 2006 CodeHermit.
|
||||
* Bryan O'Donoghue <bodonoghue@codehermit.ie>
|
||||
*
|
||||
* Provides support for USB console on the Analogue & Micro Adder87x
|
||||
*
|
||||
* See file CREDITS for list of people who contributed to this
|
||||
* project.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of
|
||||
* the License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston,
|
||||
* MA 02111-1307 USA
|
||||
*/
|
||||
|
||||
#ifndef __ADDERUSB__
|
||||
#define __ADDERUSB__
|
||||
|
||||
/* Include the board port */
|
||||
#include "Adder.h"
|
||||
|
||||
#define CONFIG_USB_DEVICE /* Include UDC driver */
|
||||
#define CONFIG_USB_TTY /* Bind the TTY driver to UDC */
|
||||
#define CONFIG_SYS_USB_EXTC_CLK 0x02 /* Oscillator on EXTC_CLK 2 */
|
||||
#define CONFIG_SYS_USB_BRG_CLK 0x04 /* or use Baud rate generator 0x04 */
|
||||
#define CONFIG_SYS_CONSOLE_IS_IN_ENV /* Console is in env */
|
||||
|
||||
/* If you have a USB-IF assigned VendorID then you may wish to define
|
||||
* your own vendor specific values either in BoardName.h or directly in
|
||||
* usbd_vendor_info.h
|
||||
*/
|
||||
|
||||
/*
|
||||
#define CONFIG_USBD_MANUFACTURER "CodeHermit.ie"
|
||||
#define CONFIG_USBD_PRODUCT_NAME "Das U-Boot"
|
||||
#define CONFIG_USBD_VENDORID 0xFFFF
|
||||
#define CONFIG_USBD_PRODUCTID_GSERIAL 0xFFFF
|
||||
#define CONFIG_USBD_PRODUCTID_CDCACM 0xFFFE
|
||||
*/
|
||||
|
||||
#endif /* __ADDERUSB_H__ */
|
||||
|
|
@ -0,0 +1,334 @@
|
|||
/*
|
||||
* (C) Copyright 2004
|
||||
* TsiChung Liew, Freescale Software Engineering, Tsi-Chung.Liew@freescale.
|
||||
*
|
||||
* See file CREDITS for list of people who contributed to this
|
||||
* project.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of
|
||||
* the License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston,
|
||||
* MA 02111-1307 USA
|
||||
*/
|
||||
|
||||
#ifndef __CONFIG_H
|
||||
#define __CONFIG_H
|
||||
|
||||
/*
|
||||
* High Level Configuration Options
|
||||
* (easy to change)
|
||||
*/
|
||||
#define CONFIG_MPC8220 1
|
||||
#define CONFIG_ALASKA8220 1 /* ... on Alaska board */
|
||||
|
||||
#define CONFIG_SYS_TEXT_BASE 0xfff00000
|
||||
|
||||
#define CONFIG_BAT_RW 1 /* Use common BAT rw code */
|
||||
#define CONFIG_HIGH_BATS 1 /* High BATs supported */
|
||||
|
||||
/* Input clock running at 30Mhz, read Hid1 for the CPU multiplier to
|
||||
determine the CPU speed. */
|
||||
#define CONFIG_SYS_MPC8220_CLKIN 30000000/* ... running at 30MHz */
|
||||
#define CONFIG_SYS_MPC8220_SYSPLL_VCO_MULTIPLIER 16 /* VCO multiplier can't be read from any register */
|
||||
|
||||
/*
|
||||
* Serial console configuration
|
||||
*/
|
||||
|
||||
/* Define this for PSC console
|
||||
#define CONFIG_PSC_CONSOLE 1
|
||||
*/
|
||||
|
||||
#define CONFIG_EXTUART_CONSOLE 1
|
||||
|
||||
#ifdef CONFIG_EXTUART_CONSOLE
|
||||
# define CONFIG_CONS_INDEX 1
|
||||
# define CONFIG_SYS_NS16550_SERIAL
|
||||
# define CONFIG_SYS_NS16550
|
||||
# define CONFIG_SYS_NS16550_REG_SIZE 1
|
||||
# define CONFIG_SYS_NS16550_COM1 (CONFIG_SYS_CPLD_BASE + 0x1008)
|
||||
# define CONFIG_SYS_NS16550_CLK 18432000
|
||||
#endif
|
||||
|
||||
#define CONFIG_BAUDRATE 115200 /* ... at 115200 bps */
|
||||
|
||||
#define CONFIG_SYS_BAUDRATE_TABLE { 9600, 19200, 38400, 57600, 115200, 230400 }
|
||||
|
||||
#define CONFIG_TIMESTAMP /* Print image info with timestamp */
|
||||
|
||||
|
||||
/*
|
||||
* 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_BOOTD
|
||||
#define CONFIG_CMD_CACHE
|
||||
#define CONFIG_CMD_DHCP
|
||||
#define CONFIG_CMD_DIAG
|
||||
#define CONFIG_CMD_EEPROM
|
||||
#define CONFIG_CMD_ELF
|
||||
#define CONFIG_CMD_I2C
|
||||
#define CONFIG_CMD_NET
|
||||
#define CONFIG_CMD_NFS
|
||||
#define CONFIG_CMD_PCI
|
||||
#define CONFIG_CMD_PING
|
||||
#define CONFIG_CMD_REGINFO
|
||||
#define CONFIG_CMD_SDRAM
|
||||
#define CONFIG_CMD_SNTP
|
||||
|
||||
|
||||
#define CONFIG_MII
|
||||
|
||||
/*
|
||||
* Autobooting
|
||||
*/
|
||||
#define CONFIG_BOOTDELAY 5 /* autoboot after 5 seconds */
|
||||
#define CONFIG_BOOTARGS "root=/dev/ram rw"
|
||||
#define CONFIG_ETHADDR 00:e0:0c:bc:e0:60
|
||||
#define CONFIG_HAS_ETH1
|
||||
#define CONFIG_ETH1ADDR 00:e0:0c:bc:e0:61
|
||||
#define CONFIG_IPADDR 192.162.1.2
|
||||
#define CONFIG_NETMASK 255.255.255.0
|
||||
#define CONFIG_SERVERIP 192.162.1.1
|
||||
#define CONFIG_GATEWAYIP 192.162.1.1
|
||||
#define CONFIG_HOSTNAME Alaska
|
||||
#define CONFIG_OVERWRITE_ETHADDR_ONCE
|
||||
|
||||
|
||||
/*
|
||||
* I2C configuration
|
||||
*/
|
||||
#define CONFIG_HARD_I2C 1
|
||||
#define CONFIG_SYS_I2C_MODULE 1
|
||||
|
||||
#define CONFIG_SYS_I2C_SPEED 100000 /* 100 kHz */
|
||||
#define CONFIG_SYS_I2C_SLAVE 0x7F
|
||||
|
||||
/*
|
||||
* EEPROM configuration
|
||||
*/
|
||||
#define CONFIG_SYS_I2C_EEPROM_ADDR 0x52 /* 1011000xb */
|
||||
#define CONFIG_SYS_I2C_EEPROM_ADDR_LEN 1
|
||||
#define CONFIG_SYS_EEPROM_PAGE_WRITE_BITS 3
|
||||
#define CONFIG_SYS_EEPROM_PAGE_WRITE_DELAY_MS 70
|
||||
/*
|
||||
#define CONFIG_ENV_IS_IN_EEPROM 1
|
||||
#define CONFIG_ENV_OFFSET 0
|
||||
#define CONFIG_ENV_SIZE 256
|
||||
*/
|
||||
|
||||
/* If CONFIG_SYS_AMD_BOOT is defined, the the system will boot from AMD.
|
||||
else undefined it will boot from Intel Strata flash */
|
||||
#define CONFIG_SYS_AMD_BOOT 1
|
||||
|
||||
/*
|
||||
* Flexbus Chipselect configuration
|
||||
*/
|
||||
#if defined (CONFIG_SYS_AMD_BOOT)
|
||||
#define CONFIG_SYS_CS0_BASE 0xfff0
|
||||
#define CONFIG_SYS_CS0_MASK 0x00080000 /* 512 KB */
|
||||
#define CONFIG_SYS_CS0_CTRL 0x003f0d40
|
||||
|
||||
#define CONFIG_SYS_CS1_BASE 0xfe00
|
||||
#define CONFIG_SYS_CS1_MASK 0x01000000 /* 16 MB */
|
||||
#define CONFIG_SYS_CS1_CTRL 0x003f1540
|
||||
#else
|
||||
#define CONFIG_SYS_CS0_BASE 0xff00
|
||||
#define CONFIG_SYS_CS0_MASK 0x01000000 /* 16 MB */
|
||||
#define CONFIG_SYS_CS0_CTRL 0x003f1540
|
||||
|
||||
#define CONFIG_SYS_CS1_BASE 0xfe08
|
||||
#define CONFIG_SYS_CS1_MASK 0x00080000 /* 512 KB */
|
||||
#define CONFIG_SYS_CS1_CTRL 0x003f0d40
|
||||
#endif
|
||||
|
||||
#define CONFIG_SYS_CS2_BASE 0xf100
|
||||
#define CONFIG_SYS_CS2_MASK 0x00040000
|
||||
#define CONFIG_SYS_CS2_CTRL 0x003f1140
|
||||
|
||||
#define CONFIG_SYS_CS3_BASE 0xf200
|
||||
#define CONFIG_SYS_CS3_MASK 0x00040000
|
||||
#define CONFIG_SYS_CS3_CTRL 0x003f1100
|
||||
|
||||
|
||||
#define CONFIG_SYS_FLASH0_BASE (CONFIG_SYS_CS0_BASE << 16)
|
||||
#define CONFIG_SYS_FLASH1_BASE (CONFIG_SYS_CS1_BASE << 16)
|
||||
|
||||
#if defined (CONFIG_SYS_AMD_BOOT)
|
||||
#define CONFIG_SYS_AMD_BASE CONFIG_SYS_FLASH0_BASE
|
||||
#define CONFIG_SYS_INTEL_BASE CONFIG_SYS_FLASH1_BASE + 0xf00000
|
||||
#define CONFIG_SYS_FLASH_BASE CONFIG_SYS_AMD_BASE
|
||||
#else
|
||||
#define CONFIG_SYS_INTEL_BASE CONFIG_SYS_FLASH0_BASE + 0xf00000
|
||||
#define CONFIG_SYS_AMD_BASE CONFIG_SYS_FLASH1_BASE
|
||||
#define CONFIG_SYS_FLASH_BASE CONFIG_SYS_INTEL_BASE
|
||||
#endif
|
||||
|
||||
#define CONFIG_SYS_CPLD_BASE (CONFIG_SYS_CS2_BASE << 16)
|
||||
#define CONFIG_SYS_FPGA_BASE (CONFIG_SYS_CS3_BASE << 16)
|
||||
|
||||
|
||||
#define CONFIG_SYS_MAX_FLASH_BANKS 4 /* max num of memory banks */
|
||||
#define CONFIG_SYS_MAX_FLASH_SECT 128 /* max num of sects on one chip */
|
||||
|
||||
#define CONFIG_SYS_FLASH_ERASE_TOUT 240000 /* Flash Erase Timeout (in ms) */
|
||||
#define CONFIG_SYS_FLASH_WRITE_TOUT 500 /* Flash Write Timeout (in ms) */
|
||||
#define CONFIG_SYS_FLASH_LOCK_TOUT 5 /* Timeout for Flash Set Lock Bit (in ms) */
|
||||
#define CONFIG_SYS_FLASH_UNLOCK_TOUT 10000 /* Timeout for Flash Clear Lock Bits (in ms) */
|
||||
#define CONFIG_SYS_FLASH_PROTECTION /* "Real" (hardware) sectors protection */
|
||||
|
||||
#define PHYS_AMD_SECT_SIZE 0x00010000 /* 64 KB sectors (x2) */
|
||||
#define PHYS_INTEL_SECT_SIZE 0x00020000 /* 128 KB sectors (x2) */
|
||||
|
||||
#define CONFIG_SYS_FLASH_CHECKSUM
|
||||
/*
|
||||
* Environment settings
|
||||
*/
|
||||
#define CONFIG_ENV_IS_IN_FLASH 1
|
||||
#if defined (CONFIG_SYS_AMD_BOOT)
|
||||
#define CONFIG_ENV_ADDR (CONFIG_SYS_FLASH0_BASE + CONFIG_SYS_CS0_MASK - PHYS_AMD_SECT_SIZE)
|
||||
#define CONFIG_ENV_SIZE PHYS_AMD_SECT_SIZE
|
||||
#define CONFIG_ENV_SECT_SIZE PHYS_AMD_SECT_SIZE
|
||||
#define CONFIG_ENV1_ADDR (CONFIG_SYS_FLASH1_BASE + CONFIG_SYS_CS1_MASK - PHYS_INTEL_SECT_SIZE)
|
||||
#define CONFIG_ENV1_SIZE PHYS_INTEL_SECT_SIZE
|
||||
#define CONFIG_ENV1_SECT_SIZE PHYS_INTEL_SECT_SIZE
|
||||
#else
|
||||
#define CONFIG_ENV_ADDR (CONFIG_SYS_FLASH0_BASE + CONFIG_SYS_CS0_MASK - PHYS_INTEL_SECT_SIZE)
|
||||
#define CONFIG_ENV_SIZE PHYS_INTEL_SECT_SIZE
|
||||
#define CONFIG_ENV_SECT_SIZE PHYS_INTEL_SECT_SIZE
|
||||
#define CONFIG_ENV1_ADDR (CONFIG_SYS_FLASH1_BASE + CONFIG_SYS_CS1_MASK - PHYS_AMD_SECT_SIZE)
|
||||
#define CONFIG_ENV1_SIZE PHYS_AMD_SECT_SIZE
|
||||
#define CONFIG_ENV1_SECT_SIZE PHYS_AMD_SECT_SIZE
|
||||
#endif
|
||||
|
||||
#define CONFIG_ENV_OVERWRITE 1
|
||||
|
||||
#if defined CONFIG_ENV_IS_IN_FLASH
|
||||
#undef CONFIG_ENV_IS_IN_NVRAM
|
||||
#undef CONFIG_ENV_IS_IN_EEPROM
|
||||
#elif defined CONFIG_ENV_IS_IN_NVRAM
|
||||
#undef CONFIG_ENV_IS_IN_FLASH
|
||||
#undef CONFIG_ENV_IS_IN_EEPROM
|
||||
#elif defined CONFIG_ENV_IS_IN_EEPROM
|
||||
#undef CONFIG_ENV_IS_IN_NVRAM
|
||||
#undef CONFIG_ENV_IS_IN_FLASH
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Memory map
|
||||
*/
|
||||
#define CONFIG_SYS_MBAR 0xF0000000
|
||||
#define CONFIG_SYS_SDRAM_BASE 0x00000000
|
||||
#define CONFIG_SYS_DEFAULT_MBAR 0x80000000
|
||||
#define CONFIG_SYS_SRAM_BASE (CONFIG_SYS_MBAR + 0x20000)
|
||||
#define CONFIG_SYS_SRAM_SIZE 0x8000
|
||||
|
||||
/* Use SRAM until RAM will be available */
|
||||
#define CONFIG_SYS_INIT_RAM_ADDR (CONFIG_SYS_MBAR + 0x20000)
|
||||
#define CONFIG_SYS_INIT_RAM_SIZE 0x8000 /* Size of used area in DPRAM */
|
||||
|
||||
#define CONFIG_SYS_GBL_DATA_OFFSET (CONFIG_SYS_INIT_RAM_SIZE - GENERATED_GBL_DATA_SIZE)
|
||||
#define CONFIG_SYS_INIT_SP_OFFSET CONFIG_SYS_GBL_DATA_OFFSET
|
||||
|
||||
#define CONFIG_SYS_MONITOR_BASE CONFIG_SYS_TEXT_BASE
|
||||
#if (CONFIG_SYS_MONITOR_BASE < CONFIG_SYS_FLASH_BASE)
|
||||
# define CONFIG_SYS_RAMBOOT 1
|
||||
#endif
|
||||
|
||||
#define CONFIG_SYS_MONITOR_LEN (256 << 10) /* Reserve 256 kB for Monitor */
|
||||
#define CONFIG_SYS_MALLOC_LEN (128 << 10) /* Reserve 128 kB for malloc() */
|
||||
#define CONFIG_SYS_BOOTMAPSZ (8 << 20) /* Initial Memory map for Linux */
|
||||
|
||||
/* SDRAM configuration */
|
||||
#define CONFIG_SYS_SDRAM_TOTAL_BANKS 2
|
||||
#define CONFIG_SYS_SDRAM_SPD_I2C_ADDR 0x51 /* 7bit */
|
||||
#define CONFIG_SYS_SDRAM_SPD_SIZE 0x40
|
||||
#define CONFIG_SYS_SDRAM_CAS_LATENCY 4 /* (CL=2)x2 */
|
||||
|
||||
/* SDRAM drive strength register */
|
||||
#define CONFIG_SYS_SDRAM_DRIVE_STRENGTH ((DRIVE_STRENGTH_LOW << SDRAMDS_SBE_SHIFT) | \
|
||||
(DRIVE_STRENGTH_HIGH << SDRAMDS_SBC_SHIFT) | \
|
||||
(DRIVE_STRENGTH_LOW << SDRAMDS_SBA_SHIFT) | \
|
||||
(DRIVE_STRENGTH_OFF << SDRAMDS_SBS_SHIFT) | \
|
||||
(DRIVE_STRENGTH_LOW << SDRAMDS_SBD_SHIFT))
|
||||
|
||||
/*
|
||||
* Ethernet configuration
|
||||
*/
|
||||
#define CONFIG_MPC8220_FEC 1
|
||||
#define CONFIG_FEC_10MBIT 1 /* Workaround for FEC 100Mbit problem */
|
||||
#define CONFIG_PHY_ADDR 0x18
|
||||
|
||||
|
||||
/*
|
||||
* Miscellaneous configurable options
|
||||
*/
|
||||
#define CONFIG_SYS_LONGHELP /* undef to save memory */
|
||||
#define CONFIG_SYS_PROMPT "=> " /* Monitor Command Prompt */
|
||||
#if defined(CONFIG_CMD_KGDB)
|
||||
#define CONFIG_SYS_CBSIZE 1024 /* Console I/O Buffer Size */
|
||||
#else
|
||||
#define CONFIG_SYS_CBSIZE 256 /* Console I/O Buffer Size */
|
||||
#endif
|
||||
#define CONFIG_SYS_PBSIZE (CONFIG_SYS_CBSIZE+sizeof(CONFIG_SYS_PROMPT)+16) /* Print Buffer Size */
|
||||
#define CONFIG_SYS_MAXARGS 16 /* max number of command args */
|
||||
#define CONFIG_SYS_BARGSIZE CONFIG_SYS_CBSIZE /* Boot Argument Buffer Size */
|
||||
|
||||
#define CONFIG_SYS_MEMTEST_START 0x00100000 /* memtest works on */
|
||||
#define CONFIG_SYS_MEMTEST_END 0x00f00000 /* 1 ... 15 MB in DRAM */
|
||||
|
||||
#define CONFIG_SYS_LOAD_ADDR 0x100000 /* default load address */
|
||||
|
||||
#define CONFIG_SYS_HZ 1000 /* decrementer freq: 1 ms ticks */
|
||||
|
||||
#define CONFIG_SYS_CACHELINE_SIZE 32 /* For MPC8220 CPUs */
|
||||
#if defined(CONFIG_CMD_KGDB)
|
||||
# define CONFIG_SYS_CACHELINE_SHIFT 5 /* log base 2 of the above value */
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Various low-level settings
|
||||
*/
|
||||
#define CONFIG_SYS_HID0_INIT HID0_ICE | HID0_ICFI
|
||||
#define CONFIG_SYS_HID0_FINAL HID0_ICE
|
||||
|
||||
/*
|
||||
* JFFS2 partitions
|
||||
*/
|
||||
|
||||
/* No command line, one static partition */
|
||||
/*
|
||||
#undef CONFIG_CMD_MTDPARTS
|
||||
#define CONFIG_JFFS2_DEV "nor0"
|
||||
#define CONFIG_JFFS2_PART_SIZE 0x00400000
|
||||
#define CONFIG_JFFS2_PART_OFFSET 0x00000000
|
||||
*/
|
||||
|
||||
/* mtdparts command line support */
|
||||
/*
|
||||
#define CONFIG_CMD_MTDPARTS
|
||||
#define MTDIDS_DEFAULT "nor0=alaska-0"
|
||||
#define MTDPARTS_DEFAULT "mtdparts=alaska-0:4m(user)"
|
||||
*/
|
||||
|
||||
#endif /* __CONFIG_H */
|
||||
|
|
@ -0,0 +1,561 @@
|
|||
/*
|
||||
* -- Version 1.1 --
|
||||
*
|
||||
* (C) Copyright 2003-2005
|
||||
* Wolfgang Denk, DENX Software Engineering, wd@denx.de.
|
||||
*
|
||||
* (C) Copyright 2004-2005
|
||||
* Martin Krause, TQ-Systems GmbH, martin.krause@tqs.de
|
||||
*
|
||||
* (C) Copyright 2005
|
||||
* Stefan Strobl, GERSYS GmbH, stefan.strobl@gersys.de.
|
||||
*
|
||||
* History:
|
||||
* 1.1 - add define CONFIG_ZERO_BOOTDELAY_CHECK
|
||||
*
|
||||
* See file CREDITS for list of people who contributed to this
|
||||
* project.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of
|
||||
* the License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston,
|
||||
* MA 02111-1307 USA
|
||||
*/
|
||||
|
||||
#ifndef __CONFIG_H
|
||||
#define __CONFIG_H
|
||||
|
||||
/*
|
||||
* High Level Configuration Options
|
||||
*/
|
||||
#define CONFIG_MPC5xxx 1 /* This is an MPC5xxx CPU */
|
||||
#define CONFIG_MPC5200 1 /* (more precisely a MPC5200 CPU) */
|
||||
#define CONFIG_TQM5200 1 /* ... on a TQM5200 module */
|
||||
|
||||
#define CONFIG_BC3450 1 /* ... on a BC3450 mainboard */
|
||||
#define CONFIG_BC3450_PS2 1 /* + a PS/2 converter onboard */
|
||||
#define CONFIG_BC3450_IDE 1 /* + IDE drives (Compact Flash) */
|
||||
#define CONFIG_BC3450_USB 1 /* + USB support */
|
||||
# define CONFIG_FAT 1 /* + FAT support */
|
||||
# define CONFIG_EXT2 1 /* + EXT2 support */
|
||||
#undef CONFIG_BC3450_BUZZER /* + Buzzer onboard */
|
||||
#undef CONFIG_BC3450_CAN /* + CAN transceiver */
|
||||
#undef CONFIG_BC3450_DS1340 /* + a RTC DS1340 onboard */
|
||||
#undef CONFIG_BC3450_DS3231 /* + a RTC DS3231 onboard tbd */
|
||||
#undef CONFIG_BC3450_AC97 /* + AC97 on PSC2, tbd */
|
||||
#define CONFIG_BC3450_FP 1 /* + enable FP O/P */
|
||||
#undef CONFIG_BC3450_CRT /* + enable CRT O/P (Debug only!) */
|
||||
|
||||
/*
|
||||
* Valid values for CONFIG_SYS_TEXT_BASE are:
|
||||
* 0xFC000000 boot low (standard configuration with room for
|
||||
* max 64 MByte Flash ROM)
|
||||
* 0x00100000 boot from RAM (for testing only)
|
||||
*/
|
||||
#ifndef CONFIG_SYS_TEXT_BASE
|
||||
#define CONFIG_SYS_TEXT_BASE 0xFC000000
|
||||
#endif
|
||||
|
||||
#define CONFIG_SYS_MPC5XXX_CLKIN 33000000 /* ... running at 33.000000MHz */
|
||||
|
||||
#define CONFIG_HIGH_BATS 1 /* High BATs supported */
|
||||
|
||||
/*
|
||||
* Serial console configuration
|
||||
*/
|
||||
#define CONFIG_PSC_CONSOLE 1 /* console is on PSC1 */
|
||||
#define CONFIG_BAUDRATE 115200 /* ... at 115200 bps */
|
||||
#define CONFIG_SYS_BAUDRATE_TABLE { 9600, 19200, 38400, 57600, 115200, 230400 }
|
||||
|
||||
/*
|
||||
* AT-PS/2 Multiplexer
|
||||
*/
|
||||
#ifdef CONFIG_BC3450_PS2
|
||||
# define CONFIG_PS2KBD /* AT-PS/2 Keyboard */
|
||||
# define CONFIG_PS2MULT /* .. on PS/2 Multiplexer */
|
||||
# define CONFIG_PS2SERIAL 6 /* .. on PSC6 */
|
||||
# define CONFIG_PS2MULT_DELAY (CONFIG_SYS_HZ/2) /* Initial delay */
|
||||
# define CONFIG_BOARD_EARLY_INIT_R
|
||||
#endif /* CONFIG_BC3450_PS2 */
|
||||
|
||||
/*
|
||||
* PCI Mapping:
|
||||
* 0x40000000 - 0x4fffffff - PCI Memory
|
||||
* 0x50000000 - 0x50ffffff - PCI IO Space
|
||||
*/
|
||||
# define CONFIG_PCI 1
|
||||
# define CONFIG_PCI_PNP 1
|
||||
/* #define CONFIG_PCI_SCAN_SHOW 1 */
|
||||
#define CONFIG_PCIAUTO_SKIP_HOST_BRIDGE 1
|
||||
|
||||
#define CONFIG_PCI_MEM_BUS 0x40000000
|
||||
#define CONFIG_PCI_MEM_PHYS CONFIG_PCI_MEM_BUS
|
||||
#define CONFIG_PCI_MEM_SIZE 0x10000000
|
||||
|
||||
#define CONFIG_PCI_IO_BUS 0x50000000
|
||||
#define CONFIG_PCI_IO_PHYS CONFIG_PCI_IO_BUS
|
||||
#define CONFIG_PCI_IO_SIZE 0x01000000
|
||||
|
||||
/*#define CONFIG_EEPRO100 XXX - FIXME: conflicts when CONFIG_MII is enabled */
|
||||
#define CONFIG_SYS_RX_ETH_BUFFER 8 /* use 8 rx buffer on eepro100 */
|
||||
#define CONFIG_NS8382X 1
|
||||
|
||||
/*
|
||||
* Video console
|
||||
*/
|
||||
# define CONFIG_VIDEO
|
||||
# define CONFIG_VIDEO_SM501
|
||||
# define CONFIG_VIDEO_SM501_32BPP
|
||||
# define CONFIG_CFB_CONSOLE
|
||||
# define CONFIG_VIDEO_LOGO
|
||||
# define CONFIG_VGA_AS_SINGLE_DEVICE
|
||||
# define CONFIG_CONSOLE_EXTRA_INFO /* display Board/Device-Infos */
|
||||
# define CONFIG_VIDEO_SW_CURSOR
|
||||
# define CONFIG_SPLASH_SCREEN
|
||||
# define CONFIG_SYS_CONSOLE_IS_IN_ENV
|
||||
|
||||
/*
|
||||
* Partitions
|
||||
*/
|
||||
#define CONFIG_MAC_PARTITION
|
||||
#define CONFIG_DOS_PARTITION
|
||||
#define CONFIG_ISO_PARTITION
|
||||
|
||||
/*
|
||||
* USB
|
||||
*/
|
||||
#ifdef CONFIG_BC3450_USB
|
||||
# define CONFIG_USB_OHCI
|
||||
# define CONFIG_USB_STORAGE
|
||||
#endif /* CONFIG_BC3450_USB */
|
||||
|
||||
/*
|
||||
* POST support
|
||||
*/
|
||||
#define CONFIG_POST (CONFIG_SYS_POST_MEMORY | \
|
||||
CONFIG_SYS_POST_CPU | \
|
||||
CONFIG_SYS_POST_I2C)
|
||||
|
||||
#ifdef CONFIG_POST
|
||||
/* preserve space for the post_word at end of on-chip SRAM */
|
||||
# define MPC5XXX_SRAM_POST_SIZE MPC5XXX_SRAM_SIZE-4
|
||||
#endif /* CONFIG_POST */
|
||||
|
||||
|
||||
/*
|
||||
* 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_ASKENV
|
||||
#define CONFIG_CMD_DATE
|
||||
#define CONFIG_CMD_DHCP
|
||||
#define CONFIG_CMD_ECHO
|
||||
#define CONFIG_CMD_EEPROM
|
||||
#define CONFIG_CMD_I2C
|
||||
#define CONFIG_CMD_JFFS2
|
||||
#define CONFIG_CMD_MII
|
||||
#define CONFIG_CMD_NFS
|
||||
#define CONFIG_CMD_PING
|
||||
#define CONFIG_CMD_REGINFO
|
||||
#define CONFIG_CMD_SNTP
|
||||
#define CONFIG_CMD_BSP
|
||||
|
||||
#ifdef CONFIG_VIDEO
|
||||
#define CONFIG_CMD_BMP
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_BC3450_IDE
|
||||
#define CONFIG_CMD_IDE
|
||||
#endif
|
||||
|
||||
#if defined(CONFIG_BC3450_IDE) || defined(CONFIG_BC3450_USB)
|
||||
#ifdef CONFIG_FAT
|
||||
#define CONFIG_CMD_FAT
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_EXT2
|
||||
#define CONFIG_CMD_EXT2
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_BC3450_USB
|
||||
#define CONFIG_CMD_USB
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_PCI
|
||||
#define CONFIG_CMD_PCI
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_POST
|
||||
#define CONFIG_CMD_DIAG
|
||||
#endif
|
||||
|
||||
|
||||
#define CONFIG_TIMESTAMP /* display image timestamps */
|
||||
|
||||
#if (CONFIG_SYS_TEXT_BASE == 0xFC000000) /* Boot low */
|
||||
# define CONFIG_SYS_LOWBOOT 1
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Autobooting
|
||||
*/
|
||||
#define CONFIG_BOOTDELAY 5 /* autoboot after 5 seconds */
|
||||
#define CONFIG_ZERO_BOOTDELAY_CHECK /* check for keypress on bootdelay==0 */
|
||||
|
||||
#define CONFIG_PREBOOT "echo;" \
|
||||
"echo Type \\\"run flash_nfs\\\" to mount root filesystem over NFS;" \
|
||||
"echo;"
|
||||
|
||||
#undef CONFIG_BOOTARGS
|
||||
|
||||
#define CONFIG_EXTRA_ENV_SETTINGS \
|
||||
"netdev=eth0\0" \
|
||||
"ipaddr=192.168.1.10\0" \
|
||||
"serverip=192.168.1.3\0" \
|
||||
"netmask=255.255.255.0\0" \
|
||||
"hostname=bc3450\0" \
|
||||
"rootpath=/opt/eldk/ppc_6xx\0" \
|
||||
"kernel_addr=fc0a0000\0" \
|
||||
"ramdisk_addr=fc1c0000\0" \
|
||||
"ramargs=setenv bootargs root=/dev/ram rw\0" \
|
||||
"nfsargs=setenv bootargs root=/dev/nfs rw " \
|
||||
"nfsroot=$(serverip):$(rootpath)\0" \
|
||||
"ideargs=setenv bootargs root=/dev/hda2 ro\0" \
|
||||
"addip=setenv bootargs $(bootargs) " \
|
||||
"ip=$(ipaddr):$(serverip):$(gatewayip):$(netmask)" \
|
||||
":$(hostname):$(netdev):off panic=1\0" \
|
||||
"addcons=setenv bootargs $(bootargs) " \
|
||||
"console=ttyS0,$(baudrate) console=tty0\0" \
|
||||
"flash_self=run ramargs addip addcons;" \
|
||||
"bootm $(kernel_addr) $(ramdisk_addr)\0" \
|
||||
"flash_nfs=run nfsargs addip addcons; bootm $(kernel_addr)\0" \
|
||||
"net_nfs=tftp 200000 $(bootfile); " \
|
||||
"run nfsargs addip addcons; bootm\0" \
|
||||
"ide_nfs=run nfsargs addip addcons; " \
|
||||
"disk 200000 0:1; bootm\0" \
|
||||
"ide_ide=run ideargs addip addcons; " \
|
||||
"disk 200000 0:1; bootm\0" \
|
||||
"usb_self=run usbload; run ramargs addip addcons; " \
|
||||
"bootm 200000 400000\0" \
|
||||
"usbload=usb reset; usb scan; usbboot 200000 0:1; " \
|
||||
"usbboot 400000 0:2\0" \
|
||||
"bootfile=uImage\0" \
|
||||
"load=tftp 200000 $(u-boot)\0" \
|
||||
"u-boot=u-boot.bin\0" \
|
||||
"update=protect off FC000000 FC05FFFF;" \
|
||||
"erase FC000000 FC05FFFF;" \
|
||||
"cp.b 200000 FC000000 $(filesize);" \
|
||||
"protect on FC000000 FC05FFFF\0" \
|
||||
""
|
||||
|
||||
#define CONFIG_BOOTCOMMAND "run flash_self"
|
||||
|
||||
/*
|
||||
* IPB Bus clocking configuration.
|
||||
*/
|
||||
#define CONFIG_SYS_IPBCLK_EQUALS_XLBCLK /* define for 133MHz speed */
|
||||
|
||||
/*
|
||||
* PCI Bus clocking configuration
|
||||
*
|
||||
* Actually a PCI Clock of 66 MHz is only set (in cpu_init.c) if
|
||||
* CONFIG_SYS_IPBCLK_EQUALS_XLBCLK is defined. This is because a PCI Clock
|
||||
* of 66 MHz yet hasn't been tested with a IPB Bus Clock of 66 MHz.
|
||||
*/
|
||||
#if defined(CONFIG_SYS_IPBCLK_EQUALS_XLBCLK)
|
||||
# define CONFIG_SYS_PCICLK_EQUALS_IPBCLK_DIV2 /* define for 66MHz speed */
|
||||
#endif
|
||||
|
||||
/*
|
||||
* I2C configuration
|
||||
*/
|
||||
#define CONFIG_HARD_I2C 1 /* I2C with hardware support */
|
||||
#define CONFIG_SYS_I2C_MODULE 2 /* Select I2C module #2 */
|
||||
|
||||
/*
|
||||
* I2C clock frequency
|
||||
*
|
||||
* Please notice, that the resulting clock frequency could differ from the
|
||||
* configured value. This is because the I2C clock is derived from system
|
||||
* clock over a frequency divider with only a few divider values. U-boot
|
||||
* calculates the best approximation for CONFIG_SYS_I2C_SPEED. However the calculated
|
||||
* approximation allways lies below the configured value, never above.
|
||||
*/
|
||||
#define CONFIG_SYS_I2C_SPEED 100000 /* 100 kHz */
|
||||
#define CONFIG_SYS_I2C_SLAVE 0x7F
|
||||
|
||||
/*
|
||||
* EEPROM configuration for I²C EEPROM M24C32
|
||||
* M24C64 should work also. For other EEPROMs config should be verified.
|
||||
*
|
||||
* The TQM5200 module may hold an EEPROM at address 0x50.
|
||||
*/
|
||||
#define CONFIG_SYS_I2C_EEPROM_ADDR 0x50 /* 1010000x (TQM) */
|
||||
#define CONFIG_SYS_I2C_EEPROM_ADDR_LEN 2
|
||||
#define CONFIG_SYS_EEPROM_PAGE_WRITE_BITS 5 /* =32 Bytes per write */
|
||||
#define CONFIG_SYS_EEPROM_PAGE_WRITE_DELAY_MS 70
|
||||
|
||||
/*
|
||||
* RTC configuration
|
||||
*/
|
||||
#if defined (CONFIG_BC3450_DS1340) && !defined (CONFIG_BC3450_DS3231)
|
||||
# define CONFIG_RTC_M41T11 1
|
||||
# define CONFIG_SYS_I2C_RTC_ADDR 0x68
|
||||
#else
|
||||
# define CONFIG_RTC_MPC5200 1 /* use MPC5200 internal RTC */
|
||||
# define CONFIG_BOARD_EARLY_INIT_R
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Flash configuration
|
||||
*/
|
||||
#define CONFIG_SYS_FLASH_BASE CONFIG_SYS_TEXT_BASE /* 0xFC000000 */
|
||||
|
||||
/* use CFI flash driver if no module variant is spezified */
|
||||
#define CONFIG_SYS_FLASH_CFI 1 /* Flash is CFI conformant */
|
||||
#define CONFIG_FLASH_CFI_DRIVER 1 /* Use the common driver */
|
||||
#define CONFIG_SYS_FLASH_BANKS_LIST { CONFIG_SYS_BOOTCS_START }
|
||||
#define CONFIG_SYS_FLASH_EMPTY_INFO
|
||||
#define CONFIG_SYS_FLASH_SIZE 0x04000000 /* 64 MByte */
|
||||
#define CONFIG_SYS_MAX_FLASH_SECT 512 /* max num of sects on one chip */
|
||||
#undef CONFIG_SYS_FLASH_USE_BUFFER_WRITE /* not supported yet for AMD */
|
||||
|
||||
#if !defined(CONFIG_SYS_LOWBOOT)
|
||||
#define CONFIG_ENV_ADDR (CONFIG_SYS_FLASH_BASE + 0x00760000 + 0x00800000)
|
||||
#else /* CONFIG_SYS_LOWBOOT */
|
||||
#define CONFIG_ENV_ADDR (CONFIG_SYS_FLASH_BASE + 0x00060000)
|
||||
#endif /* CONFIG_SYS_LOWBOOT */
|
||||
#define CONFIG_SYS_MAX_FLASH_BANKS 1 /* max num of flash banks
|
||||
(= chip selects) */
|
||||
#define CONFIG_SYS_FLASH_ERASE_TOUT 240000 /* Flash Erase Timeout (in ms) */
|
||||
#define CONFIG_SYS_FLASH_WRITE_TOUT 500 /* Flash Write Timeout (in ms) */
|
||||
|
||||
/* Dynamic MTD partition support */
|
||||
#define CONFIG_CMD_MTDPARTS
|
||||
#define CONFIG_MTD_DEVICE /* needed for mtdparts commands */
|
||||
#define CONFIG_FLASH_CFI_MTD
|
||||
#define MTDIDS_DEFAULT "nor0=TQM5200-0"
|
||||
#define MTDPARTS_DEFAULT "mtdparts=TQM5200-0:640k(firmware)," \
|
||||
"1408k(kernel)," \
|
||||
"2m(initrd)," \
|
||||
"4m(small-fs)," \
|
||||
"16m(big-fs)," \
|
||||
"8m(misc)"
|
||||
|
||||
/*
|
||||
* Environment settings
|
||||
*/
|
||||
#define CONFIG_ENV_IS_IN_FLASH 1
|
||||
#define CONFIG_ENV_SIZE 0x10000
|
||||
#define CONFIG_ENV_SECT_SIZE 0x20000
|
||||
#define CONFIG_ENV_ADDR_REDUND (CONFIG_ENV_ADDR + CONFIG_ENV_SECT_SIZE)
|
||||
#define CONFIG_ENV_SIZE_REDUND (CONFIG_ENV_SIZE)
|
||||
|
||||
/*
|
||||
* Memory map
|
||||
*/
|
||||
#define CONFIG_SYS_MBAR 0xF0000000
|
||||
#define CONFIG_SYS_SDRAM_BASE 0x00000000
|
||||
#define CONFIG_SYS_DEFAULT_MBAR 0x80000000
|
||||
|
||||
/* Use ON-Chip SRAM until RAM will be available */
|
||||
#define CONFIG_SYS_INIT_RAM_ADDR MPC5XXX_SRAM
|
||||
#ifdef CONFIG_POST
|
||||
/* preserve space for the post_word at end of on-chip SRAM */
|
||||
# define CONFIG_SYS_INIT_RAM_SIZE MPC5XXX_SRAM_POST_SIZE
|
||||
#else
|
||||
# define CONFIG_SYS_INIT_RAM_SIZE MPC5XXX_SRAM_SIZE
|
||||
#endif /*CONFIG_POST*/
|
||||
|
||||
#define CONFIG_SYS_GBL_DATA_OFFSET (CONFIG_SYS_INIT_RAM_SIZE - GENERATED_GBL_DATA_SIZE)
|
||||
#define CONFIG_SYS_INIT_SP_OFFSET CONFIG_SYS_GBL_DATA_OFFSET
|
||||
|
||||
#define CONFIG_SYS_MONITOR_BASE CONFIG_SYS_TEXT_BASE
|
||||
#if (CONFIG_SYS_MONITOR_BASE < CONFIG_SYS_FLASH_BASE)
|
||||
# define CONFIG_SYS_RAMBOOT 1
|
||||
#endif
|
||||
|
||||
#define CONFIG_SYS_MONITOR_LEN (384 << 10) /* Reserve 384 kB for Monitor */
|
||||
#define CONFIG_SYS_MALLOC_LEN (128 << 10) /* Reserve 128 kB for malloc() */
|
||||
#define CONFIG_SYS_BOOTMAPSZ (8 << 20) /* Initial Memory map for Linux */
|
||||
|
||||
/*
|
||||
* Ethernet configuration
|
||||
*
|
||||
* Define CONFIG_MPC5xxx_MII10 to force FEC at 10MBIT
|
||||
*/
|
||||
#define CONFIG_MPC5xxx_FEC 1
|
||||
#define CONFIG_MPC5xxx_FEC_MII100
|
||||
#undef CONFIG_MPC5xxx_MII10
|
||||
#define CONFIG_PHY_ADDR 0x00
|
||||
|
||||
/*
|
||||
* GPIO configuration on BC3450
|
||||
*
|
||||
* PSC1: UART1 (Service-UART) [0x xxxxxxx4]
|
||||
* PSC2: UART2 [0x xxxxxx4x]
|
||||
* or: AC/97 if CONFIG_BC3450_AC97 [0x xxxxxx2x]
|
||||
* PSC3: USB2 [0x xxxxx1xx]
|
||||
* USB: UART4(ext.)/UART5(int.) [0x xxxx2xxx]
|
||||
* (this has to match
|
||||
* CONFIG_USB_CONFIG which is
|
||||
* used by usb_ohci.c to set
|
||||
* the USB ports)
|
||||
* Eth: 10/100Mbit Ethernet [0x xxx0xxxx]
|
||||
* (this is reset to '5'
|
||||
* in FEC driver: fec.c)
|
||||
* PSC6: UART6 (int. to PS/2 contr.) [0x xx5xxxxx]
|
||||
* ATA/CS: ??? [0x x1xxxxxx]
|
||||
* FIXME! UM Fig 2-10 suggests [0x x0xxxxxx]
|
||||
* CS1: Use Pin gpio_wkup_6 as second
|
||||
* SDRAM chip select (mem_cs1)
|
||||
* Timer: CAN2 / SPI
|
||||
* I2C: CAN1 / I²C2 [0x bxxxxxxx]
|
||||
*/
|
||||
#ifdef CONFIG_BC3450_AC97
|
||||
# define CONFIG_SYS_GPS_PORT_CONFIG 0xb1502124
|
||||
#else /* PSC2=UART2 */
|
||||
# define CONFIG_SYS_GPS_PORT_CONFIG 0xb1502144
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Miscellaneous configurable options
|
||||
*/
|
||||
#define CONFIG_SYS_LONGHELP /* undef to save memory */
|
||||
#define CONFIG_SYS_PROMPT "=> " /* Monitor Command Prompt */
|
||||
#if defined(CONFIG_CMD_KGDB)
|
||||
#define CONFIG_SYS_CBSIZE 1024 /* Console I/O Buffer Size */
|
||||
#else
|
||||
#define CONFIG_SYS_CBSIZE 256 /* Console I/O Buffer Size */
|
||||
#endif
|
||||
#define CONFIG_SYS_PBSIZE (CONFIG_SYS_CBSIZE+sizeof(CONFIG_SYS_PROMPT)+16) /* Print Buffer Size */
|
||||
#define CONFIG_SYS_MAXARGS 16 /* max no of command args */
|
||||
#define CONFIG_SYS_BARGSIZE CONFIG_SYS_CBSIZE /* Boot Arg. Buffer Size */
|
||||
|
||||
#define CONFIG_SYS_ALT_MEMTEST /* Enable an alternative, */
|
||||
/* more extensive mem test */
|
||||
|
||||
#define CONFIG_SYS_MEMTEST_START 0x00100000 /* memtest works on */
|
||||
#define CONFIG_SYS_MEMTEST_END 0x00f00000 /* 1 ... 15 MB in DRAM */
|
||||
|
||||
#define CONFIG_SYS_LOAD_ADDR 0x100000 /* default load address */
|
||||
|
||||
#define CONFIG_SYS_HZ 1000 /* dec freq: 1ms ticks */
|
||||
|
||||
#define CONFIG_SYS_CACHELINE_SIZE 32 /* For MPC5xxx CPUs */
|
||||
#if defined(CONFIG_CMD_KGDB)
|
||||
# define CONFIG_SYS_CACHELINE_SHIFT 5 /* log base 2 of the above value */
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Enable loopw command.
|
||||
*/
|
||||
#define CONFIG_LOOPW
|
||||
|
||||
/*
|
||||
* Various low-level settings
|
||||
*/
|
||||
#define CONFIG_SYS_HID0_INIT HID0_ICE | HID0_ICFI
|
||||
#define CONFIG_SYS_HID0_FINAL HID0_ICE
|
||||
|
||||
#define CONFIG_SYS_BOOTCS_START CONFIG_SYS_FLASH_BASE
|
||||
#define CONFIG_SYS_BOOTCS_SIZE CONFIG_SYS_FLASH_SIZE
|
||||
#ifdef CONFIG_SYS_PCICLK_EQUALS_IPBCLK_DIV2
|
||||
# define CONFIG_SYS_BOOTCS_CFG 0x0008DF30 /* for pci_clk = 66 MHz */
|
||||
#else
|
||||
# define CONFIG_SYS_BOOTCS_CFG 0x0004DF30 /* for pci_clk = 33 MHz */
|
||||
#endif
|
||||
#define CONFIG_SYS_CS0_START CONFIG_SYS_FLASH_BASE
|
||||
#define CONFIG_SYS_CS0_SIZE CONFIG_SYS_FLASH_SIZE
|
||||
|
||||
/* automatic configuration of chip selects */
|
||||
#ifdef CONFIG_TQM5200
|
||||
# define CONFIG_LAST_STAGE_INIT
|
||||
#endif /* CONFIG_TQM5200 */
|
||||
|
||||
/*
|
||||
* SRAM - Do not map below 2 GB in address space, because this area is used
|
||||
* for SDRAM autosizing.
|
||||
*/
|
||||
#ifdef CONFIG_TQM5200
|
||||
# define CONFIG_SYS_CS2_START 0xE5000000
|
||||
# define CONFIG_SYS_CS2_SIZE 0x100000 /* 1 MByte */
|
||||
# define CONFIG_SYS_CS2_CFG 0x0004D930
|
||||
#endif /* CONFIG_TQM5200 */
|
||||
|
||||
/*
|
||||
* Grafic controller - Do not map below 2 GB in address space, because this
|
||||
* area is used for SDRAM autosizing.
|
||||
*/
|
||||
#ifdef CONFIG_TQM5200
|
||||
# define SM501_FB_BASE 0xE0000000
|
||||
# define CONFIG_SYS_CS1_START (SM501_FB_BASE)
|
||||
# define CONFIG_SYS_CS1_SIZE 0x4000000 /* 64 MByte */
|
||||
# define CONFIG_SYS_CS1_CFG 0x8F48FF70
|
||||
# define SM501_MMIO_BASE CONFIG_SYS_CS1_START + 0x03E00000
|
||||
#endif /* CONFIG_TQM5200 */
|
||||
|
||||
#define CONFIG_SYS_CS_BURST 0x00000000
|
||||
#define CONFIG_SYS_CS_DEADCYCLE 0x33333311 /* 1 dead cycle for */
|
||||
/* flash and SM501 */
|
||||
|
||||
#define CONFIG_SYS_RESET_ADDRESS 0xff000000
|
||||
|
||||
/*
|
||||
* USB stuff
|
||||
*/
|
||||
#define CONFIG_USB_CLOCK 0x0001BBBB
|
||||
#define CONFIG_USB_CONFIG 0x00002000 /* we're using Port 2 */
|
||||
|
||||
/*
|
||||
* IDE/ATA stuff Supports IDE harddisk
|
||||
*/
|
||||
#undef CONFIG_IDE_8xx_PCCARD /* Use IDE with PC Card Adapter */
|
||||
|
||||
#undef CONFIG_IDE_8xx_DIRECT /* Direct IDE not supported */
|
||||
#undef CONFIG_IDE_LED /* LED for ide not supported */
|
||||
|
||||
#define CONFIG_IDE_RESET /* reset for ide supported */
|
||||
#define CONFIG_IDE_PREINIT
|
||||
|
||||
#define CONFIG_SYS_IDE_MAXBUS 1 /* max. 1 IDE bus */
|
||||
#define CONFIG_SYS_IDE_MAXDEVICE 2 /* max. 2 drives per IDE bus */
|
||||
|
||||
#define CONFIG_SYS_ATA_IDE0_OFFSET 0x0000
|
||||
|
||||
#define CONFIG_SYS_ATA_BASE_ADDR MPC5XXX_ATA
|
||||
|
||||
/* Offset for data I/O */
|
||||
#define CONFIG_SYS_ATA_DATA_OFFSET (0x0060)
|
||||
|
||||
/* Offset for normal register accesses */
|
||||
#define CONFIG_SYS_ATA_REG_OFFSET (CONFIG_SYS_ATA_DATA_OFFSET)
|
||||
|
||||
/* Offset for alternate registers */
|
||||
#define CONFIG_SYS_ATA_ALT_OFFSET (0x005C)
|
||||
|
||||
/* Interval between registers */
|
||||
#define CONFIG_SYS_ATA_STRIDE 4
|
||||
|
||||
#endif /* __CONFIG_H */
|
||||
302
common/package/utils/sysupgrade-helper/src/include/configs/BMW.h
Normal file
302
common/package/utils/sysupgrade-helper/src/include/configs/BMW.h
Normal file
|
|
@ -0,0 +1,302 @@
|
|||
/*
|
||||
* (C) Copyright 2001
|
||||
* Wolfgang Denk, DENX Software Engineering, wd@denx.de.
|
||||
*
|
||||
* See file CREDITS for list of people who contributed to this
|
||||
* project.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of
|
||||
* the License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston,
|
||||
* MA 02111-1307 USA
|
||||
*/
|
||||
|
||||
/*
|
||||
*
|
||||
* Configuration settings for the CU824 board.
|
||||
*
|
||||
*/
|
||||
|
||||
/* ------------------------------------------------------------------------- */
|
||||
|
||||
/*
|
||||
* board/config.h - configuration options, board specific
|
||||
*/
|
||||
|
||||
#ifndef __CONFIG_H
|
||||
#define __CONFIG_H
|
||||
|
||||
/*
|
||||
* High Level Configuration Options
|
||||
* (easy to change)
|
||||
*/
|
||||
|
||||
#define CONFIG_MPC824X 1
|
||||
#define CONFIG_MPC8245 1
|
||||
#define CONFIG_BMW 1
|
||||
|
||||
#define CONFIG_SYS_TEXT_BASE 0xFFF00000
|
||||
|
||||
#define CONFIG_MISC_INIT_F 1 /* Use misc_init_f() */
|
||||
|
||||
#define CONFIG_CONS_INDEX 1
|
||||
#define CONFIG_BAUDRATE 9600
|
||||
|
||||
#define CONFIG_CLOCKS_IN_MHZ 1 /* clocks passsed to Linux in MHz */
|
||||
|
||||
#define CONFIG_BOOTCOMMAND "bootm FF820000" /* autoboot command */
|
||||
#define CONFIG_BOOTDELAY 5
|
||||
|
||||
#define CONFIG_SYS_MAX_DOC_DEVICE 1 /* Only use Onboard TSOP-16MB device */
|
||||
#define DOC_PASSIVE_PROBE 1
|
||||
#define CONFIG_SYS_DOC_SUPPORT_2000 1
|
||||
#define CONFIG_SYS_DOC_SUPPORT_MILLENNIUM 1
|
||||
#define CONFIG_SYS_DOC_SHORT_TIMEOUT 1
|
||||
|
||||
|
||||
/*
|
||||
* 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_DATE
|
||||
#define CONFIG_CMD_ELF
|
||||
#undef CONFIG_CMD_NET
|
||||
#undef CONFIG_CMD_NFS
|
||||
|
||||
|
||||
#if 0
|
||||
#define CONFIG_PCI 1
|
||||
#define CONFIG_PCI_PNP 1 /* PCI plug-and-play */
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Miscellaneous configurable options
|
||||
*/
|
||||
#define CONFIG_SYS_LONGHELP /* undef to save memory */
|
||||
#define CONFIG_SYS_PROMPT "=>" /* Monitor Command Prompt */
|
||||
#define CONFIG_SYS_CBSIZE 256 /* Console I/O Buffer Size */
|
||||
|
||||
/* Print Buffer Size
|
||||
*/
|
||||
#define CONFIG_SYS_PBSIZE (CONFIG_SYS_CBSIZE + sizeof(CONFIG_SYS_PROMPT) + 16)
|
||||
|
||||
#define CONFIG_SYS_MAXARGS 8 /* Max number of command args */
|
||||
#define CONFIG_SYS_BARGSIZE CONFIG_SYS_CBSIZE /* Boot Argument Buffer Size */
|
||||
#define CONFIG_SYS_LOAD_ADDR 0x00100000 /* Default load address */
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* Start addresses for the final memory configuration
|
||||
* (Set up by the startup code)
|
||||
* Please note that CONFIG_SYS_SDRAM_BASE _must_ start at 0
|
||||
*/
|
||||
#define CONFIG_SYS_SDRAM_BASE 0x00000000
|
||||
|
||||
#define CONFIG_SYS_FLASH_BASE0_PRELIM 0xFFF00000 /* FLASH bank on RCS#0 */
|
||||
#define CONFIG_SYS_FLASH_BASE1_PRELIM 0xFF800000 /* FLASH bank on RCS#1 */
|
||||
#define CONFIG_SYS_FLASH_BASE CONFIG_SYS_MONITOR_BASE
|
||||
#define CONFIG_SYS_FLASH_BANKS { CONFIG_SYS_FLASH_BASE0_PRELIM , CONFIG_SYS_FLASH_BASE1_PRELIM }
|
||||
|
||||
/* even though FLASHP_BASE is FF800000, with 4MB is RCS0, the
|
||||
* reset vector is actually located at FFB00100, but the 8245
|
||||
* takes care of us.
|
||||
*/
|
||||
#define CONFIG_SYS_RESET_ADDRESS 0xFFF00100
|
||||
|
||||
#define CONFIG_SYS_EUMB_ADDR 0xFC000000
|
||||
|
||||
#define CONFIG_SYS_MONITOR_BASE CONFIG_SYS_TEXT_BASE
|
||||
|
||||
#define CONFIG_SYS_MONITOR_LEN (256 << 10) /* Reserve 256 kB for Monitor */
|
||||
#define CONFIG_SYS_MALLOC_LEN (2048 << 10) /* Reserve 2MB for malloc() */
|
||||
|
||||
#define CONFIG_SYS_MEMTEST_START 0x00004000 /* memtest works on */
|
||||
#define CONFIG_SYS_MEMTEST_END 0x04000000 /* 0 ... 32 MB in DRAM */
|
||||
|
||||
/* Maximum amount of RAM.
|
||||
*/
|
||||
#define CONFIG_SYS_MAX_RAM_SIZE 0x04000000 /* 0 .. 64 MB of (S)DRAM */
|
||||
|
||||
|
||||
#if CONFIG_SYS_MONITOR_BASE >= CONFIG_SYS_FLASH_BASE
|
||||
#undef CONFIG_SYS_RAMBOOT
|
||||
#else
|
||||
#define CONFIG_SYS_RAMBOOT
|
||||
#endif
|
||||
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* Definitions for initial stack pointer and data area
|
||||
*/
|
||||
#define CONFIG_SYS_INIT_RAM_ADDR CONFIG_SYS_SDRAM_BASE + CONFIG_SYS_MONITOR_LEN
|
||||
#define CONFIG_SYS_INIT_RAM_SIZE 0x2F00 /* Size of used area in DPRAM */
|
||||
#define CONFIG_SYS_GBL_DATA_OFFSET (CONFIG_SYS_INIT_RAM_SIZE - GENERATED_GBL_DATA_SIZE)
|
||||
#define CONFIG_SYS_INIT_SP_OFFSET CONFIG_SYS_GBL_DATA_OFFSET
|
||||
|
||||
/*
|
||||
* Low Level Configuration Settings
|
||||
* (address mappings, register initial values, etc.)
|
||||
* You should know what you are doing if you make changes here.
|
||||
* For the detail description refer to the MPC8240 user's manual.
|
||||
*/
|
||||
|
||||
#define CONFIG_SYS_CLK_FREQ 33000000 /* external frequency to pll */
|
||||
#define CONFIG_SYS_HZ 1000
|
||||
|
||||
#define CONFIG_SYS_ETH_DEV_FN 0x7800
|
||||
#define CONFIG_SYS_ETH_IOBASE 0x00104000
|
||||
|
||||
/* Bit-field values for MCCR1.
|
||||
*/
|
||||
#define CONFIG_SYS_ROMNAL 0xf
|
||||
#define CONFIG_SYS_ROMFAL 0x1f
|
||||
#define CONFIG_SYS_DBUS_SIZE 0x3
|
||||
|
||||
/* Bit-field values for MCCR2.
|
||||
*/
|
||||
#define CONFIG_SYS_TSWAIT 0x5 /* Transaction Start Wait States timer */
|
||||
#define CONFIG_SYS_REFINT 0x400 /* Refresh interval FIXME: was 0t430 */
|
||||
|
||||
/* Burst To Precharge. Bits of this value go to MCCR3 and MCCR4.
|
||||
*/
|
||||
#define CONFIG_SYS_BSTOPRE 0 /* FIXME: was 192 */
|
||||
|
||||
/* Bit-field values for MCCR3.
|
||||
*/
|
||||
#define CONFIG_SYS_REFREC 2 /* Refresh to activate interval */
|
||||
|
||||
/* Bit-field values for MCCR4.
|
||||
*/
|
||||
#define CONFIG_SYS_PRETOACT 2 /* Precharge to activate interval FIXME: was 2 */
|
||||
#define CONFIG_SYS_ACTTOPRE 5 /* Activate to Precharge interval FIXME: was 5 */
|
||||
#define CONFIG_SYS_SDMODE_CAS_LAT 3 /* SDMODE CAS latancy */
|
||||
#define CONFIG_SYS_SDMODE_WRAP 0 /* SDMODE wrap type */
|
||||
#define CONFIG_SYS_SDMODE_BURSTLEN 3 /* SDMODE Burst length */
|
||||
#define CONFIG_SYS_ACTORW 0xa /* FIXME was 2 */
|
||||
#define CONFIG_SYS_REGISTERD_TYPE_BUFFER 1
|
||||
|
||||
#define CONFIG_SYS_PGMAX 0x0 /* how long the 8240 reatins the currently accessed page in memory FIXME: was 0x32*/
|
||||
|
||||
#define CONFIG_SYS_SDRAM_DSCD 0x20 /* SDRAM data in sample clock delay - note bottom 3 bits MUST be 0 */
|
||||
|
||||
/* Memory bank settings.
|
||||
* Only bits 20-29 are actually used from these vales to set the
|
||||
* start/end addresses. The upper two bits will always be 0, and the lower
|
||||
* 20 bits will be 0x00000 for a start address, or 0xfffff for an end
|
||||
* address. Refer to the MPC8240 book.
|
||||
*/
|
||||
|
||||
#define CONFIG_SYS_BANK0_START 0x00000000
|
||||
#define CONFIG_SYS_BANK0_END (CONFIG_SYS_MAX_RAM_SIZE - 1)
|
||||
#define CONFIG_SYS_BANK0_ENABLE 1
|
||||
#define CONFIG_SYS_BANK1_START 0x3ff00000
|
||||
#define CONFIG_SYS_BANK1_END 0x3fffffff
|
||||
#define CONFIG_SYS_BANK1_ENABLE 0
|
||||
#define CONFIG_SYS_BANK2_START 0x3ff00000
|
||||
#define CONFIG_SYS_BANK2_END 0x3fffffff
|
||||
#define CONFIG_SYS_BANK2_ENABLE 0
|
||||
#define CONFIG_SYS_BANK3_START 0x3ff00000
|
||||
#define CONFIG_SYS_BANK3_END 0x3fffffff
|
||||
#define CONFIG_SYS_BANK3_ENABLE 0
|
||||
#define CONFIG_SYS_BANK4_START 0x3ff00000
|
||||
#define CONFIG_SYS_BANK4_END 0x3fffffff
|
||||
#define CONFIG_SYS_BANK4_ENABLE 0
|
||||
#define CONFIG_SYS_BANK5_START 0x3ff00000
|
||||
#define CONFIG_SYS_BANK5_END 0x3fffffff
|
||||
#define CONFIG_SYS_BANK5_ENABLE 0
|
||||
#define CONFIG_SYS_BANK6_START 0x3ff00000
|
||||
#define CONFIG_SYS_BANK6_END 0x3fffffff
|
||||
#define CONFIG_SYS_BANK6_ENABLE 0
|
||||
#define CONFIG_SYS_BANK7_START 0x3ff00000
|
||||
#define CONFIG_SYS_BANK7_END 0x3fffffff
|
||||
#define CONFIG_SYS_BANK7_ENABLE 0
|
||||
|
||||
#define CONFIG_SYS_ODCR 0xff
|
||||
|
||||
#define CONFIG_PCI 1 /* Include PCI support */
|
||||
#undef CONFIG_PCI_PNP
|
||||
|
||||
/* PCI Memory space(s) */
|
||||
#define PCI_MEM_SPACE1_START 0x80000000
|
||||
#define PCI_MEM_SPACE2_START 0xfd000000
|
||||
|
||||
/* ROM Spaces */
|
||||
#include "../board/bmw/bmw.h"
|
||||
|
||||
/* BAT configuration */
|
||||
#define CONFIG_SYS_IBAT0L (CONFIG_SYS_SDRAM_BASE | BATL_PP_10 | BATL_MEMCOHERENCE)
|
||||
#define CONFIG_SYS_IBAT0U (CONFIG_SYS_SDRAM_BASE | BATU_BL_256M | BATU_VS | BATU_VP)
|
||||
|
||||
#define CONFIG_SYS_IBAT1L (0x70000000 | BATL_PP_10 | BATL_CACHEINHIBIT)
|
||||
#define CONFIG_SYS_IBAT1U (0x70000000 | BATU_BL_256M | BATU_VS | BATU_VP)
|
||||
|
||||
#define CONFIG_SYS_IBAT2L (0x80000000 | BATL_PP_10 | BATL_CACHEINHIBIT)
|
||||
#define CONFIG_SYS_IBAT2U (0x80000000 | BATU_BL_256M | BATU_VS | BATU_VP)
|
||||
|
||||
#define CONFIG_SYS_IBAT3L (0xF0000000 | BATL_PP_10 | BATL_CACHEINHIBIT)
|
||||
#define CONFIG_SYS_IBAT3U (0xF0000000 | BATU_BL_256M | BATU_VS | BATU_VP)
|
||||
|
||||
#define CONFIG_SYS_DBAT0L CONFIG_SYS_IBAT0L
|
||||
#define CONFIG_SYS_DBAT0U CONFIG_SYS_IBAT0U
|
||||
#define CONFIG_SYS_DBAT1L CONFIG_SYS_IBAT1L
|
||||
#define CONFIG_SYS_DBAT1U CONFIG_SYS_IBAT1U
|
||||
#define CONFIG_SYS_DBAT2L CONFIG_SYS_IBAT2L
|
||||
#define CONFIG_SYS_DBAT2U CONFIG_SYS_IBAT2U
|
||||
#define CONFIG_SYS_DBAT3L CONFIG_SYS_IBAT3L
|
||||
#define CONFIG_SYS_DBAT3U CONFIG_SYS_IBAT3U
|
||||
|
||||
/*
|
||||
* For booting Linux, the board info and command line data
|
||||
* have to be in the first 8 MB of memory, since this is
|
||||
* the maximum mapped by the Linux kernel during initialization.
|
||||
*/
|
||||
#define CONFIG_SYS_BOOTMAPSZ (8 << 20) /* Initial Memory map for Linux */
|
||||
|
||||
/*
|
||||
* FLASH organization
|
||||
*/
|
||||
#define CONFIG_SYS_MAX_FLASH_BANKS 0 /* Max number of flash banks */
|
||||
#define CONFIG_SYS_MAX_FLASH_SECT 64 /* Max number of sectors per flash */
|
||||
|
||||
#define CONFIG_SYS_FLASH_ERASE_TOUT 120000 /* Timeout for Flash Erase (in ms) */
|
||||
#define CONFIG_SYS_FLASH_WRITE_TOUT 500 /* Timeout for Flash Write (in ms) */
|
||||
|
||||
/*
|
||||
* Warining: environment is not EMBEDDED in the U-Boot code.
|
||||
* It's stored in flash separately.
|
||||
*/
|
||||
#define CONFIG_ENV_IS_IN_NVRAM 1
|
||||
#define CONFIG_ENV_OVERWRITE 1
|
||||
#define CONFIG_SYS_NVRAM_ACCESS_ROUTINE 1
|
||||
#define CONFIG_ENV_ADDR 0x7c004000 /* right at the start of NVRAM */
|
||||
#define CONFIG_ENV_SIZE 0x1ff0 /* Size of the Environment - 8K */
|
||||
#define CONFIG_ENV_OFFSET 0 /* starting right at the beginning */
|
||||
|
||||
/*
|
||||
* Cache Configuration
|
||||
*/
|
||||
#define CONFIG_SYS_CACHELINE_SIZE 32
|
||||
#if defined(CONFIG_CMD_KGDB)
|
||||
# define CONFIG_SYS_CACHELINE_SHIFT 5 /* log base 2 of the above value */
|
||||
#endif
|
||||
|
||||
#endif /* __CONFIG_H */
|
||||
|
|
@ -0,0 +1,428 @@
|
|||
/*
|
||||
* Copyright 2011-2012 Freescale Semiconductor, Inc.
|
||||
*
|
||||
* See file CREDITS for list of people who contributed to this
|
||||
* project.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of
|
||||
* the License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston,
|
||||
* MA 02111-1307 USA
|
||||
*/
|
||||
|
||||
/*
|
||||
* BSC9131 RDB board configuration file
|
||||
*/
|
||||
|
||||
#ifndef __CONFIG_H
|
||||
#define __CONFIG_H
|
||||
|
||||
#ifdef CONFIG_BSC9131RDB
|
||||
#define CONFIG_BSC9131
|
||||
#define CONFIG_NAND_FSL_IFC
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_SPIFLASH
|
||||
#define CONFIG_RAMBOOT_SPIFLASH
|
||||
#define CONFIG_SYS_RAMBOOT
|
||||
#define CONFIG_SYS_EXTRA_ENV_RELOC
|
||||
#define CONFIG_SYS_TEXT_BASE 0x11000000
|
||||
#define CONFIG_RESET_VECTOR_ADDRESS 0x1107fffc
|
||||
#endif
|
||||
|
||||
#ifndef CONFIG_SYS_MONITOR_BASE
|
||||
#define CONFIG_SYS_MONITOR_BASE CONFIG_SYS_TEXT_BASE /* start of monitor */
|
||||
#endif
|
||||
|
||||
/* High Level Configuration Options */
|
||||
#define CONFIG_BOOKE /* BOOKE */
|
||||
#define CONFIG_E500 /* BOOKE e500 family */
|
||||
#define CONFIG_MPC85xx /* MPC8540/60/55/41/48/P1020/P2020/P1010,etc*/
|
||||
#define CONFIG_FSL_IFC /* Enable IFC Support */
|
||||
|
||||
#define CONFIG_FSL_LAW /* Use common FSL init code */
|
||||
#define CONFIG_TSEC_ENET
|
||||
#define CONFIG_ENV_OVERWRITE
|
||||
|
||||
#define CONFIG_DDR_CLK_FREQ 66666666 /* DDRCLK on 9131 RDB */
|
||||
#define CONFIG_SYS_CLK_FREQ 66666666 /* SYSCLK for 9131 RDB */
|
||||
|
||||
#define CONFIG_HWCONFIG
|
||||
/*
|
||||
* These can be toggled for performance analysis, otherwise use default.
|
||||
*/
|
||||
#define CONFIG_L2_CACHE /* toggle L2 cache */
|
||||
#define CONFIG_BTB /* enable branch predition */
|
||||
|
||||
#define CONFIG_SYS_MEMTEST_START 0x01000000 /* memtest works on */
|
||||
#define CONFIG_SYS_MEMTEST_END 0x01ffffff
|
||||
|
||||
/* DDR Setup */
|
||||
#define CONFIG_FSL_DDR3
|
||||
#undef CONFIG_SYS_DDR_RAW_TIMING
|
||||
#undef CONFIG_DDR_SPD
|
||||
#define CONFIG_SYS_SPD_BUS_NUM 0
|
||||
#define SPD_EEPROM_ADDRESS 0x52 /* I2C access */
|
||||
|
||||
#define CONFIG_MEM_INIT_VALUE 0xDeadBeef
|
||||
|
||||
#ifndef __ASSEMBLY__
|
||||
extern unsigned long get_sdram_size(void);
|
||||
#endif
|
||||
#define CONFIG_SYS_SDRAM_SIZE get_sdram_size() /* DDR size */
|
||||
#define CONFIG_SYS_DDR_SDRAM_BASE 0x00000000
|
||||
#define CONFIG_SYS_SDRAM_BASE CONFIG_SYS_DDR_SDRAM_BASE
|
||||
|
||||
#define CONFIG_NUM_DDR_CONTROLLERS 1
|
||||
#define CONFIG_DIMM_SLOTS_PER_CTLR 1
|
||||
#define CONFIG_CHIP_SELECTS_PER_CTRL 1
|
||||
|
||||
#define CONFIG_SYS_DDR_CS0_BNDS 0x0000003f
|
||||
#define CONFIG_SYS_DDR_CS0_CONFIG 0x80014302
|
||||
#define CONFIG_SYS_DDR_CS0_CONFIG_2 0x00000000
|
||||
|
||||
#define CONFIG_SYS_DDR_DATA_INIT 0xdeadbeef
|
||||
#define CONFIG_SYS_DDR_INIT_ADDR 0x00000000
|
||||
#define CONFIG_SYS_DDR_INIT_EXT_ADDR 0x00000000
|
||||
#define CONFIG_SYS_DDR_MODE_CONTROL 0x00000000
|
||||
|
||||
#define CONFIG_SYS_DDR_ZQ_CONTROL 0x89080600
|
||||
#define CONFIG_SYS_DDR_SR_CNTR 0x00000000
|
||||
#define CONFIG_SYS_DDR_RCW_1 0x00000000
|
||||
#define CONFIG_SYS_DDR_RCW_2 0x00000000
|
||||
#define CONFIG_SYS_DDR_CONTROL 0xC70C0000 /* Type = DDR3 */
|
||||
#define CONFIG_SYS_DDR_CONTROL_2 0x24401000
|
||||
#define CONFIG_SYS_DDR_TIMING_4 0x00000001
|
||||
#define CONFIG_SYS_DDR_TIMING_5 0x02401400
|
||||
|
||||
#define CONFIG_SYS_DDR_TIMING_3_800 0x00030000
|
||||
#define CONFIG_SYS_DDR_TIMING_0_800 0x00110104
|
||||
#define CONFIG_SYS_DDR_TIMING_1_800 0x6f6b8644
|
||||
#define CONFIG_SYS_DDR_TIMING_2_800 0x0fa888cf
|
||||
#define CONFIG_SYS_DDR_CLK_CTRL_800 0x03000000
|
||||
#define CONFIG_SYS_DDR_MODE_1_800 0x00441420
|
||||
#define CONFIG_SYS_DDR_MODE_2_800 0x8000c000
|
||||
#define CONFIG_SYS_DDR_INTERVAL_800 0x0c300100
|
||||
#define CONFIG_SYS_DDR_WRLVL_CONTROL_800 0x8675f608
|
||||
|
||||
/*
|
||||
* Base addresses -- Note these are effective addresses where the
|
||||
* actual resources get mapped (not physical addresses)
|
||||
*/
|
||||
/* relocated CCSRBAR */
|
||||
#define CONFIG_SYS_CCSRBAR CONFIG_SYS_CCSRBAR_DEFAULT
|
||||
#define CONFIG_SYS_CCSRBAR_PHYS_LOW CONFIG_SYS_CCSRBAR_DEFAULT
|
||||
|
||||
#define CONFIG_SYS_IMMR CONFIG_SYS_CCSRBAR /* PQII uses */
|
||||
/* CONFIG_SYS_IMMR */
|
||||
|
||||
/*
|
||||
* Memory map
|
||||
*
|
||||
* 0x0000_0000 0x3FFF_FFFF DDR 1G cacheable
|
||||
* 0x8800_0000 0x8810_0000 IFC internal SRAM 1M
|
||||
* 0xC100_0000 0xC13F_FFFF MAPLE-2F 4M
|
||||
* 0xC1F0_0000 0xC1F3_FFFF PA L2 SRAM Region 0 256K
|
||||
* 0xC1F8_0000 0xC1F9_FFFF PA L2 SRAM Region 1 128K
|
||||
* 0xFED0_0000 0xFED0_3FFF SEC Secured RAM 16K
|
||||
* 0xFF70_0000 0xFF7F_FFFF PA CCSR 1M
|
||||
* 0xFF80_0000 0xFFFF_FFFF Boot Page & NAND flash buffer 8M
|
||||
*
|
||||
*/
|
||||
|
||||
/*
|
||||
* IFC Definitions
|
||||
*/
|
||||
#define CONFIG_SYS_NO_FLASH
|
||||
|
||||
/* NAND Flash on IFC */
|
||||
#define CONFIG_SYS_NAND_BASE 0xff800000
|
||||
#define CONFIG_SYS_NAND_BASE_PHYS CONFIG_SYS_NAND_BASE
|
||||
|
||||
#define CONFIG_SYS_NAND_CSPR (CSPR_PHYS_ADDR(CONFIG_SYS_NAND_BASE_PHYS) \
|
||||
| CSPR_PORT_SIZE_8 /* Port Size = 8 bit*/ \
|
||||
| CSPR_MSEL_NAND /* MSEL = NAND */ \
|
||||
| CSPR_V)
|
||||
#define CONFIG_SYS_NAND_AMASK IFC_AMASK(64*1024)
|
||||
|
||||
#define CONFIG_SYS_NAND_CSOR (CSOR_NAND_ECC_ENC_EN /* ECC on encode */ \
|
||||
| CSOR_NAND_ECC_DEC_EN /* ECC on decode */ \
|
||||
| CSOR_NAND_ECC_MODE_4 /* 4-bit ECC */ \
|
||||
| CSOR_NAND_RAL_2 /* RAL = 2Byes */ \
|
||||
| CSOR_NAND_PGS_2K /* Page Size = 2K */ \
|
||||
| CSOR_NAND_SPRZ_64 /* Spare size = 64 */ \
|
||||
| CSOR_NAND_PB(64)) /*Pages Per Block = 64*/
|
||||
|
||||
/* NAND Flash Timing Params */
|
||||
#define CONFIG_SYS_NAND_FTIM0 (FTIM0_NAND_TCCST(0x08) \
|
||||
| FTIM0_NAND_TWP(0x06) \
|
||||
| FTIM0_NAND_TWCHT(0x03) \
|
||||
| FTIM0_NAND_TWH(0x04))
|
||||
#define CONFIG_SYS_NAND_FTIM1 (FTIM1_NAND_TADLE(0x18) \
|
||||
| FTIM1_NAND_TWBE(0x23) \
|
||||
| FTIM1_NAND_TRR(0x08) \
|
||||
| FTIM1_NAND_TRP(0x05))
|
||||
#define CONFIG_SYS_NAND_FTIM2 (FTIM2_NAND_TRAD(0x08) \
|
||||
| FTIM2_NAND_TREH(0x04) \
|
||||
| FTIM2_NAND_TWHRE(0x3f))
|
||||
#define CONFIG_SYS_NAND_FTIM3 FTIM3_NAND_TWW(0x22)
|
||||
|
||||
#define CONFIG_SYS_NAND_BASE_LIST { CONFIG_SYS_NAND_BASE }
|
||||
#define CONFIG_SYS_MAX_NAND_DEVICE 1
|
||||
#define CONFIG_MTD_NAND_VERIFY_WRITE
|
||||
#define CONFIG_CMD_NAND
|
||||
#define CONFIG_SYS_NAND_BLOCK_SIZE (128 * 1024)
|
||||
|
||||
#define CONFIG_SYS_NAND_DDR_LAW 11
|
||||
|
||||
/* Set up IFC registers for boot location NAND */
|
||||
#define CONFIG_SYS_CSPR0 CONFIG_SYS_NAND_CSPR
|
||||
#define CONFIG_SYS_AMASK0 CONFIG_SYS_NAND_AMASK
|
||||
#define CONFIG_SYS_CSOR0 CONFIG_SYS_NAND_CSOR
|
||||
#define CONFIG_SYS_CS0_FTIM0 CONFIG_SYS_NAND_FTIM0
|
||||
#define CONFIG_SYS_CS0_FTIM1 CONFIG_SYS_NAND_FTIM1
|
||||
#define CONFIG_SYS_CS0_FTIM2 CONFIG_SYS_NAND_FTIM2
|
||||
#define CONFIG_SYS_CS0_FTIM3 CONFIG_SYS_NAND_FTIM3
|
||||
|
||||
#define CONFIG_BOARD_EARLY_INIT_F /* Call board_pre_init */
|
||||
|
||||
#define CONFIG_SYS_INIT_RAM_LOCK
|
||||
#define CONFIG_SYS_INIT_RAM_ADDR 0xffd00000 /* stack in RAM */
|
||||
#define CONFIG_SYS_INIT_RAM_END 0x00004000/* End of used area in RAM */
|
||||
|
||||
#define CONFIG_SYS_GBL_DATA_OFFSET (CONFIG_SYS_INIT_RAM_END \
|
||||
- GENERATED_GBL_DATA_SIZE)
|
||||
#define CONFIG_SYS_INIT_SP_OFFSET CONFIG_SYS_GBL_DATA_OFFSET
|
||||
|
||||
#define CONFIG_SYS_MONITOR_LEN (256 * 1024) /* Reserve 256 kB for Mon*/
|
||||
#define CONFIG_SYS_MALLOC_LEN (1024 * 1024) /* Reserved for malloc*/
|
||||
|
||||
/* Serial Port */
|
||||
#define CONFIG_CONS_INDEX 1
|
||||
#undef CONFIG_SERIAL_SOFTWARE_FIFO
|
||||
#define CONFIG_SYS_NS16550
|
||||
#define CONFIG_SYS_NS16550_SERIAL
|
||||
#define CONFIG_SYS_NS16550_REG_SIZE 1
|
||||
#define CONFIG_SYS_NS16550_CLK get_bus_freq(0)
|
||||
|
||||
#define CONFIG_SYS_CONSOLE_IS_IN_ENV /* determine from environment */
|
||||
|
||||
#define CONFIG_SYS_BAUDRATE_TABLE \
|
||||
{300, 600, 1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200}
|
||||
|
||||
#define CONFIG_SYS_NS16550_COM1 (CONFIG_SYS_CCSRBAR+0x4500)
|
||||
|
||||
/* Use the HUSH parser */
|
||||
#define CONFIG_SYS_HUSH_PARSER
|
||||
#ifdef CONFIG_SYS_HUSH_PARSER
|
||||
#define CONFIG_SYS_PROMPT_HUSH_PS2 "> "
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Pass open firmware flat tree
|
||||
*/
|
||||
#define CONFIG_OF_LIBFDT
|
||||
#define CONFIG_OF_BOARD_SETUP
|
||||
#define CONFIG_OF_STDOUT_VIA_ALIAS
|
||||
|
||||
/* new uImage format support */
|
||||
#define CONFIG_FIT
|
||||
#define CONFIG_FIT_VERBOSE /* enable fit_format_{error,warning}() */
|
||||
|
||||
#define CONFIG_FSL_I2C /* Use FSL common I2C driver */
|
||||
#define CONFIG_HARD_I2C /* I2C with hardware support */
|
||||
#undef CONFIG_SOFT_I2C /* I2C bit-banged */
|
||||
#define CONFIG_I2C_MULTI_BUS
|
||||
#define CONFIG_I2C_CMD_TREE
|
||||
#define CONFIG_SYS_I2C_SPEED 400000 /* I2C speed and slave address*/
|
||||
#define CONFIG_SYS_I2C_OFFSET 0x3000
|
||||
|
||||
/* I2C EEPROM */
|
||||
#define CONFIG_CMD_EEPROM
|
||||
#define CONFIG_SYS_I2C_MULTI_EEPROMS
|
||||
#define CONFIG_SYS_I2C_EEPROM_ADDR_LEN 1
|
||||
#define CONFIG_SYS_EEPROM_PAGE_WRITE_BITS 3
|
||||
#define CONFIG_SYS_EEPROM_PAGE_WRITE_DELAY_MS 5
|
||||
|
||||
#define CONFIG_CMD_I2C
|
||||
|
||||
|
||||
#define CONFIG_FSL_ESPI
|
||||
/* eSPI - Enhanced SPI */
|
||||
#ifdef CONFIG_FSL_ESPI
|
||||
#define CONFIG_SPI_FLASH
|
||||
#define CONFIG_SPI_FLASH_SPANSION
|
||||
#define CONFIG_CMD_SF
|
||||
#define CONFIG_SF_DEFAULT_SPEED 10000000
|
||||
#define CONFIG_SF_DEFAULT_MODE SPI_MODE_0
|
||||
#endif
|
||||
|
||||
#if defined(CONFIG_TSEC_ENET)
|
||||
|
||||
#define CONFIG_MII /* MII PHY management */
|
||||
#define CONFIG_MII_DEFAULT_TSEC 1 /* Allow unregistered phys */
|
||||
#define CONFIG_TSEC1 1
|
||||
#define CONFIG_TSEC1_NAME "eTSEC1"
|
||||
#define CONFIG_TSEC2 1
|
||||
#define CONFIG_TSEC2_NAME "eTSEC2"
|
||||
|
||||
#define TSEC1_PHY_ADDR 0
|
||||
#define TSEC2_PHY_ADDR 3
|
||||
|
||||
#define TSEC1_FLAGS (TSEC_GIGABIT | TSEC_REDUCED)
|
||||
#define TSEC2_FLAGS (TSEC_GIGABIT | TSEC_REDUCED)
|
||||
|
||||
#define TSEC1_PHYIDX 0
|
||||
|
||||
#define TSEC2_PHYIDX 0
|
||||
|
||||
#define CONFIG_ETHPRIME "eTSEC1"
|
||||
|
||||
#define CONFIG_PHY_GIGE /* Include GbE speed/duplex detection */
|
||||
|
||||
#endif /* CONFIG_TSEC_ENET */
|
||||
|
||||
/*
|
||||
* Environment
|
||||
*/
|
||||
#if defined(CONFIG_SYS_RAMBOOT)
|
||||
#if defined(CONFIG_RAMBOOT_SPIFLASH)
|
||||
#define CONFIG_ENV_IS_IN_SPI_FLASH
|
||||
#define CONFIG_ENV_SPI_BUS 0
|
||||
#define CONFIG_ENV_SPI_CS 0
|
||||
#define CONFIG_ENV_SPI_MAX_HZ 10000000
|
||||
#define CONFIG_ENV_SPI_MODE 0
|
||||
#define CONFIG_ENV_OFFSET 0x100000 /* 1MB */
|
||||
#define CONFIG_ENV_SECT_SIZE 0x10000
|
||||
#define CONFIG_ENV_SIZE 0x2000
|
||||
#else
|
||||
#define CONFIG_ENV_IS_NOWHERE /* Store ENV in memory only */
|
||||
#define CONFIG_ENV_ADDR (CONFIG_SYS_MONITOR_BASE - 0x1000)
|
||||
#define CONFIG_ENV_SIZE 0x2000
|
||||
#endif
|
||||
#else
|
||||
#define CONFIG_ENV_IS_NOWHERE 1 /* Store ENV in memory only */
|
||||
#define CONFIG_ENV_ADDR (CONFIG_SYS_MONITOR_BASE - 0x1000)
|
||||
#define CONFIG_ENV_SIZE 0x400
|
||||
#endif
|
||||
|
||||
#define CONFIG_LOADS_ECHO /* echo on for serial download */
|
||||
#define CONFIG_SYS_LOADS_BAUD_CHANGE /* allow baudrate change */
|
||||
|
||||
/*
|
||||
* Command line configuration.
|
||||
*/
|
||||
#include <config_cmd_default.h>
|
||||
|
||||
#define CONFIG_CMD_DHCP
|
||||
#define CONFIG_CMD_ERRATA
|
||||
#define CONFIG_CMD_ELF
|
||||
#define CONFIG_CMD_EXT2
|
||||
#define CONFIG_CMD_FAT
|
||||
#define CONFIG_CMD_IRQ
|
||||
#define CONFIG_CMD_MII
|
||||
#define CONFIG_DOS_PARTITION
|
||||
#define CONFIG_CMD_PING
|
||||
#define CONFIG_CMD_REGINFO
|
||||
#define CONFIG_CMD_SETEXPR
|
||||
|
||||
/*
|
||||
* Miscellaneous configurable options
|
||||
*/
|
||||
#define CONFIG_SYS_LONGHELP /* undef to save memory */
|
||||
#define CONFIG_CMDLINE_EDITING /* Command-line editing */
|
||||
#define CONFIG_AUTO_COMPLETE /* add autocompletion support */
|
||||
#define CONFIG_SYS_LOAD_ADDR 0x2000000 /* default load address */
|
||||
#define CONFIG_SYS_PROMPT "=> " /* Monitor Command Prompt */
|
||||
|
||||
#if defined(CONFIG_CMD_KGDB)
|
||||
#define CONFIG_SYS_CBSIZE 1024 /* Console I/O Buffer Size */
|
||||
#else
|
||||
#define CONFIG_SYS_CBSIZE 1024 /* Console I/O Buffer Size */
|
||||
#endif
|
||||
#define CONFIG_SYS_PBSIZE (CONFIG_SYS_CBSIZE+sizeof(CONFIG_SYS_PROMPT)+16)
|
||||
/* Print Buffer Size */
|
||||
#define CONFIG_SYS_MAXARGS 16 /* max number of command args */
|
||||
#define CONFIG_SYS_BARGSIZE CONFIG_SYS_CBSIZE/* Boot Argument Buffer Size */
|
||||
#define CONFIG_SYS_HZ 1000 /* decrementer freq: 1ms ticks */
|
||||
|
||||
/*
|
||||
* For booting Linux, the board info and command line data
|
||||
* have to be in the first 64 MB of memory, since this is
|
||||
* the maximum mapped by the Linux kernel during initialization.
|
||||
*/
|
||||
#define CONFIG_SYS_BOOTMAPSZ (64 << 20) /* Initial Memory map for Linux */
|
||||
#define CONFIG_SYS_BOOTM_LEN (64 << 20) /* Increase max gunzip size */
|
||||
|
||||
#if defined(CONFIG_CMD_KGDB)
|
||||
#define CONFIG_KGDB_BAUDRATE 230400 /* speed to run kgdb serial port */
|
||||
#define CONFIG_KGDB_SER_INDEX 2 /* which serial port to use */
|
||||
#endif
|
||||
|
||||
#define CONFIG_USB_EHCI
|
||||
|
||||
#ifdef CONFIG_USB_EHCI
|
||||
#define CONFIG_CMD_USB
|
||||
#define CONFIG_EHCI_HCD_INIT_AFTER_RESET
|
||||
#define CONFIG_USB_EHCI_FSL
|
||||
#define CONFIG_USB_STORAGE
|
||||
#define CONFIG_HAS_FSL_DR_USB
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Environment Configuration
|
||||
*/
|
||||
|
||||
#if defined(CONFIG_TSEC_ENET)
|
||||
#define CONFIG_HAS_ETH0
|
||||
#endif
|
||||
|
||||
#define CONFIG_HOSTNAME BSC9131rdb
|
||||
#define CONFIG_ROOTPATH "/opt/nfsroot"
|
||||
#define CONFIG_BOOTFILE "uImage"
|
||||
#define CONFIG_UBOOTPATH "u-boot.bin" /* U-Boot image on TFTP server */
|
||||
|
||||
#define CONFIG_BAUDRATE 115200
|
||||
|
||||
#define CONFIG_EXTRA_ENV_SETTINGS \
|
||||
"netdev=eth0\0" \
|
||||
"uboot=" CONFIG_UBOOTPATH "\0" \
|
||||
"loadaddr=1000000\0" \
|
||||
"bootfile=uImage\0" \
|
||||
"consoledev=ttyS0\0" \
|
||||
"ramdiskaddr=2000000\0" \
|
||||
"ramdiskfile=rootfs.ext2.gz.uboot\0" \
|
||||
"fdtaddr=c00000\0" \
|
||||
"fdtfile=bsc9131rdb.dtb\0" \
|
||||
"bdev=sda1\0" \
|
||||
"hwconfig=usb1:dr_mode=host,phy_type=ulpi\0" \
|
||||
"othbootargs=ramdisk_size=600000 \0" \
|
||||
"usbext2boot=setenv bootargs root=/dev/ram rw " \
|
||||
"console=$consoledev,$baudrate $othbootargs; " \
|
||||
"usb start;" \
|
||||
"ext2load usb 0:4 $loadaddr $bootfile;" \
|
||||
"ext2load usb 0:4 $fdtaddr $fdtfile;" \
|
||||
"ext2load usb 0:4 $ramdiskaddr $ramdiskfile;" \
|
||||
"bootm $loadaddr $ramdiskaddr $fdtaddr\0" \
|
||||
|
||||
#define CONFIG_RAMBOOTCOMMAND \
|
||||
"setenv bootargs root=/dev/ram rw " \
|
||||
"console=$consoledev,$baudrate $othbootargs; " \
|
||||
"tftp $ramdiskaddr $ramdiskfile;" \
|
||||
"tftp $loadaddr $bootfile;" \
|
||||
"tftp $fdtaddr $fdtfile;" \
|
||||
"bootm $loadaddr $ramdiskaddr $fdtaddr"
|
||||
|
||||
#define CONFIG_BOOTCOMMAND CONFIG_RAMBOOTCOMMAND
|
||||
|
||||
#endif /* __CONFIG_H */
|
||||
|
|
@ -0,0 +1,230 @@
|
|||
/*
|
||||
* (C) Copyright 2001
|
||||
* Matthias Fuchs, esd gmbh germany, matthias.fuchs@esd-electronics.com
|
||||
*
|
||||
* See file CREDITS for list of people who contributed to this
|
||||
* project.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of
|
||||
* the License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston,
|
||||
* MA 02111-1307 USA
|
||||
*/
|
||||
|
||||
/*
|
||||
* board/config.h - configuration options, board specific
|
||||
*/
|
||||
|
||||
#ifndef __CONFIG_H
|
||||
#define __CONFIG_H
|
||||
|
||||
/*
|
||||
* High Level Configuration Options
|
||||
* (easy to change)
|
||||
*/
|
||||
|
||||
#define CONFIG_405CR 1 /* This is a PPC405CR CPU */
|
||||
#define CONFIG_4xx 1 /* ...member of PPC4xx family */
|
||||
#define CONFIG_CANBT 1 /* ...on a CANBT board */
|
||||
|
||||
#define CONFIG_SYS_TEXT_BASE 0xFFFC0000
|
||||
|
||||
#define CONFIG_BOARD_EARLY_INIT_F 1 /* call board_early_init_f() */
|
||||
|
||||
#define CONFIG_SYS_CLK_FREQ 25000000 /* external frequency to pll */
|
||||
|
||||
#define CONFIG_BAUDRATE 115200
|
||||
#define CONFIG_BOOTDELAY 1 /* autoboot after 1 seconds */
|
||||
|
||||
#undef CONFIG_BOOTARGS
|
||||
#define CONFIG_BOOTCOMMAND \
|
||||
"setenv bootargs root=/dev/ram rw console=ttyS0,115200; " \
|
||||
"bootm ffe00000 ffe80000"
|
||||
|
||||
#define CONFIG_LOADS_ECHO 1 /* echo on for serial download */
|
||||
#define CONFIG_SYS_LOADS_BAUD_CHANGE 1 /* allow baudrate change */
|
||||
|
||||
#undef CONFIG_PCI_PNP /* no pci plug-and-play */
|
||||
|
||||
#define CONFIG_PHY_ADDR 0 /* PHY address */
|
||||
|
||||
|
||||
/*
|
||||
* 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_IRQ
|
||||
#define CONFIG_CMD_EEPROM
|
||||
|
||||
#undef CONFIG_CMD_NET
|
||||
#undef CONFIG_CMD_NFS
|
||||
|
||||
#undef CONFIG_WATCHDOG /* watchdog disabled */
|
||||
|
||||
#define CONFIG_SDRAM_BANK0 1 /* init onboard SDRAM bank 0 */
|
||||
|
||||
/*
|
||||
* Miscellaneous configurable options
|
||||
*/
|
||||
#define CONFIG_SYS_LONGHELP /* undef to save memory */
|
||||
#define CONFIG_SYS_PROMPT "=> " /* Monitor Command Prompt */
|
||||
#if defined(CONFIG_CMD_KGDB)
|
||||
#define CONFIG_SYS_CBSIZE 1024 /* Console I/O Buffer Size */
|
||||
#else
|
||||
#define CONFIG_SYS_CBSIZE 256 /* Console I/O Buffer Size */
|
||||
#endif
|
||||
#define CONFIG_SYS_PBSIZE (CONFIG_SYS_CBSIZE+sizeof(CONFIG_SYS_PROMPT)+16) /* Print Buffer Size */
|
||||
#define CONFIG_SYS_MAXARGS 16 /* max number of command args */
|
||||
#define CONFIG_SYS_BARGSIZE CONFIG_SYS_CBSIZE /* Boot Argument Buffer Size */
|
||||
|
||||
#define CONFIG_SYS_CONSOLE_INFO_QUIET 1 /* don't print console @ startup*/
|
||||
|
||||
#define CONFIG_SYS_MEMTEST_START 0x0400000 /* memtest works on */
|
||||
#define CONFIG_SYS_MEMTEST_END 0x0C00000 /* 4 ... 12 MB in DRAM */
|
||||
|
||||
#define CONFIG_CONS_INDEX 1 /* Use UART0 */
|
||||
#define CONFIG_SYS_NS16550
|
||||
#define CONFIG_SYS_NS16550_SERIAL
|
||||
#define CONFIG_SYS_NS16550_REG_SIZE 1
|
||||
#define CONFIG_SYS_NS16550_CLK get_serial_clock()
|
||||
|
||||
#define CONFIG_SYS_EXT_SERIAL_CLOCK 14745600 /* use external serial clock */
|
||||
|
||||
/* The following table includes the supported baudrates */
|
||||
#define CONFIG_SYS_BAUDRATE_TABLE \
|
||||
{ 300, 600, 1200, 2400, 4800, 9600, 19200, 38400, \
|
||||
57600, 115200, 230400, 460800, 921600 }
|
||||
|
||||
#define CONFIG_SYS_LOAD_ADDR 0x100000 /* default load address */
|
||||
#define CONFIG_SYS_EXTBDINFO 1 /* To use extended board_into (bd_t) */
|
||||
|
||||
#define CONFIG_SYS_HZ 1000 /* decrementer freq: 1 ms ticks */
|
||||
|
||||
#define CONFIG_ZERO_BOOTDELAY_CHECK /* check for keypress on bootdelay==0 */
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* Start addresses for the final memory configuration
|
||||
* (Set up by the startup code)
|
||||
* Please note that CONFIG_SYS_SDRAM_BASE _must_ start at 0
|
||||
*/
|
||||
#define CONFIG_SYS_SDRAM_BASE 0x00000000
|
||||
#define CONFIG_SYS_FLASH_BASE CONFIG_SYS_MONITOR_BASE
|
||||
#define CONFIG_SYS_MONITOR_BASE CONFIG_SYS_TEXT_BASE
|
||||
#define CONFIG_SYS_MONITOR_LEN (~(CONFIG_SYS_TEXT_BASE) + 1)
|
||||
#define CONFIG_SYS_MALLOC_LEN (128 * 1024) /* Reserve 128 kB for malloc() */
|
||||
|
||||
/*
|
||||
* For booting Linux, the board info and command line data
|
||||
* have to be in the first 8 MB of memory, since this is
|
||||
* the maximum mapped by the Linux kernel during initialization.
|
||||
*/
|
||||
#define CONFIG_SYS_BOOTMAPSZ (8 << 20) /* Initial Memory map for Linux */
|
||||
/*-----------------------------------------------------------------------
|
||||
* FLASH organization
|
||||
*/
|
||||
#define CONFIG_SYS_MAX_FLASH_BANKS 1 /* max number of memory banks */
|
||||
#define CONFIG_SYS_MAX_FLASH_SECT 256 /* max number of sectors on one chip */
|
||||
|
||||
#define CONFIG_SYS_FLASH_ERASE_TOUT 120000 /* Timeout for Flash Erase (in ms) */
|
||||
#define CONFIG_SYS_FLASH_WRITE_TOUT 500 /* Timeout for Flash Write (in ms) */
|
||||
|
||||
#define CONFIG_SYS_FLASH_WORD_SIZE unsigned short /* flash word size (width) */
|
||||
#define CONFIG_SYS_FLASH_ADDR0 0x5555 /* 1st address for flash config cycles */
|
||||
#define CONFIG_SYS_FLASH_ADDR1 0x2AAA /* 2nd address for flash config cycles */
|
||||
/*
|
||||
* The following defines are added for buggy IOP480 byte interface.
|
||||
* All other boards should use the standard values (CPCI405 etc.)
|
||||
*/
|
||||
#define CONFIG_SYS_FLASH_READ0 0x0000 /* 0 is standard */
|
||||
#define CONFIG_SYS_FLASH_READ1 0x0001 /* 1 is standard */
|
||||
#define CONFIG_SYS_FLASH_READ2 0x0002 /* 2 is standard */
|
||||
|
||||
#define CONFIG_SYS_FLASH_EMPTY_INFO /* print 'E' for empty sector on flinfo */
|
||||
|
||||
#if 0 /* Use FLASH for environment variables */
|
||||
|
||||
#define CONFIG_ENV_IS_IN_FLASH 1
|
||||
#define CONFIG_ENV_OFFSET 0x00010000 /* Offset of Environment Sector */
|
||||
#define CONFIG_ENV_SIZE 0x1000 /* Total Size of Environment Sector */
|
||||
|
||||
#define CONFIG_ENV_SECT_SIZE 0x10000 /* see README - env sector total size */
|
||||
|
||||
#else /* Use EEPROM for environment variables */
|
||||
|
||||
#define CONFIG_ENV_IS_IN_EEPROM 1 /* use EEPROM for environment vars */
|
||||
#define CONFIG_ENV_OFFSET 0x000 /* environment starts at the beginning of the EEPROM */
|
||||
#define CONFIG_ENV_SIZE 0x400 /* 1024 bytes may be used for env vars */
|
||||
/* total size of a CAT24WC08 is 1024 bytes */
|
||||
#endif
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* I2C EEPROM (CAT24WC08) for environment
|
||||
*/
|
||||
#define CONFIG_HARD_I2C /* I2C with hardware support */
|
||||
#define CONFIG_PPC4XX_I2C /* use PPC4xx driver */
|
||||
#define CONFIG_SYS_I2C_SPEED 400000 /* I2C speed and slave address */
|
||||
#define CONFIG_SYS_I2C_SLAVE 0x7F
|
||||
|
||||
#define CONFIG_SYS_I2C_EEPROM_ADDR 0x50 /* EEPROM CAT28WC08 */
|
||||
#define CONFIG_SYS_I2C_EEPROM_ADDR_LEN 1 /* bytes of address */
|
||||
/* mask of address bits that overflow into the "EEPROM chip address" */
|
||||
#define CONFIG_SYS_I2C_EEPROM_ADDR_OVERFLOW 0x07
|
||||
|
||||
/*
|
||||
* Init Memory Controller:
|
||||
*
|
||||
* BR0/1 and OR0/1 (FLASH)
|
||||
*/
|
||||
|
||||
#define FLASH_BASE0_PRELIM 0xFFC00000 /* FLASH bank #0 */
|
||||
#define FLASH_BASE1_PRELIM 0 /* FLASH bank #1 */
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* External Bus Controller (EBC) Setup
|
||||
*/
|
||||
|
||||
/* Memory Bank 0 (Flash Bank 0) initialization */
|
||||
#define CONFIG_SYS_EBC_PB0AP 0x92015480
|
||||
#define CONFIG_SYS_EBC_PB0CR 0xFFC5A000 /* BAS=0xFFC,BS=4MB,BU=R/W,BW=16bit */
|
||||
|
||||
/* Memory Bank 1 (CAN/USB) initialization */
|
||||
#define CONFIG_SYS_EBC_PB1AP 0x010053C0 /* enable Ready, BEM=1 */
|
||||
#define CONFIG_SYS_EBC_PB1CR 0xF0018000 /* BAS=0xF00,BS=1MB,BU=R/W,BW=8bit */
|
||||
|
||||
/* Memory Bank 2 (Misc-IO/LEDs) initialization */
|
||||
#define CONFIG_SYS_EBC_PB2AP 0x000004c0 /* no Ready, BEM=1 */
|
||||
#define CONFIG_SYS_EBC_PB2CR 0xF0118000 /* BAS=0xF01,BS=1MB,BU=R/W,BW=8bit */
|
||||
|
||||
/* Memory Bank 3 (CAN Features) initialization */
|
||||
#define CONFIG_SYS_EBC_PB3AP 0x80000040 /* no Ready, BEM=1 */
|
||||
#define CONFIG_SYS_EBC_PB3CR 0xF021C000 /* BAS=0xF02,BS=1MB,BU=R/W,BW=32bit */
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* Definitions for initial stack pointer and data area (in RAM)
|
||||
*/
|
||||
#define CONFIG_SYS_INIT_RAM_ADDR 0x00ef0000 /* inside of SDRAM */
|
||||
#define CONFIG_SYS_INIT_RAM_SIZE 0x0f00 /* Size of used area in RAM */
|
||||
#define CONFIG_SYS_GBL_DATA_OFFSET (CONFIG_SYS_INIT_RAM_SIZE - GENERATED_GBL_DATA_SIZE)
|
||||
#define CONFIG_SYS_INIT_SP_OFFSET CONFIG_SYS_GBL_DATA_OFFSET
|
||||
|
||||
#endif /* __CONFIG_H */
|
||||
|
|
@ -0,0 +1,765 @@
|
|||
/*
|
||||
* ueberarbeitet durch Christoph Seyfert
|
||||
*
|
||||
* (C) Copyright 2004-2005 DENX Software Engineering,
|
||||
* Wolfgang Grandegger <wg@denx.de>
|
||||
* (C) Copyright 2003
|
||||
* DAVE Srl
|
||||
*
|
||||
* http://www.dave-tech.it
|
||||
* http://www.wawnet.biz
|
||||
* mailto:info@wawnet.biz
|
||||
*
|
||||
* Credits: Stefan Roese, Wolfgang Denk
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of
|
||||
* the License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston,
|
||||
* MA 02111-1307 USA
|
||||
*/
|
||||
|
||||
/*
|
||||
* board/config.h - configuration options, board specific
|
||||
*/
|
||||
|
||||
#ifndef __CONFIG_H
|
||||
#define __CONFIG_H
|
||||
|
||||
#define CONFIG_PPCHAMELEON_MODULE_BA 0 /* Basic Model */
|
||||
#define CONFIG_PPCHAMELEON_MODULE_ME 1 /* Medium Model */
|
||||
#define CONFIG_PPCHAMELEON_MODULE_HI 2 /* High-End Model */
|
||||
#ifndef CONFIG_PPCHAMELEON_MODULE_MODEL
|
||||
#define CONFIG_PPCHAMELEON_MODULE_MODEL CONFIG_PPCHAMELEON_MODULE_BA
|
||||
#endif
|
||||
|
||||
/* Only one of the following two symbols must be defined (default is 25 MHz)
|
||||
* CONFIG_PPCHAMELEON_CLK_25
|
||||
* CONFIG_PPCHAMELEON_CLK_33
|
||||
*/
|
||||
#if (!defined(CONFIG_PPCHAMELEON_CLK_25) && !defined(CONFIG_PPCHAMELEON_CLK_33))
|
||||
#define CONFIG_PPCHAMELEON_CLK_25
|
||||
#endif
|
||||
|
||||
#if (defined(CONFIG_PPCHAMELEON_CLK_25) && defined(CONFIG_PPCHAMELEON_CLK_33))
|
||||
#error "* Two external frequencies (SysClk) are defined! *"
|
||||
#endif
|
||||
|
||||
#undef CONFIG_PPCHAMELEON_SMI712
|
||||
|
||||
/*
|
||||
* Debug stuff
|
||||
*/
|
||||
#undef __DEBUG_START_FROM_SRAM__
|
||||
#define __DISABLE_MACHINE_EXCEPTION__
|
||||
|
||||
#ifdef __DEBUG_START_FROM_SRAM__
|
||||
#define CONFIG_SYS_DUMMY_FLASH_SIZE 1024*1024*4
|
||||
#endif
|
||||
|
||||
/*
|
||||
* High Level Configuration Options
|
||||
* (easy to change)
|
||||
*/
|
||||
|
||||
#define CONFIG_405EP 1 /* This is a PPC405 CPU */
|
||||
#define CONFIG_4xx 1 /* ...member of PPC4xx family */
|
||||
#define CONFIG_PPCHAMELEONEVB 1 /* ...on a PPChameleonEVB board */
|
||||
|
||||
#define CONFIG_SYS_TEXT_BASE 0xFFFB0000 /* Reserve 320 kB for Monitor */
|
||||
#define CONFIG_SYS_LDSCRIPT "board/dave/PPChameleonEVB/u-boot.lds"
|
||||
|
||||
#define CONFIG_BOARD_EARLY_INIT_F 1 /* call board_early_init_f() */
|
||||
#define CONFIG_MISC_INIT_R 1 /* call misc_init_r() */
|
||||
|
||||
#ifdef CONFIG_PPCHAMELEON_CLK_25
|
||||
# define CONFIG_SYS_CLK_FREQ 25000000 /* external frequency to pll */
|
||||
#elif (defined (CONFIG_PPCHAMELEON_CLK_33))
|
||||
#define CONFIG_SYS_CLK_FREQ 33333333 /* external frequency to pll */
|
||||
#else
|
||||
# error "* External frequency (SysClk) not defined! *"
|
||||
#endif
|
||||
|
||||
#define CONFIG_CONS_INDEX 2 /* Use UART1 */
|
||||
#define CONFIG_SYS_NS16550
|
||||
#define CONFIG_SYS_NS16550_SERIAL
|
||||
#define CONFIG_SYS_NS16550_REG_SIZE 1
|
||||
#define CONFIG_SYS_NS16550_CLK get_serial_clock()
|
||||
#define CONFIG_BAUDRATE 115200
|
||||
#define CONFIG_BOOTDELAY 5 /* autoboot after 5 seconds */
|
||||
|
||||
#define CONFIG_VERSION_VARIABLE 1 /* add version variable */
|
||||
#define CONFIG_IDENT_STRING "1"
|
||||
|
||||
#undef CONFIG_BOOTARGS
|
||||
|
||||
/* Ethernet stuff */
|
||||
#define CONFIG_ENV_OVERWRITE /* Let the user to change the Ethernet MAC addresses */
|
||||
#define CONFIG_ETHADDR 00:50:C2:1E:AF:FE
|
||||
#define CONFIG_HAS_ETH1
|
||||
#define CONFIG_ETH1ADDR 00:50:C2:1E:AF:FD
|
||||
|
||||
#define CONFIG_LOADS_ECHO 1 /* echo on for serial download */
|
||||
#define CONFIG_SYS_LOADS_BAUD_CHANGE 1 /* allow baudrate change */
|
||||
|
||||
|
||||
#define CONFIG_PPC4xx_EMAC
|
||||
#undef CONFIG_EXT_PHY
|
||||
|
||||
#define CONFIG_MII 1 /* MII PHY management */
|
||||
#ifndef CONFIG_EXT_PHY
|
||||
#define CONFIG_PHY_ADDR 1 /* EMAC0 PHY address */
|
||||
#define CONFIG_PHY1_ADDR 16 /* EMAC1 PHY address */
|
||||
#else
|
||||
#define CONFIG_PHY_ADDR 2 /* PHY address */
|
||||
#endif
|
||||
#define CONFIG_PHY_CLK_FREQ EMAC_STACR_CLK_66MHZ
|
||||
|
||||
#define CONFIG_TIMESTAMP /* Print image info with timestamp */
|
||||
|
||||
|
||||
/*
|
||||
* 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_DHCP
|
||||
#define CONFIG_CMD_ELF
|
||||
#define CONFIG_CMD_EEPROM
|
||||
#define CONFIG_CMD_I2C
|
||||
#define CONFIG_CMD_IRQ
|
||||
#define CONFIG_CMD_JFFS2
|
||||
#define CONFIG_CMD_MII
|
||||
#define CONFIG_CMD_NAND
|
||||
#define CONFIG_CMD_NFS
|
||||
#define CONFIG_CMD_SNTP
|
||||
|
||||
|
||||
#define CONFIG_MAC_PARTITION
|
||||
#define CONFIG_DOS_PARTITION
|
||||
|
||||
#undef CONFIG_WATCHDOG /* watchdog disabled */
|
||||
|
||||
#define CONFIG_RTC_MC146818 /* DS1685 is MC146818 compatible*/
|
||||
#define CONFIG_SYS_RTC_REG_BASE_ADDR 0xF0000500 /* RTC Base Address */
|
||||
|
||||
#define CONFIG_SDRAM_BANK0 1 /* init onboard SDRAM bank 0 */
|
||||
|
||||
/*
|
||||
* Miscellaneous configurable options
|
||||
*/
|
||||
#define CONFIG_SYS_LONGHELP /* undef to save memory */
|
||||
#define CONFIG_SYS_PROMPT "=> " /* Monitor Command Prompt */
|
||||
|
||||
#define CONFIG_SYS_HUSH_PARSER /* use "hush" command parser */
|
||||
|
||||
#if defined(CONFIG_CMD_KGDB)
|
||||
#define CONFIG_SYS_CBSIZE 1024 /* Console I/O Buffer Size */
|
||||
#else
|
||||
#define CONFIG_SYS_CBSIZE 256 /* Console I/O Buffer Size */
|
||||
#endif
|
||||
#define CONFIG_SYS_PBSIZE (CONFIG_SYS_CBSIZE+sizeof(CONFIG_SYS_PROMPT)+16) /* Print Buffer Size */
|
||||
#define CONFIG_SYS_MAXARGS 16 /* max number of command args */
|
||||
#define CONFIG_SYS_BARGSIZE CONFIG_SYS_CBSIZE /* Boot Argument Buffer Size */
|
||||
|
||||
#define CONFIG_SYS_DEVICE_NULLDEV 1 /* include nulldev device */
|
||||
|
||||
#define CONFIG_SYS_CONSOLE_INFO_QUIET 1 /* don't print console @ startup*/
|
||||
|
||||
#define CONFIG_SYS_MEMTEST_START 0x0400000 /* memtest works on */
|
||||
#define CONFIG_SYS_MEMTEST_END 0x0C00000 /* 4 ... 12 MB in DRAM */
|
||||
|
||||
#undef CONFIG_SYS_EXT_SERIAL_CLOCK /* no external serial clock used */
|
||||
#define CONFIG_SYS_BASE_BAUD 691200
|
||||
|
||||
/* The following table includes the supported baudrates */
|
||||
#define CONFIG_SYS_BAUDRATE_TABLE \
|
||||
{ 300, 600, 1200, 2400, 4800, 9600, 19200, 38400, \
|
||||
57600, 115200, 230400, 460800, 921600 }
|
||||
|
||||
#define CONFIG_SYS_LOAD_ADDR 0x100000 /* default load address */
|
||||
#define CONFIG_SYS_EXTBDINFO 1 /* To use extended board_into (bd_t) */
|
||||
|
||||
#define CONFIG_SYS_HZ 1000 /* decrementer freq: 1 ms ticks */
|
||||
|
||||
#define CONFIG_ZERO_BOOTDELAY_CHECK /* check for keypress on bootdelay==0 */
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* NAND-FLASH stuff
|
||||
*-----------------------------------------------------------------------
|
||||
*/
|
||||
#define CONFIG_SYS_NAND0_BASE 0xFF400000
|
||||
#define CONFIG_SYS_NAND1_BASE 0xFF000000
|
||||
#define CONFIG_SYS_NAND_BASE_LIST { CONFIG_SYS_NAND0_BASE }
|
||||
#define NAND_BIG_DELAY_US 25
|
||||
|
||||
/* For CATcenter there is only NAND on the module */
|
||||
#define CONFIG_SYS_MAX_NAND_DEVICE 1 /* Max number of NAND devices */
|
||||
#define NAND_NO_RB
|
||||
|
||||
#define CONFIG_SYS_NAND0_CE (0x80000000 >> 1) /* our CE is GPIO1 */
|
||||
#define CONFIG_SYS_NAND0_CLE (0x80000000 >> 2) /* our CLE is GPIO2 */
|
||||
#define CONFIG_SYS_NAND0_ALE (0x80000000 >> 3) /* our ALE is GPIO3 */
|
||||
#define CONFIG_SYS_NAND0_RDY (0x80000000 >> 4) /* our RDY is GPIO4 */
|
||||
|
||||
#define CONFIG_SYS_NAND1_CE (0x80000000 >> 14) /* our CE is GPIO14 */
|
||||
#define CONFIG_SYS_NAND1_CLE (0x80000000 >> 15) /* our CLE is GPIO15 */
|
||||
#define CONFIG_SYS_NAND1_ALE (0x80000000 >> 16) /* our ALE is GPIO16 */
|
||||
#define CONFIG_SYS_NAND1_RDY (0x80000000 >> 31) /* our RDY is GPIO31 */
|
||||
|
||||
|
||||
#define MACRO_NAND_DISABLE_CE(nandptr) do \
|
||||
{ \
|
||||
switch((unsigned long)nandptr) \
|
||||
{ \
|
||||
case CONFIG_SYS_NAND0_BASE: \
|
||||
out32(GPIO0_OR, in32(GPIO0_OR) | CONFIG_SYS_NAND0_CE); \
|
||||
break; \
|
||||
case CONFIG_SYS_NAND1_BASE: \
|
||||
out32(GPIO0_OR, in32(GPIO0_OR) | CONFIG_SYS_NAND1_CE); \
|
||||
break; \
|
||||
} \
|
||||
} while(0)
|
||||
|
||||
#define MACRO_NAND_ENABLE_CE(nandptr) do \
|
||||
{ \
|
||||
switch((unsigned long)nandptr) \
|
||||
{ \
|
||||
case CONFIG_SYS_NAND0_BASE: \
|
||||
out32(GPIO0_OR, in32(GPIO0_OR) & ~CONFIG_SYS_NAND0_CE); \
|
||||
break; \
|
||||
case CONFIG_SYS_NAND1_BASE: \
|
||||
out32(GPIO0_OR, in32(GPIO0_OR) & ~CONFIG_SYS_NAND1_CE); \
|
||||
break; \
|
||||
} \
|
||||
} while(0)
|
||||
|
||||
#define MACRO_NAND_CTL_CLRALE(nandptr) do \
|
||||
{ \
|
||||
switch((unsigned long)nandptr) \
|
||||
{ \
|
||||
case CONFIG_SYS_NAND0_BASE: \
|
||||
out32(GPIO0_OR, in32(GPIO0_OR) & ~CONFIG_SYS_NAND0_ALE); \
|
||||
break; \
|
||||
case CONFIG_SYS_NAND1_BASE: \
|
||||
out32(GPIO0_OR, in32(GPIO0_OR) & ~CONFIG_SYS_NAND1_ALE); \
|
||||
break; \
|
||||
} \
|
||||
} while(0)
|
||||
|
||||
#define MACRO_NAND_CTL_SETALE(nandptr) do \
|
||||
{ \
|
||||
switch((unsigned long)nandptr) \
|
||||
{ \
|
||||
case CONFIG_SYS_NAND0_BASE: \
|
||||
out32(GPIO0_OR, in32(GPIO0_OR) | CONFIG_SYS_NAND0_ALE); \
|
||||
break; \
|
||||
case CONFIG_SYS_NAND1_BASE: \
|
||||
out32(GPIO0_OR, in32(GPIO0_OR) | CONFIG_SYS_NAND1_ALE); \
|
||||
break; \
|
||||
} \
|
||||
} while(0)
|
||||
|
||||
#define MACRO_NAND_CTL_CLRCLE(nandptr) do \
|
||||
{ \
|
||||
switch((unsigned long)nandptr) \
|
||||
{ \
|
||||
case CONFIG_SYS_NAND0_BASE: \
|
||||
out32(GPIO0_OR, in32(GPIO0_OR) & ~CONFIG_SYS_NAND0_CLE); \
|
||||
break; \
|
||||
case CONFIG_SYS_NAND1_BASE: \
|
||||
out32(GPIO0_OR, in32(GPIO0_OR) & ~CONFIG_SYS_NAND1_CLE); \
|
||||
break; \
|
||||
} \
|
||||
} while(0)
|
||||
|
||||
#define MACRO_NAND_CTL_SETCLE(nandptr) do { \
|
||||
switch((unsigned long)nandptr) { \
|
||||
case CONFIG_SYS_NAND0_BASE: \
|
||||
out32(GPIO0_OR, in32(GPIO0_OR) | CONFIG_SYS_NAND0_CLE); \
|
||||
break; \
|
||||
case CONFIG_SYS_NAND1_BASE: \
|
||||
out32(GPIO0_OR, in32(GPIO0_OR) | CONFIG_SYS_NAND1_CLE); \
|
||||
break; \
|
||||
} \
|
||||
} while(0)
|
||||
|
||||
#ifdef NAND_NO_RB
|
||||
/* constant delay (see also tR in the datasheet) */
|
||||
#define NAND_WAIT_READY(nand) do { \
|
||||
udelay(12); \
|
||||
} while (0)
|
||||
#else
|
||||
/* use the R/B pin */
|
||||
/* TBD */
|
||||
#endif
|
||||
|
||||
#define WRITE_NAND_COMMAND(d, adr) do{ *(volatile __u8 *)((unsigned long)adr) = (__u8)(d); } while(0)
|
||||
#define WRITE_NAND_ADDRESS(d, adr) do{ *(volatile __u8 *)((unsigned long)adr) = (__u8)(d); } while(0)
|
||||
#define WRITE_NAND(d, adr) do{ *(volatile __u8 *)((unsigned long)adr) = (__u8)d; } while(0)
|
||||
#define READ_NAND(adr) ((volatile unsigned char)(*(volatile __u8 *)(unsigned long)adr))
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* PCI stuff
|
||||
*-----------------------------------------------------------------------
|
||||
*/
|
||||
#if 0 /* No PCI on CATcenter */
|
||||
#define PCI_HOST_ADAPTER 0 /* configure as pci adapter */
|
||||
#define PCI_HOST_FORCE 1 /* configure as pci host */
|
||||
#define PCI_HOST_AUTO 2 /* detected via arbiter enable */
|
||||
|
||||
#define CONFIG_PCI /* include pci support */
|
||||
#define CONFIG_PCI_HOST PCI_HOST_FORCE /* select pci host function */
|
||||
#undef CONFIG_PCI_PNP /* do pci plug-and-play */
|
||||
/* resource configuration */
|
||||
|
||||
#define CONFIG_PCI_SCAN_SHOW /* print pci devices @ startup */
|
||||
|
||||
#define CONFIG_SYS_PCI_SUBSYS_VENDORID 0x1014 /* PCI Vendor ID: IBM */
|
||||
#define CONFIG_SYS_PCI_SUBSYS_DEVICEID 0x0000 /* PCI Device ID: --- */
|
||||
#define CONFIG_SYS_PCI_CLASSCODE 0x0b20 /* PCI Class Code: Processor/PPC*/
|
||||
|
||||
#define CONFIG_SYS_PCI_PTM1LA 0x00000000 /* point to sdram */
|
||||
#define CONFIG_SYS_PCI_PTM1MS 0xfc000001 /* 64MB, enable hard-wired to 1 */
|
||||
#define CONFIG_SYS_PCI_PTM1PCI 0x00000000 /* Host: use this pci address */
|
||||
#define CONFIG_SYS_PCI_PTM2LA 0xffc00000 /* point to flash */
|
||||
#define CONFIG_SYS_PCI_PTM2MS 0xffc00001 /* 4MB, enable */
|
||||
#define CONFIG_SYS_PCI_PTM2PCI 0x04000000 /* Host: use this pci address */
|
||||
#endif /* No PCI */
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* Start addresses for the final memory configuration
|
||||
* (Set up by the startup code)
|
||||
* Please note that CONFIG_SYS_SDRAM_BASE _must_ start at 0
|
||||
*/
|
||||
#define CONFIG_SYS_SDRAM_BASE 0x00000000
|
||||
#define CONFIG_SYS_FLASH_BASE 0xFFFC0000
|
||||
#define CONFIG_SYS_MONITOR_BASE CONFIG_SYS_FLASH_BASE
|
||||
#define CONFIG_SYS_MONITOR_LEN (256 * 1024) /* Reserve 256 kB for Monitor */
|
||||
#define CONFIG_SYS_MALLOC_LEN (256 * 1024) /* Reserve 256 kB for malloc() */
|
||||
|
||||
/*
|
||||
* For booting Linux, the board info and command line data
|
||||
* have to be in the first 8 MB of memory, since this is
|
||||
* the maximum mapped by the Linux kernel during initialization.
|
||||
*/
|
||||
#define CONFIG_SYS_BOOTMAPSZ (8 << 20) /* Initial Memory map for Linux */
|
||||
/*-----------------------------------------------------------------------
|
||||
* FLASH organization
|
||||
*/
|
||||
#define CONFIG_SYS_MAX_FLASH_BANKS 1 /* max number of memory banks */
|
||||
#define CONFIG_SYS_MAX_FLASH_SECT 256 /* max number of sectors on one chip */
|
||||
|
||||
#define CONFIG_SYS_FLASH_ERASE_TOUT 120000 /* Timeout for Flash Erase (in ms) */
|
||||
#define CONFIG_SYS_FLASH_WRITE_TOUT 1000 /* Timeout for Flash Write (in ms) */
|
||||
|
||||
#define CONFIG_SYS_FLASH_WORD_SIZE unsigned short /* flash word size (width) */
|
||||
#define CONFIG_SYS_FLASH_ADDR0 0x5555 /* 1st address for flash config cycles */
|
||||
#define CONFIG_SYS_FLASH_ADDR1 0x2AAA /* 2nd address for flash config cycles */
|
||||
/*
|
||||
* The following defines are added for buggy IOP480 byte interface.
|
||||
* All other boards should use the standard values (CPCI405 etc.)
|
||||
*/
|
||||
#define CONFIG_SYS_FLASH_READ0 0x0000 /* 0 is standard */
|
||||
#define CONFIG_SYS_FLASH_READ1 0x0001 /* 1 is standard */
|
||||
#define CONFIG_SYS_FLASH_READ2 0x0002 /* 2 is standard */
|
||||
|
||||
#define CONFIG_SYS_FLASH_EMPTY_INFO /* print 'E' for empty sector on flinfo */
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* Environment Variable setup
|
||||
*/
|
||||
#define CONFIG_ENV_IS_IN_FLASH 1 /* use FLASH for environment vars */
|
||||
#define CONFIG_ENV_ADDR 0xFFFF8000 /* environment starts at the first small sector */
|
||||
#define CONFIG_ENV_SECT_SIZE 0x2000 /* 8196 bytes may be used for env vars*/
|
||||
#define CONFIG_ENV_ADDR_REDUND 0xFFFFA000
|
||||
#define CONFIG_ENV_SIZE_REDUND 0x2000
|
||||
|
||||
#define CONFIG_SYS_USE_PPCENV /* Environment embedded in sect .ppcenv */
|
||||
|
||||
#define CONFIG_SYS_NVRAM_BASE_ADDR 0xF0000500 /* NVRAM base address */
|
||||
#define CONFIG_SYS_NVRAM_SIZE 242 /* NVRAM size */
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* I2C EEPROM (CAT24WC16) for environment
|
||||
*/
|
||||
#define CONFIG_HARD_I2C /* I2c with hardware support */
|
||||
#define CONFIG_PPC4XX_I2C /* use PPC4xx driver */
|
||||
#define CONFIG_SYS_I2C_SPEED 400000 /* I2C speed and slave address */
|
||||
#define CONFIG_SYS_I2C_SLAVE 0x7F
|
||||
|
||||
#define CONFIG_SYS_I2C_EEPROM_ADDR 0x50 /* EEPROM CAT28WC08 */
|
||||
#define CONFIG_SYS_I2C_EEPROM_ADDR_LEN 1 /* Bytes of address */
|
||||
/* mask of address bits that overflow into the "EEPROM chip address" */
|
||||
/*#define CONFIG_SYS_I2C_EEPROM_ADDR_OVERFLOW 0x07*/
|
||||
#define CONFIG_SYS_EEPROM_PAGE_WRITE_BITS 4 /* The Catalyst CAT24WC08 has */
|
||||
/* 16 byte page write mode using*/
|
||||
/* last 4 bits of the address */
|
||||
#define CONFIG_SYS_EEPROM_PAGE_WRITE_DELAY_MS 10 /* and takes up to 10 msec */
|
||||
|
||||
/*
|
||||
* Init Memory Controller:
|
||||
*
|
||||
* BR0/1 and OR0/1 (FLASH)
|
||||
*/
|
||||
|
||||
#define FLASH_BASE0_PRELIM 0xFFC00000 /* FLASH bank #0 */
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* External Bus Controller (EBC) Setup
|
||||
*/
|
||||
|
||||
/* Memory Bank 0 (Flash Bank 0, NOR-FLASH) initialization */
|
||||
#define CONFIG_SYS_EBC_PB0AP 0x92015480
|
||||
#define CONFIG_SYS_EBC_PB0CR 0xFFC5A000 /* BAS=0xFFC,BS=4MB,BU=R/W,BW=16bit */
|
||||
|
||||
/* Memory Bank 1 (External SRAM) initialization */
|
||||
/* Since this must replace NOR Flash, we use the same settings for CS0 */
|
||||
#define CONFIG_SYS_EBC_PB1AP 0x92015480
|
||||
#define CONFIG_SYS_EBC_PB1CR 0xFF85A000 /* BAS=0xFF8,BS=4MB,BU=R/W,BW=8bit */
|
||||
|
||||
/* Memory Bank 2 (Flash Bank 1, NAND-FLASH) initialization */
|
||||
#define CONFIG_SYS_EBC_PB2AP 0x92015480
|
||||
#define CONFIG_SYS_EBC_PB2CR 0xFF458000 /* BAS=0xFF4,BS=4MB,BU=R/W,BW=8bit */
|
||||
|
||||
/* Memory Bank 3 (Flash Bank 2, NAND-FLASH) initialization */
|
||||
#define CONFIG_SYS_EBC_PB3AP 0x92015480
|
||||
#define CONFIG_SYS_EBC_PB3CR 0xFF058000 /* BAS=0xFF0,BS=4MB,BU=R/W,BW=8bit */
|
||||
|
||||
#ifdef CONFIG_PPCHAMELEON_SMI712
|
||||
/*
|
||||
* Video console (graphic: SMI LynxEM)
|
||||
*/
|
||||
#define CONFIG_VIDEO
|
||||
#define CONFIG_CFB_CONSOLE
|
||||
#define CONFIG_VIDEO_SMI_LYNXEM
|
||||
#define CONFIG_VIDEO_LOGO
|
||||
/*#define CONFIG_VIDEO_BMP_LOGO*/
|
||||
#define CONFIG_CONSOLE_EXTRA_INFO
|
||||
#define CONFIG_VGA_AS_SINGLE_DEVICE
|
||||
/* This is the base address (on 405EP-side) used to generate I/O accesses on PCI bus */
|
||||
#define CONFIG_SYS_ISA_IO 0xE8000000
|
||||
/* see also drivers/video/videomodes.c */
|
||||
#define CONFIG_SYS_DEFAULT_VIDEO_MODE 0x303
|
||||
#endif
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* FPGA stuff
|
||||
*/
|
||||
/* FPGA internal regs */
|
||||
#define CONFIG_SYS_FPGA_MODE 0x00
|
||||
#define CONFIG_SYS_FPGA_STATUS 0x02
|
||||
#define CONFIG_SYS_FPGA_TS 0x04
|
||||
#define CONFIG_SYS_FPGA_TS_LOW 0x06
|
||||
#define CONFIG_SYS_FPGA_TS_CAP0 0x10
|
||||
#define CONFIG_SYS_FPGA_TS_CAP0_LOW 0x12
|
||||
#define CONFIG_SYS_FPGA_TS_CAP1 0x14
|
||||
#define CONFIG_SYS_FPGA_TS_CAP1_LOW 0x16
|
||||
#define CONFIG_SYS_FPGA_TS_CAP2 0x18
|
||||
#define CONFIG_SYS_FPGA_TS_CAP2_LOW 0x1a
|
||||
#define CONFIG_SYS_FPGA_TS_CAP3 0x1c
|
||||
#define CONFIG_SYS_FPGA_TS_CAP3_LOW 0x1e
|
||||
|
||||
/* FPGA Mode Reg */
|
||||
#define CONFIG_SYS_FPGA_MODE_CF_RESET 0x0001
|
||||
#define CONFIG_SYS_FPGA_MODE_TS_IRQ_ENABLE 0x0100
|
||||
#define CONFIG_SYS_FPGA_MODE_TS_IRQ_CLEAR 0x1000
|
||||
#define CONFIG_SYS_FPGA_MODE_TS_CLEAR 0x2000
|
||||
|
||||
/* FPGA Status Reg */
|
||||
#define CONFIG_SYS_FPGA_STATUS_DIP0 0x0001
|
||||
#define CONFIG_SYS_FPGA_STATUS_DIP1 0x0002
|
||||
#define CONFIG_SYS_FPGA_STATUS_DIP2 0x0004
|
||||
#define CONFIG_SYS_FPGA_STATUS_FLASH 0x0008
|
||||
#define CONFIG_SYS_FPGA_STATUS_TS_IRQ 0x1000
|
||||
|
||||
#define CONFIG_SYS_FPGA_SPARTAN2 1 /* using Xilinx Spartan 2 now */
|
||||
#define CONFIG_SYS_FPGA_MAX_SIZE 128*1024 /* 128kByte is enough for XC2S50E*/
|
||||
|
||||
/* FPGA program pin configuration */
|
||||
#define CONFIG_SYS_FPGA_PRG 0x04000000 /* FPGA program pin (ppc output) */
|
||||
#define CONFIG_SYS_FPGA_CLK 0x02000000 /* FPGA clk pin (ppc output) */
|
||||
#define CONFIG_SYS_FPGA_DATA 0x01000000 /* FPGA data pin (ppc output) */
|
||||
#define CONFIG_SYS_FPGA_INIT 0x00010000 /* FPGA init pin (ppc input) */
|
||||
#define CONFIG_SYS_FPGA_DONE 0x00008000 /* FPGA done pin (ppc input) */
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* Definitions for initial stack pointer and data area (in data cache)
|
||||
*/
|
||||
/* use on chip memory ( OCM ) for temperary stack until sdram is tested */
|
||||
#define CONFIG_SYS_TEMP_STACK_OCM 1
|
||||
|
||||
/* On Chip Memory location */
|
||||
#define CONFIG_SYS_OCM_DATA_ADDR 0xF8000000
|
||||
#define CONFIG_SYS_OCM_DATA_SIZE 0x1000
|
||||
#define CONFIG_SYS_INIT_RAM_ADDR CONFIG_SYS_OCM_DATA_ADDR /* inside of SDRAM */
|
||||
#define CONFIG_SYS_INIT_RAM_SIZE CONFIG_SYS_OCM_DATA_SIZE /* Size of used area in RAM */
|
||||
|
||||
#define CONFIG_SYS_GBL_DATA_OFFSET (CONFIG_SYS_INIT_RAM_SIZE - GENERATED_GBL_DATA_SIZE)
|
||||
#define CONFIG_SYS_INIT_SP_OFFSET CONFIG_SYS_GBL_DATA_OFFSET
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* Definitions for GPIO setup (PPC405EP specific)
|
||||
*
|
||||
* GPIO0[0] - External Bus Controller BLAST output
|
||||
* GPIO0[1-9] - Instruction trace outputs -> GPIO
|
||||
* GPIO0[10-13] - External Bus Controller CS_1 - CS_4 outputs
|
||||
* GPIO0[14-16] - External Bus Controller ABUS3-ABUS5 outputs -> GPIO
|
||||
* GPIO0[17-23] - External Interrupts IRQ0 - IRQ6 inputs
|
||||
* GPIO0[24-27] - UART0 control signal inputs/outputs
|
||||
* GPIO0[28-29] - UART1 data signal input/output
|
||||
* GPIO0[30] - EMAC0 input
|
||||
* GPIO0[31] - EMAC1 reject packet as output
|
||||
*/
|
||||
#define CONFIG_SYS_GPIO0_OSRL 0x40000550
|
||||
#define CONFIG_SYS_GPIO0_OSRH 0x00000110
|
||||
#define CONFIG_SYS_GPIO0_ISR1L 0x00000000
|
||||
/*#define CONFIG_SYS_GPIO0_ISR1H 0x15555445*/
|
||||
#define CONFIG_SYS_GPIO0_ISR1H 0x15555444
|
||||
#define CONFIG_SYS_GPIO0_TSRL 0x00000000
|
||||
#define CONFIG_SYS_GPIO0_TSRH 0x00000000
|
||||
#define CONFIG_SYS_GPIO0_TCR 0xF7FF8014
|
||||
|
||||
#define CONFIG_NO_SERIAL_EEPROM
|
||||
|
||||
/*--------------------------------------------------------------------*/
|
||||
|
||||
#ifdef CONFIG_NO_SERIAL_EEPROM
|
||||
|
||||
/*
|
||||
!-----------------------------------------------------------------------
|
||||
! Defines for entry options.
|
||||
! Note: Because the 405EP SDRAM controller does not support ECC, ECC DIMMs that
|
||||
! are plugged in the board will be utilized as non-ECC DIMMs.
|
||||
!-----------------------------------------------------------------------
|
||||
*/
|
||||
#undef AUTO_MEMORY_CONFIG
|
||||
#define DIMM_READ_ADDR 0xAB
|
||||
#define DIMM_WRITE_ADDR 0xAA
|
||||
|
||||
/* Defines for CPC0_PLLMR1 Register fields */
|
||||
#define PLL_ACTIVE 0x80000000
|
||||
#define CPC0_PLLMR1_SSCS 0x80000000
|
||||
#define PLL_RESET 0x40000000
|
||||
#define CPC0_PLLMR1_PLLR 0x40000000
|
||||
/* Feedback multiplier */
|
||||
#define PLL_FBKDIV 0x00F00000
|
||||
#define CPC0_PLLMR1_FBDV 0x00F00000
|
||||
#define PLL_FBKDIV_16 0x00000000
|
||||
#define PLL_FBKDIV_1 0x00100000
|
||||
#define PLL_FBKDIV_2 0x00200000
|
||||
#define PLL_FBKDIV_3 0x00300000
|
||||
#define PLL_FBKDIV_4 0x00400000
|
||||
#define PLL_FBKDIV_5 0x00500000
|
||||
#define PLL_FBKDIV_6 0x00600000
|
||||
#define PLL_FBKDIV_7 0x00700000
|
||||
#define PLL_FBKDIV_8 0x00800000
|
||||
#define PLL_FBKDIV_9 0x00900000
|
||||
#define PLL_FBKDIV_10 0x00A00000
|
||||
#define PLL_FBKDIV_11 0x00B00000
|
||||
#define PLL_FBKDIV_12 0x00C00000
|
||||
#define PLL_FBKDIV_13 0x00D00000
|
||||
#define PLL_FBKDIV_14 0x00E00000
|
||||
#define PLL_FBKDIV_15 0x00F00000
|
||||
/* Forward A divisor */
|
||||
#define PLL_FWDDIVA 0x00070000
|
||||
#define CPC0_PLLMR1_FWDVA 0x00070000
|
||||
#define PLL_FWDDIVA_8 0x00000000
|
||||
#define PLL_FWDDIVA_7 0x00010000
|
||||
#define PLL_FWDDIVA_6 0x00020000
|
||||
#define PLL_FWDDIVA_5 0x00030000
|
||||
#define PLL_FWDDIVA_4 0x00040000
|
||||
#define PLL_FWDDIVA_3 0x00050000
|
||||
#define PLL_FWDDIVA_2 0x00060000
|
||||
#define PLL_FWDDIVA_1 0x00070000
|
||||
/* Forward B divisor */
|
||||
#define PLL_FWDDIVB 0x00007000
|
||||
#define CPC0_PLLMR1_FWDVB 0x00007000
|
||||
#define PLL_FWDDIVB_8 0x00000000
|
||||
#define PLL_FWDDIVB_7 0x00001000
|
||||
#define PLL_FWDDIVB_6 0x00002000
|
||||
#define PLL_FWDDIVB_5 0x00003000
|
||||
#define PLL_FWDDIVB_4 0x00004000
|
||||
#define PLL_FWDDIVB_3 0x00005000
|
||||
#define PLL_FWDDIVB_2 0x00006000
|
||||
#define PLL_FWDDIVB_1 0x00007000
|
||||
/* PLL tune bits */
|
||||
#define PLL_TUNE_MASK 0x000003FF
|
||||
#define PLL_TUNE_2_M_3 0x00000133 /* 2 <= M <= 3 */
|
||||
#define PLL_TUNE_4_M_6 0x00000134 /* 3 < M <= 6 */
|
||||
#define PLL_TUNE_7_M_10 0x00000138 /* 6 < M <= 10 */
|
||||
#define PLL_TUNE_11_M_14 0x0000013C /* 10 < M <= 14 */
|
||||
#define PLL_TUNE_15_M_40 0x0000023E /* 14 < M <= 40 */
|
||||
#define PLL_TUNE_VCO_LOW 0x00000000 /* 500MHz <= VCO <= 800MHz */
|
||||
#define PLL_TUNE_VCO_HI 0x00000080 /* 800MHz < VCO <= 1000MHz */
|
||||
|
||||
/* Defines for CPC0_PLLMR0 Register fields */
|
||||
/* CPU divisor */
|
||||
#define PLL_CPUDIV 0x00300000
|
||||
#define CPC0_PLLMR0_CCDV 0x00300000
|
||||
#define PLL_CPUDIV_1 0x00000000
|
||||
#define PLL_CPUDIV_2 0x00100000
|
||||
#define PLL_CPUDIV_3 0x00200000
|
||||
#define PLL_CPUDIV_4 0x00300000
|
||||
/* PLB divisor */
|
||||
#define PLL_PLBDIV 0x00030000
|
||||
#define CPC0_PLLMR0_CBDV 0x00030000
|
||||
#define PLL_PLBDIV_1 0x00000000
|
||||
#define PLL_PLBDIV_2 0x00010000
|
||||
#define PLL_PLBDIV_3 0x00020000
|
||||
#define PLL_PLBDIV_4 0x00030000
|
||||
/* OPB divisor */
|
||||
#define PLL_OPBDIV 0x00003000
|
||||
#define CPC0_PLLMR0_OPDV 0x00003000
|
||||
#define PLL_OPBDIV_1 0x00000000
|
||||
#define PLL_OPBDIV_2 0x00001000
|
||||
#define PLL_OPBDIV_3 0x00002000
|
||||
#define PLL_OPBDIV_4 0x00003000
|
||||
/* EBC divisor */
|
||||
#define PLL_EXTBUSDIV 0x00000300
|
||||
#define CPC0_PLLMR0_EPDV 0x00000300
|
||||
#define PLL_EXTBUSDIV_2 0x00000000
|
||||
#define PLL_EXTBUSDIV_3 0x00000100
|
||||
#define PLL_EXTBUSDIV_4 0x00000200
|
||||
#define PLL_EXTBUSDIV_5 0x00000300
|
||||
/* MAL divisor */
|
||||
#define PLL_MALDIV 0x00000030
|
||||
#define CPC0_PLLMR0_MPDV 0x00000030
|
||||
#define PLL_MALDIV_1 0x00000000
|
||||
#define PLL_MALDIV_2 0x00000010
|
||||
#define PLL_MALDIV_3 0x00000020
|
||||
#define PLL_MALDIV_4 0x00000030
|
||||
/* PCI divisor */
|
||||
#define PLL_PCIDIV 0x00000003
|
||||
#define CPC0_PLLMR0_PPFD 0x00000003
|
||||
#define PLL_PCIDIV_1 0x00000000
|
||||
#define PLL_PCIDIV_2 0x00000001
|
||||
#define PLL_PCIDIV_3 0x00000002
|
||||
#define PLL_PCIDIV_4 0x00000003
|
||||
|
||||
#ifdef CONFIG_PPCHAMELEON_CLK_25
|
||||
/* CPU - PLB/SDRAM - EBC - OPB - PCI (assuming a 25.0 MHz input clock to the 405EP) */
|
||||
#define PPCHAMELEON_PLLMR0_133_133_33_66_33 (PLL_CPUDIV_1 | PLL_PLBDIV_1 | \
|
||||
PLL_OPBDIV_2 | PLL_EXTBUSDIV_4 | \
|
||||
PLL_MALDIV_1 | PLL_PCIDIV_4)
|
||||
#define PPCHAMELEON_PLLMR1_133_133_33_66_33 (PLL_FBKDIV_8 | \
|
||||
PLL_FWDDIVA_6 | PLL_FWDDIVB_4 | \
|
||||
PLL_TUNE_15_M_40 | PLL_TUNE_VCO_LOW)
|
||||
|
||||
#define PPCHAMELEON_PLLMR0_200_100_50_33 (PLL_CPUDIV_1 | PLL_PLBDIV_2 | \
|
||||
PLL_OPBDIV_2 | PLL_EXTBUSDIV_3 | \
|
||||
PLL_MALDIV_1 | PLL_PCIDIV_4)
|
||||
#define PPCHAMELEON_PLLMR1_200_100_50_33 (PLL_FBKDIV_8 | \
|
||||
PLL_FWDDIVA_4 | PLL_FWDDIVB_4 | \
|
||||
PLL_TUNE_15_M_40 | PLL_TUNE_VCO_LOW)
|
||||
|
||||
#define PPCHAMELEON_PLLMR0_266_133_33_66_33 (PLL_CPUDIV_1 | PLL_PLBDIV_2 | \
|
||||
PLL_OPBDIV_2 | PLL_EXTBUSDIV_4 | \
|
||||
PLL_MALDIV_1 | PLL_PCIDIV_4)
|
||||
#define PPCHAMELEON_PLLMR1_266_133_33_66_33 (PLL_FBKDIV_8 | \
|
||||
PLL_FWDDIVA_3 | PLL_FWDDIVB_4 | \
|
||||
PLL_TUNE_15_M_40 | PLL_TUNE_VCO_LOW)
|
||||
|
||||
#define PPCHAMELEON_PLLMR0_333_111_37_55_55 (PLL_CPUDIV_1 | PLL_PLBDIV_3 | \
|
||||
PLL_OPBDIV_2 | PLL_EXTBUSDIV_3 | \
|
||||
PLL_MALDIV_1 | PLL_PCIDIV_2)
|
||||
#define PPCHAMELEON_PLLMR1_333_111_37_55_55 (PLL_FBKDIV_10 | \
|
||||
PLL_FWDDIVA_3 | PLL_FWDDIVB_4 | \
|
||||
PLL_TUNE_15_M_40 | PLL_TUNE_VCO_HI)
|
||||
|
||||
#elif (defined (CONFIG_PPCHAMELEON_CLK_33))
|
||||
|
||||
/* CPU - PLB/SDRAM - EBC - OPB - PCI (assuming a 33.3MHz input clock to the 405EP) */
|
||||
#define PPCHAMELEON_PLLMR0_133_133_33_66_33 (PLL_CPUDIV_1 | PLL_PLBDIV_1 | \
|
||||
PLL_OPBDIV_2 | PLL_EXTBUSDIV_4 | \
|
||||
PLL_MALDIV_1 | PLL_PCIDIV_4)
|
||||
#define PPCHAMELEON_PLLMR1_133_133_33_66_33 (PLL_FBKDIV_4 | \
|
||||
PLL_FWDDIVA_6 | PLL_FWDDIVB_6 | \
|
||||
PLL_TUNE_15_M_40 | PLL_TUNE_VCO_LOW)
|
||||
|
||||
#define PPCHAMELEON_PLLMR0_200_100_50_33 (PLL_CPUDIV_1 | PLL_PLBDIV_2 | \
|
||||
PLL_OPBDIV_2 | PLL_EXTBUSDIV_3 | \
|
||||
PLL_MALDIV_1 | PLL_PCIDIV_4)
|
||||
#define PPCHAMELEON_PLLMR1_200_100_50_33 (PLL_FBKDIV_6 | \
|
||||
PLL_FWDDIVA_4 | PLL_FWDDIVB_4 | \
|
||||
PLL_TUNE_15_M_40 | PLL_TUNE_VCO_LOW)
|
||||
|
||||
#define PPCHAMELEON_PLLMR0_266_133_33_66_33 (PLL_CPUDIV_1 | PLL_PLBDIV_2 | \
|
||||
PLL_OPBDIV_2 | PLL_EXTBUSDIV_4 | \
|
||||
PLL_MALDIV_1 | PLL_PCIDIV_4)
|
||||
#define PPCHAMELEON_PLLMR1_266_133_33_66_33 (PLL_FBKDIV_8 | \
|
||||
PLL_FWDDIVA_3 | PLL_FWDDIVB_3 | \
|
||||
PLL_TUNE_15_M_40 | PLL_TUNE_VCO_LOW)
|
||||
|
||||
#define PPCHAMELEON_PLLMR0_333_111_37_55_55 (PLL_CPUDIV_1 | PLL_PLBDIV_3 | \
|
||||
PLL_OPBDIV_2 | PLL_EXTBUSDIV_3 | \
|
||||
PLL_MALDIV_1 | PLL_PCIDIV_2)
|
||||
#define PPCHAMELEON_PLLMR1_333_111_37_55_55 (PLL_FBKDIV_10 | \
|
||||
PLL_FWDDIVA_3 | PLL_FWDDIVB_3 | \
|
||||
PLL_TUNE_15_M_40 | PLL_TUNE_VCO_HI)
|
||||
|
||||
#else
|
||||
#error "* External frequency (SysClk) not defined! *"
|
||||
#endif
|
||||
|
||||
#if (CONFIG_PPCHAMELEON_MODULE_MODEL == CONFIG_PPCHAMELEON_MODULE_HI)
|
||||
/* Model HI */
|
||||
#define PLLMR0_DEFAULT PPCHAMELEON_PLLMR0_333_111_37_55_55
|
||||
#define PLLMR1_DEFAULT PPCHAMELEON_PLLMR1_333_111_37_55_55
|
||||
#define CONFIG_SYS_OPB_FREQ 55555555
|
||||
/* Model ME */
|
||||
#elif (CONFIG_PPCHAMELEON_MODULE_MODEL == CONFIG_PPCHAMELEON_MODULE_ME)
|
||||
#define PLLMR0_DEFAULT PPCHAMELEON_PLLMR0_266_133_33_66_33
|
||||
#define PLLMR1_DEFAULT PPCHAMELEON_PLLMR1_266_133_33_66_33
|
||||
#define CONFIG_SYS_OPB_FREQ 66666666
|
||||
#else
|
||||
/* Model BA (default) */
|
||||
#define PLLMR0_DEFAULT PPCHAMELEON_PLLMR0_133_133_33_66_33
|
||||
#define PLLMR1_DEFAULT PPCHAMELEON_PLLMR1_133_133_33_66_33
|
||||
#define CONFIG_SYS_OPB_FREQ 66666666
|
||||
#endif
|
||||
|
||||
#endif /* CONFIG_NO_SERIAL_EEPROM */
|
||||
|
||||
#define CONFIG_JFFS2_NAND 1 /* jffs2 on nand support */
|
||||
#define NAND_CACHE_PAGES 16 /* size of nand cache in 512 bytes pages */
|
||||
|
||||
/*
|
||||
* JFFS2 partitions
|
||||
*
|
||||
*/
|
||||
/* No command line, one static partition */
|
||||
#undef CONFIG_CMD_MTDPARTS
|
||||
#define CONFIG_JFFS2_DEV "nand"
|
||||
#define CONFIG_JFFS2_PART_SIZE 0x00200000
|
||||
#define CONFIG_JFFS2_PART_OFFSET 0x00000000
|
||||
|
||||
/* mtdparts command line support
|
||||
*
|
||||
* Note: fake mtd_id used, no linux mtd map file
|
||||
*/
|
||||
/*
|
||||
#define CONFIG_CMD_MTDPARTS
|
||||
#define MTDIDS_DEFAULT "nand0=catcenter"
|
||||
#define MTDPARTS_DEFAULT "mtdparts=catcenter:2m(nand)"
|
||||
*/
|
||||
|
||||
#endif /* __CONFIG_H */
|
||||
|
|
@ -0,0 +1,324 @@
|
|||
/*
|
||||
* (C) Copyright 2005
|
||||
* Matthias Fuchs, esd gmbh germany, matthias.fuchs@esd-electronics.com
|
||||
*
|
||||
* See file CREDITS for list of people who contributed to this
|
||||
* project.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of
|
||||
* the License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston,
|
||||
* MA 02111-1307 USA
|
||||
*/
|
||||
|
||||
/*
|
||||
* CMS700.h - configuration options, board specific
|
||||
*/
|
||||
|
||||
#ifndef __CONFIG_H
|
||||
#define __CONFIG_H
|
||||
|
||||
/*
|
||||
* High Level Configuration Options
|
||||
* (easy to change)
|
||||
*/
|
||||
|
||||
#define CONFIG_405EP 1 /* This is a PPC405 CPU */
|
||||
#define CONFIG_4xx 1 /* ...member of PPC4xx family */
|
||||
#define CONFIG_VOM405 1 /* ...on a VOM405 board */
|
||||
|
||||
#define CONFIG_SYS_TEXT_BASE 0xFFFC8000
|
||||
|
||||
#define CONFIG_BOARD_EARLY_INIT_F 1 /* call board_early_init_f() */
|
||||
#define CONFIG_MISC_INIT_R 1 /* call misc_init_r() */
|
||||
|
||||
#define CONFIG_SYS_CLK_FREQ 33330000 /* external frequency to pll */
|
||||
|
||||
#define CONFIG_BAUDRATE 9600
|
||||
#define CONFIG_BOOTDELAY 3 /* autoboot after 3 seconds */
|
||||
|
||||
#undef CONFIG_BOOTARGS
|
||||
#undef CONFIG_BOOTCOMMAND
|
||||
|
||||
#define CONFIG_PREBOOT /* enable preboot variable */
|
||||
|
||||
#define CONFIG_SYS_LOADS_BAUD_CHANGE 1 /* allow baudrate change */
|
||||
|
||||
#define CONFIG_PPC4xx_EMAC
|
||||
#undef CONFIG_HAS_ETH1
|
||||
|
||||
#define CONFIG_MII 1 /* MII PHY management */
|
||||
#define CONFIG_PHY_ADDR 0 /* PHY address */
|
||||
#define CONFIG_LXT971_NO_SLEEP 1 /* disable sleep mode in LXT971 */
|
||||
#define CONFIG_RESET_PHY_R 1 /* use reset_phy() to disable phy sleep mode */
|
||||
|
||||
/*
|
||||
* BOOTP options
|
||||
*/
|
||||
#define CONFIG_BOOTP_SUBNETMASK
|
||||
#define CONFIG_BOOTP_GATEWAY
|
||||
#define CONFIG_BOOTP_HOSTNAME
|
||||
#define CONFIG_BOOTP_BOOTPATH
|
||||
#define CONFIG_BOOTP_DNS
|
||||
#define CONFIG_BOOTP_DNS2
|
||||
#define CONFIG_BOOTP_SEND_HOSTNAME
|
||||
|
||||
|
||||
/*
|
||||
* Command line configuration.
|
||||
*/
|
||||
#include <config_cmd_default.h>
|
||||
|
||||
#define CONFIG_CMD_DHCP
|
||||
#define CONFIG_CMD_BSP
|
||||
#define CONFIG_CMD_ELF
|
||||
#define CONFIG_CMD_NAND
|
||||
#define CONFIG_CMD_I2C
|
||||
#define CONFIG_CMD_DATE
|
||||
#define CONFIG_CMD_MII
|
||||
#define CONFIG_CMD_PING
|
||||
#define CONFIG_CMD_EEPROM
|
||||
|
||||
|
||||
#undef CONFIG_WATCHDOG /* watchdog disabled */
|
||||
|
||||
#define CONFIG_SDRAM_BANK0 1 /* init onboard SDRAM bank 0 */
|
||||
|
||||
#undef CONFIG_PRAM /* no "protected RAM" */
|
||||
|
||||
/*
|
||||
* Miscellaneous configurable options
|
||||
*/
|
||||
#define CONFIG_SYS_LONGHELP /* undef to save memory */
|
||||
#define CONFIG_SYS_PROMPT "=> " /* Monitor Command Prompt */
|
||||
|
||||
#undef CONFIG_SYS_HUSH_PARSER /* use "hush" command parser */
|
||||
|
||||
#if defined(CONFIG_CMD_KGDB)
|
||||
#define CONFIG_SYS_CBSIZE 1024 /* Console I/O Buffer Size */
|
||||
#else
|
||||
#define CONFIG_SYS_CBSIZE 256 /* Console I/O Buffer Size */
|
||||
#endif
|
||||
#define CONFIG_SYS_PBSIZE (CONFIG_SYS_CBSIZE+sizeof(CONFIG_SYS_PROMPT)+16) /* Print Buffer Size */
|
||||
#define CONFIG_SYS_MAXARGS 16 /* max number of command args */
|
||||
#define CONFIG_SYS_BARGSIZE CONFIG_SYS_CBSIZE /* Boot Argument Buffer Size */
|
||||
|
||||
#define CONFIG_SYS_DEVICE_NULLDEV 1 /* include nulldev device */
|
||||
|
||||
#define CONFIG_SYS_CONSOLE_INFO_QUIET 1 /* don't print console @ startup*/
|
||||
|
||||
#define CONFIG_SYS_MEMTEST_START 0x0400000 /* memtest works on */
|
||||
#define CONFIG_SYS_MEMTEST_END 0x0C00000 /* 4 ... 12 MB in DRAM */
|
||||
|
||||
#define CONFIG_CONS_INDEX 2 /* Use UART1 */
|
||||
#define CONFIG_SYS_NS16550
|
||||
#define CONFIG_SYS_NS16550_SERIAL
|
||||
#define CONFIG_SYS_NS16550_REG_SIZE 1
|
||||
#define CONFIG_SYS_NS16550_CLK get_serial_clock()
|
||||
|
||||
#undef CONFIG_SYS_EXT_SERIAL_CLOCK /* no external serial clock used */
|
||||
#define CONFIG_SYS_BASE_BAUD 691200
|
||||
|
||||
/* The following table includes the supported baudrates */
|
||||
#define CONFIG_SYS_BAUDRATE_TABLE \
|
||||
{ 300, 600, 1200, 2400, 4800, 9600, 19200, 38400, \
|
||||
57600, 115200, 230400, 460800, 921600 }
|
||||
|
||||
#define CONFIG_SYS_LOAD_ADDR 0x100000 /* default load address */
|
||||
#define CONFIG_SYS_EXTBDINFO 1 /* To use extended board_into (bd_t) */
|
||||
|
||||
#define CONFIG_SYS_HZ 1000 /* decrementer freq: 1 ms ticks */
|
||||
|
||||
#define CONFIG_ZERO_BOOTDELAY_CHECK /* check for keypress on bootdelay==0 */
|
||||
|
||||
#define CONFIG_VERSION_VARIABLE 1 /* include version env variable */
|
||||
|
||||
#define CONFIG_SYS_RX_ETH_BUFFER 16 /* use 16 rx buffer on 405 emac */
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* RTC stuff
|
||||
*-----------------------------------------------------------------------
|
||||
*/
|
||||
#define CONFIG_RTC_DS1337
|
||||
#define CONFIG_SYS_I2C_RTC_ADDR 0x68
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* NAND-FLASH stuff
|
||||
*-----------------------------------------------------------------------
|
||||
*/
|
||||
#define CONFIG_SYS_NAND_BASE_LIST { CONFIG_SYS_NAND_BASE }
|
||||
#define CONFIG_SYS_MAX_NAND_DEVICE 1 /* Max number of NAND devices */
|
||||
#define NAND_BIG_DELAY_US 25
|
||||
|
||||
#define CONFIG_SYS_NAND_CE (0x80000000 >> 1) /* our CE is GPIO1 */
|
||||
#define CONFIG_SYS_NAND_RDY (0x80000000 >> 4) /* our RDY is GPIO4 */
|
||||
#define CONFIG_SYS_NAND_CLE (0x80000000 >> 2) /* our CLE is GPIO2 */
|
||||
#define CONFIG_SYS_NAND_ALE (0x80000000 >> 3) /* our ALE is GPIO3 */
|
||||
|
||||
#define CONFIG_SYS_NAND_SKIP_BAD_DOT_I 1 /* ".i" read skips bad blocks */
|
||||
#define CONFIG_SYS_NAND_QUIET 1
|
||||
|
||||
/*
|
||||
* For booting Linux, the board info and command line data
|
||||
* have to be in the first 8 MB of memory, since this is
|
||||
* the maximum mapped by the Linux kernel during initialization.
|
||||
*/
|
||||
#define CONFIG_SYS_BOOTMAPSZ (8 << 20) /* Initial Memory map for Linux */
|
||||
/*-----------------------------------------------------------------------
|
||||
* FLASH organization
|
||||
*/
|
||||
#define FLASH_BASE0_PRELIM 0xFFC00000 /* FLASH bank #0 */
|
||||
|
||||
#define CONFIG_SYS_MAX_FLASH_BANKS 1 /* max number of memory banks */
|
||||
#define CONFIG_SYS_MAX_FLASH_SECT 256 /* max number of sectors on one chip */
|
||||
|
||||
#define CONFIG_SYS_FLASH_ERASE_TOUT 120000 /* Timeout for Flash Erase (in ms) */
|
||||
#define CONFIG_SYS_FLASH_WRITE_TOUT 1000 /* Timeout for Flash Write (in ms) */
|
||||
|
||||
#define CONFIG_SYS_FLASH_WORD_SIZE unsigned short /* flash word size (width) */
|
||||
#define CONFIG_SYS_FLASH_ADDR0 0x5555 /* 1st address for flash config cycles */
|
||||
#define CONFIG_SYS_FLASH_ADDR1 0x2AAA /* 2nd address for flash config cycles */
|
||||
/*
|
||||
* The following defines are added for buggy IOP480 byte interface.
|
||||
* All other boards should use the standard values (CPCI405 etc.)
|
||||
*/
|
||||
#define CONFIG_SYS_FLASH_READ0 0x0000 /* 0 is standard */
|
||||
#define CONFIG_SYS_FLASH_READ1 0x0001 /* 1 is standard */
|
||||
#define CONFIG_SYS_FLASH_READ2 0x0002 /* 2 is standard */
|
||||
|
||||
#define CONFIG_SYS_FLASH_EMPTY_INFO /* print 'E' for empty sector on flinfo */
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* Start addresses for the final memory configuration
|
||||
* (Set up by the startup code)
|
||||
* Please note that CONFIG_SYS_SDRAM_BASE _must_ start at 0
|
||||
*/
|
||||
#define CONFIG_SYS_SDRAM_BASE 0x00000000
|
||||
#define CONFIG_SYS_FLASH_BASE CONFIG_SYS_MONITOR_BASE
|
||||
#define CONFIG_SYS_MONITOR_BASE CONFIG_SYS_TEXT_BASE
|
||||
#define CONFIG_SYS_MONITOR_LEN (~(CONFIG_SYS_TEXT_BASE) + 1)
|
||||
#define CONFIG_SYS_MALLOC_LEN (256 * 1024)
|
||||
|
||||
#if (CONFIG_SYS_MONITOR_BASE < FLASH_BASE0_PRELIM)
|
||||
# define CONFIG_SYS_RAMBOOT 1
|
||||
#else
|
||||
# undef CONFIG_SYS_RAMBOOT
|
||||
#endif
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* Environment Variable setup
|
||||
*/
|
||||
#define CONFIG_ENV_IS_IN_EEPROM 1 /* use EEPROM for environment vars */
|
||||
#define CONFIG_ENV_OFFSET 0x100 /* environment starts at the beginning of the EEPROM */
|
||||
#define CONFIG_ENV_SIZE 0x700 /* 2048 bytes may be used for env vars*/
|
||||
/* total size of a CAT24WC16 is 2048 bytes */
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* I2C EEPROM (CAT24WC16) for environment
|
||||
*/
|
||||
#define CONFIG_HARD_I2C /* I2c with hardware support */
|
||||
#define CONFIG_PPC4XX_I2C /* use PPC4xx driver */
|
||||
#define CONFIG_SYS_I2C_SPEED 100000 /* I2C speed and slave address */
|
||||
#define CONFIG_SYS_I2C_SLAVE 0x7F
|
||||
|
||||
#define CONFIG_SYS_I2C_EEPROM_ADDR 0x50 /* EEPROM CAT28WC08 */
|
||||
#define CONFIG_SYS_I2C_EEPROM_ADDR_LEN 1 /* Bytes of address */
|
||||
/* mask of address bits that overflow into the "EEPROM chip address" */
|
||||
#define CONFIG_SYS_I2C_EEPROM_ADDR_OVERFLOW 0x07
|
||||
#define CONFIG_SYS_EEPROM_PAGE_WRITE_BITS 4 /* The Catalyst CAT24WC08 has */
|
||||
/* 16 byte page write mode using*/
|
||||
/* last 4 bits of the address */
|
||||
#define CONFIG_SYS_EEPROM_PAGE_WRITE_DELAY_MS 10 /* and takes up to 10 msec */
|
||||
|
||||
#define CONFIG_SYS_EEPROM_WREN 1
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* External Bus Controller (EBC) Setup
|
||||
*/
|
||||
#define CONFIG_SYS_PLD_BASE 0xf0000000
|
||||
#define CONFIG_SYS_NAND_BASE 0xF4000000 /* NAND FLASH Base Address */
|
||||
|
||||
/* Memory Bank 0 (Flash Bank 0, NOR-FLASH) initialization */
|
||||
#define CONFIG_SYS_EBC_PB0AP 0x92015480
|
||||
#define CONFIG_SYS_EBC_PB0CR 0xFFC5A000 /* BAS=0xFFC,BS=4MB,BU=R/W,BW=16bit */
|
||||
|
||||
/* Memory Bank 1 (Flash Bank 1, NAND-FLASH) initialization */
|
||||
#define CONFIG_SYS_EBC_PB1AP 0x92015480
|
||||
#define CONFIG_SYS_EBC_PB1CR 0xF4018000 /* BAS=0xF40,BS=1MB,BU=R/W,BW=8bit */
|
||||
|
||||
/* Memory Bank 2 (8 Bit Peripheral: CAN, UART, RTC) initialization */
|
||||
#define CONFIG_SYS_EBC_PB2AP 0x010053C0 /* BWT=2,WBN=1,WBF=1,TH=1,RE=1,SOR=1,BEM=1 */
|
||||
#define CONFIG_SYS_EBC_PB2CR 0xF0018000 /* BAS=0xF00,BS=1MB,BU=R/W,BW=8bit */
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* FPGA stuff
|
||||
*/
|
||||
#define CONFIG_SYS_XSVF_DEFAULT_ADDR 0xfffc0000
|
||||
|
||||
/* FPGA program pin configuration */
|
||||
#define CONFIG_SYS_FPGA_PRG 0x04000000 /* JTAG TMS pin (ppc output) */
|
||||
#define CONFIG_SYS_FPGA_CLK 0x02000000 /* JTAG TCK pin (ppc output) */
|
||||
#define CONFIG_SYS_FPGA_DATA 0x01000000 /* JTAG TDO->TDI data pin (ppc output) */
|
||||
#define CONFIG_SYS_FPGA_INIT 0x00010000 /* unused (ppc input) */
|
||||
#define CONFIG_SYS_FPGA_DONE 0x00008000 /* JTAG TDI->TDO pin (ppc input) */
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* Definitions for initial stack pointer and data area (in data cache)
|
||||
*/
|
||||
/* use on chip memory ( OCM ) for temperary stack until sdram is tested */
|
||||
#define CONFIG_SYS_TEMP_STACK_OCM 1
|
||||
|
||||
/* On Chip Memory location */
|
||||
#define CONFIG_SYS_OCM_DATA_ADDR 0xF8000000
|
||||
#define CONFIG_SYS_OCM_DATA_SIZE 0x1000
|
||||
#define CONFIG_SYS_INIT_RAM_ADDR CONFIG_SYS_OCM_DATA_ADDR /* inside of SDRAM */
|
||||
#define CONFIG_SYS_INIT_RAM_SIZE CONFIG_SYS_OCM_DATA_SIZE /* Size of used area in RAM */
|
||||
|
||||
#define CONFIG_SYS_GBL_DATA_OFFSET (CONFIG_SYS_INIT_RAM_SIZE - GENERATED_GBL_DATA_SIZE)
|
||||
#define CONFIG_SYS_INIT_SP_OFFSET CONFIG_SYS_GBL_DATA_OFFSET
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* Definitions for GPIO setup (PPC405EP specific)
|
||||
*
|
||||
* GPIO0[0] - External Bus Controller BLAST output
|
||||
* GPIO0[1-9] - Instruction trace outputs -> GPIO
|
||||
* GPIO0[10-13] - External Bus Controller CS_1 - CS_4 outputs
|
||||
* GPIO0[14-16] - External Bus Controller ABUS3-ABUS5 outputs -> GPIO
|
||||
* GPIO0[17-23] - External Interrupts IRQ0 - IRQ6 inputs
|
||||
* GPIO0[24-27] - UART0 control signal inputs/outputs
|
||||
* GPIO0[28-29] - UART1 data signal input/output
|
||||
* GPIO0[30-31] - EMAC0 and EMAC1 reject packet inputs
|
||||
*/
|
||||
/* GPIO Input: OSR=00, ISR=00, TSR=00, TCR=0 */
|
||||
/* GPIO Output: OSR=00, ISR=00, TSR=00, TCR=1 */
|
||||
/* Alt. Funtion Input: OSR=00, ISR=01, TSR=00, TCR=0 */
|
||||
/* Alt. Funtion Output: OSR=01, ISR=00, TSR=00, TCR=1 */
|
||||
#define CONFIG_SYS_GPIO0_OSRL 0x40000500 /* 0 ... 15 */
|
||||
#define CONFIG_SYS_GPIO0_OSRH 0x00000110 /* 16 ... 31 */
|
||||
#define CONFIG_SYS_GPIO0_ISR1L 0x00000000 /* 0 ... 15 */
|
||||
#define CONFIG_SYS_GPIO0_ISR1H 0x14000045 /* 16 ... 31 */
|
||||
#define CONFIG_SYS_GPIO0_TSRL 0x00000000 /* 0 ... 15 */
|
||||
#define CONFIG_SYS_GPIO0_TSRH 0x00000000 /* 16 ... 31 */
|
||||
#define CONFIG_SYS_GPIO0_TCR 0xF7FE0014 /* 0 ... 31 */
|
||||
|
||||
#define CONFIG_SYS_EEPROM_WP (0x80000000 >> 8) /* GPIO8 */
|
||||
#define CONFIG_SYS_PLD_RESET (0x80000000 >> 12) /* GPIO12 */
|
||||
|
||||
/*
|
||||
* Default speed selection (cpu_plb_opb_ebc) in mhz.
|
||||
* This value will be set if iic boot eprom is disabled.
|
||||
*/
|
||||
#define PLLMR0_DEFAULT PLLMR0_133_66_66_33
|
||||
#define PLLMR1_DEFAULT PLLMR1_133_66_66_33
|
||||
|
||||
#endif /* __CONFIG_H */
|
||||
|
|
@ -0,0 +1,506 @@
|
|||
/*
|
||||
* (C) Copyright 2001-2005
|
||||
* Wolfgang Denk, DENX Software Engineering, wd@denx.de.
|
||||
*
|
||||
* See file CREDITS for list of people who contributed to this
|
||||
* project.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of
|
||||
* the License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston,
|
||||
* MA 02111-1307 USA
|
||||
*/
|
||||
|
||||
/*
|
||||
*
|
||||
* Configuration settings for the CPC45 board.
|
||||
*
|
||||
*/
|
||||
|
||||
/* ------------------------------------------------------------------------- */
|
||||
|
||||
/*
|
||||
* board/config.h - configuration options, board specific
|
||||
*/
|
||||
|
||||
#ifndef __CONFIG_H
|
||||
#define __CONFIG_H
|
||||
|
||||
/*
|
||||
* High Level Configuration Options
|
||||
* (easy to change)
|
||||
*/
|
||||
|
||||
#define CONFIG_MPC824X 1
|
||||
#define CONFIG_MPC8245 1
|
||||
#define CONFIG_CPC45 1
|
||||
|
||||
#define CONFIG_SYS_TEXT_BASE 0xFFF00000
|
||||
|
||||
#define CONFIG_CONS_INDEX 1
|
||||
#define CONFIG_BAUDRATE 9600
|
||||
|
||||
#define CONFIG_PREBOOT "echo;echo Type \\\"run flash_nfs\\\" to mount root filesystem over NFS;echo"
|
||||
|
||||
#define CONFIG_BOOTDELAY 5
|
||||
|
||||
/*
|
||||
* BOOTP options
|
||||
*/
|
||||
#define CONFIG_BOOTP_SUBNETMASK
|
||||
#define CONFIG_BOOTP_GATEWAY
|
||||
#define CONFIG_BOOTP_HOSTNAME
|
||||
#define CONFIG_BOOTP_BOOTPATH
|
||||
|
||||
#define CONFIG_BOOTP_BOOTFILESIZE
|
||||
|
||||
|
||||
/*
|
||||
* Command line configuration.
|
||||
*/
|
||||
#include <config_cmd_default.h>
|
||||
|
||||
#define CONFIG_CMD_BEDBUG
|
||||
#define CONFIG_CMD_DATE
|
||||
#define CONFIG_CMD_DHCP
|
||||
#define CONFIG_CMD_EEPROM
|
||||
#define CONFIG_CMD_EXT2
|
||||
#define CONFIG_CMD_FAT
|
||||
#define CONFIG_CMD_FLASH
|
||||
#define CONFIG_CMD_I2C
|
||||
#define CONFIG_CMD_IDE
|
||||
#define CONFIG_CMD_NFS
|
||||
#define CONFIG_CMD_PCI
|
||||
#define CONFIG_CMD_PING
|
||||
#define CONFIG_CMD_SDRAM
|
||||
#define CONFIG_CMD_SNTP
|
||||
|
||||
|
||||
/*
|
||||
* Miscellaneous configurable options
|
||||
*/
|
||||
#define CONFIG_SYS_LONGHELP /* undef to save memory */
|
||||
#define CONFIG_SYS_PROMPT "=> " /* Monitor Command Prompt */
|
||||
#define CONFIG_SYS_CBSIZE 256 /* Console I/O Buffer Size */
|
||||
|
||||
#if 1
|
||||
#define CONFIG_SYS_HUSH_PARSER 1 /* use "hush" command parser */
|
||||
#endif
|
||||
|
||||
/* Print Buffer Size
|
||||
*/
|
||||
#define CONFIG_SYS_PBSIZE (CONFIG_SYS_CBSIZE + sizeof(CONFIG_SYS_PROMPT) + 16)
|
||||
|
||||
#define CONFIG_SYS_MAXARGS 16 /* max number of command args */
|
||||
#define CONFIG_SYS_BARGSIZE CONFIG_SYS_CBSIZE /* Boot Argument Buffer Size */
|
||||
#define CONFIG_SYS_LOAD_ADDR 0x00100000 /* Default load address */
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* Start addresses for the final memory configuration
|
||||
* (Set up by the startup code)
|
||||
* Please note that CONFIG_SYS_SDRAM_BASE _must_ start at 0
|
||||
*/
|
||||
|
||||
#define CONFIG_SYS_SDRAM_BASE 0x00000000
|
||||
|
||||
#if defined(CONFIG_BOOT_ROM)
|
||||
#define CONFIG_SYS_FLASH_BASE 0xFF000000
|
||||
#else
|
||||
#define CONFIG_SYS_FLASH_BASE 0xFF800000
|
||||
#endif
|
||||
|
||||
#define CONFIG_SYS_RESET_ADDRESS 0xFFF00100
|
||||
|
||||
#define CONFIG_SYS_EUMB_ADDR 0xFCE00000
|
||||
|
||||
#define CONFIG_SYS_MONITOR_BASE CONFIG_SYS_TEXT_BASE
|
||||
|
||||
#define CONFIG_SYS_MONITOR_LEN (256 << 10) /* Reserve 256 kB for Monitor */
|
||||
#define CONFIG_SYS_MALLOC_LEN (128 << 10) /* Reserve 128 kB for malloc() */
|
||||
|
||||
#define CONFIG_SYS_MEMTEST_START 0x00004000 /* memtest works on */
|
||||
#define CONFIG_SYS_MEMTEST_END 0x02000000 /* 0 ... 32 MB in DRAM */
|
||||
|
||||
/* Maximum amount of RAM.
|
||||
*/
|
||||
#define CONFIG_SYS_MAX_RAM_SIZE 0x10000000
|
||||
|
||||
|
||||
#if CONFIG_SYS_MONITOR_BASE >= CONFIG_SYS_FLASH_BASE
|
||||
#undef CONFIG_SYS_RAMBOOT
|
||||
#else
|
||||
#define CONFIG_SYS_RAMBOOT
|
||||
#endif
|
||||
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* Definitions for initial stack pointer and data area
|
||||
*/
|
||||
|
||||
#define CONFIG_SYS_INIT_RAM_ADDR 0x40000000
|
||||
#define CONFIG_SYS_INIT_RAM_SIZE 0x1000
|
||||
#define CONFIG_SYS_GBL_DATA_OFFSET (CONFIG_SYS_INIT_RAM_SIZE - GENERATED_GBL_DATA_SIZE)
|
||||
|
||||
/*
|
||||
* NS16550 Configuration
|
||||
*/
|
||||
#define CONFIG_SYS_NS16550
|
||||
#define CONFIG_SYS_NS16550_SERIAL
|
||||
|
||||
#define CONFIG_SYS_NS16550_REG_SIZE 1
|
||||
|
||||
#define CONFIG_SYS_NS16550_CLK get_bus_freq(0)
|
||||
|
||||
#define CONFIG_SYS_NS16550_COM1 (CONFIG_SYS_EUMB_ADDR + 0x4500)
|
||||
#define CONFIG_SYS_NS16550_COM2 (CONFIG_SYS_EUMB_ADDR + 0x4600)
|
||||
#define DUART_DCR (CONFIG_SYS_EUMB_ADDR + 0x4511)
|
||||
|
||||
/*
|
||||
* I2C configuration
|
||||
*/
|
||||
#define CONFIG_HARD_I2C 1 /* I2C with hardware support */
|
||||
|
||||
#define CONFIG_SYS_I2C_SPEED 100000 /* 100 kHz */
|
||||
#define CONFIG_SYS_I2C_SLAVE 0x7F
|
||||
|
||||
/*
|
||||
* RTC configuration
|
||||
*/
|
||||
#define CONFIG_RTC_PCF8563
|
||||
#define CONFIG_SYS_I2C_RTC_ADDR 0x51
|
||||
|
||||
/*
|
||||
* EEPROM configuration
|
||||
*/
|
||||
#define CONFIG_SYS_I2C_EEPROM_ADDR 0x58
|
||||
#define CONFIG_SYS_I2C_EEPROM_ADDR_LEN 1
|
||||
#define CONFIG_SYS_EEPROM_PAGE_WRITE_BITS 4
|
||||
#define CONFIG_SYS_EEPROM_PAGE_WRITE_DELAY_MS 10
|
||||
#define CONFIG_SYS_I2C_EEPROM_ADDR_OVERFLOW 0x07
|
||||
|
||||
/*
|
||||
* Low Level Configuration Settings
|
||||
* (address mappings, register initial values, etc.)
|
||||
* You should know what you are doing if you make changes here.
|
||||
* For the detail description refer to the MPC8240 user's manual.
|
||||
*/
|
||||
|
||||
#define CONFIG_SYS_CLK_FREQ 33000000
|
||||
#define CONFIG_SYS_HZ 1000
|
||||
|
||||
|
||||
/* Bit-field values for MCCR1.
|
||||
*/
|
||||
#define CONFIG_SYS_ROMNAL 0
|
||||
#define CONFIG_SYS_ROMFAL 8
|
||||
|
||||
#define CONFIG_SYS_BANK0_ROW 0 /* SDRAM bank 7-0 row address */
|
||||
#define CONFIG_SYS_BANK1_ROW 0
|
||||
#define CONFIG_SYS_BANK2_ROW 0
|
||||
#define CONFIG_SYS_BANK3_ROW 0
|
||||
#define CONFIG_SYS_BANK4_ROW 0
|
||||
#define CONFIG_SYS_BANK5_ROW 0
|
||||
#define CONFIG_SYS_BANK6_ROW 0
|
||||
#define CONFIG_SYS_BANK7_ROW 0
|
||||
|
||||
/* Bit-field values for MCCR2.
|
||||
*/
|
||||
|
||||
#define CONFIG_SYS_REFINT 0x2ec
|
||||
|
||||
/* Burst To Precharge. Bits of this value go to MCCR3 and MCCR4.
|
||||
*/
|
||||
#define CONFIG_SYS_BSTOPRE 160
|
||||
|
||||
/* Bit-field values for MCCR3.
|
||||
*/
|
||||
#define CONFIG_SYS_REFREC 2 /* Refresh to activate interval */
|
||||
#define CONFIG_SYS_RDLAT 0 /* Data latancy from read command */
|
||||
|
||||
/* Bit-field values for MCCR4.
|
||||
*/
|
||||
#define CONFIG_SYS_PRETOACT 2 /* Precharge to activate interval */
|
||||
#define CONFIG_SYS_ACTTOPRE 5 /* Activate to Precharge interval */
|
||||
#define CONFIG_SYS_SDMODE_CAS_LAT 2 /* SDMODE CAS latancy */
|
||||
#define CONFIG_SYS_SDMODE_WRAP 0 /* SDMODE wrap type */
|
||||
#define CONFIG_SYS_SDMODE_BURSTLEN 2 /* SDMODE Burst length */
|
||||
#define CONFIG_SYS_ACTORW 2
|
||||
#define CONFIG_SYS_REGISTERD_TYPE_BUFFER 1
|
||||
#define CONFIG_SYS_EXTROM 0
|
||||
#define CONFIG_SYS_REGDIMM 0
|
||||
|
||||
/* Memory bank settings.
|
||||
* Only bits 20-29 are actually used from these vales to set the
|
||||
* start/end addresses. The upper two bits will always be 0, and the lower
|
||||
* 20 bits will be 0x00000 for a start address, or 0xfffff for an end
|
||||
* address. Refer to the MPC8240 book.
|
||||
*/
|
||||
|
||||
#define CONFIG_SYS_BANK0_START 0x00000000
|
||||
#define CONFIG_SYS_BANK0_END (CONFIG_SYS_MAX_RAM_SIZE - 1)
|
||||
#define CONFIG_SYS_BANK0_ENABLE 1
|
||||
#define CONFIG_SYS_BANK1_START 0x3ff00000
|
||||
#define CONFIG_SYS_BANK1_END 0x3fffffff
|
||||
#define CONFIG_SYS_BANK1_ENABLE 0
|
||||
#define CONFIG_SYS_BANK2_START 0x3ff00000
|
||||
#define CONFIG_SYS_BANK2_END 0x3fffffff
|
||||
#define CONFIG_SYS_BANK2_ENABLE 0
|
||||
#define CONFIG_SYS_BANK3_START 0x3ff00000
|
||||
#define CONFIG_SYS_BANK3_END 0x3fffffff
|
||||
#define CONFIG_SYS_BANK3_ENABLE 0
|
||||
#define CONFIG_SYS_BANK4_START 0x3ff00000
|
||||
#define CONFIG_SYS_BANK4_END 0x3fffffff
|
||||
#define CONFIG_SYS_BANK4_ENABLE 0
|
||||
#define CONFIG_SYS_BANK5_START 0x3ff00000
|
||||
#define CONFIG_SYS_BANK5_END 0x3fffffff
|
||||
#define CONFIG_SYS_BANK5_ENABLE 0
|
||||
#define CONFIG_SYS_BANK6_START 0x3ff00000
|
||||
#define CONFIG_SYS_BANK6_END 0x3fffffff
|
||||
#define CONFIG_SYS_BANK6_ENABLE 0
|
||||
#define CONFIG_SYS_BANK7_START 0x3ff00000
|
||||
#define CONFIG_SYS_BANK7_END 0x3fffffff
|
||||
#define CONFIG_SYS_BANK7_ENABLE 0
|
||||
|
||||
#define CONFIG_SYS_ODCR 0xff
|
||||
#define CONFIG_SYS_PGMAX 0x32 /* how long the 8240 retains the */
|
||||
/* currently accessed page in memory */
|
||||
/* see 8240 book for details */
|
||||
|
||||
#define CONFIG_SYS_IBAT0L (CONFIG_SYS_SDRAM_BASE | BATL_PP_10 | BATL_MEMCOHERENCE)
|
||||
#define CONFIG_SYS_IBAT0U (CONFIG_SYS_SDRAM_BASE | BATU_BL_256M | BATU_VS | BATU_VP)
|
||||
|
||||
#define CONFIG_SYS_IBAT1L (CONFIG_SYS_INIT_RAM_ADDR | BATL_PP_10 | BATL_MEMCOHERENCE)
|
||||
#define CONFIG_SYS_IBAT1U (CONFIG_SYS_INIT_RAM_ADDR | BATU_BL_128K | BATU_VS | BATU_VP)
|
||||
|
||||
#define CONFIG_SYS_IBAT2L (0x80000000 | BATL_PP_10 | BATL_CACHEINHIBIT)
|
||||
#define CONFIG_SYS_IBAT2U (0x80000000 | BATU_BL_256M | BATU_VS | BATU_VP)
|
||||
|
||||
#define CONFIG_SYS_IBAT3L (0xFC000000 | BATL_PP_10 | BATL_CACHEINHIBIT)
|
||||
#define CONFIG_SYS_IBAT3U (0xFC000000 | BATU_BL_64M | BATU_VS | BATU_VP)
|
||||
|
||||
#define CONFIG_SYS_DBAT0L CONFIG_SYS_IBAT0L
|
||||
#define CONFIG_SYS_DBAT0U CONFIG_SYS_IBAT0U
|
||||
#define CONFIG_SYS_DBAT1L CONFIG_SYS_IBAT1L
|
||||
#define CONFIG_SYS_DBAT1U CONFIG_SYS_IBAT1U
|
||||
#define CONFIG_SYS_DBAT2L CONFIG_SYS_IBAT2L
|
||||
#define CONFIG_SYS_DBAT2U CONFIG_SYS_IBAT2U
|
||||
#define CONFIG_SYS_DBAT3L CONFIG_SYS_IBAT3L
|
||||
#define CONFIG_SYS_DBAT3U CONFIG_SYS_IBAT3U
|
||||
|
||||
/*
|
||||
* For booting Linux, the board info and command line data
|
||||
* have to be in the first 8 MB of memory, since this is
|
||||
* the maximum mapped by the Linux kernel during initialization.
|
||||
*/
|
||||
#define CONFIG_SYS_BOOTMAPSZ (8 << 20) /* Initial Memory map for Linux */
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* FLASH organization
|
||||
*/
|
||||
#define CONFIG_SYS_MAX_FLASH_BANKS 1 /* Max number of flash banks */
|
||||
#define CONFIG_SYS_MAX_FLASH_SECT 39 /* Max number of sectors in one bank */
|
||||
#define INTEL_ID_28F160F3T 0x88F388F3 /* 16M = 1M x 16 top boot sector */
|
||||
#define CONFIG_SYS_FLASH_ERASE_TOUT 120000 /* Timeout for Flash Erase (in ms) */
|
||||
#define CONFIG_SYS_FLASH_WRITE_TOUT 500 /* Timeout for Flash Write (in ms) */
|
||||
|
||||
/* Warining: environment is not EMBEDDED in the ppcboot code.
|
||||
* It's stored in flash separately.
|
||||
*/
|
||||
#define CONFIG_ENV_IS_IN_FLASH 1
|
||||
|
||||
#define CONFIG_ENV_ADDR (CONFIG_SYS_FLASH_BASE + 0x7F8000)
|
||||
#define CONFIG_ENV_SIZE 0x4000 /* Size of the Environment */
|
||||
#define CONFIG_ENV_OFFSET 0 /* starting right at the beginning */
|
||||
#define CONFIG_ENV_SECT_SIZE 0x8000 /* Size of the Environment Sector */
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* Cache Configuration
|
||||
*/
|
||||
#define CONFIG_SYS_CACHELINE_SIZE 32
|
||||
#if defined(CONFIG_CMD_KGDB)
|
||||
# define CONFIG_SYS_CACHELINE_SHIFT 5 /* log base 2 of the above value */
|
||||
#endif
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
/* CPC45 Memory Map */
|
||||
/*----------------------------------------------------------------------*/
|
||||
#define SRAM_BASE 0x80000000 /* SRAM base address */
|
||||
#define SRAM_END 0x801FFFFF
|
||||
#define ST16552_A_BASE 0x80200000 /* ST16552 channel A */
|
||||
#define ST16552_B_BASE 0x80400000 /* ST16552 channel A */
|
||||
#define BCSR_BASE 0x80600000 /* board control / status registers */
|
||||
#define DISPLAY_BASE 0x80600040 /* DISPLAY base */
|
||||
#define PCMCIA_MEM_BASE 0x83000000 /* PCMCIA memory window base */
|
||||
#define PCMCIA_IO_BASE 0xFE000000 /* PCMCIA IO window base */
|
||||
|
||||
#define CONFIG_SYS_SRAM_BASE SRAM_BASE
|
||||
#define CONFIG_SYS_SRAM_SIZE (SRAM_END - SRAM_BASE + 1)
|
||||
|
||||
/*---------------------------------------------------------------------*/
|
||||
/* CPC45 Control/Status Registers */
|
||||
/*---------------------------------------------------------------------*/
|
||||
#define IRQ_ENA_1 *((volatile uchar*)(BCSR_BASE + 0x00))
|
||||
#define IRQ_STAT_1 *((volatile uchar*)(BCSR_BASE + 0x01))
|
||||
#define IRQ_ENA_2 *((volatile uchar*)(BCSR_BASE + 0x02))
|
||||
#define IRQ_STAT_2 *((volatile uchar*)(BCSR_BASE + 0x03))
|
||||
#define BOARD_CTRL *((volatile uchar*)(BCSR_BASE + 0x04))
|
||||
#define BOARD_STAT *((volatile uchar*)(BCSR_BASE + 0x05))
|
||||
#define WDG_START *((volatile uchar*)(BCSR_BASE + 0x06))
|
||||
#define WDG_PRESTOP *((volatile uchar*)(BCSR_BASE + 0x06))
|
||||
#define WDG_STOP *((volatile uchar*)(BCSR_BASE + 0x06))
|
||||
#define BOARD_REV *((volatile uchar*)(BCSR_BASE + 0x07))
|
||||
|
||||
/* IRQ_ENA_1 bit definitions */
|
||||
#define I_ENA_1_IERA 0x80 /* INTA enable */
|
||||
#define I_ENA_1_IERB 0x40 /* INTB enable */
|
||||
#define I_ENA_1_IERC 0x20 /* INTC enable */
|
||||
#define I_ENA_1_IERD 0x10 /* INTD enable */
|
||||
|
||||
/* IRQ_STAT_1 bit definitions */
|
||||
#define I_STAT_1_INTA 0x80 /* INTA status */
|
||||
#define I_STAT_1_INTB 0x40 /* INTB status */
|
||||
#define I_STAT_1_INTC 0x20 /* INTC status */
|
||||
#define I_STAT_1_INTD 0x10 /* INTD status */
|
||||
|
||||
/* IRQ_ENA_2 bit definitions */
|
||||
#define I_ENA_2_IEAB 0x80 /* ABORT IRQ enable */
|
||||
#define I_ENA_2_IEK1 0x40 /* KEY1 IRQ enable */
|
||||
#define I_ENA_2_IEK2 0x20 /* KEY2 IRQ enable */
|
||||
#define I_ENA_2_IERT 0x10 /* RTC IRQ enable */
|
||||
#define I_ENA_2_IESM 0x08 /* LM81 IRQ enable */
|
||||
#define I_ENA_2_IEDG 0x04 /* DEGENERATING IRQ enable */
|
||||
#define I_ENA_2_IES2 0x02 /* ST16552/B IRQ enable */
|
||||
#define I_ENA_2_IES1 0x01 /* ST16552/A IRQ enable */
|
||||
|
||||
/* IRQ_STAT_2 bit definitions */
|
||||
#define I_STAT_2_ABO 0x80 /* ABORT IRQ status */
|
||||
#define I_STAT_2_KY1 0x40 /* KEY1 IRQ status */
|
||||
#define I_STAT_2_KY2 0x20 /* KEY2 IRQ status */
|
||||
#define I_STAT_2_RTC 0x10 /* RTC IRQ status */
|
||||
#define I_STAT_2_SMN 0x08 /* LM81 IRQ status */
|
||||
#define I_STAT_2_DEG 0x04 /* DEGENERATING IRQ status */
|
||||
#define I_STAT_2_SIO2 0x02 /* ST16552/B IRQ status */
|
||||
#define I_STAT_2_SIO1 0x01 /* ST16552/A IRQ status */
|
||||
|
||||
/* BOARD_CTRL bit definitions */
|
||||
#define USER_LEDS 2 /* 2 user LEDs */
|
||||
|
||||
#if (USER_LEDS == 4)
|
||||
#define B_CTRL_WRSE 0x80
|
||||
#define B_CTRL_KRSE 0x40
|
||||
#define B_CTRL_FWRE 0x20 /* Flash write enable */
|
||||
#define B_CTRL_FWPT 0x10 /* Flash write protect */
|
||||
#define B_CTRL_LED3 0x08 /* LED 3 control */
|
||||
#define B_CTRL_LED2 0x04 /* LED 2 control */
|
||||
#define B_CTRL_LED1 0x02 /* LED 1 control */
|
||||
#define B_CTRL_LED0 0x01 /* LED 0 control */
|
||||
#else
|
||||
#define B_CTRL_WRSE 0x80
|
||||
#define B_CTRL_KRSE 0x40
|
||||
#define B_CTRL_FWRE_1 0x20 /* Flash write enable */
|
||||
#define B_CTRL_FWPT_1 0x10 /* Flash write protect */
|
||||
#define B_CTRL_LED1 0x08 /* LED 1 control */
|
||||
#define B_CTRL_LED0 0x04 /* LED 0 control */
|
||||
#define B_CTRL_FWRE_0 0x02 /* Flash write enable */
|
||||
#define B_CTRL_FWPT_0 0x01 /* Flash write protect */
|
||||
#endif
|
||||
|
||||
/* BOARD_STAT bit definitions */
|
||||
#define B_STAT_WDGE 0x80
|
||||
#define B_STAT_WDGS 0x40
|
||||
#define B_STAT_WRST 0x20
|
||||
#define B_STAT_KRST 0x10
|
||||
#define B_STAT_CSW3 0x08 /* sitch bit 3 status */
|
||||
#define B_STAT_CSW2 0x04 /* sitch bit 2 status */
|
||||
#define B_STAT_CSW1 0x02 /* sitch bit 1 status */
|
||||
#define B_STAT_CSW0 0x01 /* sitch bit 0 status */
|
||||
|
||||
/*---------------------------------------------------------------------*/
|
||||
/* Display addresses */
|
||||
/*---------------------------------------------------------------------*/
|
||||
#define DISP_UDC_RAM (DISPLAY_BASE + 0x08) /* UDC RAM */
|
||||
#define DISP_CHR_RAM (DISPLAY_BASE + 0x18) /* character Ram */
|
||||
#define DISP_FLASH (DISPLAY_BASE + 0x20) /* Flash Ram */
|
||||
|
||||
#define DISP_UDC_ADR *((volatile uchar*)(DISPLAY_BASE + 0x00)) /* UDC Address Reg. */
|
||||
#define DISP_CWORD *((volatile uchar*)(DISPLAY_BASE + 0x10)) /* Control Word Reg. */
|
||||
|
||||
#define DISP_DIG0 *((volatile uchar*)(DISP_CHR_RAM + 0x00)) /* Digit 0 address */
|
||||
#define DISP_DIG1 *((volatile uchar*)(DISP_CHR_RAM + 0x01)) /* Digit 0 address */
|
||||
#define DISP_DIG2 *((volatile uchar*)(DISP_CHR_RAM + 0x02)) /* Digit 0 address */
|
||||
#define DISP_DIG3 *((volatile uchar*)(DISP_CHR_RAM + 0x03)) /* Digit 0 address */
|
||||
#define DISP_DIG4 *((volatile uchar*)(DISP_CHR_RAM + 0x04)) /* Digit 0 address */
|
||||
#define DISP_DIG5 *((volatile uchar*)(DISP_CHR_RAM + 0x05)) /* Digit 0 address */
|
||||
#define DISP_DIG6 *((volatile uchar*)(DISP_CHR_RAM + 0x06)) /* Digit 0 address */
|
||||
#define DISP_DIG7 *((volatile uchar*)(DISP_CHR_RAM + 0x07)) /* Digit 0 address */
|
||||
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* PCI stuff
|
||||
*-----------------------------------------------------------------------
|
||||
*/
|
||||
#define CONFIG_PCI /* include pci support */
|
||||
#define CONFIG_SYS_EARLY_PCI_INIT
|
||||
#undef CONFIG_PCI_PNP
|
||||
#undef CONFIG_PCI_SCAN_SHOW
|
||||
|
||||
|
||||
#define CONFIG_EEPRO100
|
||||
#define CONFIG_SYS_RX_ETH_BUFFER 8 /* use 8 rx buffer on eepro100 */
|
||||
|
||||
#define PCI_ENET0_IOADDR 0x82000000
|
||||
#define PCI_ENET0_MEMADDR 0x82000000
|
||||
#define PCI_PLX9030_IOADDR 0x82100000
|
||||
#define PCI_PLX9030_MEMADDR 0x82100000
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* PCMCIA stuff
|
||||
*-----------------------------------------------------------------------
|
||||
*/
|
||||
|
||||
#define CONFIG_I82365
|
||||
|
||||
#define CONFIG_SYS_PCMCIA_MEM_ADDR PCMCIA_MEM_BASE
|
||||
#define CONFIG_SYS_PCMCIA_MEM_SIZE 0x1000
|
||||
|
||||
#define CONFIG_PCMCIA_SLOT_A
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* IDE/ATA stuff (Supports IDE harddisk on PCMCIA Adapter)
|
||||
*-----------------------------------------------------------------------
|
||||
*/
|
||||
|
||||
#define CONFIG_IDE_8xx_PCCARD 1 /* Use IDE with PC Card Adapter */
|
||||
|
||||
#undef CONFIG_IDE_8xx_DIRECT /* Direct IDE not supported */
|
||||
#undef CONFIG_IDE_RESET /* reset for IDE not supported */
|
||||
#define CONFIG_IDE_LED /* LED for IDE is supported */
|
||||
|
||||
#define CONFIG_SYS_IDE_MAXBUS 1 /* max. 1 IDE bus */
|
||||
#define CONFIG_SYS_IDE_MAXDEVICE 1 /* max. 1 drive per IDE bus */
|
||||
|
||||
#define CONFIG_SYS_ATA_IDE0_OFFSET 0x0000
|
||||
|
||||
#define CONFIG_SYS_ATA_BASE_ADDR CONFIG_SYS_PCMCIA_MEM_ADDR
|
||||
|
||||
#define CONFIG_SYS_ATA_DATA_OFFSET CONFIG_SYS_PCMCIA_MEM_SIZE
|
||||
|
||||
/* Offset for normal register accesses */
|
||||
#define CONFIG_SYS_ATA_REG_OFFSET (CONFIG_SYS_PCMCIA_MEM_SIZE + 0x320)
|
||||
|
||||
/* Offset for alternate registers */
|
||||
#define CONFIG_SYS_ATA_ALT_OFFSET (CONFIG_SYS_PCMCIA_MEM_SIZE + 0x400)
|
||||
|
||||
#define CONFIG_DOS_PARTITION
|
||||
|
||||
#endif /* __CONFIG_H */
|
||||
|
|
@ -0,0 +1,271 @@
|
|||
/*
|
||||
* (C) Copyright 2005
|
||||
* Matthias Fuchs, esd gmbh germany, matthias.fuchs@esd-electronics.com
|
||||
*
|
||||
* See file CREDITS for list of people who contributed to this
|
||||
* project.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of
|
||||
* the License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston,
|
||||
* MA 02111-1307 USA
|
||||
*/
|
||||
|
||||
/*
|
||||
* board/config.h - configuration options, board specific
|
||||
*/
|
||||
|
||||
#ifndef __CONFIG_H
|
||||
#define __CONFIG_H
|
||||
|
||||
/*
|
||||
* High Level Configuration Options
|
||||
* (easy to change)
|
||||
*/
|
||||
|
||||
#define CONFIG_405GP 1 /* This is a PPC405 CPU */
|
||||
#define CONFIG_4xx 1 /* ...member of PPC4xx family */
|
||||
|
||||
#define CONFIG_SYS_TEXT_BASE 0xFFFC0000
|
||||
|
||||
#define CONFIG_BOARD_EARLY_INIT_F 1 /* call board_early_init_f() */
|
||||
|
||||
#define CONFIG_SYS_CLK_FREQ 33330000 /* external frequency to pll */
|
||||
|
||||
#define CONFIG_BAUDRATE 9600
|
||||
#define CONFIG_BOOTDELAY 3 /* autoboot after 3 seconds */
|
||||
|
||||
#undef CONFIG_BOOTARGS
|
||||
#undef CONFIG_BOOTCOMMAND
|
||||
|
||||
#define CONFIG_PREBOOT /* enable preboot variable */
|
||||
|
||||
#define CONFIG_LOADS_ECHO 1 /* echo on for serial download */
|
||||
#define CONFIG_SYS_LOADS_BAUD_CHANGE 1 /* allow baudrate change */
|
||||
|
||||
#define CONFIG_MII 1 /* MII PHY management */
|
||||
#define CONFIG_PHY_ADDR 0 /* PHY address */
|
||||
|
||||
/*
|
||||
* 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_PCI
|
||||
#define CONFIG_CMD_IRQ
|
||||
#define CONFIG_CMD_ELF
|
||||
#define CONFIG_CMD_I2C
|
||||
#define CONFIG_CMD_BSP
|
||||
#define CONFIG_CMD_EEPROM
|
||||
|
||||
#undef CONFIG_CMD_NET
|
||||
#undef CONFIG_CMD_NFS
|
||||
|
||||
#undef CONFIG_WATCHDOG /* watchdog disabled */
|
||||
|
||||
#define CONFIG_SDRAM_BANK0 1 /* init onboard SDRAM bank 0 */
|
||||
|
||||
/*
|
||||
* Miscellaneous configurable options
|
||||
*/
|
||||
#define CONFIG_SYS_LONGHELP /* undef to save memory */
|
||||
#define CONFIG_SYS_PROMPT "=> " /* Monitor Command Prompt */
|
||||
|
||||
#undef CONFIG_SYS_HUSH_PARSER /* use "hush" command parser */
|
||||
|
||||
#if defined(CONFIG_CMD_KGDB)
|
||||
#define CONFIG_SYS_CBSIZE 1024 /* Console I/O Buffer Size */
|
||||
#else
|
||||
#define CONFIG_SYS_CBSIZE 256 /* Console I/O Buffer Size */
|
||||
#endif
|
||||
#define CONFIG_SYS_PBSIZE (CONFIG_SYS_CBSIZE+sizeof(CONFIG_SYS_PROMPT)+16) /* Print Buffer Size */
|
||||
#define CONFIG_SYS_MAXARGS 16 /* max number of command args */
|
||||
#define CONFIG_SYS_BARGSIZE CONFIG_SYS_CBSIZE /* Boot Argument Buffer Size */
|
||||
|
||||
#define CONFIG_SYS_DEVICE_NULLDEV 1 /* include nulldev device */
|
||||
|
||||
#define CONFIG_SYS_CONSOLE_INFO_QUIET 1 /* don't print console @ startup*/
|
||||
|
||||
#define CONFIG_AUTO_COMPLETE 1 /* add autocompletion support */
|
||||
|
||||
#define CONFIG_SYS_MEMTEST_START 0x0400000 /* memtest works on */
|
||||
#define CONFIG_SYS_MEMTEST_END 0x0C00000 /* 4 ... 12 MB in DRAM */
|
||||
|
||||
#define CONFIG_CONS_INDEX 2 /* Use UART1 */
|
||||
#define CONFIG_SYS_NS16550
|
||||
#define CONFIG_SYS_NS16550_SERIAL
|
||||
#define CONFIG_SYS_NS16550_REG_SIZE 1
|
||||
#define CONFIG_SYS_NS16550_CLK get_serial_clock()
|
||||
|
||||
#undef CONFIG_SYS_EXT_SERIAL_CLOCK /* no external serial clock used */
|
||||
#define CONFIG_SYS_BASE_BAUD 691200
|
||||
|
||||
/* The following table includes the supported baudrates */
|
||||
#define CONFIG_SYS_BAUDRATE_TABLE \
|
||||
{ 300, 600, 1200, 2400, 4800, 9600, 19200, 38400, \
|
||||
57600, 115200, 230400, 460800, 921600 }
|
||||
|
||||
#define CONFIG_SYS_LOAD_ADDR 0x100000 /* default load address */
|
||||
#define CONFIG_SYS_EXTBDINFO 1 /* To use extended board_into (bd_t) */
|
||||
|
||||
#define CONFIG_SYS_HZ 1000 /* decrementer freq: 1 ms ticks */
|
||||
|
||||
#define CONFIG_LOOPW 1 /* enable loopw command */
|
||||
|
||||
#define CONFIG_ZERO_BOOTDELAY_CHECK /* check for keypress on bootdelay==0 */
|
||||
|
||||
#define CONFIG_VERSION_VARIABLE 1 /* include version env variable */
|
||||
|
||||
#define CONFIG_SYS_RX_ETH_BUFFER 16 /* use 16 rx buffer on 405 emac */
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* PCI stuff
|
||||
*-----------------------------------------------------------------------
|
||||
*/
|
||||
#define PCI_HOST_ADAPTER 0 /* configure as pci adapter */
|
||||
#define PCI_HOST_FORCE 1 /* configure as pci host */
|
||||
#define PCI_HOST_AUTO 2 /* detected via arbiter enable */
|
||||
|
||||
#define CONFIG_PCI /* include pci support */
|
||||
#define CONFIG_PCI_HOST PCI_HOST_AUTO /* select pci host function */
|
||||
#define CONFIG_PCI_PNP /* do pci plug-and-play */
|
||||
/* resource configuration */
|
||||
|
||||
#define CONFIG_PCI_SCAN_SHOW /* print pci devices @ startup */
|
||||
|
||||
#define CONFIG_PCI_CONFIG_HOST_BRIDGE 1 /* don't skip host bridge config*/
|
||||
|
||||
#define CONFIG_PCI_BOOTDELAY 0 /* enable pci bootdelay variable*/
|
||||
|
||||
#define CONFIG_SYS_PCI_SUBSYS_VENDORID 0x12FE /* PCI Vendor ID: esd gmbh */
|
||||
#define CONFIG_SYS_PCI_SUBSYS_DEVICEID 0x040b /* PCI Device ID: CPCI-2DP */
|
||||
#define CONFIG_SYS_PCI_CLASSCODE 0x0280 /* PCI Class Code: Network/Other*/
|
||||
|
||||
#define CONFIG_SYS_PCI_PTM1LA (bd->bi_memstart) /* point to sdram */
|
||||
#define CONFIG_SYS_PCI_PTM1MS (~(bd->bi_memsize - 1) | 1) /* memsize, enable hard-wired to 1 */
|
||||
#define CONFIG_SYS_PCI_PTM1PCI 0x00000000 /* Host: use this pci address */
|
||||
#define CONFIG_SYS_PCI_PTM2LA 0xef000000 /* point to internal regs + PB0/1 */
|
||||
#define CONFIG_SYS_PCI_PTM2MS 0xff000001 /* 16MB, enable */
|
||||
#define CONFIG_SYS_PCI_PTM2PCI 0x00000000 /* Host: use this pci address */
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* Start addresses for the final memory configuration
|
||||
* (Set up by the startup code)
|
||||
* Please note that CONFIG_SYS_SDRAM_BASE _must_ start at 0
|
||||
*/
|
||||
#define CONFIG_SYS_SDRAM_BASE 0x00000000
|
||||
#define CONFIG_SYS_FLASH_BASE 0xFFFC0000
|
||||
#define CONFIG_SYS_MONITOR_BASE CONFIG_SYS_FLASH_BASE
|
||||
#define CONFIG_SYS_MONITOR_LEN (256 * 1024) /* Reserve 256 kB for Monitor */
|
||||
#define CONFIG_SYS_MALLOC_LEN (128 * 1024) /* Reserve 128 kB for malloc() */
|
||||
|
||||
/*
|
||||
* For booting Linux, the board info and command line data
|
||||
* have to be in the first 8 MB of memory, since this is
|
||||
* the maximum mapped by the Linux kernel during initialization.
|
||||
*/
|
||||
#define CONFIG_SYS_BOOTMAPSZ (8 << 20) /* Initial Memory map for Linux */
|
||||
/*-----------------------------------------------------------------------
|
||||
* FLASH organization
|
||||
*/
|
||||
#define CONFIG_SYS_MAX_FLASH_BANKS 1 /* max number of memory banks */
|
||||
#define CONFIG_SYS_MAX_FLASH_SECT 256 /* max number of sectors on one chip */
|
||||
|
||||
#define CONFIG_SYS_FLASH_ERASE_TOUT 120000 /* Timeout for Flash Erase (in ms) */
|
||||
#define CONFIG_SYS_FLASH_WRITE_TOUT 500 /* Timeout for Flash Write (in ms) */
|
||||
|
||||
#define CONFIG_SYS_FLASH_WORD_SIZE unsigned short /* flash word size (width) */
|
||||
#define CONFIG_SYS_FLASH_ADDR0 0x5555 /* 1st address for flash config cycles */
|
||||
#define CONFIG_SYS_FLASH_ADDR1 0x2AAA /* 2nd address for flash config cycles */
|
||||
|
||||
#define CONFIG_SYS_FLASH_READ0 0x0000 /* 0 is standard */
|
||||
#define CONFIG_SYS_FLASH_READ1 0x0001 /* 1 is standard */
|
||||
#define CONFIG_SYS_FLASH_READ2 0x0002 /* 2 is standard */
|
||||
|
||||
#define CONFIG_SYS_FLASH_EMPTY_INFO /* print 'E' for empty sector on flinfo */
|
||||
|
||||
#define CONFIG_ENV_IS_IN_EEPROM 1 /* use EEPROM for environment vars */
|
||||
#define CONFIG_ENV_OFFSET 0x000 /* environment starts at the beginning of the EEPROM */
|
||||
#define CONFIG_ENV_SIZE 0x400 /* 1024 bytes may be used for env vars */
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* I2C EEPROM (CAT24WC16) for environment
|
||||
*/
|
||||
#define CONFIG_HARD_I2C /* I2c with hardware support */
|
||||
#define CONFIG_PPC4XX_I2C /* use PPC4xx driver */
|
||||
#define CONFIG_SYS_I2C_SPEED 400000 /* I2C speed and slave address */
|
||||
#define CONFIG_SYS_I2C_SLAVE 0x7F
|
||||
|
||||
#define CONFIG_SYS_I2C_EEPROM_ADDR 0x50 /* EEPROM CAT28WC08 */
|
||||
#define CONFIG_SYS_I2C_EEPROM_ADDR_LEN 1 /* Bytes of address */
|
||||
/* mask of address bits that overflow into the "EEPROM chip address" */
|
||||
#define CONFIG_SYS_I2C_EEPROM_ADDR_OVERFLOW 0x07
|
||||
#define CONFIG_SYS_EEPROM_PAGE_WRITE_BITS 4 /* The Catalyst CAT24WC08 has */
|
||||
/* 16 byte page write mode using*/
|
||||
/* last 4 bits of the address */
|
||||
#define CONFIG_SYS_EEPROM_PAGE_WRITE_DELAY_MS 10 /* and takes up to 10 msec */
|
||||
|
||||
#define CONFIG_SYS_EEPROM_WREN 1
|
||||
|
||||
/*
|
||||
* Init Memory Controller:
|
||||
*
|
||||
* BR0/1 and OR0/1 (FLASH)
|
||||
*/
|
||||
#define FLASH_BASE0_PRELIM 0xFFE00000 /* FLASH bank #0 */
|
||||
#define FLASH_BASE1_PRELIM 0 /* FLASH bank #1 */
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* External Bus Controller (EBC) Setup
|
||||
*/
|
||||
|
||||
/* Memory Bank 0 (Flash Bank 0) initialization */
|
||||
#define CONFIG_SYS_EBC_PB0AP 0x92015480
|
||||
#define CONFIG_SYS_EBC_PB0CR 0xFFC5A000 /* BAS=0xFFC,BS=4MB,BU=R/W,BW=16bit */
|
||||
|
||||
/* Memory Bank 2 (PB0) initialization */
|
||||
#define CONFIG_SYS_EBC_PB2AP 0x03004580 /* TWT=6,WBN=1,TH=2,RE=1,SOR=1 */
|
||||
#define CONFIG_SYS_EBC_PB2CR 0xEF018000 /* BAS=0xF00,BS=1MB,BU=R/W,BW=8bit */
|
||||
|
||||
/* Memory Bank 3 (PB1) initialization */
|
||||
#define CONFIG_SYS_EBC_PB3AP 0x03004580 /* TWT=6,WBN=1,TH=2,RE=1,SOR=1 */
|
||||
#define CONFIG_SYS_EBC_PB3CR 0xEF118000 /* BAS=0xF01,BS=1MB,BU=R/W,BW=8bit */
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* Definitions for initial stack pointer and data area (in data cache)
|
||||
*/
|
||||
#define CONFIG_SYS_INIT_DCACHE_CS 7 /* use cs # 7 for data cache memory */
|
||||
|
||||
#define CONFIG_SYS_INIT_RAM_ADDR 0x40000000 /* use data cache */
|
||||
#define CONFIG_SYS_INIT_RAM_SIZE 0x2000 /* Size of used area in RAM */
|
||||
#define CONFIG_SYS_GBL_DATA_OFFSET (CONFIG_SYS_INIT_RAM_SIZE - GENERATED_GBL_DATA_SIZE)
|
||||
#define CONFIG_SYS_INIT_SP_OFFSET CONFIG_SYS_GBL_DATA_OFFSET
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* GPIO definitions
|
||||
*/
|
||||
#define CONFIG_SYS_EEPROM_WP (0x80000000 >> 13) /* GPIO13 */
|
||||
#define CONFIG_SYS_SELF_RST (0x80000000 >> 14) /* GPIO14 */
|
||||
#define CONFIG_SYS_PB_LED (0x80000000 >> 16) /* GPIO16 */
|
||||
#define CONFIG_SYS_INTA_FAKE (0x80000000 >> 23) /* GPIO23 */
|
||||
|
||||
#endif /* __CONFIG_H */
|
||||
|
|
@ -0,0 +1,338 @@
|
|||
/*
|
||||
* (C) Copyright 2001
|
||||
* Stefan Roese, esd gmbh germany, stefan.roese@esd-electronics.com
|
||||
*
|
||||
* See file CREDITS for list of people who contributed to this
|
||||
* project.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of
|
||||
* the License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston,
|
||||
* MA 02111-1307 USA
|
||||
*/
|
||||
|
||||
/*
|
||||
* board/config.h - configuration options, board specific
|
||||
*/
|
||||
|
||||
#ifndef __CONFIG_H
|
||||
#define __CONFIG_H
|
||||
|
||||
/*
|
||||
* High Level Configuration Options
|
||||
* (easy to change)
|
||||
*/
|
||||
|
||||
#define CONFIG_405GP 1 /* This is a PPC405 CPU */
|
||||
#define CONFIG_4xx 1 /* ...member of PPC4xx family */
|
||||
#define CONFIG_CPCI405 1 /* ...on a CPCI405 board */
|
||||
|
||||
#define CONFIG_SYS_TEXT_BASE 0xFFFC0000
|
||||
|
||||
#define CONFIG_BOARD_EARLY_INIT_F 1 /* call board_early_init_f() */
|
||||
#define CONFIG_MISC_INIT_R 1 /* call misc_init_r() */
|
||||
|
||||
#define CONFIG_SYS_CLK_FREQ 33000000 /* external frequency to pll */
|
||||
|
||||
#define CONFIG_BAUDRATE 9600
|
||||
#define CONFIG_BOOTDELAY 3 /* autoboot after 3 seconds */
|
||||
|
||||
#undef CONFIG_BOOTARGS
|
||||
#undef CONFIG_BOOTCOMMAND
|
||||
|
||||
#define CONFIG_PREBOOT /* enable preboot variable */
|
||||
|
||||
#define CONFIG_LOADS_ECHO 1 /* echo on for serial download */
|
||||
#define CONFIG_SYS_LOADS_BAUD_CHANGE 1 /* allow baudrate change */
|
||||
|
||||
#define CONFIG_PPC4xx_EMAC
|
||||
#define CONFIG_MII 1 /* MII PHY management */
|
||||
#define CONFIG_PHY_ADDR 0 /* PHY address */
|
||||
#define CONFIG_LXT971_NO_SLEEP 1 /* disable sleep mode in LXT971 */
|
||||
#define CONFIG_RESET_PHY_R 1 /* use reset_phy() to disable phy sleep mode */
|
||||
|
||||
#undef CONFIG_HAS_ETH1
|
||||
|
||||
/*
|
||||
* BOOTP options
|
||||
*/
|
||||
#define CONFIG_BOOTP_SUBNETMASK
|
||||
#define CONFIG_BOOTP_GATEWAY
|
||||
#define CONFIG_BOOTP_HOSTNAME
|
||||
#define CONFIG_BOOTP_BOOTPATH
|
||||
#define CONFIG_BOOTP_DNS
|
||||
#define CONFIG_BOOTP_DNS2
|
||||
#define CONFIG_BOOTP_SEND_HOSTNAME
|
||||
|
||||
|
||||
/*
|
||||
* Command line configuration.
|
||||
*/
|
||||
#include <config_cmd_default.h>
|
||||
|
||||
#define CONFIG_CMD_DHCP
|
||||
#define CONFIG_CMD_PCI
|
||||
#define CONFIG_CMD_IRQ
|
||||
#define CONFIG_CMD_IDE
|
||||
#define CONFIG_CMD_FAT
|
||||
#define CONFIG_CMD_ELF
|
||||
#define CONFIG_CMD_MII
|
||||
#define CONFIG_CMD_EEPROM
|
||||
|
||||
|
||||
#define CONFIG_MAC_PARTITION
|
||||
#define CONFIG_DOS_PARTITION
|
||||
|
||||
#define CONFIG_SUPPORT_VFAT
|
||||
|
||||
#undef CONFIG_WATCHDOG /* watchdog disabled */
|
||||
|
||||
#define CONFIG_SDRAM_BANK0 1 /* init onboard SDRAM bank 0 */
|
||||
|
||||
/*
|
||||
* Miscellaneous configurable options
|
||||
*/
|
||||
#define CONFIG_SYS_LONGHELP /* undef to save memory */
|
||||
#define CONFIG_SYS_PROMPT "=> " /* Monitor Command Prompt */
|
||||
|
||||
#undef CONFIG_SYS_HUSH_PARSER /* use "hush" command parser */
|
||||
|
||||
#if defined(CONFIG_CMD_KGDB)
|
||||
#define CONFIG_SYS_CBSIZE 1024 /* Console I/O Buffer Size */
|
||||
#else
|
||||
#define CONFIG_SYS_CBSIZE 256 /* Console I/O Buffer Size */
|
||||
#endif
|
||||
#define CONFIG_SYS_PBSIZE (CONFIG_SYS_CBSIZE+sizeof(CONFIG_SYS_PROMPT)+16) /* Print Buffer Size */
|
||||
#define CONFIG_SYS_MAXARGS 16 /* max number of command args */
|
||||
#define CONFIG_SYS_BARGSIZE CONFIG_SYS_CBSIZE /* Boot Argument Buffer Size */
|
||||
|
||||
#define CONFIG_SYS_DEVICE_NULLDEV 1 /* include nulldev device */
|
||||
|
||||
#define CONFIG_SYS_CONSOLE_INFO_QUIET 1 /* don't print console @ startup*/
|
||||
|
||||
#define CONFIG_SYS_MEMTEST_START 0x0400000 /* memtest works on */
|
||||
#define CONFIG_SYS_MEMTEST_END 0x0C00000 /* 4 ... 12 MB in DRAM */
|
||||
|
||||
#define CONFIG_CONS_INDEX 1 /* Use UART0 */
|
||||
#define CONFIG_SYS_NS16550
|
||||
#define CONFIG_SYS_NS16550_SERIAL
|
||||
#define CONFIG_SYS_NS16550_REG_SIZE 1
|
||||
#define CONFIG_SYS_NS16550_CLK get_serial_clock()
|
||||
|
||||
#undef CONFIG_SYS_EXT_SERIAL_CLOCK /* no external serial clock used */
|
||||
#define CONFIG_SYS_BASE_BAUD 691200
|
||||
|
||||
/* The following table includes the supported baudrates */
|
||||
#define CONFIG_SYS_BAUDRATE_TABLE \
|
||||
{ 300, 600, 1200, 2400, 4800, 9600, 19200, 38400, \
|
||||
57600, 115200, 230400, 460800, 921600 }
|
||||
|
||||
#define CONFIG_SYS_LOAD_ADDR 0x100000 /* default load address */
|
||||
#define CONFIG_SYS_EXTBDINFO 1 /* To use extended board_into (bd_t) */
|
||||
|
||||
#define CONFIG_SYS_HZ 1000 /* decrementer freq: 1 ms ticks */
|
||||
|
||||
#define CONFIG_LOOPW 1 /* enable loopw command */
|
||||
|
||||
#define CONFIG_ZERO_BOOTDELAY_CHECK /* check for keypress on bootdelay==0 */
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* PCI stuff
|
||||
*-----------------------------------------------------------------------
|
||||
*/
|
||||
#define PCI_HOST_ADAPTER 0 /* configure as pci adapter */
|
||||
#define PCI_HOST_FORCE 1 /* configure as pci host */
|
||||
#define PCI_HOST_AUTO 2 /* detected via arbiter enable */
|
||||
|
||||
#define CONFIG_PCI /* include pci support */
|
||||
#define CONFIG_PCI_HOST PCI_HOST_AUTO /* select pci host function */
|
||||
#define CONFIG_PCI_PNP /* do pci plug-and-play */
|
||||
/* resource configuration */
|
||||
|
||||
#define CONFIG_PCI_SCAN_SHOW /* print pci devices @ startup */
|
||||
|
||||
#define CONFIG_PCI_CONFIG_HOST_BRIDGE 1 /* don't skip host bridge config*/
|
||||
|
||||
#define CONFIG_PCI_BOOTDELAY 0 /* enable pci bootdelay variable*/
|
||||
|
||||
#define CONFIG_SYS_PCI_SUBSYS_VENDORID 0x12FE /* PCI Vendor ID: esd gmbh */
|
||||
#define CONFIG_SYS_PCI_SUBSYS_DEVICEID 0x0405 /* PCI Device ID: CPCI-405 */
|
||||
#define CONFIG_SYS_PCI_SUBSYS_DEVICEID2 0x0406 /* PCI Device ID: CPCI-405-A */
|
||||
#define CONFIG_SYS_PCI_CLASSCODE 0x0b20 /* PCI Class Code: Processor/PPC*/
|
||||
#define CONFIG_SYS_PCI_PTM1LA (bd->bi_memstart) /* point to sdram */
|
||||
#define CONFIG_SYS_PCI_PTM1MS (~(bd->bi_memsize - 1) | 1) /* memsize, enable hard-wired to 1 */
|
||||
#define CONFIG_SYS_PCI_PTM1PCI 0x00000000 /* Host: use this pci address */
|
||||
#define CONFIG_SYS_PCI_PTM2LA 0xffc00000 /* point to flash */
|
||||
#define CONFIG_SYS_PCI_PTM2MS 0xffc00001 /* 4MB, enable */
|
||||
#define CONFIG_SYS_PCI_PTM2PCI 0x04000000 /* Host: use this pci address */
|
||||
|
||||
#define CONFIG_PCI_4xx_PTM_OVERWRITE 1 /* overwrite PTMx settings by env */
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* IDE/ATA stuff
|
||||
*-----------------------------------------------------------------------
|
||||
*/
|
||||
#undef CONFIG_IDE_8xx_DIRECT /* no pcmcia interface required */
|
||||
#undef CONFIG_IDE_LED /* no led for ide supported */
|
||||
#undef CONFIG_IDE_RESET /* no reset for ide supported */
|
||||
|
||||
#define CONFIG_SYS_IDE_MAXBUS 1 /* max. 1 IDE busses */
|
||||
#define CONFIG_SYS_IDE_MAXDEVICE (CONFIG_SYS_IDE_MAXBUS*1) /* max. 1 drives per IDE bus */
|
||||
|
||||
#define CONFIG_SYS_ATA_BASE_ADDR 0xF0100000
|
||||
#define CONFIG_SYS_ATA_IDE0_OFFSET 0x0000
|
||||
|
||||
#define CONFIG_SYS_ATA_DATA_OFFSET 0x0000 /* Offset for data I/O */
|
||||
#define CONFIG_SYS_ATA_REG_OFFSET 0x0000 /* Offset for normal register accesses */
|
||||
#define CONFIG_SYS_ATA_ALT_OFFSET 0x0000 /* Offset for alternate registers */
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* Start addresses for the final memory configuration
|
||||
* (Set up by the startup code)
|
||||
* Please note that CONFIG_SYS_SDRAM_BASE _must_ start at 0
|
||||
*/
|
||||
#define CONFIG_SYS_SDRAM_BASE 0x00000000
|
||||
#define CONFIG_SYS_FLASH_BASE CONFIG_SYS_TEXT_BASE
|
||||
#define CONFIG_SYS_MONITOR_BASE CONFIG_SYS_TEXT_BASE
|
||||
#define CONFIG_SYS_MONITOR_LEN (~(CONFIG_SYS_TEXT_BASE) + 1)
|
||||
#define CONFIG_SYS_MALLOC_LEN (128 * 1024) /* Reserve 128 kB for malloc() */
|
||||
|
||||
/*
|
||||
* For booting Linux, the board info and command line data
|
||||
* have to be in the first 8 MB of memory, since this is
|
||||
* the maximum mapped by the Linux kernel during initialization.
|
||||
*/
|
||||
#define CONFIG_SYS_BOOTMAPSZ (8 << 20) /* Initial Memory map for Linux */
|
||||
/*-----------------------------------------------------------------------
|
||||
* FLASH organization
|
||||
*/
|
||||
#define CONFIG_SYS_MAX_FLASH_BANKS 2 /* max number of memory banks */
|
||||
#define CONFIG_SYS_MAX_FLASH_SECT 256 /* max number of sectors on one chip */
|
||||
|
||||
#define CONFIG_SYS_FLASH_ERASE_TOUT 120000 /* Timeout for Flash Erase (in ms) */
|
||||
#define CONFIG_SYS_FLASH_WRITE_TOUT 500 /* Timeout for Flash Write (in ms) */
|
||||
|
||||
#define CONFIG_SYS_FLASH_WORD_SIZE unsigned short /* flash word size (width) */
|
||||
#define CONFIG_SYS_FLASH_ADDR0 0x5555 /* 1st address for flash config cycles */
|
||||
#define CONFIG_SYS_FLASH_ADDR1 0x2AAA /* 2nd address for flash config cycles */
|
||||
/*
|
||||
* The following defines are added for buggy IOP480 byte interface.
|
||||
* All other boards should use the standard values (CPCI405 etc.)
|
||||
*/
|
||||
#define CONFIG_SYS_FLASH_READ0 0x0000 /* 0 is standard */
|
||||
#define CONFIG_SYS_FLASH_READ1 0x0001 /* 1 is standard */
|
||||
#define CONFIG_SYS_FLASH_READ2 0x0002 /* 2 is standard */
|
||||
|
||||
#define CONFIG_SYS_FLASH_EMPTY_INFO /* print 'E' for empty sector on flinfo */
|
||||
|
||||
#define CONFIG_SYS_NVRAM_BASE_ADDR 0xf0200000 /* NVRAM base address */
|
||||
#define CONFIG_SYS_NVRAM_SIZE (32*1024) /* NVRAM size */
|
||||
#define CONFIG_SYS_VXWORKS_MAC_PTR (CONFIG_SYS_NVRAM_BASE_ADDR+0x6900) /* VxWorks eth-addr*/
|
||||
|
||||
#if 1 /* Use NVRAM for environment variables */
|
||||
/*-----------------------------------------------------------------------
|
||||
* NVRAM organization
|
||||
*/
|
||||
#define CONFIG_ENV_IS_IN_NVRAM 1 /* use NVRAM for environment vars */
|
||||
#define CONFIG_ENV_SIZE 0x1000 /* Size of Environment vars */
|
||||
#define CONFIG_ENV_ADDR \
|
||||
(CONFIG_SYS_NVRAM_BASE_ADDR+CONFIG_SYS_NVRAM_SIZE-CONFIG_ENV_SIZE) /* Env */
|
||||
|
||||
#else /* Use EEPROM for environment variables */
|
||||
|
||||
#define CONFIG_ENV_IS_IN_EEPROM 1 /* use EEPROM for environment vars */
|
||||
#define CONFIG_ENV_OFFSET 0x000 /* environment starts at the beginning of the EEPROM */
|
||||
#define CONFIG_ENV_SIZE 0x400 /* 1024 bytes may be used for env vars */
|
||||
/* total size of a CAT24WC08 is 1024 bytes */
|
||||
#endif
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* I2C EEPROM (CAT24WC08) for environment
|
||||
*/
|
||||
#define CONFIG_HARD_I2C /* I2c with hardware support */
|
||||
#define CONFIG_PPC4XX_I2C /* use PPC4xx driver */
|
||||
#define CONFIG_SYS_I2C_SPEED 400000 /* I2C speed and slave address */
|
||||
#define CONFIG_SYS_I2C_SLAVE 0x7F
|
||||
|
||||
#define CONFIG_SYS_I2C_EEPROM_ADDR 0x50 /* EEPROM CAT28WC08 */
|
||||
#define CONFIG_SYS_I2C_EEPROM_ADDR_LEN 1 /* Bytes of address */
|
||||
/* mask of address bits that overflow into the "EEPROM chip address" */
|
||||
#define CONFIG_SYS_I2C_EEPROM_ADDR_OVERFLOW 0x07
|
||||
#define CONFIG_SYS_EEPROM_PAGE_WRITE_BITS 4 /* The Catalyst CAT24WC08 has */
|
||||
/* 16 byte page write mode using*/
|
||||
/* last 4 bits of the address */
|
||||
#define CONFIG_SYS_EEPROM_PAGE_WRITE_DELAY_MS 10 /* and takes up to 10 msec */
|
||||
|
||||
/*
|
||||
* Init Memory Controller:
|
||||
*
|
||||
* BR0/1 and OR0/1 (FLASH)
|
||||
*/
|
||||
|
||||
#define FLASH_BASE0_PRELIM 0xFF800000 /* FLASH bank #0 */
|
||||
#define FLASH_BASE1_PRELIM 0xFFC00000 /* FLASH bank #1 */
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* External Bus Controller (EBC) Setup
|
||||
*/
|
||||
|
||||
/* Memory Bank 0 (Flash Bank 0) initialization */
|
||||
#define CONFIG_SYS_EBC_PB0AP 0x92015480
|
||||
#define CONFIG_SYS_EBC_PB0CR 0xFFC5A000 /* BAS=0xFFC,BS=4MB,BU=R/W,BW=16bit */
|
||||
|
||||
/* Memory Bank 1 (Flash Bank 1) initialization */
|
||||
#define CONFIG_SYS_EBC_PB1AP 0x92015480
|
||||
#define CONFIG_SYS_EBC_PB1CR 0xFF85A000 /* BAS=0xFF8,BS=4MB,BU=R/W,BW=16bit */
|
||||
|
||||
/* Memory Bank 2 (CAN0, 1, 2, Codeswitch) initialization */
|
||||
#define CONFIG_SYS_EBC_PB2AP 0x010053C0 /* BWT=2,WBN=1,WBF=1,TH=1,RE=1,SOR=1,BEM=1 */
|
||||
#define CONFIG_SYS_EBC_PB2CR 0xF0018000 /* BAS=0xF00,BS=1MB,BU=R/W,BW=8bit */
|
||||
|
||||
/* Memory Bank 3 (CompactFlash IDE) initialization */
|
||||
#define CONFIG_SYS_EBC_PB3AP 0x010053C0 /* BWT=2,WBN=1,WBF=1,TH=1,RE=1,SOR=1,BEM=1 */
|
||||
#define CONFIG_SYS_EBC_PB3CR 0xF011A000 /* BAS=0xF01,BS=1MB,BU=R/W,BW=16bit */
|
||||
|
||||
/* Memory Bank 4 (NVRAM) initialization */
|
||||
#define CONFIG_SYS_EBC_PB4AP 0x01005280 /* TWT=2,WBN=1,WBF=1,TH=1,SOR=1 */
|
||||
#define CONFIG_SYS_EBC_PB4CR 0xF0218000 /* BAS=0xF02,BS=1MB,BU=R/W,BW=8bit */
|
||||
|
||||
/* Memory Bank 5 (Quart) initialization */
|
||||
#define CONFIG_SYS_EBC_PB5AP 0x04005B80 /* TWT=8,WBN=1,WBF=1,TH=5,RE=1,SOR=1*/
|
||||
#define CONFIG_SYS_EBC_PB5CR 0xF0318000 /* BAS=0xF03,BS=1MB,BU=R/W,BW=8bit */
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* FPGA stuff
|
||||
*/
|
||||
|
||||
/* FPGA program pin configuration */
|
||||
#define CONFIG_SYS_FPGA_PRG 0x04000000 /* FPGA program pin (ppc output) */
|
||||
#define CONFIG_SYS_FPGA_CLK 0x02000000 /* FPGA clk pin (ppc output) */
|
||||
#define CONFIG_SYS_FPGA_DATA 0x01000000 /* FPGA data pin (ppc output) */
|
||||
#define CONFIG_SYS_FPGA_INIT 0x00400000 /* FPGA init pin (ppc input) */
|
||||
#define CONFIG_SYS_FPGA_DONE 0x00800000 /* FPGA done pin (ppc input) */
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* Definitions for initial stack pointer and data area (in data cache)
|
||||
*/
|
||||
#if 1 /* test-only */
|
||||
#define CONFIG_SYS_INIT_DCACHE_CS 7 /* use cs # 7 for data cache memory */
|
||||
|
||||
#define CONFIG_SYS_INIT_RAM_ADDR 0x40000000 /* use data cache */
|
||||
#else
|
||||
#define CONFIG_SYS_INIT_RAM_ADDR 0x00df0000 /* inside of SDRAM */
|
||||
#endif
|
||||
#define CONFIG_SYS_INIT_RAM_SIZE 0x2000 /* Size of used area in RAM */
|
||||
#define CONFIG_SYS_GBL_DATA_OFFSET (CONFIG_SYS_INIT_RAM_SIZE - GENERATED_GBL_DATA_SIZE)
|
||||
#define CONFIG_SYS_INIT_SP_OFFSET CONFIG_SYS_GBL_DATA_OFFSET
|
||||
|
||||
#endif /* __CONFIG_H */
|
||||
|
|
@ -0,0 +1,399 @@
|
|||
/*
|
||||
* (C) Copyright 2001-2004
|
||||
* Stefan Roese, esd gmbh germany, stefan.roese@esd-electronics.com
|
||||
*
|
||||
* See file CREDITS for list of people who contributed to this
|
||||
* project.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of
|
||||
* the License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston,
|
||||
* MA 02111-1307 USA
|
||||
*/
|
||||
|
||||
/*
|
||||
* board/config.h - configuration options, board specific
|
||||
*/
|
||||
|
||||
#ifndef __CONFIG_H
|
||||
#define __CONFIG_H
|
||||
|
||||
/*
|
||||
* High Level Configuration Options
|
||||
* (easy to change)
|
||||
*/
|
||||
|
||||
#define CONFIG_405GP 1 /* This is a PPC405 CPU */
|
||||
#define CONFIG_4xx 1 /* ...member of PPC4xx family */
|
||||
#define CONFIG_CPCI405 1 /* ...on a CPCI405 board */
|
||||
#define CONFIG_CPCI405_VER2 1 /* ...version 2 */
|
||||
#undef CONFIG_CPCI405_6U /* enable this for 6U boards */
|
||||
|
||||
#define CONFIG_SYS_TEXT_BASE 0xFFFC0000
|
||||
|
||||
#define CONFIG_BOARD_EARLY_INIT_F 1 /* call board_early_init_f() */
|
||||
#define CONFIG_MISC_INIT_R 1 /* call misc_init_r() */
|
||||
|
||||
#define CONFIG_SYS_CLK_FREQ 33330000 /* external frequency to pll */
|
||||
|
||||
#define CONFIG_BAUDRATE 9600
|
||||
#define CONFIG_BOOTDELAY 3 /* autoboot after 3 seconds */
|
||||
|
||||
#undef CONFIG_BOOTARGS
|
||||
#undef CONFIG_BOOTCOMMAND
|
||||
|
||||
#define CONFIG_PREBOOT /* enable preboot variable */
|
||||
|
||||
#define CONFIG_LOADS_ECHO 1 /* echo on for serial download */
|
||||
#define CONFIG_SYS_LOADS_BAUD_CHANGE 1 /* allow baudrate change */
|
||||
|
||||
#define CONFIG_PPC4xx_EMAC
|
||||
#define CONFIG_MII 1 /* MII PHY management */
|
||||
#define CONFIG_PHY_ADDR 0 /* PHY address */
|
||||
#define CONFIG_LXT971_NO_SLEEP 1 /* disable sleep mode in LXT971 */
|
||||
#define CONFIG_RESET_PHY_R 1 /* use reset_phy() to disable phy sleep mode */
|
||||
|
||||
#undef CONFIG_HAS_ETH1
|
||||
|
||||
#define CONFIG_RTC_M48T35A 1 /* ST Electronics M48 timekeeper */
|
||||
|
||||
/*
|
||||
* BOOTP options
|
||||
*/
|
||||
#define CONFIG_BOOTP_SUBNETMASK
|
||||
#define CONFIG_BOOTP_GATEWAY
|
||||
#define CONFIG_BOOTP_HOSTNAME
|
||||
#define CONFIG_BOOTP_BOOTPATH
|
||||
#define CONFIG_BOOTP_DNS
|
||||
#define CONFIG_BOOTP_DNS2
|
||||
#define CONFIG_BOOTP_SEND_HOSTNAME
|
||||
|
||||
|
||||
/*
|
||||
* Command line configuration.
|
||||
*/
|
||||
#include <config_cmd_default.h>
|
||||
|
||||
#define CONFIG_CMD_DHCP
|
||||
#define CONFIG_CMD_PCI
|
||||
#define CONFIG_CMD_IRQ
|
||||
#define CONFIG_CMD_IDE
|
||||
#define CONFIG_CMD_FAT
|
||||
#define CONFIG_CMD_ELF
|
||||
#define CONFIG_CMD_DATE
|
||||
#define CONFIG_CMD_I2C
|
||||
#define CONFIG_CMD_MII
|
||||
#define CONFIG_CMD_PING
|
||||
#define CONFIG_CMD_BSP
|
||||
#define CONFIG_CMD_EEPROM
|
||||
|
||||
#define CONFIG_MAC_PARTITION
|
||||
#define CONFIG_DOS_PARTITION
|
||||
|
||||
#define CONFIG_SUPPORT_VFAT
|
||||
|
||||
#undef CONFIG_WATCHDOG /* watchdog disabled */
|
||||
|
||||
#define CONFIG_SDRAM_BANK0 1 /* init onboard SDRAM bank 0 */
|
||||
|
||||
/*
|
||||
* Miscellaneous configurable options
|
||||
*/
|
||||
#define CONFIG_SYS_LONGHELP /* undef to save memory */
|
||||
#define CONFIG_SYS_PROMPT "=> " /* Monitor Command Prompt */
|
||||
|
||||
#undef CONFIG_SYS_HUSH_PARSER /* use "hush" command parser */
|
||||
|
||||
#if defined(CONFIG_CMD_KGDB)
|
||||
#define CONFIG_SYS_CBSIZE 1024 /* Console I/O Buffer Size */
|
||||
#else
|
||||
#define CONFIG_SYS_CBSIZE 256 /* Console I/O Buffer Size */
|
||||
#endif
|
||||
#define CONFIG_SYS_PBSIZE (CONFIG_SYS_CBSIZE+sizeof(CONFIG_SYS_PROMPT)+16) /* Print Buffer Size */
|
||||
#define CONFIG_SYS_MAXARGS 16 /* max number of command args */
|
||||
#define CONFIG_SYS_BARGSIZE CONFIG_SYS_CBSIZE /* Boot Argument Buffer Size */
|
||||
|
||||
#define CONFIG_SYS_DEVICE_NULLDEV 1 /* include nulldev device */
|
||||
|
||||
#define CONFIG_SYS_CONSOLE_INFO_QUIET 1 /* don't print console @ startup*/
|
||||
|
||||
#define CONFIG_AUTO_COMPLETE 1 /* add autocompletion support */
|
||||
|
||||
#define CONFIG_SYS_MEMTEST_START 0x0400000 /* memtest works on */
|
||||
#define CONFIG_SYS_MEMTEST_END 0x0C00000 /* 4 ... 12 MB in DRAM */
|
||||
|
||||
#define CONFIG_CONS_INDEX 1 /* Use UART0 */
|
||||
#define CONFIG_SYS_NS16550
|
||||
#define CONFIG_SYS_NS16550_SERIAL
|
||||
#define CONFIG_SYS_NS16550_REG_SIZE 1
|
||||
#define CONFIG_SYS_NS16550_CLK get_serial_clock()
|
||||
|
||||
#undef CONFIG_SYS_EXT_SERIAL_CLOCK /* no external serial clock used */
|
||||
#define CONFIG_SYS_BASE_BAUD 691200
|
||||
|
||||
/* The following table includes the supported baudrates */
|
||||
#define CONFIG_SYS_BAUDRATE_TABLE \
|
||||
{ 300, 600, 1200, 2400, 4800, 9600, 19200, 38400, \
|
||||
57600, 115200, 230400, 460800, 921600 }
|
||||
|
||||
#define CONFIG_SYS_LOAD_ADDR 0x100000 /* default load address */
|
||||
#define CONFIG_SYS_EXTBDINFO 1 /* To use extended board_into (bd_t) */
|
||||
|
||||
#define CONFIG_SYS_HZ 1000 /* decrementer freq: 1 ms ticks */
|
||||
|
||||
#define CONFIG_CMDLINE_EDITING /* add command line history */
|
||||
|
||||
#define CONFIG_LOOPW 1 /* enable loopw command */
|
||||
|
||||
#define CONFIG_ZERO_BOOTDELAY_CHECK /* check for keypress on bootdelay==0 */
|
||||
|
||||
#define CONFIG_VERSION_VARIABLE 1 /* include version env variable */
|
||||
|
||||
#define CONFIG_AUTOBOOT_KEYED 1
|
||||
#define CONFIG_AUTOBOOT_PROMPT \
|
||||
"Press SPACE to abort autoboot in %d seconds\n", bootdelay
|
||||
#undef CONFIG_AUTOBOOT_DELAY_STR
|
||||
#define CONFIG_AUTOBOOT_STOP_STR " "
|
||||
|
||||
#define CONFIG_SYS_RX_ETH_BUFFER 16 /* use 16 rx buffer on 405 emac */
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* PCI stuff
|
||||
*-----------------------------------------------------------------------
|
||||
*/
|
||||
#define PCI_HOST_ADAPTER 0 /* configure as pci adapter */
|
||||
#define PCI_HOST_FORCE 1 /* configure as pci host */
|
||||
#define PCI_HOST_AUTO 2 /* detected via arbiter enable */
|
||||
|
||||
#define CONFIG_PCI /* include pci support */
|
||||
#define CONFIG_PCI_HOST PCI_HOST_AUTO /* select pci host function */
|
||||
#define CONFIG_PCI_PNP /* do pci plug-and-play */
|
||||
/* resource configuration */
|
||||
|
||||
#define CONFIG_PCI_SCAN_SHOW /* print pci devices @ startup */
|
||||
|
||||
#define CONFIG_PCI_CONFIG_HOST_BRIDGE 1 /* don't skip host bridge config*/
|
||||
|
||||
#define CONFIG_PCI_BOOTDELAY 0 /* enable pci bootdelay variable*/
|
||||
|
||||
#define CONFIG_SYS_PCI_SUBSYS_VENDORID 0x12FE /* PCI Vendor ID: esd gmbh */
|
||||
#define CONFIG_SYS_PCI_SUBSYS_DEVICEID 0x0405 /* PCI Device ID: CPCI-405 */
|
||||
#define CONFIG_SYS_PCI_SUBSYS_DEVICEID2 0x0406 /* PCI Device ID: CPCI-405-A */
|
||||
#define CONFIG_SYS_PCI_CLASSCODE 0x0b20 /* PCI Class Code: Processor/PPC*/
|
||||
#define CONFIG_SYS_PCI_PTM1LA (bd->bi_memstart) /* point to sdram */
|
||||
#define CONFIG_SYS_PCI_PTM1MS (~(bd->bi_memsize - 1) | 1) /* memsize, enable hard-wired to 1 */
|
||||
#define CONFIG_SYS_PCI_PTM1PCI 0x00000000 /* Host: use this pci address */
|
||||
#define CONFIG_SYS_PCI_PTM2LA 0xffc00000 /* point to flash */
|
||||
#define CONFIG_SYS_PCI_PTM2MS 0xffc00001 /* 4MB, enable */
|
||||
#define CONFIG_SYS_PCI_PTM2PCI 0x04000000 /* Host: use this pci address */
|
||||
|
||||
#define CONFIG_PCI_4xx_PTM_OVERWRITE 1 /* overwrite PTMx settings by env */
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* IDE/ATA stuff
|
||||
*-----------------------------------------------------------------------
|
||||
*/
|
||||
#undef CONFIG_IDE_8xx_DIRECT /* no pcmcia interface required */
|
||||
#undef CONFIG_IDE_LED /* no led for ide supported */
|
||||
#define CONFIG_IDE_RESET 1 /* reset for ide supported */
|
||||
|
||||
#define CONFIG_SYS_IDE_MAXBUS 1 /* max. 1 IDE busses */
|
||||
#define CONFIG_SYS_IDE_MAXDEVICE (CONFIG_SYS_IDE_MAXBUS*1) /* max. 1 drives per IDE bus */
|
||||
|
||||
#define CONFIG_SYS_ATA_BASE_ADDR 0xF0100000
|
||||
#define CONFIG_SYS_ATA_IDE0_OFFSET 0x0000
|
||||
|
||||
#define CONFIG_SYS_ATA_DATA_OFFSET 0x0000 /* Offset for data I/O */
|
||||
#define CONFIG_SYS_ATA_REG_OFFSET 0x0000 /* Offset for normal register accesses */
|
||||
#define CONFIG_SYS_ATA_ALT_OFFSET 0x0000 /* Offset for alternate registers */
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* Start addresses for the final memory configuration
|
||||
* (Set up by the startup code)
|
||||
* Please note that CONFIG_SYS_SDRAM_BASE _must_ start at 0
|
||||
*/
|
||||
#define CONFIG_SYS_SDRAM_BASE 0x00000000
|
||||
#define CONFIG_SYS_FLASH_BASE 0xFFFC0000
|
||||
#define CONFIG_SYS_MONITOR_BASE CONFIG_SYS_FLASH_BASE
|
||||
#define CONFIG_SYS_MONITOR_LEN (256 * 1024) /* Reserve 256 kB for Monitor */
|
||||
#define CONFIG_SYS_MALLOC_LEN (128 * 1024) /* Reserve 128 kB for malloc() */
|
||||
|
||||
#define CONFIG_PRAM 0 /* use pram variable to overwrite */
|
||||
|
||||
/*
|
||||
* For booting Linux, the board info and command line data
|
||||
* have to be in the first 8 MB of memory, since this is
|
||||
* the maximum mapped by the Linux kernel during initialization.
|
||||
*/
|
||||
#define CONFIG_SYS_BOOTMAPSZ (8 << 20) /* Initial Memory map for Linux */
|
||||
|
||||
#define CONFIG_OF_LIBFDT
|
||||
#define CONFIG_OF_BOARD_SETUP
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* FLASH organization
|
||||
*/
|
||||
#define CONFIG_SYS_MAX_FLASH_BANKS 2 /* max number of memory banks */
|
||||
#define CONFIG_SYS_MAX_FLASH_SECT 256 /* max number of sectors on one chip */
|
||||
|
||||
#define CONFIG_SYS_FLASH_ERASE_TOUT 120000 /* Timeout for Flash Erase (in ms) */
|
||||
#define CONFIG_SYS_FLASH_WRITE_TOUT 500 /* Timeout for Flash Write (in ms) */
|
||||
|
||||
#define CONFIG_SYS_FLASH_WORD_SIZE unsigned short /* flash word size (width) */
|
||||
#define CONFIG_SYS_FLASH_ADDR0 0x5555 /* 1st address for flash config cycles */
|
||||
#define CONFIG_SYS_FLASH_ADDR1 0x2AAA /* 2nd address for flash config cycles */
|
||||
/*
|
||||
* The following defines are added for buggy IOP480 byte interface.
|
||||
* All other boards should use the standard values (CPCI405 etc.)
|
||||
*/
|
||||
#define CONFIG_SYS_FLASH_READ0 0x0000 /* 0 is standard */
|
||||
#define CONFIG_SYS_FLASH_READ1 0x0001 /* 1 is standard */
|
||||
#define CONFIG_SYS_FLASH_READ2 0x0002 /* 2 is standard */
|
||||
|
||||
#define CONFIG_SYS_FLASH_EMPTY_INFO /* print 'E' for empty sector on flinfo */
|
||||
|
||||
#if 0 /* Use NVRAM for environment variables */
|
||||
/*-----------------------------------------------------------------------
|
||||
* NVRAM organization
|
||||
*/
|
||||
#define CONFIG_ENV_IS_IN_NVRAM 1 /* use NVRAM for environment vars */
|
||||
#define CONFIG_ENV_SIZE 0x0ff8 /* Size of Environment vars */
|
||||
#define CONFIG_ENV_ADDR \
|
||||
(CONFIG_SYS_NVRAM_BASE_ADDR+CONFIG_SYS_NVRAM_SIZE-(CONFIG_ENV_SIZE+8)) /* Env */
|
||||
|
||||
#else /* Use EEPROM for environment variables */
|
||||
|
||||
#define CONFIG_ENV_IS_IN_EEPROM 1 /* use EEPROM for environment vars */
|
||||
#define CONFIG_ENV_OFFSET 0x000 /* environment starts at the beginning of the EEPROM */
|
||||
#define CONFIG_ENV_SIZE 0x800 /* 2048 bytes may be used for env vars*/
|
||||
/* total size of a CAT24WC16 is 2048 bytes */
|
||||
#endif
|
||||
|
||||
#define CONFIG_SYS_NVRAM_BASE_ADDR 0xf0200000 /* NVRAM base address */
|
||||
#define CONFIG_SYS_NVRAM_SIZE (32*1024) /* NVRAM size */
|
||||
#define CONFIG_SYS_VXWORKS_MAC_PTR (CONFIG_SYS_NVRAM_BASE_ADDR+0x6900) /* VxWorks eth-addr*/
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* I2C EEPROM (CAT24WC16) for environment
|
||||
*/
|
||||
#define CONFIG_HARD_I2C /* I2c with hardware support */
|
||||
#define CONFIG_PPC4XX_I2C /* use PPC4xx driver */
|
||||
#define CONFIG_SYS_I2C_SPEED 400000 /* I2C speed and slave address */
|
||||
#define CONFIG_SYS_I2C_SLAVE 0x7F
|
||||
|
||||
#define CONFIG_SYS_I2C_EEPROM_ADDR 0x50 /* EEPROM CAT28WC08 */
|
||||
#define CONFIG_SYS_I2C_EEPROM_ADDR_LEN 1 /* Bytes of address */
|
||||
/* mask of address bits that overflow into the "EEPROM chip address" */
|
||||
#define CONFIG_SYS_I2C_EEPROM_ADDR_OVERFLOW 0x07
|
||||
#define CONFIG_SYS_EEPROM_PAGE_WRITE_BITS 4 /* The Catalyst CAT24WC08 has */
|
||||
/* 16 byte page write mode using*/
|
||||
/* last 4 bits of the address */
|
||||
#define CONFIG_SYS_EEPROM_PAGE_WRITE_DELAY_MS 10 /* and takes up to 10 msec */
|
||||
|
||||
/*
|
||||
* Init Memory Controller:
|
||||
*
|
||||
* BR0/1 and OR0/1 (FLASH)
|
||||
*/
|
||||
|
||||
#define FLASH_BASE0_PRELIM 0xFF800000 /* FLASH bank #0 */
|
||||
#define FLASH_BASE1_PRELIM 0xFFC00000 /* FLASH bank #1 */
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* External Bus Controller (EBC) Setup
|
||||
*/
|
||||
|
||||
/* Memory Bank 0 (Flash Bank 0) initialization */
|
||||
#define CONFIG_SYS_EBC_PB0AP 0x92015480
|
||||
#define CONFIG_SYS_EBC_PB0CR 0xFFC5A000 /* BAS=0xFFC,BS=4MB,BU=R/W,BW=16bit */
|
||||
|
||||
/* Memory Bank 1 (Flash Bank 1) initialization */
|
||||
#define CONFIG_SYS_EBC_PB1AP 0x92015480
|
||||
#define CONFIG_SYS_EBC_PB1CR 0xFF85A000 /* BAS=0xFF8,BS=4MB,BU=R/W,BW=16bit */
|
||||
|
||||
/* Memory Bank 2 (CAN0, 1) initialization */
|
||||
#define CONFIG_SYS_EBC_PB2AP 0x010053C0 /* BWT=2,WBN=1,WBF=1,TH=1,RE=1,SOR=1,BEM=1 */
|
||||
#define CONFIG_SYS_EBC_PB2CR 0xF0018000 /* BAS=0xF00,BS=1MB,BU=R/W,BW=8bit */
|
||||
#define CONFIG_SYS_LED_ADDR 0xF0000380
|
||||
|
||||
/* Memory Bank 3 (CompactFlash IDE) initialization */
|
||||
#define CONFIG_SYS_EBC_PB3AP 0x010053C0 /* BWT=2,WBN=1,WBF=1,TH=1,RE=1,SOR=1,BEM=1 */
|
||||
#define CONFIG_SYS_EBC_PB3CR 0xF011A000 /* BAS=0xF01,BS=1MB,BU=R/W,BW=16bit */
|
||||
|
||||
/* Memory Bank 4 (NVRAM/RTC) initialization */
|
||||
/*#define CONFIG_SYS_EBC_PB4AP 0x01805280 / * TWT=3,WBN=1,WBF=1,TH=1,SOR=1 */
|
||||
#define CONFIG_SYS_EBC_PB4AP 0x01805680 /* TWT=3,WBN=1,WBF=1,TH=3,SOR=1 */
|
||||
#define CONFIG_SYS_EBC_PB4CR 0xF0218000 /* BAS=0xF02,BS=1MB,BU=R/W,BW=8bit */
|
||||
|
||||
/* Memory Bank 5 (optional Quart) initialization */
|
||||
#define CONFIG_SYS_EBC_PB5AP 0x04005B80 /* TWT=8,WBN=1,WBF=1,TH=5,RE=1,SOR=1*/
|
||||
#define CONFIG_SYS_EBC_PB5CR 0xF0318000 /* BAS=0xF03,BS=1MB,BU=R/W,BW=8bit */
|
||||
|
||||
/* Memory Bank 6 (FPGA internal) initialization */
|
||||
#define CONFIG_SYS_EBC_PB6AP 0x010053C0 /* BWT=2,WBN=1,WBF=1,TH=1,RE=1,SOR=1,BEM=1 */
|
||||
#define CONFIG_SYS_EBC_PB6CR 0xF041A000 /* BAS=0xF01,BS=1MB,BU=R/W,BW=16bit */
|
||||
#define CONFIG_SYS_FPGA_BASE_ADDR 0xF0400000
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* FPGA stuff
|
||||
*/
|
||||
/* FPGA internal regs */
|
||||
#define CONFIG_SYS_FPGA_MODE 0x00
|
||||
#define CONFIG_SYS_FPGA_STATUS 0x02
|
||||
#define CONFIG_SYS_FPGA_TS 0x04
|
||||
#define CONFIG_SYS_FPGA_TS_LOW 0x06
|
||||
#define CONFIG_SYS_FPGA_TS_CAP0 0x10
|
||||
#define CONFIG_SYS_FPGA_TS_CAP0_LOW 0x12
|
||||
#define CONFIG_SYS_FPGA_TS_CAP1 0x14
|
||||
#define CONFIG_SYS_FPGA_TS_CAP1_LOW 0x16
|
||||
#define CONFIG_SYS_FPGA_TS_CAP2 0x18
|
||||
#define CONFIG_SYS_FPGA_TS_CAP2_LOW 0x1a
|
||||
#define CONFIG_SYS_FPGA_TS_CAP3 0x1c
|
||||
#define CONFIG_SYS_FPGA_TS_CAP3_LOW 0x1e
|
||||
|
||||
/* FPGA Mode Reg */
|
||||
#define CONFIG_SYS_FPGA_MODE_CF_RESET 0x0001
|
||||
#define CONFIG_SYS_FPGA_MODE_DUART_RESET 0x0002
|
||||
#define CONFIG_SYS_FPGA_MODE_ENABLE_OUTPUT 0x0004 /* only set on CPCI-405 Ver 3 */
|
||||
#define CONFIG_SYS_FPGA_MODE_TS_IRQ_ENABLE 0x0100
|
||||
#define CONFIG_SYS_FPGA_MODE_TS_IRQ_CLEAR 0x1000
|
||||
#define CONFIG_SYS_FPGA_MODE_TS_CLEAR 0x2000
|
||||
|
||||
/* FPGA Status Reg */
|
||||
#define CONFIG_SYS_FPGA_STATUS_DIP0 0x0001
|
||||
#define CONFIG_SYS_FPGA_STATUS_DIP1 0x0002
|
||||
#define CONFIG_SYS_FPGA_STATUS_DIP2 0x0004
|
||||
#define CONFIG_SYS_FPGA_STATUS_FLASH 0x0008
|
||||
#define CONFIG_SYS_FPGA_STATUS_TS_IRQ 0x1000
|
||||
|
||||
#define CONFIG_SYS_FPGA_SPARTAN2 1 /* using Xilinx Spartan 2 now */
|
||||
#define CONFIG_SYS_FPGA_MAX_SIZE 32*1024 /* 32kByte is enough for XC2S15 */
|
||||
|
||||
/* FPGA program pin configuration */
|
||||
#define CONFIG_SYS_FPGA_PRG 0x04000000 /* FPGA program pin (ppc output) */
|
||||
#define CONFIG_SYS_FPGA_CLK 0x02000000 /* FPGA clk pin (ppc output) */
|
||||
#define CONFIG_SYS_FPGA_DATA 0x01000000 /* FPGA data pin (ppc output) */
|
||||
#define CONFIG_SYS_FPGA_INIT 0x00010000 /* FPGA init pin (ppc input) */
|
||||
#define CONFIG_SYS_FPGA_DONE 0x00008000 /* FPGA done pin (ppc input) */
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* Definitions for initial stack pointer and data area (in data cache)
|
||||
*/
|
||||
#define CONFIG_SYS_INIT_DCACHE_CS 7 /* use cs # 7 for data cache memory */
|
||||
|
||||
#define CONFIG_SYS_INIT_RAM_ADDR 0x40000000 /* use data cache */
|
||||
#define CONFIG_SYS_INIT_RAM_SIZE 0x2000 /* Size of used area in RAM */
|
||||
#define CONFIG_SYS_GBL_DATA_OFFSET (CONFIG_SYS_INIT_RAM_SIZE - GENERATED_GBL_DATA_SIZE)
|
||||
#define CONFIG_SYS_INIT_SP_OFFSET CONFIG_SYS_GBL_DATA_OFFSET
|
||||
|
||||
#endif /* __CONFIG_H */
|
||||
|
|
@ -0,0 +1,391 @@
|
|||
/*
|
||||
* (C) Copyright 2001-2003
|
||||
* Stefan Roese, esd gmbh germany, stefan.roese@esd-electronics.com
|
||||
*
|
||||
* See file CREDITS for list of people who contributed to this
|
||||
* project.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of
|
||||
* the License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston,
|
||||
* MA 02111-1307 USA
|
||||
*/
|
||||
|
||||
/*
|
||||
* board/config.h - configuration options, board specific
|
||||
*/
|
||||
|
||||
#ifndef __CONFIG_H
|
||||
#define __CONFIG_H
|
||||
|
||||
/*
|
||||
* High Level Configuration Options
|
||||
* (easy to change)
|
||||
*/
|
||||
|
||||
#define CONFIG_405GP 1 /* This is a PPC405 CPU */
|
||||
#define CONFIG_4xx 1 /* ...member of PPC4xx family */
|
||||
#define CONFIG_CPCI405 1 /* ...on a CPCI405 board */
|
||||
#define CONFIG_CPCI405_VER2 1 /* ...version 2 */
|
||||
#define CONFIG_CPCI405AB 1 /* ...and special AB version */
|
||||
|
||||
#define CONFIG_SYS_TEXT_BASE 0xFFFC0000
|
||||
|
||||
#define CONFIG_BOARD_EARLY_INIT_F 1 /* call board_early_init_f() */
|
||||
#define CONFIG_MISC_INIT_R 1 /* call misc_init_r() */
|
||||
|
||||
#define CONFIG_SYS_CLK_FREQ 33330000 /* external frequency to pll */
|
||||
|
||||
#define CONFIG_BAUDRATE 9600
|
||||
#define CONFIG_BOOTDELAY 3 /* autoboot after 3 seconds */
|
||||
|
||||
#undef CONFIG_BOOTARGS
|
||||
#undef CONFIG_BOOTCOMMAND
|
||||
|
||||
#define CONFIG_PREBOOT /* enable preboot variable */
|
||||
|
||||
#undef CONFIG_LOADS_ECHO /* echo on for serial download */
|
||||
#define CONFIG_SYS_LOADS_BAUD_CHANGE 1 /* allow baudrate change */
|
||||
|
||||
#define CONFIG_PPC4xx_EMAC
|
||||
#define CONFIG_MII 1 /* MII PHY management */
|
||||
#define CONFIG_PHY_ADDR 0 /* PHY address */
|
||||
#define CONFIG_LXT971_NO_SLEEP 1 /* disable sleep mode in LXT971 */
|
||||
#define CONFIG_RESET_PHY_R 1 /* use reset_phy() to disable phy sleep mode */
|
||||
|
||||
#undef CONFIG_HAS_ETH1
|
||||
|
||||
#define CONFIG_RTC_M48T35A 1 /* ST Electronics M48 timekeeper */
|
||||
|
||||
/*
|
||||
* BOOTP options
|
||||
*/
|
||||
#define CONFIG_BOOTP_SUBNETMASK
|
||||
#define CONFIG_BOOTP_GATEWAY
|
||||
#define CONFIG_BOOTP_HOSTNAME
|
||||
#define CONFIG_BOOTP_BOOTPATH
|
||||
#define CONFIG_BOOTP_DNS
|
||||
#define CONFIG_BOOTP_DNS2
|
||||
#define CONFIG_BOOTP_SEND_HOSTNAME
|
||||
|
||||
|
||||
/*
|
||||
* Command line configuration.
|
||||
*/
|
||||
#include <config_cmd_default.h>
|
||||
|
||||
#define CONFIG_CMD_DHCP
|
||||
#define CONFIG_CMD_PCI
|
||||
#define CONFIG_CMD_IRQ
|
||||
#define CONFIG_CMD_IDE
|
||||
#define CONFIG_CMD_FAT
|
||||
#define CONFIG_CMD_ELF
|
||||
#define CONFIG_CMD_DATE
|
||||
#define CONFIG_CMD_I2C
|
||||
#define CONFIG_CMD_MII
|
||||
#define CONFIG_CMD_PING
|
||||
#define CONFIG_CMD_BSP
|
||||
#define CONFIG_CMD_EEPROM
|
||||
|
||||
|
||||
#define CONFIG_MAC_PARTITION
|
||||
#define CONFIG_DOS_PARTITION
|
||||
|
||||
#define CONFIG_SUPPORT_VFAT
|
||||
|
||||
#undef CONFIG_WATCHDOG /* watchdog disabled */
|
||||
|
||||
#define CONFIG_SDRAM_BANK0 1 /* init onboard SDRAM bank 0 */
|
||||
|
||||
/*
|
||||
* Miscellaneous configurable options
|
||||
*/
|
||||
#define CONFIG_SYS_LONGHELP /* undef to save memory */
|
||||
#define CONFIG_SYS_PROMPT "=> " /* Monitor Command Prompt */
|
||||
|
||||
#undef CONFIG_SYS_HUSH_PARSER /* use "hush" command parser */
|
||||
|
||||
#if defined(CONFIG_CMD_KGDB)
|
||||
#define CONFIG_SYS_CBSIZE 1024 /* Console I/O Buffer Size */
|
||||
#else
|
||||
#define CONFIG_SYS_CBSIZE 256 /* Console I/O Buffer Size */
|
||||
#endif
|
||||
#define CONFIG_SYS_PBSIZE (CONFIG_SYS_CBSIZE+sizeof(CONFIG_SYS_PROMPT)+16) /* Print Buffer Size */
|
||||
#define CONFIG_SYS_MAXARGS 16 /* max number of command args */
|
||||
#define CONFIG_SYS_BARGSIZE CONFIG_SYS_CBSIZE /* Boot Argument Buffer Size */
|
||||
|
||||
#define CONFIG_SYS_DEVICE_NULLDEV 1 /* include nulldev device */
|
||||
|
||||
#define CONFIG_SYS_CONSOLE_INFO_QUIET 1 /* don't print console @ startup*/
|
||||
|
||||
#define CONFIG_SYS_MEMTEST_START 0x0400000 /* memtest works on */
|
||||
#define CONFIG_SYS_MEMTEST_END 0x0C00000 /* 4 ... 12 MB in DRAM */
|
||||
|
||||
#define CONFIG_CONS_INDEX 1 /* Use UART0 */
|
||||
#define CONFIG_SYS_NS16550
|
||||
#define CONFIG_SYS_NS16550_SERIAL
|
||||
#define CONFIG_SYS_NS16550_REG_SIZE 1
|
||||
#define CONFIG_SYS_NS16550_CLK get_serial_clock()
|
||||
|
||||
#undef CONFIG_SYS_EXT_SERIAL_CLOCK /* no external serial clock used */
|
||||
#define CONFIG_SYS_BASE_BAUD 691200
|
||||
|
||||
/* The following table includes the supported baudrates */
|
||||
#define CONFIG_SYS_BAUDRATE_TABLE \
|
||||
{ 300, 600, 1200, 2400, 4800, 9600, 19200, 38400, \
|
||||
57600, 115200, 230400, 460800, 921600 }
|
||||
|
||||
#define CONFIG_SYS_LOAD_ADDR 0x100000 /* default load address */
|
||||
#define CONFIG_SYS_EXTBDINFO 1 /* To use extended board_into (bd_t) */
|
||||
|
||||
#define CONFIG_SYS_HZ 1000 /* decrementer freq: 1 ms ticks */
|
||||
|
||||
#define CONFIG_CMDLINE_EDITING /* add command line history */
|
||||
|
||||
#define CONFIG_ZERO_BOOTDELAY_CHECK /* check for keypress on bootdelay==0 */
|
||||
|
||||
#define CONFIG_VERSION_VARIABLE 1 /* include version env variable */
|
||||
|
||||
#define CONFIG_AUTOBOOT_KEYED 1
|
||||
#define CONFIG_AUTOBOOT_PROMPT \
|
||||
"Press SPACE to abort autoboot in %d seconds\n", bootdelay
|
||||
#undef CONFIG_AUTOBOOT_DELAY_STR
|
||||
#define CONFIG_AUTOBOOT_STOP_STR " "
|
||||
|
||||
#define CONFIG_SYS_RX_ETH_BUFFER 16 /* use 16 rx buffer on 405 emac */
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* PCI stuff
|
||||
*-----------------------------------------------------------------------
|
||||
*/
|
||||
#define PCI_HOST_ADAPTER 0 /* configure as pci adapter */
|
||||
#define PCI_HOST_FORCE 1 /* configure as pci host */
|
||||
#define PCI_HOST_AUTO 2 /* detected via arbiter enable */
|
||||
|
||||
#define CONFIG_PCI /* include pci support */
|
||||
#define CONFIG_PCI_HOST PCI_HOST_AUTO /* select pci host function */
|
||||
#define CONFIG_PCI_PNP /* do pci plug-and-play */
|
||||
/* resource configuration */
|
||||
|
||||
#define CONFIG_PCI_SCAN_SHOW /* print pci devices @ startup */
|
||||
|
||||
#define CONFIG_PCI_CONFIG_HOST_BRIDGE 1 /* don't skip host bridge config*/
|
||||
|
||||
#define CONFIG_PCI_BOOTDELAY 0 /* enable pci bootdelay variable*/
|
||||
|
||||
#define CONFIG_SYS_PCI_SUBSYS_VENDORID 0x12FE /* PCI Vendor ID: esd gmbh */
|
||||
#define CONFIG_SYS_PCI_SUBSYS_DEVICEID 0x0405 /* PCI Device ID: CPCI-405 */
|
||||
#define CONFIG_SYS_PCI_SUBSYS_DEVICEID2 0x0406 /* PCI Device ID: CPCI-405-A */
|
||||
#define CONFIG_SYS_PCI_CLASSCODE 0x0b20 /* PCI Class Code: Processor/PPC*/
|
||||
#define CONFIG_SYS_PCI_PTM1LA (bd->bi_memstart) /* point to sdram */
|
||||
#define CONFIG_SYS_PCI_PTM1MS (~(bd->bi_memsize - 1) | 1) /* memsize, enable hard-wired to 1 */
|
||||
#define CONFIG_SYS_PCI_PTM1PCI 0x00000000 /* Host: use this pci address */
|
||||
#define CONFIG_SYS_PCI_PTM2LA 0xffc00000 /* point to flash */
|
||||
#define CONFIG_SYS_PCI_PTM2MS 0xffc00001 /* 4MB, enable */
|
||||
#define CONFIG_SYS_PCI_PTM2PCI 0x04000000 /* Host: use this pci address */
|
||||
|
||||
#define CONFIG_PCI_4xx_PTM_OVERWRITE 1 /* overwrite PTMx settings by env */
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* IDE/ATA stuff
|
||||
*-----------------------------------------------------------------------
|
||||
*/
|
||||
#undef CONFIG_IDE_8xx_DIRECT /* no pcmcia interface required */
|
||||
#undef CONFIG_IDE_LED /* no led for ide supported */
|
||||
#define CONFIG_IDE_RESET 1 /* reset for ide supported */
|
||||
|
||||
#define CONFIG_SYS_IDE_MAXBUS 1 /* max. 1 IDE busses */
|
||||
#define CONFIG_SYS_IDE_MAXDEVICE (CONFIG_SYS_IDE_MAXBUS*1) /* max. 1 drives per IDE bus */
|
||||
|
||||
#define CONFIG_SYS_ATA_BASE_ADDR 0xF0100000
|
||||
#define CONFIG_SYS_ATA_IDE0_OFFSET 0x0000
|
||||
|
||||
#define CONFIG_SYS_ATA_DATA_OFFSET 0x0000 /* Offset for data I/O */
|
||||
#define CONFIG_SYS_ATA_REG_OFFSET 0x0000 /* Offset for normal register accesses */
|
||||
#define CONFIG_SYS_ATA_ALT_OFFSET 0x0000 /* Offset for alternate registers */
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* Start addresses for the final memory configuration
|
||||
* (Set up by the startup code)
|
||||
* Please note that CONFIG_SYS_SDRAM_BASE _must_ start at 0
|
||||
*/
|
||||
#define CONFIG_SYS_SDRAM_BASE 0x00000000
|
||||
#define CONFIG_SYS_FLASH_BASE 0xFFFC0000
|
||||
#define CONFIG_SYS_MONITOR_BASE CONFIG_SYS_FLASH_BASE
|
||||
#define CONFIG_SYS_MONITOR_LEN (256 * 1024) /* Reserve 256 kB for Monitor */
|
||||
#define CONFIG_SYS_MALLOC_LEN (256 * 1024) /* Reserve 256 kB for malloc() */
|
||||
|
||||
#define CONFIG_PRAM 0 /* use pram variable to overwrite */
|
||||
|
||||
/*
|
||||
* For booting Linux, the board info and command line data
|
||||
* have to be in the first 8 MB of memory, since this is
|
||||
* the maximum mapped by the Linux kernel during initialization.
|
||||
*/
|
||||
#define CONFIG_SYS_BOOTMAPSZ (8 << 20) /* Initial Memory map for Linux */
|
||||
|
||||
#define CONFIG_OF_LIBFDT
|
||||
#define CONFIG_OF_BOARD_SETUP
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* FLASH organization
|
||||
*/
|
||||
#define CONFIG_SYS_MAX_FLASH_BANKS 2 /* max number of memory banks */
|
||||
#define CONFIG_SYS_MAX_FLASH_SECT 256 /* max number of sectors on one chip */
|
||||
|
||||
#define CONFIG_SYS_FLASH_ERASE_TOUT 120000 /* Timeout for Flash Erase (in ms) */
|
||||
#define CONFIG_SYS_FLASH_WRITE_TOUT 500 /* Timeout for Flash Write (in ms) */
|
||||
|
||||
#define CONFIG_SYS_FLASH_WORD_SIZE unsigned short /* flash word size (width) */
|
||||
#define CONFIG_SYS_FLASH_ADDR0 0x5555 /* 1st address for flash config cycles */
|
||||
#define CONFIG_SYS_FLASH_ADDR1 0x2AAA /* 2nd address for flash config cycles */
|
||||
/*
|
||||
* The following defines are added for buggy IOP480 byte interface.
|
||||
* All other boards should use the standard values (CPCI405 etc.)
|
||||
*/
|
||||
#define CONFIG_SYS_FLASH_READ0 0x0000 /* 0 is standard */
|
||||
#define CONFIG_SYS_FLASH_READ1 0x0001 /* 1 is standard */
|
||||
#define CONFIG_SYS_FLASH_READ2 0x0002 /* 2 is standard */
|
||||
|
||||
#define CONFIG_SYS_FLASH_EMPTY_INFO /* print 'E' for empty sector on flinfo */
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* I2C EEPROM (CAT24WC32) for environment
|
||||
*/
|
||||
#define CONFIG_HARD_I2C /* I2c with hardware support */
|
||||
#define CONFIG_PPC4XX_I2C /* use PPC4xx driver */
|
||||
#define CONFIG_SYS_I2C_SPEED 100000 /* I2C speed and slave address */
|
||||
#define CONFIG_SYS_I2C_SLAVE 0x7F
|
||||
|
||||
#define CONFIG_SYS_I2C_EEPROM_ADDR 0x50 /* EEPROM CAT28WC32 */
|
||||
#define CONFIG_SYS_I2C_EEPROM_ADDR_LEN 2 /* Bytes of address */
|
||||
/* mask of address bits that overflow into the "EEPROM chip address" */
|
||||
#define CONFIG_SYS_I2C_EEPROM_ADDR_OVERFLOW 0x01
|
||||
#define CONFIG_SYS_I2C_MULTI_EEPROMS 1 /* more than one eeprom used! */
|
||||
#define CONFIG_SYS_EEPROM_PAGE_WRITE_BITS 5 /* The Catalyst CAT24WC32 has */
|
||||
/* 32 byte page write mode using*/
|
||||
/* last 5 bits of the address */
|
||||
#define CONFIG_SYS_EEPROM_PAGE_WRITE_DELAY_MS 10 /* and takes up to 10 msec */
|
||||
|
||||
/* Use EEPROM for environment variables */
|
||||
|
||||
#define CONFIG_ENV_IS_IN_EEPROM 1 /* use EEPROM for environment vars */
|
||||
#define CONFIG_ENV_OFFSET 0x000 /* environment starts at the beginning of the EEPROM */
|
||||
#define CONFIG_ENV_SIZE 0x800 /* 2048 bytes may be used for env vars*/
|
||||
/* total size of a CAT24WC32 is 4096 bytes */
|
||||
|
||||
#define CONFIG_SYS_NVRAM_BASE_ADDR 0xf0200000 /* NVRAM base address */
|
||||
#define CONFIG_SYS_NVRAM_SIZE (32*1024) /* NVRAM size */
|
||||
#define CONFIG_SYS_VXWORKS_MAC_PTR (CONFIG_SYS_NVRAM_BASE_ADDR+0x6900) /* VxWorks eth-addr*/
|
||||
|
||||
/*
|
||||
* Init Memory Controller:
|
||||
*
|
||||
* BR0/1 and OR0/1 (FLASH)
|
||||
*/
|
||||
|
||||
#define FLASH_BASE0_PRELIM 0xFF800000 /* FLASH bank #0 */
|
||||
#define FLASH_BASE1_PRELIM 0xFFC00000 /* FLASH bank #1 */
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* External Bus Controller (EBC) Setup
|
||||
*/
|
||||
|
||||
/* Memory Bank 0 (Flash Bank 0) initialization */
|
||||
#define CONFIG_SYS_EBC_PB0AP 0x92015480
|
||||
#define CONFIG_SYS_EBC_PB0CR 0xFFC5A000 /* BAS=0xFFC,BS=4MB,BU=R/W,BW=16bit */
|
||||
|
||||
/* Memory Bank 1 (Flash Bank 1) initialization */
|
||||
#define CONFIG_SYS_EBC_PB1AP 0x92015480
|
||||
#define CONFIG_SYS_EBC_PB1CR 0xFF85A000 /* BAS=0xFF8,BS=4MB,BU=R/W,BW=16bit */
|
||||
|
||||
/* Memory Bank 2 (CAN0, 1) initialization */
|
||||
#define CONFIG_SYS_EBC_PB2AP 0x010053C0 /* BWT=2,WBN=1,WBF=1,TH=1,RE=1,SOR=1,BEM=1 */
|
||||
#define CONFIG_SYS_EBC_PB2CR 0xF0018000 /* BAS=0xF00,BS=1MB,BU=R/W,BW=8bit */
|
||||
#define CONFIG_SYS_LED_ADDR 0xF0000380
|
||||
|
||||
/* Memory Bank 3 (CompactFlash IDE) initialization */
|
||||
#define CONFIG_SYS_EBC_PB3AP 0x010053C0 /* BWT=2,WBN=1,WBF=1,TH=1,RE=1,SOR=1,BEM=1 */
|
||||
#define CONFIG_SYS_EBC_PB3CR 0xF011A000 /* BAS=0xF01,BS=1MB,BU=R/W,BW=16bit */
|
||||
|
||||
/* Memory Bank 4 (NVRAM/RTC) initialization */
|
||||
/*#define CONFIG_SYS_EBC_PB4AP 0x01805280 / * TWT=3,WBN=1,WBF=1,TH=1,SOR=1 */
|
||||
#define CONFIG_SYS_EBC_PB4AP 0x01805680 /* TWT=3,WBN=1,WBF=1,TH=3,SOR=1 */
|
||||
#define CONFIG_SYS_EBC_PB4CR 0xF0218000 /* BAS=0xF02,BS=1MB,BU=R/W,BW=8bit */
|
||||
|
||||
/* Memory Bank 5 (optional Quart) initialization */
|
||||
#define CONFIG_SYS_EBC_PB5AP 0x04005B80 /* TWT=8,WBN=1,WBF=1,TH=5,RE=1,SOR=1*/
|
||||
#define CONFIG_SYS_EBC_PB5CR 0xF0318000 /* BAS=0xF03,BS=1MB,BU=R/W,BW=8bit */
|
||||
|
||||
/* Memory Bank 6 (FPGA internal) initialization */
|
||||
#define CONFIG_SYS_EBC_PB6AP 0x010053C0 /* BWT=2,WBN=1,WBF=1,TH=1,RE=1,SOR=1,BEM=1 */
|
||||
#define CONFIG_SYS_EBC_PB6CR 0xF041A000 /* BAS=0xF01,BS=1MB,BU=R/W,BW=16bit */
|
||||
#define CONFIG_SYS_FPGA_BASE_ADDR 0xF0400000
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* FPGA stuff
|
||||
*/
|
||||
/* FPGA internal regs */
|
||||
#define CONFIG_SYS_FPGA_MODE 0x00
|
||||
#define CONFIG_SYS_FPGA_STATUS 0x02
|
||||
#define CONFIG_SYS_FPGA_TS 0x04
|
||||
#define CONFIG_SYS_FPGA_TS_LOW 0x06
|
||||
#define CONFIG_SYS_FPGA_TS_CAP0 0x10
|
||||
#define CONFIG_SYS_FPGA_TS_CAP0_LOW 0x12
|
||||
#define CONFIG_SYS_FPGA_TS_CAP1 0x14
|
||||
#define CONFIG_SYS_FPGA_TS_CAP1_LOW 0x16
|
||||
#define CONFIG_SYS_FPGA_TS_CAP2 0x18
|
||||
#define CONFIG_SYS_FPGA_TS_CAP2_LOW 0x1a
|
||||
#define CONFIG_SYS_FPGA_TS_CAP3 0x1c
|
||||
#define CONFIG_SYS_FPGA_TS_CAP3_LOW 0x1e
|
||||
|
||||
/* FPGA Mode Reg */
|
||||
#define CONFIG_SYS_FPGA_MODE_CF_RESET 0x0001
|
||||
#define CONFIG_SYS_FPGA_MODE_DUART_RESET 0x0002
|
||||
#define CONFIG_SYS_FPGA_MODE_ENABLE_OUTPUT 0x0004 /* only set on CPCI-405 Ver 3 */
|
||||
#define CONFIG_SYS_FPGA_MODE_1WIRE_DIR 0x0100 /* dir=1 -> output */
|
||||
#define CONFIG_SYS_FPGA_MODE_SIM_OK_DIR 0x0200
|
||||
#define CONFIG_SYS_FPGA_MODE_TESTRIG_FAIL_DIR 0x0400
|
||||
#define CONFIG_SYS_FPGA_MODE_1WIRE 0x1000
|
||||
#define CONFIG_SYS_FPGA_MODE_SIM_OK 0x2000 /* wired-or net from all devices */
|
||||
#define CONFIG_SYS_FPGA_MODE_TESTRIG_FAIL 0x4000
|
||||
|
||||
/* FPGA Status Reg */
|
||||
#define CONFIG_SYS_FPGA_STATUS_DIP0 0x0001
|
||||
#define CONFIG_SYS_FPGA_STATUS_DIP1 0x0002
|
||||
#define CONFIG_SYS_FPGA_STATUS_DIP2 0x0004
|
||||
#define CONFIG_SYS_FPGA_STATUS_FLASH 0x0008
|
||||
#define CONFIG_SYS_FPGA_STATUS_1WIRE 0x1000
|
||||
#define CONFIG_SYS_FPGA_STATUS_SIM_OK 0x2000
|
||||
|
||||
#define CONFIG_SYS_FPGA_SPARTAN2 1 /* using Xilinx Spartan 2 now */
|
||||
#define CONFIG_SYS_FPGA_MAX_SIZE 128*1024 /* 128kByte is enough for XC2S30 */
|
||||
|
||||
/* FPGA program pin configuration */
|
||||
#define CONFIG_SYS_FPGA_PRG 0x04000000 /* FPGA program pin (ppc output) */
|
||||
#define CONFIG_SYS_FPGA_CLK 0x02000000 /* FPGA clk pin (ppc output) */
|
||||
#define CONFIG_SYS_FPGA_DATA 0x01000000 /* FPGA data pin (ppc output) */
|
||||
#define CONFIG_SYS_FPGA_INIT 0x00010000 /* FPGA init pin (ppc input) */
|
||||
#define CONFIG_SYS_FPGA_DONE 0x00008000 /* FPGA done pin (ppc input) */
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* Definitions for initial stack pointer and data area (in data cache)
|
||||
*/
|
||||
#define CONFIG_SYS_INIT_DCACHE_CS 7 /* use cs # 7 for data cache memory */
|
||||
|
||||
#define CONFIG_SYS_INIT_RAM_ADDR 0x40000000 /* use data cache */
|
||||
#define CONFIG_SYS_INIT_RAM_SIZE 0x2000 /* Size of used area in RAM */
|
||||
#define CONFIG_SYS_GBL_DATA_OFFSET (CONFIG_SYS_INIT_RAM_SIZE - GENERATED_GBL_DATA_SIZE)
|
||||
#define CONFIG_SYS_INIT_SP_OFFSET CONFIG_SYS_GBL_DATA_OFFSET
|
||||
|
||||
#endif /* __CONFIG_H */
|
||||
|
|
@ -0,0 +1,394 @@
|
|||
/*
|
||||
* (C) Copyright 2001-2004
|
||||
* Stefan Roese, esd gmbh germany, stefan.roese@esd-electronics.com
|
||||
*
|
||||
* See file CREDITS for list of people who contributed to this
|
||||
* project.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of
|
||||
* the License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston,
|
||||
* MA 02111-1307 USA
|
||||
*/
|
||||
|
||||
/*
|
||||
* board/config.h - configuration options, board specific
|
||||
*/
|
||||
|
||||
#ifndef __CONFIG_H
|
||||
#define __CONFIG_H
|
||||
|
||||
/*
|
||||
* High Level Configuration Options
|
||||
* (easy to change)
|
||||
*/
|
||||
|
||||
#define CONFIG_405GP 1 /* This is a PPC405 CPU */
|
||||
#define CONFIG_4xx 1 /* ...member of PPC4xx family */
|
||||
#define CONFIG_CPCI405 1 /* ...on a CPCI405 board */
|
||||
#define CONFIG_CPCI405_VER2 1 /* ...version 2 */
|
||||
|
||||
#define CONFIG_SYS_TEXT_BASE 0xFFFC0000
|
||||
|
||||
#define CONFIG_BOARD_EARLY_INIT_F 1 /* call board_early_init_f() */
|
||||
#define CONFIG_MISC_INIT_R 1 /* call misc_init_r() */
|
||||
|
||||
#define CONFIG_SYS_CLK_FREQ 33330000 /* external frequency to pll */
|
||||
|
||||
#define CONFIG_BAUDRATE 9600
|
||||
#define CONFIG_BOOTDELAY 3 /* autoboot after 3 seconds */
|
||||
|
||||
#undef CONFIG_BOOTARGS
|
||||
#undef CONFIG_BOOTCOMMAND
|
||||
|
||||
#define CONFIG_PREBOOT /* enable preboot variable */
|
||||
|
||||
#define CONFIG_LOADS_ECHO 1 /* echo on for serial download */
|
||||
#define CONFIG_SYS_LOADS_BAUD_CHANGE 1 /* allow baudrate change */
|
||||
|
||||
#define CONFIG_PPC4xx_EMAC
|
||||
#define CONFIG_MII 1 /* MII PHY management */
|
||||
#define CONFIG_PHY_ADDR 0 /* PHY address */
|
||||
#define CONFIG_LXT971_NO_SLEEP 1 /* disable sleep mode in LXT971 */
|
||||
#define CONFIG_RESET_PHY_R 1 /* use reset_phy() to disable phy sleep mode */
|
||||
|
||||
#undef CONFIG_HAS_ETH1
|
||||
|
||||
#define CONFIG_RTC_M48T35A 1 /* ST Electronics M48 timekeeper */
|
||||
|
||||
/*
|
||||
* BOOTP options
|
||||
*/
|
||||
#define CONFIG_BOOTP_SUBNETMASK
|
||||
#define CONFIG_BOOTP_GATEWAY
|
||||
#define CONFIG_BOOTP_HOSTNAME
|
||||
#define CONFIG_BOOTP_BOOTPATH
|
||||
#define CONFIG_BOOTP_DNS
|
||||
#define CONFIG_BOOTP_DNS2
|
||||
#define CONFIG_BOOTP_SEND_HOSTNAME
|
||||
|
||||
|
||||
/*
|
||||
* Command line configuration.
|
||||
*/
|
||||
#include <config_cmd_default.h>
|
||||
|
||||
#define CONFIG_CMD_DHCP
|
||||
#define CONFIG_CMD_PCI
|
||||
#define CONFIG_CMD_IRQ
|
||||
#define CONFIG_CMD_IDE
|
||||
#define CONFIG_CMD_FAT
|
||||
#define CONFIG_CMD_ELF
|
||||
#define CONFIG_CMD_DATE
|
||||
#define CONFIG_CMD_I2C
|
||||
#define CONFIG_CMD_MII
|
||||
#define CONFIG_CMD_PING
|
||||
#define CONFIG_CMD_BSP
|
||||
#define CONFIG_CMD_EEPROM
|
||||
|
||||
#define CONFIG_MAC_PARTITION
|
||||
#define CONFIG_DOS_PARTITION
|
||||
|
||||
#define CONFIG_SUPPORT_VFAT
|
||||
|
||||
#undef CONFIG_AUTO_UPDATE /* autoupdate via compactflash */
|
||||
|
||||
#undef CONFIG_WATCHDOG /* watchdog disabled */
|
||||
|
||||
#define CONFIG_SDRAM_BANK0 1 /* init onboard SDRAM bank 0 */
|
||||
|
||||
/*
|
||||
* Miscellaneous configurable options
|
||||
*/
|
||||
#define CONFIG_SYS_LONGHELP /* undef to save memory */
|
||||
#define CONFIG_SYS_PROMPT "=> " /* Monitor Command Prompt */
|
||||
|
||||
#undef CONFIG_SYS_HUSH_PARSER /* use "hush" command parser */
|
||||
|
||||
#if defined(CONFIG_CMD_KGDB)
|
||||
#define CONFIG_SYS_CBSIZE 1024 /* Console I/O Buffer Size */
|
||||
#else
|
||||
#define CONFIG_SYS_CBSIZE 256 /* Console I/O Buffer Size */
|
||||
#endif
|
||||
#define CONFIG_SYS_PBSIZE (CONFIG_SYS_CBSIZE+sizeof(CONFIG_SYS_PROMPT)+16) /* Print Buffer Size */
|
||||
#define CONFIG_SYS_MAXARGS 16 /* max number of command args */
|
||||
#define CONFIG_SYS_BARGSIZE CONFIG_SYS_CBSIZE /* Boot Argument Buffer Size */
|
||||
|
||||
#define CONFIG_SYS_DEVICE_NULLDEV 1 /* include nulldev device */
|
||||
|
||||
#define CONFIG_SYS_CONSOLE_INFO_QUIET 1 /* don't print console @ startup*/
|
||||
|
||||
#define CONFIG_AUTO_COMPLETE 1 /* add autocompletion support */
|
||||
|
||||
#define CONFIG_SYS_MEMTEST_START 0x0400000 /* memtest works on */
|
||||
#define CONFIG_SYS_MEMTEST_END 0x0C00000 /* 4 ... 12 MB in DRAM */
|
||||
|
||||
#define CONFIG_CONS_INDEX 1 /* Use UART0 */
|
||||
#define CONFIG_SYS_NS16550
|
||||
#define CONFIG_SYS_NS16550_SERIAL
|
||||
#define CONFIG_SYS_NS16550_REG_SIZE 1
|
||||
#define CONFIG_SYS_NS16550_CLK get_serial_clock()
|
||||
|
||||
#undef CONFIG_SYS_EXT_SERIAL_CLOCK /* no external serial clock used */
|
||||
#define CONFIG_SYS_BASE_BAUD 691200
|
||||
|
||||
/* The following table includes the supported baudrates */
|
||||
#define CONFIG_SYS_BAUDRATE_TABLE \
|
||||
{ 300, 600, 1200, 2400, 4800, 9600, 19200, 38400, \
|
||||
57600, 115200, 230400, 460800, 921600 }
|
||||
|
||||
#define CONFIG_SYS_LOAD_ADDR 0x100000 /* default load address */
|
||||
#define CONFIG_SYS_EXTBDINFO 1 /* To use extended board_into (bd_t) */
|
||||
|
||||
#define CONFIG_SYS_HZ 1000 /* decrementer freq: 1 ms ticks */
|
||||
|
||||
#define CONFIG_LOOPW 1 /* enable loopw command */
|
||||
|
||||
#define CONFIG_ZERO_BOOTDELAY_CHECK /* check for keypress on bootdelay==0 */
|
||||
|
||||
/* Only interrupt boot if special string is typed */
|
||||
#define CONFIG_AUTOBOOT_KEYED 1
|
||||
#define CONFIG_AUTOBOOT_PROMPT \
|
||||
"Autobooting in %d seconds\n", bootdelay
|
||||
#undef CONFIG_AUTOBOOT_DELAY_STR
|
||||
#undef CONFIG_AUTOBOOT_STOP_STR /* defined via environment var */
|
||||
#define CONFIG_AUTOBOOT_STOP_STR2 "esdesd" /* esd special for esd access*/
|
||||
|
||||
#define CONFIG_VERSION_VARIABLE 1 /* include version env variable */
|
||||
|
||||
#define CONFIG_SYS_RX_ETH_BUFFER 16 /* use 16 rx buffer on 405 emac */
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* PCI stuff
|
||||
*-----------------------------------------------------------------------
|
||||
*/
|
||||
#define PCI_HOST_ADAPTER 0 /* configure as pci adapter */
|
||||
#define PCI_HOST_FORCE 1 /* configure as pci host */
|
||||
#define PCI_HOST_AUTO 2 /* detected via arbiter enable */
|
||||
|
||||
#define CONFIG_PCI /* include pci support */
|
||||
#define CONFIG_PCI_HOST PCI_HOST_AUTO /* select pci host function */
|
||||
#define CONFIG_PCI_PNP /* do pci plug-and-play */
|
||||
/* resource configuration */
|
||||
|
||||
#define CONFIG_PCI_SCAN_SHOW /* print pci devices @ startup */
|
||||
|
||||
#define CONFIG_PCI_CONFIG_HOST_BRIDGE 1 /* don't skip host bridge config*/
|
||||
|
||||
#define CONFIG_PCI_BOOTDELAY 0 /* enable pci bootdelay variable*/
|
||||
|
||||
#define CONFIG_SYS_PCI_SUBSYS_VENDORID 0x12FE /* PCI Vendor ID: esd gmbh */
|
||||
#define CONFIG_SYS_PCI_SUBSYS_DEVICEID 0x0405 /* PCI Device ID: CPCI-405 */
|
||||
#define CONFIG_SYS_PCI_SUBSYS_DEVICEID2 0x0406 /* PCI Device ID: CPCI-405-A */
|
||||
#define CONFIG_SYS_PCI_CLASSCODE 0x0b20 /* PCI Class Code: Processor/PPC*/
|
||||
#define CONFIG_SYS_PCI_PTM1LA (bd->bi_memstart) /* point to sdram */
|
||||
#define CONFIG_SYS_PCI_PTM1MS (~(bd->bi_memsize - 1) | 1) /* memsize, enable hard-wired to 1 */
|
||||
#define CONFIG_SYS_PCI_PTM1PCI 0x00000000 /* Host: use this pci address */
|
||||
#define CONFIG_SYS_PCI_PTM2LA 0xffc00000 /* point to flash */
|
||||
#define CONFIG_SYS_PCI_PTM2MS 0xffc00001 /* 4MB, enable */
|
||||
#define CONFIG_SYS_PCI_PTM2PCI 0x04000000 /* Host: use this pci address */
|
||||
|
||||
#define CONFIG_PCI_4xx_PTM_OVERWRITE 1 /* overwrite PTMx settings by env */
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* IDE/ATA stuff
|
||||
*-----------------------------------------------------------------------
|
||||
*/
|
||||
#undef CONFIG_IDE_8xx_DIRECT /* no pcmcia interface required */
|
||||
#undef CONFIG_IDE_LED /* no led for ide supported */
|
||||
#define CONFIG_IDE_RESET 1 /* reset for ide supported */
|
||||
|
||||
#define CONFIG_SYS_IDE_MAXBUS 1 /* max. 1 IDE busses */
|
||||
#define CONFIG_SYS_IDE_MAXDEVICE (CONFIG_SYS_IDE_MAXBUS*1) /* max. 1 drives per IDE bus */
|
||||
|
||||
#define CONFIG_SYS_ATA_BASE_ADDR 0xF0100000
|
||||
#define CONFIG_SYS_ATA_IDE0_OFFSET 0x0000
|
||||
|
||||
#define CONFIG_SYS_ATA_DATA_OFFSET 0x0000 /* Offset for data I/O */
|
||||
#define CONFIG_SYS_ATA_REG_OFFSET 0x0000 /* Offset for normal register accesses */
|
||||
#define CONFIG_SYS_ATA_ALT_OFFSET 0x0000 /* Offset for alternate registers */
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* Start addresses for the final memory configuration
|
||||
* (Set up by the startup code)
|
||||
* Please note that CONFIG_SYS_SDRAM_BASE _must_ start at 0
|
||||
*/
|
||||
#define CONFIG_SYS_SDRAM_BASE 0x00000000
|
||||
#define CONFIG_SYS_FLASH_BASE 0xFFFC0000
|
||||
#define CONFIG_SYS_MONITOR_BASE CONFIG_SYS_FLASH_BASE
|
||||
#define CONFIG_SYS_MONITOR_LEN (256 * 1024) /* Reserve 256 kB for Monitor */
|
||||
#define CONFIG_SYS_MALLOC_LEN (128 * 1024) /* Reserve 128 kB for malloc() */
|
||||
|
||||
/*
|
||||
* For booting Linux, the board info and command line data
|
||||
* have to be in the first 8 MB of memory, since this is
|
||||
* the maximum mapped by the Linux kernel during initialization.
|
||||
*/
|
||||
#define CONFIG_SYS_BOOTMAPSZ (8 << 20) /* Initial Memory map for Linux */
|
||||
/*-----------------------------------------------------------------------
|
||||
* FLASH organization
|
||||
*/
|
||||
#define CONFIG_SYS_MAX_FLASH_BANKS 2 /* max number of memory banks */
|
||||
#define CONFIG_SYS_MAX_FLASH_SECT 256 /* max number of sectors on one chip */
|
||||
|
||||
#define CONFIG_SYS_FLASH_ERASE_TOUT 120000 /* Timeout for Flash Erase (in ms) */
|
||||
#define CONFIG_SYS_FLASH_WRITE_TOUT 500 /* Timeout for Flash Write (in ms) */
|
||||
|
||||
#define CONFIG_SYS_FLASH_WORD_SIZE unsigned short /* flash word size (width) */
|
||||
#define CONFIG_SYS_FLASH_ADDR0 0x5555 /* 1st address for flash config cycles */
|
||||
#define CONFIG_SYS_FLASH_ADDR1 0x2AAA /* 2nd address for flash config cycles */
|
||||
/*
|
||||
* The following defines are added for buggy IOP480 byte interface.
|
||||
* All other boards should use the standard values (CPCI405 etc.)
|
||||
*/
|
||||
#define CONFIG_SYS_FLASH_READ0 0x0000 /* 0 is standard */
|
||||
#define CONFIG_SYS_FLASH_READ1 0x0001 /* 1 is standard */
|
||||
#define CONFIG_SYS_FLASH_READ2 0x0002 /* 2 is standard */
|
||||
|
||||
#define CONFIG_SYS_FLASH_EMPTY_INFO /* print 'E' for empty sector on flinfo */
|
||||
|
||||
#if 0 /* Use NVRAM for environment variables */
|
||||
/*-----------------------------------------------------------------------
|
||||
* NVRAM organization
|
||||
*/
|
||||
#define CONFIG_ENV_IS_IN_NVRAM 1 /* use NVRAM for environment vars */
|
||||
#define CONFIG_ENV_SIZE 0x0ff8 /* Size of Environment vars */
|
||||
#define CONFIG_ENV_ADDR \
|
||||
(CONFIG_SYS_NVRAM_BASE_ADDR+CONFIG_SYS_NVRAM_SIZE-(CONFIG_ENV_SIZE+8)) /* Env */
|
||||
|
||||
#else /* Use EEPROM for environment variables */
|
||||
|
||||
#define CONFIG_ENV_IS_IN_EEPROM 1 /* use EEPROM for environment vars */
|
||||
#define CONFIG_ENV_OFFSET 0x000 /* environment starts at the beginning of the EEPROM */
|
||||
#define CONFIG_ENV_SIZE 0x800 /* 2048 bytes may be used for env vars*/
|
||||
/* total size of a CAT24WC16 is 2048 bytes */
|
||||
#endif
|
||||
|
||||
#define CONFIG_SYS_NVRAM_BASE_ADDR 0xf0200000 /* NVRAM base address */
|
||||
#define CONFIG_SYS_NVRAM_SIZE (32*1024) /* NVRAM size */
|
||||
#define CONFIG_SYS_VXWORKS_MAC_PTR (CONFIG_SYS_NVRAM_BASE_ADDR+0x6900) /* VxWorks eth-addr*/
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* I2C EEPROM (CAT24WC16) for environment
|
||||
*/
|
||||
#define CONFIG_HARD_I2C /* I2c with hardware support */
|
||||
#define CONFIG_PPC4XX_I2C /* use PPC4xx driver */
|
||||
#define CONFIG_SYS_I2C_SPEED 400000 /* I2C speed and slave address */
|
||||
#define CONFIG_SYS_I2C_SLAVE 0x7F
|
||||
|
||||
#define CONFIG_SYS_I2C_EEPROM_ADDR 0x50 /* EEPROM CAT28WC08 */
|
||||
#define CONFIG_SYS_I2C_EEPROM_ADDR_LEN 1 /* Bytes of address */
|
||||
/* mask of address bits that overflow into the "EEPROM chip address" */
|
||||
#define CONFIG_SYS_I2C_EEPROM_ADDR_OVERFLOW 0x07
|
||||
#define CONFIG_SYS_EEPROM_PAGE_WRITE_BITS 4 /* The Catalyst CAT24WC08 has */
|
||||
/* 16 byte page write mode using*/
|
||||
/* last 4 bits of the address */
|
||||
#define CONFIG_SYS_EEPROM_PAGE_WRITE_DELAY_MS 10 /* and takes up to 10 msec */
|
||||
|
||||
/*
|
||||
* Init Memory Controller:
|
||||
*
|
||||
* BR0/1 and OR0/1 (FLASH)
|
||||
*/
|
||||
|
||||
#define FLASH_BASE0_PRELIM 0xFF800000 /* FLASH bank #0 */
|
||||
#define FLASH_BASE1_PRELIM 0xFFC00000 /* FLASH bank #1 */
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* External Bus Controller (EBC) Setup
|
||||
*/
|
||||
|
||||
/* Memory Bank 0 (Flash Bank 0) initialization */
|
||||
#define CONFIG_SYS_EBC_PB0AP 0x92015480
|
||||
#define CONFIG_SYS_EBC_PB0CR 0xFFC5A000 /* BAS=0xFFC,BS=4MB,BU=R/W,BW=16bit */
|
||||
|
||||
/* Memory Bank 1 (Flash Bank 1) initialization */
|
||||
#define CONFIG_SYS_EBC_PB1AP 0x92015480
|
||||
#define CONFIG_SYS_EBC_PB1CR 0xFF85A000 /* BAS=0xFF8,BS=4MB,BU=R/W,BW=16bit */
|
||||
|
||||
/* Memory Bank 2 (CAN0, 1) initialization */
|
||||
#define CONFIG_SYS_EBC_PB2AP 0x010053C0 /* BWT=2,WBN=1,WBF=1,TH=1,RE=1,SOR=1,BEM=1 */
|
||||
#define CONFIG_SYS_EBC_PB2CR 0xF0018000 /* BAS=0xF00,BS=1MB,BU=R/W,BW=8bit */
|
||||
#define CONFIG_SYS_LED_ADDR 0xF0000380
|
||||
|
||||
/* Memory Bank 3 (CompactFlash IDE) initialization */
|
||||
#define CONFIG_SYS_EBC_PB3AP 0x010053C0 /* BWT=2,WBN=1,WBF=1,TH=1,RE=1,SOR=1,BEM=1 */
|
||||
#define CONFIG_SYS_EBC_PB3CR 0xF011A000 /* BAS=0xF01,BS=1MB,BU=R/W,BW=16bit */
|
||||
|
||||
/* Memory Bank 4 (NVRAM/RTC) initialization */
|
||||
/*#define CONFIG_SYS_EBC_PB4AP 0x01805280 / * TWT=3,WBN=1,WBF=1,TH=1,SOR=1 */
|
||||
#define CONFIG_SYS_EBC_PB4AP 0x01805680 /* TWT=3,WBN=1,WBF=1,TH=3,SOR=1 */
|
||||
#define CONFIG_SYS_EBC_PB4CR 0xF0218000 /* BAS=0xF02,BS=1MB,BU=R/W,BW=8bit */
|
||||
|
||||
/* Memory Bank 5 (optional Quart) initialization */
|
||||
#define CONFIG_SYS_EBC_PB5AP 0x04005B80 /* TWT=8,WBN=1,WBF=1,TH=5,RE=1,SOR=1*/
|
||||
#define CONFIG_SYS_EBC_PB5CR 0xF0318000 /* BAS=0xF03,BS=1MB,BU=R/W,BW=8bit */
|
||||
|
||||
/* Memory Bank 6 (FPGA internal) initialization */
|
||||
#define CONFIG_SYS_EBC_PB6AP 0x010053C0 /* BWT=2,WBN=1,WBF=1,TH=1,RE=1,SOR=1,BEM=1 */
|
||||
#define CONFIG_SYS_EBC_PB6CR 0xF041A000 /* BAS=0xF01,BS=1MB,BU=R/W,BW=16bit */
|
||||
#define CONFIG_SYS_FPGA_BASE_ADDR 0xF0400000
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* FPGA stuff
|
||||
*/
|
||||
/* FPGA internal regs */
|
||||
#define CONFIG_SYS_FPGA_MODE 0x00
|
||||
#define CONFIG_SYS_FPGA_STATUS 0x02
|
||||
#define CONFIG_SYS_FPGA_TS 0x04
|
||||
#define CONFIG_SYS_FPGA_TS_LOW 0x06
|
||||
#define CONFIG_SYS_FPGA_TS_CAP0 0x10
|
||||
#define CONFIG_SYS_FPGA_TS_CAP0_LOW 0x12
|
||||
#define CONFIG_SYS_FPGA_TS_CAP1 0x14
|
||||
#define CONFIG_SYS_FPGA_TS_CAP1_LOW 0x16
|
||||
#define CONFIG_SYS_FPGA_TS_CAP2 0x18
|
||||
#define CONFIG_SYS_FPGA_TS_CAP2_LOW 0x1a
|
||||
#define CONFIG_SYS_FPGA_TS_CAP3 0x1c
|
||||
#define CONFIG_SYS_FPGA_TS_CAP3_LOW 0x1e
|
||||
|
||||
/* FPGA Mode Reg */
|
||||
#define CONFIG_SYS_FPGA_MODE_CF_RESET 0x0001
|
||||
#define CONFIG_SYS_FPGA_MODE_DUART_RESET 0x0002
|
||||
#define CONFIG_SYS_FPGA_MODE_ENABLE_OUTPUT 0x0004 /* only set on CPCI-405 Ver 3 */
|
||||
#define CONFIG_SYS_FPGA_MODE_TS_IRQ_ENABLE 0x0100
|
||||
#define CONFIG_SYS_FPGA_MODE_TS_IRQ_CLEAR 0x1000
|
||||
#define CONFIG_SYS_FPGA_MODE_TS_CLEAR 0x2000
|
||||
|
||||
/* FPGA Status Reg */
|
||||
#define CONFIG_SYS_FPGA_STATUS_DIP0 0x0001
|
||||
#define CONFIG_SYS_FPGA_STATUS_DIP1 0x0002
|
||||
#define CONFIG_SYS_FPGA_STATUS_DIP2 0x0004
|
||||
#define CONFIG_SYS_FPGA_STATUS_FLASH 0x0008
|
||||
#define CONFIG_SYS_FPGA_STATUS_TS_IRQ 0x1000
|
||||
|
||||
#define CONFIG_SYS_FPGA_SPARTAN2 1 /* using Xilinx Spartan 2 now */
|
||||
#define CONFIG_SYS_FPGA_MAX_SIZE 32*1024 /* 32kByte is enough for XC2S15 */
|
||||
|
||||
/* FPGA program pin configuration */
|
||||
#define CONFIG_SYS_FPGA_PRG 0x04000000 /* FPGA program pin (ppc output) */
|
||||
#define CONFIG_SYS_FPGA_CLK 0x02000000 /* FPGA clk pin (ppc output) */
|
||||
#define CONFIG_SYS_FPGA_DATA 0x01000000 /* FPGA data pin (ppc output) */
|
||||
#define CONFIG_SYS_FPGA_INIT 0x00010000 /* FPGA init pin (ppc input) */
|
||||
#define CONFIG_SYS_FPGA_DONE 0x00008000 /* FPGA done pin (ppc input) */
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* Definitions for initial stack pointer and data area (in data cache)
|
||||
*/
|
||||
#define CONFIG_SYS_INIT_DCACHE_CS 7 /* use cs # 7 for data cache memory */
|
||||
|
||||
#define CONFIG_SYS_INIT_RAM_ADDR 0x40000000 /* use data cache */
|
||||
#define CONFIG_SYS_INIT_RAM_SIZE 0x2000 /* Size of used area in RAM */
|
||||
#define CONFIG_SYS_GBL_DATA_OFFSET (CONFIG_SYS_INIT_RAM_SIZE - GENERATED_GBL_DATA_SIZE)
|
||||
#define CONFIG_SYS_INIT_SP_OFFSET CONFIG_SYS_GBL_DATA_OFFSET
|
||||
|
||||
#endif /* __CONFIG_H */
|
||||
|
|
@ -0,0 +1,627 @@
|
|||
/*
|
||||
* (C) Copyright 2001
|
||||
* Josh Huber <huber@mclx.com>, Mission Critical Linux, Inc.
|
||||
*
|
||||
* See file CREDITS for list of people who contributed to this
|
||||
* project.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of
|
||||
* the License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston,
|
||||
* MA 02111-1307 USA
|
||||
*/
|
||||
|
||||
/*
|
||||
* board/config.h - configuration options, board specific
|
||||
*/
|
||||
|
||||
/*************************************************************************
|
||||
* (c) 2004 esd gmbh Hannover
|
||||
*
|
||||
*
|
||||
* from db64360.h file
|
||||
* by Reinhard Arlt reinhard.arlt@esd-electronics.com
|
||||
*
|
||||
************************************************************************/
|
||||
|
||||
|
||||
#ifndef __CONFIG_H
|
||||
#define __CONFIG_H
|
||||
|
||||
/* This define must be before the core.h include */
|
||||
#define CONFIG_CPCI750 1 /* this is an CPCI750 board */
|
||||
|
||||
#ifndef __ASSEMBLY__
|
||||
#include <../board/Marvell/include/core.h>
|
||||
#endif
|
||||
/*-----------------------------------------------------*/
|
||||
|
||||
#include "../board/esd/cpci750/local.h"
|
||||
|
||||
/*
|
||||
* High Level Configuration Options
|
||||
* (easy to change)
|
||||
*/
|
||||
|
||||
#define CONFIG_750FX /* we have a 750FX (override local.h) */
|
||||
|
||||
#define CONFIG_CPCI750 1 /* this is an CPCI750 board */
|
||||
|
||||
#define CONFIG_SYS_TEXT_BASE 0xfff00000
|
||||
|
||||
#define CONFIG_BAUDRATE 9600 /* console baudrate = 9600 */
|
||||
|
||||
#define CONFIG_MV64360_ECC /* enable ECC support */
|
||||
|
||||
#define CONFIG_HIGH_BATS 1 /* High BATs supported */
|
||||
|
||||
/* which initialization functions to call for this board */
|
||||
#define CONFIG_MISC_INIT_R
|
||||
#define CONFIG_BOARD_PRE_INIT
|
||||
#define CONFIG_BOARD_EARLY_INIT_F 1
|
||||
|
||||
#define CONFIG_SYS_BOARD_NAME "CPCI750"
|
||||
#define CONFIG_IDENT_STRING "Marvell 64360 + IBM750FX"
|
||||
|
||||
/*#define CONFIG_SYS_HUSH_PARSER*/
|
||||
#define CONFIG_SYS_HUSH_PARSER
|
||||
|
||||
|
||||
#define CONFIG_CMDLINE_EDITING /* add command line history */
|
||||
#define CONFIG_AUTO_COMPLETE /* add autocompletion support */
|
||||
|
||||
/* Define which ETH port will be used for connecting the network */
|
||||
#define CONFIG_SYS_ETH_PORT ETH_0
|
||||
|
||||
/*
|
||||
* The following defines let you select what serial you want to use
|
||||
* for your console driver.
|
||||
*
|
||||
* what to do:
|
||||
* to use the DUART, undef CONFIG_MPSC. If you have hacked a serial
|
||||
* cable onto the second DUART channel, change the CONFIG_SYS_DUART port from 1
|
||||
* to 0 below.
|
||||
*
|
||||
* to use the MPSC, #define CONFIG_MPSC. If you have wired up another
|
||||
* mpsc channel, change CONFIG_MPSC_PORT to the desired value.
|
||||
*/
|
||||
#define CONFIG_MPSC
|
||||
#define CONFIG_MPSC_PORT 0
|
||||
|
||||
/* to change the default ethernet port, use this define (options: 0, 1, 2) */
|
||||
#define MV_ETH_DEVS 1
|
||||
#define CONFIG_ETHER_PORT 0
|
||||
|
||||
#undef CONFIG_ETHER_PORT_MII /* use RMII */
|
||||
|
||||
#define CONFIG_BOOTDELAY 5 /* autoboot disabled */
|
||||
|
||||
#define CONFIG_RTC_M48T35A 1 /* ST Electronics M48 timekeeper */
|
||||
|
||||
#define CONFIG_ZERO_BOOTDELAY_CHECK
|
||||
|
||||
|
||||
#undef CONFIG_BOOTARGS
|
||||
|
||||
/* -----------------------------------------------------------------------------
|
||||
* New bootcommands for Marvell CPCI750 c 2002 Ingo Assmus
|
||||
*/
|
||||
|
||||
#define CONFIG_IPADDR "192.168.0.185"
|
||||
|
||||
#define CONFIG_SERIAL "AA000001"
|
||||
#define CONFIG_SERVERIP "10.0.0.79"
|
||||
#define CONFIG_ROOTPATH "/export/nfs_cpci750/%s"
|
||||
|
||||
#define CONFIG_TESTDRAMDATA y
|
||||
#define CONFIG_TESTDRAMADDRESS n
|
||||
#define CONFIG_TESETDRAMWALK n
|
||||
|
||||
/* ----------------------------------------------------------------------------- */
|
||||
|
||||
|
||||
#define CONFIG_LOADS_ECHO 0 /* echo off for serial download */
|
||||
#define CONFIG_SYS_LOADS_BAUD_CHANGE /* allow baudrate changes */
|
||||
|
||||
#undef CONFIG_WATCHDOG /* watchdog disabled */
|
||||
#undef CONFIG_ALTIVEC /* undef to disable */
|
||||
|
||||
/*
|
||||
* BOOTP options
|
||||
*/
|
||||
#define CONFIG_BOOTP_SUBNETMASK
|
||||
#define CONFIG_BOOTP_GATEWAY
|
||||
#define CONFIG_BOOTP_HOSTNAME
|
||||
#define CONFIG_BOOTP_BOOTPATH
|
||||
#define CONFIG_BOOTP_BOOTFILESIZE
|
||||
|
||||
|
||||
/*
|
||||
* Command line configuration.
|
||||
*/
|
||||
#include <config_cmd_default.h>
|
||||
|
||||
#define CONFIG_CMD_ASKENV
|
||||
#define CONFIG_CMD_I2C
|
||||
#define CONFIG_CMD_CACHE
|
||||
#define CONFIG_CMD_EEPROM
|
||||
#define CONFIG_CMD_PCI
|
||||
#define CONFIG_CMD_ELF
|
||||
#define CONFIG_CMD_DATE
|
||||
#define CONFIG_CMD_NET
|
||||
#define CONFIG_CMD_PING
|
||||
#define CONFIG_CMD_IDE
|
||||
#define CONFIG_CMD_FAT
|
||||
#define CONFIG_CMD_EXT2
|
||||
|
||||
|
||||
#define CONFIG_DOS_PARTITION
|
||||
|
||||
#define CONFIG_USE_CPCIDVI
|
||||
|
||||
#ifdef CONFIG_USE_CPCIDVI
|
||||
#define CONFIG_VIDEO
|
||||
#define CONFIG_VIDEO_CT69000
|
||||
#define CONFIG_CFB_CONSOLE
|
||||
#define CONFIG_VIDEO_SW_CURSOR
|
||||
#define CONFIG_VIDEO_LOGO
|
||||
#define CONFIG_I8042_KBD
|
||||
#define CONFIG_SYS_ISA_IO 0
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Miscellaneous configurable options
|
||||
*/
|
||||
#define CONFIG_SYS_I2C_EEPROM_ADDR_LEN 2
|
||||
#define CONFIG_SYS_I2C_MULTI_EEPROMS
|
||||
#define CONFIG_SYS_I2C_SPEED 80000 /* I2C speed default */
|
||||
|
||||
#define CONFIG_PRAM 0
|
||||
|
||||
#define CONFIG_SYS_GT_DUAL_CPU /* also for JTAG even with one cpu */
|
||||
#define CONFIG_SYS_LONGHELP /* undef to save memory */
|
||||
#define CONFIG_SYS_PROMPT "=> " /* Monitor Command Prompt */
|
||||
#if defined(CONFIG_CMD_KGDB)
|
||||
#define CONFIG_SYS_CBSIZE 1024 /* Console I/O Buffer Size */
|
||||
#else
|
||||
#define CONFIG_SYS_CBSIZE 256 /* Console I/O Buffer Size */
|
||||
#endif
|
||||
#define CONFIG_SYS_PBSIZE (CONFIG_SYS_CBSIZE+sizeof(CONFIG_SYS_PROMPT)+16) /* Print Buffer Size */
|
||||
#define CONFIG_SYS_MAXARGS 16 /* max number of command args */
|
||||
#define CONFIG_SYS_BARGSIZE CONFIG_SYS_CBSIZE /* Boot Argument Buffer Size */
|
||||
|
||||
/*#define CONFIG_SYS_MEMTEST_START 0x00400000*/ /* memtest works on */
|
||||
/*#define CONFIG_SYS_MEMTEST_END 0x00C00000*/ /* 4 ... 12 MB in DRAM */
|
||||
/*#define CONFIG_SYS_MEMTEST_END 0x07c00000*/ /* 4 ... 124 MB in DRAM */
|
||||
|
||||
/*
|
||||
#define CONFIG_SYS_DRAM_TEST
|
||||
* DRAM tests
|
||||
* CONFIG_SYS_DRAM_TEST - enables the following tests.
|
||||
*
|
||||
* CONFIG_SYS_DRAM_TEST_DATA - Enables test for shorted or open data lines
|
||||
* Environment variable 'test_dram_data' must be
|
||||
* set to 'y'.
|
||||
* CONFIG_SYS_DRAM_TEST_DATA - Enables test to verify that each word is uniquely
|
||||
* addressable. Environment variable
|
||||
* 'test_dram_address' must be set to 'y'.
|
||||
* CONFIG_SYS_DRAM_TEST_WALK - Enables test a 64-bit walking ones pattern test.
|
||||
* This test takes about 6 minutes to test 64 MB.
|
||||
* Environment variable 'test_dram_walk' must be
|
||||
* set to 'y'.
|
||||
*/
|
||||
#define CONFIG_SYS_DRAM_TEST
|
||||
#if defined(CONFIG_SYS_DRAM_TEST)
|
||||
#define CONFIG_SYS_MEMTEST_START 0x00400000 /* memtest works on */
|
||||
/*#define CONFIG_SYS_MEMTEST_END 0x00C00000*/ /* 4 ... 12 MB in DRAM */
|
||||
#define CONFIG_SYS_MEMTEST_END 0x07c00000 /* 4 ... 124 MB in DRAM */
|
||||
#define CONFIG_SYS_DRAM_TEST_DATA
|
||||
#define CONFIG_SYS_DRAM_TEST_ADDRESS
|
||||
#define CONFIG_SYS_DRAM_TEST_WALK
|
||||
#endif /* CONFIG_SYS_DRAM_TEST */
|
||||
|
||||
#define CONFIG_DISPLAY_MEMMAP /* at the end of the bootprocess show the memory map */
|
||||
#undef CONFIG_SYS_DISPLAY_DIMM_SPD_CONTENT /* show SPD content during boot */
|
||||
|
||||
#define CONFIG_SYS_LOAD_ADDR 0x00300000 /* default load address */
|
||||
|
||||
#define CONFIG_SYS_HZ 1000 /* decr freq: 1ms ticks */
|
||||
#define CONFIG_SYS_BUS_CLK 133000000 /* 133 MHz (CPU = 5*Bus = 666MHz) */
|
||||
|
||||
#define CONFIG_SYS_BAUDRATE_TABLE { 9600, 19200, 38400, 57600, 115200, 230400 }
|
||||
|
||||
#define CONFIG_SYS_TCLK 133000000
|
||||
|
||||
/*
|
||||
* Low Level Configuration Settings
|
||||
* (address mappings, register initial values, etc.)
|
||||
* You should know what you are doing if you make changes here.
|
||||
*/
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* Definitions for initial stack pointer and data area
|
||||
*/
|
||||
|
||||
/*
|
||||
* When locking data in cache you should point the CONFIG_SYS_INIT_RAM_ADDRESS
|
||||
* To an unused memory region. The stack will remain in cache until RAM
|
||||
* is initialized
|
||||
*/
|
||||
#undef CONFIG_SYS_INIT_RAM_LOCK
|
||||
/* #define CONFIG_SYS_INIT_RAM_ADDR 0x40000000*/ /* unused memory region */
|
||||
/* #define CONFIG_SYS_INIT_RAM_ADDR 0xfba00000*/ /* unused memory region */
|
||||
#define CONFIG_SYS_INIT_RAM_ADDR 0xf1080000 /* unused memory region */
|
||||
#define CONFIG_SYS_INIT_RAM_SIZE 0x1000
|
||||
#define CONFIG_SYS_GBL_DATA_OFFSET (CONFIG_SYS_INIT_RAM_SIZE - GENERATED_GBL_DATA_SIZE)
|
||||
|
||||
#define RELOCATE_INTERNAL_RAM_ADDR
|
||||
#ifdef RELOCATE_INTERNAL_RAM_ADDR
|
||||
/*#define CONFIG_SYS_INTERNAL_RAM_ADDR 0xfba00000*/
|
||||
#define CONFIG_SYS_INTERNAL_RAM_ADDR 0xf1080000
|
||||
#endif
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* Start addresses for the final memory configuration
|
||||
* (Set up by the startup code)
|
||||
* Please note that CONFIG_SYS_SDRAM_BASE _must_ start at 0
|
||||
*/
|
||||
#define CONFIG_SYS_SDRAM_BASE 0x00000000
|
||||
/* Dummies for BAT 4-7 */
|
||||
#define CONFIG_SYS_SDRAM1_BASE 0x10000000 /* each 256 MByte */
|
||||
#define CONFIG_SYS_SDRAM2_BASE 0x20000000
|
||||
#define CONFIG_SYS_SDRAM3_BASE 0x30000000
|
||||
#define CONFIG_SYS_SDRAM4_BASE 0x40000000
|
||||
#define CONFIG_SYS_RESET_ADDRESS 0xfff00100
|
||||
#define CONFIG_SYS_MONITOR_LEN (256 << 10) /* Reserve 256 kB for Monitor */
|
||||
#define CONFIG_SYS_MONITOR_BASE 0xfff00000
|
||||
#define CONFIG_SYS_MALLOC_LEN (128 << 10) /* Reserve 256 kB for malloc */
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* FLASH related
|
||||
*----------------------------------------------------------------------*/
|
||||
|
||||
#define CONFIG_FLASH_CFI_DRIVER
|
||||
#define CONFIG_SYS_FLASH_CFI 1 /* Flash is CFI conformant */
|
||||
#define CONFIG_SYS_FLASH_PROTECTION 1 /* use hardware protection */
|
||||
#define CONFIG_SYS_FLASH_USE_BUFFER_WRITE 1 /* use buffered writes (20x faster) */
|
||||
#define CONFIG_SYS_FLASH_BASE 0xfc000000 /* start of flash banks */
|
||||
#define CONFIG_SYS_MAX_FLASH_BANKS 4 /* max number of memory banks */
|
||||
#define CONFIG_SYS_FLASH_INCREMENT 0x01000000 /* size of flash bank */
|
||||
#define CONFIG_SYS_MAX_FLASH_SECT 128 /* max number of sectors on one chip */
|
||||
#define CONFIG_SYS_FLASH_BANKS_LIST { CONFIG_SYS_FLASH_BASE, \
|
||||
CONFIG_SYS_FLASH_BASE + 1*CONFIG_SYS_FLASH_INCREMENT, \
|
||||
CONFIG_SYS_FLASH_BASE + 2*CONFIG_SYS_FLASH_INCREMENT, \
|
||||
CONFIG_SYS_FLASH_BASE + 3*CONFIG_SYS_FLASH_INCREMENT }
|
||||
#define CONFIG_SYS_FLASH_EMPTY_INFO 1 /* show if bank is empty */
|
||||
|
||||
/* areas to map different things with the GT in physical space */
|
||||
#define CONFIG_SYS_DRAM_BANKS 4
|
||||
|
||||
/* What to put in the bats. */
|
||||
#define CONFIG_SYS_MISC_REGION_BASE 0xf0000000
|
||||
|
||||
/* Peripheral Device section */
|
||||
|
||||
/*******************************************************/
|
||||
/* We have on the cpci750 Board : */
|
||||
/* GT-Chipset Register Area */
|
||||
/* GT-Chipset internal SRAM 256k */
|
||||
/* SRAM on external device module */
|
||||
/* Real time clock on external device module */
|
||||
/* dobble UART on external device module */
|
||||
/* Data flash on external device module */
|
||||
/* Boot flash on external device module */
|
||||
/*******************************************************/
|
||||
#define CONFIG_SYS_DFL_GT_REGS 0x14000000 /* boot time GT_REGS */
|
||||
#define CONFIG_SYS_CPCI750_RESET_ADDR 0x14000000 /* After power on Reset the CPCI750 is here */
|
||||
|
||||
#undef MARVEL_STANDARD_CFG
|
||||
#ifndef MARVEL_STANDARD_CFG
|
||||
/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
|
||||
#define CONFIG_SYS_GT_REGS 0xf1000000 /* GT Registers will be mapped here */
|
||||
/*#define CONFIG_SYS_DEV_BASE 0xfc000000*/ /* GT Devices CS start here */
|
||||
#define CONFIG_SYS_INT_SRAM_BASE 0xf1080000 /* GT offers 256k internal fast SRAM */
|
||||
|
||||
#define CONFIG_SYS_BOOT_SPACE 0xff000000 /* BOOT_CS0 flash 0 */
|
||||
#define CONFIG_SYS_DEV0_SPACE 0xfc000000 /* DEV_CS0 flash 1 */
|
||||
#define CONFIG_SYS_DEV1_SPACE 0xfd000000 /* DEV_CS1 flash 2 */
|
||||
#define CONFIG_SYS_DEV2_SPACE 0xfe000000 /* DEV_CS2 flash 3 */
|
||||
#define CONFIG_SYS_DEV3_SPACE 0xf0000000 /* DEV_CS3 nvram/can */
|
||||
|
||||
#define CONFIG_SYS_BOOT_SIZE _16M /* cpci750 flash 0 */
|
||||
#define CONFIG_SYS_DEV0_SIZE _16M /* cpci750 flash 1 */
|
||||
#define CONFIG_SYS_DEV1_SIZE _16M /* cpci750 flash 2 */
|
||||
#define CONFIG_SYS_DEV2_SIZE _16M /* cpci750 flash 3 */
|
||||
#define CONFIG_SYS_DEV3_SIZE _16M /* cpci750 nvram/can */
|
||||
|
||||
/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
|
||||
#endif
|
||||
|
||||
/* Reset values for Port behavior (8bit/ 32bit, etc.) only corrected by device width */
|
||||
#define CONFIG_SYS_DEV0_PAR 0x8FDFFFFF /* 16 bit flash */
|
||||
#define CONFIG_SYS_DEV1_PAR 0x8FDFFFFF /* 16 bit flash */
|
||||
#define CONFIG_SYS_DEV2_PAR 0x8FDFFFFF /* 16 bit flash */
|
||||
#define CONFIG_SYS_DEV3_PAR 0x8FCFFFFF /* nvram/can */
|
||||
#define CONFIG_SYS_BOOT_PAR 0x8FDFFFFF /* 16 bit flash */
|
||||
|
||||
/* c 4 a 8 2 4 1 c */
|
||||
/* 33 22|2222|22 22|111 1|11 11|1 1 | | */
|
||||
/* 10 98|7654|32 10|987 6|54 32|1 098|7 654|3 210 */
|
||||
/* 11|00|0100|10 10|100|0 00|10 0|100 0|001 1|100 */
|
||||
/* 3| 0|.... ..| 2| 4 | 0 | 4 | 8 | 3 | 4 */
|
||||
|
||||
|
||||
/* MPP Control MV64360 Appendix P P. 632*/
|
||||
#define CONFIG_SYS_MPP_CONTROL_0 0x00002222 /* */
|
||||
#define CONFIG_SYS_MPP_CONTROL_1 0x11110000 /* */
|
||||
#define CONFIG_SYS_MPP_CONTROL_2 0x11111111 /* */
|
||||
#define CONFIG_SYS_MPP_CONTROL_3 0x00001111 /* */
|
||||
/* #define CONFIG_SYS_SERIAL_PORT_MUX 0x00000102*/ /* */
|
||||
|
||||
|
||||
#define CONFIG_SYS_GPP_LEVEL_CONTROL 0xffffffff /* 1111 1111 1111 1111 1111 1111 1111 1111*/
|
||||
|
||||
/* setup new config_value for MV64360 DDR-RAM To_do !! */
|
||||
/*# define CONFIG_SYS_SDRAM_CONFIG 0xd8e18200*/ /* 0x448 */
|
||||
/*# define CONFIG_SYS_SDRAM_CONFIG 0xd8e14400*/ /* 0x1400 */
|
||||
/* GB has high prio.
|
||||
idma has low prio
|
||||
MPSC has low prio
|
||||
pci has low prio 1 and 2
|
||||
cpu has high prio
|
||||
Data DQS pins == eight (DQS[7:0] foe x8 and x16 devices
|
||||
ECC disable
|
||||
non registered DRAM */
|
||||
/* 31:26 25:22 21:20 19 18 17 16 */
|
||||
/* 100001 0000 010 0 0 0 0 */
|
||||
/* refresh_count=0x400
|
||||
phisical interleaving disable
|
||||
virtual interleaving enable */
|
||||
/* 15 14 13:0 */
|
||||
/* 0 1 0x400 */
|
||||
# define CONFIG_SYS_SDRAM_CONFIG 0x58200400 /* 0x1400 copied from Dink32 bzw. VxWorks*/
|
||||
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* PCI stuff
|
||||
*-----------------------------------------------------------------------
|
||||
*/
|
||||
|
||||
#define PCI_HOST_ADAPTER 0 /* configure ar pci adapter */
|
||||
#define PCI_HOST_FORCE 1 /* configure as pci host */
|
||||
#define PCI_HOST_AUTO 2 /* detected via arbiter enable */
|
||||
|
||||
#define CONFIG_PCI /* include pci support */
|
||||
#define CONFIG_PCI_HOST PCI_HOST_FORCE /* select pci host function */
|
||||
#define CONFIG_PCI_PNP /* do pci plug-and-play */
|
||||
#define CONFIG_PCI_SCAN_SHOW /* show devices on bus */
|
||||
|
||||
/* PCI MEMORY MAP section */
|
||||
#define CONFIG_SYS_PCI0_MEM_BASE 0x80000000
|
||||
#define CONFIG_SYS_PCI0_MEM_SIZE _128M
|
||||
#define CONFIG_SYS_PCI1_MEM_BASE 0x88000000
|
||||
#define CONFIG_SYS_PCI1_MEM_SIZE _128M
|
||||
|
||||
#define CONFIG_SYS_PCI0_0_MEM_SPACE (CONFIG_SYS_PCI0_MEM_BASE)
|
||||
#define CONFIG_SYS_PCI1_0_MEM_SPACE (CONFIG_SYS_PCI1_MEM_BASE)
|
||||
|
||||
/* PCI I/O MAP section */
|
||||
#define CONFIG_SYS_PCI0_IO_BASE 0xfa000000
|
||||
#define CONFIG_SYS_PCI0_IO_SIZE _16M
|
||||
#define CONFIG_SYS_PCI1_IO_BASE 0xfb000000
|
||||
#define CONFIG_SYS_PCI1_IO_SIZE _16M
|
||||
|
||||
#define CONFIG_SYS_PCI0_IO_SPACE (CONFIG_SYS_PCI0_IO_BASE)
|
||||
#define CONFIG_SYS_PCI0_IO_SPACE_PCI 0x00000000
|
||||
#define CONFIG_SYS_PCI1_IO_SPACE (CONFIG_SYS_PCI1_IO_BASE)
|
||||
#define CONFIG_SYS_PCI1_IO_SPACE_PCI 0x00000000
|
||||
|
||||
#define CONFIG_SYS_ISA_IO_BASE_ADDRESS (CONFIG_SYS_PCI0_IO_BASE)
|
||||
|
||||
#if defined (CONFIG_750CX)
|
||||
#define CONFIG_SYS_PCI_IDSEL 0x0
|
||||
#else
|
||||
#define CONFIG_SYS_PCI_IDSEL 0x30
|
||||
#endif
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* IDE/ATA stuff
|
||||
*-----------------------------------------------------------------------
|
||||
*/
|
||||
#undef CONFIG_IDE_8xx_DIRECT /* no pcmcia interface required */
|
||||
#undef CONFIG_IDE_LED /* no led for ide supported */
|
||||
#define CONFIG_IDE_RESET /* no reset for ide supported */
|
||||
#define CONFIG_IDE_PREINIT /* check for units */
|
||||
|
||||
#define CONFIG_SYS_IDE_MAXBUS 2 /* max. 1 IDE busses */
|
||||
#define CONFIG_SYS_IDE_MAXDEVICE (CONFIG_SYS_IDE_MAXBUS*2) /* max. 1 drives per IDE bus */
|
||||
|
||||
#define CONFIG_SYS_ATA_BASE_ADDR 0
|
||||
#define CONFIG_SYS_ATA_IDE0_OFFSET 0
|
||||
#define CONFIG_SYS_ATA_IDE1_OFFSET 0
|
||||
|
||||
#define CONFIG_SYS_ATA_DATA_OFFSET 0x0000 /* Offset for data I/O */
|
||||
#define CONFIG_SYS_ATA_REG_OFFSET 0x0000 /* Offset for normal register accesses */
|
||||
#define CONFIG_SYS_ATA_ALT_OFFSET 0x0000 /* Offset for alternate registers */
|
||||
#ifndef __ASSEMBLY__
|
||||
int ata_device(int dev);
|
||||
#endif
|
||||
#define ATA_DEVICE(dev) ata_device(dev)
|
||||
#define CONFIG_ATAPI 1
|
||||
|
||||
/*----------------------------------------------------------------------
|
||||
* Initial BAT mappings
|
||||
*/
|
||||
|
||||
/* NOTES:
|
||||
* 1) GUARDED and WRITE_THRU not allowed in IBATS
|
||||
* 2) CACHEINHIBIT and WRITETHROUGH not allowed together in same BAT
|
||||
*/
|
||||
|
||||
/* SDRAM */
|
||||
#define CONFIG_SYS_IBAT0L (CONFIG_SYS_SDRAM_BASE | BATL_PP_RW | BATL_CACHEINHIBIT)
|
||||
#define CONFIG_SYS_IBAT0U (CONFIG_SYS_SDRAM_BASE | BATU_BL_256M | BATU_VS | BATU_VP)
|
||||
#define CONFIG_SYS_DBAT0L (CONFIG_SYS_SDRAM_BASE | BATL_PP_RW | BATL_CACHEINHIBIT | BATL_GUARDEDSTORAGE)
|
||||
#define CONFIG_SYS_DBAT0U CONFIG_SYS_IBAT0U
|
||||
|
||||
/* init ram */
|
||||
#define CONFIG_SYS_IBAT1L (CONFIG_SYS_INIT_RAM_ADDR | BATL_PP_RW | BATL_MEMCOHERENCE)
|
||||
#define CONFIG_SYS_IBAT1U (CONFIG_SYS_INIT_RAM_ADDR | BATU_BL_256K | BATU_VS | BATU_VP)
|
||||
#define CONFIG_SYS_DBAT1L CONFIG_SYS_IBAT1L
|
||||
#define CONFIG_SYS_DBAT1U CONFIG_SYS_IBAT1U
|
||||
|
||||
/* PCI0, PCI1 in one BAT */
|
||||
#define CONFIG_SYS_IBAT2L BATL_NO_ACCESS
|
||||
#define CONFIG_SYS_IBAT2U CONFIG_SYS_DBAT2U
|
||||
#define CONFIG_SYS_DBAT2L (CONFIG_SYS_PCI0_MEM_BASE | BATL_CACHEINHIBIT | BATL_PP_RW | BATL_GUARDEDSTORAGE)
|
||||
#define CONFIG_SYS_DBAT2U (CONFIG_SYS_PCI0_MEM_BASE | BATU_BL_256M | BATU_VS | BATU_VP)
|
||||
|
||||
/* GT regs, bootrom, all the devices, PCI I/O */
|
||||
#define CONFIG_SYS_IBAT3L (CONFIG_SYS_MISC_REGION_BASE | BATL_CACHEINHIBIT | BATL_PP_RW)
|
||||
#define CONFIG_SYS_IBAT3U (CONFIG_SYS_MISC_REGION_BASE | BATU_VS | BATU_VP | BATU_BL_256M)
|
||||
#define CONFIG_SYS_DBAT3L (CONFIG_SYS_MISC_REGION_BASE | BATL_CACHEINHIBIT | BATL_PP_RW | BATL_GUARDEDSTORAGE)
|
||||
#define CONFIG_SYS_DBAT3U CONFIG_SYS_IBAT3U
|
||||
|
||||
/*
|
||||
* 750FX IBAT and DBAT pairs (To_do: define regins for I(D)BAT4 - I(D)BAT7)
|
||||
* IBAT4 and DBAT4
|
||||
* FIXME: ingo disable BATs for Linux Kernel
|
||||
*/
|
||||
/* #undef SETUP_HIGH_BATS_FX750 */ /* don't initialize BATS 4-7 */
|
||||
#define SETUP_HIGH_BATS_FX750 /* initialize BATS 4-7 */
|
||||
|
||||
#ifdef SETUP_HIGH_BATS_FX750
|
||||
#define CONFIG_SYS_IBAT4L (CONFIG_SYS_SDRAM1_BASE | BATL_PP_RW | BATL_CACHEINHIBIT)
|
||||
#define CONFIG_SYS_IBAT4U (CONFIG_SYS_SDRAM1_BASE | BATU_BL_256M | BATU_VS | BATU_VP)
|
||||
#define CONFIG_SYS_DBAT4L (CONFIG_SYS_SDRAM1_BASE | BATL_PP_RW | BATL_CACHEINHIBIT | BATL_GUARDEDSTORAGE)
|
||||
#define CONFIG_SYS_DBAT4U CONFIG_SYS_IBAT4U
|
||||
|
||||
/* IBAT5 and DBAT5 */
|
||||
#define CONFIG_SYS_IBAT5L (CONFIG_SYS_SDRAM2_BASE | BATL_PP_RW | BATL_CACHEINHIBIT)
|
||||
#define CONFIG_SYS_IBAT5U (CONFIG_SYS_SDRAM2_BASE | BATU_BL_256M | BATU_VS | BATU_VP)
|
||||
#define CONFIG_SYS_DBAT5L (CONFIG_SYS_SDRAM2_BASE | BATL_PP_RW | BATL_CACHEINHIBIT | BATL_GUARDEDSTORAGE)
|
||||
#define CONFIG_SYS_DBAT5U CONFIG_SYS_IBAT5U
|
||||
|
||||
/* IBAT6 and DBAT6 */
|
||||
#define CONFIG_SYS_IBAT6L (CONFIG_SYS_SDRAM3_BASE | BATL_PP_RW | BATL_CACHEINHIBIT)
|
||||
#define CONFIG_SYS_IBAT6U (CONFIG_SYS_SDRAM3_BASE | BATU_BL_256M | BATU_VS | BATU_VP)
|
||||
#define CONFIG_SYS_DBAT6L (CONFIG_SYS_SDRAM3_BASE | BATL_PP_RW | BATL_CACHEINHIBIT | BATL_GUARDEDSTORAGE)
|
||||
#define CONFIG_SYS_DBAT6U CONFIG_SYS_IBAT6U
|
||||
|
||||
/* IBAT7 and DBAT7 */
|
||||
#define CONFIG_SYS_IBAT7L (CONFIG_SYS_SDRAM4_BASE | BATL_PP_RW | BATL_CACHEINHIBIT)
|
||||
#define CONFIG_SYS_IBAT7U (CONFIG_SYS_SDRAM4_BASE | BATU_BL_256M | BATU_VS | BATU_VP)
|
||||
#define CONFIG_SYS_DBAT7L (CONFIG_SYS_SDRAM4_BASE | BATL_PP_RW | BATL_CACHEINHIBIT | BATL_GUARDEDSTORAGE)
|
||||
#define CONFIG_SYS_DBAT7U CONFIG_SYS_IBAT7U
|
||||
|
||||
#else /* set em out of range for Linux !!!!!!!!!!! */
|
||||
#define CONFIG_SYS_IBAT4L (CONFIG_SYS_SDRAM4_BASE | BATL_PP_RW | BATL_CACHEINHIBIT)
|
||||
#define CONFIG_SYS_IBAT4U (CONFIG_SYS_SDRAM4_BASE | BATU_BL_256M | BATU_VS | BATU_VP)
|
||||
#define CONFIG_SYS_DBAT4L (CONFIG_SYS_SDRAM4_BASE | BATL_PP_RW | BATL_CACHEINHIBIT | BATL_GUARDEDSTORAGE)
|
||||
#define CONFIG_SYS_DBAT4U CONFIG_SYS_IBAT4U
|
||||
|
||||
/* IBAT5 and DBAT5 */
|
||||
#define CONFIG_SYS_IBAT5L (CONFIG_SYS_SDRAM4_BASE | BATL_PP_RW | BATL_CACHEINHIBIT)
|
||||
#define CONFIG_SYS_IBAT5U (CONFIG_SYS_SDRAM4_BASE | BATU_BL_256M | BATU_VS | BATU_VP)
|
||||
#define CONFIG_SYS_DBAT5L (CONFIG_SYS_SDRAM4_BASE | BATL_PP_RW | BATL_CACHEINHIBIT | BATL_GUARDEDSTORAGE)
|
||||
#define CONFIG_SYS_DBAT5U CONFIG_SYS_IBAT4U
|
||||
|
||||
/* IBAT6 and DBAT6 */
|
||||
#define CONFIG_SYS_IBAT6L (CONFIG_SYS_SDRAM4_BASE | BATL_PP_RW | BATL_CACHEINHIBIT)
|
||||
#define CONFIG_SYS_IBAT6U (CONFIG_SYS_SDRAM4_BASE | BATU_BL_256M | BATU_VS | BATU_VP)
|
||||
#define CONFIG_SYS_DBAT6L (CONFIG_SYS_SDRAM4_BASE | BATL_PP_RW | BATL_CACHEINHIBIT | BATL_GUARDEDSTORAGE)
|
||||
#define CONFIG_SYS_DBAT6U CONFIG_SYS_IBAT4U
|
||||
|
||||
/* IBAT7 and DBAT7 */
|
||||
#define CONFIG_SYS_IBAT7L (CONFIG_SYS_SDRAM4_BASE | BATL_PP_RW | BATL_CACHEINHIBIT)
|
||||
#define CONFIG_SYS_IBAT7U (CONFIG_SYS_SDRAM4_BASE | BATU_BL_256M | BATU_VS | BATU_VP)
|
||||
#define CONFIG_SYS_DBAT7L (CONFIG_SYS_SDRAM4_BASE | BATL_PP_RW | BATL_CACHEINHIBIT | BATL_GUARDEDSTORAGE)
|
||||
#define CONFIG_SYS_DBAT7U CONFIG_SYS_IBAT4U
|
||||
|
||||
#endif
|
||||
/* FIXME: ingo end: disable BATs for Linux Kernel */
|
||||
|
||||
/* I2C addresses for the two DIMM SPD chips */
|
||||
#define DIMM0_I2C_ADDR 0x51
|
||||
#define DIMM1_I2C_ADDR 0x52
|
||||
|
||||
/*
|
||||
* For booting Linux, the board info and command line data
|
||||
* have to be in the first 8 MB of memory, since this is
|
||||
* the maximum mapped by the Linux kernel during initialization.
|
||||
*/
|
||||
#define CONFIG_SYS_BOOTMAPSZ (8<<20) /* Initial Memory map for Linux */
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* FLASH organization
|
||||
*/
|
||||
#define CONFIG_SYS_BOOT_FLASH_WIDTH 2 /* 16 bit */
|
||||
|
||||
#define CONFIG_SYS_FLASH_ERASE_TOUT 120000 /* Timeout for Flash Erase (in ms) */
|
||||
#define CONFIG_SYS_FLASH_WRITE_TOUT 500 /* Timeout for Flash Write (in ms) */
|
||||
#define CONFIG_SYS_FLASH_LOCK_TOUT 500 /* Timeout for Flash Lock (in ms) */
|
||||
|
||||
#if 0
|
||||
#define CONFIG_ENV_IS_IN_FLASH
|
||||
#define CONFIG_ENV_SIZE 0x1000 /* Total Size of Environment Sector */
|
||||
#define CONFIG_ENV_SECT_SIZE 0x10000
|
||||
#define CONFIG_ENV_ADDR 0xFFF78000 /* Marvell 8-Bit Bootflash last sector */
|
||||
/* #define CONFIG_ENV_ADDR (CONFIG_SYS_FLASH_BASE+CONFIG_SYS_MONITOR_LEN-CONFIG_ENV_SECT_SIZE) */
|
||||
#endif
|
||||
|
||||
#define CONFIG_ENV_IS_IN_EEPROM 1 /* use EEPROM for environment vars */
|
||||
#define CONFIG_SYS_EEPROM_PAGE_WRITE_BITS 5
|
||||
#define CONFIG_SYS_EEPROM_PAGE_WRITE_DELAY_MS 20
|
||||
#define CONFIG_SYS_I2C_EEPROM_ADDR 0x050
|
||||
#define CONFIG_ENV_OFFSET 0x200 /* environment starts at the beginning of the EEPROM */
|
||||
#define CONFIG_ENV_SIZE 0x600 /* 2048 bytes may be used for env vars*/
|
||||
|
||||
#define CONFIG_SYS_NVRAM_BASE_ADDR 0xf0000000 /* NVRAM base address */
|
||||
#define CONFIG_SYS_NVRAM_SIZE (32*1024) /* NVRAM size */
|
||||
#define CONFIG_SYS_VXWORKS_MAC_PTR (CONFIG_SYS_NVRAM_BASE_ADDR+CONFIG_SYS_NVRAM_SIZE-0x40)
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* Cache Configuration
|
||||
*/
|
||||
#define CONFIG_SYS_CACHELINE_SIZE 32 /* For all MPC74xx CPUs */
|
||||
#if defined(CONFIG_CMD_KGDB)
|
||||
#define CONFIG_SYS_CACHELINE_SHIFT 5 /* log base 2 of the above value */
|
||||
#endif
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* L2CR setup -- make sure this is right for your board!
|
||||
* look in include/mpc74xx.h for the defines used here
|
||||
*/
|
||||
|
||||
/*#define CONFIG_SYS_L2*/
|
||||
#undef CONFIG_SYS_L2
|
||||
|
||||
/* #ifdef CONFIG_750CX*/
|
||||
#if defined (CONFIG_750CX) || defined (CONFIG_750FX)
|
||||
#define L2_INIT 0
|
||||
#else
|
||||
#define L2_INIT (L2CR_L2SIZ_2M | L2CR_L2CLK_3 | L2CR_L2RAM_BURST | \
|
||||
L2CR_L2OH_5 | L2CR_L2CTL | L2CR_L2WT)
|
||||
#endif
|
||||
|
||||
#define L2_ENABLE (L2_INIT | L2CR_L2E)
|
||||
|
||||
#define CONFIG_SYS_BOARD_ASM_INIT 1
|
||||
|
||||
#define CPCI750_SLAVE_TEST (((in8(0xf0300000) & 0x80) == 0) ? 0 : 1)
|
||||
#define CPCI750_ECC_TEST (((in8(0xf0300000) & 0x02) == 0) ? 1 : 0)
|
||||
#define CONFIG_SYS_PLD_VER 0xf0e00000
|
||||
|
||||
#define CONFIG_OF_LIBFDT 1
|
||||
|
||||
#endif /* __CONFIG_H */
|
||||
|
|
@ -0,0 +1,255 @@
|
|||
/*
|
||||
* (C) Copyright 2001-2003
|
||||
* Stefan Roese, esd gmbh germany, stefan.roese@esd-electronics.com
|
||||
*
|
||||
* See file CREDITS for list of people who contributed to this
|
||||
* project.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of
|
||||
* the License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston,
|
||||
* MA 02111-1307 USA
|
||||
*/
|
||||
|
||||
/*
|
||||
* board/config.h - configuration options, board specific
|
||||
*/
|
||||
|
||||
#ifndef __CONFIG_H
|
||||
#define __CONFIG_H
|
||||
|
||||
/*
|
||||
* High Level Configuration Options
|
||||
* (easy to change)
|
||||
*/
|
||||
|
||||
#define CONFIG_405GP 1 /* This is a PPC405 CPU */
|
||||
#define CONFIG_4xx 1 /* ...member of PPC4xx family */
|
||||
#define CONFIG_CPCIISER4 1 /* ...on a CPCIISER4 board */
|
||||
|
||||
#define CONFIG_SYS_TEXT_BASE 0xFFFC0000
|
||||
|
||||
#define CONFIG_BOARD_EARLY_INIT_F 1 /* call board_early_init_f() */
|
||||
|
||||
#define CONFIG_SYS_CLK_FREQ 25000000 /* external frequency to pll */
|
||||
|
||||
#define CONFIG_BAUDRATE 9600
|
||||
#define CONFIG_BOOTDELAY 3 /* autoboot after 3 seconds */
|
||||
|
||||
#undef CONFIG_BOOTARGS
|
||||
#define CONFIG_BOOTCOMMAND "bootm fff00000"
|
||||
|
||||
#define CONFIG_LOADS_ECHO 1 /* echo on for serial download */
|
||||
#define CONFIG_SYS_LOADS_BAUD_CHANGE 1 /* allow baudrate change */
|
||||
|
||||
#define CONFIG_PPC4xx_EMAC
|
||||
#define CONFIG_MII 1 /* MII PHY management */
|
||||
#define CONFIG_PHY_ADDR 0 /* PHY address */
|
||||
#define CONFIG_LXT971_NO_SLEEP 1 /* disable sleep mode in LXT971 */
|
||||
|
||||
|
||||
/*
|
||||
* BOOTP options
|
||||
*/
|
||||
#define CONFIG_BOOTP_BOOTFILESIZE
|
||||
#define CONFIG_BOOTP_BOOTPATH
|
||||
#define CONFIG_BOOTP_GATEWAY
|
||||
#define CONFIG_BOOTP_HOSTNAME
|
||||
|
||||
|
||||
/*
|
||||
* 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_PCI
|
||||
#define CONFIG_CMD_IRQ
|
||||
#define CONFIG_CMD_MII
|
||||
#define CONFIG_CMD_ELF
|
||||
#define CONFIG_CMD_EEPROM
|
||||
|
||||
|
||||
#undef CONFIG_WATCHDOG /* watchdog disabled */
|
||||
|
||||
#define CONFIG_SDRAM_BANK0 1 /* init onboard SDRAM bank 0 */
|
||||
|
||||
/*
|
||||
* Miscellaneous configurable options
|
||||
*/
|
||||
#define CONFIG_SYS_LONGHELP /* undef to save memory */
|
||||
#define CONFIG_SYS_PROMPT "=> " /* Monitor Command Prompt */
|
||||
#if defined(CONFIG_CMD_KGDB)
|
||||
#define CONFIG_SYS_CBSIZE 1024 /* Console I/O Buffer Size */
|
||||
#else
|
||||
#define CONFIG_SYS_CBSIZE 256 /* Console I/O Buffer Size */
|
||||
#endif
|
||||
#define CONFIG_SYS_PBSIZE (CONFIG_SYS_CBSIZE+sizeof(CONFIG_SYS_PROMPT)+16) /* Print Buffer Size */
|
||||
#define CONFIG_SYS_MAXARGS 16 /* max number of command args */
|
||||
#define CONFIG_SYS_BARGSIZE CONFIG_SYS_CBSIZE /* Boot Argument Buffer Size */
|
||||
|
||||
#define CONFIG_SYS_CONSOLE_INFO_QUIET 1 /* don't print console @ startup*/
|
||||
|
||||
#define CONFIG_SYS_MEMTEST_START 0x0400000 /* memtest works on */
|
||||
#define CONFIG_SYS_MEMTEST_END 0x0C00000 /* 4 ... 12 MB in DRAM */
|
||||
|
||||
#define CONFIG_CONS_INDEX 1 /* Use UART0 */
|
||||
#define CONFIG_SYS_NS16550
|
||||
#define CONFIG_SYS_NS16550_SERIAL
|
||||
#define CONFIG_SYS_NS16550_REG_SIZE 1
|
||||
#define CONFIG_SYS_NS16550_CLK get_serial_clock()
|
||||
|
||||
#define CONFIG_SYS_EXT_SERIAL_CLOCK 1843200 /* use external serial clock */
|
||||
|
||||
/* The following table includes the supported baudrates */
|
||||
#define CONFIG_SYS_BAUDRATE_TABLE \
|
||||
{ 300, 600, 1200, 2400, 4800, 9600, 19200, 38400, \
|
||||
57600, 115200, 230400, 460800, 921600 }
|
||||
|
||||
#define CONFIG_SYS_LOAD_ADDR 0x100000 /* default load address */
|
||||
#define CONFIG_SYS_EXTBDINFO 1 /* To use extended board_into (bd_t) */
|
||||
|
||||
#define CONFIG_SYS_HZ 1000 /* decrementer freq: 1 ms ticks */
|
||||
|
||||
#define CONFIG_ZERO_BOOTDELAY_CHECK /* check for keypress on bootdelay==0 */
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* PCI stuff
|
||||
*-----------------------------------------------------------------------
|
||||
*/
|
||||
#define PCI_HOST_ADAPTER 0 /* configure ar pci adapter */
|
||||
#define PCI_HOST_FORCE 1 /* configure as pci host */
|
||||
#define PCI_HOST_AUTO 2 /* detected via arbiter enable */
|
||||
|
||||
#define CONFIG_PCI /* include pci support */
|
||||
#define CONFIG_PCI_HOST PCI_HOST_AUTO /* select pci host function */
|
||||
#define CONFIG_PCI_PNP /* do pci plug-and-play */
|
||||
/* resource configuration */
|
||||
|
||||
#define CONFIG_SYS_PCI_SUBSYS_VENDORID 0x12FE /* PCI Vendor ID: esd gmbh */
|
||||
#define CONFIG_SYS_PCI_SUBSYS_DEVICEID 0x0404 /* PCI Device ID: CPCI-ISER4 */
|
||||
#define CONFIG_SYS_PCI_PTM1LA 0x00000000 /* point to sdram */
|
||||
#define CONFIG_SYS_PCI_PTM1MS 0xff000001 /* 16MB, enable hard-wired to 1 */
|
||||
#define CONFIG_SYS_PCI_PTM1PCI 0x00000000 /* Host: use this pci address */
|
||||
#define CONFIG_SYS_PCI_PTM2LA 0xffe00000 /* point to flash */
|
||||
#define CONFIG_SYS_PCI_PTM2MS 0xffe00001 /* 2MB, enable */
|
||||
#define CONFIG_SYS_PCI_PTM2PCI 0x04000000 /* Host: use this pci address */
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* Start addresses for the final memory configuration
|
||||
* (Set up by the startup code)
|
||||
* Please note that CONFIG_SYS_SDRAM_BASE _must_ start at 0
|
||||
*/
|
||||
#define CONFIG_SYS_SDRAM_BASE 0x00000000
|
||||
#define CONFIG_SYS_FLASH_BASE 0xFFFC0000
|
||||
#define CONFIG_SYS_MONITOR_BASE CONFIG_SYS_FLASH_BASE
|
||||
#define CONFIG_SYS_MONITOR_LEN (256 * 1024) /* Reserve 256 kB for Monitor */
|
||||
#define CONFIG_SYS_MALLOC_LEN (128 * 1024) /* Reserve 128 kB for malloc() */
|
||||
|
||||
/*
|
||||
* For booting Linux, the board info and command line data
|
||||
* have to be in the first 8 MB of memory, since this is
|
||||
* the maximum mapped by the Linux kernel during initialization.
|
||||
*/
|
||||
#define CONFIG_SYS_BOOTMAPSZ (8 << 20) /* Initial Memory map for Linux */
|
||||
/*-----------------------------------------------------------------------
|
||||
* FLASH organization
|
||||
*/
|
||||
#define CONFIG_SYS_MAX_FLASH_BANKS 1 /* max number of memory banks */
|
||||
#define CONFIG_SYS_MAX_FLASH_SECT 256 /* max number of sectors on one chip */
|
||||
|
||||
#define CONFIG_SYS_FLASH_ERASE_TOUT 120000 /* Timeout for Flash Erase (in ms) */
|
||||
#define CONFIG_SYS_FLASH_WRITE_TOUT 500 /* Timeout for Flash Write (in ms) */
|
||||
|
||||
#define CONFIG_SYS_FLASH_WORD_SIZE unsigned short /* flash word size (width) */
|
||||
#define CONFIG_SYS_FLASH_ADDR0 0x5555 /* 1st address for flash config cycles */
|
||||
#define CONFIG_SYS_FLASH_ADDR1 0x2AAA /* 2nd address for flash config cycles */
|
||||
/*
|
||||
* The following defines are added for buggy IOP480 byte interface.
|
||||
* All other boards should use the standard values (CPCI405 etc.)
|
||||
*/
|
||||
#define CONFIG_SYS_FLASH_READ0 0x0000 /* 0 is standard */
|
||||
#define CONFIG_SYS_FLASH_READ1 0x0001 /* 1 is standard */
|
||||
#define CONFIG_SYS_FLASH_READ2 0x0002 /* 2 is standard */
|
||||
|
||||
#define CONFIG_SYS_FLASH_EMPTY_INFO /* print 'E' for empty sector on flinfo */
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* I2C EEPROM (CAT24WC08) for environment
|
||||
*/
|
||||
#define CONFIG_HARD_I2C /* I2C with hardware support */
|
||||
#define CONFIG_PPC4XX_I2C /* use PPC4xx driver */
|
||||
#define CONFIG_SYS_I2C_SPEED 400000 /* I2C speed and slave address */
|
||||
#define CONFIG_SYS_I2C_SLAVE 0x7F
|
||||
|
||||
#define CONFIG_SYS_I2C_EEPROM_ADDR 0x50 /* EEPROM CAT28WC08 */
|
||||
#define CONFIG_SYS_I2C_EEPROM_ADDR_LEN 1 /* Bytes of address */
|
||||
/* mask of address bits that overflow into the "EEPROM chip address" */
|
||||
#define CONFIG_SYS_I2C_EEPROM_ADDR_OVERFLOW 0x07
|
||||
#define CONFIG_SYS_EEPROM_PAGE_WRITE_BITS 4 /* The Catalyst CAT24WC08 has */
|
||||
/* 16 byte page write mode using*/
|
||||
/* last 4 bits of the address */
|
||||
#define CONFIG_SYS_EEPROM_PAGE_WRITE_DELAY_MS 10 /* and takes up to 10 msec */
|
||||
|
||||
#define CONFIG_ENV_IS_IN_EEPROM 1 /* use EEPROM for environment vars */
|
||||
#define CONFIG_ENV_OFFSET 0x000 /* environment starts at the beginning of the EEPROM */
|
||||
#define CONFIG_ENV_SIZE 0x300 /* 768 bytes may be used for env vars */
|
||||
/* total size of a CAT24WC08 is 1024 bytes */
|
||||
|
||||
/*
|
||||
* Init Memory Controller:
|
||||
*
|
||||
* BR0/1 and OR0/1 (FLASH)
|
||||
*/
|
||||
|
||||
#define FLASH_BASE0_PRELIM 0xFFF00000 /* FLASH bank #0 */
|
||||
#define FLASH_BASE1_PRELIM 0 /* FLASH bank #1 */
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* External Bus Controller (EBC) Setup
|
||||
*/
|
||||
|
||||
/* Memory Bank 0 (Flash Bank 0) initialization */
|
||||
#define CONFIG_SYS_EBC_PB0AP 0x92015480
|
||||
#define CONFIG_SYS_EBC_PB0CR 0xFFC5A000 /* BAS=0xFFC,BS=4MB,BU=R/W,BW=16bit */
|
||||
|
||||
/* Memory Bank 1 (Uart 8bit) initialization */
|
||||
#define CONFIG_SYS_EBC_PB1AP 0x01000480 /* TWT=2,TH=2,no Ready,BEM=0,SOR=1 */
|
||||
#define CONFIG_SYS_EBC_PB1CR 0xF0018000 /* BAS=0xF00,BS=1MB,BU=R/W,BW=8bit */
|
||||
|
||||
/* Memory Bank 2 (Uart 32bit) initialization */
|
||||
#define CONFIG_SYS_EBC_PB2AP 0x000004c0 /* no Ready, BEM=1 */
|
||||
#define CONFIG_SYS_EBC_PB2CR 0xF011C000 /* BAS=0xF01,BS=1MB,BU=R/W,BW=32bit */
|
||||
|
||||
/* Memory Bank 3 (FPGA Reset) initialization */
|
||||
#define CONFIG_SYS_EBC_PB3AP 0x010004C0 /* no Ready, BEM=1 */
|
||||
#define CONFIG_SYS_EBC_PB3CR 0xF021A000 /* BAS=0xF02,BS=1MB,BU=R/W,BW=16bit */
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* Definitions for initial stack pointer and data area (in DPRAM)
|
||||
*/
|
||||
#define CONFIG_SYS_INIT_DCACHE_CS 7 /* use cs # 7 for data cache memory */
|
||||
#define CONFIG_SYS_INIT_RAM_ADDR 0x40000000 /* use data cache */
|
||||
#define CONFIG_SYS_INIT_RAM_SIZE 0x2000 /* Size of used area in RAM */
|
||||
#define CONFIG_SYS_GBL_DATA_OFFSET (CONFIG_SYS_INIT_RAM_SIZE - GENERATED_GBL_DATA_SIZE)
|
||||
#define CONFIG_SYS_INIT_SP_OFFSET CONFIG_SYS_GBL_DATA_OFFSET
|
||||
|
||||
#endif /* __CONFIG_H */
|
||||
|
|
@ -0,0 +1,648 @@
|
|||
/*
|
||||
* (C) Copyright 2001-2005
|
||||
* Wolfgang Denk, DENX Software Engineering, wd@denx.de.
|
||||
*
|
||||
* See file CREDITS for list of people who contributed to this
|
||||
* project.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of
|
||||
* the License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston,
|
||||
* MA 02111-1307 USA
|
||||
*/
|
||||
|
||||
/*
|
||||
* board/config.h - configuration options, board specific
|
||||
*/
|
||||
|
||||
#ifndef __CONFIG_H
|
||||
#define __CONFIG_H
|
||||
|
||||
/*
|
||||
* High Level Configuration Options
|
||||
* (easy to change)
|
||||
*/
|
||||
|
||||
#define CONFIG_MPC8260 1 /* This is an MPC8260 CPU */
|
||||
#define CONFIG_CPU86 1 /* ...on a CPU86 board */
|
||||
#define CONFIG_CPM2 1 /* Has a CPM2 */
|
||||
|
||||
#ifdef CONFIG_BOOT_ROM
|
||||
#define CONFIG_SYS_TEXT_BASE 0xFF800000
|
||||
#else
|
||||
#define CONFIG_SYS_TEXT_BASE 0xFF000000
|
||||
#endif
|
||||
|
||||
/*
|
||||
* select serial console configuration
|
||||
*
|
||||
* if either CONFIG_CONS_ON_SMC or CONFIG_CONS_ON_SCC is selected, then
|
||||
* CONFIG_CONS_INDEX must be set to the channel number (1-2 for SMC, 1-4
|
||||
* for SCC).
|
||||
*
|
||||
* if CONFIG_CONS_NONE is defined, then the serial console routines must
|
||||
* defined elsewhere (for example, on the cogent platform, there are serial
|
||||
* ports on the motherboard which are used for the serial console - see
|
||||
* cogent/cma101/serial.[ch]).
|
||||
*/
|
||||
#undef CONFIG_CONS_ON_SMC /* define if console on SMC */
|
||||
#define CONFIG_CONS_ON_SCC /* define if console on SCC */
|
||||
#undef CONFIG_CONS_NONE /* define if console on something else*/
|
||||
#define CONFIG_CONS_INDEX 1 /* which serial channel for console */
|
||||
|
||||
#if defined(CONFIG_CONS_NONE) || defined(CONFIG_CONS_USE_EXTC)
|
||||
#define CONFIG_BAUDRATE 230400
|
||||
#else
|
||||
#define CONFIG_BAUDRATE 9600
|
||||
#endif
|
||||
|
||||
/*
|
||||
* select ethernet configuration
|
||||
*
|
||||
* if either CONFIG_ETHER_ON_SCC or CONFIG_ETHER_ON_FCC is selected, then
|
||||
* CONFIG_ETHER_INDEX must be set to the channel number (1-4 for SCC, 1-3
|
||||
* for FCC)
|
||||
*
|
||||
* if CONFIG_ETHER_NONE is defined, then either the ethernet routines must be
|
||||
* defined elsewhere (as for the console), or CONFIG_CMD_NET must be unset.
|
||||
*/
|
||||
#undef CONFIG_ETHER_ON_SCC /* define if ether on SCC */
|
||||
#define CONFIG_ETHER_ON_FCC /* define if ether on FCC */
|
||||
#undef CONFIG_ETHER_NONE /* define if ether on something else */
|
||||
#define CONFIG_ETHER_INDEX 1 /* which SCC/FCC channel for ethernet */
|
||||
|
||||
#if defined(CONFIG_ETHER_ON_FCC) && (CONFIG_ETHER_INDEX == 1)
|
||||
|
||||
/*
|
||||
* - Rx-CLK is CLK11
|
||||
* - Tx-CLK is CLK12
|
||||
* - RAM for BD/Buffers is on the 60x Bus (see 28-13)
|
||||
* - Enable Full Duplex in FSMR
|
||||
*/
|
||||
# define CONFIG_SYS_CMXFCR_MASK1 (CMXFCR_FC1|CMXFCR_RF1CS_MSK|CMXFCR_TF1CS_MSK)
|
||||
# define CONFIG_SYS_CMXFCR_VALUE1 (CMXFCR_RF1CS_CLK11|CMXFCR_TF1CS_CLK12)
|
||||
# define CONFIG_SYS_CPMFCR_RAMTYPE 0
|
||||
# define CONFIG_SYS_FCC_PSMR (FCC_PSMR_FDE|FCC_PSMR_LPB)
|
||||
|
||||
#elif defined(CONFIG_ETHER_ON_FCC) && (CONFIG_ETHER_INDEX == 2)
|
||||
|
||||
/*
|
||||
* - Rx-CLK is CLK13
|
||||
* - Tx-CLK is CLK14
|
||||
* - RAM for BD/Buffers is on the 60x Bus (see 28-13)
|
||||
* - Enable Full Duplex in FSMR
|
||||
*/
|
||||
# define CONFIG_SYS_CMXFCR_MASK2 (CMXFCR_FC2|CMXFCR_RF2CS_MSK|CMXFCR_TF2CS_MSK)
|
||||
# define CONFIG_SYS_CMXFCR_VALUE2 (CMXFCR_RF2CS_CLK13|CMXFCR_TF2CS_CLK14)
|
||||
# define CONFIG_SYS_CPMFCR_RAMTYPE 0
|
||||
# define CONFIG_SYS_FCC_PSMR (FCC_PSMR_FDE|FCC_PSMR_LPB)
|
||||
|
||||
#endif /* CONFIG_ETHER_ON_FCC, CONFIG_ETHER_INDEX */
|
||||
|
||||
/* system clock rate (CLKIN) - equal to the 60x and local bus speed */
|
||||
#define CONFIG_8260_CLKIN 64000000 /* in Hz */
|
||||
|
||||
#define CONFIG_BOOTDELAY 5 /* autoboot after 5 seconds */
|
||||
|
||||
#define CONFIG_PREBOOT \
|
||||
"echo; " \
|
||||
"echo Type \\\"run flash_nfs\\\" to mount root filesystem over NFS; " \
|
||||
"echo"
|
||||
|
||||
#undef CONFIG_BOOTARGS
|
||||
#define CONFIG_BOOTCOMMAND \
|
||||
"bootp; " \
|
||||
"setenv bootargs root=/dev/nfs rw nfsroot=${serverip}:${rootpath} " \
|
||||
"ip=${ipaddr}:${serverip}:${gatewayip}:${netmask}:${hostname}::off; " \
|
||||
"bootm"
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* I2C/EEPROM/RTC configuration
|
||||
*/
|
||||
#define CONFIG_SOFT_I2C /* Software I2C support enabled */
|
||||
|
||||
# define CONFIG_SYS_I2C_SPEED 50000
|
||||
# define CONFIG_SYS_I2C_SLAVE 0xFE
|
||||
/*
|
||||
* Software (bit-bang) I2C driver configuration
|
||||
*/
|
||||
#define I2C_PORT 3 /* Port A=0, B=1, C=2, D=3 */
|
||||
#define I2C_ACTIVE (iop->pdir |= 0x00010000)
|
||||
#define I2C_TRISTATE (iop->pdir &= ~0x00010000)
|
||||
#define I2C_READ ((iop->pdat & 0x00010000) != 0)
|
||||
#define I2C_SDA(bit) if(bit) iop->pdat |= 0x00010000; \
|
||||
else iop->pdat &= ~0x00010000
|
||||
#define I2C_SCL(bit) if(bit) iop->pdat |= 0x00020000; \
|
||||
else iop->pdat &= ~0x00020000
|
||||
#define I2C_DELAY udelay(5) /* 1/4 I2C clock duration */
|
||||
|
||||
#define CONFIG_RTC_PCF8563
|
||||
#define CONFIG_SYS_I2C_RTC_ADDR 0x51
|
||||
|
||||
#undef CONFIG_WATCHDOG /* watchdog disabled */
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* Miscellaneous configuration options
|
||||
*/
|
||||
|
||||
#define CONFIG_LOADS_ECHO 1 /* echo on for serial download */
|
||||
#undef CONFIG_SYS_LOADS_BAUD_CHANGE /* don't allow baudrate change */
|
||||
|
||||
/*
|
||||
* BOOTP options
|
||||
*/
|
||||
#define CONFIG_BOOTP_SUBNETMASK
|
||||
#define CONFIG_BOOTP_GATEWAY
|
||||
#define CONFIG_BOOTP_HOSTNAME
|
||||
#define CONFIG_BOOTP_BOOTPATH
|
||||
#define CONFIG_BOOTP_BOOTFILESIZE
|
||||
|
||||
|
||||
/*
|
||||
* Command line configuration.
|
||||
*/
|
||||
#include <config_cmd_default.h>
|
||||
|
||||
#define CONFIG_CMD_BEDBUG
|
||||
#define CONFIG_CMD_DATE
|
||||
#define CONFIG_CMD_DHCP
|
||||
#define CONFIG_CMD_EEPROM
|
||||
#define CONFIG_CMD_I2C
|
||||
#define CONFIG_CMD_NFS
|
||||
#define CONFIG_CMD_SNTP
|
||||
|
||||
|
||||
/*
|
||||
* Miscellaneous configurable options
|
||||
*/
|
||||
#define CONFIG_SYS_LONGHELP /* undef to save memory */
|
||||
#define CONFIG_SYS_PROMPT "=> " /* Monitor Command Prompt */
|
||||
#if defined(CONFIG_CMD_KGDB)
|
||||
#define CONFIG_SYS_CBSIZE 1024 /* Console I/O Buffer Size */
|
||||
#else
|
||||
#define CONFIG_SYS_CBSIZE 256 /* Console I/O Buffer Size */
|
||||
#endif
|
||||
#define CONFIG_SYS_PBSIZE (CONFIG_SYS_CBSIZE+sizeof(CONFIG_SYS_PROMPT)+16) /* Print Buffer Size */
|
||||
#define CONFIG_SYS_MAXARGS 16 /* max number of command args */
|
||||
#define CONFIG_SYS_BARGSIZE CONFIG_SYS_CBSIZE /* Boot Argument Buffer Size */
|
||||
|
||||
#define CONFIG_SYS_MEMTEST_START 0x0400000 /* memtest works on */
|
||||
#define CONFIG_SYS_MEMTEST_END 0x0C00000 /* 4 ... 12 MB in DRAM */
|
||||
|
||||
#define CONFIG_SYS_LOAD_ADDR 0x100000 /* default load address */
|
||||
|
||||
#define CONFIG_SYS_HZ 1000 /* decrementer freq: 1 ms ticks */
|
||||
|
||||
#define CONFIG_SYS_RESET_ADDRESS 0xFFF00100 /* "bad" address */
|
||||
|
||||
/*
|
||||
* For booting Linux, the board info and command line data
|
||||
* have to be in the first 8 MB of memory, since this is
|
||||
* the maximum mapped by the Linux kernel during initialization.
|
||||
*/
|
||||
#define CONFIG_SYS_BOOTMAPSZ (8 << 20) /* Initial Memory map for Linux */
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* Flash configuration
|
||||
*/
|
||||
|
||||
#define CONFIG_SYS_BOOTROM_BASE 0xFF800000
|
||||
#define CONFIG_SYS_BOOTROM_SIZE 0x00080000
|
||||
#define CONFIG_SYS_FLASH_BASE 0xFF000000
|
||||
#define CONFIG_SYS_FLASH_SIZE 0x00800000
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* FLASH organization
|
||||
*/
|
||||
#define CONFIG_SYS_MAX_FLASH_BANKS 2 /* max num of memory banks */
|
||||
#define CONFIG_SYS_MAX_FLASH_SECT 128 /* max num of sects on one chip */
|
||||
|
||||
#define CONFIG_SYS_FLASH_ERASE_TOUT 240000 /* Flash Erase Timeout (in ms) */
|
||||
#define CONFIG_SYS_FLASH_WRITE_TOUT 500 /* Flash Write Timeout (in ms) */
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* Other areas to be mapped
|
||||
*/
|
||||
|
||||
/* CS3: Dual ported SRAM */
|
||||
#define CONFIG_SYS_DPSRAM_BASE 0x40000000
|
||||
#define CONFIG_SYS_DPSRAM_SIZE 0x00020000
|
||||
|
||||
/* CS4: DiskOnChip */
|
||||
#define CONFIG_SYS_DOC_BASE 0xF4000000
|
||||
#define CONFIG_SYS_DOC_SIZE 0x00100000
|
||||
|
||||
/* CS5: FDC37C78 controller */
|
||||
#define CONFIG_SYS_FDC37C78_BASE 0xF1000000
|
||||
#define CONFIG_SYS_FDC37C78_SIZE 0x00100000
|
||||
|
||||
/* CS6: Board configuration registers */
|
||||
#define CONFIG_SYS_BCRS_BASE 0xF2000000
|
||||
#define CONFIG_SYS_BCRS_SIZE 0x00010000
|
||||
|
||||
/* CS7: VME Extended Access Range */
|
||||
#define CONFIG_SYS_VMEEAR_BASE 0x80000000
|
||||
#define CONFIG_SYS_VMEEAR_SIZE 0x01000000
|
||||
|
||||
/* CS8: VME Standard Access Range */
|
||||
#define CONFIG_SYS_VMESAR_BASE 0xFE000000
|
||||
#define CONFIG_SYS_VMESAR_SIZE 0x01000000
|
||||
|
||||
/* CS9: VME Short I/O Access Range */
|
||||
#define CONFIG_SYS_VMESIOAR_BASE 0xFD000000
|
||||
#define CONFIG_SYS_VMESIOAR_SIZE 0x01000000
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* Hard Reset Configuration Words
|
||||
*
|
||||
* if you change bits in the HRCW, you must also change the CONFIG_SYS_*
|
||||
* defines for the various registers affected by the HRCW e.g. changing
|
||||
* HRCW_DPPCxx requires you to also change CONFIG_SYS_SIUMCR.
|
||||
*/
|
||||
#if defined(CONFIG_BOOT_ROM)
|
||||
#define CONFIG_SYS_HRCW_MASTER (HRCW_CIP | HRCW_ISB100 | HRCW_BMS | \
|
||||
HRCW_BPS01 | HRCW_CS10PC01)
|
||||
#else
|
||||
#define CONFIG_SYS_HRCW_MASTER (HRCW_CIP | HRCW_ISB100 | HRCW_BMS | HRCW_CS10PC01)
|
||||
#endif
|
||||
|
||||
/* no slaves so just fill with zeros */
|
||||
#define CONFIG_SYS_HRCW_SLAVE1 0
|
||||
#define CONFIG_SYS_HRCW_SLAVE2 0
|
||||
#define CONFIG_SYS_HRCW_SLAVE3 0
|
||||
#define CONFIG_SYS_HRCW_SLAVE4 0
|
||||
#define CONFIG_SYS_HRCW_SLAVE5 0
|
||||
#define CONFIG_SYS_HRCW_SLAVE6 0
|
||||
#define CONFIG_SYS_HRCW_SLAVE7 0
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* Internal Memory Mapped Register
|
||||
*/
|
||||
#define CONFIG_SYS_IMMR 0xF0000000
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* Definitions for initial stack pointer and data area (in DPRAM)
|
||||
*/
|
||||
#define CONFIG_SYS_INIT_RAM_ADDR CONFIG_SYS_IMMR
|
||||
#define CONFIG_SYS_INIT_RAM_SIZE 0x4000 /* Size of used area in DPRAM */
|
||||
#define CONFIG_SYS_GBL_DATA_OFFSET (CONFIG_SYS_INIT_RAM_SIZE - GENERATED_GBL_DATA_SIZE)
|
||||
#define CONFIG_SYS_INIT_SP_OFFSET CONFIG_SYS_GBL_DATA_OFFSET
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* Start addresses for the final memory configuration
|
||||
* (Set up by the startup code)
|
||||
* Please note that CONFIG_SYS_SDRAM_BASE _must_ start at 0
|
||||
*
|
||||
* 60x SDRAM is mapped at CONFIG_SYS_SDRAM_BASE.
|
||||
*/
|
||||
#define CONFIG_SYS_SDRAM_BASE 0x00000000
|
||||
#define CONFIG_SYS_SDRAM_MAX_SIZE 0x08000000 /* max. 128 MB */
|
||||
#define CONFIG_SYS_MONITOR_BASE CONFIG_SYS_TEXT_BASE
|
||||
#define CONFIG_SYS_MONITOR_LEN (256 << 10) /* Reserve 256 kB for Monitor */
|
||||
#define CONFIG_SYS_MALLOC_LEN (128 << 10) /* Reserve 128 kB for malloc()*/
|
||||
|
||||
#if (CONFIG_SYS_MONITOR_BASE < CONFIG_SYS_FLASH_BASE)
|
||||
# define CONFIG_SYS_RAMBOOT
|
||||
#endif
|
||||
|
||||
#if 0
|
||||
/* environment is in Flash */
|
||||
#define CONFIG_ENV_IS_IN_FLASH 1
|
||||
#ifdef CONFIG_BOOT_ROM
|
||||
# define CONFIG_ENV_ADDR (CONFIG_SYS_FLASH_BASE+0x70000)
|
||||
# define CONFIG_ENV_SIZE 0x10000
|
||||
# define CONFIG_ENV_SECT_SIZE 0x10000
|
||||
#endif
|
||||
#else
|
||||
/* environment is in EEPROM */
|
||||
#define CONFIG_ENV_IS_IN_EEPROM 1
|
||||
#define CONFIG_SYS_I2C_EEPROM_ADDR 0x58 /* EEPROM X24C16 */
|
||||
#define CONFIG_SYS_I2C_EEPROM_ADDR_LEN 1
|
||||
/* mask of address bits that overflow into the "EEPROM chip address" */
|
||||
#define CONFIG_SYS_I2C_EEPROM_ADDR_OVERFLOW 0x07
|
||||
#define CONFIG_SYS_EEPROM_PAGE_WRITE_BITS 4
|
||||
#define CONFIG_SYS_EEPROM_PAGE_WRITE_DELAY_MS 10 /* and takes up to 10 msec */
|
||||
#define CONFIG_ENV_OFFSET 512
|
||||
#define CONFIG_ENV_SIZE (2048 - 512)
|
||||
#endif
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* Cache Configuration
|
||||
*/
|
||||
#define CONFIG_SYS_CACHELINE_SIZE 32 /* For MPC8260 CPU */
|
||||
#if defined(CONFIG_CMD_KGDB)
|
||||
# define CONFIG_SYS_CACHELINE_SHIFT 5 /* log base 2 of the above value */
|
||||
#endif
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* HIDx - Hardware Implementation-dependent Registers 2-11
|
||||
*-----------------------------------------------------------------------
|
||||
* HID0 also contains cache control - initially enable both caches and
|
||||
* invalidate contents, then the final state leaves only the instruction
|
||||
* cache enabled. Note that Power-On and Hard reset invalidate the caches,
|
||||
* but Soft reset does not.
|
||||
*
|
||||
* HID1 has only read-only information - nothing to set.
|
||||
*/
|
||||
#define CONFIG_SYS_HID0_INIT (HID0_ICE|HID0_DCE|HID0_ICFI|\
|
||||
HID0_DCI|HID0_IFEM|HID0_ABE)
|
||||
#define CONFIG_SYS_HID0_FINAL (HID0_IFEM|HID0_ABE)
|
||||
#define CONFIG_SYS_HID2 0
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* RMR - Reset Mode Register 5-5
|
||||
*-----------------------------------------------------------------------
|
||||
* turn on Checkstop Reset Enable
|
||||
*/
|
||||
#define CONFIG_SYS_RMR RMR_CSRE
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* BCR - Bus Configuration 4-25
|
||||
*-----------------------------------------------------------------------
|
||||
*/
|
||||
#define BCR_APD01 0x10000000
|
||||
#define CONFIG_SYS_BCR (BCR_APD01|BCR_ETM|BCR_LETM) /* 8260 mode */
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* SIUMCR - SIU Module Configuration 4-31
|
||||
*-----------------------------------------------------------------------
|
||||
*/
|
||||
#define CONFIG_SYS_SIUMCR (SIUMCR_BBD|SIUMCR_DPPC00|SIUMCR_APPC10|\
|
||||
SIUMCR_CS10PC01|SIUMCR_BCTLC10)
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* SYPCR - System Protection Control 4-35
|
||||
* SYPCR can only be written once after reset!
|
||||
*-----------------------------------------------------------------------
|
||||
* Watchdog & Bus Monitor Timer max, 60x Bus Monitor enable
|
||||
*/
|
||||
#if defined(CONFIG_WATCHDOG)
|
||||
#define CONFIG_SYS_SYPCR (SYPCR_SWTC|SYPCR_BMT|SYPCR_PBME|SYPCR_LBME|\
|
||||
SYPCR_SWRI|SYPCR_SWP|SYPCR_SWE)
|
||||
#else
|
||||
#define CONFIG_SYS_SYPCR (SYPCR_SWTC|SYPCR_BMT|SYPCR_PBME|SYPCR_LBME|\
|
||||
SYPCR_SWRI|SYPCR_SWP)
|
||||
#endif /* CONFIG_WATCHDOG */
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* TMCNTSC - Time Counter Status and Control 4-40
|
||||
*-----------------------------------------------------------------------
|
||||
* Clear once per Second and Alarm Interrupt Status, Set 32KHz timersclk,
|
||||
* and enable Time Counter
|
||||
*/
|
||||
#define CONFIG_SYS_TMCNTSC (TMCNTSC_SEC|TMCNTSC_ALR|TMCNTSC_TCF|TMCNTSC_TCE)
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* PISCR - Periodic Interrupt Status and Control 4-42
|
||||
*-----------------------------------------------------------------------
|
||||
* Clear Periodic Interrupt Status, Set 32KHz timersclk, and enable
|
||||
* Periodic timer
|
||||
*/
|
||||
#define CONFIG_SYS_PISCR (PISCR_PS|PISCR_PTF|PISCR_PTE)
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* SCCR - System Clock Control 9-8
|
||||
*-----------------------------------------------------------------------
|
||||
* Ensure DFBRG is Divide by 16
|
||||
*/
|
||||
#define CONFIG_SYS_SCCR SCCR_DFBRG01
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* RCCR - RISC Controller Configuration 13-7
|
||||
*-----------------------------------------------------------------------
|
||||
*/
|
||||
#define CONFIG_SYS_RCCR 0
|
||||
|
||||
#define CONFIG_SYS_MIN_AM_MASK 0xC0000000
|
||||
/*-----------------------------------------------------------------------
|
||||
* MPTPR - Memory Refresh Timer Prescaler Register 10-18
|
||||
*-----------------------------------------------------------------------
|
||||
*/
|
||||
#define CONFIG_SYS_MPTPR 0x1F00
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* PSRT - Refresh Timer Register 10-16
|
||||
*-----------------------------------------------------------------------
|
||||
*/
|
||||
#define CONFIG_SYS_PSRT 0x0f
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* PSRT - SDRAM Mode Register 10-10
|
||||
*-----------------------------------------------------------------------
|
||||
*/
|
||||
|
||||
/* SDRAM initialization values for 8-column chips
|
||||
*/
|
||||
#define CONFIG_SYS_OR2_8COL (CONFIG_SYS_MIN_AM_MASK |\
|
||||
ORxS_BPD_4 |\
|
||||
ORxS_ROWST_PBI0_A9 |\
|
||||
ORxS_NUMR_12)
|
||||
|
||||
#define CONFIG_SYS_PSDMR_8COL (PSDMR_SDAM_A13_IS_A5 |\
|
||||
PSDMR_BSMA_A14_A16 |\
|
||||
PSDMR_SDA10_PBI0_A10 |\
|
||||
PSDMR_RFRC_7_CLK |\
|
||||
PSDMR_PRETOACT_2W |\
|
||||
PSDMR_ACTTORW_1W |\
|
||||
PSDMR_LDOTOPRE_1C |\
|
||||
PSDMR_WRC_1C |\
|
||||
PSDMR_CL_2)
|
||||
|
||||
/* SDRAM initialization values for 9-column chips
|
||||
*/
|
||||
#define CONFIG_SYS_OR2_9COL (CONFIG_SYS_MIN_AM_MASK |\
|
||||
ORxS_BPD_4 |\
|
||||
ORxS_ROWST_PBI0_A7 |\
|
||||
ORxS_NUMR_13)
|
||||
|
||||
#define CONFIG_SYS_PSDMR_9COL (PSDMR_SDAM_A14_IS_A5 |\
|
||||
PSDMR_BSMA_A13_A15 |\
|
||||
PSDMR_SDA10_PBI0_A9 |\
|
||||
PSDMR_RFRC_7_CLK |\
|
||||
PSDMR_PRETOACT_2W |\
|
||||
PSDMR_ACTTORW_1W |\
|
||||
PSDMR_LDOTOPRE_1C |\
|
||||
PSDMR_WRC_1C |\
|
||||
PSDMR_CL_2)
|
||||
|
||||
/*
|
||||
* Init Memory Controller:
|
||||
*
|
||||
* Bank Bus Machine PortSz Device
|
||||
* ---- --- ------- ------ ------
|
||||
* 0 60x GPCM 8 bit Boot ROM
|
||||
* 1 60x GPCM 64 bit FLASH
|
||||
* 2 60x SDRAM 64 bit SDRAM
|
||||
*
|
||||
*/
|
||||
|
||||
#define CONFIG_SYS_MRS_OFFS 0x00000000
|
||||
|
||||
#ifdef CONFIG_BOOT_ROM
|
||||
/* Bank 0 - Boot ROM
|
||||
*/
|
||||
#define CONFIG_SYS_BR0_PRELIM ((CONFIG_SYS_BOOTROM_BASE & BRx_BA_MSK)|\
|
||||
BRx_PS_8 |\
|
||||
BRx_MS_GPCM_P |\
|
||||
BRx_V)
|
||||
|
||||
#define CONFIG_SYS_OR0_PRELIM (P2SZ_TO_AM(CONFIG_SYS_BOOTROM_SIZE) |\
|
||||
ORxG_CSNT |\
|
||||
ORxG_ACS_DIV1 |\
|
||||
ORxG_SCY_3_CLK |\
|
||||
ORxU_EHTR_8IDLE)
|
||||
|
||||
/* Bank 1 - FLASH
|
||||
*/
|
||||
#define CONFIG_SYS_BR1_PRELIM ((CONFIG_SYS_FLASH_BASE & BRx_BA_MSK) |\
|
||||
BRx_PS_64 |\
|
||||
BRx_MS_GPCM_P |\
|
||||
BRx_V)
|
||||
|
||||
#define CONFIG_SYS_OR1_PRELIM (P2SZ_TO_AM(CONFIG_SYS_FLASH_SIZE) |\
|
||||
ORxG_CSNT |\
|
||||
ORxG_ACS_DIV1 |\
|
||||
ORxG_SCY_3_CLK |\
|
||||
ORxU_EHTR_8IDLE)
|
||||
|
||||
#else /* CONFIG_BOOT_ROM */
|
||||
/* Bank 0 - FLASH
|
||||
*/
|
||||
#define CONFIG_SYS_BR0_PRELIM ((CONFIG_SYS_FLASH_BASE & BRx_BA_MSK) |\
|
||||
BRx_PS_64 |\
|
||||
BRx_MS_GPCM_P |\
|
||||
BRx_V)
|
||||
|
||||
#define CONFIG_SYS_OR0_PRELIM (P2SZ_TO_AM(CONFIG_SYS_FLASH_SIZE) |\
|
||||
ORxG_CSNT |\
|
||||
ORxG_ACS_DIV1 |\
|
||||
ORxG_SCY_3_CLK |\
|
||||
ORxU_EHTR_8IDLE)
|
||||
|
||||
/* Bank 1 - Boot ROM
|
||||
*/
|
||||
#define CONFIG_SYS_BR1_PRELIM ((CONFIG_SYS_BOOTROM_BASE & BRx_BA_MSK)|\
|
||||
BRx_PS_8 |\
|
||||
BRx_MS_GPCM_P |\
|
||||
BRx_V)
|
||||
|
||||
#define CONFIG_SYS_OR1_PRELIM (P2SZ_TO_AM(CONFIG_SYS_BOOTROM_SIZE) |\
|
||||
ORxG_CSNT |\
|
||||
ORxG_ACS_DIV1 |\
|
||||
ORxG_SCY_3_CLK |\
|
||||
ORxU_EHTR_8IDLE)
|
||||
|
||||
#endif /* CONFIG_BOOT_ROM */
|
||||
|
||||
|
||||
/* Bank 2 - 60x bus SDRAM
|
||||
*/
|
||||
#ifndef CONFIG_SYS_RAMBOOT
|
||||
#define CONFIG_SYS_BR2_PRELIM ((CONFIG_SYS_SDRAM_BASE & BRx_BA_MSK) |\
|
||||
BRx_PS_64 |\
|
||||
BRx_MS_SDRAM_P |\
|
||||
BRx_V)
|
||||
|
||||
#define CONFIG_SYS_OR2_PRELIM CONFIG_SYS_OR2_9COL
|
||||
|
||||
#define CONFIG_SYS_PSDMR CONFIG_SYS_PSDMR_9COL
|
||||
#endif /* CONFIG_SYS_RAMBOOT */
|
||||
|
||||
/* Bank 3 - Dual Ported SRAM
|
||||
*/
|
||||
#define CONFIG_SYS_BR3_PRELIM ((CONFIG_SYS_DPSRAM_BASE & BRx_BA_MSK) |\
|
||||
BRx_PS_16 |\
|
||||
BRx_MS_GPCM_P |\
|
||||
BRx_V)
|
||||
|
||||
#define CONFIG_SYS_OR3_PRELIM (P2SZ_TO_AM(CONFIG_SYS_DPSRAM_SIZE) |\
|
||||
ORxG_CSNT |\
|
||||
ORxG_ACS_DIV1 |\
|
||||
ORxG_SCY_5_CLK |\
|
||||
ORxG_SETA)
|
||||
|
||||
/* Bank 4 - DiskOnChip
|
||||
*/
|
||||
#define CONFIG_SYS_BR4_PRELIM ((CONFIG_SYS_DOC_BASE & BRx_BA_MSK) |\
|
||||
BRx_PS_8 |\
|
||||
BRx_MS_GPCM_P |\
|
||||
BRx_V)
|
||||
|
||||
#define CONFIG_SYS_OR4_PRELIM (P2SZ_TO_AM(CONFIG_SYS_DOC_SIZE) |\
|
||||
ORxG_ACS_DIV2 |\
|
||||
ORxG_SCY_5_CLK |\
|
||||
ORxU_EHTR_8IDLE)
|
||||
|
||||
/* Bank 5 - FDC37C78 controller
|
||||
*/
|
||||
#define CONFIG_SYS_BR5_PRELIM ((CONFIG_SYS_FDC37C78_BASE & BRx_BA_MSK) |\
|
||||
BRx_PS_8 |\
|
||||
BRx_MS_GPCM_P |\
|
||||
BRx_V)
|
||||
|
||||
#define CONFIG_SYS_OR5_PRELIM (P2SZ_TO_AM(CONFIG_SYS_FDC37C78_SIZE) |\
|
||||
ORxG_ACS_DIV2 |\
|
||||
ORxG_SCY_8_CLK |\
|
||||
ORxU_EHTR_8IDLE)
|
||||
|
||||
/* Bank 6 - Board control registers
|
||||
*/
|
||||
#define CONFIG_SYS_BR6_PRELIM ((CONFIG_SYS_BCRS_BASE & BRx_BA_MSK) |\
|
||||
BRx_PS_8 |\
|
||||
BRx_MS_GPCM_P |\
|
||||
BRx_V)
|
||||
|
||||
#define CONFIG_SYS_OR6_PRELIM (P2SZ_TO_AM(CONFIG_SYS_BCRS_SIZE) |\
|
||||
ORxG_CSNT |\
|
||||
ORxG_SCY_5_CLK)
|
||||
|
||||
/* Bank 7 - VME Extended Access Range
|
||||
*/
|
||||
#define CONFIG_SYS_BR7_PRELIM ((CONFIG_SYS_VMEEAR_BASE & BRx_BA_MSK) |\
|
||||
BRx_PS_32 |\
|
||||
BRx_MS_GPCM_P |\
|
||||
BRx_V)
|
||||
|
||||
#define CONFIG_SYS_OR7_PRELIM (P2SZ_TO_AM(CONFIG_SYS_VMEEAR_SIZE) |\
|
||||
ORxG_CSNT |\
|
||||
ORxG_ACS_DIV1 |\
|
||||
ORxG_SCY_5_CLK |\
|
||||
ORxG_SETA)
|
||||
|
||||
/* Bank 8 - VME Standard Access Range
|
||||
*/
|
||||
#define CONFIG_SYS_BR8_PRELIM ((CONFIG_SYS_VMESAR_BASE & BRx_BA_MSK) |\
|
||||
BRx_PS_16 |\
|
||||
BRx_MS_GPCM_P |\
|
||||
BRx_V)
|
||||
|
||||
#define CONFIG_SYS_OR8_PRELIM (P2SZ_TO_AM(CONFIG_SYS_VMESAR_SIZE) |\
|
||||
ORxG_CSNT |\
|
||||
ORxG_ACS_DIV1 |\
|
||||
ORxG_SCY_5_CLK |\
|
||||
ORxG_SETA)
|
||||
|
||||
/* Bank 9 - VME Short I/O Access Range
|
||||
*/
|
||||
#define CONFIG_SYS_BR9_PRELIM ((CONFIG_SYS_VMESIOAR_BASE & BRx_BA_MSK) |\
|
||||
BRx_PS_16 |\
|
||||
BRx_MS_GPCM_P |\
|
||||
BRx_V)
|
||||
|
||||
#define CONFIG_SYS_OR9_PRELIM (P2SZ_TO_AM(CONFIG_SYS_VMESIOAR_SIZE) |\
|
||||
ORxG_CSNT |\
|
||||
ORxG_ACS_DIV1 |\
|
||||
ORxG_SCY_5_CLK |\
|
||||
ORxG_SETA)
|
||||
|
||||
#endif /* __CONFIG_H */
|
||||
|
|
@ -0,0 +1,694 @@
|
|||
/*
|
||||
* (C) Copyright 2001-2005
|
||||
* Wolfgang Denk, DENX Software Engineering, wd@denx.de.
|
||||
*
|
||||
* See file CREDITS for list of people who contributed to this
|
||||
* project.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of
|
||||
* the License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston,
|
||||
* MA 02111-1307 USA
|
||||
*/
|
||||
|
||||
/*
|
||||
* board/config.h - configuration options, board specific
|
||||
*/
|
||||
|
||||
#ifndef __CONFIG_H
|
||||
#define __CONFIG_H
|
||||
|
||||
/*
|
||||
* High Level Configuration Options
|
||||
* (easy to change)
|
||||
*/
|
||||
|
||||
#define CONFIG_MPC8260 1 /* This is an MPC8260 CPU */
|
||||
#define CONFIG_CPU87 1 /* ...on a CPU87 board */
|
||||
#define CONFIG_PCI
|
||||
#define CONFIG_CPM2 1 /* Has a CPM2 */
|
||||
|
||||
#ifdef CONFIG_BOOT_ROM
|
||||
#define CONFIG_SYS_TEXT_BASE 0xFF800000
|
||||
#else
|
||||
#define CONFIG_SYS_TEXT_BASE 0xFF000000
|
||||
#endif
|
||||
|
||||
/*
|
||||
* select serial console configuration
|
||||
*
|
||||
* if either CONFIG_CONS_ON_SMC or CONFIG_CONS_ON_SCC is selected, then
|
||||
* CONFIG_CONS_INDEX must be set to the channel number (1-2 for SMC, 1-4
|
||||
* for SCC).
|
||||
*
|
||||
* if CONFIG_CONS_NONE is defined, then the serial console routines must
|
||||
* defined elsewhere (for example, on the cogent platform, there are serial
|
||||
* ports on the motherboard which are used for the serial console - see
|
||||
* cogent/cma101/serial.[ch]).
|
||||
*/
|
||||
#undef CONFIG_CONS_ON_SMC /* define if console on SMC */
|
||||
#define CONFIG_CONS_ON_SCC /* define if console on SCC */
|
||||
#undef CONFIG_CONS_NONE /* define if console on something else*/
|
||||
#define CONFIG_CONS_INDEX 1 /* which serial channel for console */
|
||||
|
||||
#if defined(CONFIG_CONS_NONE) || defined(CONFIG_CONS_USE_EXTC)
|
||||
#define CONFIG_BAUDRATE 230400
|
||||
#else
|
||||
#define CONFIG_BAUDRATE 9600
|
||||
#endif
|
||||
|
||||
/*
|
||||
* select ethernet configuration
|
||||
*
|
||||
* if either CONFIG_ETHER_ON_SCC or CONFIG_ETHER_ON_FCC is selected, then
|
||||
* CONFIG_ETHER_INDEX must be set to the channel number (1-4 for SCC, 1-3
|
||||
* for FCC)
|
||||
*
|
||||
* if CONFIG_ETHER_NONE is defined, then either the ethernet routines must be
|
||||
* defined elsewhere (as for the console), or CONFIG_CMD_NET must be unset.
|
||||
*/
|
||||
#undef CONFIG_ETHER_ON_SCC /* define if ether on SCC */
|
||||
#define CONFIG_ETHER_ON_FCC /* define if ether on FCC */
|
||||
#undef CONFIG_ETHER_NONE /* define if ether on something else */
|
||||
#define CONFIG_ETHER_INDEX 1 /* which SCC/FCC channel for ethernet */
|
||||
|
||||
#define CONFIG_HAS_ETH1 1
|
||||
#define CONFIG_HAS_ETH2 1
|
||||
|
||||
#if defined(CONFIG_ETHER_ON_FCC) && (CONFIG_ETHER_INDEX == 1)
|
||||
|
||||
/*
|
||||
* - Rx-CLK is CLK11
|
||||
* - Tx-CLK is CLK12
|
||||
* - RAM for BD/Buffers is on the 60x Bus (see 28-13)
|
||||
* - Enable Full Duplex in FSMR
|
||||
*/
|
||||
# define CONFIG_SYS_CMXFCR_MASK1 (CMXFCR_FC1|CMXFCR_RF1CS_MSK|CMXFCR_TF1CS_MSK)
|
||||
# define CONFIG_SYS_CMXFCR_VALUE1 (CMXFCR_RF1CS_CLK11|CMXFCR_TF1CS_CLK12)
|
||||
# define CONFIG_SYS_CPMFCR_RAMTYPE 0
|
||||
# define CONFIG_SYS_FCC_PSMR (FCC_PSMR_FDE|FCC_PSMR_LPB)
|
||||
|
||||
#elif defined(CONFIG_ETHER_ON_FCC) && (CONFIG_ETHER_INDEX == 2)
|
||||
|
||||
/*
|
||||
* - Rx-CLK is CLK13
|
||||
* - Tx-CLK is CLK14
|
||||
* - RAM for BD/Buffers is on the 60x Bus (see 28-13)
|
||||
* - Enable Full Duplex in FSMR
|
||||
*/
|
||||
# define CONFIG_SYS_CMXFCR_MASK2 (CMXFCR_FC2|CMXFCR_RF2CS_MSK|CMXFCR_TF2CS_MSK)
|
||||
# define CONFIG_SYS_CMXFCR_VALUE2 (CMXFCR_RF2CS_CLK13|CMXFCR_TF2CS_CLK14)
|
||||
# define CONFIG_SYS_CPMFCR_RAMTYPE 0
|
||||
# define CONFIG_SYS_FCC_PSMR (FCC_PSMR_FDE|FCC_PSMR_LPB)
|
||||
|
||||
#endif /* CONFIG_ETHER_ON_FCC, CONFIG_ETHER_INDEX */
|
||||
|
||||
/* system clock rate (CLKIN) - equal to the 60x and local bus speed */
|
||||
#define CONFIG_8260_CLKIN 100000000 /* in Hz */
|
||||
|
||||
#define CONFIG_BOOTDELAY 5 /* autoboot after 5 seconds */
|
||||
|
||||
#define CONFIG_PREBOOT \
|
||||
"echo; " \
|
||||
"echo Type \\\"run flash_nfs\\\" to mount root filesystem over NFS; " \
|
||||
"echo"
|
||||
|
||||
#undef CONFIG_BOOTARGS
|
||||
#define CONFIG_BOOTCOMMAND \
|
||||
"bootp; " \
|
||||
"setenv bootargs root=/dev/nfs rw nfsroot=${serverip}:${rootpath} " \
|
||||
"ip=${ipaddr}:${serverip}:${gatewayip}:${netmask}:${hostname}::off; " \
|
||||
"bootm"
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* I2C/EEPROM/RTC configuration
|
||||
*/
|
||||
#define CONFIG_SOFT_I2C /* Software I2C support enabled */
|
||||
|
||||
# define CONFIG_SYS_I2C_SPEED 50000
|
||||
# define CONFIG_SYS_I2C_SLAVE 0xFE
|
||||
/*
|
||||
* Software (bit-bang) I2C driver configuration
|
||||
*/
|
||||
#define I2C_PORT 3 /* Port A=0, B=1, C=2, D=3 */
|
||||
#define I2C_ACTIVE (iop->pdir |= 0x00010000)
|
||||
#define I2C_TRISTATE (iop->pdir &= ~0x00010000)
|
||||
#define I2C_READ ((iop->pdat & 0x00010000) != 0)
|
||||
#define I2C_SDA(bit) if(bit) iop->pdat |= 0x00010000; \
|
||||
else iop->pdat &= ~0x00010000
|
||||
#define I2C_SCL(bit) if(bit) iop->pdat |= 0x00020000; \
|
||||
else iop->pdat &= ~0x00020000
|
||||
#define I2C_DELAY udelay(5) /* 1/4 I2C clock duration */
|
||||
|
||||
#define CONFIG_RTC_PCF8563
|
||||
#define CONFIG_SYS_I2C_RTC_ADDR 0x51
|
||||
|
||||
#undef CONFIG_WATCHDOG /* watchdog disabled */
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* Disk-On-Chip configuration
|
||||
*/
|
||||
|
||||
#define CONFIG_SYS_MAX_DOC_DEVICE 1 /* Max number of DOC devices */
|
||||
|
||||
#define CONFIG_SYS_DOC_SUPPORT_2000
|
||||
#define CONFIG_SYS_DOC_SUPPORT_MILLENNIUM
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* Miscellaneous configuration options
|
||||
*/
|
||||
|
||||
#define CONFIG_LOADS_ECHO 1 /* echo on for serial download */
|
||||
#undef CONFIG_SYS_LOADS_BAUD_CHANGE /* don't allow baudrate change */
|
||||
|
||||
/*
|
||||
* BOOTP options
|
||||
*/
|
||||
#define CONFIG_BOOTP_SUBNETMASK
|
||||
#define CONFIG_BOOTP_GATEWAY
|
||||
#define CONFIG_BOOTP_HOSTNAME
|
||||
#define CONFIG_BOOTP_BOOTPATH
|
||||
#define CONFIG_BOOTP_BOOTFILESIZE
|
||||
|
||||
|
||||
/*
|
||||
* Command line configuration.
|
||||
*/
|
||||
#include <config_cmd_default.h>
|
||||
|
||||
#define CONFIG_CMD_BEDBUG
|
||||
#define CONFIG_CMD_DATE
|
||||
#define CONFIG_CMD_EEPROM
|
||||
#define CONFIG_CMD_I2C
|
||||
|
||||
#ifdef CONFIG_PCI
|
||||
#define CONFIG_CMD_PCI
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Miscellaneous configurable options
|
||||
*/
|
||||
#define CONFIG_SYS_LONGHELP /* undef to save memory */
|
||||
#define CONFIG_SYS_PROMPT "=> " /* Monitor Command Prompt */
|
||||
#if defined(CONFIG_CMD_KGDB)
|
||||
#define CONFIG_SYS_CBSIZE 1024 /* Console I/O Buffer Size */
|
||||
#else
|
||||
#define CONFIG_SYS_CBSIZE 256 /* Console I/O Buffer Size */
|
||||
#endif
|
||||
#define CONFIG_SYS_PBSIZE (CONFIG_SYS_CBSIZE+sizeof(CONFIG_SYS_PROMPT)+16) /* Print Buffer Size */
|
||||
#define CONFIG_SYS_MAXARGS 16 /* max number of command args */
|
||||
#define CONFIG_SYS_BARGSIZE CONFIG_SYS_CBSIZE /* Boot Argument Buffer Size */
|
||||
|
||||
#define CONFIG_SYS_MEMTEST_START 0x0400000 /* memtest works on */
|
||||
#define CONFIG_SYS_MEMTEST_END 0x0C00000 /* 4 ... 12 MB in DRAM */
|
||||
|
||||
#define CONFIG_SYS_LOAD_ADDR 0x100000 /* default load address */
|
||||
|
||||
#define CONFIG_SYS_HZ 1000 /* decrementer freq: 1 ms ticks */
|
||||
|
||||
#define CONFIG_SYS_RESET_ADDRESS 0xFFF00100 /* "bad" address */
|
||||
|
||||
#define CONFIG_LOOPW
|
||||
|
||||
/*
|
||||
* For booting Linux, the board info and command line data
|
||||
* have to be in the first 8 MB of memory, since this is
|
||||
* the maximum mapped by the Linux kernel during initialization.
|
||||
*/
|
||||
#define CONFIG_SYS_BOOTMAPSZ (8 << 20) /* Initial Memory map for Linux */
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* Flash configuration
|
||||
*/
|
||||
|
||||
#define CONFIG_SYS_BOOTROM_BASE 0xFF800000
|
||||
#define CONFIG_SYS_BOOTROM_SIZE 0x00080000
|
||||
#define CONFIG_SYS_FLASH_BASE 0xFF000000
|
||||
#define CONFIG_SYS_FLASH_SIZE 0x00800000
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* FLASH organization
|
||||
*/
|
||||
#define CONFIG_SYS_MAX_FLASH_BANKS 2 /* max num of memory banks */
|
||||
#define CONFIG_SYS_MAX_FLASH_SECT 135 /* max num of sects on one chip */
|
||||
|
||||
#define CONFIG_SYS_FLASH_ERASE_TOUT 240000 /* Flash Erase Timeout (in ms) */
|
||||
#define CONFIG_SYS_FLASH_WRITE_TOUT 500 /* Flash Write Timeout (in ms) */
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* Other areas to be mapped
|
||||
*/
|
||||
|
||||
/* CS3: Dual ported SRAM */
|
||||
#define CONFIG_SYS_DPSRAM_BASE 0x40000000
|
||||
#define CONFIG_SYS_DPSRAM_SIZE 0x00100000
|
||||
|
||||
/* CS4: DiskOnChip */
|
||||
#define CONFIG_SYS_DOC_BASE 0xF4000000
|
||||
#define CONFIG_SYS_DOC_SIZE 0x00100000
|
||||
|
||||
/* CS5: FDC37C78 controller */
|
||||
#define CONFIG_SYS_FDC37C78_BASE 0xF1000000
|
||||
#define CONFIG_SYS_FDC37C78_SIZE 0x00100000
|
||||
|
||||
/* CS6: Board configuration registers */
|
||||
#define CONFIG_SYS_BCRS_BASE 0xF2000000
|
||||
#define CONFIG_SYS_BCRS_SIZE 0x00010000
|
||||
|
||||
/* CS7: VME Extended Access Range */
|
||||
#define CONFIG_SYS_VMEEAR_BASE 0x60000000
|
||||
#define CONFIG_SYS_VMEEAR_SIZE 0x01000000
|
||||
|
||||
/* CS8: VME Standard Access Range */
|
||||
#define CONFIG_SYS_VMESAR_BASE 0xFE000000
|
||||
#define CONFIG_SYS_VMESAR_SIZE 0x01000000
|
||||
|
||||
/* CS9: VME Short I/O Access Range */
|
||||
#define CONFIG_SYS_VMESIOAR_BASE 0xFD000000
|
||||
#define CONFIG_SYS_VMESIOAR_SIZE 0x01000000
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* Hard Reset Configuration Words
|
||||
*
|
||||
* if you change bits in the HRCW, you must also change the CONFIG_SYS_*
|
||||
* defines for the various registers affected by the HRCW e.g. changing
|
||||
* HRCW_DPPCxx requires you to also change CONFIG_SYS_SIUMCR.
|
||||
*/
|
||||
#if defined(CONFIG_BOOT_ROM)
|
||||
#define CONFIG_SYS_HRCW_MASTER (HRCW_CIP | HRCW_ISB100 | HRCW_BMS | \
|
||||
HRCW_BPS01 | HRCW_CS10PC01)
|
||||
#else
|
||||
#define CONFIG_SYS_HRCW_MASTER (HRCW_CIP | HRCW_ISB100 | HRCW_BMS | HRCW_CS10PC01)
|
||||
#endif
|
||||
|
||||
/* no slaves so just fill with zeros */
|
||||
#define CONFIG_SYS_HRCW_SLAVE1 0
|
||||
#define CONFIG_SYS_HRCW_SLAVE2 0
|
||||
#define CONFIG_SYS_HRCW_SLAVE3 0
|
||||
#define CONFIG_SYS_HRCW_SLAVE4 0
|
||||
#define CONFIG_SYS_HRCW_SLAVE5 0
|
||||
#define CONFIG_SYS_HRCW_SLAVE6 0
|
||||
#define CONFIG_SYS_HRCW_SLAVE7 0
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* Internal Memory Mapped Register
|
||||
*/
|
||||
#define CONFIG_SYS_IMMR 0xF0000000
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* Definitions for initial stack pointer and data area (in DPRAM)
|
||||
*/
|
||||
#define CONFIG_SYS_INIT_RAM_ADDR CONFIG_SYS_IMMR
|
||||
#define CONFIG_SYS_INIT_RAM_SIZE 0x4000 /* Size of used area in DPRAM */
|
||||
#define CONFIG_SYS_GBL_DATA_OFFSET (CONFIG_SYS_INIT_RAM_SIZE - GENERATED_GBL_DATA_SIZE)
|
||||
#define CONFIG_SYS_INIT_SP_OFFSET CONFIG_SYS_GBL_DATA_OFFSET
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* Start addresses for the final memory configuration
|
||||
* (Set up by the startup code)
|
||||
* Please note that CONFIG_SYS_SDRAM_BASE _must_ start at 0
|
||||
*
|
||||
* 60x SDRAM is mapped at CONFIG_SYS_SDRAM_BASE.
|
||||
*/
|
||||
#define CONFIG_SYS_SDRAM_BASE 0x00000000
|
||||
#define CONFIG_SYS_SDRAM_MAX_SIZE 0x08000000 /* max. 128 MB */
|
||||
#define CONFIG_SYS_MONITOR_BASE CONFIG_SYS_TEXT_BASE
|
||||
#define CONFIG_SYS_MONITOR_LEN (256 << 10) /* Reserve 256 kB for Monitor */
|
||||
#define CONFIG_SYS_MALLOC_LEN (128 << 10) /* Reserve 128 kB for malloc()*/
|
||||
|
||||
#if (CONFIG_SYS_MONITOR_BASE < CONFIG_SYS_FLASH_BASE)
|
||||
# define CONFIG_SYS_RAMBOOT
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_PCI
|
||||
#define CONFIG_PCI_PNP
|
||||
#define CONFIG_EEPRO100
|
||||
#define CONFIG_SYS_RX_ETH_BUFFER 8 /* use 8 rx buffer on eepro100 */
|
||||
#endif
|
||||
|
||||
#if 0
|
||||
/* environment is in Flash */
|
||||
#define CONFIG_ENV_IS_IN_FLASH 1
|
||||
#ifdef CONFIG_BOOT_ROM
|
||||
# define CONFIG_ENV_ADDR (CONFIG_SYS_FLASH_BASE+0x70000)
|
||||
# define CONFIG_ENV_SIZE 0x10000
|
||||
# define CONFIG_ENV_SECT_SIZE 0x10000
|
||||
#endif
|
||||
#else
|
||||
/* environment is in EEPROM */
|
||||
#define CONFIG_ENV_IS_IN_EEPROM 1
|
||||
#define CONFIG_SYS_I2C_EEPROM_ADDR 0x58 /* EEPROM X24C16 */
|
||||
#define CONFIG_SYS_I2C_EEPROM_ADDR_LEN 1
|
||||
/* mask of address bits that overflow into the "EEPROM chip address" */
|
||||
#define CONFIG_SYS_I2C_EEPROM_ADDR_OVERFLOW 0x07
|
||||
#define CONFIG_SYS_EEPROM_PAGE_WRITE_BITS 4
|
||||
#define CONFIG_SYS_EEPROM_PAGE_WRITE_DELAY_MS 10 /* and takes up to 10 msec */
|
||||
#define CONFIG_ENV_OFFSET 512
|
||||
#define CONFIG_ENV_SIZE (2048 - 512)
|
||||
#endif
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* Cache Configuration
|
||||
*/
|
||||
#define CONFIG_SYS_CACHELINE_SIZE 32 /* For MPC8260 CPU */
|
||||
#if defined(CONFIG_CMD_KGDB)
|
||||
# define CONFIG_SYS_CACHELINE_SHIFT 5 /* log base 2 of the above value */
|
||||
#endif
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* HIDx - Hardware Implementation-dependent Registers 2-11
|
||||
*-----------------------------------------------------------------------
|
||||
* HID0 also contains cache control - initially enable both caches and
|
||||
* invalidate contents, then the final state leaves only the instruction
|
||||
* cache enabled. Note that Power-On and Hard reset invalidate the caches,
|
||||
* but Soft reset does not.
|
||||
*
|
||||
* HID1 has only read-only information - nothing to set.
|
||||
*/
|
||||
#define CONFIG_SYS_HID0_INIT (HID0_ICE|HID0_DCE|HID0_ICFI|\
|
||||
HID0_DCI|HID0_IFEM|HID0_ABE)
|
||||
#define CONFIG_SYS_HID0_FINAL (HID0_IFEM|HID0_ABE)
|
||||
#define CONFIG_SYS_HID2 0
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* RMR - Reset Mode Register 5-5
|
||||
*-----------------------------------------------------------------------
|
||||
* turn on Checkstop Reset Enable
|
||||
*/
|
||||
#define CONFIG_SYS_RMR RMR_CSRE
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* BCR - Bus Configuration 4-25
|
||||
*-----------------------------------------------------------------------
|
||||
*/
|
||||
#define BCR_APD01 0x10000000
|
||||
#define CONFIG_SYS_BCR (BCR_APD01|BCR_ETM|BCR_LETM) /* 8260 mode */
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* SIUMCR - SIU Module Configuration 4-31
|
||||
*-----------------------------------------------------------------------
|
||||
*/
|
||||
#define CONFIG_SYS_SIUMCR (SIUMCR_BBD|SIUMCR_DPPC00|SIUMCR_APPC10|\
|
||||
SIUMCR_CS10PC01|SIUMCR_BCTLC10)
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* SYPCR - System Protection Control 4-35
|
||||
* SYPCR can only be written once after reset!
|
||||
*-----------------------------------------------------------------------
|
||||
* Watchdog & Bus Monitor Timer max, 60x Bus Monitor enable
|
||||
*/
|
||||
#if defined(CONFIG_WATCHDOG)
|
||||
#define CONFIG_SYS_SYPCR (SYPCR_SWTC|SYPCR_BMT|SYPCR_PBME|SYPCR_LBME|\
|
||||
SYPCR_SWRI|SYPCR_SWP|SYPCR_SWE)
|
||||
#else
|
||||
#define CONFIG_SYS_SYPCR (SYPCR_SWTC|SYPCR_BMT|SYPCR_PBME|SYPCR_LBME|\
|
||||
SYPCR_SWRI|SYPCR_SWP)
|
||||
#endif /* CONFIG_WATCHDOG */
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* TMCNTSC - Time Counter Status and Control 4-40
|
||||
*-----------------------------------------------------------------------
|
||||
* Clear once per Second and Alarm Interrupt Status, Set 32KHz timersclk,
|
||||
* and enable Time Counter
|
||||
*/
|
||||
#define CONFIG_SYS_TMCNTSC (TMCNTSC_SEC|TMCNTSC_ALR|TMCNTSC_TCF|TMCNTSC_TCE)
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* PISCR - Periodic Interrupt Status and Control 4-42
|
||||
*-----------------------------------------------------------------------
|
||||
* Clear Periodic Interrupt Status, Set 32KHz timersclk, and enable
|
||||
* Periodic timer
|
||||
*/
|
||||
#define CONFIG_SYS_PISCR (PISCR_PS|PISCR_PTF|PISCR_PTE)
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* SCCR - System Clock Control 9-8
|
||||
*-----------------------------------------------------------------------
|
||||
* Ensure DFBRG is Divide by 16
|
||||
*/
|
||||
#define CONFIG_SYS_SCCR SCCR_DFBRG01
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* RCCR - RISC Controller Configuration 13-7
|
||||
*-----------------------------------------------------------------------
|
||||
*/
|
||||
#define CONFIG_SYS_RCCR 0
|
||||
|
||||
#define CONFIG_SYS_MIN_AM_MASK 0xC0000000
|
||||
|
||||
/*
|
||||
* we use the same values for 32 MB, 128 MB and 256 MB SDRAM
|
||||
* refresh rate = 7.68 uS (100 MHz Bus Clock)
|
||||
*/
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* MPTPR - Memory Refresh Timer Prescaler Register 10-18
|
||||
*-----------------------------------------------------------------------
|
||||
*/
|
||||
#define CONFIG_SYS_MPTPR 0x2000
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* PSRT - Refresh Timer Register 10-16
|
||||
*-----------------------------------------------------------------------
|
||||
*/
|
||||
#define CONFIG_SYS_PSRT 0x16
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* PSRT - SDRAM Mode Register 10-10
|
||||
*-----------------------------------------------------------------------
|
||||
*/
|
||||
|
||||
/* SDRAM initialization values for 8-column chips
|
||||
*/
|
||||
#define CONFIG_SYS_OR2_8COL (CONFIG_SYS_MIN_AM_MASK |\
|
||||
ORxS_BPD_4 |\
|
||||
ORxS_ROWST_PBI0_A9 |\
|
||||
ORxS_NUMR_12)
|
||||
|
||||
#define CONFIG_SYS_PSDMR_8COL (PSDMR_SDAM_A13_IS_A5 |\
|
||||
PSDMR_BSMA_A14_A16 |\
|
||||
PSDMR_SDA10_PBI0_A10 |\
|
||||
PSDMR_RFRC_7_CLK |\
|
||||
PSDMR_PRETOACT_2W |\
|
||||
PSDMR_ACTTORW_2W |\
|
||||
PSDMR_LDOTOPRE_1C |\
|
||||
PSDMR_WRC_1C |\
|
||||
PSDMR_CL_2)
|
||||
|
||||
/* SDRAM initialization values for 9-column chips
|
||||
*/
|
||||
#define CONFIG_SYS_OR2_9COL (CONFIG_SYS_MIN_AM_MASK |\
|
||||
ORxS_BPD_4 |\
|
||||
ORxS_ROWST_PBI0_A7 |\
|
||||
ORxS_NUMR_13)
|
||||
|
||||
#define CONFIG_SYS_PSDMR_9COL (PSDMR_SDAM_A14_IS_A5 |\
|
||||
PSDMR_BSMA_A13_A15 |\
|
||||
PSDMR_SDA10_PBI0_A9 |\
|
||||
PSDMR_RFRC_7_CLK |\
|
||||
PSDMR_PRETOACT_2W |\
|
||||
PSDMR_ACTTORW_2W |\
|
||||
PSDMR_LDOTOPRE_1C |\
|
||||
PSDMR_WRC_1C |\
|
||||
PSDMR_CL_2)
|
||||
|
||||
/* SDRAM initialization values for 10-column chips
|
||||
*/
|
||||
#define CONFIG_SYS_OR2_10COL (CONFIG_SYS_MIN_AM_MASK |\
|
||||
ORxS_BPD_4 |\
|
||||
ORxS_ROWST_PBI1_A4 |\
|
||||
ORxS_NUMR_13)
|
||||
|
||||
#define CONFIG_SYS_PSDMR_10COL (PSDMR_PBI |\
|
||||
PSDMR_SDAM_A17_IS_A5 |\
|
||||
PSDMR_BSMA_A13_A15 |\
|
||||
PSDMR_SDA10_PBI1_A6 |\
|
||||
PSDMR_RFRC_7_CLK |\
|
||||
PSDMR_PRETOACT_2W |\
|
||||
PSDMR_ACTTORW_2W |\
|
||||
PSDMR_LDOTOPRE_1C |\
|
||||
PSDMR_WRC_1C |\
|
||||
PSDMR_CL_2)
|
||||
|
||||
/*
|
||||
* Init Memory Controller:
|
||||
*
|
||||
* Bank Bus Machine PortSz Device
|
||||
* ---- --- ------- ------ ------
|
||||
* 0 60x GPCM 8 bit Boot ROM
|
||||
* 1 60x GPCM 64 bit FLASH
|
||||
* 2 60x SDRAM 64 bit SDRAM
|
||||
*
|
||||
*/
|
||||
|
||||
#define CONFIG_SYS_MRS_OFFS 0x00000000
|
||||
|
||||
#ifdef CONFIG_BOOT_ROM
|
||||
/* Bank 0 - Boot ROM
|
||||
*/
|
||||
#define CONFIG_SYS_BR0_PRELIM ((CONFIG_SYS_BOOTROM_BASE & BRx_BA_MSK)|\
|
||||
BRx_PS_8 |\
|
||||
BRx_MS_GPCM_P |\
|
||||
BRx_V)
|
||||
|
||||
#define CONFIG_SYS_OR0_PRELIM (P2SZ_TO_AM(CONFIG_SYS_BOOTROM_SIZE) |\
|
||||
ORxG_CSNT |\
|
||||
ORxG_ACS_DIV1 |\
|
||||
ORxG_SCY_5_CLK |\
|
||||
ORxU_EHTR_8IDLE)
|
||||
|
||||
/* Bank 1 - FLASH
|
||||
*/
|
||||
#define CONFIG_SYS_BR1_PRELIM ((CONFIG_SYS_FLASH_BASE & BRx_BA_MSK) |\
|
||||
BRx_PS_64 |\
|
||||
BRx_MS_GPCM_P |\
|
||||
BRx_V)
|
||||
|
||||
#define CONFIG_SYS_OR1_PRELIM (P2SZ_TO_AM(CONFIG_SYS_FLASH_SIZE) |\
|
||||
ORxG_CSNT |\
|
||||
ORxG_ACS_DIV1 |\
|
||||
ORxG_SCY_5_CLK |\
|
||||
ORxU_EHTR_8IDLE)
|
||||
|
||||
#else /* CONFIG_BOOT_ROM */
|
||||
/* Bank 0 - FLASH
|
||||
*/
|
||||
#define CONFIG_SYS_BR0_PRELIM ((CONFIG_SYS_FLASH_BASE & BRx_BA_MSK) |\
|
||||
BRx_PS_64 |\
|
||||
BRx_MS_GPCM_P |\
|
||||
BRx_V)
|
||||
|
||||
#define CONFIG_SYS_OR0_PRELIM (P2SZ_TO_AM(CONFIG_SYS_FLASH_SIZE) |\
|
||||
ORxG_CSNT |\
|
||||
ORxG_ACS_DIV1 |\
|
||||
ORxG_SCY_5_CLK |\
|
||||
ORxU_EHTR_8IDLE)
|
||||
|
||||
/* Bank 1 - Boot ROM
|
||||
*/
|
||||
#define CONFIG_SYS_BR1_PRELIM ((CONFIG_SYS_BOOTROM_BASE & BRx_BA_MSK)|\
|
||||
BRx_PS_8 |\
|
||||
BRx_MS_GPCM_P |\
|
||||
BRx_V)
|
||||
|
||||
#define CONFIG_SYS_OR1_PRELIM (P2SZ_TO_AM(CONFIG_SYS_BOOTROM_SIZE) |\
|
||||
ORxG_CSNT |\
|
||||
ORxG_ACS_DIV1 |\
|
||||
ORxG_SCY_5_CLK |\
|
||||
ORxU_EHTR_8IDLE)
|
||||
|
||||
#endif /* CONFIG_BOOT_ROM */
|
||||
|
||||
|
||||
/* Bank 2 - 60x bus SDRAM
|
||||
*/
|
||||
#ifndef CONFIG_SYS_RAMBOOT
|
||||
#define CONFIG_SYS_BR2_PRELIM ((CONFIG_SYS_SDRAM_BASE & BRx_BA_MSK) |\
|
||||
BRx_PS_64 |\
|
||||
BRx_MS_SDRAM_P |\
|
||||
BRx_V)
|
||||
|
||||
#define CONFIG_SYS_OR2_PRELIM CONFIG_SYS_OR2_8COL
|
||||
|
||||
#define CONFIG_SYS_PSDMR CONFIG_SYS_PSDMR_8COL
|
||||
#endif /* CONFIG_SYS_RAMBOOT */
|
||||
|
||||
/* Bank 3 - Dual Ported SRAM
|
||||
*/
|
||||
#define CONFIG_SYS_BR3_PRELIM ((CONFIG_SYS_DPSRAM_BASE & BRx_BA_MSK) |\
|
||||
BRx_PS_16 |\
|
||||
BRx_MS_GPCM_P |\
|
||||
BRx_V)
|
||||
|
||||
#define CONFIG_SYS_OR3_PRELIM (P2SZ_TO_AM(CONFIG_SYS_DPSRAM_SIZE) |\
|
||||
ORxG_CSNT |\
|
||||
ORxG_ACS_DIV1 |\
|
||||
ORxG_SCY_7_CLK |\
|
||||
ORxG_SETA)
|
||||
|
||||
/* Bank 4 - DiskOnChip
|
||||
*/
|
||||
#define CONFIG_SYS_BR4_PRELIM ((CONFIG_SYS_DOC_BASE & BRx_BA_MSK) |\
|
||||
BRx_PS_8 |\
|
||||
BRx_MS_GPCM_P |\
|
||||
BRx_V)
|
||||
|
||||
#define CONFIG_SYS_OR4_PRELIM (P2SZ_TO_AM(CONFIG_SYS_DOC_SIZE) |\
|
||||
ORxG_CSNT |\
|
||||
ORxG_ACS_DIV2 |\
|
||||
ORxG_SCY_9_CLK |\
|
||||
ORxU_EHTR_8IDLE)
|
||||
|
||||
/* Bank 5 - FDC37C78 controller
|
||||
*/
|
||||
#define CONFIG_SYS_BR5_PRELIM ((CONFIG_SYS_FDC37C78_BASE & BRx_BA_MSK) |\
|
||||
BRx_PS_8 |\
|
||||
BRx_MS_GPCM_P |\
|
||||
BRx_V)
|
||||
|
||||
#define CONFIG_SYS_OR5_PRELIM (P2SZ_TO_AM(CONFIG_SYS_FDC37C78_SIZE) |\
|
||||
ORxG_ACS_DIV2 |\
|
||||
ORxG_SCY_10_CLK |\
|
||||
ORxU_EHTR_8IDLE)
|
||||
|
||||
/* Bank 6 - Board control registers
|
||||
*/
|
||||
#define CONFIG_SYS_BR6_PRELIM ((CONFIG_SYS_BCRS_BASE & BRx_BA_MSK) |\
|
||||
BRx_PS_8 |\
|
||||
BRx_MS_GPCM_P |\
|
||||
BRx_V)
|
||||
|
||||
#define CONFIG_SYS_OR6_PRELIM (P2SZ_TO_AM(CONFIG_SYS_BCRS_SIZE) |\
|
||||
ORxG_CSNT |\
|
||||
ORxG_SCY_7_CLK)
|
||||
|
||||
/* Bank 7 - VME Extended Access Range
|
||||
*/
|
||||
#define CONFIG_SYS_BR7_PRELIM ((CONFIG_SYS_VMEEAR_BASE & BRx_BA_MSK) |\
|
||||
BRx_PS_32 |\
|
||||
BRx_MS_GPCM_P |\
|
||||
BRx_V)
|
||||
|
||||
#define CONFIG_SYS_OR7_PRELIM (P2SZ_TO_AM(CONFIG_SYS_VMEEAR_SIZE) |\
|
||||
ORxG_CSNT |\
|
||||
ORxG_ACS_DIV1 |\
|
||||
ORxG_SCY_7_CLK |\
|
||||
ORxG_SETA)
|
||||
|
||||
/* Bank 8 - VME Standard Access Range
|
||||
*/
|
||||
#define CONFIG_SYS_BR8_PRELIM ((CONFIG_SYS_VMESAR_BASE & BRx_BA_MSK) |\
|
||||
BRx_PS_16 |\
|
||||
BRx_MS_GPCM_P |\
|
||||
BRx_V)
|
||||
|
||||
#define CONFIG_SYS_OR8_PRELIM (P2SZ_TO_AM(CONFIG_SYS_VMESAR_SIZE) |\
|
||||
ORxG_CSNT |\
|
||||
ORxG_ACS_DIV1 |\
|
||||
ORxG_SCY_7_CLK |\
|
||||
ORxG_SETA)
|
||||
|
||||
/* Bank 9 - VME Short I/O Access Range
|
||||
*/
|
||||
#define CONFIG_SYS_BR9_PRELIM ((CONFIG_SYS_VMESIOAR_BASE & BRx_BA_MSK) |\
|
||||
BRx_PS_16 |\
|
||||
BRx_MS_GPCM_P |\
|
||||
BRx_V)
|
||||
|
||||
#define CONFIG_SYS_OR9_PRELIM (P2SZ_TO_AM(CONFIG_SYS_VMESIOAR_SIZE) |\
|
||||
ORxG_CSNT |\
|
||||
ORxG_ACS_DIV1 |\
|
||||
ORxG_SCY_7_CLK |\
|
||||
ORxG_SETA)
|
||||
|
||||
#endif /* __CONFIG_H */
|
||||
|
|
@ -0,0 +1,247 @@
|
|||
/*
|
||||
* (C) Copyright 2000-2004
|
||||
* Wolfgang Denk, DENX Software Engineering, wd@denx.de.
|
||||
* David Updegraff, Cray, Inc. dave@cray.com: our 405 is walnut-lite..
|
||||
*
|
||||
* See file CREDITS for list of people who contributed to this
|
||||
* project.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of
|
||||
* the License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston,
|
||||
* MA 02111-1307 USA
|
||||
*/
|
||||
/*
|
||||
* board/config.h - configuration options, board specific
|
||||
*/
|
||||
|
||||
#ifndef __CONFIG_H
|
||||
#define __CONFIG_H
|
||||
|
||||
#define CONFIG_CRAYL1
|
||||
/*
|
||||
* High Level Configuration Options
|
||||
* (easy to change)
|
||||
*/
|
||||
|
||||
#define CONFIG_405GP 1 /* This is a PPC405 CPU */
|
||||
#define CONFIG_4xx 1 /* ...member of PPC405 family */
|
||||
|
||||
/*
|
||||
* Note: I make an "image" from U-Boot itself, which prefixes 0x40
|
||||
* bytes of header info, hence start address is thus shifted.
|
||||
*/
|
||||
#define CONFIG_SYS_TEXT_BASE 0xFFFD0040
|
||||
|
||||
#define CONFIG_SYS_CLK_FREQ 25000000
|
||||
#define CONFIG_BAUDRATE 9600
|
||||
#define CONFIG_BOOTDELAY 5 /* autoboot after 5 seconds */
|
||||
|
||||
#define CONFIG_PPC4xx_EMAC
|
||||
#define CONFIG_MII 1 /* MII PHY management */
|
||||
#define CONFIG_PHY_ADDR 1 /* PHY address; handling of ENET */
|
||||
#define CONFIG_BOARD_EARLY_INIT_F 1 /* early setup for 405gp */
|
||||
#define CONFIG_MISC_INIT_R 1 /* so that a misc_init_r() is called */
|
||||
|
||||
#define CONFIG_CONS_INDEX 1 /* Use UART0 */
|
||||
#define CONFIG_SYS_NS16550
|
||||
#define CONFIG_SYS_NS16550_SERIAL
|
||||
#define CONFIG_SYS_NS16550_REG_SIZE 1
|
||||
#define CONFIG_SYS_NS16550_CLK get_serial_clock()
|
||||
|
||||
/* set PRAM to keep U-Boot out, mem= to keep linux out, and initrd_hi to
|
||||
* keep possible initrd ramdisk decompression out. This is in k (1024 bytes)
|
||||
#define CONFIG_PRAM 16
|
||||
*/
|
||||
#define CONFIG_LOADADDR 0x100000 /* where TFTP images go */
|
||||
#undef CONFIG_BOOTARGS
|
||||
|
||||
/* Bootcmd is overridden by the bootscript in board/cray/L1
|
||||
*/
|
||||
#define CONFIG_SYS_AUTOLOAD "no"
|
||||
#define CONFIG_BOOTCOMMAND "dhcp"
|
||||
|
||||
/*
|
||||
* ..during experiments..
|
||||
#define CONFIG_SERVERIP 10.0.0.1
|
||||
#define CONFIG_ETHADDR 00:40:a6:80:14:5
|
||||
*/
|
||||
#define CONFIG_HARD_I2C 1 /* hardware support for i2c */
|
||||
#define CONFIG_PPC4XX_I2C /* use PPC4xx driver */
|
||||
#define CONFIG_SDRAM_BANK0 1
|
||||
#define CONFIG_SYS_I2C_SPEED 400000 /* I2C speed and slave address */
|
||||
#define CONFIG_SYS_I2C_SLAVE 0x7F
|
||||
#define CONFIG_SYS_I2C_EEPROM_ADDR 0x57
|
||||
#define CONFIG_SYS_I2C_EEPROM_ADDR_LEN 1
|
||||
#define CONFIG_IDENT_STRING "Cray L1"
|
||||
#define CONFIG_ENV_OVERWRITE 1
|
||||
#define CONFIG_SYS_HZ 1000 /* decrementer freq: 1 ms ticks */
|
||||
#define CONFIG_SYS_HUSH_PARSER 1
|
||||
#define CONFIG_SOURCE 1
|
||||
|
||||
|
||||
/*
|
||||
* Command line configuration.
|
||||
*/
|
||||
|
||||
#define CONFIG_CMD_ASKENV
|
||||
#define CONFIG_CMD_BDI
|
||||
#define CONFIG_CMD_CONSOLE
|
||||
#define CONFIG_CMD_DATE
|
||||
#define CONFIG_CMD_DHCP
|
||||
#define CONFIG_CMD_DIAG
|
||||
#define CONFIG_CMD_ECHO
|
||||
#define CONFIG_CMD_EEPROM
|
||||
#define CONFIG_CMD_FLASH
|
||||
#define CONFIG_CMD_I2C
|
||||
#define CONFIG_CMD_IMI
|
||||
#define CONFIG_CMD_IMMAP
|
||||
#define CONFIG_CMD_MEMORY
|
||||
#define CONFIG_CMD_NET
|
||||
#define CONFIG_CMD_REGINFO
|
||||
#define CONFIG_CMD_RUN
|
||||
#define CONFIG_CMD_SAVEENV
|
||||
#define CONFIG_CMD_SETGETDCR
|
||||
#define CONFIG_CMD_SOURCE
|
||||
|
||||
|
||||
/*
|
||||
* BOOTP options
|
||||
*/
|
||||
#define CONFIG_BOOTP_SUBNETMASK
|
||||
#define CONFIG_BOOTP_GATEWAY
|
||||
#define CONFIG_BOOTP_HOSTNAME
|
||||
#define CONFIG_BOOTP_BOOTPATH
|
||||
#define CONFIG_BOOTP_VENDOREX
|
||||
#define CONFIG_BOOTP_DNS
|
||||
#define CONFIG_BOOTP_BOOTFILESIZE
|
||||
|
||||
|
||||
/*
|
||||
* how many time to fail & restart a net-TFTP before giving up & resetting
|
||||
* the board hoping that a reset of net interface might help..
|
||||
*/
|
||||
#define CONFIG_NET_RESET 5
|
||||
|
||||
/*
|
||||
* bauds. Just to make it compile; in our case, I read the base_baud
|
||||
* from the DCR anyway, so its kinda-tied to the above ref. clock which in turn
|
||||
* drives the system clock.
|
||||
*/
|
||||
#define CONFIG_SYS_BASE_BAUD 403225
|
||||
#define CONFIG_SYS_BAUDRATE_TABLE \
|
||||
{300, 600, 1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200, 230400}
|
||||
|
||||
/*
|
||||
* Miscellaneous configurable options
|
||||
*/
|
||||
#define CONFIG_SYS_PROMPT "=> " /* Monitor Command Prompt */
|
||||
#define CONFIG_SYS_CBSIZE 256 /* Console I/O Buffer Size */
|
||||
#define CONFIG_SYS_BARGSIZE CONFIG_SYS_CBSIZE /* Boot Argument Buffer Size */
|
||||
#define CONFIG_SYS_PBSIZE (CONFIG_SYS_CBSIZE+sizeof(CONFIG_SYS_PROMPT)+16) /* Print Buffer Size */
|
||||
#define CONFIG_SYS_MAXARGS 16 /* max number of command args */
|
||||
|
||||
|
||||
#define CONFIG_SYS_LOAD_ADDR 0x100000 /* where to load what we get from TFTP */
|
||||
#define CONFIG_SYS_TFTP_LOADADDR CONFIG_SYS_LOAD_ADDR
|
||||
#define CONFIG_SYS_EXTBDINFO 1 /* To use extended board_into (bd_t) */
|
||||
#define CONFIG_SYS_DRAM_TEST 1
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* Start addresses for the final memory configuration
|
||||
* (Set up by the startup code)
|
||||
* Please note that CONFIG_SYS_SDRAM_BASE _must_ start at 0
|
||||
*/
|
||||
#define CONFIG_SYS_SDRAM_BASE 0x00000000
|
||||
#define CONFIG_SYS_FLASH_BASE 0xFFC00000
|
||||
#define CONFIG_SYS_MONITOR_BASE CONFIG_SYS_TEXT_BASE
|
||||
|
||||
|
||||
#define CONFIG_SYS_MONITOR_LEN (192 * 1024) /* Reserve 192 kB for Monitor */
|
||||
|
||||
/*
|
||||
* For booting Linux, the board info and command line data
|
||||
* have to be in the first 8 MB of memory, since this is
|
||||
* the maximum mapped by the Linux kernel during initialization.
|
||||
*/
|
||||
#define CONFIG_SYS_BOOTMAPSZ (8 << 20) /* Initial Memory map for Linux */
|
||||
/*-----------------------------------------------------------------------
|
||||
* FLASH organization
|
||||
*/
|
||||
#define CONFIG_SYS_MAX_FLASH_BANKS 1 /* max number of memory banks */
|
||||
#define CONFIG_SYS_MAX_FLASH_SECT 64 /* max number of sectors on one chip */
|
||||
#define CONFIG_SYS_FLASH_ERASE_TOUT 120000 /* Timeout for Flash Erase (in ms) */
|
||||
#define CONFIG_SYS_FLASH_WRITE_TOUT 500 /* Timeout for Flash Write (in ms) */
|
||||
|
||||
/* BEG ENVIRONNEMENT FLASH: needs to be a whole FlashSector */
|
||||
#define CONFIG_ENV_OFFSET 0x3c8000
|
||||
#define CONFIG_ENV_IS_IN_FLASH 1 /* use FLASH for environment vars */
|
||||
#define CONFIG_ENV_SIZE 0x1000 /* Total Size of Environment area */
|
||||
#define CONFIG_ENV_SECT_SIZE 0x10000 /* see README - env sector total size */
|
||||
|
||||
/* Memory tests: U-BOOT relocates itself to the top of Ram, so its at
|
||||
* 32meg-(128k+some_malloc_space+copy-of-ENV sector)..
|
||||
*/
|
||||
#define CONFIG_SYS_SDRAM_SIZE 32 /* megs of ram */
|
||||
#define CONFIG_SYS_MEMTEST_START 0x2000 /* memtest works from the end of */
|
||||
/* the exception vector table */
|
||||
/* to the end of the DRAM */
|
||||
/* less monitor and malloc area */
|
||||
#define CONFIG_SYS_STACK_USAGE 0x10000 /* Reserve 64k for the stack usage */
|
||||
#define CONFIG_SYS_MALLOC_LEN (128 << 10) /* 128k for malloc space */
|
||||
#define CONFIG_SYS_MEM_END_USAGE ( CONFIG_SYS_MONITOR_LEN \
|
||||
+ CONFIG_SYS_MALLOC_LEN \
|
||||
+ CONFIG_ENV_SECT_SIZE \
|
||||
+ CONFIG_SYS_STACK_USAGE )
|
||||
|
||||
#define CONFIG_SYS_MEMTEST_END (CONFIG_SYS_SDRAM_SIZE * 1024 * 1024 - CONFIG_SYS_MEM_END_USAGE)
|
||||
/* END ENVIRONNEMENT FLASH */
|
||||
|
||||
/*
|
||||
* Init Memory Controller:
|
||||
*
|
||||
* BR0/1 and OR0/1 (FLASH)
|
||||
*/
|
||||
|
||||
#define FLASH_BASE0_PRELIM CONFIG_SYS_FLASH_BASE /* FLASH bank #0 */
|
||||
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* Definitions for initial stack pointer and data area (in OnChipMem )
|
||||
*/
|
||||
#if 1
|
||||
/* On Chip Memory location */
|
||||
#define CONFIG_SYS_TEMP_STACK_OCM 1
|
||||
#define CONFIG_SYS_OCM_DATA_ADDR 0xF0000000
|
||||
#define CONFIG_SYS_OCM_DATA_SIZE 0x1000
|
||||
|
||||
#define CONFIG_SYS_INIT_RAM_ADDR CONFIG_SYS_OCM_DATA_ADDR /* inside of SDRAM */
|
||||
#define CONFIG_SYS_INIT_RAM_SIZE CONFIG_SYS_OCM_DATA_SIZE /* Size of used area in RAM */
|
||||
#define CONFIG_SYS_GBL_DATA_OFFSET (CONFIG_SYS_INIT_RAM_SIZE - GENERATED_GBL_DATA_SIZE)
|
||||
#define CONFIG_SYS_INIT_SP_OFFSET CONFIG_SYS_GBL_DATA_OFFSET
|
||||
#else
|
||||
#define CONFIG_SYS_OCM_DATA_ADDR 0xF0000000
|
||||
#define CONFIG_SYS_OCM_DATA_SIZE 0x1000
|
||||
#define CONFIG_SYS_INIT_RAM_ADDR CONFIG_SYS_OCM_DATA_ADDR /* inside of On Chip SRAM */
|
||||
#define CONFIG_SYS_INIT_RAM_SIZE CONFIG_SYS_OCM_DATA_SIZE /* Size of On Chip SRAM */
|
||||
#define CONFIG_SYS_GBL_DATA_OFFSET (CONFIG_SYS_INIT_RAM_SIZE - GENERATED_GBL_DATA_SIZE)
|
||||
#define CONFIG_SYS_INIT_SP_OFFSET CONFIG_SYS_GBL_DATA_OFFSET
|
||||
#endif
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* Definitions for Serial Presence Detect EEPROM address
|
||||
*/
|
||||
#define EEPROM_WRITE_ADDRESS 0xA0
|
||||
#define EEPROM_READ_ADDRESS 0xA1
|
||||
|
||||
#endif /* __CONFIG_H */
|
||||
|
|
@ -0,0 +1,304 @@
|
|||
/*
|
||||
* (C) Copyright 2001-2005
|
||||
* Wolfgang Denk, DENX Software Engineering, wd@denx.de.
|
||||
*
|
||||
* See file CREDITS for list of people who contributed to this
|
||||
* project.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of
|
||||
* the License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston,
|
||||
* MA 02111-1307 USA
|
||||
*/
|
||||
|
||||
/*
|
||||
*
|
||||
* Configuration settings for the CU824 board.
|
||||
*
|
||||
*/
|
||||
|
||||
/* ------------------------------------------------------------------------- */
|
||||
|
||||
/*
|
||||
* board/config.h - configuration options, board specific
|
||||
*/
|
||||
|
||||
#ifndef __CONFIG_H
|
||||
#define __CONFIG_H
|
||||
|
||||
/*
|
||||
* High Level Configuration Options
|
||||
* (easy to change)
|
||||
*/
|
||||
|
||||
#define CONFIG_MPC824X 1
|
||||
#define CONFIG_MPC8240 1
|
||||
#define CONFIG_CU824 1
|
||||
|
||||
#define CONFIG_SYS_TEXT_BASE 0xFFF00000
|
||||
|
||||
#define CONFIG_CONS_INDEX 1
|
||||
#define CONFIG_BAUDRATE 9600
|
||||
|
||||
#define CONFIG_PREBOOT "echo;echo Type \\\"run flash_nfs\\\" to mount root filesystem over NFS;echo"
|
||||
|
||||
#define CONFIG_BOOTCOMMAND "bootm FE020000" /* autoboot command */
|
||||
#define CONFIG_BOOTDELAY 5
|
||||
|
||||
/*
|
||||
* BOOTP options
|
||||
*/
|
||||
#define CONFIG_BOOTP_SUBNETMASK
|
||||
#define CONFIG_BOOTP_GATEWAY
|
||||
#define CONFIG_BOOTP_HOSTNAME
|
||||
#define CONFIG_BOOTP_BOOTPATH
|
||||
#define CONFIG_BOOTP_BOOTFILESIZE
|
||||
|
||||
|
||||
#define CONFIG_TIMESTAMP /* Print image info with timestamp */
|
||||
|
||||
|
||||
/*
|
||||
* Command line configuration.
|
||||
*/
|
||||
#include <config_cmd_default.h>
|
||||
|
||||
#define CONFIG_CMD_BEDBUG
|
||||
#define CONFIG_CMD_DHCP
|
||||
#define CONFIG_CMD_PCI
|
||||
#define CONFIG_CMD_NFS
|
||||
#define CONFIG_CMD_SNTP
|
||||
|
||||
|
||||
/*
|
||||
* Miscellaneous configurable options
|
||||
*/
|
||||
#define CONFIG_SYS_LONGHELP /* undef to save memory */
|
||||
#define CONFIG_SYS_PROMPT "=> " /* Monitor Command Prompt */
|
||||
#define CONFIG_SYS_CBSIZE 256 /* Console I/O Buffer Size */
|
||||
|
||||
#if 1
|
||||
#define CONFIG_SYS_HUSH_PARSER 1 /* use "hush" command parser */
|
||||
#endif
|
||||
|
||||
/* Print Buffer Size
|
||||
*/
|
||||
#define CONFIG_SYS_PBSIZE (CONFIG_SYS_CBSIZE + sizeof(CONFIG_SYS_PROMPT) + 16)
|
||||
|
||||
#define CONFIG_SYS_MAXARGS 16 /* max number of command args */
|
||||
#define CONFIG_SYS_BARGSIZE CONFIG_SYS_CBSIZE /* Boot Argument Buffer Size */
|
||||
#define CONFIG_SYS_LOAD_ADDR 0x00100000 /* Default load address */
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* Start addresses for the final memory configuration
|
||||
* (Set up by the startup code)
|
||||
* Please note that CONFIG_SYS_SDRAM_BASE _must_ start at 0
|
||||
*/
|
||||
#define CONFIG_SYS_SDRAM_BASE 0x00000000
|
||||
#define CONFIG_SYS_FLASH_BASE 0xFF000000
|
||||
|
||||
#define CONFIG_SYS_RESET_ADDRESS 0xFFF00100
|
||||
|
||||
#define CONFIG_SYS_EUMB_ADDR 0xFCE00000
|
||||
|
||||
#define CONFIG_SYS_MONITOR_BASE CONFIG_SYS_TEXT_BASE
|
||||
|
||||
#define CONFIG_SYS_MONITOR_LEN (256 << 10) /* Reserve 256 kB for Monitor */
|
||||
#define CONFIG_SYS_MALLOC_LEN (128 << 10) /* Reserve 128 kB for malloc() */
|
||||
|
||||
#define CONFIG_SYS_MEMTEST_START 0x00004000 /* memtest works on */
|
||||
#define CONFIG_SYS_MEMTEST_END 0x02000000 /* 0 ... 32 MB in DRAM */
|
||||
|
||||
/* Maximum amount of RAM.
|
||||
*/
|
||||
#define CONFIG_SYS_MAX_RAM_SIZE 0x10000000
|
||||
|
||||
|
||||
#if CONFIG_SYS_MONITOR_BASE >= CONFIG_SYS_FLASH_BASE
|
||||
#undef CONFIG_SYS_RAMBOOT
|
||||
#else
|
||||
#define CONFIG_SYS_RAMBOOT
|
||||
#endif
|
||||
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* Definitions for initial stack pointer and data area
|
||||
*/
|
||||
|
||||
#define CONFIG_SYS_INIT_RAM_ADDR 0x40000000
|
||||
#define CONFIG_SYS_INIT_RAM_SIZE 0x1000
|
||||
#define CONFIG_SYS_GBL_DATA_OFFSET (CONFIG_SYS_INIT_RAM_SIZE - GENERATED_GBL_DATA_SIZE)
|
||||
|
||||
/*
|
||||
* NS16550 Configuration
|
||||
*/
|
||||
#define CONFIG_SYS_NS16550
|
||||
#define CONFIG_SYS_NS16550_SERIAL
|
||||
|
||||
#define CONFIG_SYS_NS16550_REG_SIZE 4
|
||||
|
||||
#define CONFIG_SYS_NS16550_CLK (14745600 / 2)
|
||||
|
||||
#define CONFIG_SYS_NS16550_COM1 0xFE800080
|
||||
#define CONFIG_SYS_NS16550_COM2 0xFE8000C0
|
||||
|
||||
/*
|
||||
* Low Level Configuration Settings
|
||||
* (address mappings, register initial values, etc.)
|
||||
* You should know what you are doing if you make changes here.
|
||||
* For the detail description refer to the MPC8240 user's manual.
|
||||
*/
|
||||
|
||||
#define CONFIG_SYS_CLK_FREQ 33000000
|
||||
#define CONFIG_SYS_HZ 1000
|
||||
|
||||
/* Bit-field values for MCCR1.
|
||||
*/
|
||||
#define CONFIG_SYS_ROMNAL 0
|
||||
#define CONFIG_SYS_ROMFAL 7
|
||||
|
||||
/* Bit-field values for MCCR2.
|
||||
*/
|
||||
#define CONFIG_SYS_REFINT 430 /* Refresh interval */
|
||||
|
||||
/* Burst To Precharge. Bits of this value go to MCCR3 and MCCR4.
|
||||
*/
|
||||
#define CONFIG_SYS_BSTOPRE 192
|
||||
|
||||
/* Bit-field values for MCCR3.
|
||||
*/
|
||||
#define CONFIG_SYS_REFREC 2 /* Refresh to activate interval */
|
||||
#define CONFIG_SYS_RDLAT 3 /* Data latancy from read command */
|
||||
|
||||
/* Bit-field values for MCCR4.
|
||||
*/
|
||||
#define CONFIG_SYS_PRETOACT 2 /* Precharge to activate interval */
|
||||
#define CONFIG_SYS_ACTTOPRE 5 /* Activate to Precharge interval */
|
||||
#define CONFIG_SYS_SDMODE_CAS_LAT 2 /* SDMODE CAS latancy */
|
||||
#define CONFIG_SYS_SDMODE_WRAP 0 /* SDMODE wrap type */
|
||||
#define CONFIG_SYS_SDMODE_BURSTLEN 2 /* SDMODE Burst length */
|
||||
#define CONFIG_SYS_ACTORW 2
|
||||
#define CONFIG_SYS_REGISTERD_TYPE_BUFFER 1
|
||||
|
||||
/* Memory bank settings.
|
||||
* Only bits 20-29 are actually used from these vales to set the
|
||||
* start/end addresses. The upper two bits will always be 0, and the lower
|
||||
* 20 bits will be 0x00000 for a start address, or 0xfffff for an end
|
||||
* address. Refer to the MPC8240 book.
|
||||
*/
|
||||
|
||||
#define CONFIG_SYS_BANK0_START 0x00000000
|
||||
#define CONFIG_SYS_BANK0_END (CONFIG_SYS_MAX_RAM_SIZE - 1)
|
||||
#define CONFIG_SYS_BANK0_ENABLE 1
|
||||
#define CONFIG_SYS_BANK1_START 0x3ff00000
|
||||
#define CONFIG_SYS_BANK1_END 0x3fffffff
|
||||
#define CONFIG_SYS_BANK1_ENABLE 0
|
||||
#define CONFIG_SYS_BANK2_START 0x3ff00000
|
||||
#define CONFIG_SYS_BANK2_END 0x3fffffff
|
||||
#define CONFIG_SYS_BANK2_ENABLE 0
|
||||
#define CONFIG_SYS_BANK3_START 0x3ff00000
|
||||
#define CONFIG_SYS_BANK3_END 0x3fffffff
|
||||
#define CONFIG_SYS_BANK3_ENABLE 0
|
||||
#define CONFIG_SYS_BANK4_START 0x3ff00000
|
||||
#define CONFIG_SYS_BANK4_END 0x3fffffff
|
||||
#define CONFIG_SYS_BANK4_ENABLE 0
|
||||
#define CONFIG_SYS_BANK5_START 0x3ff00000
|
||||
#define CONFIG_SYS_BANK5_END 0x3fffffff
|
||||
#define CONFIG_SYS_BANK5_ENABLE 0
|
||||
#define CONFIG_SYS_BANK6_START 0x3ff00000
|
||||
#define CONFIG_SYS_BANK6_END 0x3fffffff
|
||||
#define CONFIG_SYS_BANK6_ENABLE 0
|
||||
#define CONFIG_SYS_BANK7_START 0x3ff00000
|
||||
#define CONFIG_SYS_BANK7_END 0x3fffffff
|
||||
#define CONFIG_SYS_BANK7_ENABLE 0
|
||||
|
||||
#define CONFIG_SYS_ODCR 0xff
|
||||
|
||||
#define CONFIG_SYS_IBAT0L (CONFIG_SYS_SDRAM_BASE | BATL_PP_10 | BATL_MEMCOHERENCE)
|
||||
#define CONFIG_SYS_IBAT0U (CONFIG_SYS_SDRAM_BASE | BATU_BL_256M | BATU_VS | BATU_VP)
|
||||
|
||||
#define CONFIG_SYS_IBAT1L (CONFIG_SYS_INIT_RAM_ADDR | BATL_PP_10 | BATL_MEMCOHERENCE)
|
||||
#define CONFIG_SYS_IBAT1U (CONFIG_SYS_INIT_RAM_ADDR | BATU_BL_128K | BATU_VS | BATU_VP)
|
||||
|
||||
#define CONFIG_SYS_IBAT2L (0x80000000 | BATL_PP_10 | BATL_CACHEINHIBIT)
|
||||
#define CONFIG_SYS_IBAT2U (0x80000000 | BATU_BL_256M | BATU_VS | BATU_VP)
|
||||
|
||||
#define CONFIG_SYS_IBAT3L (0xFC000000 | BATL_PP_10 | BATL_CACHEINHIBIT)
|
||||
#define CONFIG_SYS_IBAT3U (0xFC000000 | BATU_BL_64M | BATU_VS | BATU_VP)
|
||||
|
||||
#define CONFIG_SYS_DBAT0L CONFIG_SYS_IBAT0L
|
||||
#define CONFIG_SYS_DBAT0U CONFIG_SYS_IBAT0U
|
||||
#define CONFIG_SYS_DBAT1L CONFIG_SYS_IBAT1L
|
||||
#define CONFIG_SYS_DBAT1U CONFIG_SYS_IBAT1U
|
||||
#define CONFIG_SYS_DBAT2L CONFIG_SYS_IBAT2L
|
||||
#define CONFIG_SYS_DBAT2U CONFIG_SYS_IBAT2U
|
||||
#define CONFIG_SYS_DBAT3L CONFIG_SYS_IBAT3L
|
||||
#define CONFIG_SYS_DBAT3U CONFIG_SYS_IBAT3U
|
||||
|
||||
/*
|
||||
* For booting Linux, the board info and command line data
|
||||
* have to be in the first 8 MB of memory, since this is
|
||||
* the maximum mapped by the Linux kernel during initialization.
|
||||
*/
|
||||
#define CONFIG_SYS_BOOTMAPSZ (8 << 20) /* Initial Memory map for Linux */
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* FLASH organization
|
||||
*/
|
||||
#define CONFIG_SYS_MAX_FLASH_BANKS 2 /* Max number of flash banks */
|
||||
#define CONFIG_SYS_MAX_FLASH_SECT 39 /* Max number of sectors in one bank */
|
||||
|
||||
#define CONFIG_SYS_FLASH_ERASE_TOUT 120000 /* Timeout for Flash Erase (in ms) */
|
||||
#define CONFIG_SYS_FLASH_WRITE_TOUT 500 /* Timeout for Flash Write (in ms) */
|
||||
|
||||
/* Warining: environment is not EMBEDDED in the U-Boot code.
|
||||
* It's stored in flash separately.
|
||||
*/
|
||||
#define CONFIG_ENV_IS_IN_FLASH 1
|
||||
#if 0
|
||||
#define CONFIG_ENV_ADDR 0xFF008000
|
||||
#define CONFIG_ENV_SIZE 0x8000 /* Size of the Environment Sector */
|
||||
#else
|
||||
#define CONFIG_ENV_ADDR 0xFFFC0000
|
||||
#define CONFIG_ENV_SIZE 0x4000 /* Size of the Environment */
|
||||
#define CONFIG_ENV_OFFSET 0 /* starting right at the beginning */
|
||||
#define CONFIG_ENV_SECT_SIZE 0x40000 /* Size of the Environment Sector */
|
||||
#endif
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* Cache Configuration
|
||||
*/
|
||||
#define CONFIG_SYS_CACHELINE_SIZE 32
|
||||
#if defined(CONFIG_CMD_KGDB)
|
||||
# define CONFIG_SYS_CACHELINE_SHIFT 5 /* log base 2 of the above value */
|
||||
#endif
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* PCI stuff
|
||||
*-----------------------------------------------------------------------
|
||||
*/
|
||||
#define CONFIG_PCI /* include pci support */
|
||||
#undef CONFIG_PCI_PNP
|
||||
|
||||
|
||||
#define CONFIG_TULIP
|
||||
#define CONFIG_TULIP_USE_IO
|
||||
|
||||
#define CONFIG_SYS_ETH_DEV_FN 0x7800
|
||||
#define CONFIG_SYS_ETH_IOBASE 0x00104000
|
||||
|
||||
#define CONFIG_EEPRO100
|
||||
#define CONFIG_SYS_RX_ETH_BUFFER 8 /* use 8 rx buffer on eepro100 */
|
||||
#define PCI_ENET0_IOADDR 0x00104000
|
||||
#define PCI_ENET0_MEMADDR 0x80000000
|
||||
#endif /* __CONFIG_H */
|
||||
|
|
@ -0,0 +1,194 @@
|
|||
/*
|
||||
* (C) Copyright 2001
|
||||
* Stefan Roese, esd gmbh germany, stefan.roese@esd-electronics.com
|
||||
*
|
||||
* See file CREDITS for list of people who contributed to this
|
||||
* project.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of
|
||||
* the License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston,
|
||||
* MA 02111-1307 USA
|
||||
*/
|
||||
|
||||
/*
|
||||
* board/config.h - configuration options, board specific
|
||||
*/
|
||||
|
||||
#ifndef __CONFIG_H
|
||||
#define __CONFIG_H
|
||||
|
||||
/*
|
||||
* High Level Configuration Options
|
||||
* (easy to change)
|
||||
*/
|
||||
|
||||
#define CONFIG_IOP480 1 /* This is a IOP480 CPU */
|
||||
#define CONFIG_DASA_SIM 1 /* ...on a DASA_SIM board */
|
||||
|
||||
#define CONFIG_SYS_TEXT_BASE 0xFFFC0000
|
||||
#define CONFIG_SYS_LDSCRIPT "board/esd/dasa_sim/u-boot.lds"
|
||||
|
||||
#define CONFIG_BOARD_EARLY_INIT_F 1 /* call board_early_init_f() */
|
||||
|
||||
#define CONFIG_CLOCKS_IN_MHZ 1 /* clocks passsed to Linux in MHz */
|
||||
|
||||
#define CONFIG_CPUCLOCK 66
|
||||
#define CONFIG_BUSCLOCK (CONFIG_CPUCLOCK)
|
||||
|
||||
#define CONFIG_BAUDRATE 9600
|
||||
#define CONFIG_BOOTDELAY 3 /* autoboot after 5 seconds */
|
||||
#define CONFIG_BOOTCOMMAND "bootm ffe00000" /* autoboot command */
|
||||
|
||||
#undef CONFIG_BOOTARGS
|
||||
|
||||
#define CONFIG_LOADS_ECHO 1 /* echo on for serial download */
|
||||
#define CONFIG_SYS_LOADS_BAUD_CHANGE 1 /* allow baudrate change */
|
||||
|
||||
#undef CONFIG_WATCHDOG /* watchdog disabled */
|
||||
|
||||
#define CONFIG_IPADDR 10.0.18.222
|
||||
#define CONFIG_SERVERIP 10.0.18.190
|
||||
|
||||
|
||||
/*
|
||||
* 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_BSP
|
||||
|
||||
|
||||
#if 0 /* Does not appear to be used?! If it is used, needs to be fixed */
|
||||
#define CONFIG_SOFT_I2C /* Software I2C support enabled */
|
||||
#endif
|
||||
#define CONFIG_SYS_I2C_EEPROM_ADDR_LEN 1 /* Bytes of address */
|
||||
|
||||
/*
|
||||
* Miscellaneous configurable options
|
||||
*/
|
||||
#define CONFIG_SYS_LONGHELP /* undef to save memory */
|
||||
#define CONFIG_SYS_PROMPT "=> " /* Monitor Command Prompt */
|
||||
#if defined(CONFIG_CMD_KGDB)
|
||||
#define CONFIG_SYS_CBSIZE 1024 /* Console I/O Buffer Size */
|
||||
#else
|
||||
#define CONFIG_SYS_CBSIZE 256 /* Console I/O Buffer Size */
|
||||
#endif
|
||||
#define CONFIG_SYS_PBSIZE (CONFIG_SYS_CBSIZE+sizeof(CONFIG_SYS_PROMPT)+16) /* Print Buffer Size */
|
||||
#define CONFIG_SYS_MAXARGS 16 /* max number of command args */
|
||||
#define CONFIG_SYS_BARGSIZE CONFIG_SYS_CBSIZE /* Boot Argument Buffer Size */
|
||||
|
||||
#define CONFIG_SYS_CONSOLE_INFO_QUIET 1 /* don't print console @ startup*/
|
||||
|
||||
#define CONFIG_SYS_MEMTEST_START 0x0400000 /* memtest works on */
|
||||
#define CONFIG_SYS_MEMTEST_END 0x0C00000 /* 4 ... 12 MB in DRAM */
|
||||
|
||||
/* The following table includes the supported baudrates */
|
||||
#define CONFIG_SYS_BAUDRATE_TABLE \
|
||||
{ 300, 600, 1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200 }
|
||||
|
||||
#define CONFIG_SYS_LOAD_ADDR 0x100000 /* default load address */
|
||||
|
||||
#define CONFIG_SYS_HZ 1000 /* decrementer freq: 1 ms ticks */
|
||||
|
||||
#define CONFIG_ZERO_BOOTDELAY_CHECK /* check for keypress on bootdelay==0 */
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* Definitions for initial stack pointer and data area (in DPRAM)
|
||||
*/
|
||||
#define CONFIG_SYS_INIT_RAM_ADDR 0x00df0000 /* inside of SDRAM */
|
||||
#define CONFIG_SYS_INIT_RAM_SIZE 0x0f00 /* Size of used area in RAM */
|
||||
#define CONFIG_SYS_GBL_DATA_OFFSET (CONFIG_SYS_INIT_RAM_SIZE - GENERATED_GBL_DATA_SIZE)
|
||||
#define CONFIG_SYS_INIT_SP_OFFSET CONFIG_SYS_GBL_DATA_OFFSET
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* Start addresses for the final memory configuration
|
||||
* (Set up by the startup code)
|
||||
* Please note that CONFIG_SYS_SDRAM_BASE _must_ start at 0
|
||||
*/
|
||||
#define CONFIG_SYS_SDRAM_BASE 0x00000000
|
||||
#define CONFIG_SYS_FLASH_BASE 0xFFFC0000
|
||||
#define CONFIG_SYS_MONITOR_BASE CONFIG_SYS_FLASH_BASE
|
||||
#define CONFIG_SYS_MONITOR_LEN (256 << 10) /* Reserve 128 kB for Monitor */
|
||||
#define CONFIG_SYS_MALLOC_LEN (128 << 10) /* Reserve 128 kB for malloc() */
|
||||
|
||||
/*
|
||||
* For booting Linux, the board info and command line data
|
||||
* have to be in the first 8 MB of memory, since this is
|
||||
* the maximum mapped by the Linux kernel during initialization.
|
||||
*/
|
||||
#define CONFIG_SYS_BOOTMAPSZ (8 << 20) /* Initial Memory map for Linux */
|
||||
/*-----------------------------------------------------------------------
|
||||
* FLASH organization
|
||||
*/
|
||||
#define CONFIG_SYS_MAX_FLASH_BANKS 1 /* max number of memory banks */
|
||||
#define CONFIG_SYS_MAX_FLASH_SECT 256 /* max number of sectors on one chip */
|
||||
|
||||
#define CONFIG_SYS_FLASH_ERASE_TOUT 120000 /* Timeout for Flash Erase (in ms) */
|
||||
#define CONFIG_SYS_FLASH_WRITE_TOUT 500 /* Timeout for Flash Write (in ms) */
|
||||
|
||||
#define CONFIG_SYS_FLASH_WORD_SIZE unsigned char /* flash word size (width) */
|
||||
#define CONFIG_SYS_FLASH_ADDR0 0x0AA9 /* 1st address for flash config cycles */
|
||||
#define CONFIG_SYS_FLASH_ADDR1 0x0556 /* 2nd address for flash config cycles */
|
||||
/*
|
||||
* The following defines are added for buggy IOP480 byte interface.
|
||||
* All other boards should use the standard values (CPCI405 etc.)
|
||||
*/
|
||||
#define CONFIG_SYS_FLASH_READ0 0x0002 /* 0 is standard */
|
||||
#define CONFIG_SYS_FLASH_READ1 0x0000 /* 1 is standard */
|
||||
#define CONFIG_SYS_FLASH_READ2 0x0004 /* 2 is standard */
|
||||
|
||||
#define CONFIG_SYS_FLASH_EMPTY_INFO /* print 'E' for empty sector on flinfo */
|
||||
|
||||
#define CONFIG_ENV_IS_IN_FLASH 1
|
||||
#define CONFIG_ENV_OFFSET 0x00010000 /* Offset of Environment Sector */
|
||||
#define CONFIG_ENV_SIZE 0x1000 /* Total Size of Environment Sector */
|
||||
|
||||
#if 0
|
||||
#define CONFIG_ENV_SECT_SIZE 0x8000 /* see README - env sector total size */
|
||||
#else
|
||||
#define CONFIG_ENV_SECT_SIZE 0x10000 /* see README - env sector total size */
|
||||
#endif
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* PCI stuff
|
||||
*/
|
||||
#define CONFIG_PCI /* include pci support */
|
||||
#undef CONFIG_PCI_PNP
|
||||
|
||||
|
||||
#define CONFIG_TULIP
|
||||
|
||||
#define CONFIG_SYS_ETH_DEV_FN 0x0000
|
||||
#define CONFIG_SYS_ETH_IOBASE 0x0fff0000
|
||||
#define CONFIG_SYS_PCI9054_DEV_FN 0x0800
|
||||
#define CONFIG_SYS_PCI9054_IOBASE 0x0eff0000
|
||||
|
||||
/*
|
||||
* Init Memory Controller:
|
||||
*
|
||||
* BR0/1 and OR0/1 (FLASH)
|
||||
*/
|
||||
|
||||
#define FLASH_BASE0_PRELIM 0xFFE00000 /* FLASH bank #0 */
|
||||
|
||||
#endif /* __CONFIG_H */
|
||||
|
|
@ -0,0 +1,597 @@
|
|||
/*
|
||||
* (C) Copyright 2001
|
||||
* Josh Huber <huber@mclx.com>, Mission Critical Linux, Inc.
|
||||
*
|
||||
* See file CREDITS for list of people who contributed to this
|
||||
* project.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of
|
||||
* the License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston,
|
||||
* MA 02111-1307 USA
|
||||
*/
|
||||
|
||||
/*
|
||||
* board/config.h - configuration options, board specific
|
||||
*/
|
||||
|
||||
/*************************************************************************
|
||||
* (c) 2002 Datentechnik AG - Project: Dino
|
||||
*
|
||||
*
|
||||
* $Id: DB64360.h,v 1.3 2003/04/26 04:58:13 brad Exp $
|
||||
*
|
||||
************************************************************************/
|
||||
|
||||
/*************************************************************************
|
||||
*
|
||||
* History:
|
||||
*
|
||||
* $Log: DB64360.h,v $
|
||||
* Revision 1.3 2003/04/26 04:58:13 brad
|
||||
* Cosmetic changes and compiler warning cleanups
|
||||
*
|
||||
* Revision 1.2 2003/04/23 15:48:15 ingo
|
||||
* mem. map output added
|
||||
*
|
||||
* Revision 1.1 2003/04/17 09:31:42 ias
|
||||
* keymile changes 17_04_2003
|
||||
*
|
||||
* Revision 1.10 2003/03/06 12:25:04 ias
|
||||
* 750 FX CPU HID settings updated
|
||||
*
|
||||
* Revision 1.9 2003/03/03 16:14:36 ias
|
||||
* cleanup compiler warnings of printf fuctions
|
||||
*
|
||||
* Revision 1.8 2003/03/03 15:11:44 ias
|
||||
* Marvell MPSC-UART is working
|
||||
*
|
||||
* Revision 1.7 2003/02/26 12:15:45 ssu
|
||||
* adapted default parameters to new board flash address
|
||||
*
|
||||
* Revision 1.6 2003/02/25 14:55:42 ssu
|
||||
* changed default environment parameters
|
||||
*
|
||||
* Revision 1.5 2003/02/21 17:14:23 ias
|
||||
* added extended SPD handling
|
||||
*
|
||||
* Revision 1.4 2003/01/14 09:16:08 ias
|
||||
* PPCBoot for Marvel Beta 0.9
|
||||
*
|
||||
* Revision 1.3 2002/12/03 13:56:26 ias
|
||||
* Environment in flash support added
|
||||
*
|
||||
* Revision 1.2 2002/11/29 16:53:29 ias
|
||||
* Flash support for STM added
|
||||
*
|
||||
* Revision 1.1 2002/11/29 13:36:31 ias
|
||||
* Revision 0.1 of PPCBOOT (1.1.5) for Marvell DB64360 IBM750FX Board
|
||||
* - working DDRRAM (only 32MByte of 128MB Modul)
|
||||
* - working I2C Driver for SPD EEPROM read
|
||||
* - working DUART 16650 for Serial Console
|
||||
* - working "console"
|
||||
*
|
||||
*
|
||||
*
|
||||
************************************************************************/
|
||||
|
||||
#ifndef __CONFIG_H
|
||||
#define __CONFIG_H
|
||||
|
||||
/* This define must be before the core.h include */
|
||||
#define CONFIG_DB64360 1 /* this is an DB64360 board */
|
||||
|
||||
#ifndef __ASSEMBLY__
|
||||
#include "../board/Marvell/include/core.h"
|
||||
#endif
|
||||
|
||||
/*-----------------------------------------------------*/
|
||||
/* #include "../board/db64360/local.h" */
|
||||
#ifndef __LOCAL_H
|
||||
#define __LOCAL_H
|
||||
|
||||
/* first ethernet */
|
||||
#define CONFIG_ETHADDR 64:36:00:00:00:01
|
||||
/* next two ethernet hwaddrs */
|
||||
#define CONFIG_HAS_ETH1
|
||||
#define CONFIG_ETH1ADDR 64:36:00:00:00:02
|
||||
/* in the atlantis 64360 we have only 2 ETH port on the board,
|
||||
if we use PCI it has its own MAC addr */
|
||||
|
||||
#define CONFIG_ENV_OVERWRITE
|
||||
#endif /* __CONFIG_H */
|
||||
|
||||
/*
|
||||
* High Level Configuration Options
|
||||
* (easy to change)
|
||||
*/
|
||||
|
||||
#define CONFIG_74xx /* we have a 750FX (override local.h) */
|
||||
|
||||
#define CONFIG_DB64360 1 /* this is an DB64360 board */
|
||||
|
||||
#define CONFIG_SYS_TEXT_BASE 0xfff00000
|
||||
|
||||
#define CONFIG_BAUDRATE 115200 /* console baudrate = 115000 */
|
||||
/*ronen - we don't use the global CONFIG_ECC, since in the global ecc we initialize the
|
||||
DRAM for ECC in the phase we are relocating to it, which isn't so sufficient.
|
||||
so we will define our ECC CONFIG and initilize the DRAM for ECC in the DRAM initialization phase,
|
||||
see sdram_init.c */
|
||||
#undef CONFIG_ECC /* enable ECC support */
|
||||
#define CONFIG_MV64360_ECC
|
||||
|
||||
/* which initialization functions to call for this board */
|
||||
#define CONFIG_MISC_INIT_R /* initialize the icache L1 */
|
||||
#define CONFIG_BOARD_EARLY_INIT_F
|
||||
|
||||
#define CONFIG_SYS_BOARD_NAME "DB64360"
|
||||
#define CONFIG_IDENT_STRING "Marvell DB64360 (1.1)"
|
||||
|
||||
/*#define CONFIG_SYS_HUSH_PARSER */
|
||||
#undef CONFIG_SYS_HUSH_PARSER
|
||||
|
||||
|
||||
/*
|
||||
* The following defines let you select what serial you want to use
|
||||
* for your console driver.
|
||||
*
|
||||
* what to do:
|
||||
* to use the DUART, undef CONFIG_MPSC. If you have hacked a serial
|
||||
* cable onto the second DUART channel, change the CONFIG_SYS_DUART port from 1
|
||||
* to 0 below.
|
||||
*
|
||||
* to use the MPSC, #define CONFIG_MPSC. If you have wired up another
|
||||
* mpsc channel, change CONFIG_MPSC_PORT to the desired value.
|
||||
*/
|
||||
|
||||
#define CONFIG_MPSC_PORT 0
|
||||
|
||||
/* to change the default ethernet port, use this define (options: 0, 1, 2) */
|
||||
#define MV_ETH_DEVS 2
|
||||
|
||||
/* #undef CONFIG_ETHER_PORT_MII */
|
||||
#if 0
|
||||
#define CONFIG_BOOTDELAY -1 /* autoboot disabled */
|
||||
#else
|
||||
#define CONFIG_BOOTDELAY 3 /* autoboot after 5 seconds */
|
||||
#endif
|
||||
#define CONFIG_ZERO_BOOTDELAY_CHECK
|
||||
|
||||
|
||||
#undef CONFIG_BOOTARGS
|
||||
/*#define CONFIG_PREBOOT "echo;echo Type \\\"run flash_nfs\\\" to mount root filesystem over NFS;echo" */
|
||||
|
||||
/* ronen - autoboot using tftp */
|
||||
#if (CONFIG_BOOTDELAY >= 0)
|
||||
#define CONFIG_BOOTCOMMAND "tftpboot 0x400000 uImage;\
|
||||
setenv bootargs ${bootargs} ${bootargs_root} nfsroot=${serverip}:${rootpath} \
|
||||
ip=${ipaddr}:${serverip}${bootargs_end}; bootm 0x400000; "
|
||||
|
||||
#define CONFIG_BOOTARGS "console=ttyS0,115200"
|
||||
|
||||
#endif
|
||||
|
||||
/* ronen - the u-boot.bin should be ~0x30000 bytes */
|
||||
#define CONFIG_EXTRA_ENV_SETTINGS \
|
||||
"burn_uboot_sep= tftp 100000 u-boot.bin;protect off all;era FFF00000 FFF4ffff; \
|
||||
cp.b 100000 FFF00000 0x40000;protect on 1:0-4;\0" \
|
||||
"burn_uboot_dep= tftp 100000 u-boot.bin;protect off all;era FFF00000 FFF7ffff; \
|
||||
cp.b 100000 FFF00000 0x40000;protect on 1:0-7;\0" \
|
||||
"bootargs_root=root=/dev/nfs rw\0" \
|
||||
"bootargs_end=:::DB64360:eth0:none \0"\
|
||||
"ethprime=mv_enet0\0"\
|
||||
"standalone=fsload 0x400000 uImage;setenv bootargs ${bootargs} root=/dev/mtdblock/0 rw \
|
||||
ip=${ipaddr}:${serverip}${bootargs_end}; bootm 0x400000;\0"
|
||||
|
||||
/* --------------------------------------------------------------------------------------------------------------- */
|
||||
/* New bootcommands for Marvell DB64360 c 2002 Ingo Assmus */
|
||||
|
||||
#define CONFIG_IPADDR 10.2.40.90
|
||||
|
||||
#define CONFIG_SERIAL "No. 1"
|
||||
#define CONFIG_SERVERIP 10.2.1.126
|
||||
#define CONFIG_ROOTPATH "/mnt/yellow_dog_mini"
|
||||
|
||||
|
||||
#define CONFIG_TESTDRAMDATA y
|
||||
#define CONFIG_TESTDRAMADDRESS n
|
||||
#define CONFIG_TESETDRAMWALK n
|
||||
|
||||
/* --------------------------------------------------------------------------------------------------------------- */
|
||||
|
||||
#define CONFIG_LOADS_ECHO 0 /* echo off for serial download */
|
||||
#define CONFIG_SYS_LOADS_BAUD_CHANGE /* allow baudrate changes */
|
||||
|
||||
#undef CONFIG_WATCHDOG /* watchdog disabled */
|
||||
#undef CONFIG_ALTIVEC /* undef to disable */
|
||||
|
||||
/*
|
||||
* BOOTP options
|
||||
*/
|
||||
#define CONFIG_BOOTP_SUBNETMASK
|
||||
#define CONFIG_BOOTP_GATEWAY
|
||||
#define CONFIG_BOOTP_HOSTNAME
|
||||
#define CONFIG_BOOTP_BOOTPATH
|
||||
#define CONFIG_BOOTP_BOOTFILESIZE
|
||||
|
||||
|
||||
/*
|
||||
* JFFS2 partitions
|
||||
*
|
||||
*/
|
||||
/* No command line, one static partition, whole device */
|
||||
#undef CONFIG_CMD_MTDPARTS
|
||||
#define CONFIG_JFFS2_DEV "nor1"
|
||||
#define CONFIG_JFFS2_PART_SIZE 0xFFFFFFFF
|
||||
#define CONFIG_JFFS2_PART_OFFSET 0x00000000
|
||||
|
||||
/* mtdparts command line support */
|
||||
|
||||
/* Use first bank for JFFS2, second bank contains U-Boot.
|
||||
*
|
||||
* Note: fake mtd_id's used, no linux mtd map file.
|
||||
*/
|
||||
/*
|
||||
#define CONFIG_CMD_MTDPARTS
|
||||
#define MTDIDS_DEFAULT "nor1=db64360-1"
|
||||
#define MTDPARTS_DEFAULT "mtdparts=db64360-1:-(jffs2)"
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
* Command line configuration.
|
||||
*/
|
||||
#include <config_cmd_default.h>
|
||||
|
||||
#define CONFIG_CMD_ASKENV
|
||||
#define CONFIG_CMD_I2C
|
||||
#define CONFIG_CMD_EEPROM
|
||||
#define CONFIG_CMD_CACHE
|
||||
#define CONFIG_CMD_JFFS2
|
||||
#define CONFIG_CMD_PCI
|
||||
#define CONFIG_CMD_NET
|
||||
|
||||
|
||||
/*
|
||||
* Miscellaneous configurable options
|
||||
*/
|
||||
#define CONFIG_SYS_I2C_EEPROM_ADDR_LEN 1
|
||||
#define CONFIG_SYS_I2C_MULTI_EEPROMS
|
||||
#define CONFIG_SYS_I2C_SPEED 40000 /* I2C speed default */
|
||||
|
||||
/* #define CONFIG_SYS_GT_DUAL_CPU also for JTAG even with one cpu */
|
||||
#define CONFIG_SYS_LONGHELP /* undef to save memory */
|
||||
#define CONFIG_SYS_PROMPT "=> " /* Monitor Command Prompt */
|
||||
#if defined(CONFIG_CMD_KGDB)
|
||||
#define CONFIG_SYS_CBSIZE 1024 /* Console I/O Buffer Size */
|
||||
#else
|
||||
#define CONFIG_SYS_CBSIZE 256 /* Console I/O Buffer Size */
|
||||
#endif
|
||||
#define CONFIG_SYS_PBSIZE (CONFIG_SYS_CBSIZE+sizeof(CONFIG_SYS_PROMPT)+16) /* Print Buffer Size */
|
||||
#define CONFIG_SYS_MAXARGS 16 /* max number of command args */
|
||||
#define CONFIG_SYS_BARGSIZE CONFIG_SYS_CBSIZE /* Boot Argument Buffer Size */
|
||||
|
||||
/*#define CONFIG_SYS_MEMTEST_START 0x00400000 memtest works on */
|
||||
/*#define CONFIG_SYS_MEMTEST_END 0x00C00000 4 ... 12 MB in DRAM */
|
||||
/*#define CONFIG_SYS_MEMTEST_END 0x07c00000 4 ... 124 MB in DRAM */
|
||||
|
||||
/*
|
||||
#define CONFIG_SYS_DRAM_TEST
|
||||
* DRAM tests
|
||||
* CONFIG_SYS_DRAM_TEST - enables the following tests.
|
||||
*
|
||||
* CONFIG_SYS_DRAM_TEST_DATA - Enables test for shorted or open data lines
|
||||
* Environment variable 'test_dram_data' must be
|
||||
* set to 'y'.
|
||||
* CONFIG_SYS_DRAM_TEST_DATA - Enables test to verify that each word is uniquely
|
||||
* addressable. Environment variable
|
||||
* 'test_dram_address' must be set to 'y'.
|
||||
* CONFIG_SYS_DRAM_TEST_WALK - Enables test a 64-bit walking ones pattern test.
|
||||
* This test takes about 6 minutes to test 64 MB.
|
||||
* Environment variable 'test_dram_walk' must be
|
||||
* set to 'y'.
|
||||
*/
|
||||
#define CONFIG_SYS_DRAM_TEST
|
||||
#if defined(CONFIG_SYS_DRAM_TEST)
|
||||
#define CONFIG_SYS_MEMTEST_START 0x00400000 /* memtest works on */
|
||||
/* #define CONFIG_SYS_MEMTEST_END 0x00C00000 4 ... 12 MB in DRAM */
|
||||
#define CONFIG_SYS_MEMTEST_END 0x07c00000 /* 4 ... 124 MB in DRAM */
|
||||
#define CONFIG_SYS_DRAM_TEST_DATA
|
||||
#define CONFIG_SYS_DRAM_TEST_ADDRESS
|
||||
#define CONFIG_SYS_DRAM_TEST_WALK
|
||||
#endif /* CONFIG_SYS_DRAM_TEST */
|
||||
|
||||
#undef CONFIG_DISPLAY_MEMMAP /* at the end of the bootprocess show the memory map */
|
||||
#undef CONFIG_SYS_DISPLAY_DIMM_SPD_CONTENT /* show SPD content during boot */
|
||||
|
||||
#define CONFIG_SYS_LOAD_ADDR 0x00400000 /* default load address */
|
||||
|
||||
#define CONFIG_SYS_HZ 1000 /* decr freq: 1ms ticks */
|
||||
/*ronen - this the Sys clock (cpu bus,internal dram and SDRAM) */
|
||||
#define CONFIG_SYS_BUS_CLK 133000000 /* 133 MHz (CPU = 5*Bus = 666MHz) */
|
||||
|
||||
#define CONFIG_SYS_DDR_SDRAM_CYCLE_COUNT_LOP 7 /* define the SDRAM cycle count */
|
||||
#define CONFIG_SYS_DDR_SDRAM_CYCLE_COUNT_ROP 50 /* for 400MHZ -> 5.0 ns, for 133MHZ -> 7.50 ns */
|
||||
|
||||
/*ronen - this is the Tclk (MV64360 core) */
|
||||
#define CONFIG_SYS_TCLK 133000000
|
||||
|
||||
|
||||
#define CONFIG_SYS_BAUDRATE_TABLE { 9600, 19200, 38400, 57600, 115200, 230400 }
|
||||
|
||||
#define CONFIG_SYS_750FX_HID0 0x8000c084
|
||||
#define CONFIG_SYS_750FX_HID1 0x54800000
|
||||
#define CONFIG_SYS_750FX_HID2 0x00000000
|
||||
|
||||
/*
|
||||
* Low Level Configuration Settings
|
||||
* (address mappings, register initial values, etc.)
|
||||
* You should know what you are doing if you make changes here.
|
||||
*/
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* Definitions for initial stack pointer and data area
|
||||
*/
|
||||
|
||||
/*
|
||||
* When locking data in cache you should point the CONFIG_SYS_INIT_RAM_ADDRESS
|
||||
* To an unused memory region. The stack will remain in cache until RAM
|
||||
* is initialized
|
||||
*/
|
||||
#define CONFIG_SYS_INIT_RAM_LOCK
|
||||
#define CONFIG_SYS_INIT_RAM_ADDR 0x40000000 /* unused memory region */
|
||||
#define CONFIG_SYS_INIT_RAM_SIZE 0x1000
|
||||
#define CONFIG_SYS_GBL_DATA_OFFSET (CONFIG_SYS_INIT_RAM_SIZE - GENERATED_GBL_DATA_SIZE)
|
||||
|
||||
#define RELOCATE_INTERNAL_RAM_ADDR
|
||||
#ifdef RELOCATE_INTERNAL_RAM_ADDR
|
||||
#define CONFIG_SYS_INTERNAL_RAM_ADDR 0xf8000000
|
||||
#endif
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* Start addresses for the final memory configuration
|
||||
* (Set up by the startup code)
|
||||
* Please note that CONFIG_SYS_SDRAM_BASE _must_ start at 0
|
||||
*/
|
||||
#define CONFIG_SYS_SDRAM_BASE 0x00000000
|
||||
/* Dummies for BAT 4-7 */
|
||||
#define CONFIG_SYS_SDRAM1_BASE 0x10000000 /* each 256 MByte */
|
||||
#define CONFIG_SYS_SDRAM2_BASE 0x20000000
|
||||
#define CONFIG_SYS_SDRAM3_BASE 0x30000000
|
||||
#define CONFIG_SYS_SDRAM4_BASE 0x40000000
|
||||
#define CONFIG_SYS_FLASH_BASE 0xfff00000
|
||||
|
||||
#define CONFIG_SYS_DFL_BOOTCS_BASE 0xff800000
|
||||
#define CONFIG_VERY_BIG_RAM /* we will use up to 256M memory for cause we are short of BATS*/
|
||||
|
||||
#define BRIDGE_REG_BASE_BOOTM 0xfbe00000 /* this paramaters are used when booting the linux kernel */
|
||||
#define UART_BASE_BOOTM 0xfbb00000 /* in order to be sync with the kernel parameters. */
|
||||
#define PCI0_IO_BASE_BOOTM 0xfd000000
|
||||
|
||||
#define CONFIG_SYS_RESET_ADDRESS 0xfff00100
|
||||
#define CONFIG_SYS_MONITOR_LEN (256 << 10) /* Reserve 256 kB for Monitor */
|
||||
#define CONFIG_SYS_MONITOR_BASE CONFIG_SYS_FLASH_BASE
|
||||
#define CONFIG_SYS_MALLOC_LEN (256 << 10) /* Reserve 256 kB for malloc */
|
||||
|
||||
/* areas to map different things with the GT in physical space */
|
||||
#define CONFIG_SYS_DRAM_BANKS 4
|
||||
|
||||
/* What to put in the bats. */
|
||||
#define CONFIG_SYS_MISC_REGION_BASE 0xf0000000
|
||||
|
||||
/* Peripheral Device section */
|
||||
|
||||
/*******************************************************/
|
||||
/* We have on the db64360 Board : */
|
||||
/* GT-Chipset Register Area */
|
||||
/* GT-Chipset internal SRAM 256k */
|
||||
/* SRAM on external device module */
|
||||
/* Real time clock on external device module */
|
||||
/* dobble UART on external device module */
|
||||
/* Data flash on external device module */
|
||||
/* Boot flash on external device module */
|
||||
/*******************************************************/
|
||||
#define CONFIG_SYS_DFL_GT_REGS 0x14000000 /* boot time GT_REGS */
|
||||
#define CONFIG_SYS_DB64360_RESET_ADDR 0x14000000 /* After power on Reset the DB64360 is here */
|
||||
|
||||
/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
|
||||
#define CONFIG_SYS_GT_REGS 0xf1000000 /* GT Registers will be mapped here */
|
||||
#define CONFIG_SYS_DEV_BASE 0xfc000000 /* GT Devices CS start here */
|
||||
|
||||
#define CONFIG_SYS_DEV0_SPACE CONFIG_SYS_DEV_BASE /* DEV_CS0 device modul sram */
|
||||
#define CONFIG_SYS_DEV1_SPACE (CONFIG_SYS_DEV0_SPACE + CONFIG_SYS_DEV0_SIZE) /* DEV_CS1 device modul real time clock (rtc) */
|
||||
#define CONFIG_SYS_DEV2_SPACE (CONFIG_SYS_DEV1_SPACE + CONFIG_SYS_DEV1_SIZE) /* DEV_CS2 device modul doubel uart (duart) */
|
||||
#define CONFIG_SYS_DEV3_SPACE (CONFIG_SYS_DEV2_SPACE + CONFIG_SYS_DEV2_SIZE) /* DEV_CS3 device modul large flash */
|
||||
|
||||
#define CONFIG_SYS_DEV0_SIZE _8M /* db64360 sram @ 0xfc00.0000 */
|
||||
#define CONFIG_SYS_DEV1_SIZE _8M /* db64360 rtc @ 0xfc80.0000 */
|
||||
#define CONFIG_SYS_DEV2_SIZE _16M /* db64360 duart @ 0xfd00.0000 */
|
||||
#define CONFIG_SYS_DEV3_SIZE _16M /* db64360 flash @ 0xfe00.0000 */
|
||||
/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
|
||||
|
||||
/* Reset values for Port behavior (8bit/ 32bit, etc.) only corrected by device width */
|
||||
#define CONFIG_SYS_DEV0_PAR 0x8FEFFFFF /* 32Bit sram */
|
||||
#define CONFIG_SYS_DEV1_PAR 0x8FCFFFFF /* 8Bit rtc */
|
||||
#define CONFIG_SYS_DEV2_PAR 0x8FCFFFFF /* 8Bit duart */
|
||||
#define CONFIG_SYS_8BIT_BOOT_PAR 0x8FCFFFFF /* 8Bit flash */
|
||||
#define CONFIG_SYS_32BIT_BOOT_PAR 0x8FEFFFFF /* 32Bit flash */
|
||||
|
||||
/* c 4 a 8 2 4 1 c */
|
||||
/* 33 22|2222|22 22|111 1|11 11|1 1 | | */
|
||||
/* 10 98|7654|32 10|987 6|54 32|1 098|7 654|3 210 */
|
||||
/* 11|00|0100|10 10|100|0 00|10 0|100 0|001 1|100 */
|
||||
/* 3| 0|.... ..| 2| 4 | 0 | 4 | 8 | 3 | 4 */
|
||||
|
||||
|
||||
/* ronen - update MPP Control MV64360*/
|
||||
#define CONFIG_SYS_MPP_CONTROL_0 0x02222222
|
||||
#define CONFIG_SYS_MPP_CONTROL_1 0x11333011
|
||||
#define CONFIG_SYS_MPP_CONTROL_2 0x40431111
|
||||
#define CONFIG_SYS_MPP_CONTROL_3 0x00000044
|
||||
|
||||
/*# define CONFIG_SYS_SERIAL_PORT_MUX 0x00000102 0=hiZ 1=MPSC0 2=ETH 0 and 2 RMII */
|
||||
|
||||
|
||||
# define CONFIG_SYS_GPP_LEVEL_CONTROL 0x2c600000 /* 1111 1001 0000 1111 1100 0000 0000 0000*/
|
||||
/* gpp[31] gpp[30] gpp[29] gpp[28] */
|
||||
/* gpp[27] gpp[24]*/
|
||||
/* gpp[19:14] */
|
||||
|
||||
/* setup new config_value for MV64360 DDR-RAM !! */
|
||||
# define CONFIG_SYS_SDRAM_CONFIG 0x58200400 /* 0x1400 copied from Dink32 bzw. VxWorks*/
|
||||
|
||||
#define CONFIG_SYS_DUART_IO CONFIG_SYS_DEV2_SPACE
|
||||
#define CONFIG_SYS_DUART_CHAN 1 /* channel to use for console */
|
||||
#define CONFIG_SYS_INIT_CHAN1
|
||||
#define CONFIG_SYS_INIT_CHAN2
|
||||
|
||||
#define SRAM_BASE CONFIG_SYS_DEV0_SPACE
|
||||
#define SRAM_SIZE 0x00100000 /* 1 MB of sram */
|
||||
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* PCI stuff
|
||||
*-----------------------------------------------------------------------
|
||||
*/
|
||||
|
||||
#define PCI_HOST_ADAPTER 0 /* configure ar pci adapter */
|
||||
#define PCI_HOST_FORCE 1 /* configure as pci host */
|
||||
#define PCI_HOST_AUTO 2 /* detected via arbiter enable */
|
||||
|
||||
#define CONFIG_PCI /* include pci support */
|
||||
#define CONFIG_PCI_HOST PCI_HOST_FORCE /* select pci host function */
|
||||
#define CONFIG_PCI_PNP /* do pci plug-and-play */
|
||||
#define CONFIG_EEPRO100 /* ronen - Support for Intel 82557/82559/82559ER chips */
|
||||
|
||||
/* PCI MEMORY MAP section */
|
||||
#define CONFIG_SYS_PCI0_MEM_BASE 0x80000000
|
||||
#define CONFIG_SYS_PCI0_MEM_SIZE _128M
|
||||
#define CONFIG_SYS_PCI1_MEM_BASE 0x88000000
|
||||
#define CONFIG_SYS_PCI1_MEM_SIZE _128M
|
||||
|
||||
#define CONFIG_SYS_PCI0_0_MEM_SPACE (CONFIG_SYS_PCI0_MEM_BASE)
|
||||
#define CONFIG_SYS_PCI1_0_MEM_SPACE (CONFIG_SYS_PCI1_MEM_BASE)
|
||||
|
||||
/* PCI I/O MAP section */
|
||||
#define CONFIG_SYS_PCI0_IO_BASE 0xfa000000
|
||||
#define CONFIG_SYS_PCI0_IO_SIZE _16M
|
||||
#define CONFIG_SYS_PCI1_IO_BASE 0xfb000000
|
||||
#define CONFIG_SYS_PCI1_IO_SIZE _16M
|
||||
|
||||
#define CONFIG_SYS_PCI0_IO_SPACE (CONFIG_SYS_PCI0_IO_BASE)
|
||||
#define CONFIG_SYS_PCI0_IO_SPACE_PCI (CONFIG_SYS_PCI0_IO_BASE) /* ronen we want phy=bus 0x00000000 */
|
||||
#define CONFIG_SYS_PCI1_IO_SPACE (CONFIG_SYS_PCI1_IO_BASE)
|
||||
#define CONFIG_SYS_PCI1_IO_SPACE_PCI (CONFIG_SYS_PCI1_IO_BASE) /* ronen we want phy=bus 0x00000000 */
|
||||
|
||||
#if defined (CONFIG_750CX)
|
||||
#define CONFIG_SYS_PCI_IDSEL 0x0
|
||||
#else
|
||||
#define CONFIG_SYS_PCI_IDSEL 0x30
|
||||
#endif
|
||||
/*----------------------------------------------------------------------
|
||||
* Initial BAT mappings
|
||||
*/
|
||||
|
||||
/* NOTES:
|
||||
* 1) GUARDED and WRITE_THRU not allowed in IBATS
|
||||
* 2) CACHEINHIBIT and WRITETHROUGH not allowed together in same BAT
|
||||
*/
|
||||
|
||||
/* SDRAM */
|
||||
#define CONFIG_SYS_IBAT0L (CONFIG_SYS_SDRAM_BASE | BATL_PP_RW | BATL_CACHEINHIBIT)
|
||||
#define CONFIG_SYS_IBAT0U (CONFIG_SYS_SDRAM_BASE | BATU_BL_256M | BATU_VS | BATU_VP)
|
||||
#define CONFIG_SYS_DBAT0L (CONFIG_SYS_SDRAM_BASE | BATL_PP_RW | BATL_CACHEINHIBIT | BATL_GUARDEDSTORAGE)
|
||||
#define CONFIG_SYS_DBAT0U CONFIG_SYS_IBAT0U
|
||||
|
||||
/* init ram */
|
||||
#define CONFIG_SYS_IBAT1L (CONFIG_SYS_INIT_RAM_ADDR | BATL_PP_RW | BATL_MEMCOHERENCE)
|
||||
#define CONFIG_SYS_IBAT1U (CONFIG_SYS_INIT_RAM_ADDR | BATU_BL_256K | BATU_VS | BATU_VP)
|
||||
#define CONFIG_SYS_DBAT1L CONFIG_SYS_IBAT1L
|
||||
#define CONFIG_SYS_DBAT1U CONFIG_SYS_IBAT1U
|
||||
|
||||
/* PCI0, PCI1 in one BAT */
|
||||
#define CONFIG_SYS_IBAT2L BATL_NO_ACCESS
|
||||
#define CONFIG_SYS_IBAT2U CONFIG_SYS_DBAT2U
|
||||
#define CONFIG_SYS_DBAT2L (CONFIG_SYS_PCI0_MEM_BASE | BATL_CACHEINHIBIT | BATL_PP_RW | BATL_GUARDEDSTORAGE)
|
||||
#define CONFIG_SYS_DBAT2U (CONFIG_SYS_PCI0_MEM_BASE | BATU_BL_256M | BATU_VS | BATU_VP)
|
||||
|
||||
/* GT regs, bootrom, all the devices, PCI I/O */
|
||||
#define CONFIG_SYS_IBAT3L (CONFIG_SYS_MISC_REGION_BASE | BATL_CACHEINHIBIT | BATL_PP_RW)
|
||||
#define CONFIG_SYS_IBAT3U (CONFIG_SYS_MISC_REGION_BASE | BATU_VS | BATU_VP | BATU_BL_256M)
|
||||
#define CONFIG_SYS_DBAT3L (CONFIG_SYS_MISC_REGION_BASE | BATL_CACHEINHIBIT | BATL_PP_RW | BATL_GUARDEDSTORAGE)
|
||||
#define CONFIG_SYS_DBAT3U CONFIG_SYS_IBAT3U
|
||||
|
||||
/* I2C addresses for the two DIMM SPD chips */
|
||||
#define DIMM0_I2C_ADDR 0x56
|
||||
#define DIMM1_I2C_ADDR 0x54
|
||||
|
||||
/*
|
||||
* For booting Linux, the board info and command line data
|
||||
* have to be in the first 8 MB of memory, since this is
|
||||
* the maximum mapped by the Linux kernel during initialization.
|
||||
*/
|
||||
#define CONFIG_SYS_BOOTMAPSZ (8<<20) /* Initial Memory map for Linux */
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* FLASH organization
|
||||
*/
|
||||
#define CONFIG_SYS_MAX_FLASH_BANKS 2 /* max number of memory banks */
|
||||
#define CONFIG_SYS_MAX_FLASH_SECT 67 /* max number of sectors on one chip */
|
||||
|
||||
#define CONFIG_SYS_EXTRA_FLASH_DEVICE DEVICE3 /* extra flash at device 3 */
|
||||
#define CONFIG_SYS_EXTRA_FLASH_WIDTH 4 /* 32 bit */
|
||||
#define CONFIG_SYS_BOOT_FLASH_WIDTH 1 /* 8 bit */
|
||||
|
||||
#define CONFIG_SYS_FLASH_ERASE_TOUT 120000 /* Timeout for Flash Erase (in ms) */
|
||||
#define CONFIG_SYS_FLASH_WRITE_TOUT 500 /* Timeout for Flash Write (in ms) */
|
||||
#define CONFIG_SYS_FLASH_LOCK_TOUT 500 /* Timeout for Flash Lock (in ms) */
|
||||
#define CONFIG_SYS_FLASH_CFI 1
|
||||
|
||||
#define CONFIG_ENV_IS_IN_FLASH 1
|
||||
#define CONFIG_ENV_SIZE 0x1000 /* Total Size of Environment Sector */
|
||||
#define CONFIG_ENV_SECT_SIZE 0x10000
|
||||
#define CONFIG_ENV_ADDR 0xFFF78000 /* Marvell 8-Bit Bootflash last sector */
|
||||
/* #define CONFIG_ENV_ADDR (CONFIG_SYS_FLASH_BASE+CONFIG_SYS_MONITOR_LEN-CONFIG_ENV_SECT_SIZE) */
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* Cache Configuration
|
||||
*/
|
||||
#define CONFIG_SYS_CACHELINE_SIZE 32 /* For all MPC74xx CPUs */
|
||||
#if defined(CONFIG_CMD_KGDB)
|
||||
#define CONFIG_SYS_CACHELINE_SHIFT 5 /* log base 2 of the above value */
|
||||
#endif
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* L2CR setup -- make sure this is right for your board!
|
||||
* look in include/mpc74xx.h for the defines used here
|
||||
*/
|
||||
|
||||
#define CONFIG_SYS_L2
|
||||
|
||||
|
||||
#if defined (CONFIG_750CX) || defined (CONFIG_750FX)
|
||||
#define L2_INIT 0
|
||||
#else
|
||||
|
||||
#define L2_INIT 0
|
||||
/*
|
||||
#define L2_INIT (L2CR_L2SIZ_2M | L2CR_L2CLK_3 | L2CR_L2RAM_BURST | \
|
||||
L2CR_L2OH_5 | L2CR_L2CTL | L2CR_L2WT)
|
||||
*/
|
||||
#endif
|
||||
|
||||
#define L2_ENABLE (L2_INIT | L2CR_L2E)
|
||||
|
||||
#define CONFIG_SYS_BOARD_ASM_INIT 1
|
||||
|
||||
#endif /* __CONFIG_H */
|
||||
|
|
@ -0,0 +1,535 @@
|
|||
/*
|
||||
* (C) Copyright 2001
|
||||
* Josh Huber <huber@mclx.com>, Mission Critical Linux, Inc.
|
||||
*
|
||||
* See file CREDITS for list of people who contributed to this
|
||||
* project.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of
|
||||
* the License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston,
|
||||
* MA 02111-1307 USA
|
||||
*/
|
||||
|
||||
/*
|
||||
* board/config.h - configuration options, board specific
|
||||
*/
|
||||
|
||||
#ifndef __CONFIG_H
|
||||
#define __CONFIG_H
|
||||
|
||||
/* This define must be before the core.h include */
|
||||
#define CONFIG_DB64460 1 /* this is an DB64460 board */
|
||||
|
||||
#ifndef __ASSEMBLY__
|
||||
#include "../board/Marvell/include/core.h"
|
||||
#endif
|
||||
|
||||
/*-----------------------------------------------------*/
|
||||
/* #include "../board/db64460/local.h" */
|
||||
#ifndef __LOCAL_H
|
||||
#define __LOCAL_H
|
||||
|
||||
#define CONFIG_ETHADDR 64:46:00:00:00:01
|
||||
#define CONFIG_HAS_ETH1
|
||||
#define CONFIG_ETH1ADDR 64:46:00:00:00:02
|
||||
#define CONFIG_HAS_ETH2
|
||||
#define CONFIG_ETH2ADDR 64:46:00:00:00:03
|
||||
|
||||
#define CONFIG_ENV_OVERWRITE
|
||||
#endif /* __CONFIG_H */
|
||||
|
||||
/*
|
||||
* High Level Configuration Options
|
||||
* (easy to change)
|
||||
*/
|
||||
|
||||
#define CONFIG_74xx /* we have a 750FX (override local.h) */
|
||||
|
||||
#define CONFIG_DB64460 1 /* this is an DB64460 board */
|
||||
|
||||
#define CONFIG_SYS_TEXT_BASE 0xfff00000
|
||||
|
||||
#define CONFIG_BAUDRATE 115200 /* console baudrate = 115000 */
|
||||
/*ronen - we don't use the global CONFIG_ECC, since in the global ecc we initialize the
|
||||
DRAM for ECC in the phase we are relocating to it, which isn't so sufficient.
|
||||
so we will define our ECC CONFIG and initilize the DRAM for ECC in the DRAM initialization phase,
|
||||
see sdram_init.c */
|
||||
#undef CONFIG_ECC /* enable ECC support */
|
||||
#define CONFIG_MV64460_ECC
|
||||
|
||||
/* which initialization functions to call for this board */
|
||||
#define CONFIG_MISC_INIT_R /* initialize the icache L1 */
|
||||
#define CONFIG_BOARD_EARLY_INIT_F
|
||||
|
||||
#define CONFIG_SYS_BOARD_NAME "DB64460"
|
||||
#define CONFIG_IDENT_STRING "Marvell DB64460 (1.0)"
|
||||
|
||||
/*#define CONFIG_SYS_HUSH_PARSER */
|
||||
#undef CONFIG_SYS_HUSH_PARSER
|
||||
|
||||
|
||||
/*
|
||||
* The following defines let you select what serial you want to use
|
||||
* for your console driver.
|
||||
*
|
||||
* what to do:
|
||||
* to use the DUART, undef CONFIG_MPSC. If you have hacked a serial
|
||||
* cable onto the second DUART channel, change the CONFIG_SYS_DUART port from 1
|
||||
* to 0 below.
|
||||
*
|
||||
* to use the MPSC, #define CONFIG_MPSC. If you have wired up another
|
||||
* mpsc channel, change CONFIG_MPSC_PORT to the desired value.
|
||||
*/
|
||||
|
||||
#define CONFIG_MPSC_PORT 0
|
||||
|
||||
/* to change the default ethernet port, use this define (options: 0, 1, 2) */
|
||||
#define MV_ETH_DEVS 3
|
||||
|
||||
/* #undef CONFIG_ETHER_PORT_MII */
|
||||
#if 0
|
||||
#define CONFIG_BOOTDELAY -1 /* autoboot disabled */
|
||||
#else
|
||||
#define CONFIG_BOOTDELAY 3 /* autoboot after 5 seconds */
|
||||
#endif
|
||||
#define CONFIG_ZERO_BOOTDELAY_CHECK
|
||||
|
||||
|
||||
#undef CONFIG_BOOTARGS
|
||||
/*#define CONFIG_PREBOOT "echo;echo Type \\\"run flash_nfs\\\" to mount root filesystem over NFS;echo" */
|
||||
|
||||
/* ronen - autoboot using tftp */
|
||||
#if (CONFIG_BOOTDELAY >= 0)
|
||||
#define CONFIG_BOOTCOMMAND "tftpboot 0x400000 uImage;\
|
||||
setenv bootargs ${bootargs} ${bootargs_root} nfsroot=${serverip}:${rootpath} \
|
||||
ip=${ipaddr}:${serverip}${bootargs_end}; bootm 0x400000; "
|
||||
|
||||
#define CONFIG_BOOTARGS "console=ttyS0,115200"
|
||||
|
||||
#endif
|
||||
|
||||
/* ronen - the u-boot.bin should be ~0x30000 bytes */
|
||||
#define CONFIG_EXTRA_ENV_SETTINGS \
|
||||
"burn_uboot_sep= tftp 100000 u-boot.bin;protect off all;era FFF00000 FFF4ffff; \
|
||||
cp.b 100000 FFF00000 0x40000;protect on 1:0-4;\0" \
|
||||
"burn_uboot_dep= tftp 100000 u-boot.bin;protect off all;era FFF00000 FFF7ffff; \
|
||||
cp.b 100000 FFF00000 0x40000;protect on 1:0-7;\0" \
|
||||
"bootargs_root=root=/dev/nfs rw\0" \
|
||||
"bootargs_end=:::DB64460:eth0:none \0"\
|
||||
"ethprime=mv_enet0\0"\
|
||||
"standalone=fsload 0x400000 uImage;setenv bootargs ${bootargs} root=/dev/mtdblock/0 rw \
|
||||
ip=${ipaddr}:${serverip}${bootargs_end}; bootm 0x400000;\0"
|
||||
|
||||
/* --------------------------------------------------------------------------------------------------------------- */
|
||||
/* New bootcommands for Marvell DB64460 c 2002 Ingo Assmus */
|
||||
|
||||
#define CONFIG_IPADDR 10.2.40.90
|
||||
|
||||
#define CONFIG_SERIAL "No. 1"
|
||||
#define CONFIG_SERVERIP 10.2.1.126
|
||||
#define CONFIG_ROOTPATH "/mnt/yellow_dog_mini"
|
||||
|
||||
|
||||
#define CONFIG_TESTDRAMDATA y
|
||||
#define CONFIG_TESTDRAMADDRESS n
|
||||
#define CONFIG_TESETDRAMWALK n
|
||||
|
||||
/* --------------------------------------------------------------------------------------------------------------- */
|
||||
|
||||
#define CONFIG_LOADS_ECHO 0 /* echo off for serial download */
|
||||
#define CONFIG_SYS_LOADS_BAUD_CHANGE /* allow baudrate changes */
|
||||
|
||||
#undef CONFIG_WATCHDOG /* watchdog disabled */
|
||||
#undef CONFIG_ALTIVEC /* undef to disable */
|
||||
|
||||
/*
|
||||
* BOOTP options
|
||||
*/
|
||||
#define CONFIG_BOOTP_SUBNETMASK
|
||||
#define CONFIG_BOOTP_GATEWAY
|
||||
#define CONFIG_BOOTP_HOSTNAME
|
||||
#define CONFIG_BOOTP_BOOTPATH
|
||||
#define CONFIG_BOOTP_BOOTFILESIZE
|
||||
|
||||
|
||||
/*
|
||||
* JFFS2 partitions
|
||||
*
|
||||
*/
|
||||
/* No command line, one static partition, whole device */
|
||||
#undef CONFIG_CMD_MTDPARTS
|
||||
#define CONFIG_JFFS2_DEV "nor1"
|
||||
#define CONFIG_JFFS2_PART_SIZE 0xFFFFFFFF
|
||||
#define CONFIG_JFFS2_PART_OFFSET 0x00000000
|
||||
|
||||
/* mtdparts command line support */
|
||||
|
||||
/* Use first bank for JFFS2, second bank contains U-Boot.
|
||||
*
|
||||
* Note: fake mtd_id's used, no linux mtd map file.
|
||||
*/
|
||||
/*
|
||||
#define CONFIG_CMD_MTDPARTS
|
||||
#define MTDIDS_DEFAULT "nor1=db64460-1"
|
||||
#define MTDPARTS_DEFAULT "mtdparts=db64460-1:-(jffs2)"
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
* Command line configuration.
|
||||
*/
|
||||
#include <config_cmd_default.h>
|
||||
|
||||
#define CONFIG_CMD_ASKENV
|
||||
#define CONFIG_CMD_I2C
|
||||
#define CONFIG_CMD_EEPROM
|
||||
#define CONFIG_CMD_CACHE
|
||||
#define CONFIG_CMD_JFFS2
|
||||
#define CONFIG_CMD_PCI
|
||||
#define CONFIG_CMD_NET
|
||||
|
||||
|
||||
/*
|
||||
* Miscellaneous configurable options
|
||||
*/
|
||||
#define CONFIG_SYS_I2C_EEPROM_ADDR_LEN 1
|
||||
#define CONFIG_SYS_I2C_MULTI_EEPROMS
|
||||
#define CONFIG_SYS_I2C_SPEED 40000 /* I2C speed default */
|
||||
|
||||
/* #define CONFIG_SYS_GT_DUAL_CPU also for JTAG even with one cpu */
|
||||
#define CONFIG_SYS_LONGHELP /* undef to save memory */
|
||||
#define CONFIG_SYS_PROMPT "=> " /* Monitor Command Prompt */
|
||||
#if defined(CONFIG_CMD_KGDB)
|
||||
#define CONFIG_SYS_CBSIZE 1024 /* Console I/O Buffer Size */
|
||||
#else
|
||||
#define CONFIG_SYS_CBSIZE 256 /* Console I/O Buffer Size */
|
||||
#endif
|
||||
#define CONFIG_SYS_PBSIZE (CONFIG_SYS_CBSIZE+sizeof(CONFIG_SYS_PROMPT)+16) /* Print Buffer Size */
|
||||
#define CONFIG_SYS_MAXARGS 16 /* max number of command args */
|
||||
#define CONFIG_SYS_BARGSIZE CONFIG_SYS_CBSIZE /* Boot Argument Buffer Size */
|
||||
|
||||
/*#define CONFIG_SYS_MEMTEST_START 0x00400000 memtest works on */
|
||||
/*#define CONFIG_SYS_MEMTEST_END 0x00C00000 4 ... 12 MB in DRAM */
|
||||
/*#define CONFIG_SYS_MEMTEST_END 0x07c00000 4 ... 124 MB in DRAM */
|
||||
|
||||
/*
|
||||
#define CONFIG_SYS_DRAM_TEST
|
||||
* DRAM tests
|
||||
* CONFIG_SYS_DRAM_TEST - enables the following tests.
|
||||
*
|
||||
* CONFIG_SYS_DRAM_TEST_DATA - Enables test for shorted or open data lines
|
||||
* Environment variable 'test_dram_data' must be
|
||||
* set to 'y'.
|
||||
* CONFIG_SYS_DRAM_TEST_DATA - Enables test to verify that each word is uniquely
|
||||
* addressable. Environment variable
|
||||
* 'test_dram_address' must be set to 'y'.
|
||||
* CONFIG_SYS_DRAM_TEST_WALK - Enables test a 64-bit walking ones pattern test.
|
||||
* This test takes about 6 minutes to test 64 MB.
|
||||
* Environment variable 'test_dram_walk' must be
|
||||
* set to 'y'.
|
||||
*/
|
||||
#define CONFIG_SYS_DRAM_TEST
|
||||
#if defined(CONFIG_SYS_DRAM_TEST)
|
||||
#define CONFIG_SYS_MEMTEST_START 0x00400000 /* memtest works on */
|
||||
/* #define CONFIG_SYS_MEMTEST_END 0x00C00000 4 ... 12 MB in DRAM */
|
||||
#define CONFIG_SYS_MEMTEST_END 0x07c00000 /* 4 ... 124 MB in DRAM */
|
||||
#define CONFIG_SYS_DRAM_TEST_DATA
|
||||
#define CONFIG_SYS_DRAM_TEST_ADDRESS
|
||||
#define CONFIG_SYS_DRAM_TEST_WALK
|
||||
#endif /* CONFIG_SYS_DRAM_TEST */
|
||||
|
||||
#undef CONFIG_DISPLAY_MEMMAP /* at the end of the bootprocess show the memory map */
|
||||
#undef CONFIG_SYS_DISPLAY_DIMM_SPD_CONTENT /* show SPD content during boot */
|
||||
|
||||
#define CONFIG_SYS_LOAD_ADDR 0x00400000 /* default load address */
|
||||
|
||||
#define CONFIG_SYS_HZ 1000 /* decr freq: 1ms ticks */
|
||||
/*ronen - this the Sys clock (cpu bus,internal dram and SDRAM) */
|
||||
#define CONFIG_SYS_BUS_CLK 133000000 /* 133 MHz (CPU = 5*Bus = 666MHz) */
|
||||
|
||||
#define CONFIG_SYS_DDR_SDRAM_CYCLE_COUNT_LOP 7 /* define the SDRAM cycle count */
|
||||
#define CONFIG_SYS_DDR_SDRAM_CYCLE_COUNT_ROP 50 /* for 200MHZ -> 5.0 ns, 166MHZ -> 6.0, 133MHZ -> 7.50 ns */
|
||||
|
||||
/*ronen - this is the Tclk (MV64460 core) */
|
||||
#define CONFIG_SYS_TCLK 133000000
|
||||
|
||||
|
||||
#define CONFIG_SYS_BAUDRATE_TABLE { 9600, 19200, 38400, 57600, 115200, 230400 }
|
||||
|
||||
#define CONFIG_SYS_750FX_HID0 0x8000c084
|
||||
#define CONFIG_SYS_750FX_HID1 0x54800000
|
||||
#define CONFIG_SYS_750FX_HID2 0x00000000
|
||||
|
||||
/*
|
||||
* Low Level Configuration Settings
|
||||
* (address mappings, register initial values, etc.)
|
||||
* You should know what you are doing if you make changes here.
|
||||
*/
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* Definitions for initial stack pointer and data area
|
||||
*/
|
||||
|
||||
/*
|
||||
* When locking data in cache you should point the CONFIG_SYS_INIT_RAM_ADDRESS
|
||||
* To an unused memory region. The stack will remain in cache until RAM
|
||||
* is initialized
|
||||
*/
|
||||
#define CONFIG_SYS_INIT_RAM_LOCK
|
||||
#define CONFIG_SYS_INIT_RAM_ADDR 0x40000000 /* unused memory region */
|
||||
#define CONFIG_SYS_INIT_RAM_SIZE 0x1000
|
||||
#define CONFIG_SYS_GBL_DATA_OFFSET (CONFIG_SYS_INIT_RAM_SIZE - GENERATED_GBL_DATA_SIZE)
|
||||
|
||||
#define RELOCATE_INTERNAL_RAM_ADDR
|
||||
#ifdef RELOCATE_INTERNAL_RAM_ADDR
|
||||
#define CONFIG_SYS_INTERNAL_RAM_ADDR 0xf8000000
|
||||
#endif
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* Start addresses for the final memory configuration
|
||||
* (Set up by the startup code)
|
||||
* Please note that CONFIG_SYS_SDRAM_BASE _must_ start at 0
|
||||
*/
|
||||
#define CONFIG_SYS_SDRAM_BASE 0x00000000
|
||||
/* Dummies for BAT 4-7 */
|
||||
#define CONFIG_SYS_SDRAM1_BASE 0x10000000 /* each 256 MByte */
|
||||
#define CONFIG_SYS_SDRAM2_BASE 0x20000000
|
||||
#define CONFIG_SYS_SDRAM3_BASE 0x30000000
|
||||
#define CONFIG_SYS_SDRAM4_BASE 0x40000000
|
||||
#define CONFIG_SYS_FLASH_BASE 0xfff00000
|
||||
|
||||
#define CONFIG_SYS_DFL_BOOTCS_BASE 0xff800000
|
||||
#define CONFIG_VERY_BIG_RAM /* we will use up to 256M memory for cause we are short of BATS*/
|
||||
|
||||
#define BRIDGE_REG_BASE_BOOTM 0xfbe00000 /* this paramaters are used when booting the linux kernel */
|
||||
#define UART_BASE_BOOTM 0xfbb00000 /* in order to be sync with the kernel parameters. */
|
||||
#define PCI0_IO_BASE_BOOTM 0xfd000000
|
||||
|
||||
#define CONFIG_SYS_RESET_ADDRESS 0xfff00100
|
||||
#define CONFIG_SYS_MONITOR_LEN (256 << 10) /* Reserve 256 kB for Monitor */
|
||||
#define CONFIG_SYS_MONITOR_BASE CONFIG_SYS_FLASH_BASE
|
||||
#define CONFIG_SYS_MALLOC_LEN (256 << 10) /* Reserve 256 kB for malloc */
|
||||
|
||||
/* areas to map different things with the GT in physical space */
|
||||
#define CONFIG_SYS_DRAM_BANKS 4
|
||||
|
||||
/* What to put in the bats. */
|
||||
#define CONFIG_SYS_MISC_REGION_BASE 0xf0000000
|
||||
|
||||
/* Peripheral Device section */
|
||||
|
||||
/*******************************************************/
|
||||
/* We have on the db64460 Board : */
|
||||
/* GT-Chipset Register Area */
|
||||
/* GT-Chipset internal SRAM 256k */
|
||||
/* SRAM on external device module */
|
||||
/* Real time clock on external device module */
|
||||
/* dobble UART on external device module */
|
||||
/* Data flash on external device module */
|
||||
/* Boot flash on external device module */
|
||||
/*******************************************************/
|
||||
#define CONFIG_SYS_DFL_GT_REGS 0x14000000 /* boot time GT_REGS */
|
||||
#define CONFIG_SYS_DB64460_RESET_ADDR 0x14000000 /* After power on Reset the DB64460 is here */
|
||||
|
||||
/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
|
||||
#define CONFIG_SYS_GT_REGS 0xf1000000 /* GT Registers will be mapped here */
|
||||
#define CONFIG_SYS_DEV_BASE 0xfc000000 /* GT Devices CS start here */
|
||||
|
||||
#define CONFIG_SYS_DEV0_SPACE CONFIG_SYS_DEV_BASE /* DEV_CS0 device modul sram */
|
||||
#define CONFIG_SYS_DEV1_SPACE (CONFIG_SYS_DEV0_SPACE + CONFIG_SYS_DEV0_SIZE) /* DEV_CS1 device modul real time clock (rtc) */
|
||||
#define CONFIG_SYS_DEV2_SPACE (CONFIG_SYS_DEV1_SPACE + CONFIG_SYS_DEV1_SIZE) /* DEV_CS2 device modul doubel uart (duart) */
|
||||
#define CONFIG_SYS_DEV3_SPACE (CONFIG_SYS_DEV2_SPACE + CONFIG_SYS_DEV2_SIZE) /* DEV_CS3 device modul large flash */
|
||||
|
||||
#define CONFIG_SYS_DEV0_SIZE _8M /* db64460 sram @ 0xfc00.0000 */
|
||||
#define CONFIG_SYS_DEV1_SIZE _8M /* db64460 rtc @ 0xfc80.0000 */
|
||||
#define CONFIG_SYS_DEV2_SIZE _16M /* db64460 duart @ 0xfd00.0000 */
|
||||
#define CONFIG_SYS_DEV3_SIZE _16M /* db64460 flash @ 0xfe00.0000 */
|
||||
/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
|
||||
|
||||
/* Reset values for Port behavior (8bit/ 32bit, etc.) only corrected by device width */
|
||||
#define CONFIG_SYS_DEV0_PAR 0x8FEFFFFF /* 32Bit sram */
|
||||
#define CONFIG_SYS_DEV1_PAR 0x8FCFFFFF /* 8Bit rtc */
|
||||
#define CONFIG_SYS_DEV2_PAR 0x8FCFFFFF /* 8Bit duart */
|
||||
#define CONFIG_SYS_8BIT_BOOT_PAR 0x8FCFFFFF /* 8Bit flash */
|
||||
#define CONFIG_SYS_32BIT_BOOT_PAR 0x8FEFFFFF /* 32Bit flash */
|
||||
|
||||
/* c 4 a 8 2 4 1 c */
|
||||
/* 33 22|2222|22 22|111 1|11 11|1 1 | | */
|
||||
/* 10 98|7654|32 10|987 6|54 32|1 098|7 654|3 210 */
|
||||
/* 11|00|0100|10 10|100|0 00|10 0|100 0|001 1|100 */
|
||||
/* 3| 0|.... ..| 2| 4 | 0 | 4 | 8 | 3 | 4 */
|
||||
|
||||
|
||||
/* ronen - update MPP Control MV64460*/
|
||||
#define CONFIG_SYS_MPP_CONTROL_0 0x02222222
|
||||
#define CONFIG_SYS_MPP_CONTROL_1 0x11333011
|
||||
#define CONFIG_SYS_MPP_CONTROL_2 0x40431111
|
||||
#define CONFIG_SYS_MPP_CONTROL_3 0x00000044
|
||||
|
||||
/*# define CONFIG_SYS_SERIAL_PORT_MUX 0x00000102 0=hiZ 1=MPSC0 2=ETH 0 and 2 RMII */
|
||||
|
||||
|
||||
# define CONFIG_SYS_GPP_LEVEL_CONTROL 0x2c600000 /* 1111 1001 0000 1111 1100 0000 0000 0000*/
|
||||
/* gpp[31] gpp[30] gpp[29] gpp[28] */
|
||||
/* gpp[27] gpp[24]*/
|
||||
/* gpp[19:14] */
|
||||
|
||||
/* setup new config_value for MV64460 DDR-RAM !! */
|
||||
# define CONFIG_SYS_SDRAM_CONFIG 0x58200400 /* 0x1400 copied from Dink32 bzw. VxWorks*/
|
||||
|
||||
#define CONFIG_SYS_DUART_IO CONFIG_SYS_DEV2_SPACE
|
||||
#define CONFIG_SYS_DUART_CHAN 1 /* channel to use for console */
|
||||
#define CONFIG_SYS_INIT_CHAN1
|
||||
#define CONFIG_SYS_INIT_CHAN2
|
||||
|
||||
#define SRAM_BASE CONFIG_SYS_DEV0_SPACE
|
||||
#define SRAM_SIZE 0x00100000 /* 1 MB of sram */
|
||||
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* PCI stuff
|
||||
*-----------------------------------------------------------------------
|
||||
*/
|
||||
|
||||
#define PCI_HOST_ADAPTER 0 /* configure ar pci adapter */
|
||||
#define PCI_HOST_FORCE 1 /* configure as pci host */
|
||||
#define PCI_HOST_AUTO 2 /* detected via arbiter enable */
|
||||
|
||||
#define CONFIG_PCI /* include pci support */
|
||||
#define CONFIG_PCI_HOST PCI_HOST_FORCE /* select pci host function */
|
||||
#define CONFIG_PCI_PNP /* do pci plug-and-play */
|
||||
#define CONFIG_EEPRO100 /* ronen - Support for Intel 82557/82559/82559ER chips */
|
||||
|
||||
/* PCI MEMORY MAP section */
|
||||
#define CONFIG_SYS_PCI0_MEM_BASE 0x80000000
|
||||
#define CONFIG_SYS_PCI0_MEM_SIZE _128M
|
||||
#define CONFIG_SYS_PCI1_MEM_BASE 0x88000000
|
||||
#define CONFIG_SYS_PCI1_MEM_SIZE _128M
|
||||
|
||||
#define CONFIG_SYS_PCI0_0_MEM_SPACE (CONFIG_SYS_PCI0_MEM_BASE)
|
||||
#define CONFIG_SYS_PCI1_0_MEM_SPACE (CONFIG_SYS_PCI1_MEM_BASE)
|
||||
|
||||
/* PCI I/O MAP section */
|
||||
#define CONFIG_SYS_PCI0_IO_BASE 0xfa000000
|
||||
#define CONFIG_SYS_PCI0_IO_SIZE _16M
|
||||
#define CONFIG_SYS_PCI1_IO_BASE 0xfb000000
|
||||
#define CONFIG_SYS_PCI1_IO_SIZE _16M
|
||||
|
||||
#define CONFIG_SYS_PCI0_IO_SPACE (CONFIG_SYS_PCI0_IO_BASE)
|
||||
#define CONFIG_SYS_PCI0_IO_SPACE_PCI (CONFIG_SYS_PCI0_IO_BASE) /* ronen we want phy=bus 0x00000000 */
|
||||
#define CONFIG_SYS_PCI1_IO_SPACE (CONFIG_SYS_PCI1_IO_BASE)
|
||||
#define CONFIG_SYS_PCI1_IO_SPACE_PCI (CONFIG_SYS_PCI1_IO_BASE) /* ronen we want phy=bus 0x00000000 */
|
||||
|
||||
#if defined (CONFIG_750CX)
|
||||
#define CONFIG_SYS_PCI_IDSEL 0x0
|
||||
#else
|
||||
#define CONFIG_SYS_PCI_IDSEL 0x30
|
||||
#endif
|
||||
/*----------------------------------------------------------------------
|
||||
* Initial BAT mappings
|
||||
*/
|
||||
|
||||
/* NOTES:
|
||||
* 1) GUARDED and WRITE_THRU not allowed in IBATS
|
||||
* 2) CACHEINHIBIT and WRITETHROUGH not allowed together in same BAT
|
||||
*/
|
||||
|
||||
/* SDRAM */
|
||||
#define CONFIG_SYS_IBAT0L (CONFIG_SYS_SDRAM_BASE | BATL_PP_RW | BATL_CACHEINHIBIT)
|
||||
#define CONFIG_SYS_IBAT0U (CONFIG_SYS_SDRAM_BASE | BATU_BL_256M | BATU_VS | BATU_VP)
|
||||
#define CONFIG_SYS_DBAT0L (CONFIG_SYS_SDRAM_BASE | BATL_PP_RW | BATL_CACHEINHIBIT | BATL_GUARDEDSTORAGE)
|
||||
#define CONFIG_SYS_DBAT0U CONFIG_SYS_IBAT0U
|
||||
|
||||
/* init ram */
|
||||
#define CONFIG_SYS_IBAT1L (CONFIG_SYS_INIT_RAM_ADDR | BATL_PP_RW | BATL_MEMCOHERENCE)
|
||||
#define CONFIG_SYS_IBAT1U (CONFIG_SYS_INIT_RAM_ADDR | BATU_BL_256K | BATU_VS | BATU_VP)
|
||||
#define CONFIG_SYS_DBAT1L CONFIG_SYS_IBAT1L
|
||||
#define CONFIG_SYS_DBAT1U CONFIG_SYS_IBAT1U
|
||||
|
||||
/* PCI0, PCI1 in one BAT */
|
||||
#define CONFIG_SYS_IBAT2L BATL_NO_ACCESS
|
||||
#define CONFIG_SYS_IBAT2U CONFIG_SYS_DBAT2U
|
||||
#define CONFIG_SYS_DBAT2L (CONFIG_SYS_PCI0_MEM_BASE | BATL_CACHEINHIBIT | BATL_PP_RW | BATL_GUARDEDSTORAGE)
|
||||
#define CONFIG_SYS_DBAT2U (CONFIG_SYS_PCI0_MEM_BASE | BATU_BL_256M | BATU_VS | BATU_VP)
|
||||
|
||||
/* GT regs, bootrom, all the devices, PCI I/O */
|
||||
#define CONFIG_SYS_IBAT3L (CONFIG_SYS_MISC_REGION_BASE | BATL_CACHEINHIBIT | BATL_PP_RW)
|
||||
#define CONFIG_SYS_IBAT3U (CONFIG_SYS_MISC_REGION_BASE | BATU_VS | BATU_VP | BATU_BL_256M)
|
||||
#define CONFIG_SYS_DBAT3L (CONFIG_SYS_MISC_REGION_BASE | BATL_CACHEINHIBIT | BATL_PP_RW | BATL_GUARDEDSTORAGE)
|
||||
#define CONFIG_SYS_DBAT3U CONFIG_SYS_IBAT3U
|
||||
|
||||
/* I2C addresses for the two DIMM SPD chips */
|
||||
#define DIMM0_I2C_ADDR 0x56
|
||||
#define DIMM1_I2C_ADDR 0x54
|
||||
|
||||
/*
|
||||
* For booting Linux, the board info and command line data
|
||||
* have to be in the first 8 MB of memory, since this is
|
||||
* the maximum mapped by the Linux kernel during initialization.
|
||||
*/
|
||||
#define CONFIG_SYS_BOOTMAPSZ (8<<20) /* Initial Memory map for Linux */
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* FLASH organization
|
||||
*/
|
||||
#define CONFIG_SYS_MAX_FLASH_BANKS 2 /* max number of memory banks */
|
||||
#define CONFIG_SYS_MAX_FLASH_SECT 67 /* max number of sectors on one chip */
|
||||
|
||||
#define CONFIG_SYS_EXTRA_FLASH_DEVICE DEVICE3 /* extra flash at device 3 */
|
||||
#define CONFIG_SYS_EXTRA_FLASH_WIDTH 4 /* 32 bit */
|
||||
#define CONFIG_SYS_BOOT_FLASH_WIDTH 1 /* 8 bit */
|
||||
|
||||
#define CONFIG_SYS_FLASH_ERASE_TOUT 120000 /* Timeout for Flash Erase (in ms) */
|
||||
#define CONFIG_SYS_FLASH_WRITE_TOUT 500 /* Timeout for Flash Write (in ms) */
|
||||
#define CONFIG_SYS_FLASH_LOCK_TOUT 500 /* Timeout for Flash Lock (in ms) */
|
||||
#define CONFIG_SYS_FLASH_CFI 1
|
||||
|
||||
#define CONFIG_ENV_IS_IN_FLASH 1
|
||||
#define CONFIG_ENV_SIZE 0x1000 /* Total Size of Environment Sector */
|
||||
#define CONFIG_ENV_SECT_SIZE 0x10000
|
||||
#define CONFIG_ENV_ADDR 0xFFF78000 /* Marvell 8-Bit Bootflash last sector */
|
||||
/* #define CONFIG_ENV_ADDR (CONFIG_SYS_FLASH_BASE+CONFIG_SYS_MONITOR_LEN-CONFIG_ENV_SECT_SIZE) */
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* Cache Configuration
|
||||
*/
|
||||
#define CONFIG_SYS_CACHELINE_SIZE 32 /* For all MPC74xx CPUs */
|
||||
#if defined(CONFIG_CMD_KGDB)
|
||||
#define CONFIG_SYS_CACHELINE_SHIFT 5 /* log base 2 of the above value */
|
||||
#endif
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* L2CR setup -- make sure this is right for your board!
|
||||
* look in include/mpc74xx.h for the defines used here
|
||||
*/
|
||||
|
||||
#define CONFIG_SYS_L2
|
||||
|
||||
|
||||
#if defined (CONFIG_750CX) || defined (CONFIG_750FX)
|
||||
#define L2_INIT 0
|
||||
#else
|
||||
|
||||
#define L2_INIT 0
|
||||
/*
|
||||
#define L2_INIT (L2CR_L2SIZ_2M | L2CR_L2CLK_3 | L2CR_L2RAM_BURST | \
|
||||
L2CR_L2OH_5 | L2CR_L2CTL | L2CR_L2WT)
|
||||
*/
|
||||
#endif
|
||||
|
||||
#define L2_ENABLE (L2_INIT | L2CR_L2E)
|
||||
|
||||
#define CONFIG_SYS_BOARD_ASM_INIT 1
|
||||
|
||||
#endif /* __CONFIG_H */
|
||||
|
|
@ -0,0 +1,265 @@
|
|||
/*
|
||||
* (C) Copyright 2001-2003
|
||||
* Stefan Roese, esd gmbh germany, stefan.roese@esd-electronics.com
|
||||
*
|
||||
* See file CREDITS for list of people who contributed to this
|
||||
* project.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of
|
||||
* the License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston,
|
||||
* MA 02111-1307 USA
|
||||
*/
|
||||
|
||||
/*
|
||||
* board/config.h - configuration options, board specific
|
||||
*/
|
||||
|
||||
#ifndef __CONFIG_H
|
||||
#define __CONFIG_H
|
||||
|
||||
/*
|
||||
* High Level Configuration Options
|
||||
* (easy to change)
|
||||
*/
|
||||
|
||||
#define CONFIG_405EP 1 /* This is a PPC405 CPU */
|
||||
#define CONFIG_4xx 1 /* ...member of PPC4xx family */
|
||||
#define CONFIG_DP405 1 /* ...on a DP405 board */
|
||||
|
||||
#define CONFIG_SYS_TEXT_BASE 0xFFFD0000
|
||||
|
||||
#define CONFIG_BOARD_EARLY_INIT_F 1 /* call board_early_init_f() */
|
||||
#define CONFIG_MISC_INIT_R 1 /* call misc_init_r() */
|
||||
|
||||
#define CONFIG_SYS_CLK_FREQ 33333300 /* external frequency to pll */
|
||||
|
||||
#define CONFIG_BAUDRATE 9600
|
||||
#define CONFIG_BOOTDELAY 3 /* autoboot after 3 seconds */
|
||||
|
||||
#undef CONFIG_BOOTARGS
|
||||
#undef CONFIG_BOOTCOMMAND
|
||||
|
||||
#define CONFIG_PREBOOT /* enable preboot variable */
|
||||
|
||||
#define CONFIG_SYS_LOADS_BAUD_CHANGE 1 /* allow baudrate change */
|
||||
|
||||
/*
|
||||
* Command line configuration.
|
||||
*/
|
||||
#include <config_cmd_default.h>
|
||||
|
||||
#define CONFIG_CMD_BSP
|
||||
#define CONFIG_CMD_ELF
|
||||
#define CONFIG_CMD_I2C
|
||||
#define CONFIG_CMD_EEPROM
|
||||
|
||||
#undef CONFIG_CMD_NET
|
||||
#undef CONFIG_CMD_NFS
|
||||
|
||||
#undef CONFIG_WATCHDOG /* watchdog disabled */
|
||||
|
||||
#define CONFIG_SDRAM_BANK0 1 /* init onboard SDRAM bank 0 */
|
||||
|
||||
#define CONFIG_PRAM 2 /* reserve 2 kB "protected RAM" */
|
||||
|
||||
/*
|
||||
* Miscellaneous configurable options
|
||||
*/
|
||||
#define CONFIG_SYS_LONGHELP /* undef to save memory */
|
||||
#define CONFIG_SYS_PROMPT "=> " /* Monitor Command Prompt */
|
||||
|
||||
#undef CONFIG_SYS_HUSH_PARSER /* use "hush" command parser */
|
||||
|
||||
#if defined(CONFIG_CMD_KGDB)
|
||||
#define CONFIG_SYS_CBSIZE 1024 /* Console I/O Buffer Size */
|
||||
#else
|
||||
#define CONFIG_SYS_CBSIZE 256 /* Console I/O Buffer Size */
|
||||
#endif
|
||||
#define CONFIG_SYS_PBSIZE (CONFIG_SYS_CBSIZE+sizeof(CONFIG_SYS_PROMPT)+16) /* Print Buffer Size */
|
||||
#define CONFIG_SYS_MAXARGS 16 /* max number of command args */
|
||||
#define CONFIG_SYS_BARGSIZE CONFIG_SYS_CBSIZE /* Boot Argument Buffer Size */
|
||||
|
||||
#define CONFIG_SYS_DEVICE_NULLDEV 1 /* include nulldev device */
|
||||
|
||||
#define CONFIG_SYS_CONSOLE_INFO_QUIET 1 /* don't print console @ startup*/
|
||||
|
||||
#define CONFIG_SYS_MEMTEST_START 0x0400000 /* memtest works on */
|
||||
#define CONFIG_SYS_MEMTEST_END 0x0C00000 /* 4 ... 12 MB in DRAM */
|
||||
|
||||
#define CONFIG_CONS_INDEX 1 /* Use UART0 */
|
||||
#define CONFIG_SYS_NS16550
|
||||
#define CONFIG_SYS_NS16550_SERIAL
|
||||
#define CONFIG_SYS_NS16550_REG_SIZE 1
|
||||
#define CONFIG_SYS_NS16550_CLK get_serial_clock()
|
||||
|
||||
#undef CONFIG_SYS_EXT_SERIAL_CLOCK /* no external serial clock used */
|
||||
#define CONFIG_SYS_BASE_BAUD 691200
|
||||
|
||||
/* The following table includes the supported baudrates */
|
||||
#define CONFIG_SYS_BAUDRATE_TABLE \
|
||||
{ 300, 600, 1200, 2400, 4800, 9600, 19200, 38400, \
|
||||
57600, 115200, 230400, 460800, 921600 }
|
||||
|
||||
#define CONFIG_SYS_LOAD_ADDR 0x100000 /* default load address */
|
||||
#define CONFIG_SYS_EXTBDINFO 1 /* To use extended board_into (bd_t) */
|
||||
|
||||
#define CONFIG_SYS_HZ 1000 /* decrementer freq: 1 ms ticks */
|
||||
|
||||
#define CONFIG_ZERO_BOOTDELAY_CHECK /* check for keypress on bootdelay==0 */
|
||||
|
||||
#define CONFIG_VERSION_VARIABLE 1 /* include version env variable */
|
||||
|
||||
/*
|
||||
* For booting Linux, the board info and command line data
|
||||
* have to be in the first 8 MB of memory, since this is
|
||||
* the maximum mapped by the Linux kernel during initialization.
|
||||
*/
|
||||
#define CONFIG_SYS_BOOTMAPSZ (8 << 20) /* Initial Memory map for Linux */
|
||||
/*-----------------------------------------------------------------------
|
||||
* FLASH organization
|
||||
*/
|
||||
#define FLASH_BASE0_PRELIM 0xFFC00000 /* FLASH bank #0 */
|
||||
|
||||
#define CONFIG_SYS_MAX_FLASH_BANKS 1 /* max number of memory banks */
|
||||
#define CONFIG_SYS_MAX_FLASH_SECT 256 /* max number of sectors on one chip */
|
||||
|
||||
#define CONFIG_SYS_FLASH_ERASE_TOUT 120000 /* Timeout for Flash Erase (in ms) */
|
||||
#define CONFIG_SYS_FLASH_WRITE_TOUT 1000 /* Timeout for Flash Write (in ms) */
|
||||
|
||||
#define CONFIG_SYS_FLASH_WORD_SIZE unsigned short /* flash word size (width) */
|
||||
#define CONFIG_SYS_FLASH_ADDR0 0x5555 /* 1st address for flash config cycles */
|
||||
#define CONFIG_SYS_FLASH_ADDR1 0x2AAA /* 2nd address for flash config cycles */
|
||||
/*
|
||||
* The following defines are added for buggy IOP480 byte interface.
|
||||
* All other boards should use the standard values (CPCI405 etc.)
|
||||
*/
|
||||
#define CONFIG_SYS_FLASH_READ0 0x0000 /* 0 is standard */
|
||||
#define CONFIG_SYS_FLASH_READ1 0x0001 /* 1 is standard */
|
||||
#define CONFIG_SYS_FLASH_READ2 0x0002 /* 2 is standard */
|
||||
|
||||
#define CONFIG_SYS_FLASH_EMPTY_INFO /* print 'E' for empty sector on flinfo */
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* Start addresses for the final memory configuration
|
||||
* (Set up by the startup code)
|
||||
* Please note that CONFIG_SYS_SDRAM_BASE _must_ start at 0
|
||||
*/
|
||||
#define CONFIG_SYS_SDRAM_BASE 0x00000000
|
||||
#define CONFIG_SYS_FLASH_BASE CONFIG_SYS_MONITOR_BASE
|
||||
#define CONFIG_SYS_MONITOR_BASE CONFIG_SYS_TEXT_BASE
|
||||
#define CONFIG_SYS_MONITOR_LEN (~(CONFIG_SYS_TEXT_BASE) + 1)
|
||||
#define CONFIG_SYS_MALLOC_LEN (256 * 1024)
|
||||
|
||||
#if (CONFIG_SYS_MONITOR_BASE < FLASH_BASE0_PRELIM)
|
||||
# define CONFIG_SYS_RAMBOOT 1
|
||||
#else
|
||||
# undef CONFIG_SYS_RAMBOOT
|
||||
#endif
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* Environment Variable setup
|
||||
*/
|
||||
#define CONFIG_ENV_IS_IN_EEPROM 1 /* use EEPROM for environment vars */
|
||||
#define CONFIG_ENV_OFFSET 0x100 /* environment starts at the beginning of the EEPROM */
|
||||
#define CONFIG_ENV_SIZE 0x700 /* 2048 bytes may be used for env vars*/
|
||||
/* total size of a CAT24WC16 is 2048 bytes */
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* I2C EEPROM (CAT24WC16) for environment
|
||||
*/
|
||||
#define CONFIG_HARD_I2C /* I2c with hardware support */
|
||||
#define CONFIG_PPC4XX_I2C /* use PPC4xx driver */
|
||||
#define CONFIG_SYS_I2C_SPEED 400000 /* I2C speed and slave address */
|
||||
#define CONFIG_SYS_I2C_SLAVE 0x7F
|
||||
|
||||
#define CONFIG_SYS_I2C_EEPROM_ADDR 0x50 /* EEPROM CAT28WC08 */
|
||||
#define CONFIG_SYS_I2C_EEPROM_ADDR_LEN 1 /* Bytes of address */
|
||||
/* mask of address bits that overflow into the "EEPROM chip address" */
|
||||
#define CONFIG_SYS_I2C_EEPROM_ADDR_OVERFLOW 0x07
|
||||
#define CONFIG_SYS_EEPROM_PAGE_WRITE_BITS 4 /* The Catalyst CAT24WC08 has */
|
||||
/* 16 byte page write mode using*/
|
||||
/* last 4 bits of the address */
|
||||
#define CONFIG_SYS_EEPROM_PAGE_WRITE_DELAY_MS 10 /* and takes up to 10 msec */
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* External Bus Controller (EBC) Setup
|
||||
*/
|
||||
|
||||
#define CAN_BA 0xF0000000 /* CAN Base Address */
|
||||
|
||||
/* Memory Bank 0 (Flash Bank 0, NOR-FLASH) initialization */
|
||||
#define CONFIG_SYS_EBC_PB0AP 0x92015480
|
||||
#define CONFIG_SYS_EBC_PB0CR 0xFFC5A000 /* BAS=0xFFC,BS=4MB,BU=R/W,BW=16bit */
|
||||
|
||||
/* Memory Bank 2 (8 Bit Peripheral: CAN, UART, RTC) initialization */
|
||||
#define CONFIG_SYS_EBC_PB2AP 0x010053C0 /* BWT=2,WBN=1,WBF=1,TH=1,RE=1,SOR=1,BEM=1 */
|
||||
#define CONFIG_SYS_EBC_PB2CR 0xF0018000 /* BAS=0xF00,BS=1MB,BU=R/W,BW=8bit */
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* FPGA stuff
|
||||
*/
|
||||
/* FPGA program pin configuration */
|
||||
#define CONFIG_SYS_FPGA_PRG 0x04000000 /* JTAG TMS pin (ppc output) */
|
||||
#define CONFIG_SYS_FPGA_CLK 0x02000000 /* JTAG TCK pin (ppc output) */
|
||||
#define CONFIG_SYS_FPGA_DATA 0x01000000 /* JTAG TDO->TDI data pin (ppc output) */
|
||||
#define CONFIG_SYS_FPGA_INIT 0x00010000 /* unused (ppc input) */
|
||||
#define CONFIG_SYS_FPGA_DONE 0x00008000 /* JTAG TDI->TDO pin (ppc input) */
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* Definitions for initial stack pointer and data area (in data cache)
|
||||
*/
|
||||
/* use on chip memory ( OCM ) for temperary stack until sdram is tested */
|
||||
#define CONFIG_SYS_TEMP_STACK_OCM 1
|
||||
|
||||
/* On Chip Memory location */
|
||||
#define CONFIG_SYS_OCM_DATA_ADDR 0xF8000000
|
||||
#define CONFIG_SYS_OCM_DATA_SIZE 0x1000
|
||||
#define CONFIG_SYS_INIT_RAM_ADDR CONFIG_SYS_OCM_DATA_ADDR /* inside of SDRAM */
|
||||
#define CONFIG_SYS_INIT_RAM_SIZE CONFIG_SYS_OCM_DATA_SIZE /* Size of used area in RAM */
|
||||
|
||||
#define CONFIG_SYS_GBL_DATA_OFFSET (CONFIG_SYS_INIT_RAM_SIZE - GENERATED_GBL_DATA_SIZE)
|
||||
#define CONFIG_SYS_INIT_SP_OFFSET CONFIG_SYS_GBL_DATA_OFFSET
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* Definitions for GPIO setup (PPC405EP specific)
|
||||
*
|
||||
* GPIO0[0] - External Bus Controller BLAST output
|
||||
* GPIO0[1-9] - Instruction trace outputs -> GPIO
|
||||
* GPIO0[10-13] - External Bus Controller CS_1 - CS_4 outputs
|
||||
* GPIO0[14-16] - External Bus Controller ABUS3-ABUS5 outputs -> GPIO
|
||||
* GPIO0[17-23] - External Interrupts IRQ0 - IRQ6 inputs
|
||||
* GPIO0[24-27] - UART0 control signal inputs/outputs
|
||||
* GPIO0[28-29] - UART1 data signal input/output
|
||||
* GPIO0[30-31] - EMAC0 and EMAC1 reject packet inputs
|
||||
*/
|
||||
/* GPIO Input: OSR=00, ISR=00, TSR=00, TCR=0 */
|
||||
/* GPIO Output: OSR=00, ISR=00, TSR=00, TCR=1 */
|
||||
/* Alt. Funtion Input: OSR=00, ISR=01, TSR=00, TCR=0 */
|
||||
/* Alt. Funtion Output: OSR=01, ISR=00, TSR=00, TCR=1 */
|
||||
#define CONFIG_SYS_GPIO0_OSRL 0x40000540 /* 0 ... 15 */
|
||||
#define CONFIG_SYS_GPIO0_OSRH 0x00000110 /* 16 ... 31 */
|
||||
#define CONFIG_SYS_GPIO0_ISR1L 0x00000000 /* 0 ... 15 */
|
||||
#define CONFIG_SYS_GPIO0_ISR1H 0x14000045 /* 16 ... 31 */
|
||||
#define CONFIG_SYS_GPIO0_TSRL 0x00000000 /* 0 ... 15 */
|
||||
#define CONFIG_SYS_GPIO0_TSRH 0x00000000 /* 16 ... 31 */
|
||||
#define CONFIG_SYS_GPIO0_TCR 0xB7FE0014 /* 0 ... 31 */
|
||||
|
||||
/*
|
||||
* Default speed selection (cpu_plb_opb_ebc) in mhz.
|
||||
* This value will be set if iic boot eprom is disabled.
|
||||
*/
|
||||
#define PLLMR0_DEFAULT PLLMR0_133_66_66_33
|
||||
#define PLLMR1_DEFAULT PLLMR1_133_66_66_33
|
||||
|
||||
#endif /* __CONFIG_H */
|
||||
|
|
@ -0,0 +1,292 @@
|
|||
/*
|
||||
* (C) Copyright 2001
|
||||
* Stefan Roese, esd gmbh germany, stefan.roese@esd-electronics.com
|
||||
*
|
||||
* See file CREDITS for list of people who contributed to this
|
||||
* project.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of
|
||||
* the License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston,
|
||||
* MA 02111-1307 USA
|
||||
*/
|
||||
|
||||
/*
|
||||
* board/config.h - configuration options, board specific
|
||||
*/
|
||||
|
||||
#ifndef __CONFIG_H
|
||||
#define __CONFIG_H
|
||||
|
||||
/*
|
||||
* High Level Configuration Options
|
||||
* (easy to change)
|
||||
*/
|
||||
#define CONFIG_405GP 1 /* This is a PPC405 CPU */
|
||||
#define CONFIG_4xx 1 /* ...member of PPC4xx family */
|
||||
#define CONFIG_DU405 1 /* ...on a DU405 board */
|
||||
|
||||
#define CONFIG_SYS_TEXT_BASE 0xFFFD0000
|
||||
|
||||
#define CONFIG_BOARD_EARLY_INIT_F 1 /* call board_early_init_f() */
|
||||
#define CONFIG_MISC_INIT_R 1 /* call misc_init_r() */
|
||||
|
||||
#define CONFIG_SYS_CLK_FREQ 25000000 /* external frequency to pll */
|
||||
|
||||
#define CONFIG_BAUDRATE 9600
|
||||
#define CONFIG_BOOTDELAY 3 /* autoboot after 3 seconds */
|
||||
|
||||
#undef CONFIG_BOOTARGS
|
||||
#define CONFIG_BOOTCOMMAND "bootm fff00000"
|
||||
|
||||
#define CONFIG_LOADS_ECHO 1 /* echo on for serial download */
|
||||
#define CONFIG_SYS_LOADS_BAUD_CHANGE 1 /* allow baudrate change */
|
||||
|
||||
#define CONFIG_PPC4xx_EMAC
|
||||
#define CONFIG_MII 1 /* MII PHY management */
|
||||
#define CONFIG_PHY_ADDR 0 /* PHY address */
|
||||
#define CONFIG_LXT971_NO_SLEEP 1 /* disable sleep mode in LXT971 */
|
||||
#define CONFIG_RESET_PHY_R 1 /* use reset_phy() to disable phy sleep mode */
|
||||
#undef CONFIG_HAS_ETH1
|
||||
|
||||
/*
|
||||
* 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>
|
||||
|
||||
#undef CONFIG_CMD_NFS
|
||||
#undef CONFIG_CMD_EDITENV
|
||||
#undef CONFIG_CMD_IMLS
|
||||
#undef CONFIG_CMD_CONSOLE
|
||||
#undef CONFIG_CMD_LOADB
|
||||
#undef CONFIG_CMD_LOADS
|
||||
#define CONFIG_CMD_IDE
|
||||
#define CONFIG_CMD_ELF
|
||||
#define CONFIG_CMD_MII
|
||||
#define CONFIG_CMD_DATE
|
||||
#define CONFIG_CMD_EEPROM
|
||||
#define CONFIG_CMD_I2C
|
||||
|
||||
#define CONFIG_MAC_PARTITION
|
||||
#define CONFIG_DOS_PARTITION
|
||||
|
||||
#undef CONFIG_WATCHDOG /* watchdog disabled */
|
||||
|
||||
#define CONFIG_RTC_MC146818 /* BQ3285 is MC146818 compatible*/
|
||||
#define CONFIG_SYS_RTC_REG_BASE_ADDR 0xF0000080 /* RTC Base Address */
|
||||
|
||||
#define CONFIG_SDRAM_BANK0 1 /* init onboard SDRAM bank 0 */
|
||||
|
||||
/*
|
||||
* Miscellaneous configurable options
|
||||
*/
|
||||
#define CONFIG_SYS_LONGHELP /* undef to save memory */
|
||||
#define CONFIG_SYS_PROMPT "=> " /* Monitor Command Prompt */
|
||||
#if defined(CONFIG_CMD_KGDB)
|
||||
#define CONFIG_SYS_CBSIZE 1024 /* Console I/O Buffer Size */
|
||||
#else
|
||||
#define CONFIG_SYS_CBSIZE 256 /* Console I/O Buffer Size */
|
||||
#endif
|
||||
#define CONFIG_SYS_PBSIZE (CONFIG_SYS_CBSIZE+sizeof(CONFIG_SYS_PROMPT)+16) /* Print Buffer Size */
|
||||
#define CONFIG_SYS_MAXARGS 16 /* max number of command args */
|
||||
#define CONFIG_SYS_BARGSIZE CONFIG_SYS_CBSIZE /* Boot Argument Buffer Size */
|
||||
|
||||
#define CONFIG_SYS_CONSOLE_INFO_QUIET 1 /* don't print console @ startup*/
|
||||
|
||||
#define CONFIG_SYS_MEMTEST_START 0x0400000 /* memtest works on */
|
||||
#define CONFIG_SYS_MEMTEST_END 0x0C00000 /* 4 ... 12 MB in DRAM */
|
||||
|
||||
#define CONFIG_CONS_INDEX 1 /* Use UART0 */
|
||||
#define CONFIG_SYS_NS16550
|
||||
#define CONFIG_SYS_NS16550_SERIAL
|
||||
#define CONFIG_SYS_NS16550_REG_SIZE 1
|
||||
#define CONFIG_SYS_NS16550_CLK get_serial_clock()
|
||||
|
||||
#define CONFIG_SYS_EXT_SERIAL_CLOCK 11059200 /* use external serial clock */
|
||||
|
||||
/* The following table includes the supported baudrates */
|
||||
#define CONFIG_SYS_BAUDRATE_TABLE \
|
||||
{ 300, 600, 1200, 2400, 4800, 9600, 19200, 38400, \
|
||||
57600, 115200, 230400, 460800, 921600 }
|
||||
|
||||
#define CONFIG_SYS_LOAD_ADDR 0x100000 /* default load address */
|
||||
#define CONFIG_SYS_EXTBDINFO 1 /* To use extended board_into (bd_t) */
|
||||
|
||||
#define CONFIG_SYS_HZ 1000 /* decrementer freq: 1 ms ticks */
|
||||
|
||||
#define CONFIG_ZERO_BOOTDELAY_CHECK /* check for keypress on bootdelay==0 */
|
||||
|
||||
#define CONFIG_SYS_RX_ETH_BUFFER 16 /* use 16 rx buffer on 405 emac */
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* IDE/ATA stuff
|
||||
*-----------------------------------------------------------------------
|
||||
*/
|
||||
#undef CONFIG_IDE_8xx_DIRECT /* no pcmcia interface required */
|
||||
#undef CONFIG_IDE_LED /* no led for ide supported */
|
||||
#undef CONFIG_IDE_RESET /* no reset for ide supported */
|
||||
|
||||
#define CONFIG_SYS_IDE_MAXBUS 1 /* max. 1 IDE busses */
|
||||
#define CONFIG_SYS_IDE_MAXDEVICE (CONFIG_SYS_IDE_MAXBUS*1) /* max. 1 drives per IDE bus */
|
||||
|
||||
#define CONFIG_SYS_ATA_BASE_ADDR 0xF0100000
|
||||
#define CONFIG_SYS_ATA_IDE0_OFFSET 0x0000
|
||||
|
||||
#define CONFIG_SYS_ATA_DATA_OFFSET 0x0000 /* Offset for data I/O */
|
||||
#define CONFIG_SYS_ATA_REG_OFFSET 0x0000 /* Offset for normal register accesses */
|
||||
#define CONFIG_SYS_ATA_ALT_OFFSET 0x0000 /* Offset for alternate registers */
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* Start addresses for the final memory configuration
|
||||
* (Set up by the startup code)
|
||||
* Please note that CONFIG_SYS_SDRAM_BASE _must_ start at 0
|
||||
*/
|
||||
#define CONFIG_SYS_SDRAM_BASE 0x00000000
|
||||
#define CONFIG_SYS_FLASH_BASE 0xFFFD0000
|
||||
#define CONFIG_SYS_MONITOR_BASE CONFIG_SYS_FLASH_BASE
|
||||
#define CONFIG_SYS_MONITOR_LEN (192 * 1024) /* Reserve 192 kB for Monitor */
|
||||
#define CONFIG_SYS_MALLOC_LEN (128 * 1024) /* Reserve 128 kB for malloc() */
|
||||
|
||||
/*
|
||||
* For booting Linux, the board info and command line data
|
||||
* have to be in the first 8 MB of memory, since this is
|
||||
* the maximum mapped by the Linux kernel during initialization.
|
||||
*/
|
||||
#define CONFIG_SYS_BOOTMAPSZ (8 << 20) /* Initial Memory map for Linux */
|
||||
/*-----------------------------------------------------------------------
|
||||
* FLASH organization
|
||||
*/
|
||||
#define CONFIG_SYS_MAX_FLASH_BANKS 2 /* max number of memory banks */
|
||||
#define CONFIG_SYS_MAX_FLASH_SECT 256 /* max number of sectors on one chip */
|
||||
|
||||
#define CONFIG_SYS_FLASH_ERASE_TOUT 120000 /* Timeout for Flash Erase (in ms) */
|
||||
#define CONFIG_SYS_FLASH_WRITE_TOUT 500 /* Timeout for Flash Write (in ms) */
|
||||
|
||||
#define CONFIG_SYS_FLASH_WORD_SIZE unsigned short /* flash word size (width) */
|
||||
#define CONFIG_SYS_FLASH_ADDR0 0x5555 /* 1st address for flash config cycles */
|
||||
#define CONFIG_SYS_FLASH_ADDR1 0x2AAA /* 2nd address for flash config cycles */
|
||||
/*
|
||||
* The following defines are added for buggy IOP480 byte interface.
|
||||
* All other boards should use the standard values (CPCI405 etc.)
|
||||
*/
|
||||
#define CONFIG_SYS_FLASH_READ0 0x0000 /* 0 is standard */
|
||||
#define CONFIG_SYS_FLASH_READ1 0x0001 /* 1 is standard */
|
||||
#define CONFIG_SYS_FLASH_READ2 0x0002 /* 2 is standard */
|
||||
|
||||
#define CONFIG_SYS_FLASH_EMPTY_INFO /* print 'E' for empty sector on flinfo */
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* I2C EEPROM (CAT24WC08) for environment
|
||||
*/
|
||||
#define CONFIG_HARD_I2C /* I2c with hardware support */
|
||||
#define CONFIG_PPC4XX_I2C /* use PPC4xx driver */
|
||||
#define CONFIG_SYS_I2C_SPEED 400000 /* I2C speed and slave address */
|
||||
#define CONFIG_SYS_I2C_SLAVE 0x7F
|
||||
|
||||
#define CONFIG_SYS_I2C_EEPROM_ADDR 0x50 /* EEPROM CAT28WC08 */
|
||||
#define CONFIG_SYS_I2C_EEPROM_ADDR_LEN 1 /* Bytes of address */
|
||||
/* mask of address bits that overflow into the "EEPROM chip address" */
|
||||
#define CONFIG_SYS_I2C_EEPROM_ADDR_OVERFLOW 0x07
|
||||
#define CONFIG_SYS_EEPROM_PAGE_WRITE_BITS 4 /* The Catalyst CAT24WC08 has */
|
||||
/* 16 byte page write mode using*/
|
||||
/* last 4 bits of the address */
|
||||
#define CONFIG_SYS_EEPROM_PAGE_WRITE_DELAY_MS 10 /* and takes up to 10 msec */
|
||||
|
||||
#define CONFIG_ENV_IS_IN_EEPROM 1 /* use EEPROM for environment vars */
|
||||
#define CONFIG_ENV_OFFSET 0x000 /* environment starts at the beginning of the EEPROM */
|
||||
#define CONFIG_ENV_SIZE 0x400 /* 1024 bytes may be used for env vars */
|
||||
/* total size of a CAT24WC08 is 1024 bytes */
|
||||
|
||||
/*
|
||||
* Init Memory Controller:
|
||||
*
|
||||
* BR0/1 and OR0/1 (FLASH)
|
||||
*/
|
||||
|
||||
#define FLASH_BASE0_PRELIM 0xFF800000 /* FLASH bank #0 */
|
||||
#define FLASH_BASE1_PRELIM 0xFFC00000 /* FLASH bank #1 */
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* External Bus Controller (EBC) Setup
|
||||
*/
|
||||
|
||||
#define FLASH0_BA 0xFFC00000 /* FLASH 0 Base Address */
|
||||
#define FLASH1_BA 0xFF800000 /* FLASH 1 Base Address */
|
||||
#define CAN_BA 0xF0000000 /* CAN Base Address */
|
||||
#define DUART_BA 0xF0300000 /* DUART Base Address */
|
||||
#define CF_BA 0xF0100000 /* CompactFlash Base Address */
|
||||
#define SRAM_BA 0xF0200000 /* SRAM Base Address */
|
||||
#define DURAG_IO_BA 0xF0400000 /* DURAG Bus IO Base Address */
|
||||
#define DURAG_MEM_BA 0xF0500000 /* DURAG Bus Mem Base Address */
|
||||
|
||||
#define FPGA_MODE_REG (DUART_BA+0x80) /* FPGA Mode Register */
|
||||
|
||||
/* Memory Bank 0 (Flash Bank 0) initialization */
|
||||
#define CONFIG_SYS_EBC_PB0AP 0x92015480
|
||||
#define CONFIG_SYS_EBC_PB0CR FLASH0_BA | 0x5A000 /* BAS=0xFFC,BS=4MB,BU=R/W,BW=16bit */
|
||||
|
||||
/* Memory Bank 1 (Flash Bank 1) initialization */
|
||||
#define CONFIG_SYS_EBC_PB1AP 0x92015480
|
||||
#define CONFIG_SYS_EBC_PB1CR FLASH1_BA | 0x5A000 /* BAS=0xFF8,BS=4MB,BU=R/W,BW=16bit */
|
||||
|
||||
/* Memory Bank 2 (CAN0) initialization */
|
||||
#define CONFIG_SYS_EBC_PB2AP 0x010053C0 /* BWT=2,WBN=1,WBF=1,TH=1,RE=1,SOR=1,BEM=1 */
|
||||
#define CONFIG_SYS_EBC_PB2CR CAN_BA | 0x18000 /* BAS=0xF00,BS=1MB,BU=R/W,BW=8bit */
|
||||
|
||||
/* Memory Bank 3 (DUART) initialization */
|
||||
#define CONFIG_SYS_EBC_PB3AP 0x010053C0 /* BWT=2,WBN=1,WBF=1,TH=1,RE=1,SOR=1,BEM=1 */
|
||||
#define CONFIG_SYS_EBC_PB3CR DUART_BA | 0x18000 /* BAS=0xF03,BS=1MB,BU=R/W,BW=8bit */
|
||||
|
||||
/* Memory Bank 4 (CompactFlash IDE) initialization */
|
||||
#define CONFIG_SYS_EBC_PB4AP 0x010053C0 /* BWT=2,WBN=1,WBF=1,TH=1,RE=1,SOR=1,BEM=1 */
|
||||
#define CONFIG_SYS_EBC_PB4CR CF_BA | 0x1A000 /* BAS=0xF01,BS=1MB,BU=R/W,BW=16bit */
|
||||
|
||||
/* Memory Bank 5 (SRAM) initialization */
|
||||
#define CONFIG_SYS_EBC_PB5AP 0x010053C0 /* BWT=2,WBN=1,WBF=1,TH=1,RE=1,SOR=1,BEM=1 */
|
||||
#define CONFIG_SYS_EBC_PB5CR SRAM_BA | 0x1A000 /* BAS=0xF02,BS=1MB,BU=R/W,BW=16bit */
|
||||
|
||||
/* Memory Bank 6 (DURAG Bus IO Space) initialization */
|
||||
#define CONFIG_SYS_EBC_PB6AP 0x010053C0 /* BWT=2,WBN=1,WBF=1,TH=1,RE=1,SOR=1,BEM=1 */
|
||||
#define CONFIG_SYS_EBC_PB6CR DURAG_IO_BA | 0x18000 /* BAS=0xF04,BS=1MB,BU=R/W,BW=8bit*/
|
||||
|
||||
/* Memory Bank 7 (DURAG Bus Mem Space) initialization */
|
||||
#define CONFIG_SYS_EBC_PB7AP 0x010053C0 /* BWT=2,WBN=1,WBF=1,TH=1,RE=1,SOR=1,BEM=1 */
|
||||
#define CONFIG_SYS_EBC_PB7CR DURAG_MEM_BA | 0x18000 /* BAS=0xF05,BS=1MB,BU=R/W,BW=8bit */
|
||||
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* Definitions for initial stack pointer and data area (in DPRAM)
|
||||
*/
|
||||
|
||||
/* use on chip memory ( OCM ) for temperary stack until sdram is tested */
|
||||
#define CONFIG_SYS_TEMP_STACK_OCM 1
|
||||
|
||||
/* On Chip Memory location */
|
||||
#define CONFIG_SYS_OCM_DATA_ADDR 0xF8000000
|
||||
#define CONFIG_SYS_OCM_DATA_SIZE 0x1000
|
||||
|
||||
#define CONFIG_SYS_INIT_RAM_ADDR CONFIG_SYS_OCM_DATA_ADDR /* inside of SDRAM */
|
||||
#define CONFIG_SYS_INIT_RAM_SIZE CONFIG_SYS_OCM_DATA_SIZE /* Size of used area in RAM */
|
||||
#define CONFIG_SYS_GBL_DATA_OFFSET (CONFIG_SYS_INIT_RAM_SIZE - GENERATED_GBL_DATA_SIZE)
|
||||
#define CONFIG_SYS_INIT_SP_OFFSET CONFIG_SYS_GBL_DATA_OFFSET
|
||||
|
||||
#endif /* __CONFIG_H */
|
||||
|
|
@ -0,0 +1,432 @@
|
|||
/*
|
||||
* (C) Copyright 2008
|
||||
* Matthias Fuchs, esd gmbh, matthias.fuchs@esd-electronics.com
|
||||
*
|
||||
* based on the Sequoia board configuration by
|
||||
* Stefan Roese, Jacqueline Pira-Ferriol and Alain Saurel
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of
|
||||
* the License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston,
|
||||
* MA 02111-1307 USA
|
||||
*/
|
||||
|
||||
/*
|
||||
**********************************************************************
|
||||
* DU440.h - configuration for esd's DU440 board (Power PC440EPx)
|
||||
**********************************************************************
|
||||
*/
|
||||
#ifndef __CONFIG_H
|
||||
#define __CONFIG_H
|
||||
|
||||
/*
|
||||
* High Level Configuration Options
|
||||
*/
|
||||
#define CONFIG_DU440 1 /* Board is esd DU440 */
|
||||
#define CONFIG_440EPX 1 /* Specific PPC440EPx */
|
||||
#define CONFIG_4xx 1 /* ... PPC4xx family */
|
||||
#define CONFIG_SYS_CLK_FREQ 33333400 /* external freq to pll */
|
||||
|
||||
#ifndef CONFIG_SYS_TEXT_BASE
|
||||
#define CONFIG_SYS_TEXT_BASE 0xFFFA0000
|
||||
#endif
|
||||
|
||||
#define CONFIG_BOARD_EARLY_INIT_F 1 /* Call board_early_init_f */
|
||||
#define CONFIG_MISC_INIT_R 1 /* Call misc_init_r */
|
||||
#define CONFIG_LAST_STAGE_INIT 1 /* last_stage_init */
|
||||
|
||||
/*
|
||||
* Base addresses -- Note these are effective addresses where the
|
||||
* actual resources get mapped (not physical addresses)
|
||||
*/
|
||||
#define CONFIG_SYS_MONITOR_LEN (384 * 1024) /* Reserve 384 kB for Monitor */
|
||||
#define CONFIG_SYS_MALLOC_LEN (8 << 20) /* Reserve 8 MB for malloc() */
|
||||
|
||||
#define CONFIG_SYS_BOOT_BASE_ADDR 0xf0000000
|
||||
#define CONFIG_SYS_SDRAM_BASE 0x00000000 /* _must_ be 0 */
|
||||
#define CONFIG_SYS_FLASH_BASE 0xfc000000 /* start of FLASH */
|
||||
#define CONFIG_SYS_MONITOR_BASE CONFIG_SYS_TEXT_BASE
|
||||
#define CONFIG_SYS_NAND0_ADDR 0xd0000000 /* NAND Flash */
|
||||
#define CONFIG_SYS_NAND1_ADDR 0xd0100000 /* NAND Flash */
|
||||
#define CONFIG_SYS_OCM_BASE 0xe0010000 /* ocm */
|
||||
#define CONFIG_SYS_PCI_BASE 0xe0000000 /* Internal PCI regs */
|
||||
#define CONFIG_SYS_PCI_MEMBASE 0x80000000 /* mapped pci memory */
|
||||
#define CONFIG_SYS_PCI_MEMBASE1 CONFIG_SYS_PCI_MEMBASE + 0x10000000
|
||||
#define CONFIG_SYS_PCI_MEMBASE2 CONFIG_SYS_PCI_MEMBASE1 + 0x10000000
|
||||
#define CONFIG_SYS_PCI_MEMBASE3 CONFIG_SYS_PCI_MEMBASE2 + 0x10000000
|
||||
#define CONFIG_SYS_PCI_IOBASE 0xe8000000
|
||||
#define CONFIG_SYS_PCI_SUBSYS_VENDORID PCI_VENDOR_ID_ESDGMBH
|
||||
#define CONFIG_SYS_PCI_SUBSYS_ID 0x0444 /* device ID for DU440 */
|
||||
|
||||
#define CONFIG_SYS_USB2D0_BASE 0xe0000100
|
||||
#define CONFIG_SYS_USB_DEVICE 0xe0000000
|
||||
#define CONFIG_SYS_USB_HOST 0xe0000400
|
||||
|
||||
/*
|
||||
* Initial RAM & stack pointer
|
||||
*/
|
||||
/* 440EPx/440GRx have 16KB of internal SRAM, so no need for D-Cache */
|
||||
#define CONFIG_SYS_INIT_RAM_OCM 1 /* OCM as init ram */
|
||||
#define CONFIG_SYS_INIT_RAM_ADDR CONFIG_SYS_OCM_BASE /* OCM */
|
||||
|
||||
#define CONFIG_SYS_INIT_RAM_SIZE (4 << 10)
|
||||
#define CONFIG_SYS_GBL_DATA_OFFSET (CONFIG_SYS_INIT_RAM_SIZE - GENERATED_GBL_DATA_SIZE)
|
||||
#define CONFIG_SYS_INIT_SP_OFFSET CONFIG_SYS_GBL_DATA_OFFSET
|
||||
|
||||
/*
|
||||
* Serial Port
|
||||
*/
|
||||
#define CONFIG_CONS_INDEX 1 /* Use UART0 */
|
||||
#define CONFIG_SYS_NS16550
|
||||
#define CONFIG_SYS_NS16550_SERIAL
|
||||
#define CONFIG_SYS_NS16550_REG_SIZE 1
|
||||
#define CONFIG_SYS_NS16550_CLK get_serial_clock()
|
||||
#undef CONFIG_SYS_EXT_SERIAL_CLOCK
|
||||
#define CONFIG_BAUDRATE 115200
|
||||
#define CONFIG_SERIAL_MULTI 1
|
||||
|
||||
#define CONFIG_SYS_BAUDRATE_TABLE \
|
||||
{300, 600, 1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200}
|
||||
|
||||
/*
|
||||
* Video Port
|
||||
*/
|
||||
#define CONFIG_VIDEO
|
||||
#define CONFIG_VIDEO_SMI_LYNXEM
|
||||
#define CONFIG_CFB_CONSOLE
|
||||
#define CONFIG_VIDEO_LOGO
|
||||
#define CONFIG_VGA_AS_SINGLE_DEVICE
|
||||
#define CONFIG_SPLASH_SCREEN
|
||||
#define CONFIG_SPLASH_SCREEN_ALIGN
|
||||
#define CONFIG_VIDEO_BMP_GZIP /* gzip compressed bmp images */
|
||||
#define CONFIG_SYS_VIDEO_LOGO_MAX_SIZE (4 << 20) /* for decompressed img */
|
||||
#define CONFIG_SYS_DEFAULT_VIDEO_MODE 0x31a /* 1280x1024,16bpp */
|
||||
#define CONFIG_SYS_CONSOLE_IS_IN_ENV
|
||||
#define CONFIG_SYS_ISA_IO CONFIG_SYS_PCI_IOBASE
|
||||
|
||||
/*
|
||||
* Environment
|
||||
*/
|
||||
#define CONFIG_ENV_IS_IN_EEPROM 1 /* use FLASH for environment vars */
|
||||
|
||||
/*
|
||||
* FLASH related
|
||||
*/
|
||||
#define CONFIG_SYS_FLASH_CFI /* The flash is CFI compatible */
|
||||
#define CONFIG_FLASH_CFI_DRIVER /* Use common CFI driver */
|
||||
|
||||
#define CONFIG_SYS_FLASH_BANKS_LIST { CONFIG_SYS_FLASH_BASE }
|
||||
|
||||
#define CONFIG_SYS_MAX_FLASH_BANKS 1 /* max number of memory banks */
|
||||
#define CONFIG_SYS_MAX_FLASH_SECT 512 /* max number of sectors on one chip */
|
||||
|
||||
#define CONFIG_SYS_FLASH_ERASE_TOUT 120000 /* Timeout for Flash Erase (in ms) */
|
||||
#define CONFIG_SYS_FLASH_WRITE_TOUT 500 /* Timeout for Flash Write (in ms) */
|
||||
|
||||
#define CONFIG_SYS_FLASH_USE_BUFFER_WRITE 1 /* use buffered writes (20x faster) */
|
||||
/* CFI_FLASH_PROTECTION make flash_protect hang sometimes -> disabled */
|
||||
#define CONFIG_SYS_FLASH_PROTECTION 1 /* use hardware flash protection */
|
||||
|
||||
#define CONFIG_SYS_FLASH_EMPTY_INFO
|
||||
#define CONFIG_SYS_FLASH_QUIET_TEST 1 /* don't warn upon unknown flash */
|
||||
|
||||
#ifdef CONFIG_ENV_IS_IN_FLASH
|
||||
#define CONFIG_ENV_SECT_SIZE 0x20000 /* size of one complete sector */
|
||||
#define CONFIG_ENV_ADDR ((-CONFIG_SYS_MONITOR_LEN)-CONFIG_ENV_SECT_SIZE)
|
||||
#define CONFIG_ENV_SIZE 0x2000 /* Total Size of Environment Sector */
|
||||
|
||||
/* Address and size of Redundant Environment Sector */
|
||||
#define CONFIG_ENV_ADDR_REDUND (CONFIG_ENV_ADDR-CONFIG_ENV_SECT_SIZE)
|
||||
#define CONFIG_ENV_SIZE_REDUND (CONFIG_ENV_SIZE)
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_ENV_IS_IN_EEPROM
|
||||
#define CONFIG_ENV_OFFSET 0 /* environment starts at */
|
||||
/* the beginning of the EEPROM */
|
||||
#define CONFIG_ENV_SIZE 0x1000 /* 4096 bytes may be used for env vars */
|
||||
#endif
|
||||
|
||||
/*
|
||||
* DDR SDRAM
|
||||
*/
|
||||
#define CONFIG_SYS_MBYTES_SDRAM (1024) /* 512 MiB TODO: remove */
|
||||
#define CONFIG_DDR_DATA_EYE /* use DDR2 optimization */
|
||||
#define CONFIG_SYS_MEM_TOP_HIDE (4 << 10) /* don't use last 4kbytes */
|
||||
/* 440EPx errata CHIP 11 */
|
||||
#define CONFIG_SPD_EEPROM /* Use SPD EEPROM for setup */
|
||||
#define CONFIG_DDR_ECC /* Use ECC when available */
|
||||
#define SPD_EEPROM_ADDRESS {0x50}
|
||||
#define CONFIG_PROG_SDRAM_TLB
|
||||
|
||||
/*
|
||||
* I2C
|
||||
*/
|
||||
#define CONFIG_HARD_I2C 1 /* I2C with hardware support */
|
||||
#undef CONFIG_SOFT_I2C /* I2C bit-banged */
|
||||
#define CONFIG_PPC4XX_I2C /* use PPC4xx driver */
|
||||
#define CONFIG_SYS_I2C_SPEED 100000 /* I2C speed and slave address */
|
||||
#define CONFIG_SYS_I2C_SLAVE 0x7F
|
||||
#define CONFIG_I2C_MULTI_BUS 1
|
||||
|
||||
#define CONFIG_SYS_SPD_BUS_NUM 0
|
||||
#define IIC1_MCP3021_ADDR 0x4d
|
||||
#define IIC1_USB2507_ADDR 0x2c
|
||||
#ifdef CONFIG_I2C_MULTI_BUS
|
||||
#define CONFIG_SYS_I2C_NOPROBES {{1, IIC1_USB2507_ADDR}}
|
||||
#endif
|
||||
#define CONFIG_SYS_I2C_MULTI_EEPROMS
|
||||
#define CONFIG_SYS_I2C_EEPROM_ADDR 0x54
|
||||
#define CONFIG_SYS_I2C_EEPROM_ADDR_LEN 2
|
||||
#define CONFIG_SYS_EEPROM_PAGE_WRITE_BITS 5
|
||||
#define CONFIG_SYS_EEPROM_PAGE_WRITE_DELAY_MS 10
|
||||
#define CONFIG_SYS_I2C_EEPROM_ADDR_OVERFLOW 0x01
|
||||
|
||||
#define CONFIG_SYS_EEPROM_WREN 1
|
||||
#define CONFIG_SYS_I2C_BOOT_EEPROM_ADDR 0x52
|
||||
|
||||
/*
|
||||
* standard dtt sensor configuration - bottom bit will determine local or
|
||||
* remote sensor of the TMP401
|
||||
*/
|
||||
#define CONFIG_DTT_SENSORS { 0, 1 }
|
||||
|
||||
/*
|
||||
* The PMC440 uses a TI TMP401 temperature sensor. This part
|
||||
* is basically compatible to the ADM1021 that is supported
|
||||
* by U-Boot.
|
||||
*
|
||||
* - i2c addr 0x4c
|
||||
* - conversion rate 0x02 = 0.25 conversions/second
|
||||
* - ALERT ouput disabled
|
||||
* - local temp sensor enabled, min set to 0 deg, max set to 70 deg
|
||||
* - remote temp sensor enabled, min set to 0 deg, max set to 70 deg
|
||||
*/
|
||||
#define CONFIG_DTT_ADM1021
|
||||
#define CONFIG_SYS_DTT_ADM1021 { { 0x4c, 0x02, 0, 1, 70, 0, 1, 70, 0} }
|
||||
|
||||
/*
|
||||
* RTC stuff
|
||||
*/
|
||||
#define CONFIG_RTC_DS1338
|
||||
#define CONFIG_SYS_I2C_RTC_ADDR 0x68
|
||||
|
||||
#undef CONFIG_BOOTARGS
|
||||
|
||||
#define CONFIG_EXTRA_ENV_SETTINGS \
|
||||
"netdev=eth0\0" \
|
||||
"ethrotate=no\0" \
|
||||
"hostname=du440\0" \
|
||||
"nfsargs=setenv bootargs root=/dev/nfs rw " \
|
||||
"nfsroot=${serverip}:${rootpath}\0" \
|
||||
"ramargs=setenv bootargs root=/dev/ram rw\0" \
|
||||
"addip=setenv bootargs ${bootargs} " \
|
||||
"ip=${ipaddr}:${serverip}:${gatewayip}:${netmask}" \
|
||||
":${hostname}:${netdev}:off panic=1\0" \
|
||||
"addtty=setenv bootargs ${bootargs} console=ttyS0,${baudrate}\0"\
|
||||
"flash_self=run ramargs addip addtty optargs;" \
|
||||
"bootm ${kernel_addr} ${ramdisk_addr}\0" \
|
||||
"net_nfs=tftp 200000 ${img};run nfsargs addip addtty optargs;" \
|
||||
"bootm\0" \
|
||||
"rootpath=/tftpboot/du440/target_root_du440\0" \
|
||||
"img=/tftpboot/du440/uImage\0" \
|
||||
"kernel_addr=FFC00000\0" \
|
||||
"ramdisk_addr=FFE00000\0" \
|
||||
"initrd_high=30000000\0" \
|
||||
"load=tftp 100000 /tftpboot/du440/u-boot.bin\0" \
|
||||
"update=protect off FFFA0000 FFFFFFFF;era FFFA0000 FFFFFFFF;" \
|
||||
"cp.b 100000 FFFA0000 60000\0" \
|
||||
""
|
||||
|
||||
#define CONFIG_PREBOOT /* enable preboot variable */
|
||||
|
||||
#define CONFIG_BOOTDELAY 3 /* autoboot after 5 seconds */
|
||||
|
||||
#define CONFIG_LOADS_ECHO 1 /* echo on for serial download */
|
||||
#define CONFIG_SYS_LOADS_BAUD_CHANGE 1 /* allow baudrate change */
|
||||
|
||||
#ifndef __ASSEMBLY__
|
||||
int du440_phy_addr(int devnum);
|
||||
#endif
|
||||
|
||||
#define CONFIG_PPC4xx_EMAC
|
||||
#define CONFIG_IBM_EMAC4_V4 1
|
||||
#define CONFIG_MII 1 /* MII PHY management */
|
||||
#define CONFIG_PHY_ADDR du440_phy_addr(0) /* PHY address */
|
||||
|
||||
#define CONFIG_PHY_RESET 1 /* reset phy upon startup */
|
||||
#undef CONFIG_PHY_GIGE /* no GbE detection */
|
||||
|
||||
#define CONFIG_HAS_ETH0
|
||||
#define CONFIG_SYS_RX_ETH_BUFFER 128
|
||||
|
||||
#define CONFIG_HAS_ETH1 1 /* add support for "eth1addr" */
|
||||
#define CONFIG_PHY1_ADDR du440_phy_addr(1)
|
||||
|
||||
/*
|
||||
* USB
|
||||
*/
|
||||
#define CONFIG_USB_OHCI_NEW
|
||||
#define CONFIG_USB_STORAGE
|
||||
#define CONFIG_SYS_OHCI_BE_CONTROLLER
|
||||
|
||||
#define CONFIG_SYS_USB_OHCI_CPU_INIT 1
|
||||
#define CONFIG_SYS_USB_OHCI_REGS_BASE CONFIG_SYS_USB_HOST
|
||||
#define CONFIG_SYS_USB_OHCI_SLOT_NAME "du440"
|
||||
#define CONFIG_SYS_USB_OHCI_MAX_ROOT_PORTS 15
|
||||
|
||||
/* Comment this out to enable USB 1.1 device */
|
||||
#define USB_2_0_DEVICE
|
||||
|
||||
/* Partitions */
|
||||
#define CONFIG_MAC_PARTITION
|
||||
#define CONFIG_DOS_PARTITION
|
||||
#define CONFIG_ISO_PARTITION
|
||||
|
||||
#include <config_cmd_default.h>
|
||||
|
||||
#define CONFIG_CMD_ASKENV
|
||||
#define CONFIG_CMD_BMP
|
||||
#define CONFIG_CMD_BSP
|
||||
#define CONFIG_CMD_DATE
|
||||
#define CONFIG_CMD_DHCP
|
||||
#define CONFIG_CMD_DIAG
|
||||
#define CONFIG_CMD_DTT
|
||||
#define CONFIG_CMD_EEPROM
|
||||
#define CONFIG_CMD_ELF
|
||||
#define CONFIG_CMD_FAT
|
||||
#define CONFIG_CMD_I2C
|
||||
#define CONFIG_CMD_IRQ
|
||||
#define CONFIG_CMD_MII
|
||||
#define CONFIG_CMD_NAND
|
||||
#define CONFIG_CMD_NET
|
||||
#define CONFIG_CMD_NFS
|
||||
#define CONFIG_CMD_PCI
|
||||
#define CONFIG_CMD_PING
|
||||
#define CONFIG_CMD_REGINFO
|
||||
#define CONFIG_CMD_SDRAM
|
||||
#define CONFIG_CMD_SOURCE
|
||||
#define CONFIG_CMD_USB
|
||||
|
||||
#define CONFIG_SUPPORT_VFAT
|
||||
|
||||
/*
|
||||
* Miscellaneous configurable options
|
||||
*/
|
||||
#define CONFIG_SYS_LONGHELP /* undef to save memory */
|
||||
#define CONFIG_SYS_PROMPT "=> " /* Monitor Command Prompt */
|
||||
#if defined(CONFIG_CMD_KGDB)
|
||||
#define CONFIG_SYS_CBSIZE 1024 /* Console I/O Buffer Size */
|
||||
#else
|
||||
#define CONFIG_SYS_CBSIZE 256 /* Console I/O Buffer Size */
|
||||
#endif
|
||||
/* Print Buffer Size */
|
||||
#define CONFIG_SYS_PBSIZE (CONFIG_SYS_CBSIZE+sizeof(CONFIG_SYS_PROMPT)+16)
|
||||
#define CONFIG_SYS_MAXARGS 16 /* max number of command args */
|
||||
#define CONFIG_SYS_BARGSIZE CONFIG_SYS_CBSIZE /* Boot Argument Buffer Size */
|
||||
|
||||
#define CONFIG_SYS_MEMTEST_START 0x00400000 /* memtest works on */
|
||||
#define CONFIG_SYS_MEMTEST_END 0x3f000000 /* 4 ... < 1GB DRAM */
|
||||
|
||||
#define CONFIG_SYS_LOAD_ADDR 0x100000 /* default load address */
|
||||
#define CONFIG_SYS_EXTBDINFO 1 /* To use extended board_into (bd_t) */
|
||||
|
||||
#define CONFIG_SYS_HZ 1000 /* decrementer freq: 1 ms ticks */
|
||||
|
||||
#define CONFIG_CMDLINE_EDITING 1 /* add command line history */
|
||||
#define CONFIG_LOOPW 1 /* enable loopw command */
|
||||
#define CONFIG_MX_CYCLIC 1 /* enable mdc/mwc commands */
|
||||
#define CONFIG_ZERO_BOOTDELAY_CHECK /* check for keypress on bootdelay==0 */
|
||||
#define CONFIG_VERSION_VARIABLE 1 /* include version env variable */
|
||||
|
||||
#define CONFIG_AUTOBOOT_KEYED 1
|
||||
#define CONFIG_AUTOBOOT_PROMPT \
|
||||
"Press SPACE to abort autoboot in %d seconds\n", bootdelay
|
||||
#define CONFIG_AUTOBOOT_DELAY_STR "d"
|
||||
#define CONFIG_AUTOBOOT_STOP_STR " "
|
||||
|
||||
/*
|
||||
* PCI stuff
|
||||
*/
|
||||
#define CONFIG_PCI /* include pci support */
|
||||
#define CONFIG_PCI_PNP /* do (not) pci plug-and-play */
|
||||
#define CONFIG_PCI_SCAN_SHOW /* show pci devices on startup */
|
||||
#define CONFIG_SYS_PCI_TARGBASE 0x80000000 /* PCIaddr mapped to CONFIG_SYS_PCI_MEMBASE*/
|
||||
|
||||
/* Board-specific PCI */
|
||||
#define CONFIG_SYS_PCI_TARGET_INIT
|
||||
#define CONFIG_SYS_PCI_MASTER_INIT
|
||||
|
||||
/*
|
||||
* For booting Linux, the board info and command line data
|
||||
* have to be in the first 8 MB of memory, since this is
|
||||
* the maximum mapped by the Linux kernel during initialization.
|
||||
*/
|
||||
#define CONFIG_SYS_BOOTMAPSZ (8 << 20) /* Initial Memory map for Linux */
|
||||
|
||||
/*
|
||||
* External Bus Controller (EBC) Setup
|
||||
*/
|
||||
#define CONFIG_SYS_FLASH CONFIG_SYS_FLASH_BASE
|
||||
|
||||
#define CONFIG_SYS_CPLD_BASE 0xC0000000
|
||||
#define CONFIG_SYS_CPLD_RANGE 0x00000010
|
||||
#define CONFIG_SYS_DUMEM_BASE 0xC0100000
|
||||
#define CONFIG_SYS_DUMEM_RANGE 0x00100000
|
||||
#define CONFIG_SYS_DUIO_BASE 0xC0200000
|
||||
#define CONFIG_SYS_DUIO_RANGE 0x00010000
|
||||
|
||||
#define CONFIG_SYS_NAND0_CS 2 /* NAND chip connected to CSx */
|
||||
#define CONFIG_SYS_NAND1_CS 3 /* NAND chip connected to CSx */
|
||||
/* Memory Bank 0 (NOR-FLASH) initialization */
|
||||
#define CONFIG_SYS_EBC_PB0AP 0x04017200
|
||||
#define CONFIG_SYS_EBC_PB0CR (CONFIG_SYS_FLASH_BASE | 0xda000)
|
||||
|
||||
/* Memory Bank 1 (CPLD, 16 bytes needed, but 1MB is minimum) */
|
||||
#define CONFIG_SYS_EBC_PB1AP 0x018003c0
|
||||
#define CONFIG_SYS_EBC_PB1CR (CONFIG_SYS_CPLD_BASE | 0x18000)
|
||||
|
||||
/* Memory Bank 2 (NAND-FLASH) initialization */
|
||||
#define CONFIG_SYS_EBC_PB2AP 0x018003c0
|
||||
#define CONFIG_SYS_EBC_PB2CR (CONFIG_SYS_NAND0_ADDR | 0x1c000)
|
||||
|
||||
/* Memory Bank 3 (NAND-FLASH) initialization */
|
||||
#define CONFIG_SYS_EBC_PB3AP 0x018003c0
|
||||
#define CONFIG_SYS_EBC_PB3CR (CONFIG_SYS_NAND1_ADDR | 0x1c000)
|
||||
|
||||
/* Memory Bank 4 (DUMEM, 1MB) initialization */
|
||||
#define CONFIG_SYS_EBC_PB4AP 0x018053c0
|
||||
#define CONFIG_SYS_EBC_PB4CR (CONFIG_SYS_DUMEM_BASE | 0x18000)
|
||||
|
||||
/* Memory Bank 5 (DUIO, 64KB needed, but 1MB is minimum) */
|
||||
#define CONFIG_SYS_EBC_PB5AP 0x018053c0
|
||||
#define CONFIG_SYS_EBC_PB5CR (CONFIG_SYS_DUIO_BASE | 0x18000)
|
||||
|
||||
/*
|
||||
* NAND FLASH
|
||||
*/
|
||||
#define CONFIG_SYS_MAX_NAND_DEVICE 2
|
||||
#define CONFIG_SYS_NAND_SELECT_DEVICE 1 /* nand driver supports mutipl. chips */
|
||||
#define CONFIG_SYS_NAND_BASE_LIST {CONFIG_SYS_NAND0_ADDR + CONFIG_SYS_NAND0_CS, \
|
||||
CONFIG_SYS_NAND1_ADDR + CONFIG_SYS_NAND1_CS}
|
||||
|
||||
#if defined(CONFIG_CMD_KGDB)
|
||||
#define CONFIG_KGDB_BAUDRATE 230400 /* speed to run kgdb serial port */
|
||||
#define CONFIG_KGDB_SER_INDEX 2 /* which serial port to use */
|
||||
#endif
|
||||
|
||||
#define CONFIG_SOURCE 1
|
||||
|
||||
#define CONFIG_OF_LIBFDT
|
||||
#define CONFIG_OF_BOARD_SETUP
|
||||
|
||||
#endif /* __CONFIG_H */
|
||||
|
|
@ -0,0 +1,288 @@
|
|||
/*
|
||||
* Configuation settings for the BuS EB+MCF-EV123 boards.
|
||||
*
|
||||
* (C) Copyright 2005-2009 BuS Elektronik GmbH & Co.KG <esw@bus-elektonik.de>
|
||||
*
|
||||
* See file CREDITS for list of people who contributed to this
|
||||
* project.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of
|
||||
* the License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston,
|
||||
* MA 02111-1307 USA
|
||||
*/
|
||||
|
||||
#ifndef _CONFIG_EB_MCF_EV123_H_
|
||||
#define _CONFIG_EB_MCF_EV123_H_
|
||||
|
||||
#undef CONFIG_SYS_HALT_BEFOR_RAM_JUMP
|
||||
|
||||
/*----------------------------------------------------------------------*
|
||||
* High Level Configuration Options (easy to change) *
|
||||
*----------------------------------------------------------------------*/
|
||||
|
||||
#define CONFIG_MCF52x2 /* define processor family */
|
||||
#define CONFIG_M5282 /* define processor type */
|
||||
#define CONFIG_EB_MCF_EV123
|
||||
|
||||
#define CONFIG_MISC_INIT_R
|
||||
|
||||
#define CONFIG_MCFUART
|
||||
#define CONFIG_SYS_UART_PORT (0)
|
||||
#define CONFIG_BAUDRATE 9600
|
||||
|
||||
#undef CONFIG_MONITOR_IS_IN_RAM /* starts uboot direct */
|
||||
|
||||
#define CONFIG_BOOTCOMMAND "printenv"
|
||||
|
||||
/*----------------------------------------------------------------------*
|
||||
* Options *
|
||||
*----------------------------------------------------------------------*/
|
||||
|
||||
#define CONFIG_BOOT_RETRY_TIME -1
|
||||
#define CONFIG_RESET_TO_RETRY
|
||||
#define CONFIG_SPLASH_SCREEN
|
||||
|
||||
/*----------------------------------------------------------------------*
|
||||
* Configuration for environment *
|
||||
* Environment is in the second sector of the first 256k of flash *
|
||||
*----------------------------------------------------------------------*/
|
||||
|
||||
#ifndef CONFIG_MONITOR_IS_IN_RAM
|
||||
#define CONFIG_ENV_ADDR 0xF003C000 /* End of 256K */
|
||||
#define CONFIG_ENV_SECT_SIZE 0x4000
|
||||
#define CONFIG_ENV_IS_IN_FLASH 1
|
||||
#else
|
||||
#define CONFIG_ENV_ADDR 0xFFE04000
|
||||
#define CONFIG_ENV_SECT_SIZE 0x2000
|
||||
#define CONFIG_ENV_IS_IN_FLASH 1
|
||||
#endif
|
||||
|
||||
/*
|
||||
* 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>
|
||||
|
||||
#undef CONFIG_CMD_LOADB
|
||||
#define CONFIG_CMD_MII
|
||||
#define CONFIG_CMD_NET
|
||||
|
||||
#define CONFIG_MCFTMR
|
||||
|
||||
|
||||
#define CONFIG_BOOTDELAY 5
|
||||
#define CONFIG_SYS_HUSH_PARSER
|
||||
#define CONFIG_SYS_PROMPT "\nEV123 U-Boot> "
|
||||
#define CONFIG_SYS_LONGHELP 1
|
||||
|
||||
#if defined(CONFIG_CMD_KGDB)
|
||||
#define CONFIG_SYS_CBSIZE 1024 /* Console I/O Buffer Size */
|
||||
#else
|
||||
#define CONFIG_SYS_CBSIZE 256 /* Console I/O Buffer Size */
|
||||
#endif
|
||||
#define CONFIG_SYS_PBSIZE (CONFIG_SYS_CBSIZE+sizeof(CONFIG_SYS_PROMPT)+16)
|
||||
#define CONFIG_SYS_MAXARGS 16 /* max number of command args */
|
||||
#define CONFIG_SYS_BARGSIZE CONFIG_SYS_CBSIZE
|
||||
|
||||
#define CONFIG_SYS_LOAD_ADDR 0x20000
|
||||
|
||||
#define CONFIG_SYS_MEMTEST_START 0x100000
|
||||
#define CONFIG_SYS_MEMTEST_END 0x400000
|
||||
/*#define CONFIG_SYS_DRAM_TEST 1 */
|
||||
#undef CONFIG_SYS_DRAM_TEST
|
||||
|
||||
/*----------------------------------------------------------------------*
|
||||
* Clock and PLL Configuration *
|
||||
*----------------------------------------------------------------------*/
|
||||
#define CONFIG_SYS_HZ 10000000
|
||||
#define CONFIG_SYS_CLK 58982400 /* 9,8304MHz * 6 */
|
||||
|
||||
/* PLL Configuration: Ext Clock * 6 (see table 9-4 of MCF user manual) */
|
||||
|
||||
#define CONFIG_SYS_MFD 0x01 /* PLL Multiplication Factor Devider */
|
||||
#define CONFIG_SYS_RFD 0x00 /* PLL Reduce Frecuency Devider */
|
||||
|
||||
/*----------------------------------------------------------------------*
|
||||
* Network *
|
||||
*----------------------------------------------------------------------*/
|
||||
|
||||
#define CONFIG_MCFFEC
|
||||
#define CONFIG_MII 1
|
||||
#define CONFIG_MII_INIT 1
|
||||
#define CONFIG_SYS_DISCOVER_PHY
|
||||
#define CONFIG_SYS_RX_ETH_BUFFER 8
|
||||
#define CONFIG_SYS_FAULT_ECHO_LINK_DOWN
|
||||
|
||||
#define CONFIG_SYS_FEC0_PINMUX 0
|
||||
#define CONFIG_SYS_FEC0_MIIBASE CONFIG_SYS_FEC0_IOBASE
|
||||
#define MCFFEC_TOUT_LOOP 50000
|
||||
|
||||
#define CONFIG_ETHADDR 00:CF:52:82:EB:01
|
||||
#define CONFIG_OVERWRITE_ETHADDR_ONCE
|
||||
|
||||
/*-------------------------------------------------------------------------
|
||||
* Low Level Configuration Settings
|
||||
* (address mappings, register initial values, etc.)
|
||||
* You should know what you are doing if you make changes here.
|
||||
*-----------------------------------------------------------------------*/
|
||||
|
||||
#define CONFIG_SYS_MBAR 0x40000000
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* Definitions for initial stack pointer and data area (in DPRAM)
|
||||
*-----------------------------------------------------------------------*/
|
||||
|
||||
#define CONFIG_SYS_INIT_RAM_ADDR 0x20000000
|
||||
#define CONFIG_SYS_INIT_RAM_SIZE 0x10000
|
||||
#define CONFIG_SYS_GBL_DATA_OFFSET \
|
||||
(CONFIG_SYS_INIT_RAM_SIZE - GENERATED_GBL_DATA_SIZE)
|
||||
#define CONFIG_SYS_INIT_SP_OFFSET CONFIG_SYS_GBL_DATA_OFFSET
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* Start addresses for the final memory configuration
|
||||
* (Set up by the startup code)
|
||||
* Please note that CONFIG_SYS_SDRAM_BASE _must_ start at 0
|
||||
*/
|
||||
#define CONFIG_SYS_SDRAM_BASE1 0x00000000
|
||||
#define CONFIG_SYS_SDRAM_SIZE1 16 /* SDRAM size in MB */
|
||||
|
||||
#define CONFIG_SYS_SDRAM_BASE CONFIG_SYS_SDRAM_BASE1
|
||||
#define CONFIG_SYS_SDRAM_SIZE CONFIG_SYS_SDRAM_SIZE1
|
||||
|
||||
|
||||
/* If M5282 port is fully implemented the monitor base will be behind
|
||||
* the vector table. */
|
||||
#if (CONFIG_SYS_TEXT_BASE != CONFIG_SYS_INT_FLASH_BASE)
|
||||
#define CONFIG_SYS_MONITOR_BASE (CONFIG_SYS_TEXT_BASE + 0x400)
|
||||
#else
|
||||
#define CONFIG_SYS_MONITOR_BASE (CONFIG_SYS_TEXT_BASE + 0x418) /* 24 Byte for CFM-Config */
|
||||
#endif
|
||||
|
||||
#define CONFIG_SYS_MONITOR_LEN 0x20000
|
||||
#define CONFIG_SYS_MALLOC_LEN (256 << 10)
|
||||
#define CONFIG_SYS_BOOTPARAMS_LEN 64*1024
|
||||
|
||||
/*
|
||||
* For booting Linux, the board info and command line data
|
||||
* have to be in the first 8 MB of memory, since this is
|
||||
* the maximum mapped by the Linux kernel during initialization ??
|
||||
*/
|
||||
#define CONFIG_SYS_BOOTMAPSZ (8 << 20) /* Initial Memory map for Linux */
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* FLASH organization
|
||||
*/
|
||||
|
||||
#define CONFIG_SYS_FLASH_BASE CONFIG_SYS_CS0_BASE
|
||||
#define CONFIG_SYS_INT_FLASH_BASE 0xF0000000
|
||||
#define CONFIG_SYS_INT_FLASH_ENABLE 0x21
|
||||
|
||||
#define CONFIG_SYS_MAX_FLASH_SECT 35
|
||||
#define CONFIG_SYS_MAX_FLASH_BANKS 2
|
||||
#define CONFIG_SYS_FLASH_ERASE_TOUT 10000000
|
||||
#define CONFIG_SYS_FLASH_PROTECTION
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* Cache Configuration
|
||||
*/
|
||||
#define CONFIG_SYS_CACHELINE_SIZE 16
|
||||
|
||||
#define ICACHE_STATUS (CONFIG_SYS_INIT_RAM_ADDR + \
|
||||
CONFIG_SYS_INIT_RAM_SIZE - 8)
|
||||
#define DCACHE_STATUS (CONFIG_SYS_INIT_RAM_ADDR + \
|
||||
CONFIG_SYS_INIT_RAM_SIZE - 4)
|
||||
#define CONFIG_SYS_ICACHE_INV (CF_CACR_CINV + CF_CACR_DCM)
|
||||
#define CONFIG_SYS_CACHE_ACR0 (CONFIG_SYS_SDRAM_BASE | \
|
||||
CF_ADDRMASK(CONFIG_SYS_SDRAM_SIZE) | \
|
||||
CF_ACR_EN | CF_ACR_SM_ALL)
|
||||
#define CONFIG_SYS_CACHE_ICACR (CF_CACR_CENB | CF_CACR_DISD | \
|
||||
CF_CACR_CEIB | CF_CACR_DBWE | \
|
||||
CF_CACR_EUSP)
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* Memory bank definitions
|
||||
*/
|
||||
|
||||
#define CONFIG_SYS_CS0_BASE 0xFFE00000
|
||||
#define CONFIG_SYS_CS0_CTRL 0x00001980
|
||||
#define CONFIG_SYS_CS0_MASK 0x001F0001
|
||||
|
||||
#define CONFIG_SYS_CS3_BASE 0xE0000000
|
||||
#define CONFIG_SYS_CS0_CTRL 0x00001980
|
||||
#define CONFIG_SYS_CS3_MASK 0x000F0001
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* Port configuration
|
||||
*/
|
||||
#define CONFIG_SYS_PACNT 0x0000000 /* Port A D[31:24] */
|
||||
#define CONFIG_SYS_PADDR 0x0000000
|
||||
#define CONFIG_SYS_PADAT 0x0000000
|
||||
|
||||
#define CONFIG_SYS_PBCNT 0x0000000 /* Port B D[23:16] */
|
||||
#define CONFIG_SYS_PBDDR 0x0000000
|
||||
#define CONFIG_SYS_PBDAT 0x0000000
|
||||
|
||||
#define CONFIG_SYS_PCCNT 0x0000000 /* Port C D[15:08] */
|
||||
#define CONFIG_SYS_PCDDR 0x0000000
|
||||
#define CONFIG_SYS_PCDAT 0x0000000
|
||||
|
||||
#define CONFIG_SYS_PDCNT 0x0000000 /* Port D D[07:00] */
|
||||
#define CONFIG_SYS_PCDDR 0x0000000
|
||||
#define CONFIG_SYS_PCDAT 0x0000000
|
||||
|
||||
#define CONFIG_SYS_PEHLPAR 0xC0
|
||||
#define CONFIG_SYS_PUAPAR 0x0F
|
||||
#define CONFIG_SYS_DDRUA 0x05
|
||||
#define CONFIG_SYS_PJPAR 0xFF
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* VIDEO configuration
|
||||
*/
|
||||
|
||||
#define CONFIG_VIDEO
|
||||
|
||||
#ifdef CONFIG_VIDEO
|
||||
#define CONFIG_VIDEO_VCXK 1
|
||||
|
||||
#define CONFIG_SYS_VCXK_DEFAULT_LINEALIGN 2
|
||||
#define CONFIG_SYS_VCXK_DOUBLEBUFFERED 1
|
||||
#define CONFIG_SYS_VCXK_BASE CONFIG_SYS_CS3_BASE
|
||||
#define CONFIG_SYS_VCXK_AUTODETECT 1
|
||||
|
||||
#define CONFIG_SYS_VCXK_ACKNOWLEDGE_PORT MCFGPTB_GPTPORT
|
||||
#define CONFIG_SYS_VCXK_ACKNOWLEDGE_DDR MCFGPTB_GPTDDR
|
||||
#define CONFIG_SYS_VCXK_ACKNOWLEDGE_PIN 0x0001
|
||||
|
||||
#define CONFIG_SYS_VCXK_ENABLE_PORT MCFGPTB_GPTPORT
|
||||
#define CONFIG_SYS_VCXK_ENABLE_DDR MCFGPTB_GPTDDR
|
||||
#define CONFIG_SYS_VCXK_ENABLE_PIN 0x0002
|
||||
|
||||
#define CONFIG_SYS_VCXK_REQUEST_PORT MCFGPTB_GPTPORT
|
||||
#define CONFIG_SYS_VCXK_REQUEST_DDR MCFGPTB_GPTDDR
|
||||
#define CONFIG_SYS_VCXK_REQUEST_PIN 0x0004
|
||||
|
||||
#define CONFIG_SYS_VCXK_INVERT_PORT MCFGPIO_PORTE
|
||||
#define CONFIG_SYS_VCXK_INVERT_DDR MCFGPIO_DDRE
|
||||
#define CONFIG_SYS_VCXK_INVERT_PIN MCFGPIO_PORT2
|
||||
|
||||
#endif /* CONFIG_VIDEO */
|
||||
#endif /* _CONFIG_M5282EVB_H */
|
||||
/*---------------------------------------------------------------------*/
|
||||
|
|
@ -0,0 +1,355 @@
|
|||
/*
|
||||
* (C) Copyright 2002 ELTEC Elektronik AG
|
||||
* Frank Gottschling <fgottschling@eltec.de>
|
||||
*
|
||||
* See file CREDITS for list of people who contributed to this
|
||||
* project.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of
|
||||
* the License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston,
|
||||
* MA 02111-1307 USA
|
||||
*/
|
||||
|
||||
/*
|
||||
* board/config.h - configuration options, board specific
|
||||
*/
|
||||
|
||||
#ifndef __CONFIG_H
|
||||
#define __CONFIG_H
|
||||
|
||||
#define GTREGREAD(x) 0xffffffff /* needed for debug */
|
||||
|
||||
/*
|
||||
* High Level Configuration Options
|
||||
* (easy to change)
|
||||
*/
|
||||
|
||||
#define CONFIG_SYS_TEXT_BASE 0xFFF00000
|
||||
|
||||
/* these hardware addresses are pretty bogus, please change them to
|
||||
suit your needs */
|
||||
|
||||
/* first ethernet */
|
||||
#define CONFIG_ETHADDR 00:00:5b:ee:de:ad
|
||||
|
||||
#define CONFIG_IPADDR 192.168.0.105
|
||||
#define CONFIG_SERVERIP 192.168.0.100
|
||||
|
||||
#define CONFIG_ELPPC 1 /* this is an BAB740/BAB750 board */
|
||||
|
||||
#define CONFIG_BAUDRATE 9600 /* console baudrate */
|
||||
|
||||
#undef CONFIG_WATCHDOG
|
||||
|
||||
#define CONFIG_BOOTDELAY 5 /* autoboot after 5 seconds */
|
||||
|
||||
#define CONFIG_ZERO_BOOTDELAY_CHECK
|
||||
|
||||
#undef CONFIG_BOOTARGS
|
||||
#define CONFIG_BOOTCOMMAND \
|
||||
"bootp 1000000; " \
|
||||
"setenv bootargs root=ramfs console=ttyS00,9600 " \
|
||||
"ip=${ipaddr}:${serverip}:${rootpath}:${gatewayip}:" \
|
||||
"${netmask}:${hostname}:eth0:none; " \
|
||||
"bootm"
|
||||
|
||||
#define CONFIG_LOADS_ECHO 0 /* echo off for serial download */
|
||||
#define CONFIG_SYS_LOADS_BAUD_CHANGE /* allow baudrate changes */
|
||||
|
||||
/*
|
||||
* BOOTP options
|
||||
*/
|
||||
#define CONFIG_BOOTP_SUBNETMASK
|
||||
#define CONFIG_BOOTP_GATEWAY
|
||||
#define CONFIG_BOOTP_HOSTNAME
|
||||
#define CONFIG_BOOTP_BOOTPATH
|
||||
|
||||
#define CONFIG_BOOTP_BOOTFILESIZE
|
||||
|
||||
|
||||
/*
|
||||
* Command line configuration.
|
||||
*/
|
||||
#include <config_cmd_default.h>
|
||||
|
||||
#define CONFIG_CMD_PCI
|
||||
#define CONFIG_CMD_JFFS2
|
||||
|
||||
|
||||
/*
|
||||
* Miscellaneous configurable options
|
||||
*/
|
||||
#define CONFIG_SYS_LONGHELP /* undef to save memory */
|
||||
#define CONFIG_SYS_PROMPT "=> " /* Monitor Command Prompt */
|
||||
|
||||
/*
|
||||
* choose between COM1 and COM2 as serial console
|
||||
*/
|
||||
#define CONFIG_CONS_INDEX 1
|
||||
|
||||
#if defined(CONFIG_CMD_KGDB)
|
||||
#define CONFIG_SYS_CBSIZE 1024 /* Console I/O Buffer Size */
|
||||
#else
|
||||
#define CONFIG_SYS_CBSIZE 256 /* Console I/O Buffer Size */
|
||||
#endif
|
||||
#define CONFIG_SYS_PBSIZE (CONFIG_SYS_CBSIZE+sizeof(CONFIG_SYS_PROMPT)+16) /* Print Buffer Size */
|
||||
#define CONFIG_SYS_MAXARGS 16 /* max number of command args */
|
||||
#define CONFIG_SYS_BARGSIZE CONFIG_SYS_CBSIZE /* Boot Argument Buffer Size */
|
||||
|
||||
#define CONFIG_SYS_MEMTEST_START 0x00000000 /* memtest works on */
|
||||
#define CONFIG_SYS_MEMTEST_END 0x04000000 /* 0 ... 64 MB in DRAM */
|
||||
|
||||
#define CONFIG_SYS_LOAD_ADDR 0x1000000 /* default load address */
|
||||
|
||||
#define CONFIG_SYS_HZ 1000 /* dec. freq: 1 ms ticks */
|
||||
|
||||
#define CONFIG_SYS_BAUDRATE_TABLE { 9600, 19200, 38400, 57600, 115200, 230400 }
|
||||
|
||||
/*
|
||||
* Low Level Configuration Settings
|
||||
* (address mappings, register initial values, etc.)
|
||||
* You should know what you are doing if you make changes here.
|
||||
*/
|
||||
#define CONFIG_SYS_BOARD_ASM_INIT
|
||||
#define CONFIG_MISC_INIT_R
|
||||
|
||||
/*
|
||||
* Address mapping scheme for the MPC107 mem controller is mapping B (CHRP)
|
||||
*/
|
||||
#undef CONFIG_SYS_ADDRESS_MAP_A
|
||||
|
||||
#define CONFIG_SYS_PCI_MEMORY_BUS 0x00000000
|
||||
#define CONFIG_SYS_PCI_MEMORY_PHYS 0x00000000
|
||||
#define CONFIG_SYS_PCI_MEMORY_SIZE 0x40000000
|
||||
|
||||
#define CONFIG_SYS_PCI_MEM_BUS 0x80000000
|
||||
#define CONFIG_SYS_PCI_MEM_PHYS 0x80000000
|
||||
#define CONFIG_SYS_PCI_MEM_SIZE 0x7d000000
|
||||
|
||||
#define CONFIG_SYS_ISA_MEM_BUS 0x00000000
|
||||
#define CONFIG_SYS_ISA_MEM_PHYS 0xfd000000
|
||||
#define CONFIG_SYS_ISA_MEM_SIZE 0x01000000
|
||||
|
||||
#define CONFIG_SYS_PCI_IO_BUS 0x00800000
|
||||
#define CONFIG_SYS_PCI_IO_PHYS 0xfe800000
|
||||
#define CONFIG_SYS_PCI_IO_SIZE 0x00400000
|
||||
|
||||
#define CONFIG_SYS_ISA_IO_BUS 0x00000000
|
||||
#define CONFIG_SYS_ISA_IO_PHYS 0xfe000000
|
||||
#define CONFIG_SYS_ISA_IO_SIZE 0x00800000
|
||||
|
||||
/* driver defines FDC,IDE,... */
|
||||
#define CONFIG_SYS_ISA_IO_BASE_ADDRESS CONFIG_SYS_ISA_IO_PHYS
|
||||
#define CONFIG_SYS_ISA_IO CONFIG_SYS_ISA_IO_PHYS
|
||||
#define CONFIG_SYS_60X_PCI_IO_OFFSET CONFIG_SYS_ISA_IO_PHYS
|
||||
|
||||
/*
|
||||
* Start addresses for the final memory configuration
|
||||
* (Set up by the startup code)
|
||||
* Please note that CONFIG_SYS_SDRAM_BASE _must_ start at 0
|
||||
*/
|
||||
#define CONFIG_SYS_SDRAM_BASE 0x00000000
|
||||
|
||||
#define CONFIG_SYS_USR_LED_BASE 0x78000000
|
||||
#define CONFIG_SYS_NVRAM_BASE 0xff000000
|
||||
#define CONFIG_SYS_UART_BASE 0xff400000
|
||||
#define CONFIG_SYS_FLASH_BASE 0xfff00000
|
||||
|
||||
#define MPC107_EUMB_ADDR 0xfce00000
|
||||
#define MPC107_EUMB_PI 0xfce41090
|
||||
#define MPC107_EUMB_GCR 0xfce41020
|
||||
#define MPC107_EUMB_IACKR 0xfce600a0
|
||||
#define MPC107_I2C_ADDR 0xfce03000
|
||||
|
||||
/*
|
||||
* Definitions for initial stack pointer and data area
|
||||
*/
|
||||
#define CONFIG_SYS_INIT_RAM_ADDR 0x00fd0000 /* above the memtest region */
|
||||
#define CONFIG_SYS_INIT_RAM_SIZE 0x4000
|
||||
#define CONFIG_SYS_GBL_DATA_OFFSET (CONFIG_SYS_INIT_RAM_SIZE - GENERATED_GBL_DATA_SIZE)
|
||||
#define CONFIG_SYS_INIT_SP_OFFSET CONFIG_SYS_GBL_DATA_OFFSET
|
||||
|
||||
/*
|
||||
* Flash mapping/organization on the MPC10x.
|
||||
*/
|
||||
#define FLASH_BASE0_PRELIM 0xff800000
|
||||
#define FLASH_BASE1_PRELIM 0xffc00000
|
||||
|
||||
#define CONFIG_SYS_MAX_FLASH_BANKS 2 /* max number of memory banks */
|
||||
#define CONFIG_SYS_MAX_FLASH_SECT 67 /* max number of sectors on one chip */
|
||||
|
||||
#define CONFIG_SYS_FLASH_ERASE_TOUT 120000 /* Timeout for Flash Erase (in ms) */
|
||||
#define CONFIG_SYS_FLASH_WRITE_TOUT 500 /* Timeout for Flash Write (in ms) */
|
||||
|
||||
/*
|
||||
* JFFS2 partitions
|
||||
*
|
||||
*/
|
||||
/* No command line, one static partition, whole device */
|
||||
#undef CONFIG_CMD_MTDPARTS
|
||||
#define CONFIG_JFFS2_DEV "nor0"
|
||||
#define CONFIG_JFFS2_PART_SIZE 0xFFFFFFFF
|
||||
#define CONFIG_JFFS2_PART_OFFSET 0x00000000
|
||||
|
||||
/* mtdparts command line support */
|
||||
/* Note: fake mtd_id used, no linux mtd map file */
|
||||
/*
|
||||
#define CONFIG_CMD_MTDPARTS
|
||||
#define MTDIDS_DEFAULT "nor0=elppc-0,nor1=elppc-1"
|
||||
#define MTDPARTS_DEFAULT "mtdparts=elppc-0:-(jffs2),elppc-1:-(user)"
|
||||
*/
|
||||
|
||||
#define CONFIG_SYS_MONITOR_BASE CONFIG_SYS_FLASH_BASE
|
||||
#define CONFIG_SYS_MONITOR_LEN 0x40000 /* Reserve 256 kB for Monitor */
|
||||
#define CONFIG_SYS_MALLOC_LEN 0x20000 /* Reserve 128 kB for malloc() */
|
||||
#undef CONFIG_SYS_MEMTEST
|
||||
|
||||
/*
|
||||
* Environment settings
|
||||
*/
|
||||
#define CONFIG_ENV_OVERWRITE
|
||||
#define CONFIG_ENV_IS_IN_NVRAM 1 /* use NVRAM for environment vars */
|
||||
#define CONFIG_SYS_NVRAM_SIZE 0x800 /* NVRAM size (2kB) */
|
||||
#define CONFIG_ENV_SIZE 0x400 /* Size of Environment vars (1kB) */
|
||||
#define CONFIG_ENV_ADDR 0x0
|
||||
#define CONFIG_ENV_MAP_ADRS 0xff000000
|
||||
#define CONFIG_SYS_NV_SROM_COPY_ADDR (CONFIG_ENV_ADDR + CONFIG_ENV_SIZE)
|
||||
#define CONFIG_SYS_NVRAM_ACCESS_ROUTINE /* only byte accsess alowed */
|
||||
#define CONFIG_SYS_SROM_SIZE 0x100 /* shadow of revision info is in nvram */
|
||||
|
||||
/*
|
||||
* Serial devices
|
||||
*/
|
||||
#define CONFIG_SYS_NS16550
|
||||
#define CONFIG_SYS_NS16550_SERIAL
|
||||
#define CONFIG_SYS_NS16550_REG_SIZE 1
|
||||
#define CONFIG_SYS_NS16550_CLK 24000000
|
||||
#define CONFIG_SYS_NS16550_COM1 (CONFIG_SYS_UART_BASE + 0)
|
||||
#define CONFIG_SYS_NS16550_COM2 (CONFIG_SYS_UART_BASE + 8)
|
||||
|
||||
/*
|
||||
* PCI stuff
|
||||
*/
|
||||
#define CONFIG_PCI /* include pci support */
|
||||
#define CONFIG_PCI_PNP /* pci plug-and-play */
|
||||
#define CONFIG_PCI_HOST PCI_HOST_AUTO
|
||||
#undef CONFIG_PCI_SCAN_SHOW
|
||||
|
||||
/*
|
||||
* Optional Video console (graphic: SMI LynxEM)
|
||||
*/
|
||||
#define CONFIG_VIDEO
|
||||
#define CONFIG_CFB_CONSOLE
|
||||
#define VIDEO_KBD_INIT_FCT (simple_strtol (getenv("console"), NULL, 10))
|
||||
#define VIDEO_TSTC_FCT serial_tstc
|
||||
#define VIDEO_GETC_FCT serial_getc
|
||||
|
||||
#define CONFIG_VIDEO_SMI_LYNXEM
|
||||
#define CONFIG_VIDEO_LOGO
|
||||
#define CONFIG_CONSOLE_EXTRA_INFO
|
||||
|
||||
/*
|
||||
* Initial BATs
|
||||
*/
|
||||
#if 1
|
||||
|
||||
#define CONFIG_SYS_IBAT0L 0
|
||||
#define CONFIG_SYS_IBAT0U 0
|
||||
#define CONFIG_SYS_DBAT0L CONFIG_SYS_IBAT1L
|
||||
#define CONFIG_SYS_DBAT0U CONFIG_SYS_IBAT1U
|
||||
|
||||
#define CONFIG_SYS_IBAT1L 0
|
||||
#define CONFIG_SYS_IBAT1U 0
|
||||
#define CONFIG_SYS_DBAT1L CONFIG_SYS_IBAT1L
|
||||
#define CONFIG_SYS_DBAT1U CONFIG_SYS_IBAT1U
|
||||
|
||||
#define CONFIG_SYS_IBAT2L 0
|
||||
#define CONFIG_SYS_IBAT2U 0
|
||||
#define CONFIG_SYS_DBAT2L CONFIG_SYS_IBAT2L
|
||||
#define CONFIG_SYS_DBAT2U CONFIG_SYS_IBAT2U
|
||||
|
||||
#define CONFIG_SYS_IBAT3L 0
|
||||
#define CONFIG_SYS_IBAT3U 0
|
||||
#define CONFIG_SYS_DBAT3L CONFIG_SYS_IBAT3L
|
||||
#define CONFIG_SYS_DBAT3U CONFIG_SYS_IBAT3U
|
||||
|
||||
#else
|
||||
|
||||
/* SDRAM */
|
||||
#define CONFIG_SYS_IBAT0L (CONFIG_SYS_SDRAM_BASE | BATL_RW)
|
||||
#define CONFIG_SYS_IBAT0U (CONFIG_SYS_SDRAM_BASE | BATU_BL_256M | BATU_VS | BATU_VP)
|
||||
#define CONFIG_SYS_DBAT0L CONFIG_SYS_IBAT1L
|
||||
#define CONFIG_SYS_DBAT0U CONFIG_SYS_IBAT1U
|
||||
|
||||
/* address range for flashes */
|
||||
#define CONFIG_SYS_IBAT1L (CONFIG_SYS_FLASH_BASE | BATL_RW | BATL_CACHEINHIBIT)
|
||||
#define CONFIG_SYS_IBAT1U (CONFIG_SYS_FLASH_BASE | BATU_BL_16M | BATU_VS | BATU_VP)
|
||||
#define CONFIG_SYS_DBAT1L CONFIG_SYS_IBAT1L
|
||||
#define CONFIG_SYS_DBAT1U CONFIG_SYS_IBAT1U
|
||||
|
||||
/* ISA IO space */
|
||||
#define CONFIG_SYS_IBAT2L (CONFIG_SYS_ISA_IO | BATL_RW | BATL_CACHEINHIBIT)
|
||||
#define CONFIG_SYS_IBAT2U (CONFIG_SYS_ISA_IO | BATU_BL_16M | BATU_VS | BATU_VP)
|
||||
#define CONFIG_SYS_DBAT2L CONFIG_SYS_IBAT2L
|
||||
#define CONFIG_SYS_DBAT2U CONFIG_SYS_IBAT2U
|
||||
|
||||
/* ISA memory space */
|
||||
#define CONFIG_SYS_IBAT3L (CONFIG_SYS_ISA_MEM | BATL_RW | BATL_CACHEINHIBIT)
|
||||
#define CONFIG_SYS_IBAT3U (CONFIG_SYS_ISA_MEM | BATU_BL_16M | BATU_VS | BATU_VP)
|
||||
#define CONFIG_SYS_DBAT3L CONFIG_SYS_IBAT3L
|
||||
#define CONFIG_SYS_DBAT3U CONFIG_SYS_IBAT3U
|
||||
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Speed settings are board specific
|
||||
*/
|
||||
#define CONFIG_SYS_BUS_CLK 100000000
|
||||
#define CONFIG_SYS_CPU_CLK 400000000
|
||||
|
||||
/*
|
||||
* For booting Linux, the board info and command line data
|
||||
* have to be in the first 8 MB of memory, since this is
|
||||
* the maximum mapped by the Linux kernel during initialization.
|
||||
*/
|
||||
#define CONFIG_SYS_BOOTMAPSZ (8 << 20) /* Initial Memory map for Linux */
|
||||
|
||||
/*
|
||||
* Cache Configuration
|
||||
*/
|
||||
#define CONFIG_SYS_CACHELINE_SIZE 32 /* For all MPC74xx CPUs */
|
||||
#if defined(CONFIG_CMD_KGDB)
|
||||
#define CONFIG_SYS_CACHELINE_SHIFT 5 /* log base 2 of the above value */
|
||||
#endif
|
||||
|
||||
/*
|
||||
* L2CR setup -- make sure this is right for your board!
|
||||
* look in include/74xx_7xx.h for the defines used here
|
||||
*/
|
||||
|
||||
#define CONFIG_SYS_L2
|
||||
|
||||
#if 1
|
||||
#define L2_INIT 0 /* cpu 750 CXe*/
|
||||
#else
|
||||
#define L2_INIT (L2CR_L2SIZ_2M | L2CR_L2CLK_3 | L2CR_L2RAM_BURST | \
|
||||
L2CR_L2OH_5 | L2CR_L2CTL | L2CR_L2WT)
|
||||
#endif
|
||||
#define L2_ENABLE (L2_INIT | L2CR_L2E)
|
||||
|
||||
#define CONFIG_EEPRO100
|
||||
#define CONFIG_SYS_RX_ETH_BUFFER 8 /* use 8 rx buffer on eepro100 */
|
||||
#define CONFIG_EEPRO100_SROM_WRITE
|
||||
|
||||
#endif /* __CONFIG_H */
|
||||
|
|
@ -0,0 +1,389 @@
|
|||
/*
|
||||
**=====================================================================
|
||||
**
|
||||
** Copyright (C) 2000, 2001, 2002, 2003
|
||||
** The LEOX team <team@leox.org>, http://www.leox.org
|
||||
**
|
||||
** LEOX.org is about the development of free hardware and software resources
|
||||
** for system on chip.
|
||||
**
|
||||
** Description: U-Boot port on the LEOX's ELPT860 CPU board
|
||||
** ~~~~~~~~~~~
|
||||
**
|
||||
**=====================================================================
|
||||
**
|
||||
** This program is free software; you can redistribute it and/or
|
||||
** modify it under the terms of the GNU General Public License as
|
||||
** published by the Free Software Foundation; either version 2 of
|
||||
** the License, or (at your option) any later version.
|
||||
**
|
||||
** This program is distributed in the hope that it will be useful,
|
||||
** but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
** GNU General Public License for more details.
|
||||
**
|
||||
** You should have received a copy of the GNU General Public License
|
||||
** along with this program; if not, write to the Free Software
|
||||
** Foundation, Inc., 59 Temple Place, Suite 330, Boston,
|
||||
** MA 02111-1307 USA
|
||||
**
|
||||
**=====================================================================
|
||||
*/
|
||||
|
||||
/*
|
||||
* board/config.h - configuration options, board specific
|
||||
*/
|
||||
|
||||
#ifndef __CONFIG_H
|
||||
#define __CONFIG_H
|
||||
|
||||
|
||||
/*
|
||||
* High Level Configuration Options
|
||||
* (easy to change)
|
||||
*/
|
||||
|
||||
#define CONFIG_MPC860 1 /* It's a MPC860, in fact a 860T CPU */
|
||||
#define CONFIG_MPC860T 1
|
||||
#define CONFIG_ELPT860 1 /* ...on a LEOX's ELPT860 CPU board */
|
||||
|
||||
#define CONFIG_SYS_TEXT_BASE 0x02000000
|
||||
|
||||
#define CONFIG_8xx_CONS_SMC1 1 /* Console is on SMC1 */
|
||||
#undef CONFIG_8xx_CONS_SMC2
|
||||
#undef CONFIG_8xx_CONS_NONE
|
||||
|
||||
#define CONFIG_CLOCKS_IN_MHZ 1 /* Clock passed to Linux (<2.4.5) in MHz */
|
||||
#define CONFIG_8xx_GCLK_FREQ 50000000 /* MPC860T runs at 50MHz */
|
||||
|
||||
#define CONFIG_BOOTDELAY 5 /* autoboot after 5 seconds */
|
||||
|
||||
#define CONFIG_BOARD_EARLY_INIT_F 1 /* Call board_early_init_f */
|
||||
#define CONFIG_RESET_PHY_R 1 /* Call reset_phy() */
|
||||
|
||||
/* BOOT arguments */
|
||||
#define CONFIG_PREBOOT \
|
||||
"echo;" \
|
||||
"echo Type \"run nfsboot\" to mount root filesystem over NFS;" \
|
||||
"echo"
|
||||
|
||||
#undef CONFIG_BOOTARGS
|
||||
|
||||
#define CONFIG_EXTRA_ENV_SETTINGS \
|
||||
"ramargs=setenv bootargs root=/dev/ram rw\0" \
|
||||
"rootargs=setenv rootpath /tftp/${ipaddr}\0" \
|
||||
"nfsargs=setenv bootargs root=/dev/nfs rw " \
|
||||
"nfsroot=${serverip}:${rootpath}\0" \
|
||||
"addip=setenv bootargs ${bootargs} " \
|
||||
"ip=${ipaddr}:${serverip}:${gatewayip}:${netmask}" \
|
||||
":${hostname}:eth0:off panic=1\0" \
|
||||
"ramboot=tftp 400000 /home/paugaml/pMulti;" \
|
||||
"run ramargs;bootm\0" \
|
||||
"nfsboot=tftp 400000 /home/paugaml/uImage;" \
|
||||
"run rootargs;run nfsargs;run addip;bootm\0" \
|
||||
""
|
||||
#define CONFIG_BOOTCOMMAND "run ramboot"
|
||||
|
||||
/*
|
||||
* BOOTP options
|
||||
*/
|
||||
#define CONFIG_BOOTP_SUBNETMASK
|
||||
#define CONFIG_BOOTP_GATEWAY
|
||||
#define CONFIG_BOOTP_HOSTNAME
|
||||
#define CONFIG_BOOTP_BOOTPATH
|
||||
#define CONFIG_BOOTP_BOOTFILESIZE
|
||||
|
||||
|
||||
#undef CONFIG_WATCHDOG /* watchdog disabled */
|
||||
#undef CONFIG_CAN_DRIVER /* CAN Driver support disabled */
|
||||
#undef CONFIG_RTC_MPC8xx /* internal RTC MPC8xx unused */
|
||||
#define CONFIG_RTC_DS164x 1 /* RTC is a Dallas DS1646 */
|
||||
|
||||
#define CONFIG_LOADS_ECHO 1 /* echo on for serial download */
|
||||
#undef CONFIG_SYS_LOADS_BAUD_CHANGE /* don't allow baudrate change */
|
||||
|
||||
|
||||
/*
|
||||
* Command line configuration.
|
||||
*/
|
||||
#include <config_cmd_default.h>
|
||||
|
||||
#define CONFIG_CMD_ASKENV
|
||||
#define CONFIG_CMD_DATE
|
||||
|
||||
|
||||
/*
|
||||
* Miscellaneous configurable options
|
||||
*/
|
||||
#define CONFIG_SYS_LONGHELP /* undef to save memory */
|
||||
#define CONFIG_SYS_PROMPT "LEOX_elpt860: " /* Monitor Command Prompt */
|
||||
|
||||
#if defined(CONFIG_CMD_KGDB)
|
||||
# define CONFIG_SYS_CBSIZE 1024 /* Console I/O Buffer Size */
|
||||
#else
|
||||
# define CONFIG_SYS_CBSIZE 256 /* Console I/O Buffer Size */
|
||||
#endif
|
||||
|
||||
#define CONFIG_SYS_PBSIZE (CONFIG_SYS_CBSIZE+sizeof(CONFIG_SYS_PROMPT)+16) /* Print Buffer Size */
|
||||
#define CONFIG_SYS_MAXARGS 16 /* max number of command args */
|
||||
#define CONFIG_SYS_BARGSIZE CONFIG_SYS_CBSIZE /* Boot Argument Buffer Size */
|
||||
|
||||
#define CONFIG_SYS_MEMTEST_START 0x00400000 /* memtest works on */
|
||||
#define CONFIG_SYS_MEMTEST_END 0x00C00000 /* 4 ... 12 MB in DRAM */
|
||||
|
||||
#define CONFIG_SYS_LOAD_ADDR 0x00100000 /* default load address */
|
||||
|
||||
#define CONFIG_SYS_HZ 1000 /* decrementer freq: 1 ms ticks */
|
||||
|
||||
/*
|
||||
* Environment Variables and Storages
|
||||
*/
|
||||
#define CONFIG_ENV_OVERWRITE 1 /* Allow Overwrite of serial# & ethaddr */
|
||||
|
||||
#undef CONFIG_ENV_IS_IN_NVRAM /* Environment is in NVRAM */
|
||||
#undef CONFIG_ENV_IS_IN_EEPROM /* Environment is in I2C EEPROM */
|
||||
#define CONFIG_ENV_IS_IN_FLASH 1 /* Environment is in FLASH */
|
||||
|
||||
#define CONFIG_BAUDRATE 9600 /* console baudrate = 9600 bps */
|
||||
|
||||
#define CONFIG_ETHADDR 00:01:77:00:60:40
|
||||
#define CONFIG_IPADDR 192.168.0.30
|
||||
#define CONFIG_NETMASK 255.255.255.0
|
||||
|
||||
#define CONFIG_SERVERIP 192.168.0.1
|
||||
#define CONFIG_GATEWAYIP 192.168.0.1
|
||||
|
||||
/*
|
||||
* Low Level Configuration Settings
|
||||
* (address mappings, register initial values, etc.)
|
||||
* You should know what you are doing if you make changes here.
|
||||
*/
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* Internal Memory Mapped Register
|
||||
*/
|
||||
#define CONFIG_SYS_IMMR 0xFF000000
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* Definitions for initial stack pointer and data area (in DPRAM)
|
||||
*/
|
||||
#define CONFIG_SYS_INIT_RAM_ADDR CONFIG_SYS_IMMR
|
||||
#define CONFIG_SYS_INIT_RAM_SIZE 0x2F00 /* Size of used area in DPRAM */
|
||||
#define CONFIG_SYS_GBL_DATA_OFFSET (CONFIG_SYS_INIT_RAM_SIZE - GENERATED_GBL_DATA_SIZE)
|
||||
#define CONFIG_SYS_INIT_SP_OFFSET CONFIG_SYS_GBL_DATA_OFFSET
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* Start addresses for the final memory configuration
|
||||
* (Set up by the startup code)
|
||||
* Please note that CONFIG_SYS_SDRAM_BASE _must_ start at 0
|
||||
*/
|
||||
#define CONFIG_SYS_SDRAM_BASE 0x00000000
|
||||
#define CONFIG_SYS_FLASH_BASE 0x02000000
|
||||
#define CONFIG_SYS_NVRAM_BASE 0x03000000
|
||||
|
||||
#if defined(CONFIG_ENV_IS_IN_FLASH)
|
||||
# if defined(DEBUG)
|
||||
# define CONFIG_SYS_MONITOR_LEN (320 << 10) /* Reserve 320 kB for Monitor */
|
||||
# else
|
||||
# define CONFIG_SYS_MONITOR_LEN (256 << 10) /* Reserve 256 kB for Monitor */
|
||||
# endif
|
||||
#else
|
||||
# if defined(DEBUG)
|
||||
# define CONFIG_SYS_MONITOR_LEN (256 << 10) /* Reserve 256 kB for Monitor */
|
||||
# else
|
||||
# define CONFIG_SYS_MONITOR_LEN (192 << 10) /* Reserve 192 kB for Monitor */
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#define CONFIG_SYS_MONITOR_BASE CONFIG_SYS_FLASH_BASE
|
||||
#define CONFIG_SYS_MALLOC_LEN (128 << 10) /* Reserve 128 kB for malloc() */
|
||||
|
||||
/*
|
||||
* For booting Linux, the board info and command line data
|
||||
* have to be in the first 8 MB of memory, since this is
|
||||
* the maximum mapped by the Linux kernel during initialization.
|
||||
*/
|
||||
#define CONFIG_SYS_BOOTMAPSZ (8 << 20) /* Initial Memory map for Linux */
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* FLASH organization
|
||||
*/
|
||||
#define CONFIG_SYS_MAX_FLASH_BANKS 1 /* max number of memory banks */
|
||||
#define CONFIG_SYS_MAX_FLASH_SECT 8 /* max number of sectors on one chip */
|
||||
|
||||
#define CONFIG_SYS_FLASH_ERASE_TOUT 120000 /* Timeout for Flash Erase (in ms) */
|
||||
#define CONFIG_SYS_FLASH_WRITE_TOUT 500 /* Timeout for Flash Write (in ms) */
|
||||
|
||||
#if defined(CONFIG_ENV_IS_IN_FLASH)
|
||||
# define CONFIG_ENV_OFFSET 0x10000 /* Offset of Environment Sector */
|
||||
# define CONFIG_ENV_SIZE 0x10000 /* Total Size of Environment Sector */
|
||||
#endif
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* NVRAM organization
|
||||
*/
|
||||
#define CONFIG_SYS_NVRAM_BASE_ADDR CONFIG_SYS_NVRAM_BASE /* Base address of NVRAM area */
|
||||
#define CONFIG_SYS_NVRAM_SIZE ((128*1024)-8) /* clock regs resident in the */
|
||||
/* 8 top NVRAM locations */
|
||||
|
||||
#if defined(CONFIG_ENV_IS_IN_NVRAM)
|
||||
# define CONFIG_ENV_ADDR CONFIG_SYS_NVRAM_BASE /* Base address of NVRAM area */
|
||||
# define CONFIG_ENV_SIZE 0x4000 /* Total Size of Environment Sector */
|
||||
#endif
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* Cache Configuration
|
||||
*/
|
||||
#define CONFIG_SYS_CACHELINE_SIZE 16 /* For all MPC8xx CPUs */
|
||||
|
||||
#if defined(CONFIG_CMD_KGDB)
|
||||
# define CONFIG_SYS_CACHELINE_SHIFT 4 /* log base 2 of the above value */
|
||||
#endif
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* SYPCR - System Protection Control 11-9
|
||||
* SYPCR can only be written once after reset!
|
||||
*-----------------------------------------------------------------------
|
||||
* Software & Bus Monitor Timer max, Bus Monitor enable, SW Watchdog freeze
|
||||
*/
|
||||
#if defined(CONFIG_WATCHDOG)
|
||||
# define CONFIG_SYS_SYPCR (SYPCR_SWTC | SYPCR_BMT | SYPCR_BME | SYPCR_SWF | \
|
||||
SYPCR_SWE | SYPCR_SWRI | SYPCR_SWP)
|
||||
#else
|
||||
# define CONFIG_SYS_SYPCR (SYPCR_SWTC | SYPCR_BMT | SYPCR_BME | SYPCR_SWF | \
|
||||
SYPCR_SWP)
|
||||
#endif
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* SUMCR - SIU Module Configuration 11-6
|
||||
*-----------------------------------------------------------------------
|
||||
* PCMCIA config., multi-function pin tri-state
|
||||
*/
|
||||
#define CONFIG_SYS_SIUMCR (SIUMCR_DBGC11)
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* TBSCR - Time Base Status and Control 11-26
|
||||
*-----------------------------------------------------------------------
|
||||
* Clear Reference Interrupt Status, Timebase freezing enabled
|
||||
*/
|
||||
#define CONFIG_SYS_TBSCR (TBSCR_REFA | TBSCR_REFB | TBSCR_TBF)
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* RTCSC - Real-Time Clock Status and Control Register 11-27
|
||||
*-----------------------------------------------------------------------
|
||||
* Once-per-Second Interrupt, Alarm Interrupt, RTC freezing enabled, RTC
|
||||
* enabled
|
||||
*/
|
||||
#define CONFIG_SYS_RTCSC (RTCSC_SEC | RTCSC_ALR | RTCSC_RTF| RTCSC_RTE)
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* PISCR - Periodic Interrupt Status and Control 11-31
|
||||
*-----------------------------------------------------------------------
|
||||
* Clear Periodic Interrupt Status, Interrupt Timer freezing enabled
|
||||
*/
|
||||
#define CONFIG_SYS_PISCR (PISCR_PS | PISCR_PITF)
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* PLPRCR - PLL, Low-Power, and Reset Control Register 15-30
|
||||
*-----------------------------------------------------------------------
|
||||
* Reset PLL lock status sticky bit, timer expired status bit and timer
|
||||
* interrupt status bit - leave PLL multiplication factor unchanged !
|
||||
*/
|
||||
#define CONFIG_SYS_PLPRCR (PLPRCR_SPLSS | PLPRCR_TEXPS | PLPRCR_TMIST)
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* SCCR - System Clock and reset Control Register 15-27
|
||||
*-----------------------------------------------------------------------
|
||||
* Set clock output, timebase and RTC source and divider,
|
||||
* power management and some other internal clocks
|
||||
*/
|
||||
#define SCCR_MASK SCCR_EBDF11
|
||||
#define CONFIG_SYS_SCCR (SCCR_TBS | \
|
||||
SCCR_COM00 | SCCR_DFSYNC00 | SCCR_DFBRG00 | \
|
||||
SCCR_DFNL000 | SCCR_DFNH000 | SCCR_DFLCD000 | \
|
||||
SCCR_DFALCD00)
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* Chip Selects + SDRAM timings + Memory Periodic Timer Prescaler
|
||||
*-----------------------------------------------------------------------
|
||||
*
|
||||
*/
|
||||
#ifdef DEBUG
|
||||
# define CONFIG_SYS_DER 0xFFE7400F /* Debug Enable Register */
|
||||
#else
|
||||
# define CONFIG_SYS_DER 0
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Init Memory Controller:
|
||||
* ~~~~~~~~~~~~~~~~~~~~~~
|
||||
*
|
||||
* BR0 and OR0 (FLASH)
|
||||
*/
|
||||
|
||||
#define FLASH_BASE0_PRELIM CONFIG_SYS_FLASH_BASE /* FLASH bank #0 */
|
||||
|
||||
/* used to re-map FLASH both when starting from SRAM or FLASH:
|
||||
* restrict access enough to keep SRAM working (if any)
|
||||
* but not too much to meddle with FLASH accesses
|
||||
*/
|
||||
#define CONFIG_SYS_PRELIM_OR_AM 0xFF000000 /* 16 MB between each CSx */
|
||||
|
||||
/* FLASH timing: ACS = 11, TRLX = 0, CSNT = 0, SCY = 8, EHTR = 0 */
|
||||
#define CONFIG_SYS_OR_TIMING_FLASH (OR_ACS_DIV2 | OR_BI | OR_SCY_8_CLK)
|
||||
|
||||
#define CONFIG_SYS_OR0_PRELIM (CONFIG_SYS_PRELIM_OR_AM | CONFIG_SYS_OR_TIMING_FLASH)
|
||||
#define CONFIG_SYS_BR0_PRELIM ((FLASH_BASE0_PRELIM & BR_BA_MSK) | BR_PS_8 | BR_V )
|
||||
|
||||
/*
|
||||
* BR1 and OR1 (SDRAM)
|
||||
*
|
||||
*/
|
||||
#define SDRAM_BASE1_PRELIM CONFIG_SYS_SDRAM_BASE /* SDRAM bank #0 */
|
||||
#define SDRAM_MAX_SIZE 0x02000000 /* 32 MB MAX for CS1 */
|
||||
|
||||
/* SDRAM timing: */
|
||||
#define CONFIG_SYS_OR_TIMING_SDRAM 0x00000000
|
||||
|
||||
#define CONFIG_SYS_OR1_PRELIM ((2 * CONFIG_SYS_PRELIM_OR_AM) | CONFIG_SYS_OR_TIMING_SDRAM )
|
||||
#define CONFIG_SYS_BR1_PRELIM ((SDRAM_BASE1_PRELIM & BR_BA_MSK) | BR_MS_UPMA | BR_V )
|
||||
|
||||
/*
|
||||
* BR2 and OR2 (NVRAM)
|
||||
*
|
||||
*/
|
||||
#define NVRAM_BASE1_PRELIM CONFIG_SYS_NVRAM_BASE /* NVRAM bank #0 */
|
||||
#define NVRAM_MAX_SIZE 0x00020000 /* 128 KB MAX for CS2 */
|
||||
|
||||
#define CONFIG_SYS_OR2_PRELIM 0xFFF80160
|
||||
#define CONFIG_SYS_BR2_PRELIM ((NVRAM_BASE1_PRELIM & BR_BA_MSK) | BR_PS_8 | BR_V )
|
||||
|
||||
/*
|
||||
* Memory Periodic Timer Prescaler
|
||||
*/
|
||||
|
||||
/* periodic timer for refresh */
|
||||
#define CONFIG_SYS_MAMR_PTA 97 /* start with divider for 100 MHz */
|
||||
|
||||
/* refresh rate 15.6 us (= 64 ms / 4K = 62.4 / quad bursts) for <= 128 MBit */
|
||||
#define CONFIG_SYS_MPTPR_2BK_4K MPTPR_PTP_DIV16 /* setting for 2 banks */
|
||||
#define CONFIG_SYS_MPTPR_1BK_4K MPTPR_PTP_DIV32 /* setting for 1 bank */
|
||||
|
||||
/* refresh rate 7.8 us (= 64 ms / 8K = 31.2 / quad bursts) for 256 MBit */
|
||||
#define CONFIG_SYS_MPTPR_2BK_8K MPTPR_PTP_DIV8 /* setting for 2 banks */
|
||||
#define CONFIG_SYS_MPTPR_1BK_8K MPTPR_PTP_DIV16 /* setting for 1 bank */
|
||||
|
||||
/*
|
||||
* MAMR settings for SDRAM
|
||||
*/
|
||||
|
||||
/* 8 column SDRAM */
|
||||
#define CONFIG_SYS_MAMR_8COL ((CONFIG_SYS_MAMR_PTA << MAMR_PTA_SHIFT) | MAMR_PTAE | \
|
||||
MAMR_AMA_TYPE_0 | MAMR_DSA_1_CYCL | MAMR_G0CLA_A11 | \
|
||||
MAMR_RLFA_1X | MAMR_WLFA_1X | MAMR_TLFA_4X)
|
||||
/* 9 column SDRAM */
|
||||
#define CONFIG_SYS_MAMR_9COL ((CONFIG_SYS_MAMR_PTA << MAMR_PTA_SHIFT) | MAMR_PTAE | \
|
||||
MAMR_AMA_TYPE_1 | MAMR_DSA_1_CYCL | MAMR_G0CLA_A10 | \
|
||||
MAMR_RLFA_1X | MAMR_WLFA_1X | MAMR_TLFA_4X)
|
||||
|
||||
#endif /* __CONFIG_H */
|
||||
|
|
@ -0,0 +1,206 @@
|
|||
/*
|
||||
* Copyright (C) 2005 Arabella Software Ltd.
|
||||
* Yuli Barcohen <yuli@arabellasw.com>
|
||||
*
|
||||
* Support for Embedded Planet EP88x boards.
|
||||
* Tested on EP88xC with MPC885 CPU, 64MB SDRAM and 16MB flash.
|
||||
*
|
||||
* See file CREDITS for list of people who contributed to this
|
||||
* project.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of
|
||||
* the License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston,
|
||||
* MA 02111-1307 USA
|
||||
*/
|
||||
#ifndef __CONFIG_H
|
||||
#define __CONFIG_H
|
||||
|
||||
#define CONFIG_MPC885
|
||||
|
||||
#define CONFIG_EP88X /* Embedded Planet EP88x board */
|
||||
|
||||
#define CONFIG_SYS_TEXT_BASE 0xFC000000
|
||||
|
||||
#define CONFIG_BOARD_EARLY_INIT_F /* Call board_early_init_f */
|
||||
|
||||
/* Allow serial number (serial#) and MAC address (ethaddr) to be overwritten */
|
||||
#define CONFIG_ENV_OVERWRITE
|
||||
|
||||
#define CONFIG_8xx_CONS_SMC1 1 /* Console is on SMC1 */
|
||||
#define CONFIG_BAUDRATE 38400
|
||||
|
||||
#define CONFIG_ETHER_ON_FEC1 /* Enable Ethernet on FEC1 */
|
||||
#define CONFIG_ETHER_ON_FEC2 /* Enable Ethernet on FEC2 */
|
||||
#if defined(CONFIG_ETHER_ON_FEC1) || defined(CONFIG_ETHER_ON_FEC2)
|
||||
#define CONFIG_SYS_DISCOVER_PHY
|
||||
#define CONFIG_MII_INIT 1
|
||||
#define FEC_ENET
|
||||
#endif /* CONFIG_FEC_ENET */
|
||||
|
||||
#define CONFIG_8xx_OSCLK 10000000 /* 10 MHz oscillator on EXTCLK */
|
||||
#define CONFIG_8xx_CPUCLK_DEFAULT 100000000
|
||||
#define CONFIG_SYS_8xx_CPUCLK_MIN 40000000
|
||||
#define CONFIG_SYS_8xx_CPUCLK_MAX 133000000
|
||||
|
||||
/*
|
||||
* 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_DHCP
|
||||
#define CONFIG_CMD_IMMAP
|
||||
#define CONFIG_CMD_MII
|
||||
#define CONFIG_CMD_PING
|
||||
|
||||
|
||||
#define CONFIG_BOOTDELAY 5 /* Autoboot after 5 seconds */
|
||||
#define CONFIG_BOOTCOMMAND "bootm fe060000" /* Autoboot command */
|
||||
#define CONFIG_BOOTARGS "root=/dev/mtdblock1 rw mtdparts=phys:2M(ROM)ro,-(root)"
|
||||
|
||||
#define CONFIG_BZIP2 /* Include support for bzip2 compressed images */
|
||||
#undef CONFIG_WATCHDOG /* Disable platform specific watchdog */
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* Miscellaneous configurable options
|
||||
*/
|
||||
#define CONFIG_SYS_PROMPT "=> " /* Monitor Command Prompt */
|
||||
#define CONFIG_SYS_HUSH_PARSER
|
||||
#define CONFIG_SYS_LONGHELP /* #undef to save memory */
|
||||
#define CONFIG_SYS_CBSIZE 256 /* Console I/O Buffer Size */
|
||||
#define CONFIG_SYS_PBSIZE (CONFIG_SYS_CBSIZE + sizeof(CONFIG_SYS_PROMPT) + 16) /* Print Buffer Size */
|
||||
#define CONFIG_SYS_MAXARGS 16 /* Max number of command args */
|
||||
#define CONFIG_SYS_BARGSIZE CONFIG_SYS_CBSIZE /* Boot Argument Buffer Size */
|
||||
|
||||
#define CONFIG_SYS_LOAD_ADDR 0x400000 /* Default load address */
|
||||
|
||||
#define CONFIG_SYS_HZ 1000 /* Decrementer freq: 1 ms ticks */
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* RAM configuration (note that CONFIG_SYS_SDRAM_BASE must be zero)
|
||||
*/
|
||||
#define CONFIG_SYS_SDRAM_BASE 0x00000000
|
||||
#define CONFIG_SYS_SDRAM_MAX_SIZE 0x08000000 /* Up to 128 Mbyte */
|
||||
|
||||
#define CONFIG_SYS_MAMR 0x00805000
|
||||
|
||||
/*
|
||||
* 4096 Up to 4096 SDRAM rows
|
||||
* 1000 factor s -> ms
|
||||
* 32 PTP (pre-divider from MPTPR)
|
||||
* 4 Number of refresh cycles per period
|
||||
* 64 Refresh cycle in ms per number of rows
|
||||
*/
|
||||
#define CONFIG_SYS_PTA_PER_CLK ((4096 * 32 * 1000) / (4 * 64))
|
||||
|
||||
#define CONFIG_SYS_MEMTEST_START 0x00100000 /* memtest works on */
|
||||
#define CONFIG_SYS_MEMTEST_END 0x00500000 /* 1 ... 5 MB in SDRAM */
|
||||
|
||||
#define CONFIG_SYS_RESET_ADDRESS 0x09900000
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* For booting Linux, the board info and command line data
|
||||
* have to be in the first 8 MB of memory, since this is
|
||||
* the maximum mapped by the Linux kernel during initialization.
|
||||
*/
|
||||
#define CONFIG_SYS_BOOTMAPSZ (8 << 20) /* Initial Memory map for Linux */
|
||||
|
||||
#define CONFIG_SYS_MONITOR_BASE CONFIG_SYS_TEXT_BASE
|
||||
#define CONFIG_SYS_MONITOR_LEN (256 << 10) /* Reserve 256 KB for Monitor */
|
||||
#ifdef CONFIG_BZIP2
|
||||
#define CONFIG_SYS_MALLOC_LEN (4096 << 10) /* Reserve ~4 MB for malloc() */
|
||||
#else
|
||||
#define CONFIG_SYS_MALLOC_LEN (128 << 10) /* Reserve 128 KB for malloc() */
|
||||
#endif /* CONFIG_BZIP2 */
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* Flash organisation
|
||||
*/
|
||||
#define CONFIG_SYS_FLASH_BASE 0xFC000000
|
||||
#define CONFIG_SYS_FLASH_CFI /* The flash is CFI compatible */
|
||||
#define CONFIG_FLASH_CFI_DRIVER /* Use common CFI driver */
|
||||
#define CONFIG_SYS_MAX_FLASH_BANKS 1 /* Max number of flash banks */
|
||||
#define CONFIG_SYS_MAX_FLASH_SECT 512 /* Max num of sects on one chip */
|
||||
|
||||
/* Environment is in flash */
|
||||
#define CONFIG_ENV_IS_IN_FLASH
|
||||
#define CONFIG_ENV_SECT_SIZE 0x20000 /* We use one complete sector */
|
||||
#define CONFIG_ENV_ADDR (CONFIG_SYS_MONITOR_BASE + CONFIG_SYS_MONITOR_LEN)
|
||||
|
||||
#define CONFIG_SYS_OR0_PRELIM 0xFC000160
|
||||
#define CONFIG_SYS_BR0_PRELIM (CONFIG_SYS_FLASH_BASE | BR_PS_32 | BR_MS_GPCM | BR_V)
|
||||
|
||||
#define CONFIG_SYS_DIRECT_FLASH_TFTP
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* BCSR
|
||||
*/
|
||||
#define CONFIG_SYS_OR3_PRELIM 0xFF0005B0
|
||||
#define CONFIG_SYS_BR3_PRELIM (0xFA000000 |BR_PS_16 | BR_MS_GPCM | BR_V)
|
||||
|
||||
#define CONFIG_SYS_BCSR 0xFA400000
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* Internal Memory Map Register
|
||||
*/
|
||||
#define CONFIG_SYS_IMMR 0xF0000000
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* Definitions for initial stack pointer and data area (in DPRAM)
|
||||
*/
|
||||
#define CONFIG_SYS_INIT_RAM_ADDR CONFIG_SYS_IMMR
|
||||
#define CONFIG_SYS_INIT_RAM_SIZE 0x2F00 /* Size of used area in DPRAM */
|
||||
#define CONFIG_SYS_GBL_DATA_OFFSET (CONFIG_SYS_INIT_RAM_SIZE - GENERATED_GBL_DATA_SIZE)
|
||||
#define CONFIG_SYS_INIT_SP_OFFSET CONFIG_SYS_GBL_DATA_OFFSET
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* Configuration registers
|
||||
*/
|
||||
#ifdef CONFIG_WATCHDOG
|
||||
#define CONFIG_SYS_SYPCR (SYPCR_SWTC | SYPCR_BMT | SYPCR_BME | \
|
||||
SYPCR_SWF | SYPCR_SWE | SYPCR_SWRI | \
|
||||
SYPCR_SWP)
|
||||
#else
|
||||
#define CONFIG_SYS_SYPCR (SYPCR_SWTC | SYPCR_BMT | SYPCR_BME | \
|
||||
SYPCR_SWF | SYPCR_SWP)
|
||||
#endif /* CONFIG_WATCHDOG */
|
||||
|
||||
#define CONFIG_SYS_SIUMCR (SIUMCR_MLRC01 | SIUMCR_DBGC11)
|
||||
|
||||
/* TBSCR - Time Base Status and Control Register */
|
||||
#define CONFIG_SYS_TBSCR (TBSCR_TBF | TBSCR_TBE)
|
||||
|
||||
/* PISCR - Periodic Interrupt Status and Control */
|
||||
#define CONFIG_SYS_PISCR PISCR_PS
|
||||
|
||||
/* SCCR - System Clock and reset Control Register */
|
||||
#define SCCR_MASK SCCR_EBDF11
|
||||
#define CONFIG_SYS_SCCR SCCR_RTSEL
|
||||
|
||||
#define CONFIG_SYS_DER 0
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* Cache Configuration
|
||||
*/
|
||||
#define CONFIG_SYS_CACHELINE_SIZE 16 /* For all MPC8xx chips */
|
||||
|
||||
#endif /* __CONFIG_H */
|
||||
|
|
@ -0,0 +1,310 @@
|
|||
/*
|
||||
* (C) Copyright 2000
|
||||
* Wolfgang Denk, DENX Software Engineering, wd@denx.de.
|
||||
*
|
||||
* See file CREDITS for list of people who contributed to this
|
||||
* project.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of
|
||||
* the License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston,
|
||||
* MA 02111-1307 USA
|
||||
*/
|
||||
|
||||
/*
|
||||
* board/config.h - configuration options, board specific
|
||||
*/
|
||||
|
||||
#ifndef __CONFIG_H
|
||||
#define __CONFIG_H
|
||||
|
||||
/*
|
||||
* High Level Configuration Options
|
||||
* (easy to change)
|
||||
*/
|
||||
|
||||
#define CONFIG_MPC850 1 /* This is a MPC850 CPU */
|
||||
#define CONFIG_ESTEEM192E 1 /* ...on a EST ESTEEM192E */
|
||||
|
||||
#define CONFIG_SYS_TEXT_BASE 0x40000000
|
||||
|
||||
#define CONFIG_FLASH_16BIT 1 /* Rom 16 bit data bus */
|
||||
|
||||
#define CONFIG_8xx_CONS_SMC1 1 /* Console is on SMC1 */
|
||||
#undef CONFIG_8xx_CONS_SMC2
|
||||
#undef CONFIG_8xx_CONS_NONE
|
||||
|
||||
#define MPC8XX_FACT 10 /* Multiply by 10 */
|
||||
#define MPC8XX_XIN 4915200 /* 4.915200 MHz in - ??? - XXX */
|
||||
#define CONFIG_SYS_PLPRCR_MF ((MPC8XX_FACT-1) << 20)
|
||||
#define MPC8XX_HZ ((MPC8XX_XIN) * (MPC8XX_FACT)) /* 49,152,000 Hz */
|
||||
|
||||
#define CONFIG_8xx_GCLK_FREQ MPC8XX_HZ /* Force it - dont measure it */
|
||||
|
||||
#define CONFIG_CLOCKS_IN_MHZ 1 /* clocks passsed to Linux in MHz */
|
||||
|
||||
#define CONFIG_BAUDRATE 9600
|
||||
#if 0
|
||||
#define CONFIG_BOOTDELAY -1 /* autoboot disabled */
|
||||
#else
|
||||
#define CONFIG_BOOTDELAY 5 /* autoboot after 5 seconds */
|
||||
#endif
|
||||
#define CONFIG_BOOTCOMMAND "bootm 40030000" /* autoboot command */
|
||||
|
||||
#define CONFIG_BOOTARGS "root=/dev/ram rw ramdisk=8192 " \
|
||||
"ip=100.100.100.21:100.100.100.14:100.100.100.1:255.0.0.0 "
|
||||
/*
|
||||
* Miscellaneous configurable options
|
||||
*/
|
||||
|
||||
#define CONFIG_LOADS_ECHO 1 /* echo on for serial download */
|
||||
#undef CONFIG_SYS_LOADS_BAUD_CHANGE /* don't allow baudrate change */
|
||||
|
||||
#undef CONFIG_WATCHDOG /* watchdog disabled */
|
||||
|
||||
/*
|
||||
* BOOTP options
|
||||
*/
|
||||
#define CONFIG_BOOTP_SUBNETMASK
|
||||
#define CONFIG_BOOTP_GATEWAY
|
||||
#define CONFIG_BOOTP_HOSTNAME
|
||||
#define CONFIG_BOOTP_BOOTPATH
|
||||
#define CONFIG_BOOTP_BOOTFILESIZE
|
||||
|
||||
|
||||
/*
|
||||
* Command line configuration.
|
||||
*/
|
||||
#include <config_cmd_default.h>
|
||||
|
||||
|
||||
#define CONFIG_SYS_LONGHELP /* undef to save memory */
|
||||
#define CONFIG_SYS_PROMPT "BOOT: " /* Monitor Command Prompt */
|
||||
#define CONFIG_SYS_CBSIZE 256 /* Console I/O Buffer Size */
|
||||
#define CONFIG_SYS_PBSIZE (CONFIG_SYS_CBSIZE+sizeof(CONFIG_SYS_PROMPT)+16) /* Print Buffer Size */
|
||||
#define CONFIG_SYS_MAXARGS 8 /* max number of command args */
|
||||
#define CONFIG_SYS_BARGSIZE CONFIG_SYS_CBSIZE /* Boot Argument Buffer Size */
|
||||
|
||||
#define CONFIG_SYS_MEMTEST_START 0x0400000 /* memtest works on */
|
||||
#define CONFIG_SYS_MEMTEST_END 0x0C00000 /* 4 ... 12 MB in DRAM */
|
||||
|
||||
#define CONFIG_SYS_LOAD_ADDR 0x100000 /* default load address */
|
||||
|
||||
#define CONFIG_SYS_HZ 1000 /* decrementer freq: 1 ms ticks */
|
||||
|
||||
/*
|
||||
* Low Level Configuration Settings
|
||||
* (address mappings, register initial values, etc.)
|
||||
* You should know what you are doing if you make changes here.
|
||||
*/
|
||||
/*-----------------------------------------------------------------------
|
||||
* Internal Memory Mapped Register
|
||||
*/
|
||||
#define CONFIG_SYS_IMMR 0xFF000000
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* Definitions for initial stack pointer and data area (in DPRAM)
|
||||
*/
|
||||
#define CONFIG_SYS_INIT_RAM_ADDR CONFIG_SYS_IMMR
|
||||
#define CONFIG_SYS_INIT_RAM_SIZE 0x2F00 /* Size of used area in DPRAM */
|
||||
#define CONFIG_SYS_GBL_DATA_OFFSET (CONFIG_SYS_INIT_RAM_SIZE - GENERATED_GBL_DATA_SIZE)
|
||||
#define CONFIG_SYS_INIT_SP_OFFSET CONFIG_SYS_GBL_DATA_OFFSET
|
||||
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* Start addresses for the final memory configuration
|
||||
* (Set up by the startup code)
|
||||
* Please note that CONFIG_SYS_SDRAM_BASE _must_ start at 0
|
||||
*/
|
||||
#define CONFIG_SYS_SDRAM_BASE 0x00000000
|
||||
#define CONFIG_SYS_FLASH_BASE 0x40000000
|
||||
#ifdef DEBUG
|
||||
#define CONFIG_SYS_MONITOR_LEN (256 << 10) /* Reserve 256 kB for Monitor */
|
||||
#else
|
||||
#define CONFIG_SYS_MONITOR_LEN (128 << 10) /* Reserve 128 kB for Monitor */
|
||||
#endif
|
||||
#define CONFIG_SYS_MONITOR_BASE CONFIG_SYS_FLASH_BASE
|
||||
#define CONFIG_SYS_MALLOC_LEN (128 << 10) /* Reserve 128 kB for malloc() */
|
||||
|
||||
/*
|
||||
* For booting Linux, the board info and command line data
|
||||
* have to be in the first 8 MB of memory, since this is
|
||||
* the maximum mapped by the Linux kernel during initialization.
|
||||
*/
|
||||
#define CONFIG_SYS_BOOTMAPSZ (8 << 20) /* Initial Memory map for Linux */
|
||||
/*-----------------------------------------------------------------------
|
||||
* FLASH organization
|
||||
*/
|
||||
#define CONFIG_SYS_MAX_FLASH_BANKS 2 /* max number of memory banks */
|
||||
#define CONFIG_SYS_MAX_FLASH_SECT 71 /* max number of sectors on one chip */
|
||||
|
||||
#define CONFIG_SYS_FLASH_ERASE_TOUT 120000 /* Timeout for Flash Erase (in ms) */
|
||||
#define CONFIG_SYS_FLASH_WRITE_TOUT 500 /* Timeout for Flash Write (in ms) */
|
||||
|
||||
#define CONFIG_ENV_IS_IN_FLASH 1
|
||||
#define CONFIG_ENV_OFFSET 0x8000 /* Offset of Environment Sector */
|
||||
#define CONFIG_ENV_SIZE 0x2000 /* Total Size of Environment Sector */
|
||||
/*-----------------------------------------------------------------------
|
||||
* Cache Configuration
|
||||
*/
|
||||
#define CONFIG_SYS_CACHELINE_SIZE 16 /* For all MPC8xx CPUs */
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* SYPCR - System Protection Control 11-9
|
||||
* SYPCR can only be written once after reset!
|
||||
*-----------------------------------------------------------------------
|
||||
* Software & Bus Monitor Timer max, Bus Monitor enable, SW Watchdog freeze
|
||||
*/
|
||||
#define CONFIG_SYS_SYPCR (SYPCR_SWTC | SYPCR_BMT | SYPCR_BME | SYPCR_SWF | SYPCR_SWP)
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* SUMCR - SIU Module Configuration 11-6
|
||||
*-----------------------------------------------------------------------
|
||||
* PCMCIA config., multi-function pin tri-state
|
||||
*/
|
||||
#define CONFIG_SYS_SIUMCR (SIUMCR_DBGC00 | SIUMCR_DBPC00 | SIUMCR_MLRC01) /* DBGC00 */
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* TBSCR - Time Base Status and Control 11-26
|
||||
*-----------------------------------------------------------------------
|
||||
* Clear Reference Interrupt Status, Timebase freezing enabled
|
||||
*/
|
||||
#define CONFIG_SYS_TBSCR (TBSCR_REFA | TBSCR_REFB | TBSCR_TBF | TBSCR_TBE)
|
||||
|
||||
/* (TBSCR_REFA | TBSCR_REFB | TBSCR_TBF) */
|
||||
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* PISCR - Periodic Interrupt Status and Control 11-31
|
||||
*-----------------------------------------------------------------------
|
||||
* Clear Periodic Interrupt Status, Interrupt Timer freezing enabled
|
||||
*/
|
||||
#define CONFIG_SYS_PISCR (PISCR_PS | PISCR_PITF)
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* PLPRCR - PLL, Low-Power, and Reset Control Register 15-30
|
||||
*-----------------------------------------------------------------------
|
||||
* Reset PLL lock status sticky bit, timer expired status bit and timer
|
||||
* interrupt status bit - leave PLL multiplication factor unchanged !
|
||||
*/
|
||||
#define CONFIG_SYS_PLPRCR (CONFIG_SYS_PLPRCR_MF | PLPRCR_SPLSS | PLPRCR_TEXPS | PLPRCR_TMIST)
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* SCCR - System Clock and reset Control Register 15-27
|
||||
*-----------------------------------------------------------------------
|
||||
* Set clock output, timebase and RTC source and divider,
|
||||
* power management and some other internal clocks
|
||||
*/
|
||||
#define SCCR_MASK SCCR_EBDF11
|
||||
#define CONFIG_SYS_SCCR (SCCR_TBS | \
|
||||
SCCR_COM00 | SCCR_DFSYNC00 | SCCR_DFBRG00 | \
|
||||
SCCR_DFNL000 | SCCR_DFNH000 | SCCR_DFLCD000 | \
|
||||
SCCR_DFALCD00)
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* PCMCIA stuff
|
||||
*-----------------------------------------------------------------------
|
||||
*
|
||||
*/
|
||||
#define CONFIG_SYS_PCMCIA_MEM_ADDR (0xE0000000)
|
||||
#define CONFIG_SYS_PCMCIA_MEM_SIZE ( 64 << 20 )
|
||||
#define CONFIG_SYS_PCMCIA_DMA_ADDR (0xE4000000)
|
||||
#define CONFIG_SYS_PCMCIA_DMA_SIZE ( 64 << 20 )
|
||||
#define CONFIG_SYS_PCMCIA_ATTRB_ADDR (0xE8000000)
|
||||
#define CONFIG_SYS_PCMCIA_ATTRB_SIZE ( 64 << 20 )
|
||||
#define CONFIG_SYS_PCMCIA_IO_ADDR (0xEC000000)
|
||||
#define CONFIG_SYS_PCMCIA_IO_SIZE ( 64 << 20 )
|
||||
|
||||
#define CONFIG_SYS_PCMCIA_INTERRUPT SIU_LEVEL6
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
*
|
||||
*-----------------------------------------------------------------------
|
||||
*
|
||||
*/
|
||||
/*#define CONFIG_SYS_DER 0x2002000F*/
|
||||
#define CONFIG_SYS_DER 0
|
||||
/*#define CONFIG_SYS_DER 0x02002000 */
|
||||
|
||||
|
||||
/*
|
||||
* Init Memory Controller:
|
||||
*
|
||||
* BR0/1 and OR0/1 (FLASH)
|
||||
*/
|
||||
|
||||
#define FLASH_BASE0_PRELIM 0x40000000 /* FLASH bank #0 */
|
||||
#define FLASH_BASE1_PRELIM 0x60000000 /* FLASH bank #0 */
|
||||
|
||||
/* used to re-map FLASH both when starting from SRAM or FLASH:
|
||||
* restrict access enough to keep SRAM working (if any)
|
||||
* but not too much to meddle with FLASH accesses
|
||||
*/
|
||||
#define CONFIG_SYS_REMAP_OR_AM 0x80000000 /* OR addr mask */
|
||||
#define CONFIG_SYS_PRELIM_OR_AM 0xE0000000 /* OR addr mask */
|
||||
|
||||
/* FLASH timing: ACS = 11, TRLX = 0, CSNT = 1, SCY = 5, EHTR = 1 */
|
||||
#define CONFIG_SYS_OR_TIMING_FLASH 0x00000160
|
||||
/*(OR_CSNT_SAM | OR_ACS_DIV2 | OR_BI | \
|
||||
OR_SCY_5_CLK | OR_EHTR) */
|
||||
|
||||
#define CONFIG_SYS_OR0_REMAP 0x80000160 /*(CONFIG_SYS_REMAP_OR_AM | CONFIG_SYS_OR_TIMING_FLASH)*/
|
||||
#define CONFIG_SYS_OR0_PRELIM (CONFIG_SYS_PRELIM_OR_AM | CONFIG_SYS_OR_TIMING_FLASH)
|
||||
#define CONFIG_SYS_BR0_PRELIM ( FLASH_BASE0_PRELIM | 0x00000801 )
|
||||
|
||||
#define CONFIG_SYS_OR1_REMAP CONFIG_SYS_OR0_REMAP
|
||||
#define CONFIG_SYS_OR1_PRELIM CONFIG_SYS_OR0_PRELIM
|
||||
#define CONFIG_SYS_BR1_PRELIM ( FLASH_BASE1_PRELIM | 0x00000801 )
|
||||
|
||||
/*
|
||||
* BR2/3 and OR2/3 (SDRAM)
|
||||
*
|
||||
*/
|
||||
#define SDRAM_BASE2_PRELIM 0x00000000 /* SDRAM bank #0 */
|
||||
#define SDRAM_BASE3_PRELIM 0x04000000 /* SDRAM bank #1 */
|
||||
#define SDRAM_MAX_SIZE 0x02000000 /* max 32 MB per bank */
|
||||
|
||||
/* SDRAM timing: Multiplexed addresses, GPL5 output to GPL5_A (don't care) */
|
||||
#define CONFIG_SYS_OR_TIMING_SDRAM 0x00000A00
|
||||
|
||||
#define CONFIG_SYS_OR2_PRELIM 0xFC000E00
|
||||
#define CONFIG_SYS_BR2_PRELIM (SDRAM_BASE2_PRELIM | 0x00000081)
|
||||
|
||||
#define CONFIG_SYS_OR3_PRELIM CONFIG_SYS_OR2_PRELIM
|
||||
#define CONFIG_SYS_BR3_PRELIM (SDRAM_BASE3_PRELIM | 0x00000081)
|
||||
|
||||
|
||||
/*
|
||||
* Memory Periodic Timer Prescaler
|
||||
*/
|
||||
|
||||
/* periodic timer for refresh */
|
||||
#define CONFIG_SYS_MAMR_PTA 97 /* start with divider for 100 MHz */
|
||||
|
||||
/* refresh rate 15.6 us (= 64 ms / 4K = 62.4 / quad bursts) for <= 128 MBit */
|
||||
#define CONFIG_SYS_MPTPR_2BK_4K MPTPR_PTP_DIV16 /* setting for 2 banks */
|
||||
#define CONFIG_SYS_MPTPR_1BK_4K MPTPR_PTP_DIV32 /* setting for 1 bank */
|
||||
|
||||
/* refresh rate 7.8 us (= 64 ms / 8K = 31.2 / quad bursts) for 256 MBit */
|
||||
#define CONFIG_SYS_MPTPR_2BK_8K MPTPR_PTP_DIV8 /* setting for 2 banks */
|
||||
#define CONFIG_SYS_MPTPR_1BK_8K MPTPR_PTP_DIV16 /* setting for 1 bank */
|
||||
|
||||
/*
|
||||
* MAMR settings for SDRAM
|
||||
*/
|
||||
|
||||
/* 8 column SDRAM */
|
||||
#define CONFIG_SYS_MAMR_8COL 0x18803112
|
||||
#define CONFIG_SYS_MAMR_9COL 0x18803112 /* same as 8 column because its just easier to port with*/
|
||||
|
||||
#endif /* __CONFIG_H */
|
||||
|
|
@ -0,0 +1,357 @@
|
|||
/*
|
||||
* (C) Copyright 2000
|
||||
* Wolfgang Denk, DENX Software Engineering, wd@denx.de.
|
||||
*
|
||||
* See file CREDITS for list of people who contributed to this
|
||||
* project.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of
|
||||
* the License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston,
|
||||
* MA 02111-1307 USA
|
||||
*/
|
||||
|
||||
/*
|
||||
* board/config.h - configuration options, board specific
|
||||
*/
|
||||
|
||||
#ifndef __CONFIG_H
|
||||
#define __CONFIG_H
|
||||
|
||||
/*
|
||||
* High Level Configuration Options
|
||||
* (easy to change)
|
||||
*/
|
||||
|
||||
#define CONFIG_MPC850 1 /* This is a MPC850 CPU */
|
||||
#define CONFIG_ETX094 1 /* ...on a ETX_094 board */
|
||||
|
||||
#define CONFIG_SYS_TEXT_BASE 0x40000000
|
||||
|
||||
#define CONFIG_8xx_CONS_SMC1 1 /* Console is on SMC1 */
|
||||
#undef CONFIG_8xx_CONS_SMC2
|
||||
#undef CONFIG_8xx_CONS_NONE
|
||||
#define CONFIG_BAUDRATE 57600
|
||||
#if 0
|
||||
#define CONFIG_BOOTDELAY -1 /* autoboot disabled */
|
||||
#else
|
||||
#define CONFIG_BOOTDELAY 5 /* autoboot after 5 seconds */
|
||||
#endif
|
||||
|
||||
#define CONFIG_CLOCKS_IN_MHZ 1 /* clocks passsed to Linux in MHz */
|
||||
|
||||
#define CONFIG_BOARD_TYPES 1 /* support board types */
|
||||
|
||||
#define CONFIG_FLASH_16BIT /* for board with 16bit wide flash */
|
||||
#undef SB_ETX094 /* only for SB-Board with 16MB SDRAM */
|
||||
#define CONFIG_BOOTP_RANDOM_DELAY /* graceful BOOTP recovery mode */
|
||||
|
||||
#define CONFIG_ETHADDR 08:00:06:00:00:00
|
||||
|
||||
#ifdef CONFIG_ETHADDR
|
||||
#define CONFIG_OVERWRITE_ETHADDR_ONCE 1 /* default MAC can be overwritten once */
|
||||
#endif
|
||||
|
||||
#undef CONFIG_BOOTARGS
|
||||
#define CONFIG_RAMBOOTCOMMAND \
|
||||
"bootp; " \
|
||||
"setenv bootargs root=/dev/ram rw ramdisk_size=4690 " \
|
||||
"U-Boot_version=U-Boot-1.0.x-Date " \
|
||||
"panic=1 " \
|
||||
"ip=${ipaddr}:${serverip}:${gatewayip}:${netmask}:${hostname}::off; " \
|
||||
"bootm"
|
||||
#define CONFIG_NFSBOOTCOMMAND \
|
||||
"bootp; " \
|
||||
"setenv bootargs root=/dev/nfs rw nfsroot=${nfsip}:${rootpath} " \
|
||||
"ip=${ipaddr}:${serverip}:${gatewayip}:${netmask}:${hostname}::off; " \
|
||||
"bootm"
|
||||
#define CONFIG_BOOTCOMMAND CONFIG_RAMBOOTCOMMAND
|
||||
|
||||
#define CONFIG_LOADS_ECHO 1 /* echo on for serial download */
|
||||
#undef CONFIG_SYS_LOADS_BAUD_CHANGE /* don't allow baudrate change */
|
||||
|
||||
#define CONFIG_WATCHDOG 1 /* watchdog enabled */
|
||||
|
||||
#define CONFIG_STATUS_LED 1 /* Status LED enabled */
|
||||
|
||||
|
||||
/*
|
||||
* BOOTP options
|
||||
*/
|
||||
#define CONFIG_BOOTP_SUBNETMASK
|
||||
#define CONFIG_BOOTP_GATEWAY
|
||||
#define CONFIG_BOOTP_HOSTNAME
|
||||
#define CONFIG_BOOTP_BOOTPATH
|
||||
#define CONFIG_BOOTP_BOOTFILESIZE
|
||||
|
||||
|
||||
/*
|
||||
* Command line configuration.
|
||||
*/
|
||||
#include <config_cmd_default.h>
|
||||
|
||||
|
||||
/*
|
||||
* Miscellaneous configurable options
|
||||
*/
|
||||
#define CONFIG_SYS_LONGHELP /* undef to save memory */
|
||||
#define CONFIG_SYS_PROMPT "=> " /* Monitor Command Prompt */
|
||||
#if defined(CONFIG_CMD_KGDB)
|
||||
#define CONFIG_SYS_CBSIZE 1024 /* Console I/O Buffer Size */
|
||||
#else
|
||||
#define CONFIG_SYS_CBSIZE 256 /* Console I/O Buffer Size */
|
||||
#endif
|
||||
#define CONFIG_SYS_PBSIZE (CONFIG_SYS_CBSIZE+sizeof(CONFIG_SYS_PROMPT)+16) /* Print Buffer Size */
|
||||
#define CONFIG_SYS_MAXARGS 16 /* max number of command args */
|
||||
#define CONFIG_SYS_BARGSIZE CONFIG_SYS_CBSIZE /* Boot Argument Buffer Size */
|
||||
|
||||
#define CONFIG_SYS_MEMTEST_START 0x0300000 /* memtest works on */
|
||||
#define CONFIG_SYS_MEMTEST_END 0x0700000 /* 3 ... 7 MB in DRAM */
|
||||
|
||||
#define CONFIG_SYS_LOAD_ADDR 0x100000 /* default load address */
|
||||
|
||||
#define CONFIG_SYS_HZ 1000 /* decrementer freq: 1 ms ticks */
|
||||
|
||||
/*
|
||||
* Low Level Configuration Settings
|
||||
* (address mappings, register initial values, etc.)
|
||||
* You should know what you are doing if you make changes here.
|
||||
*/
|
||||
/*-----------------------------------------------------------------------
|
||||
* Internal Memory Mapped Register
|
||||
*/
|
||||
#define CONFIG_SYS_IMMR 0xFFF00000
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* Definitions for initial stack pointer and data area (in DPRAM)
|
||||
*/
|
||||
#define CONFIG_SYS_INIT_RAM_ADDR CONFIG_SYS_IMMR
|
||||
#define CONFIG_SYS_INIT_RAM_SIZE 0x2F00 /* Size of used area in DPRAM */
|
||||
#define CONFIG_SYS_GBL_DATA_OFFSET (CONFIG_SYS_INIT_RAM_SIZE - GENERATED_GBL_DATA_SIZE)
|
||||
#define CONFIG_SYS_INIT_SP_OFFSET CONFIG_SYS_GBL_DATA_OFFSET
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* Start addresses for the final memory configuration
|
||||
* (Set up by the startup code)
|
||||
* Please note that CONFIG_SYS_SDRAM_BASE _must_ start at 0
|
||||
*/
|
||||
#define CONFIG_SYS_SDRAM_BASE 0x00000000
|
||||
#define CONFIG_SYS_FLASH_BASE 0x40000000
|
||||
#ifdef DEBUG
|
||||
#define CONFIG_SYS_MONITOR_LEN (256 << 10) /* Reserve 256 kB for Monitor */
|
||||
#else
|
||||
#define CONFIG_SYS_MONITOR_LEN (256 << 10) /* Reserve 256 kB for Monitor */
|
||||
#endif
|
||||
#define CONFIG_SYS_MONITOR_BASE CONFIG_SYS_FLASH_BASE
|
||||
#define CONFIG_SYS_MALLOC_LEN (128 << 10) /* Reserve 128 kB for malloc() */
|
||||
|
||||
/*
|
||||
* For booting Linux, the board info and command line data
|
||||
* have to be in the first 8 MB of memory, since this is
|
||||
* the maximum mapped by the Linux kernel during initialization.
|
||||
*/
|
||||
#define CONFIG_SYS_BOOTMAPSZ (8 << 20) /* Initial Memory map for Linux */
|
||||
/*-----------------------------------------------------------------------
|
||||
* FLASH organization
|
||||
*/
|
||||
#define CONFIG_SYS_MAX_FLASH_BANKS 1 /* max number of memory banks */
|
||||
#define CONFIG_SYS_MAX_FLASH_SECT 35 /* max number of sectors on one chip */
|
||||
|
||||
#define CONFIG_SYS_FLASH_ERASE_TOUT 120000 /* Timeout for Flash Erase (in ms) */
|
||||
#define CONFIG_SYS_FLASH_WRITE_TOUT 1000 /* Timeout for Flash Write (in ms) */
|
||||
|
||||
#define CONFIG_ENV_IS_IN_FLASH 1
|
||||
#ifdef CONFIG_FLASH_16BIT
|
||||
#define CONFIG_ENV_OFFSET 0x8000 /* Offset of Environment Sector */
|
||||
#define CONFIG_ENV_SIZE 0x8000 /* Total Size of Environment Sector */
|
||||
#else
|
||||
#define CONFIG_ENV_OFFSET 0x8000 /* Offset of Environment Sector */
|
||||
#define CONFIG_ENV_SIZE 0x4000 /* Total Size of Environment Sector */
|
||||
#endif
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* Hardware Information Block
|
||||
*/
|
||||
#define CONFIG_SYS_HWINFO_OFFSET 0x0003FFC0 /* offset of HW Info block */
|
||||
#define CONFIG_SYS_HWINFO_SIZE 0x00000040 /* size of HW Info block */
|
||||
#define CONFIG_SYS_HWINFO_MAGIC 0x54514D38 /* 'TQM8' */
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* Cache Configuration
|
||||
*/
|
||||
#define CONFIG_SYS_CACHELINE_SIZE 16 /* For all MPC8xx CPUs */
|
||||
#if defined(CONFIG_CMD_KGDB)
|
||||
#define CONFIG_SYS_CACHELINE_SHIFT 4 /* log base 2 of the above value */
|
||||
#endif
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* SYPCR - System Protection Control 11-9
|
||||
* SYPCR can only be written once after reset!
|
||||
*-----------------------------------------------------------------------
|
||||
* Software & Bus Monitor Timer max, Bus Monitor enable, SW Watchdog freeze
|
||||
*/
|
||||
#if defined(CONFIG_WATCHDOG)
|
||||
#define CONFIG_SYS_SYPCR (SYPCR_SWTC | SYPCR_BMT | SYPCR_BME | SYPCR_SWF | \
|
||||
SYPCR_SWE | SYPCR_SWRI| SYPCR_SWP)
|
||||
#else
|
||||
#define CONFIG_SYS_SYPCR (SYPCR_SWTC | SYPCR_BMT | SYPCR_BME | SYPCR_SWF | SYPCR_SWP)
|
||||
#endif /* CONFIG_WATCHDOG */
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* SIUMCR - SIU Module Configuration 11-6
|
||||
*-----------------------------------------------------------------------
|
||||
* PCMCIA config., multi-function pin tri-state
|
||||
*/
|
||||
#define CONFIG_SYS_SIUMCR (SIUMCR_DBGC00 | SIUMCR_DBPC00 | SIUMCR_MLRC01)
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* TBSCR - Time Base Status and Control 11-26
|
||||
*-----------------------------------------------------------------------
|
||||
* Clear Reference Interrupt Status, Timebase freezing enabled
|
||||
*/
|
||||
#define CONFIG_SYS_TBSCR (TBSCR_REFA | TBSCR_REFB | TBSCR_TBF)
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* RTCSC - Real-Time Clock Status and Control Register 11-27
|
||||
*-----------------------------------------------------------------------
|
||||
*/
|
||||
#define CONFIG_SYS_RTCSC (RTCSC_SEC | RTCSC_ALR | RTCSC_RTF| RTCSC_RTE)
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* PISCR - Periodic Interrupt Status and Control 11-31
|
||||
*-----------------------------------------------------------------------
|
||||
* Clear Periodic Interrupt Status, Interrupt Timer freezing enabled
|
||||
*/
|
||||
#define CONFIG_SYS_PISCR (PISCR_PS | PISCR_PITF)
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* PLPRCR - PLL, Low-Power, and Reset Control Register 15-30
|
||||
*-----------------------------------------------------------------------
|
||||
* Reset PLL lock status sticky bit, timer expired status bit and timer
|
||||
* interrupt status bit - leave PLL multiplication factor unchanged !
|
||||
*/
|
||||
#define CONFIG_SYS_PLPRCR (PLPRCR_SPLSS | PLPRCR_TEXPS | PLPRCR_TMIST)
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* SCCR - System Clock and reset Control Register 15-27
|
||||
*-----------------------------------------------------------------------
|
||||
* Set clock output, timebase and RTC source and divider,
|
||||
* power management and some other internal clocks
|
||||
*/
|
||||
#define SCCR_MASK SCCR_EBDF11
|
||||
#define CONFIG_SYS_SCCR (SCCR_TBS | \
|
||||
SCCR_COM00 | SCCR_DFSYNC00 | SCCR_DFBRG00 | \
|
||||
SCCR_DFNL000 | SCCR_DFNH000 | SCCR_DFLCD000 | \
|
||||
SCCR_DFALCD00)
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* PCMCIA stuff
|
||||
*-----------------------------------------------------------------------
|
||||
*
|
||||
*/
|
||||
#define CONFIG_SYS_PCMCIA_MEM_ADDR (0xE0000000)
|
||||
#define CONFIG_SYS_PCMCIA_MEM_SIZE ( 64 << 20 )
|
||||
#define CONFIG_SYS_PCMCIA_DMA_ADDR (0xE4000000)
|
||||
#define CONFIG_SYS_PCMCIA_DMA_SIZE ( 64 << 20 )
|
||||
#define CONFIG_SYS_PCMCIA_ATTRB_ADDR (0xE8000000)
|
||||
#define CONFIG_SYS_PCMCIA_ATTRB_SIZE ( 64 << 20 )
|
||||
#define CONFIG_SYS_PCMCIA_IO_ADDR (0xEC000000)
|
||||
#define CONFIG_SYS_PCMCIA_IO_SIZE ( 64 << 20 )
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
*
|
||||
*-----------------------------------------------------------------------
|
||||
*
|
||||
*/
|
||||
#define CONFIG_SYS_DER 0
|
||||
|
||||
/*
|
||||
* Init Memory Controller:
|
||||
*
|
||||
* BR0/1 and OR0/1 (FLASH)
|
||||
*/
|
||||
|
||||
#define FLASH_BASE0_PRELIM 0x40000000 /* FLASH bank #0 */
|
||||
#define FLASH_BASE1_PRELIM 0x60000000 /* FLASH bank #0 */
|
||||
|
||||
/* used to re-map FLASH both when starting from SRAM or FLASH:
|
||||
* restrict access enough to keep SRAM working (if any)
|
||||
* but not too much to meddle with FLASH accesses
|
||||
*/
|
||||
#define CONFIG_SYS_REMAP_OR_AM 0x80000000 /* OR addr mask */
|
||||
#define CONFIG_SYS_PRELIM_OR_AM 0xE0000000 /* OR addr mask */
|
||||
|
||||
/* FLASH timing: ACS = 11, TRLX = 1, CSNT = 0, SCY = 2, EHTR = 0 */
|
||||
#define CONFIG_SYS_OR_TIMING_FLASH (OR_ACS_DIV2 | OR_BI | \
|
||||
OR_SCY_2_CLK | OR_TRLX )
|
||||
|
||||
#define CONFIG_SYS_OR0_REMAP (CONFIG_SYS_REMAP_OR_AM | CONFIG_SYS_OR_TIMING_FLASH)
|
||||
#define CONFIG_SYS_OR0_PRELIM (CONFIG_SYS_PRELIM_OR_AM | CONFIG_SYS_OR_TIMING_FLASH)
|
||||
|
||||
#ifdef CONFIG_FLASH_16BIT /* 16 bit data port */
|
||||
#define CONFIG_SYS_BR0_PRELIM ((FLASH_BASE0_PRELIM & BR_BA_MSK) | BR_V | BR_PS_16)
|
||||
#define CONFIG_SYS_BR1_PRELIM ((FLASH_BASE1_PRELIM & BR_BA_MSK) | BR_V | BR_PS_16)
|
||||
#else /* 32 bit data port */
|
||||
#define CONFIG_SYS_BR0_PRELIM ((FLASH_BASE0_PRELIM & BR_BA_MSK) | BR_V | BR_PS_32)
|
||||
#define CONFIG_SYS_BR1_PRELIM ((FLASH_BASE1_PRELIM & BR_BA_MSK) | BR_V | BR_PS_32)
|
||||
#endif /* CONFIG_FLASH_16BIT */
|
||||
|
||||
#define CONFIG_SYS_OR1_REMAP CONFIG_SYS_OR0_REMAP
|
||||
#define CONFIG_SYS_OR1_PRELIM CONFIG_SYS_OR0_PRELIM
|
||||
|
||||
/*
|
||||
* BR2/3 and OR2/3 (SDRAM)
|
||||
*
|
||||
*/
|
||||
#define SDRAM_BASE2_PRELIM 0x00000000 /* SDRAM bank #0 */
|
||||
#define SDRAM_BASE3_PRELIM 0x20000000 /* SDRAM bank #1 */
|
||||
#define SDRAM_MAX_SIZE 0x04000000 /* max 64 MB per bank */
|
||||
|
||||
/* SDRAM timing: Multiplexed addresses, GPL5 output to GPL5_A (don't care) */
|
||||
#define CONFIG_SYS_OR_TIMING_SDRAM 0x00000A00
|
||||
|
||||
#define CONFIG_SYS_OR2_PRELIM (CONFIG_SYS_PRELIM_OR_AM | CONFIG_SYS_OR_TIMING_SDRAM )
|
||||
#define CONFIG_SYS_BR2_PRELIM ((SDRAM_BASE2_PRELIM & BR_BA_MSK) | BR_MS_UPMA | BR_V )
|
||||
|
||||
#define CONFIG_SYS_OR3_PRELIM CONFIG_SYS_OR2_PRELIM
|
||||
#define CONFIG_SYS_BR3_PRELIM ((SDRAM_BASE3_PRELIM & BR_BA_MSK) | BR_MS_UPMA | BR_V )
|
||||
|
||||
/*
|
||||
* Memory Periodic Timer Prescaler
|
||||
*/
|
||||
|
||||
/* periodic timer for refresh */
|
||||
#define CONFIG_SYS_MAMR_PTA 23 /* start with divider for 100 MHz */
|
||||
|
||||
/* refresh rate 15.6 us (= 64 ms / 4K = 62.4 / quad bursts) for <= 128 MBit */
|
||||
#define CONFIG_SYS_MPTPR_2BK_4K MPTPR_PTP_DIV16 /* setting for 2 banks */
|
||||
#define CONFIG_SYS_MPTPR_1BK_4K MPTPR_PTP_DIV32 /* setting for 1 bank */
|
||||
|
||||
/* refresh rate 7.8 us (= 64 ms / 8K = 31.2 / quad bursts) for 256 MBit */
|
||||
#define CONFIG_SYS_MPTPR_2BK_8K MPTPR_PTP_DIV8 /* setting for 2 banks */
|
||||
#define CONFIG_SYS_MPTPR_1BK_8K MPTPR_PTP_DIV16 /* setting for 1 bank */
|
||||
|
||||
/*
|
||||
* MAMR settings for SDRAM
|
||||
*/
|
||||
|
||||
/* 8 column SDRAM */
|
||||
#define CONFIG_SYS_MAMR_8COL ((CONFIG_SYS_MAMR_PTA << MAMR_PTA_SHIFT) | MAMR_PTAE | \
|
||||
MAMR_AMA_TYPE_0 | MAMR_DSA_1_CYCL | MAMR_G0CLA_A11 | \
|
||||
MAMR_RLFA_1X | MAMR_WLFA_1X | MAMR_TLFA_1X)
|
||||
/* 9 column SDRAM */
|
||||
#define CONFIG_SYS_MAMR_9COL ((CONFIG_SYS_MAMR_PTA << MAMR_PTA_SHIFT) | MAMR_PTAE | \
|
||||
MAMR_AMA_TYPE_1 | MAMR_DSA_1_CYCL | MAMR_G0CLA_A10 | \
|
||||
MAMR_RLFA_1X | MAMR_WLFA_1X | MAMR_TLFA_1X)
|
||||
|
||||
#endif /* __CONFIG_H */
|
||||
|
|
@ -0,0 +1,425 @@
|
|||
/*
|
||||
* (C) Copyright 2001
|
||||
* Josh Huber <huber@mclx.com>, Mission Critical Linux, Inc.
|
||||
*
|
||||
* See file CREDITS for list of people who contributed to this
|
||||
* project.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of
|
||||
* the License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston,
|
||||
* MA 02111-1307 USA
|
||||
*/
|
||||
|
||||
/*
|
||||
* board/config.h - configuration options, board specific
|
||||
*/
|
||||
|
||||
#ifndef __CONFIG_H
|
||||
#define __CONFIG_H
|
||||
|
||||
#ifndef __ASSEMBLY__
|
||||
#include <galileo/core.h>
|
||||
#endif
|
||||
|
||||
#include "../board/evb64260/local.h"
|
||||
|
||||
/*
|
||||
* High Level Configuration Options
|
||||
* (easy to change)
|
||||
*/
|
||||
|
||||
#define CONFIG_EVB64260 1 /* this is an EVB64260 board */
|
||||
#define CONFIG_SYS_GT_6426x GT_64260 /* with a 64260 system controller */
|
||||
|
||||
#define CONFIG_SYS_TEXT_BASE 0xfff00000
|
||||
#define CONFIG_SYS_LDSCRIPT "board/evb64260/u-boot.lds"
|
||||
|
||||
#define CONFIG_BAUDRATE 38400 /* console baudrate = 38400 */
|
||||
|
||||
#undef CONFIG_ECC /* enable ECC support */
|
||||
/* #define CONFIG_EVB64260_750CX 1 */ /* Support the EVB-64260-750CX Board */
|
||||
|
||||
/* which initialization functions to call for this board */
|
||||
#define CONFIG_MISC_INIT_R 1
|
||||
#define CONFIG_BOARD_EARLY_INIT_F 1
|
||||
|
||||
#ifndef CONFIG_EVB64260_750CX
|
||||
#define CONFIG_SYS_BOARD_NAME "EVB64260"
|
||||
#else
|
||||
#define CONFIG_SYS_BOARD_NAME "EVB64260-750CX"
|
||||
#endif
|
||||
|
||||
#define CONFIG_SYS_HUSH_PARSER
|
||||
|
||||
/*
|
||||
* The following defines let you select what serial you want to use
|
||||
* for your console driver.
|
||||
*
|
||||
* what to do:
|
||||
* to use the DUART, undef CONFIG_MPSC. If you have hacked a serial
|
||||
* cable onto the second DUART channel, change the CONFIG_SYS_DUART port from 1
|
||||
* to 0 below.
|
||||
*
|
||||
* to use the MPSC, #define CONFIG_MPSC. If you have wired up another
|
||||
* mpsc channel, change CONFIG_MPSC_PORT to the desired value.
|
||||
*/
|
||||
#define CONFIG_MPSC
|
||||
#define CONFIG_MPSC_PORT 0
|
||||
|
||||
|
||||
/* define this if you want to enable GT MAC filtering */
|
||||
#define CONFIG_GT_USE_MAC_HASH_TABLE
|
||||
|
||||
#undef CONFIG_ETHER_PORT_MII /* use RMII */
|
||||
|
||||
#if 1
|
||||
#define CONFIG_BOOTDELAY -1 /* autoboot disabled */
|
||||
#else
|
||||
#define CONFIG_BOOTDELAY 5 /* autoboot after 5 seconds */
|
||||
#endif
|
||||
#define CONFIG_ZERO_BOOTDELAY_CHECK
|
||||
|
||||
#undef CONFIG_BOOTARGS
|
||||
#define CONFIG_BOOTCOMMAND \
|
||||
"bootp && " \
|
||||
"setenv bootargs root=/dev/nfs rw nfsroot=$serverip:$rootpath " \
|
||||
"ip=$ipaddr:$serverip:$gatewayip:" \
|
||||
"$netmask:$hostname:eth0:none; && " \
|
||||
"bootm"
|
||||
|
||||
#define CONFIG_LOADS_ECHO 0 /* echo off for serial download */
|
||||
#define CONFIG_SYS_LOADS_BAUD_CHANGE /* allow baudrate changes */
|
||||
|
||||
#undef CONFIG_WATCHDOG /* watchdog disabled */
|
||||
#undef CONFIG_ALTIVEC /* undef to disable */
|
||||
|
||||
/*
|
||||
* BOOTP options
|
||||
*/
|
||||
#define CONFIG_BOOTP_SUBNETMASK
|
||||
#define CONFIG_BOOTP_GATEWAY
|
||||
#define CONFIG_BOOTP_HOSTNAME
|
||||
#define CONFIG_BOOTP_BOOTPATH
|
||||
#define CONFIG_BOOTP_BOOTFILESIZE
|
||||
|
||||
|
||||
/*
|
||||
* Command line configuration.
|
||||
*/
|
||||
#include <config_cmd_default.h>
|
||||
|
||||
#define CONFIG_CMD_ASKENV
|
||||
|
||||
|
||||
/*
|
||||
* Miscellaneous configurable options
|
||||
*/
|
||||
#define CONFIG_SYS_LONGHELP /* undef to save memory */
|
||||
#define CONFIG_SYS_PROMPT "=> " /* Monitor Command Prompt */
|
||||
#if defined(CONFIG_CMD_KGDB)
|
||||
#define CONFIG_SYS_CBSIZE 1024 /* Console I/O Buffer Size */
|
||||
#else
|
||||
#define CONFIG_SYS_CBSIZE 256 /* Console I/O Buffer Size */
|
||||
#endif
|
||||
#define CONFIG_SYS_PBSIZE (CONFIG_SYS_CBSIZE+sizeof(CONFIG_SYS_PROMPT)+16) /* Print Buffer Size */
|
||||
#define CONFIG_SYS_MAXARGS 16 /* max number of command args */
|
||||
#define CONFIG_SYS_BARGSIZE CONFIG_SYS_CBSIZE /* Boot Argument Buffer Size */
|
||||
|
||||
#define CONFIG_SYS_MEMTEST_START 0x00400000 /* memtest works on */
|
||||
#define CONFIG_SYS_MEMTEST_END 0x00C00000 /* 4 ... 12 MB in DRAM */
|
||||
|
||||
#define CONFIG_SYS_LOAD_ADDR 0x00300000 /* default load address */
|
||||
|
||||
#define CONFIG_SYS_HZ 1000 /* decr freq: 1ms ticks */
|
||||
#define CONFIG_SYS_BUS_CLK 100000000 /* 100 MHz */
|
||||
|
||||
#define CONFIG_SYS_BAUDRATE_TABLE { 9600, 19200, 38400, 57600, 115200, 230400 }
|
||||
|
||||
#ifdef CONFIG_EVB64260_750CX
|
||||
#define CONFIG_750CX
|
||||
#define CONFIG_SYS_BROKEN_CL2
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Low Level Configuration Settings
|
||||
* (address mappings, register initial values, etc.)
|
||||
* You should know what you are doing if you make changes here.
|
||||
*/
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* Definitions for initial stack pointer and data area
|
||||
*/
|
||||
#define CONFIG_SYS_INIT_RAM_ADDR 0x40000000
|
||||
#define CONFIG_SYS_INIT_RAM_SIZE 0x1000
|
||||
#define CONFIG_SYS_GBL_DATA_OFFSET (CONFIG_SYS_INIT_RAM_SIZE - GENERATED_GBL_DATA_SIZE)
|
||||
#define CONFIG_SYS_INIT_RAM_LOCK
|
||||
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* Start addresses for the final memory configuration
|
||||
* (Set up by the startup code)
|
||||
* Please note that CONFIG_SYS_SDRAM_BASE _must_ start at 0
|
||||
*/
|
||||
#define CONFIG_SYS_SDRAM_BASE 0x00000000
|
||||
#define CONFIG_SYS_FLASH_BASE 0xfff00000
|
||||
#define CONFIG_SYS_RESET_ADDRESS 0xfff00100
|
||||
#define CONFIG_SYS_MONITOR_LEN (256 << 10) /* Reserve 256 kB for Monitor */
|
||||
#define CONFIG_SYS_MONITOR_BASE CONFIG_SYS_FLASH_BASE
|
||||
#define CONFIG_SYS_MALLOC_LEN (256 << 10) /* Reserve 256 kB for malloc */
|
||||
|
||||
/* areas to map different things with the GT in physical space */
|
||||
#define CONFIG_SYS_DRAM_BANKS 4
|
||||
#define CONFIG_SYS_DFL_GT_REGS 0x14000000 /* boot time GT_REGS */
|
||||
|
||||
/* What to put in the bats. */
|
||||
#define CONFIG_SYS_MISC_REGION_BASE 0xf0000000
|
||||
|
||||
/* Peripheral Device section */
|
||||
#define CONFIG_SYS_GT_REGS 0xf8000000
|
||||
#define CONFIG_SYS_DEV_BASE 0xfc000000
|
||||
|
||||
#define CONFIG_SYS_DEV0_SPACE CONFIG_SYS_DEV_BASE
|
||||
#define CONFIG_SYS_DEV1_SPACE (CONFIG_SYS_DEV0_SPACE + CONFIG_SYS_DEV0_SIZE)
|
||||
#define CONFIG_SYS_DEV2_SPACE (CONFIG_SYS_DEV1_SPACE + CONFIG_SYS_DEV1_SIZE)
|
||||
#define CONFIG_SYS_DEV3_SPACE (CONFIG_SYS_DEV2_SPACE + CONFIG_SYS_DEV2_SIZE)
|
||||
|
||||
#define CONFIG_SYS_DEV0_SIZE _8M /* evb64260 sram @ 0xfc00.0000 */
|
||||
#define CONFIG_SYS_DEV1_SIZE _8M /* evb64260 rtc @ 0xfc80.0000 */
|
||||
#define CONFIG_SYS_DEV2_SIZE _16M /* evb64260 duart @ 0xfd00.0000 */
|
||||
#define CONFIG_SYS_DEV3_SIZE _16M /* evb64260 flash @ 0xfe00.0000 */
|
||||
|
||||
#define CONFIG_SYS_DEV0_PAR 0x20205093
|
||||
#define CONFIG_SYS_DEV1_PAR 0xcfcfffff
|
||||
#define CONFIG_SYS_DEV2_PAR 0xc0059bd4
|
||||
#define CONFIG_SYS_8BIT_BOOT_PAR 0xc00b5e7c
|
||||
#define CONFIG_SYS_32BIT_BOOT_PAR 0xc4a8241c
|
||||
/* c 4 a 8 2 4 1 c */
|
||||
/* 33 22|2222|22 22|111 1|11 11|1 1 | | */
|
||||
/* 10 98|7654|32 10|987 6|54 32|1 098|7 654|3 210 */
|
||||
/* 11|00|0100|10 10|100|0 00|10 0|100 0|001 1|100 */
|
||||
/* 3| 0|.... ..| 2| 4 | 0 | 4 | 8 | 3 | 4 */
|
||||
|
||||
#if 0 /* Wrong?? NTL */
|
||||
#define CONFIG_SYS_MPP_CONTROL_0 0x53541717 /* InitAct EOT[4] DBurst TCEn[1] */
|
||||
/* DMAAck[1:0] GNT0[1:0] */
|
||||
#else
|
||||
#define CONFIG_SYS_MPP_CONTROL_0 0x53547777 /* InitAct EOT[4] DBurst TCEn[1] */
|
||||
/* REQ0[1:0] GNT0[1:0] */
|
||||
#endif
|
||||
#define CONFIG_SYS_MPP_CONTROL_1 0x44009911 /* TCEn[4] TCTcnt[4] GPP[13:12] */
|
||||
/* DMAReq[4] DMAAck[4] WDNMI WDE */
|
||||
#if 0 /* Wrong?? NTL */
|
||||
#define CONFIG_SYS_MPP_CONTROL_2 0x40091818 /* TCTcnt[0] GPP[22:21] BClkIn */
|
||||
/* DMAAck[1:0] GNT1[1:0] */
|
||||
#else
|
||||
#define CONFIG_SYS_MPP_CONTROL_2 0x40098888 /* TCTcnt[0] */
|
||||
/* GPP[22] (RS232IntB or PCI1Int) */
|
||||
/* GPP[21] (RS323IntA) */
|
||||
/* BClkIn */
|
||||
/* REQ1[1:0] GNT1[1:0] */
|
||||
#endif
|
||||
|
||||
#if 0 /* Wrong?? NTL */
|
||||
# define CONFIG_SYS_MPP_CONTROL_3 0x00090066 /* GPP[31:29] BClkOut0 */
|
||||
/* GPP[27:26] Int[1:0] */
|
||||
#else
|
||||
# define CONFIG_SYS_MPP_CONTROL_3 0x22090066 /* MREQ MGNT */
|
||||
/* GPP[29] (PCI1Int) */
|
||||
/* BClkOut0 */
|
||||
/* GPP[27] (PCI0Int) */
|
||||
/* GPP[26] (RtcInt or PCI1Int) */
|
||||
/* CPUInt[25:24] */
|
||||
#endif
|
||||
|
||||
# define CONFIG_SYS_SERIAL_PORT_MUX 0x00000102 /* 0=hiZ 1=MPSC0 2=ETH 0 and 2 RMII */
|
||||
|
||||
#if 0 /* Wrong?? - NTL */
|
||||
# define CONFIG_SYS_GPP_LEVEL_CONTROL 0x000002c6
|
||||
#else
|
||||
# define CONFIG_SYS_GPP_LEVEL_CONTROL 0x2c600000 /* 0010 1100 0110 0000 */
|
||||
/* gpp[29] */
|
||||
/* gpp[27:26] */
|
||||
/* gpp[22:21] */
|
||||
|
||||
# define CONFIG_SYS_SDRAM_CONFIG 0xd8e18200 /* 0x448 */
|
||||
/* idmas use buffer 1,1
|
||||
comm use buffer 0
|
||||
pci use buffer 1,1
|
||||
cpu use buffer 0
|
||||
normal load (see also ifdef HVL)
|
||||
standard SDRAM (see also ifdef REG)
|
||||
non staggered refresh */
|
||||
/* 31:26 25 23 20 19 18 16 */
|
||||
/* 110110 00 111 0 0 00 1 */
|
||||
/* refresh_count=0x200
|
||||
phisical interleaving disable
|
||||
virtual interleaving enable */
|
||||
/* 15 14 13:0 */
|
||||
/* 1 0 0x200 */
|
||||
#endif
|
||||
|
||||
#define CONFIG_SYS_DUART_IO CONFIG_SYS_DEV2_SPACE
|
||||
#define CONFIG_SYS_DUART_CHAN 1 /* channel to use for console */
|
||||
#define CONFIG_SYS_INIT_CHAN1
|
||||
#define CONFIG_SYS_INIT_CHAN2
|
||||
|
||||
#define SRAM_BASE CONFIG_SYS_DEV0_SPACE
|
||||
#define SRAM_SIZE 0x00100000 /* 1 MB of sram */
|
||||
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* PCI stuff
|
||||
*-----------------------------------------------------------------------
|
||||
*/
|
||||
|
||||
#define PCI_HOST_ADAPTER 0 /* configure ar pci adapter */
|
||||
#define PCI_HOST_FORCE 1 /* configure as pci host */
|
||||
#define PCI_HOST_AUTO 2 /* detected via arbiter enable */
|
||||
|
||||
#define CONFIG_PCI /* include pci support */
|
||||
#define CONFIG_PCI_HOST PCI_HOST_FORCE /* select pci host function */
|
||||
#define CONFIG_PCI_PNP /* do pci plug-and-play */
|
||||
|
||||
/* PCI MEMORY MAP section */
|
||||
#define CONFIG_SYS_PCI0_MEM_BASE 0x80000000
|
||||
#define CONFIG_SYS_PCI0_MEM_SIZE _128M
|
||||
#define CONFIG_SYS_PCI1_MEM_BASE 0x88000000
|
||||
#define CONFIG_SYS_PCI1_MEM_SIZE _128M
|
||||
|
||||
#define CONFIG_SYS_PCI0_0_MEM_SPACE (CONFIG_SYS_PCI0_MEM_BASE)
|
||||
#define CONFIG_SYS_PCI1_0_MEM_SPACE (CONFIG_SYS_PCI1_MEM_BASE)
|
||||
|
||||
|
||||
/* PCI I/O MAP section */
|
||||
#define CONFIG_SYS_PCI0_IO_BASE 0xfa000000
|
||||
#define CONFIG_SYS_PCI0_IO_SIZE _16M
|
||||
#define CONFIG_SYS_PCI1_IO_BASE 0xfb000000
|
||||
#define CONFIG_SYS_PCI1_IO_SIZE _16M
|
||||
|
||||
#define CONFIG_SYS_PCI0_IO_SPACE (CONFIG_SYS_PCI0_IO_BASE)
|
||||
#define CONFIG_SYS_PCI0_IO_SPACE_PCI 0x00000000
|
||||
#define CONFIG_SYS_PCI1_IO_SPACE (CONFIG_SYS_PCI1_IO_BASE)
|
||||
#define CONFIG_SYS_PCI1_IO_SPACE_PCI 0x00000000
|
||||
|
||||
/*
|
||||
* NS16550 Configuration
|
||||
*/
|
||||
#define CONFIG_SYS_NS16550
|
||||
|
||||
#define CONFIG_SYS_NS16550_REG_SIZE -4
|
||||
|
||||
#define CONFIG_SYS_NS16550_CLK 3686400
|
||||
|
||||
#define CONFIG_SYS_NS16550_COM1 (CONFIG_SYS_DUART_IO + 0)
|
||||
#define CONFIG_SYS_NS16550_COM2 (CONFIG_SYS_DUART_IO + 0x20)
|
||||
|
||||
/*----------------------------------------------------------------------
|
||||
* Initial BAT mappings
|
||||
*/
|
||||
|
||||
/* NOTES:
|
||||
* 1) GUARDED and WRITE_THRU not allowed in IBATS
|
||||
* 2) CACHEINHIBIT and WRITETHROUGH not allowed together in same BAT
|
||||
*/
|
||||
|
||||
/* SDRAM */
|
||||
#define CONFIG_SYS_IBAT0L (CONFIG_SYS_SDRAM_BASE | BATL_PP_RW | BATL_CACHEINHIBIT)
|
||||
#define CONFIG_SYS_IBAT0U (CONFIG_SYS_SDRAM_BASE | BATU_BL_256M | BATU_VS | BATU_VP)
|
||||
#define CONFIG_SYS_DBAT0L (CONFIG_SYS_SDRAM_BASE | BATL_PP_RW | BATL_CACHEINHIBIT | BATL_GUARDEDSTORAGE)
|
||||
#define CONFIG_SYS_DBAT0U CONFIG_SYS_IBAT0U
|
||||
|
||||
/* init ram */
|
||||
#define CONFIG_SYS_IBAT1L (CONFIG_SYS_INIT_RAM_ADDR | BATL_PP_RW | BATL_MEMCOHERENCE)
|
||||
#define CONFIG_SYS_IBAT1U (CONFIG_SYS_INIT_RAM_ADDR | BATU_BL_128K | BATU_VS | BATU_VP)
|
||||
#define CONFIG_SYS_DBAT1L CONFIG_SYS_IBAT1L
|
||||
#define CONFIG_SYS_DBAT1U CONFIG_SYS_IBAT1U
|
||||
|
||||
/* PCI0, PCI1 in one BAT */
|
||||
#define CONFIG_SYS_IBAT2L BATL_NO_ACCESS
|
||||
#define CONFIG_SYS_IBAT2U CONFIG_SYS_DBAT2U
|
||||
#define CONFIG_SYS_DBAT2L (CONFIG_SYS_PCI0_MEM_BASE | BATL_CACHEINHIBIT | BATL_PP_RW | BATL_GUARDEDSTORAGE)
|
||||
#define CONFIG_SYS_DBAT2U (CONFIG_SYS_PCI0_MEM_BASE | BATU_BL_256M | BATU_VS | BATU_VP)
|
||||
|
||||
/* GT regs, bootrom, all the devices, PCI I/O */
|
||||
#define CONFIG_SYS_IBAT3L (CONFIG_SYS_MISC_REGION_BASE | BATL_CACHEINHIBIT | BATL_PP_RW)
|
||||
#define CONFIG_SYS_IBAT3U (CONFIG_SYS_MISC_REGION_BASE | BATU_VS | BATU_VP | BATU_BL_256M)
|
||||
#define CONFIG_SYS_DBAT3L (CONFIG_SYS_MISC_REGION_BASE | BATL_CACHEINHIBIT | BATL_PP_RW | BATL_GUARDEDSTORAGE)
|
||||
#define CONFIG_SYS_DBAT3U CONFIG_SYS_IBAT3U
|
||||
|
||||
/* I2C speed and slave address (for compatability) defaults */
|
||||
#define CONFIG_SYS_I2C_SPEED 400000
|
||||
#define CONFIG_SYS_I2C_SLAVE 0x7F
|
||||
|
||||
/* I2C addresses for the two DIMM SPD chips */
|
||||
#ifndef CONFIG_EVB64260_750CX
|
||||
#define DIMM0_I2C_ADDR 0x56
|
||||
#define DIMM1_I2C_ADDR 0x54
|
||||
#else /* CONFIG_EVB64260_750CX - only has 1 DIMM */
|
||||
#define DIMM0_I2C_ADDR 0x54
|
||||
#define DIMM1_I2C_ADDR 0x54
|
||||
#endif
|
||||
|
||||
/*
|
||||
* For booting Linux, the board info and command line data
|
||||
* have to be in the first 8 MB of memory, since this is
|
||||
* the maximum mapped by the Linux kernel during initialization.
|
||||
*/
|
||||
#define CONFIG_SYS_BOOTMAPSZ (8<<20) /* Initial Memory map for Linux */
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* FLASH organization
|
||||
*/
|
||||
#define CONFIG_SYS_MAX_FLASH_BANKS 2 /* max number of memory banks */
|
||||
#define CONFIG_SYS_MAX_FLASH_SECT 67 /* max number of sectors on one chip */
|
||||
|
||||
#define CONFIG_SYS_EXTRA_FLASH_DEVICE DEVICE3 /* extra flash at device 3 */
|
||||
#define CONFIG_SYS_EXTRA_FLASH_WIDTH 4 /* 32 bit */
|
||||
|
||||
#define CONFIG_SYS_FLASH_ERASE_TOUT 120000 /* Timeout for Flash Erase (in ms) */
|
||||
#define CONFIG_SYS_FLASH_WRITE_TOUT 500 /* Timeout for Flash Write (in ms) */
|
||||
#define CONFIG_SYS_FLASH_CFI 1
|
||||
|
||||
#define CONFIG_ENV_IS_IN_FLASH 1
|
||||
#define CONFIG_ENV_SIZE 0x1000 /* Total Size of Environment Sector */
|
||||
#define CONFIG_ENV_SECT_SIZE 0x10000
|
||||
#define CONFIG_ENV_ADDR (CONFIG_SYS_FLASH_BASE+CONFIG_SYS_MONITOR_LEN-CONFIG_ENV_SECT_SIZE)
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* Cache Configuration
|
||||
*/
|
||||
#define CONFIG_SYS_CACHELINE_SIZE 32 /* For all MPC74xx CPUs */
|
||||
#if defined(CONFIG_CMD_KGDB)
|
||||
#define CONFIG_SYS_CACHELINE_SHIFT 5 /* log base 2 of the above value */
|
||||
#endif
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* L2CR setup -- make sure this is right for your board!
|
||||
* look in include/74xx_7xx.h for the defines used here
|
||||
*/
|
||||
|
||||
#define CONFIG_SYS_L2
|
||||
|
||||
#ifdef CONFIG_750CX
|
||||
#define L2_INIT 0
|
||||
#else
|
||||
#define L2_INIT (L2CR_L2SIZ_2M | L2CR_L2CLK_3 | L2CR_L2RAM_BURST | \
|
||||
L2CR_L2OH_5 | L2CR_L2CTL | L2CR_L2WT)
|
||||
#endif
|
||||
|
||||
#define L2_ENABLE (L2_INIT | L2CR_L2E)
|
||||
|
||||
#define CONFIG_SYS_BOARD_ASM_INIT 1
|
||||
|
||||
|
||||
#endif /* __CONFIG_H */
|
||||
|
|
@ -0,0 +1,210 @@
|
|||
/*
|
||||
* (C) Copyright 2000-2004
|
||||
* Wolfgang Denk, DENX Software Engineering, wd@denx.de.
|
||||
*
|
||||
* See file CREDITS for list of people who contributed to this
|
||||
* project.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of
|
||||
* the License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston,
|
||||
* MA 02111-1307 USA
|
||||
*/
|
||||
|
||||
/*
|
||||
* board/config.h - configuration options, board specific
|
||||
*/
|
||||
|
||||
#ifndef __CONFIG_H
|
||||
#define __CONFIG_H
|
||||
|
||||
/*
|
||||
* High Level Configuration Options
|
||||
* (easy to change)
|
||||
*/
|
||||
|
||||
#define CONFIG_405GP 1 /* This is a PPC405GP CPU */
|
||||
#define CONFIG_4xx 1 /* ...member of PPC4xx family */
|
||||
#define CONFIG_EXBITGEN 1 /* on a Exbit Generic board */
|
||||
|
||||
#define CONFIG_BOARD_EARLY_INIT_F 1 /* Call board_early_init_f */
|
||||
|
||||
#define CONFIG_SYS_CLK_FREQ 25000000 /* external frequency to pll */
|
||||
|
||||
/* I2C configuration */
|
||||
#define CONFIG_HARD_I2C 1 /* I2C with hardware support */
|
||||
#define CONFIG_SYS_I2C_SPEED 40000 /* I2C speed */
|
||||
#define CONFIG_SYS_I2C_SLAVE 0x7F /* I2C slave address */
|
||||
|
||||
/* environment is in EEPROM */
|
||||
#define CONFIG_ENV_IS_IN_EEPROM 1
|
||||
#undef CONFIG_ENV_IS_IN_FLASH
|
||||
#undef CONFIG_ENV_IS_IN_NVRAM
|
||||
|
||||
#ifdef CONFIG_ENV_IS_IN_EEPROM
|
||||
#define CONFIG_SYS_I2C_EEPROM_ADDR 0x56 /* 1010110 */
|
||||
#define CONFIG_SYS_I2C_EEPROM_ADDR_LEN 1 /* 8-bit internal addressing */
|
||||
#define CONFIG_SYS_I2C_EEPROM_ADDR_OVERFLOW 1 /* ... and 1 bit in I2C address */
|
||||
#define CONFIG_SYS_EEPROM_PAGE_WRITE_BITS 3 /* 4 bytes per page */
|
||||
#define CONFIG_SYS_EEPROM_PAGE_WRITE_DELAY_MS 40 /* write takes up to 40 msec */
|
||||
#define CONFIG_ENV_OFFSET 4 /* Offset of Environment Sector */
|
||||
#define CONFIG_ENV_SIZE 350 /* that is 350 bytes only! */
|
||||
#endif
|
||||
|
||||
#define CONFIG_BOOTDELAY 10 /* autoboot after 10 seconds */
|
||||
/* Explanation:
|
||||
autbooting is altogether disabled and cannot be
|
||||
enabled if CONFIG_BOOTDELAY is negative.
|
||||
If you want shorter bootdelay, then
|
||||
- "setenv bootdelay <delay>" to the proper value
|
||||
*/
|
||||
|
||||
#define CONFIG_BOOTCOMMAND "bootm 20400000 20800000"
|
||||
|
||||
#define CONFIG_BOOTARGS "root=/dev/ram " \
|
||||
"ramdisk_size=32768 " \
|
||||
"console=ttyS0,115200 " \
|
||||
"ram=128M debug"
|
||||
|
||||
#define CONFIG_LOADS_ECHO 1 /* echo on for serial download */
|
||||
#define CONFIG_SYS_LOADS_BAUD_CHANGE 1 /* allow baudrate change */
|
||||
|
||||
#define CONFIG_MII 1 /* MII PHY management */
|
||||
#define CONFIG_PHY_ADDR 0 /* PHY address */
|
||||
|
||||
|
||||
/*
|
||||
* BOOTP options
|
||||
*/
|
||||
#define CONFIG_BOOTP_BOOTFILESIZE
|
||||
#define CONFIG_BOOTP_BOOTPATH
|
||||
#define CONFIG_PPC4xx_EMAC
|
||||
#define CONFIG_BOOTP_GATEWAY
|
||||
#define CONFIG_BOOTP_HOSTNAME
|
||||
|
||||
|
||||
/*
|
||||
* Command line configuration.
|
||||
*/
|
||||
#include <config_cmd_default.h>
|
||||
|
||||
|
||||
#undef CONFIG_WATCHDOG /* watchdog disabled */
|
||||
|
||||
/*
|
||||
* Miscellaneous configurable options
|
||||
*/
|
||||
#define CONFIG_SYS_LONGHELP /* undef to save memory */
|
||||
#define CONFIG_SYS_PROMPT "=> " /* Monitor Command Prompt */
|
||||
#if defined(CONFIG_CMD_KGDB)
|
||||
#define CONFIG_SYS_CBSIZE 1024 /* Console I/O Buffer Size */
|
||||
#else
|
||||
#define CONFIG_SYS_CBSIZE 256 /* Console I/O Buffer Size */
|
||||
#endif
|
||||
#define CONFIG_SYS_PBSIZE (CONFIG_SYS_CBSIZE+sizeof(CONFIG_SYS_PROMPT)+16) /* Print Buffer Size */
|
||||
#define CONFIG_SYS_MAXARGS 16 /* max number of command args */
|
||||
#define CONFIG_SYS_BARGSIZE CONFIG_SYS_CBSIZE /* Boot Argument Buffer Size */
|
||||
|
||||
#define CONFIG_SYS_MEMTEST_START 0x0400000 /* memtest works on */
|
||||
#define CONFIG_SYS_MEMTEST_END 0x0C00000 /* 4 ... 12 MB in DRAM */
|
||||
|
||||
/* UART configuration */
|
||||
#define CONFIG_SYS_BASE_BAUD 691200
|
||||
|
||||
/* Default baud rate */
|
||||
#define CONFIG_BAUDRATE 115200
|
||||
|
||||
/* The following table includes the supported baudrates */
|
||||
#define CONFIG_SYS_BAUDRATE_TABLE \
|
||||
{ 300, 600, 1200, 2400, 4800, 9600, 19200, 38400, \
|
||||
57600, 115200, 230400, 460800, 921600 }
|
||||
|
||||
#define CONFIG_SYS_LOAD_ADDR 0x100000 /* default load address */
|
||||
#define CONFIG_SYS_EXTBDINFO 1 /* To use extended board_into (bd_t) */
|
||||
|
||||
#define CONFIG_SYS_HZ 1000 /* decrementer freq: 1 ms ticks */
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* PCI stuff
|
||||
*-----------------------------------------------------------------------
|
||||
*/
|
||||
#undef CONFIG_PCI /* no pci support */
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* External peripheral base address
|
||||
*-----------------------------------------------------------------------
|
||||
*/
|
||||
#undef CONFIG_IDE_PCMCIA /* no pcmcia interface required */
|
||||
#undef CONFIG_IDE_LED /* no led for ide supported */
|
||||
#undef CONFIG_IDE_RESET /* no reset for ide supported */
|
||||
|
||||
#define CONFIG_SYS_KEY_REG_BASE_ADDR 0xF0100000
|
||||
#define CONFIG_SYS_IR_REG_BASE_ADDR 0xF0200000
|
||||
#define CONFIG_SYS_FPGA_REG_BASE_ADDR 0xF0300000
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* Start addresses for the final memory configuration
|
||||
* (Set up by the startup code)
|
||||
* Please note that CONFIG_SYS_SDRAM_BASE _must_ start at 0
|
||||
*/
|
||||
#define CONFIG_SYS_SDRAM_BASE 0x00000000
|
||||
#define CONFIG_SYS_FLASH0_BASE 0xFFF80000
|
||||
#define CONFIG_SYS_FLASH0_SIZE 0x00080000
|
||||
#define CONFIG_SYS_FLASH1_BASE 0x20000000
|
||||
#define CONFIG_SYS_FLASH1_SIZE 0x02000000
|
||||
#define CONFIG_SYS_FLASH_BASE CONFIG_SYS_FLASH0_BASE
|
||||
#define CONFIG_SYS_FLASH_SIZE CONFIG_SYS_FLASH0_SIZE
|
||||
#define CONFIG_SYS_MONITOR_BASE CONFIG_SYS_TEXT_BASE
|
||||
#define CONFIG_SYS_MONITOR_LEN (192 * 1024) /* Reserve 196 kB for Monitor */
|
||||
#define CONFIG_SYS_MALLOC_LEN (128 * 1024) /* Reserve 128 kB for malloc() */
|
||||
|
||||
#if CONFIG_SYS_MONITOR_BASE < CONFIG_SYS_FLASH0_BASE
|
||||
#define CONFIG_SYS_RAMSTART
|
||||
#endif
|
||||
|
||||
/*
|
||||
* For booting Linux, the board info and command line data
|
||||
* have to be in the first 8 MB of memory, since this is
|
||||
* the maximum mapped by the Linux kernel during initialization.
|
||||
*/
|
||||
#define CONFIG_SYS_BOOTMAPSZ (8 << 20) /* Initial Memory map for Linux */
|
||||
/*-----------------------------------------------------------------------
|
||||
* FLASH organization
|
||||
*/
|
||||
#define CONFIG_SYS_MAX_FLASH_BANKS 5 /* max number of memory banks */
|
||||
#define CONFIG_SYS_MAX_FLASH_SECT 128 /* max number of sectors on one chip */
|
||||
|
||||
#define CONFIG_SYS_FLASH_ERASE_TOUT 120000 /* Timeout for Flash Erase (in ms) */
|
||||
#define CONFIG_SYS_FLASH_WRITE_TOUT 500 /* Timeout for Flash Write (in ms) */
|
||||
|
||||
#ifdef CONFIG_ENV_IS_IN_FLASH
|
||||
#define CONFIG_ENV_OFFSET 0x00060000 /* Offset of Environment Sector */
|
||||
#define CONFIG_ENV_SIZE 0x00010000 /* Total Size of Environment Sector */
|
||||
#define CONFIG_ENV_SECT_SIZE 0x00010000 /* see README - env sector total size */
|
||||
#endif
|
||||
|
||||
/* On Chip Memory location/size */
|
||||
#define CONFIG_SYS_OCM_DATA_ADDR 0xF8000000
|
||||
#define CONFIG_SYS_OCM_DATA_SIZE 0x1000
|
||||
|
||||
/* Global info and initial stack */
|
||||
#define CONFIG_SYS_INIT_RAM_ADDR CONFIG_SYS_OCM_DATA_ADDR /* inside of on-chip SRAM */
|
||||
#define CONFIG_SYS_INIT_RAM_SIZE CONFIG_SYS_OCM_DATA_SIZE /* Size of used area in RAM */
|
||||
#define CONFIG_SYS_GBL_DATA_OFFSET (CONFIG_SYS_INIT_RAM_SIZE - GENERATED_GBL_DATA_SIZE)
|
||||
#define CONFIG_SYS_INIT_SP_OFFSET CONFIG_SYS_GBL_DATA_OFFSET
|
||||
|
||||
#if defined(CONFIG_CMD_KGDB)
|
||||
#define CONFIG_KGDB_BAUDRATE 230400 /* speed to run kgdb serial port */
|
||||
#define CONFIG_KGDB_SER_INDEX 2 /* which serial port to use */
|
||||
#endif
|
||||
#endif /* __CONFIG_H */
|
||||
|
|
@ -0,0 +1,474 @@
|
|||
/*
|
||||
* A collection of structures, addresses, and values associated with
|
||||
* the Motorola 860T FADS board. Copied from the MBX stuff.
|
||||
* Magnus Damm added defines for 8xxrom and extended bd_info.
|
||||
* Helmut Buchsbaum added bitvalues for BCSRx
|
||||
*
|
||||
* Copyright (c) 1998 Dan Malek (dmalek@jlc.net)
|
||||
*/
|
||||
|
||||
/*
|
||||
* 1999-nov-26: The FADS is using the following physical memorymap:
|
||||
*
|
||||
* ff020000 -> ff02ffff : pcmcia io remapping
|
||||
* ff010000 -> ff01ffff : BCSR connected to CS1, setup by U-Boot
|
||||
* ff000000 -> ff00ffff : IMAP internal in the cpu
|
||||
* e0000000 -> f3ffffff : pcmcia memory remapping by m8xx_pcmcia
|
||||
* fe000000 -> fe1fffff : flash connected to CS0, setup by U-Boot
|
||||
* 00000000 -> nnnnnnnn : sdram/dram setup by U-Boot
|
||||
*/
|
||||
|
||||
#define CONFIG_SYS_PCMCIA_IO_ADDR 0xff020000
|
||||
#define CONFIG_SYS_PCMCIA_IO_SIZE 0x10000
|
||||
#define CONFIG_SYS_PCMCIA_MEM_ADDR 0xe0000000
|
||||
#define CONFIG_SYS_PCMCIA_MEM_SIZE 0x10000
|
||||
#define CONFIG_SYS_IMMR 0xFF000000
|
||||
#define CONFIG_SYS_SDRAM_SIZE (4<<20) /* standard FADS has 4M */
|
||||
#define CONFIG_SYS_SDRAM_BASE 0x00000000
|
||||
#define CONFIG_SYS_FLASH_BASE 0x02800000
|
||||
#define BCSR_ADDR ((uint) 0xff010000)
|
||||
#define FLASH_BASE0_PRELIM 0x02800000 /* FLASH bank #0 */
|
||||
|
||||
/* ------------------------------------------------------------------------- */
|
||||
|
||||
/*
|
||||
* board/config.h - configuration options, board specific
|
||||
*/
|
||||
|
||||
#ifndef __CONFIG_H
|
||||
#define __CONFIG_H
|
||||
|
||||
#define CONFIG_SYS_TEXT_BASE 0xFE000000
|
||||
|
||||
#define CONFIG_ETHADDR 08:00:22:50:70:63 /* Ethernet address */
|
||||
#define CONFIG_ENV_OVERWRITE 1 /* Overwrite the environment */
|
||||
|
||||
#define CONFIG_VIDEO 1 /* To enable video controller support */
|
||||
#define CONFIG_HARD_I2C 1 /* To I2C with hardware support */
|
||||
#define CONFIG_SYS_I2C_SPEED 400000 /* I2C speed and slave address */
|
||||
#define CONFIG_SYS_I2C_SLAVE 0x7F
|
||||
|
||||
/*#define CONFIG_PCMCIA 1 / * To enable PCMCIA support */
|
||||
|
||||
/* Video related */
|
||||
|
||||
#define CONFIG_VIDEO_LOGO 1 /* Show the logo */
|
||||
#define CONFIG_VIDEO_ENCODER_AD7176 1 /* Enable this encoder */
|
||||
#define CONFIG_VIDEO_ENCODER_AD7176_ADDR 0x54 /* Default on fads */
|
||||
#define CONFIG_VIDEO_SIZE (2*1024*1024)
|
||||
/* #define CONFIG_VIDEO_ADDR (gd->bd->bi_memsize - CONFIG_VIDEO_SIZE) Frame buffer address */
|
||||
|
||||
/* Wireless 56Khz 4PPM keyboard on SMCx */
|
||||
|
||||
/*#define CONFIG_KEYBOARD 1 */
|
||||
#define CONFIG_WL_4PPM_KEYBOARD_SMC 0 /* SMC to use (0 indexed) */
|
||||
|
||||
/*
|
||||
* High Level Configuration Options
|
||||
* (easy to change)
|
||||
*/
|
||||
#define CONFIG_MPC823 1
|
||||
#define CONFIG_MPC823FADS 1
|
||||
#define CONFIG_FADS 1
|
||||
|
||||
#define CONFIG_8xx_CONS_SMC1 1 /* Console is on SMC1 */
|
||||
#undef CONFIG_8xx_CONS_SMC2
|
||||
#undef CONFIG_8xx_CONS_NONE
|
||||
#define CONFIG_BAUDRATE 115200
|
||||
|
||||
/* Set the CPU speed to 50Mhz on the FADS */
|
||||
|
||||
#if 0
|
||||
#define MPC8XX_FACT 10 /* Multiply by 10 */
|
||||
#define MPC8XX_XIN 5000000 /* 5 MHz in */
|
||||
#else
|
||||
#define MPC8XX_FACT 10 /* Multiply by 10 */
|
||||
#define MPC8XX_XIN 5000000 /* 5 MHz in */
|
||||
#define CONFIG_SYS_PLPRCR_MF (MPC8XX_FACT-1) << 20 /* From 0 to 4095 */
|
||||
#endif
|
||||
#define MPC8XX_HZ ((MPC8XX_XIN) * (MPC8XX_FACT))
|
||||
|
||||
#define CONFIG_CLOCKS_IN_MHZ 1 /* clocks passsed to Linux in MHz */
|
||||
|
||||
#if 1
|
||||
#define CONFIG_BOOTDELAY 2 /* autoboot after 2 seconds */
|
||||
#define CONFIG_LOADS_ECHO 0 /* Dont echoes received characters */
|
||||
#define CONFIG_BOOTARGS ""
|
||||
#define CONFIG_BOOTCOMMAND \
|
||||
"bootp ;" \
|
||||
"setenv bootargs console=tty0 console=ttyS0 " \
|
||||
"root=/dev/nfs nfsroot=${serverip}:${rootpath} " \
|
||||
"ip=${ipaddr}:${serverip}:${gatewayip}:${netmask}:${hostname}:eth0:off ;" \
|
||||
"bootm"
|
||||
#else
|
||||
#define CONFIG_BOOTDELAY 0 /* autoboot disabled */
|
||||
#endif
|
||||
|
||||
#undef CONFIG_WATCHDOG /* watchdog disabled */
|
||||
|
||||
|
||||
/*
|
||||
* BOOTP options
|
||||
*/
|
||||
#define CONFIG_BOOTP_SUBNETMASK
|
||||
#define CONFIG_BOOTP_GATEWAY
|
||||
#define CONFIG_BOOTP_HOSTNAME
|
||||
#define CONFIG_BOOTP_BOOTPATH
|
||||
#define CONFIG_BOOTP_BOOTFILESIZE
|
||||
#define CONFIG_BOOTP_SUBNETMASK
|
||||
#define CONFIG_BOOTP_GATEWAY
|
||||
#define CONFIG_BOOTP_HOSTNAME
|
||||
#define CONFIG_BOOTP_NISDOMAIN
|
||||
#define CONFIG_BOOTP_BOOTPATH
|
||||
#define CONFIG_BOOTP_DNS
|
||||
#define CONFIG_BOOTP_DNS2
|
||||
#define CONFIG_BOOTP_SEND_HOSTNAME
|
||||
#define CONFIG_BOOTP_NTPSERVER
|
||||
#define CONFIG_BOOTP_TIMEOFFSET
|
||||
|
||||
|
||||
/*
|
||||
* Command line configuration.
|
||||
*/
|
||||
#include <config_cmd_default.h>
|
||||
|
||||
|
||||
/*
|
||||
* Miscellaneous configurable options
|
||||
*/
|
||||
#define CONFIG_SYS_LONGHELP /* undef to save memory */
|
||||
#define CONFIG_SYS_PROMPT ":>" /* Monitor Command Prompt */
|
||||
#if defined(CONFIG_CMD_KGDB)
|
||||
#define CONFIG_SYS_CBSIZE 1024 /* Console I/O Buffer Size */
|
||||
#else
|
||||
#define CONFIG_SYS_CBSIZE 256 /* Console I/O Buffer Size */
|
||||
#endif
|
||||
#define CONFIG_SYS_PBSIZE (CONFIG_SYS_CBSIZE+sizeof(CONFIG_SYS_PROMPT)+16) /* Print Buffer Size */
|
||||
#define CONFIG_SYS_MAXARGS 16 /* max number of command args */
|
||||
#define CONFIG_SYS_BARGSIZE CONFIG_SYS_CBSIZE /* Boot Argument Buffer Size */
|
||||
|
||||
#define CONFIG_SYS_MEMTEST_START 0x00004000 /* memtest works on */
|
||||
#define CONFIG_SYS_MEMTEST_END 0x01000000 /* 0 ... 16 MB in DRAM */
|
||||
|
||||
#define CONFIG_SYS_LOAD_ADDR 0x00100000 /* default load address */
|
||||
|
||||
#define CONFIG_SYS_HZ 1000 /* decrementer freq: 1 ms ticks */
|
||||
|
||||
/*
|
||||
* Low Level Configuration Settings
|
||||
* (address mappings, register initial values, etc.)
|
||||
* You should know what you are doing if you make changes here.
|
||||
*/
|
||||
/*-----------------------------------------------------------------------
|
||||
* Internal Memory Mapped Register
|
||||
*/
|
||||
#define CONFIG_SYS_IMMR_SIZE ((uint)(64 * 1024))
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* Definitions for initial stack pointer and data area (in DPRAM)
|
||||
*/
|
||||
#define CONFIG_SYS_INIT_RAM_ADDR CONFIG_SYS_IMMR
|
||||
#define CONFIG_SYS_INIT_RAM_SIZE 0x2F00 /* Size of used area in DPRAM */
|
||||
#define CONFIG_SYS_GBL_DATA_OFFSET (CONFIG_SYS_INIT_RAM_SIZE - GENERATED_GBL_DATA_SIZE)
|
||||
#define CONFIG_SYS_INIT_SP_OFFSET CONFIG_SYS_GBL_DATA_OFFSET
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* Start addresses for the final memory configuration
|
||||
* (Set up by the startup code)
|
||||
* Please note that CONFIG_SYS_SDRAM_BASE _must_ start at 0
|
||||
* Also NOTE that it doesn't mean SDRAM - it means MEMORY.
|
||||
*/
|
||||
#define CONFIG_SYS_FLASH_SIZE ((uint)(8 * 1024 * 1024)) /* max 8Mbyte */
|
||||
#if 0
|
||||
#define CONFIG_SYS_MONITOR_LEN (256 << 10) /* Reserve 256 kB for Monitor */
|
||||
#else
|
||||
#define CONFIG_SYS_MONITOR_LEN (512 << 10) /* Reserve 512 kB for Monitor */
|
||||
#endif
|
||||
#define CONFIG_SYS_MONITOR_BASE CONFIG_SYS_FLASH_BASE
|
||||
#define CONFIG_SYS_MALLOC_LEN (128 << 10) /* Reserve 128 kB for malloc() */
|
||||
|
||||
/*
|
||||
* For booting Linux, the board info and command line data
|
||||
* have to be in the first 8 MB of memory, since this is
|
||||
* the maximum mapped by the Linux kernel during initialization.
|
||||
*/
|
||||
#define CONFIG_SYS_BOOTMAPSZ (8 << 20) /* Initial Memory map for Linux */
|
||||
/*-----------------------------------------------------------------------
|
||||
* FLASH organization
|
||||
*/
|
||||
#define CONFIG_SYS_MAX_FLASH_BANKS 1 /* max number of memory banks */
|
||||
#define CONFIG_SYS_MAX_FLASH_SECT 8 /* max number of sectors on one chip */
|
||||
|
||||
#define CONFIG_SYS_FLASH_ERASE_TOUT 120000 /* Timeout for Flash Erase (in ms) */
|
||||
#define CONFIG_SYS_FLASH_WRITE_TOUT 500 /* Timeout for Flash Write (in ms) */
|
||||
|
||||
#define CONFIG_ENV_IS_IN_FLASH 1
|
||||
#define CONFIG_ENV_OFFSET 0x00040000 /* Offset of Environment Sector */
|
||||
#define CONFIG_ENV_SIZE 0x40000 /* Total Size of Environment Sector */
|
||||
#define CONFIG_SYS_USE_PPCENV /* Environment embedded in sect .ppcenv */
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* Cache Configuration
|
||||
*/
|
||||
#define CONFIG_SYS_CACHELINE_SIZE 16 /* For all MPC8xx CPUs */
|
||||
#if defined(CONFIG_CMD_KGDB)
|
||||
#define CONFIG_SYS_CACHELINE_SHIFT 4 /* log base 2 of the above value */
|
||||
#endif
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* SYPCR - System Protection Control 11-9
|
||||
* SYPCR can only be written once after reset!
|
||||
*-----------------------------------------------------------------------
|
||||
* Software & Bus Monitor Timer max, Bus Monitor enable, SW Watchdog freeze
|
||||
*/
|
||||
#if defined(CONFIG_WATCHDOG)
|
||||
#define CONFIG_SYS_SYPCR (SYPCR_SWTC | SYPCR_BMT | SYPCR_BME | SYPCR_SWF | \
|
||||
SYPCR_SWE | SYPCR_SWRI| SYPCR_SWP)
|
||||
#else
|
||||
#define CONFIG_SYS_SYPCR (SYPCR_SWTC | SYPCR_BMT | SYPCR_BME | SYPCR_SWF | SYPCR_SWP)
|
||||
#endif
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* SIUMCR - SIU Module Configuration 11-6
|
||||
*-----------------------------------------------------------------------
|
||||
* PCMCIA config., multi-function pin tri-state
|
||||
*/
|
||||
#define CONFIG_SYS_SIUMCR (SIUMCR_DBGC00 | SIUMCR_DBPC00 | SIUMCR_MLRC01)
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* TBSCR - Time Base Status and Control 11-26
|
||||
*-----------------------------------------------------------------------
|
||||
* Clear Reference Interrupt Status, Timebase freezing enabled
|
||||
*/
|
||||
#define CONFIG_SYS_TBSCR (TBSCR_REFA | TBSCR_REFB | TBSCR_TBE)
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* PISCR - Periodic Interrupt Status and Control 11-31
|
||||
*-----------------------------------------------------------------------
|
||||
* Clear Periodic Interrupt Status, Interrupt Timer freezing enabled
|
||||
*/
|
||||
#define CONFIG_SYS_PISCR (PISCR_PS | PISCR_PITF)
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* PLPRCR - PLL, Low-Power, and Reset Control Register 15-30
|
||||
*-----------------------------------------------------------------------
|
||||
* Reset PLL lock status sticky bit, timer expired status bit and timer *
|
||||
* interrupt status bit - leave PLL multiplication factor unchanged !
|
||||
*/
|
||||
#define CONFIG_SYS_PLPRCR (PLPRCR_SPLSS | PLPRCR_TEXPS | PLPRCR_TMIST | CONFIG_SYS_PLPRCR_MF)
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
* SCCR - System Clock and reset Control Register 15-27
|
||||
*-----------------------------------------------------------------------
|
||||
* Set clock output, timebase and RTC source and divider,
|
||||
* power management and some other internal clocks
|
||||
*/
|
||||
#define SCCR_MASK SCCR_EBDF11
|
||||
#define CONFIG_SYS_SCCR (SCCR_TBS | \
|
||||
SCCR_COM00 | SCCR_DFSYNC00 | SCCR_DFBRG00 | \
|
||||
SCCR_DFNL000 | SCCR_DFNH000 | SCCR_DFLCD000 | \
|
||||
SCCR_DFALCD00)
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
*
|
||||
*-----------------------------------------------------------------------
|
||||
*
|
||||
*/
|
||||
#define CONFIG_SYS_DER 0
|
||||
|
||||
/* Because of the way the 860 starts up and assigns CS0 the
|
||||
* entire address space, we have to set the memory controller
|
||||
* differently. Normally, you write the option register
|
||||
* first, and then enable the chip select by writing the
|
||||
* base register. For CS0, you must write the base register
|
||||
* first, followed by the option register.
|
||||
*/
|
||||
|
||||
/*
|
||||
* Init Memory Controller:
|
||||
*
|
||||
* BR0/1 and OR0/1 (FLASH)
|
||||
*/
|
||||
/* the other CS:s are determined by looking at parameters in BCSRx */
|
||||
|
||||
#define BCSR_SIZE ((uint)(64 * 1024))
|
||||
|
||||
#define FLASH_BASE1_PRELIM 0x00000000 /* FLASH bank #1 */
|
||||
|
||||
#define CONFIG_SYS_REMAP_OR_AM 0x80000000 /* OR addr mask */
|
||||
#define CONFIG_SYS_PRELIM_OR_AM 0xFFE00000 /* OR addr mask */
|
||||
|
||||
/* FLASH timing: ACS = 10, TRLX = 1, CSNT = 1, SCY = 3, EHTR = 0 */
|
||||
#define CONFIG_SYS_OR_TIMING_FLASH (OR_CSNT_SAM | OR_ACS_DIV4 | OR_BI | OR_SCY_3_CLK | OR_TRLX)
|
||||
|
||||
#define CONFIG_SYS_OR0_REMAP (CONFIG_SYS_REMAP_OR_AM | CONFIG_SYS_OR_TIMING_FLASH)
|
||||
#define CONFIG_SYS_OR0_PRELIM (CONFIG_SYS_PRELIM_OR_AM | CONFIG_SYS_OR_TIMING_FLASH) /* 1 Mbyte until detected and only 1 Mbyte is needed*/
|
||||
#define CONFIG_SYS_BR0_PRELIM ((FLASH_BASE0_PRELIM & BR_BA_MSK) | BR_V )
|
||||
|
||||
/* BCSRx - Board Control and Status Registers */
|
||||
#define CONFIG_SYS_OR1_REMAP CONFIG_SYS_OR0_REMAP
|
||||
#define CONFIG_SYS_OR1_PRELIM 0xffff8110 /* 64Kbyte address space */
|
||||
#define CONFIG_SYS_BR1_PRELIM ((BCSR_ADDR) | BR_V )
|
||||
|
||||
|
||||
/*
|
||||
* Memory Periodic Timer Prescaler
|
||||
*/
|
||||
|
||||
/* periodic timer for refresh */
|
||||
#define CONFIG_SYS_MAMR_PTA 97 /* start with divider for 100 MHz */
|
||||
|
||||
/* refresh rate 15.6 us (= 64 ms / 4K = 62.4 / quad bursts) for <= 128 MBit */
|
||||
#define CONFIG_SYS_MPTPR_2BK_4K MPTPR_PTP_DIV16 /* setting for 2 banks */
|
||||
#define CONFIG_SYS_MPTPR_1BK_4K MPTPR_PTP_DIV32 /* setting for 1 bank */
|
||||
|
||||
/* refresh rate 7.8 us (= 64 ms / 8K = 31.2 / quad bursts) for 256 MBit */
|
||||
#define CONFIG_SYS_MPTPR_2BK_8K MPTPR_PTP_DIV8 /* setting for 2 banks */
|
||||
#define CONFIG_SYS_MPTPR_1BK_8K MPTPR_PTP_DIV16 /* setting for 1 bank */
|
||||
|
||||
/*
|
||||
* MAMR settings for SDRAM
|
||||
*/
|
||||
|
||||
/* 8 column SDRAM */
|
||||
#define CONFIG_SYS_MAMR_8COL ((CONFIG_SYS_MAMR_PTA << MAMR_PTA_SHIFT) | MAMR_PTAE | \
|
||||
MAMR_AMA_TYPE_0 | MAMR_DSA_1_CYCL | MAMR_G0CLA_A11 | \
|
||||
MAMR_RLFA_1X | MAMR_WLFA_1X | MAMR_TLFA_4X)
|
||||
/* 9 column SDRAM */
|
||||
#define CONFIG_SYS_MAMR_9COL ((CONFIG_SYS_MAMR_PTA << MAMR_PTA_SHIFT) | MAMR_PTAE | \
|
||||
MAMR_AMA_TYPE_1 | MAMR_DSA_1_CYCL | MAMR_G0CLA_A10 | \
|
||||
MAMR_RLFA_1X | MAMR_WLFA_1X | MAMR_TLFA_4X)
|
||||
|
||||
#define CONFIG_SYS_MAMR 0x13a01114
|
||||
|
||||
/* values according to the manual */
|
||||
|
||||
#define BCSR0 ((uint) (BCSR_ADDR + 00))
|
||||
#define BCSR1 ((uint) (BCSR_ADDR + 0x04))
|
||||
#define BCSR2 ((uint) (BCSR_ADDR + 0x08))
|
||||
#define BCSR3 ((uint) (BCSR_ADDR + 0x0c))
|
||||
#define BCSR4 ((uint) (BCSR_ADDR + 0x10))
|
||||
|
||||
/* FADS bitvalues by Helmut Buchsbaum
|
||||
* see MPC8xxADS User's Manual for a proper description
|
||||
* of the following structures
|
||||
*/
|
||||
|
||||
#define BCSR0_ERB ((uint)0x80000000)
|
||||
#define BCSR0_IP ((uint)0x40000000)
|
||||
#define BCSR0_BDIS ((uint)0x10000000)
|
||||
#define BCSR0_BPS_MASK ((uint)0x0C000000)
|
||||
#define BCSR0_ISB_MASK ((uint)0x01800000)
|
||||
#define BCSR0_DBGC_MASK ((uint)0x00600000)
|
||||
#define BCSR0_DBPC_MASK ((uint)0x00180000)
|
||||
#define BCSR0_EBDF_MASK ((uint)0x00060000)
|
||||
|
||||
#define BCSR1_FLASH_EN ((uint)0x80000000)
|
||||
#define BCSR1_DRAM_EN ((uint)0x40000000)
|
||||
#define BCSR1_ETHEN ((uint)0x20000000)
|
||||
#define BCSR1_IRDEN ((uint)0x10000000)
|
||||
#define BCSR1_FLASH_CFG_EN ((uint)0x08000000)
|
||||
#define BCSR1_CNT_REG_EN_PROTECT ((uint)0x04000000)
|
||||
#define BCSR1_BCSR_EN ((uint)0x02000000)
|
||||
#define BCSR1_RS232EN_1 ((uint)0x01000000)
|
||||
#define BCSR1_PCCEN ((uint)0x00800000)
|
||||
#define BCSR1_PCCVCC0 ((uint)0x00400000)
|
||||
#define BCSR1_PCCVPP_MASK ((uint)0x00300000)
|
||||
#define BCSR1_DRAM_HALF_WORD ((uint)0x00080000)
|
||||
#define BCSR1_RS232EN_2 ((uint)0x00040000)
|
||||
#define BCSR1_SDRAM_EN ((uint)0x00020000)
|
||||
#define BCSR1_PCCVCC1 ((uint)0x00010000)
|
||||
|
||||
#define BCSR2_FLASH_PD_MASK ((uint)0xF0000000)
|
||||
#define BCSR2_FLASH_PD_SHIFT 28
|
||||
#define BCSR2_DRAM_PD_MASK ((uint)0x07800000)
|
||||
#define BCSR2_DRAM_PD_SHIFT 23
|
||||
#define BCSR2_EXTTOLI_MASK ((uint)0x00780000)
|
||||
#define BCSR2_DBREVNR_MASK ((uint)0x00030000)
|
||||
|
||||
#define BCSR3_DBID_MASK ((ushort)0x3800)
|
||||
#define BCSR3_CNT_REG_EN_PROTECT ((ushort)0x0400)
|
||||
#define BCSR3_BREVNR0 ((ushort)0x0080)
|
||||
#define BCSR3_FLASH_PD_MASK ((ushort)0x0070)
|
||||
#define BCSR3_BREVN1 ((ushort)0x0008)
|
||||
#define BCSR3_BREVN2_MASK ((ushort)0x0003)
|
||||
|
||||
#define BCSR4_ETHLOOP ((uint)0x80000000)
|
||||
#define BCSR4_TFPLDL ((uint)0x40000000)
|
||||
#define BCSR4_TPSQEL ((uint)0x20000000)
|
||||
#define BCSR4_SIGNAL_LAMP ((uint)0x10000000)
|
||||
#ifdef CONFIG_MPC823
|
||||
#define BCSR4_USB_EN ((uint)0x08000000)
|
||||
#endif /* CONFIG_MPC823 */
|
||||
#ifdef CONFIG_MPC860SAR
|
||||
#define BCSR4_UTOPIA_EN ((uint)0x08000000)
|
||||
#endif /* CONFIG_MPC860SAR */
|
||||
#ifdef CONFIG_MPC860T
|
||||
#define BCSR4_FETH_EN ((uint)0x08000000)
|
||||
#endif /* CONFIG_MPC860T */
|
||||
#ifdef CONFIG_MPC823
|
||||
#define BCSR4_USB_SPEED ((uint)0x04000000)
|
||||
#endif /* CONFIG_MPC823 */
|
||||
#ifdef CONFIG_MPC860T
|
||||
#define BCSR4_FETHCFG0 ((uint)0x04000000)
|
||||
#endif /* CONFIG_MPC860T */
|
||||
#ifdef CONFIG_MPC823
|
||||
#define BCSR4_VCCO ((uint)0x02000000)
|
||||
#endif /* CONFIG_MPC823 */
|
||||
#ifdef CONFIG_MPC860T
|
||||
#define BCSR4_FETHFDE ((uint)0x02000000)
|
||||
#endif /* CONFIG_MPC860T */
|
||||
#ifdef CONFIG_MPC823
|
||||
#define BCSR4_VIDEO_ON ((uint)0x00800000)
|
||||
#endif /* CONFIG_MPC823 */
|
||||
#ifdef CONFIG_MPC823
|
||||
#define BCSR4_VDO_EKT_CLK_EN ((uint)0x00400000)
|
||||
#endif /* CONFIG_MPC823 */
|
||||
#ifdef CONFIG_MPC860T
|
||||
#define BCSR4_FETHCFG1 ((uint)0x00400000)
|
||||
#endif /* CONFIG_MPC860T */
|
||||
#ifdef CONFIG_MPC823
|
||||
#define BCSR4_VIDEO_RST ((uint)0x00200000)
|
||||
#endif /* CONFIG_MPC823 */
|
||||
#ifdef CONFIG_MPC860T
|
||||
#define BCSR4_FETHRST ((uint)0x00200000)
|
||||
#endif /* CONFIG_MPC860T */
|
||||
#ifdef CONFIG_MPC823
|
||||
#define BCSR4_MODEM_EN ((uint)0x00100000)
|
||||
#endif /* CONFIG_MPC823 */
|
||||
#ifdef CONFIG_MPC823
|
||||
#define BCSR4_DATA_VOICE ((uint)0x00080000)
|
||||
#endif /* CONFIG_MPC823 */
|
||||
#ifdef CONFIG_MPC850
|
||||
#define BCSR4_DATA_VOICE ((uint)0x00080000)
|
||||
#endif /* CONFIG_MPC850 */
|
||||
|
||||
#define CONFIG_DRAM_50MHZ 1
|
||||
#define CONFIG_SDRAM_50MHZ
|
||||
|
||||
/* We don't use the 8259.
|
||||
*/
|
||||
#define NR_8259_INTS 0
|
||||
|
||||
/*
|
||||
* MPC8xx CPM Options
|
||||
*/
|
||||
#define CONFIG_SCC_ENET 1
|
||||
#define CONFIG_SCC2_ENET 1
|
||||
#undef CONFIG_FEC_ENET
|
||||
#undef CONFIG_CPM_IIC
|
||||
#undef CONFIG_UCODE_PATCH
|
||||
|
||||
#define CONFIG_DISK_SPINUP_TIME 1000000
|
||||
|
||||
/* PCMCIA configuration */
|
||||
|
||||
#define PCMCIA_MAX_SLOTS 1
|
||||
|
||||
#ifdef CONFIG_MPC860
|
||||
#define PCMCIA_SLOT_A 1
|
||||
#endif
|
||||
|
||||
#define CONFIG_SYS_DAUGHTERBOARD
|
||||
|
||||
#endif /* __CONFIG_H */
|
||||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue