blob: d76a14072857bb1818f04e7b99c228846bfe2ab8 [file] [log] [blame]
wdenk54387ac2003-10-08 22:45:44 +00001/*
Wolfgang Denkaba9f1a2006-03-12 01:45:44 +01002 * Copyright (C) 2003-2005 Arabella Software Ltd.
wdenk54387ac2003-10-08 22:45:44 +00003 * Yuli Barcohen <yuli@arabellasw.com>
4 *
5 * U-Boot configuration for Zephyr Engineering ZPC.1900 board.
6 * This port was developed and tested on Revision C board.
7 *
Wolfgang Denk3765b3e2013-10-07 13:07:26 +02008 * SPDX-License-Identifier: GPL-2.0+
wdenk54387ac2003-10-08 22:45:44 +00009 */
10
11#ifndef __CONFIG_H
12#define __CONFIG_H
13
wdenk54387ac2003-10-08 22:45:44 +000014#define CONFIG_ZPC1900 1 /* ...on Zephyr ZPC.1900 board */
Wolfgang Denk2ae18242010-10-06 09:05:45 +020015
16#define CONFIG_SYS_TEXT_BASE 0xFE000000
17
wdenk54387ac2003-10-08 22:45:44 +000018#define CPU_ID_STR "MPC8265"
Jon Loeliger9c4c5ae2005-07-23 10:37:35 -050019#define CONFIG_CPM2 1 /* Has a CPM2 */
wdenk54387ac2003-10-08 22:45:44 +000020
Wolfgang Denkaba9f1a2006-03-12 01:45:44 +010021/* Allow serial number (serial#) and MAC address (ethaddr) to be overwritten */
wdenk54387ac2003-10-08 22:45:44 +000022#define CONFIG_ENV_OVERWRITE
23
24/*
25 * Select serial console configuration
26 *
27 * If either CONFIG_CONS_ON_SMC or CONFIG_CONS_ON_SCC is selected, then
28 * CONFIG_CONS_INDEX must be set to the channel number (1-2 for SMC, 1-4
29 * for SCC).
30 */
31#define CONFIG_CONS_ON_SMC /* Console is on SMC */
32#undef CONFIG_CONS_ON_SCC /* It's not on SCC */
33#undef CONFIG_CONS_NONE /* It's not on external UART */
34#define CONFIG_CONS_INDEX 1 /* SMC1 is used for console */
35
36/*
37 * Select ethernet configuration
38 *
39 * If either CONFIG_ETHER_ON_SCC or CONFIG_ETHER_ON_FCC is selected,
40 * then CONFIG_ETHER_INDEX must be set to the channel number (1-4 for
41 * SCC, 1-3 for FCC)
42 *
43 * If CONFIG_ETHER_NONE is defined, then either the ethernet routines
Jon Loeliger639221c2007-07-09 17:15:49 -050044 * must be defined elsewhere (as for the console), or CONFIG_CMD_NET
45 * must be unset.
wdenk54387ac2003-10-08 22:45:44 +000046 */
47#undef CONFIG_ETHER_ON_SCC /* Ethernet is not on SCC */
48#define CONFIG_ETHER_ON_FCC /* Ethernet is on FCC */
49#undef CONFIG_ETHER_NONE /* No external Ethernet */
50
51#ifdef CONFIG_ETHER_ON_FCC
52
53#define CONFIG_ETHER_INDEX 2 /* FCC2 is used for Ethernet */
54
55#if (CONFIG_ETHER_INDEX == 2)
56/*
57 * - Rx clock is CLK13
58 * - Tx clock is CLK14
59 * - Select bus for bd/buffers (see 28-13)
60 * - Full duplex
61 */
Mike Frysingerd4590da2011-10-17 05:38:58 +000062# define CONFIG_SYS_CMXFCR_MASK2 (CMXFCR_FC2 | CMXFCR_RF2CS_MSK | CMXFCR_TF2CS_MSK)
63# define CONFIG_SYS_CMXFCR_VALUE2 (CMXFCR_RF2CS_CLK13 | CMXFCR_TF2CS_CLK14)
Jean-Christophe PLAGNIOL-VILLARD6d0f6bc2008-10-16 15:01:15 +020064# define CONFIG_SYS_CPMFCR_RAMTYPE 0
65# define CONFIG_SYS_FCC_PSMR (FCC_PSMR_FDE | FCC_PSMR_LPB)
wdenk54387ac2003-10-08 22:45:44 +000066
wdenk659883c2004-10-09 23:33:42 +000067#endif /* CONFIG_ETHER_INDEX */
wdenk54387ac2003-10-08 22:45:44 +000068
69#define CONFIG_MII /* MII PHY management */
70#define CONFIG_BITBANGMII /* Bit-banged MDIO interface */
71/*
72 * GPIO pins used for bit-banged MII communications
73 */
wdenk659883c2004-10-09 23:33:42 +000074#define MDIO_PORT 2 /* Port C */
Luigi 'Comio' Mantellinibe225442009-10-10 12:42:22 +020075#define MDIO_DECLARE volatile ioport_t *iop = ioport_addr ( \
76 (immap_t *) CONFIG_SYS_IMMR, MDIO_PORT )
77#define MDC_DECLARE MDIO_DECLARE
78
wdenk659883c2004-10-09 23:33:42 +000079#define MDIO_ACTIVE (iop->pdir |= 0x00400000)
80#define MDIO_TRISTATE (iop->pdir &= ~0x00400000)
81#define MDIO_READ ((iop->pdat & 0x00400000) != 0)
wdenk54387ac2003-10-08 22:45:44 +000082
wdenk659883c2004-10-09 23:33:42 +000083#define MDIO(bit) if(bit) iop->pdat |= 0x00400000; \
84 else iop->pdat &= ~0x00400000
wdenk54387ac2003-10-08 22:45:44 +000085
wdenk659883c2004-10-09 23:33:42 +000086#define MDC(bit) if(bit) iop->pdat |= 0x00200000; \
87 else iop->pdat &= ~0x00200000
wdenk54387ac2003-10-08 22:45:44 +000088
wdenk659883c2004-10-09 23:33:42 +000089#define MIIDELAY udelay(1)
wdenk54387ac2003-10-08 22:45:44 +000090
91#endif /* CONFIG_ETHER_ON_FCC */
92
93#ifndef CONFIG_8260_CLKIN
94#define CONFIG_8260_CLKIN 66666666 /* in Hz */
95#endif
96
wdenk659883c2004-10-09 23:33:42 +000097#define CONFIG_BAUDRATE 38400
wdenk54387ac2003-10-08 22:45:44 +000098
wdenk54387ac2003-10-08 22:45:44 +000099
Jon Loeligera5562902007-07-08 15:31:57 -0500100/*
Jon Loeligera1aa0bb2007-07-10 09:22:23 -0500101 * BOOTP options
102 */
103#define CONFIG_BOOTP_BOOTFILESIZE
104#define CONFIG_BOOTP_BOOTPATH
105#define CONFIG_BOOTP_GATEWAY
106#define CONFIG_BOOTP_HOSTNAME
107
108
109/*
Jon Loeligera5562902007-07-08 15:31:57 -0500110 * Command line configuration.
111 */
112#include <config_cmd_default.h>
113
114#define CONFIG_CMD_ASKENV
115#define CONFIG_CMD_DHCP
116#define CONFIG_CMD_IMMAP
117#define CONFIG_CMD_MII
118#define CONFIG_CMD_PING
119
wdenk54387ac2003-10-08 22:45:44 +0000120
121#define CONFIG_BOOTDELAY 5 /* autoboot after 5 seconds */
122#define CONFIG_BOOTCOMMAND "dhcp;bootm" /* autoboot command */
123#define CONFIG_BOOTARGS "root=/dev/nfs rw ip=:::::eth0:dhcp"
124
Jon Loeligera5562902007-07-08 15:31:57 -0500125#if defined(CONFIG_CMD_KGDB)
wdenk54387ac2003-10-08 22:45:44 +0000126#undef CONFIG_KGDB_ON_SMC /* define if kgdb on SMC */
127#define CONFIG_KGDB_ON_SCC /* define if kgdb on SCC */
128#undef CONFIG_KGDB_NONE /* define if kgdb on something else */
129#define CONFIG_KGDB_INDEX 2 /* which serial channel for kgdb */
130#define CONFIG_KGDB_BAUDRATE 115200 /* speed to run kgdb serial port at */
131#endif
132
133#define CONFIG_BZIP2 /* include support for bzip2 compressed images */
wdenk659883c2004-10-09 23:33:42 +0000134#undef CONFIG_WATCHDOG /* disable platform specific watchdog */
wdenk54387ac2003-10-08 22:45:44 +0000135
136/*
137 * Miscellaneous configurable options
138 */
Jean-Christophe PLAGNIOL-VILLARD6d0f6bc2008-10-16 15:01:15 +0200139#define CONFIG_SYS_HUSH_PARSER
Jean-Christophe PLAGNIOL-VILLARD6d0f6bc2008-10-16 15:01:15 +0200140#define CONFIG_SYS_LONGHELP /* undef to save memory */
Jon Loeligera5562902007-07-08 15:31:57 -0500141#if defined(CONFIG_CMD_KGDB)
Jean-Christophe PLAGNIOL-VILLARD6d0f6bc2008-10-16 15:01:15 +0200142#define CONFIG_SYS_CBSIZE 1024 /* Console I/O Buffer Size */
wdenk54387ac2003-10-08 22:45:44 +0000143#else
Jean-Christophe PLAGNIOL-VILLARD6d0f6bc2008-10-16 15:01:15 +0200144#define CONFIG_SYS_CBSIZE 256 /* Console I/O Buffer Size */
wdenk54387ac2003-10-08 22:45:44 +0000145#endif
Jean-Christophe PLAGNIOL-VILLARD6d0f6bc2008-10-16 15:01:15 +0200146#define CONFIG_SYS_PBSIZE (CONFIG_SYS_CBSIZE+sizeof(CONFIG_SYS_PROMPT)+16) /* Print Buffer Size */
147#define CONFIG_SYS_MAXARGS 16 /* max number of command args */
148#define CONFIG_SYS_BARGSIZE CONFIG_SYS_CBSIZE /* Boot Argument Buffer Size */
wdenk54387ac2003-10-08 22:45:44 +0000149
Jean-Christophe PLAGNIOL-VILLARD6d0f6bc2008-10-16 15:01:15 +0200150#define CONFIG_SYS_MEMTEST_START 0x00100000 /* memtest works on */
151#define CONFIG_SYS_MEMTEST_END 0x03800000 /* 1 ... 56 MB in DRAM */
wdenk54387ac2003-10-08 22:45:44 +0000152
Jean-Christophe PLAGNIOL-VILLARD6d0f6bc2008-10-16 15:01:15 +0200153#define CONFIG_SYS_LOAD_ADDR 0x400000 /* default load address */
wdenk54387ac2003-10-08 22:45:44 +0000154
Jean-Christophe PLAGNIOL-VILLARD6d0f6bc2008-10-16 15:01:15 +0200155#define CONFIG_SYS_BAUDRATE_TABLE { 9600, 19200, 38400, 57600, 115200, 230400 }
wdenk54387ac2003-10-08 22:45:44 +0000156
Jean-Christophe PLAGNIOL-VILLARD6d0f6bc2008-10-16 15:01:15 +0200157#define CONFIG_SYS_SDRAM_BASE 0x00000000
158#define CONFIG_SYS_SDRAM_SIZE 64
Wolfgang Denkaba9f1a2006-03-12 01:45:44 +0100159
Jean-Christophe PLAGNIOL-VILLARD6d0f6bc2008-10-16 15:01:15 +0200160#define CONFIG_SYS_IMMR 0xF0000000
161#define CONFIG_SYS_LSDRAM_BASE 0xFC000000
162#define CONFIG_SYS_FLASH_BASE 0xFE000000
163#define CONFIG_SYS_BCSR 0xFEA00000
164#define CONFIG_SYS_EEPROM 0xFEB00000
165#define CONFIG_SYS_FLSIMM_BASE 0xFF000000
wdenk54387ac2003-10-08 22:45:44 +0000166
Jean-Christophe PLAGNIOL-VILLARD6d0f6bc2008-10-16 15:01:15 +0200167#define CONFIG_SYS_FLASH_CFI
Jean-Christophe PLAGNIOL-VILLARD00b18832008-08-13 01:40:42 +0200168#define CONFIG_FLASH_CFI_DRIVER
Jean-Christophe PLAGNIOL-VILLARD6d0f6bc2008-10-16 15:01:15 +0200169#define CONFIG_SYS_MAX_FLASH_BANKS 2 /* max num of flash banks */
170#define CONFIG_SYS_MAX_FLASH_SECT 32 /* max num of sects on one chip */
Wolfgang Denkaba9f1a2006-03-12 01:45:44 +0100171
Jean-Christophe PLAGNIOL-VILLARD6d0f6bc2008-10-16 15:01:15 +0200172#define CONFIG_SYS_FLASH_BANKS_LIST { CONFIG_SYS_FLASH_BASE, CONFIG_SYS_FLSIMM_BASE }
wdenk54387ac2003-10-08 22:45:44 +0000173
174#define BCSR_PCI_MODE 0x01
175
Jean-Christophe PLAGNIOL-VILLARD6d0f6bc2008-10-16 15:01:15 +0200176#define CONFIG_SYS_INIT_RAM_ADDR CONFIG_SYS_IMMR
Wolfgang Denk553f0982010-10-26 13:32:32 +0200177#define CONFIG_SYS_INIT_RAM_SIZE 0x4000 /* Size of used area in DPRAM */
Wolfgang Denk25ddd1f2010-10-26 14:34:52 +0200178#define CONFIG_SYS_GBL_DATA_OFFSET (CONFIG_SYS_INIT_RAM_SIZE - GENERATED_GBL_DATA_SIZE)
Jean-Christophe PLAGNIOL-VILLARD6d0f6bc2008-10-16 15:01:15 +0200179#define CONFIG_SYS_INIT_SP_OFFSET CONFIG_SYS_GBL_DATA_OFFSET
wdenk54387ac2003-10-08 22:45:44 +0000180
181/* Hard reset configuration word */
Jean-Christophe PLAGNIOL-VILLARD6d0f6bc2008-10-16 15:01:15 +0200182#define CONFIG_SYS_HRCW_MASTER (HRCW_EBM | HRCW_BPS01| HRCW_CIP |\
Wolfgang Denkaba9f1a2006-03-12 01:45:44 +0100183 HRCW_L2CPC10 | HRCW_DPPC00 | HRCW_ISB100 |\
184 HRCW_BMS | HRCW_LBPC00 | HRCW_APPC10 |\
185 HRCW_MODCK_H0111 \
186 ) /* 0x16848207 */
wdenk54387ac2003-10-08 22:45:44 +0000187/* No slaves */
Jean-Christophe PLAGNIOL-VILLARD6d0f6bc2008-10-16 15:01:15 +0200188#define CONFIG_SYS_HRCW_SLAVE1 0
189#define CONFIG_SYS_HRCW_SLAVE2 0
190#define CONFIG_SYS_HRCW_SLAVE3 0
191#define CONFIG_SYS_HRCW_SLAVE4 0
192#define CONFIG_SYS_HRCW_SLAVE5 0
193#define CONFIG_SYS_HRCW_SLAVE6 0
194#define CONFIG_SYS_HRCW_SLAVE7 0
wdenk54387ac2003-10-08 22:45:44 +0000195
Wolfgang Denk14d0a022010-10-07 21:51:12 +0200196#define CONFIG_SYS_MONITOR_BASE CONFIG_SYS_TEXT_BASE
Peter Tyserd98b0522010-10-14 23:33:24 -0500197
Jean-Christophe PLAGNIOL-VILLARD6d0f6bc2008-10-16 15:01:15 +0200198#if (CONFIG_SYS_MONITOR_BASE < CONFIG_SYS_FLASH_BASE)
199#define CONFIG_SYS_RAMBOOT
wdenk54387ac2003-10-08 22:45:44 +0000200#endif
201
Jean-Christophe PLAGNIOL-VILLARD6d0f6bc2008-10-16 15:01:15 +0200202#define CONFIG_SYS_MONITOR_LEN (256 << 10) /* Reserve 256 kB for Monitor */
203#define CONFIG_SYS_MALLOC_LEN (4096 << 10) /* Reserve 4 MB for malloc() */
204#define CONFIG_SYS_BOOTMAPSZ (8 << 20) /* Initial Memory map for Linux */
wdenk54387ac2003-10-08 22:45:44 +0000205
Jean-Christophe PLAGNIOL-VILLARD5a1aceb2008-09-10 22:48:04 +0200206#if !defined(CONFIG_ENV_IS_IN_FLASH) && !defined(CONFIG_ENV_IS_IN_NVRAM)
Jean-Christophe PLAGNIOL-VILLARD9314cee2008-09-10 22:47:59 +0200207#define CONFIG_ENV_IS_IN_NVRAM 1
wdenk54387ac2003-10-08 22:45:44 +0000208#endif
209
Jean-Christophe PLAGNIOL-VILLARD5a1aceb2008-09-10 22:48:04 +0200210#ifdef CONFIG_ENV_IS_IN_FLASH
Jean-Christophe PLAGNIOL-VILLARD0e8d1582008-09-10 22:48:06 +0200211# define CONFIG_ENV_SECT_SIZE 0x10000
Jean-Christophe PLAGNIOL-VILLARD6d0f6bc2008-10-16 15:01:15 +0200212# define CONFIG_ENV_ADDR (CONFIG_SYS_MONITOR_BASE + CONFIG_SYS_MONITOR_LEN)
wdenk54387ac2003-10-08 22:45:44 +0000213#else
Jean-Christophe PLAGNIOL-VILLARD6d0f6bc2008-10-16 15:01:15 +0200214# define CONFIG_ENV_ADDR (CONFIG_SYS_EEPROM + 0x400)
Jean-Christophe PLAGNIOL-VILLARD0e8d1582008-09-10 22:48:06 +0200215# define CONFIG_ENV_SIZE 0x1000
Jean-Christophe PLAGNIOL-VILLARD6d0f6bc2008-10-16 15:01:15 +0200216# define CONFIG_SYS_NVRAM_ACCESS_ROUTINE
wdenk54387ac2003-10-08 22:45:44 +0000217#endif
218
Jean-Christophe PLAGNIOL-VILLARD6d0f6bc2008-10-16 15:01:15 +0200219#define CONFIG_SYS_CACHELINE_SIZE 32 /* For MPC8260 CPU */
Jon Loeligera5562902007-07-08 15:31:57 -0500220#if defined(CONFIG_CMD_KGDB)
Jean-Christophe PLAGNIOL-VILLARD6d0f6bc2008-10-16 15:01:15 +0200221# define CONFIG_SYS_CACHELINE_SHIFT 5 /* log base 2 of the above value */
wdenk54387ac2003-10-08 22:45:44 +0000222#endif
223
Jean-Christophe PLAGNIOL-VILLARD6d0f6bc2008-10-16 15:01:15 +0200224#define CONFIG_SYS_HID0_INIT (HID0_ICFI)
225#define CONFIG_SYS_HID0_FINAL (HID0_ICE | HID0_IFEM | HID0_ABE)
wdenk54387ac2003-10-08 22:45:44 +0000226
Jean-Christophe PLAGNIOL-VILLARD6d0f6bc2008-10-16 15:01:15 +0200227#define CONFIG_SYS_HID2 0
wdenk54387ac2003-10-08 22:45:44 +0000228
Jean-Christophe PLAGNIOL-VILLARD6d0f6bc2008-10-16 15:01:15 +0200229#define CONFIG_SYS_SIUMCR 0x42200000
230#define CONFIG_SYS_SYPCR 0xFFFFFFC3
231#define CONFIG_SYS_BCR 0x90000000
232#define CONFIG_SYS_SCCR SCCR_DFBRG01
wdenk54387ac2003-10-08 22:45:44 +0000233
Jean-Christophe PLAGNIOL-VILLARD6d0f6bc2008-10-16 15:01:15 +0200234#define CONFIG_SYS_RMR RMR_CSRE
235#define CONFIG_SYS_TMCNTSC (TMCNTSC_SEC|TMCNTSC_ALR|TMCNTSC_TCF|TMCNTSC_TCE)
236#define CONFIG_SYS_PISCR (PISCR_PS|PISCR_PTF|PISCR_PTE)
237#define CONFIG_SYS_RCCR 0
wdenk54387ac2003-10-08 22:45:44 +0000238
Jean-Christophe PLAGNIOL-VILLARD6d0f6bc2008-10-16 15:01:15 +0200239#define CONFIG_SYS_PSDMR /* 0x834DA43B */0x014DA43A
240#define CONFIG_SYS_PSRT 0x0F/* 0x0C */
241#define CONFIG_SYS_LSDMR 0x0085A562
242#define CONFIG_SYS_LSRT 0x0F
243#define CONFIG_SYS_MPTPR 0x4000
wdenk54387ac2003-10-08 22:45:44 +0000244
Jean-Christophe PLAGNIOL-VILLARD6d0f6bc2008-10-16 15:01:15 +0200245#define CONFIG_SYS_PSDRAM_BR (CONFIG_SYS_SDRAM_BASE | 0x00000041)
246#define CONFIG_SYS_PSDRAM_OR 0xFC0028C0
247#define CONFIG_SYS_LSDRAM_BR (CONFIG_SYS_LSDRAM_BASE | 0x00001861)
248#define CONFIG_SYS_LSDRAM_OR 0xFF803480
Wolfgang Denkaba9f1a2006-03-12 01:45:44 +0100249
Jean-Christophe PLAGNIOL-VILLARD6d0f6bc2008-10-16 15:01:15 +0200250#define CONFIG_SYS_BR0_PRELIM (CONFIG_SYS_FLASH_BASE | 0x00000801)
251#define CONFIG_SYS_OR0_PRELIM 0xFFE00856
252#define CONFIG_SYS_BR5_PRELIM (CONFIG_SYS_EEPROM | 0x00000801)
253#define CONFIG_SYS_OR5_PRELIM 0xFFFF03F6
254#define CONFIG_SYS_BR6_PRELIM (CONFIG_SYS_FLSIMM_BASE | 0x00001801)
255#define CONFIG_SYS_OR6_PRELIM 0xFF000856
256#define CONFIG_SYS_BR7_PRELIM (CONFIG_SYS_BCSR | 0x00000801)
257#define CONFIG_SYS_OR7_PRELIM 0xFFFF83F6
wdenk54387ac2003-10-08 22:45:44 +0000258
Jean-Christophe PLAGNIOL-VILLARD6d0f6bc2008-10-16 15:01:15 +0200259#define CONFIG_SYS_RESET_ADDRESS 0xC0000000
wdenk54387ac2003-10-08 22:45:44 +0000260
261#endif /* __CONFIG_H */