blob: 08ead7fa44635005dd09d5fffb09dee907d45995 [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 *
Wolfgang Denkd79de1d2013-07-08 09:37:19 +020018 * SPDX-License-Identifier: GPL-2.0+
Heiko Schocher8a410f82010-04-01 12:10:30 +020019 */
20
21#ifndef __CONFIG_H
22#define __CONFIG_H
23
24/*
25 * High Level Configuration Options
26 */
Holger Brunckc20c9072013-01-21 03:55:25 +000027#if defined(CONFIG_KMSUPX5)
Holger Brunck50c57952012-03-21 13:42:42 +010028#define CONFIG_KM_BOARD_NAME "kmsupx5"
29#define CONFIG_HOSTNAME kmsupx5
Holger Brunckc20c9072013-01-21 03:55:25 +000030#elif defined(CONFIG_TUGE1)
Holger Brunck50c57952012-03-21 13:42:42 +010031#define CONFIG_KM_BOARD_NAME "tuge1"
32#define CONFIG_HOSTNAME tuge1
Holger Brunckc20c9072013-01-21 03:55:25 +000033#elif defined(CONFIG_TUXX1) /* TUXX1 board (tuxa1/tuda1) specific */
Holger Brunck50c57952012-03-21 13:42:42 +010034#define CONFIG_KM_BOARD_NAME "tuxx1"
Holger Brunck4a630a72011-12-14 16:21:44 +010035#define CONFIG_HOSTNAME tuxx1
Holger Brunckdd0f6052013-01-21 03:55:26 +000036#elif defined(CONFIG_KMOPTI2)
37#define CONFIG_KM_BOARD_NAME "kmopti2"
38#define CONFIG_HOSTNAME kmopti2
Holger Brunckc20c9072013-01-21 03:55:25 +000039#else
40#error ("Board not supported")
Holger Brunck2a1c5bd2011-12-14 16:21:45 +010041#endif
Heiko Schocher8a410f82010-04-01 12:10:30 +020042
43#define CONFIG_SYS_TEXT_BASE 0xF0000000
Heiko Schocher8a410f82010-04-01 12:10:30 +020044
Heiko Schocher3a8dd212011-03-08 10:47:39 +010045/* include common defines/options for all 8321 Keymile boards */
Valentin Longchamp2f968d82011-05-04 01:47:33 +000046#include "km/km8321-common.h"
Heiko Schocher8a410f82010-04-01 12:10:30 +020047
Heiko Schocher8a410f82010-04-01 12:10:30 +020048#define CONFIG_SYS_APP1_BASE 0xA0000000 /* PAXG */
49#define CONFIG_SYS_APP1_SIZE 256 /* Megabytes */
Holger Brunckdd0f6052013-01-21 03:55:26 +000050#if defined(CONFIG_TUXX1) || defined(CONFIG_KMOPTI2)
Heiko Schocher8a410f82010-04-01 12:10:30 +020051#define CONFIG_SYS_APP2_BASE 0xB0000000 /* PINC3 */
52#define CONFIG_SYS_APP2_SIZE 256 /* Megabytes */
Holger Brunck2a1c5bd2011-12-14 16:21:45 +010053#endif
Heiko Schocher8a410f82010-04-01 12:10:30 +020054
Heiko Schocher8a410f82010-04-01 12:10:30 +020055/*
Heiko Schocher8a410f82010-04-01 12:10:30 +020056 * Init Local Bus Memory Controller:
Holger Brunckdd0f6052013-01-21 03:55:26 +000057 * Device on
58 * Bank Bus Machine PortSz Size TUDA1 TUXA1 TUGE1 KMSUPX4 KMOPTI2
59 * ---- --- ------- ------ ----- ---------------------------------------
60 * 2 Local GPCM 8 bit 256MB PAXG LPXF PAXI LPXF PAXE
61 * 3 Local GPCM 8 bit 256MB PINC3 PINC2 unused unused OPI2(16 bit)
Heiko Schocher8a410f82010-04-01 12:10:30 +020062 *
63 */
64
65/*
Holger Brunck4a630a72011-12-14 16:21:44 +010066 * Configuration for C2 on the local bus
Heiko Schocher8a410f82010-04-01 12:10:30 +020067 */
68/* Window base at flash base */
69#define CONFIG_SYS_LBLAWBAR2_PRELIM CONFIG_SYS_APP1_BASE
70/* Window size: 256 MB */
71#define CONFIG_SYS_LBLAWAR2_PRELIM (LBLAWAR_EN | LBLAWAR_256MB)
72
73#define CONFIG_SYS_BR2_PRELIM (CONFIG_SYS_APP1_BASE | \
74 BR_PS_8 | \
75 BR_MS_GPCM | \
76 BR_V)
77
78#define CONFIG_SYS_OR2_PRELIM (MEG_TO_AM(CONFIG_SYS_APP1_SIZE) | \
79 OR_GPCM_CSNT | \
80 OR_GPCM_ACS_DIV4 | \
81 OR_GPCM_SCY_2 | \
Joe Hershbergerf05b9332011-10-11 23:57:30 -050082 OR_GPCM_TRLX_SET | \
83 OR_GPCM_EHTR_CLEAR | \
Heiko Schocher8a410f82010-04-01 12:10:30 +020084 OR_GPCM_EAD)
Holger Brunckc20c9072013-01-21 03:55:25 +000085#if defined(CONFIG_TUXX1)
Heiko Schocher8a410f82010-04-01 12:10:30 +020086/*
Holger Brunck4a630a72011-12-14 16:21:44 +010087 * Configuration for C3 on the local bus
Heiko Schocher8a410f82010-04-01 12:10:30 +020088 */
89/* Access window base at PINC3 base */
90#define CONFIG_SYS_LBLAWBAR3_PRELIM CONFIG_SYS_APP2_BASE
91/* Window size: 256 MB */
92#define CONFIG_SYS_LBLAWAR3_PRELIM (LBLAWAR_EN | LBLAWAR_256MB)
93
94#define CONFIG_SYS_BR3_PRELIM (CONFIG_SYS_APP2_BASE | \
95 BR_PS_8 | \
96 BR_MS_GPCM | \
97 BR_V)
98
99#define CONFIG_SYS_OR3_PRELIM (MEG_TO_AM(CONFIG_SYS_APP2_SIZE) | \
100 OR_GPCM_CSNT | \
Joe Hershbergerf05b9332011-10-11 23:57:30 -0500101 OR_GPCM_ACS_DIV2 | \
102 OR_GPCM_SCY_2 | \
103 OR_GPCM_TRLX_SET | \
104 OR_GPCM_EHTR_CLEAR)
Heiko Schocher8a410f82010-04-01 12:10:30 +0200105
106#define CONFIG_SYS_MAMR (MxMR_GPL_x4DIS | \
107 0x0000c000 | \
108 MxMR_WLFx_2X)
Holger Brunck2a1c5bd2011-12-14 16:21:45 +0100109#endif
Heiko Schocher8a410f82010-04-01 12:10:30 +0200110
Holger Brunckdd0f6052013-01-21 03:55:26 +0000111#if defined(CONFIG_KMOPTI2)
112/*
113 * Configuration for C3 on the local bus
114 */
115#define CONFIG_SYS_LBLAWBAR3_PRELIM CONFIG_SYS_APP2_BASE
116#define CONFIG_SYS_LBLAWAR3_PRELIM (LBLAWAR_EN | LBLAWAR_256MB)
117#define CONFIG_SYS_BR3_PRELIM (CONFIG_SYS_APP2_BASE | \
118 BR_PS_16 | \
119 BR_MS_GPCM | \
120 BR_V)
121#define CONFIG_SYS_OR3_PRELIM (MEG_TO_AM(CONFIG_SYS_APP2_SIZE) | \
122 OR_GPCM_SCY_4 | \
123 OR_GPCM_TRLX_CLEAR | \
124 OR_GPCM_EHTR_CLEAR)
125#endif
126
Heiko Schocher8a410f82010-04-01 12:10:30 +0200127/*
128 * MMU Setup
129 */
Holger Brunck4a630a72011-12-14 16:21:44 +0100130/* APP1: icache cacheable, but dcache-inhibit and guarded */
Heiko Schocher8a410f82010-04-01 12:10:30 +0200131#define CONFIG_SYS_IBAT5L (CONFIG_SYS_APP1_BASE | \
Joe Hershbergerbfd89732011-10-11 23:57:28 -0500132 BATL_PP_RW | \
Heiko Schocher8a410f82010-04-01 12:10:30 +0200133 BATL_MEMCOHERENCE)
134/* 512M should also include APP2... */
135#define CONFIG_SYS_IBAT5U (CONFIG_SYS_APP1_BASE | \
136 BATU_BL_256M | \
137 BATU_VS | \
138 BATU_VP)
139#define CONFIG_SYS_DBAT5L (CONFIG_SYS_APP1_BASE | \
Joe Hershbergerbfd89732011-10-11 23:57:28 -0500140 BATL_PP_RW | \
Heiko Schocher8a410f82010-04-01 12:10:30 +0200141 BATL_CACHEINHIBIT | \
142 BATL_GUARDEDSTORAGE)
143#define CONFIG_SYS_DBAT5U CONFIG_SYS_IBAT5U
144
Holger Brunckc20c9072013-01-21 03:55:25 +0000145#if defined(CONFIG_TUGE1) || defined(CONFIG_KMSUPX5)
Holger Brunck2a1c5bd2011-12-14 16:21:45 +0100146#define CONFIG_SYS_IBAT6L (0)
147#define CONFIG_SYS_IBAT6U (0)
148#define CONFIG_SYS_DBAT6L CONFIG_SYS_IBAT6L
149#else
Holger Brunck4a630a72011-12-14 16:21:44 +0100150/* APP2: icache cacheable, but dcache-inhibit and guarded */
Heiko Schocher8a410f82010-04-01 12:10:30 +0200151#define CONFIG_SYS_IBAT6L (CONFIG_SYS_APP2_BASE | \
Joe Hershbergerbfd89732011-10-11 23:57:28 -0500152 BATL_PP_RW | \
Heiko Schocher8a410f82010-04-01 12:10:30 +0200153 BATL_MEMCOHERENCE)
154#define CONFIG_SYS_IBAT6U (CONFIG_SYS_APP2_BASE | \
155 BATU_BL_256M | \
156 BATU_VS | \
157 BATU_VP)
158#define CONFIG_SYS_DBAT6L (CONFIG_SYS_APP2_BASE | \
Joe Hershbergerbfd89732011-10-11 23:57:28 -0500159 BATL_PP_RW | \
Heiko Schocher8a410f82010-04-01 12:10:30 +0200160 BATL_CACHEINHIBIT | \
161 BATL_GUARDEDSTORAGE)
Holger Brunck2a1c5bd2011-12-14 16:21:45 +0100162#endif
Heiko Schocher8a410f82010-04-01 12:10:30 +0200163#define CONFIG_SYS_DBAT6U CONFIG_SYS_IBAT6U
164
165#define CONFIG_SYS_IBAT7L (0)
166#define CONFIG_SYS_IBAT7U (0)
167#define CONFIG_SYS_DBAT7L CONFIG_SYS_IBAT7L
168#define CONFIG_SYS_DBAT7U CONFIG_SYS_IBAT7U
Heiko Schocher8a410f82010-04-01 12:10:30 +0200169
170#endif /* __CONFIG_H */