~pmdj/ubuntu/trusty/qemu/2.9+applesmc+fadtv3

« back to all changes in this revision

Viewing changes to roms/u-boot/include/configs/neo.h

  • Committer: Phil Dennis-Jordan
  • Date: 2017-07-21 08:03:43 UTC
  • mfrom: (1.1.1)
  • Revision ID: phil@philjordan.eu-20170721080343-2yr2vdj7713czahv
New upstream release 2.9.0.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/*
 
2
 * (C) Copyright 2007-2008
 
3
 * Dirk Eibach,  Guntermann & Drunck GmbH, eibach@gdsys.de
 
4
 *
 
5
 * SPDX-License-Identifier:     GPL-2.0+
 
6
 */
 
7
 
 
8
#ifndef __CONFIG_H
 
9
#define __CONFIG_H
 
10
 
 
11
 
 
12
#define CONFIG_405EP            1       /* this is a PPC405 CPU */
 
13
#define CONFIG_NEO              1       /*  on a Neo board */
 
14
 
 
15
#define CONFIG_SYS_TEXT_BASE    0xFFFC0000
 
16
 
 
17
/*
 
18
 * Include common defines/options for all AMCC eval boards
 
19
 */
 
20
#define CONFIG_HOSTNAME         neo
 
21
#define CONFIG_IDENT_STRING     " neo 0.02"
 
22
#include "amcc-common.h"
 
23
 
 
24
#define CONFIG_BOARD_EARLY_INIT_F
 
25
#define CONFIG_BOARD_EARLY_INIT_R
 
26
#define CONFIG_MISC_INIT_R
 
27
#define CONFIG_LAST_STAGE_INIT
 
28
 
 
29
#define CONFIG_SYS_CLK_FREQ     33333333 /* external frequency to pll   */
 
30
 
 
31
/*
 
32
 * Configure PLL
 
33
 */
 
34
#define PLLMR0_DEFAULT PLLMR0_266_133_66_33
 
35
#define PLLMR1_DEFAULT PLLMR1_266_133_66_33
 
36
 
 
37
/* new uImage format support */
 
38
#define CONFIG_FIT
 
39
#define CONFIG_FIT_VERBOSE      /* enable fit_format_{error,warning}() */
 
40
 
 
41
#define CONFIG_ENV_IS_IN_FLASH  /* use FLASH for environment vars */
 
42
 
 
43
/*
 
44
 * Default environment variables
 
45
 */
 
46
#define CONFIG_EXTRA_ENV_SETTINGS                                       \
 
47
        CONFIG_AMCC_DEF_ENV                                             \
 
48
        CONFIG_AMCC_DEF_ENV_POWERPC                                     \
 
49
        CONFIG_AMCC_DEF_ENV_NOR_UPD                                     \
 
50
        "kernel_addr=fc000000\0"                                        \
 
51
        "fdt_addr=fc1e0000\0"                                           \
 
52
        "ramdisk_addr=fc200000\0"                                       \
 
53
        ""
 
54
 
 
55
#define CONFIG_PHY_ADDR         4       /* PHY address                  */
 
56
#define CONFIG_HAS_ETH0
 
57
#define CONFIG_HAS_ETH1
 
58
#define CONFIG_PHY1_ADDR        0xc     /* EMAC1 PHY address            */
 
59
#define CONFIG_PHY_CLK_FREQ    EMAC_STACR_CLK_66MHZ
 
60
 
 
61
/*
 
62
 * Commands additional to the ones defined in amcc-common.h
 
63
 */
 
64
#define CONFIG_CMD_CACHE
 
65
#define CONFIG_CMD_DATE
 
66
#define CONFIG_CMD_DTT
 
67
#undef CONFIG_CMD_EEPROM
 
68
 
 
69
/*
 
70
 * SDRAM configuration (please see cpu/ppc/sdram.[ch])
 
71
 */
 
72
#define CONFIG_SDRAM_BANK0      1       /* init onboard SDRAM bank 0 */
 
73
 
 
74
/* SDRAM timings used in datasheet */
 
75
#define CONFIG_SYS_SDRAM_CL            3        /* CAS latency */
 
76
#define CONFIG_SYS_SDRAM_tRP           20       /* PRECHARGE command period */
 
77
#define CONFIG_SYS_SDRAM_tRC           66       /* ACTIVE-to-ACTIVE command period */
 
78
#define CONFIG_SYS_SDRAM_tRCD          20       /* ACTIVE-to-READ delay */
 
79
#define CONFIG_SYS_SDRAM_tRFC           66      /* Auto refresh period */
 
80
 
 
81
/*
 
82
 * If CONFIG_SYS_EXT_SERIAL_CLOCK, then the UART divisor is 1.
 
83
 * If CONFIG_SYS_405_UART_ERRATA_59, then UART divisor is 31.
 
84
 * Otherwise, UART divisor is determined by CPU Clock and CONFIG_SYS_BASE_BAUD value.
 
85
 * The Linux BASE_BAUD define should match this configuration.
 
86
 *    baseBaud = cpuClock/(uartDivisor*16)
 
87
 * If CONFIG_SYS_405_UART_ERRATA_59 and 200MHz CPU clock,
 
88
 * set Linux BASE_BAUD to 403200.
 
89
 */
 
90
#define CONFIG_CONS_INDEX       1       /* Use UART0                    */
 
91
#define CONFIG_SYS_NS16550
 
92
#define CONFIG_SYS_NS16550_SERIAL
 
93
#define CONFIG_SYS_NS16550_REG_SIZE     1
 
94
#define CONFIG_SYS_NS16550_CLK          get_serial_clock()
 
95
 
 
96
#undef  CONFIG_SYS_EXT_SERIAL_CLOCK           /* external serial clock */
 
97
#undef  CONFIG_SYS_405_UART_ERRATA_59         /* 405GP/CR Rev. D silicon */
 
98
#define CONFIG_SYS_BASE_BAUD            691200
 
99
 
 
100
/*
 
101
 * I2C stuff
 
102
 */
 
103
#define CONFIG_SYS_I2C_PPC4XX_SPEED_0           100000
 
104
 
 
105
/* RTC */
 
106
#define CONFIG_RTC_DS1337
 
107
#define CONFIG_SYS_I2C_RTC_ADDR 0x68
 
108
 
 
109
/* Temp sensor/hwmon/dtt */
 
110
#define CONFIG_DTT_LM63         1       /* National LM63        */
 
111
#define CONFIG_DTT_SENSORS      { 0 }   /* Sensor addresses     */
 
112
#define CONFIG_DTT_PWM_LOOKUPTABLE      \
 
113
                { { 40, 10 }, { 50, 20 }, { 60, 40 } }
 
114
#define CONFIG_DTT_TACH_LIMIT   0xa10
 
115
 
 
116
/*
 
117
 * FLASH organization
 
118
 */
 
119
#define CONFIG_SYS_FLASH_CFI                            /* The flash is CFI compatible  */
 
120
#define CONFIG_FLASH_CFI_DRIVER                 /* Use common CFI driver        */
 
121
 
 
122
#define CONFIG_SYS_FLASH_BASE           0xFC000000
 
123
#define CONFIG_SYS_FLASH_BANKS_LIST     { CONFIG_SYS_FLASH_BASE }
 
124
 
 
125
#define CONFIG_SYS_MAX_FLASH_BANKS      1       /* max number of memory banks           */
 
126
#define CONFIG_SYS_MAX_FLASH_SECT       512     /* max number of sectors on one chip    */
 
127
 
 
128
#define CONFIG_SYS_FLASH_ERASE_TOUT     120000  /* Timeout for Flash Erase (in ms)      */
 
129
#define CONFIG_SYS_FLASH_WRITE_TOUT     500     /* Timeout for Flash Write (in ms)      */
 
130
 
 
131
#define CONFIG_SYS_FLASH_USE_BUFFER_WRITE 1     /* use buffered writes (20x faster)     */
 
132
 
 
133
#define CONFIG_SYS_FLASH_EMPTY_INFO             /* print 'E' for empty sector on flinfo */
 
134
#define CONFIG_SYS_FLASH_QUIET_TEST     1       /* don't warn upon unknown flash        */
 
135
 
 
136
#ifdef CONFIG_ENV_IS_IN_FLASH
 
137
#define CONFIG_ENV_SECT_SIZE    0x20000 /* size of one complete sector          */
 
138
#define CONFIG_ENV_ADDR         0xFFF00000
 
139
#define CONFIG_ENV_SIZE         0x20000 /* Total Size of Environment Sector */
 
140
 
 
141
/* Address and size of Redundant Environment Sector     */
 
142
#define CONFIG_ENV_ADDR_REDUND  0xFFF20000
 
143
#define CONFIG_ENV_SIZE_REDUND  (CONFIG_ENV_SIZE)
 
144
#endif
 
145
 
 
146
/*
 
147
 * PPC405 GPIO Configuration
 
148
 */
 
149
#define CONFIG_SYS_4xx_GPIO_TABLE { \
 
150
{ \
 
151
/* GPIO Core 0 */ \
 
152
{ GPIO_BASE, GPIO_OUT, GPIO_ALT1, GPIO_OUT_NO_CHG }, /* GPIO0   PerBLast   */ \
 
153
{ GPIO_BASE, GPIO_OUT, GPIO_SEL,  GPIO_OUT_NO_CHG }, /* GPIO1   TS1E       */ \
 
154
{ GPIO_BASE, GPIO_OUT, GPIO_SEL,  GPIO_OUT_NO_CHG }, /* GPIO2   TS2E       */ \
 
155
{ GPIO_BASE, GPIO_IN,  GPIO_SEL,  GPIO_OUT_NO_CHG }, /* GPIO3   TS1O       */ \
 
156
{ GPIO_BASE, GPIO_OUT, GPIO_SEL,  GPIO_OUT_NO_CHG }, /* GPIO4   TS2O       */ \
 
157
{ GPIO_BASE, GPIO_OUT, GPIO_SEL,  GPIO_OUT_1      }, /* GPIO5   TS3        */ \
 
158
{ GPIO_BASE, GPIO_IN,  GPIO_SEL,  GPIO_OUT_NO_CHG }, /* GPIO6   TS4        */ \
 
159
{ GPIO_BASE, GPIO_OUT, GPIO_SEL,  GPIO_OUT_NO_CHG }, /* GPIO7   TS5        */ \
 
160
{ GPIO_BASE, GPIO_OUT, GPIO_SEL,  GPIO_OUT_NO_CHG }, /* GPIO8   TS6        */ \
 
161
{ GPIO_BASE, GPIO_OUT, GPIO_SEL,  GPIO_OUT_NO_CHG }, /* GPIO9   TrcClk     */ \
 
162
{ GPIO_BASE, GPIO_OUT, GPIO_ALT1, GPIO_OUT_NO_CHG }, /* GPIO10  PerCS1     */ \
 
163
{ GPIO_BASE, GPIO_OUT, GPIO_ALT1, GPIO_OUT_NO_CHG }, /* GPIO11  PerCS2     */ \
 
164
{ GPIO_BASE, GPIO_OUT, GPIO_ALT1, GPIO_OUT_NO_CHG }, /* GPIO12  PerCS3     */ \
 
165
{ GPIO_BASE, GPIO_OUT, GPIO_ALT1, GPIO_OUT_NO_CHG }, /* GPIO13  PerCS4     */ \
 
166
{ GPIO_BASE, GPIO_OUT, GPIO_ALT1, GPIO_OUT_NO_CHG }, /* GPIO14  PerAddr03  */ \
 
167
{ GPIO_BASE, GPIO_OUT, GPIO_ALT1, GPIO_OUT_NO_CHG }, /* GPIO15  PerAddr04  */ \
 
168
{ GPIO_BASE, GPIO_OUT, GPIO_ALT1, GPIO_OUT_NO_CHG }, /* GPIO16  PerAddr05  */ \
 
169
{ GPIO_BASE, GPIO_IN,  GPIO_ALT1, GPIO_OUT_NO_CHG }, /* GPIO17  IRQ0       */ \
 
170
{ GPIO_BASE, GPIO_IN,  GPIO_ALT1, GPIO_OUT_NO_CHG }, /* GPIO18  IRQ1       */ \
 
171
{ GPIO_BASE, GPIO_IN,  GPIO_ALT1, GPIO_OUT_NO_CHG }, /* GPIO19  IRQ2       */ \
 
172
{ GPIO_BASE, GPIO_IN,  GPIO_SEL,  GPIO_OUT_NO_CHG }, /* GPIO20  IRQ3       */ \
 
173
{ GPIO_BASE, GPIO_OUT, GPIO_SEL,  GPIO_OUT_NO_CHG }, /* GPIO21  IRQ4       */ \
 
174
{ GPIO_BASE, GPIO_OUT, GPIO_SEL,  GPIO_OUT_NO_CHG }, /* GPIO22  IRQ5       */ \
 
175
{ GPIO_BASE, GPIO_IN,  GPIO_SEL,  GPIO_OUT_NO_CHG }, /* GPIO23  IRQ6       */ \
 
176
{ GPIO_BASE, GPIO_IN,  GPIO_ALT1, GPIO_OUT_NO_CHG }, /* GPIO24  UART0_DCD  */ \
 
177
{ GPIO_BASE, GPIO_IN,  GPIO_ALT1, GPIO_OUT_NO_CHG }, /* GPIO25  UART0_DSR  */ \
 
178
{ GPIO_BASE, GPIO_IN,  GPIO_ALT1, GPIO_OUT_NO_CHG }, /* GPIO26  UART0_RI   */ \
 
179
{ GPIO_BASE, GPIO_OUT, GPIO_ALT1, GPIO_OUT_NO_CHG }, /* GPIO27  UART0_DTR  */ \
 
180
{ GPIO_BASE, GPIO_IN,  GPIO_ALT1, GPIO_OUT_NO_CHG }, /* GPIO28  UART1_Rx   */ \
 
181
{ GPIO_BASE, GPIO_OUT, GPIO_ALT1, GPIO_OUT_NO_CHG }, /* GPIO29  UART1_Tx   */ \
 
182
{ GPIO_BASE, GPIO_OUT, GPIO_SEL,  GPIO_OUT_NO_CHG }, /* GPIO30  RejectPkt0 */ \
 
183
{ GPIO_BASE, GPIO_IN,  GPIO_SEL,  GPIO_OUT_NO_CHG }, /* GPIO31  RejectPkt1 */ \
 
184
} \
 
185
}
 
186
 
 
187
/*
 
188
 * Definitions for initial stack pointer and data area (in data cache)
 
189
 */
 
190
/* use on chip memory (OCM) for temperary stack until sdram is tested */
 
191
#define CONFIG_SYS_TEMP_STACK_OCM        1
 
192
 
 
193
/* On Chip Memory location */
 
194
#define CONFIG_SYS_OCM_DATA_ADDR        0xF8000000
 
195
#define CONFIG_SYS_OCM_DATA_SIZE        0x1000
 
196
#define CONFIG_SYS_INIT_RAM_ADDR        CONFIG_SYS_OCM_DATA_ADDR /* inside of SDRAM             */
 
197
#define CONFIG_SYS_INIT_RAM_SIZE        CONFIG_SYS_OCM_DATA_SIZE /* Size of used area in RAM    */
 
198
 
 
199
#define CONFIG_SYS_GBL_DATA_OFFSET      (CONFIG_SYS_INIT_RAM_SIZE - GENERATED_GBL_DATA_SIZE)
 
200
#define CONFIG_SYS_INIT_SP_OFFSET       CONFIG_SYS_GBL_DATA_OFFSET
 
201
 
 
202
/*
 
203
 * External Bus Controller (EBC) Setup
 
204
 */
 
205
 
 
206
/* Memory Bank 0 (NOR-FLASH) initialization                    */
 
207
#define CONFIG_SYS_EBC_PB0AP            0x92015480
 
208
#define CONFIG_SYS_EBC_PB0CR            0xFC0DA000  /* BAS=0xFC0,BS=64MB,BU=R/W,BW=16bit */
 
209
 
 
210
/* Memory Bank 1 (NVRAM) initialization                                        */
 
211
#define CONFIG_SYS_EBC_PB1AP            0x92015480
 
212
#define CONFIG_SYS_EBC_PB1CR            0xFB85A000  /* BAS=0xFF8,BS=4MB,BU=R/W,BW=8bit  */
 
213
 
 
214
/* Memory Bank 2 (FPGA) initialization                 */
 
215
#define CONFIG_SYS_FPGA0_BASE           0x7f100000
 
216
#define CONFIG_SYS_EBC_PB2AP            0x92015480
 
217
#define CONFIG_SYS_EBC_PB2CR            0x7f11a000  /* BAS=0x7f1,BS=1MB,BU=R/W,BW=16bit */
 
218
 
 
219
#define CONFIG_SYS_FPGA_BASE(k)         CONFIG_SYS_FPGA0_BASE
 
220
 
 
221
#define CONFIG_SYS_FPGA_COUNT           1
 
222
 
 
223
#define CONFIG_SYS_FPGA_PTR \
 
224
        { (struct ihs_fpga *)CONFIG_SYS_FPGA0_BASE }
 
225
 
 
226
#define CONFIG_SYS_FPGA_COMMON
 
227
 
 
228
/* Memory Bank 3 (Latches) initialization                      */
 
229
#define CONFIG_SYS_LATCH_BASE           0x7f200000
 
230
#define CONFIG_SYS_EBC_PB3AP            0x92015480
 
231
#define CONFIG_SYS_EBC_PB3CR            0x7f21a000  /* BAS=0x7f2,BS=1MB,BU=R/W,BW=16bit */
 
232
 
 
233
#define CONFIG_SYS_LATCH0_RESET         0xffff
 
234
#define CONFIG_SYS_LATCH0_BOOT          0xffff
 
235
#define CONFIG_SYS_LATCH1_RESET         0xffbf
 
236
#define CONFIG_SYS_LATCH1_BOOT          0xffff
 
237
 
 
238
#endif  /* __CONFIG_H */