blob: 6caf23a47810ff8e348c50436aa4086ddbfc3a67 [file] [log] [blame]
Heiko Schocher8a410f82010-04-01 12:10:30 +02001/*
2 * Copyright (C) 2006 Freescale Semiconductor, Inc.
3 * Dave Liu <daveliu@freescale.com>
4 *
5 * Copyright (C) 2007 Logic Product Development, Inc.
6 * Peter Barada <peterb@logicpd.com>
7 *
8 * Copyright (C) 2007 MontaVista Software, Inc.
9 * Anton Vorontsov <avorontsov@ru.mvista.com>
10 *
11 * (C) Copyright 2008
12 * Heiko Schocher, DENX Software Engineering, hs@denx.de.
13 *
Holger Brunckc20c9072013-01-21 03:55:25 +000014 * (C) Copyright 2010-2013
Heiko Schocher8a410f82010-04-01 12:10:30 +020015 * Lukas Roggli, KEYMILE Ltd, lukas.roggli@keymile.com
Holger Brunck4a630a72011-12-14 16:21:44 +010016 * Holger Brunck, Keymile GmbH, holger.bruncl@keymile.com
Heiko Schocher8a410f82010-04-01 12:10:30 +020017 *
18 * This program is free software; you can redistribute it and/or
19 * modify it under the terms of the GNU General Public License as
20 * published by the Free Software Foundation; either version 2 of
21 * the License, or (at your option) any later version.
22 */
23
24#ifndef __CONFIG_H
25#define __CONFIG_H
26
27/*
28 * High Level Configuration Options
29 */
Holger Brunckc20c9072013-01-21 03:55:25 +000030#if defined(CONFIG_KMSUPX5)
Holger Brunck50c57952012-03-21 13:42:42 +010031#define CONFIG_KM_BOARD_NAME "kmsupx5"
32#define CONFIG_HOSTNAME kmsupx5
Holger Brunckc20c9072013-01-21 03:55:25 +000033#elif defined(CONFIG_TUGE1)
Holger Brunck50c57952012-03-21 13:42:42 +010034#define CONFIG_KM_BOARD_NAME "tuge1"
35#define CONFIG_HOSTNAME tuge1
Holger Brunckc20c9072013-01-21 03:55:25 +000036#elif defined(CONFIG_TUXX1) /* TUXX1 board (tuxa1/tuda1) specific */
Holger Brunck50c57952012-03-21 13:42:42 +010037#define CONFIG_KM_BOARD_NAME "tuxx1"
Holger Brunck4a630a72011-12-14 16:21:44 +010038#define CONFIG_HOSTNAME tuxx1
Holger Brunckdd0f6052013-01-21 03:55:26 +000039#elif defined(CONFIG_KMOPTI2)
40#define CONFIG_KM_BOARD_NAME "kmopti2"
41#define CONFIG_HOSTNAME kmopti2
Holger Brunckc20c9072013-01-21 03:55:25 +000042#else
43#error ("Board not supported")
Holger Brunck2a1c5bd2011-12-14 16:21:45 +010044#endif
Heiko Schocher8a410f82010-04-01 12:10:30 +020045
46#define CONFIG_SYS_TEXT_BASE 0xF0000000
Heiko Schocher8a410f82010-04-01 12:10:30 +020047
Heiko Schocher3a8dd212011-03-08 10:47:39 +010048/* include common defines/options for all 8321 Keymile boards */
Valentin Longchamp2f968d82011-05-04 01:47:33 +000049#include "km/km8321-common.h"
Heiko Schocher8a410f82010-04-01 12:10:30 +020050
Heiko Schocher8a410f82010-04-01 12:10:30 +020051#define CONFIG_SYS_APP1_BASE 0xA0000000 /* PAXG */
52#define CONFIG_SYS_APP1_SIZE 256 /* Megabytes */
Holger Brunckdd0f6052013-01-21 03:55:26 +000053#if defined(CONFIG_TUXX1) || defined(CONFIG_KMOPTI2)
Heiko Schocher8a410f82010-04-01 12:10:30 +020054#define CONFIG_SYS_APP2_BASE 0xB0000000 /* PINC3 */
55#define CONFIG_SYS_APP2_SIZE 256 /* Megabytes */
Holger Brunck2a1c5bd2011-12-14 16:21:45 +010056#endif
Heiko Schocher8a410f82010-04-01 12:10:30 +020057
Heiko Schocher8a410f82010-04-01 12:10:30 +020058/*
Heiko Schocher8a410f82010-04-01 12:10:30 +020059 * Init Local Bus Memory Controller:
Holger Brunckdd0f6052013-01-21 03:55:26 +000060 * Device on
61 * Bank Bus Machine PortSz Size TUDA1 TUXA1 TUGE1 KMSUPX4 KMOPTI2
62 * ---- --- ------- ------ ----- ---------------------------------------
63 * 2 Local GPCM 8 bit 256MB PAXG LPXF PAXI LPXF PAXE
64 * 3 Local GPCM 8 bit 256MB PINC3 PINC2 unused unused OPI2(16 bit)
Heiko Schocher8a410f82010-04-01 12:10:30 +020065 *
66 */
67
68/*
Holger Brunck4a630a72011-12-14 16:21:44 +010069 * Configuration for C2 on the local bus
Heiko Schocher8a410f82010-04-01 12:10:30 +020070 */
71/* Window base at flash base */
72#define CONFIG_SYS_LBLAWBAR2_PRELIM CONFIG_SYS_APP1_BASE
73/* Window size: 256 MB */
74#define CONFIG_SYS_LBLAWAR2_PRELIM (LBLAWAR_EN | LBLAWAR_256MB)
75
76#define CONFIG_SYS_BR2_PRELIM (CONFIG_SYS_APP1_BASE | \
77 BR_PS_8 | \
78 BR_MS_GPCM | \
79 BR_V)
80
81#define CONFIG_SYS_OR2_PRELIM (MEG_TO_AM(CONFIG_SYS_APP1_SIZE) | \
82 OR_GPCM_CSNT | \
83 OR_GPCM_ACS_DIV4 | \
84 OR_GPCM_SCY_2 | \
Joe Hershbergerf05b9332011-10-11 23:57:30 -050085 OR_GPCM_TRLX_SET | \
86 OR_GPCM_EHTR_CLEAR | \
Heiko Schocher8a410f82010-04-01 12:10:30 +020087 OR_GPCM_EAD)
Holger Brunckc20c9072013-01-21 03:55:25 +000088#if defined(CONFIG_TUXX1)
Heiko Schocher8a410f82010-04-01 12:10:30 +020089/*
Holger Brunck4a630a72011-12-14 16:21:44 +010090 * Configuration for C3 on the local bus
Heiko Schocher8a410f82010-04-01 12:10:30 +020091 */
92/* Access window base at PINC3 base */
93#define CONFIG_SYS_LBLAWBAR3_PRELIM CONFIG_SYS_APP2_BASE
94/* Window size: 256 MB */
95#define CONFIG_SYS_LBLAWAR3_PRELIM (LBLAWAR_EN | LBLAWAR_256MB)
96
97#define CONFIG_SYS_BR3_PRELIM (CONFIG_SYS_APP2_BASE | \
98 BR_PS_8 | \
99 BR_MS_GPCM | \
100 BR_V)
101
102#define CONFIG_SYS_OR3_PRELIM (MEG_TO_AM(CONFIG_SYS_APP2_SIZE) | \
103 OR_GPCM_CSNT | \
Joe Hershbergerf05b9332011-10-11 23:57:30 -0500104 OR_GPCM_ACS_DIV2 | \
105 OR_GPCM_SCY_2 | \
106 OR_GPCM_TRLX_SET | \
107 OR_GPCM_EHTR_CLEAR)
Heiko Schocher8a410f82010-04-01 12:10:30 +0200108
109#define CONFIG_SYS_MAMR (MxMR_GPL_x4DIS | \
110 0x0000c000 | \
111 MxMR_WLFx_2X)
Holger Brunck2a1c5bd2011-12-14 16:21:45 +0100112#endif
Heiko Schocher8a410f82010-04-01 12:10:30 +0200113
Holger Brunckdd0f6052013-01-21 03:55:26 +0000114#if defined(CONFIG_KMOPTI2)
115/*
116 * Configuration for C3 on the local bus
117 */
118#define CONFIG_SYS_LBLAWBAR3_PRELIM CONFIG_SYS_APP2_BASE
119#define CONFIG_SYS_LBLAWAR3_PRELIM (LBLAWAR_EN | LBLAWAR_256MB)
120#define CONFIG_SYS_BR3_PRELIM (CONFIG_SYS_APP2_BASE | \
121 BR_PS_16 | \
122 BR_MS_GPCM | \
123 BR_V)
124#define CONFIG_SYS_OR3_PRELIM (MEG_TO_AM(CONFIG_SYS_APP2_SIZE) | \
125 OR_GPCM_SCY_4 | \
126 OR_GPCM_TRLX_CLEAR | \
127 OR_GPCM_EHTR_CLEAR)
128#endif
129
Heiko Schocher8a410f82010-04-01 12:10:30 +0200130/*
131 * MMU Setup
132 */
Holger Brunck4a630a72011-12-14 16:21:44 +0100133/* APP1: icache cacheable, but dcache-inhibit and guarded */
Heiko Schocher8a410f82010-04-01 12:10:30 +0200134#define CONFIG_SYS_IBAT5L (CONFIG_SYS_APP1_BASE | \
Joe Hershbergerbfd89732011-10-11 23:57:28 -0500135 BATL_PP_RW | \
Heiko Schocher8a410f82010-04-01 12:10:30 +0200136 BATL_MEMCOHERENCE)
137/* 512M should also include APP2... */
138#define CONFIG_SYS_IBAT5U (CONFIG_SYS_APP1_BASE | \
139 BATU_BL_256M | \
140 BATU_VS | \
141 BATU_VP)
142#define CONFIG_SYS_DBAT5L (CONFIG_SYS_APP1_BASE | \
Joe Hershbergerbfd89732011-10-11 23:57:28 -0500143 BATL_PP_RW | \
Heiko Schocher8a410f82010-04-01 12:10:30 +0200144 BATL_CACHEINHIBIT | \
145 BATL_GUARDEDSTORAGE)
146#define CONFIG_SYS_DBAT5U CONFIG_SYS_IBAT5U
147
Holger Brunckc20c9072013-01-21 03:55:25 +0000148#if defined(CONFIG_TUGE1) || defined(CONFIG_KMSUPX5)
Holger Brunck2a1c5bd2011-12-14 16:21:45 +0100149#define CONFIG_SYS_IBAT6L (0)
150#define CONFIG_SYS_IBAT6U (0)
151#define CONFIG_SYS_DBAT6L CONFIG_SYS_IBAT6L
152#else
Holger Brunck4a630a72011-12-14 16:21:44 +0100153/* APP2: icache cacheable, but dcache-inhibit and guarded */
Heiko Schocher8a410f82010-04-01 12:10:30 +0200154#define CONFIG_SYS_IBAT6L (CONFIG_SYS_APP2_BASE | \
Joe Hershbergerbfd89732011-10-11 23:57:28 -0500155 BATL_PP_RW | \
Heiko Schocher8a410f82010-04-01 12:10:30 +0200156 BATL_MEMCOHERENCE)
157#define CONFIG_SYS_IBAT6U (CONFIG_SYS_APP2_BASE | \
158 BATU_BL_256M | \
159 BATU_VS | \
160 BATU_VP)
161#define CONFIG_SYS_DBAT6L (CONFIG_SYS_APP2_BASE | \
Joe Hershbergerbfd89732011-10-11 23:57:28 -0500162 BATL_PP_RW | \
Heiko Schocher8a410f82010-04-01 12:10:30 +0200163 BATL_CACHEINHIBIT | \
164 BATL_GUARDEDSTORAGE)
Holger Brunck2a1c5bd2011-12-14 16:21:45 +0100165#endif
Heiko Schocher8a410f82010-04-01 12:10:30 +0200166#define CONFIG_SYS_DBAT6U CONFIG_SYS_IBAT6U
167
168#define CONFIG_SYS_IBAT7L (0)
169#define CONFIG_SYS_IBAT7U (0)
170#define CONFIG_SYS_DBAT7L CONFIG_SYS_IBAT7L
171#define CONFIG_SYS_DBAT7U CONFIG_SYS_IBAT7U
Heiko Schocher8a410f82010-04-01 12:10:30 +0200172
173#endif /* __CONFIG_H */