xref: /openbmc/u-boot/include/configs/tuxx1.h (revision 83d290c56fab2d38cd1ab4c4cc7099559c1d5046)
1*83d290c5STom Rini /* SPDX-License-Identifier: GPL-2.0+ */
25f2a44d5SHolger Brunck /*
35f2a44d5SHolger Brunck  * Copyright (C) 2006 Freescale Semiconductor, Inc.
45f2a44d5SHolger Brunck  *                    Dave Liu <daveliu@freescale.com>
55f2a44d5SHolger Brunck  *
65f2a44d5SHolger Brunck  * Copyright (C) 2007 Logic Product Development, Inc.
75f2a44d5SHolger Brunck  *                    Peter Barada <peterb@logicpd.com>
85f2a44d5SHolger Brunck  *
95f2a44d5SHolger Brunck  * Copyright (C) 2007 MontaVista Software, Inc.
105f2a44d5SHolger Brunck  *                    Anton Vorontsov <avorontsov@ru.mvista.com>
115f2a44d5SHolger Brunck  *
125f2a44d5SHolger Brunck  * (C) Copyright 2008
135f2a44d5SHolger Brunck  * Heiko Schocher, DENX Software Engineering, hs@denx.de.
145f2a44d5SHolger Brunck  *
1547f53649SHolger Brunck  * (C) Copyright 2010-2013
165f2a44d5SHolger Brunck  * Lukas Roggli, KEYMILE Ltd, lukas.roggli@keymile.com
175f2a44d5SHolger Brunck  * Holger Brunck,  Keymile GmbH, holger.bruncl@keymile.com
185f2a44d5SHolger Brunck  */
195f2a44d5SHolger Brunck 
205f2a44d5SHolger Brunck #ifndef __CONFIG_H
215f2a44d5SHolger Brunck #define __CONFIG_H
225f2a44d5SHolger Brunck 
235f2a44d5SHolger Brunck /*
245f2a44d5SHolger Brunck  * High Level Configuration Options
255f2a44d5SHolger Brunck  */
2647f53649SHolger Brunck #if defined(CONFIG_KMSUPX5)
277f4bd9a6SHolger Brunck #define CONFIG_KM_BOARD_NAME	"kmsupx5"
285bc0543dSMario Six #define CONFIG_HOSTNAME		"kmsupx5"
2947f53649SHolger Brunck #elif defined(CONFIG_TUGE1)
30f5a474bdSHolger Brunck #define CONFIG_KM_BOARD_NAME	"tuge1"
315bc0543dSMario Six #define CONFIG_HOSTNAME		"tuge1"
3247f53649SHolger Brunck #elif defined(CONFIG_TUXX1)	/* TUXX1 board (tuxa1/tuda1) specific */
335f2a44d5SHolger Brunck #define CONFIG_KM_BOARD_NAME	"tuxx1"
345bc0543dSMario Six #define CONFIG_HOSTNAME		"tuxx1"
354714f8e4SHolger Brunck #elif defined(CONFIG_KMOPTI2)
364714f8e4SHolger Brunck #define CONFIG_KM_BOARD_NAME	"kmopti2"
375bc0543dSMario Six #define CONFIG_HOSTNAME		"kmopti2"
38c1e121e4SChristoph Dietrich #elif defined(CONFIG_KMTEPR2)
39c1e121e4SChristoph Dietrich #define CONFIG_KM_BOARD_NAME    "kmtepr2"
405bc0543dSMario Six #define CONFIG_HOSTNAME         "kmtepr2"
4147f53649SHolger Brunck #else
4247f53649SHolger Brunck #error ("Board not supported")
43f5a474bdSHolger Brunck #endif
445f2a44d5SHolger Brunck 
455f2a44d5SHolger Brunck /* include common defines/options for all 8321 Keymile boards */
465f2a44d5SHolger Brunck #include "km/km8321-common.h"
475f2a44d5SHolger Brunck 
485f2a44d5SHolger Brunck #define CONFIG_SYS_APP1_BASE	0xA0000000    /* PAXG */
495f2a44d5SHolger Brunck #define	CONFIG_SYS_APP1_SIZE	256 /* Megabytes */
50c1e121e4SChristoph Dietrich #if defined(CONFIG_TUXX1) || defined(CONFIG_KMOPTI2) || defined(CONFIG_KMTEPR2)
515f2a44d5SHolger Brunck #define CONFIG_SYS_APP2_BASE	0xB0000000    /* PINC3 */
525f2a44d5SHolger Brunck #define	CONFIG_SYS_APP2_SIZE	256 /* Megabytes */
53f5a474bdSHolger Brunck #endif
545f2a44d5SHolger Brunck 
555f2a44d5SHolger Brunck /*
565f2a44d5SHolger Brunck  * Init Local Bus Memory Controller:
57c1e121e4SChristoph Dietrich  *				      Device on board
584714f8e4SHolger Brunck  * Bank Bus     Machine PortSz Size   TUDA1  TUXA1  TUGE1   KMSUPX4 KMOPTI2
59c1e121e4SChristoph Dietrich  * -----------------------------------------------------------------------------
604714f8e4SHolger Brunck  *  2   Local   GPCM    8 bit  256MB  PAXG   LPXF   PAXI    LPXF    PAXE
614714f8e4SHolger Brunck  *  3   Local   GPCM    8 bit  256MB  PINC3  PINC2  unused  unused  OPI2(16 bit)
625f2a44d5SHolger Brunck  *
63c1e121e4SChristoph Dietrich  *				      Device on board (continued)
64c1e121e4SChristoph Dietrich  * Bank Bus     Machine PortSz Size   KMTEPR2
65c1e121e4SChristoph Dietrich  * -----------------------------------------------------------------------------
66c1e121e4SChristoph Dietrich  *  2   Local   GPCM    8 bit  256MB  NVRAM
67c1e121e4SChristoph Dietrich  *  3   Local   GPCM    8 bit  256MB  TEP2 (16 bit)
685f2a44d5SHolger Brunck  */
695f2a44d5SHolger Brunck 
70c1e121e4SChristoph Dietrich #if defined(CONFIG_KMTEPRO2)
71c1e121e4SChristoph Dietrich /*
72c1e121e4SChristoph Dietrich  * Configuration for C2 (NVRAM) on the local bus
73c1e121e4SChristoph Dietrich  */
74c1e121e4SChristoph Dietrich #define CONFIG_SYS_LBLAWBAR2_PRELIM    CONFIG_SYS_APP1_BASE
75c1e121e4SChristoph Dietrich #define CONFIG_SYS_LBLAWAR2_PRELIM     (LBLAWAR_EN | LBLAWAR_256MB)
76c1e121e4SChristoph Dietrich #define CONFIG_SYS_BR2_PRELIM  (CONFIG_SYS_APP1_BASE | \
77c1e121e4SChristoph Dietrich 				BR_PS_8 | \
78c1e121e4SChristoph Dietrich 				BR_MS_GPCM | \
79c1e121e4SChristoph Dietrich 				BR_V)
80c1e121e4SChristoph Dietrich #define CONFIG_SYS_OR2_PRELIM  (MEG_TO_AM(CONFIG_SYS_APP1_SIZE) | \
81c1e121e4SChristoph Dietrich 				OR_GPCM_CSNT | \
82c1e121e4SChristoph Dietrich 				OR_GPCM_ACS_DIV2 | \
83c1e121e4SChristoph Dietrich 				OR_GPCM_XACS | \
84c1e121e4SChristoph Dietrich 				OR_GPCM_SCY_2 | \
85c1e121e4SChristoph Dietrich 				OR_GPCM_TRLX_SET | \
86c1e121e4SChristoph Dietrich 				OR_GPCM_EHTR_SET | \
87c1e121e4SChristoph Dietrich 				OR_GPCM_EAD)
88c1e121e4SChristoph Dietrich #else
895f2a44d5SHolger Brunck /*
905f2a44d5SHolger Brunck  * Configuration for C2 on the local bus
915f2a44d5SHolger Brunck  */
925f2a44d5SHolger Brunck /* Window base at flash base */
935f2a44d5SHolger Brunck #define CONFIG_SYS_LBLAWBAR2_PRELIM	CONFIG_SYS_APP1_BASE
945f2a44d5SHolger Brunck /* Window size: 256 MB */
955f2a44d5SHolger Brunck #define CONFIG_SYS_LBLAWAR2_PRELIM	(LBLAWAR_EN | LBLAWAR_256MB)
965f2a44d5SHolger Brunck 
975f2a44d5SHolger Brunck #define CONFIG_SYS_BR2_PRELIM	(CONFIG_SYS_APP1_BASE | \
985f2a44d5SHolger Brunck 				 BR_PS_8 | \
995f2a44d5SHolger Brunck 				 BR_MS_GPCM | \
1005f2a44d5SHolger Brunck 				 BR_V)
1015f2a44d5SHolger Brunck 
1025f2a44d5SHolger Brunck #define CONFIG_SYS_OR2_PRELIM	(MEG_TO_AM(CONFIG_SYS_APP1_SIZE) | \
1035f2a44d5SHolger Brunck 				 OR_GPCM_CSNT | \
1045f2a44d5SHolger Brunck 				 OR_GPCM_ACS_DIV4 | \
1055f2a44d5SHolger Brunck 				 OR_GPCM_SCY_2 | \
1065f2a44d5SHolger Brunck 				 OR_GPCM_TRLX_SET | \
1075f2a44d5SHolger Brunck 				 OR_GPCM_EHTR_CLEAR | \
1085f2a44d5SHolger Brunck 				 OR_GPCM_EAD)
109c1e121e4SChristoph Dietrich #endif
110c1e121e4SChristoph Dietrich 
11147f53649SHolger Brunck #if defined(CONFIG_TUXX1)
1125f2a44d5SHolger Brunck /*
1135f2a44d5SHolger Brunck  * Configuration for C3 on the local bus
1145f2a44d5SHolger Brunck  */
1155f2a44d5SHolger Brunck /* Access window base at PINC3 base */
1165f2a44d5SHolger Brunck #define CONFIG_SYS_LBLAWBAR3_PRELIM	CONFIG_SYS_APP2_BASE
1175f2a44d5SHolger Brunck /* Window size: 256 MB */
1185f2a44d5SHolger Brunck #define CONFIG_SYS_LBLAWAR3_PRELIM	(LBLAWAR_EN | LBLAWAR_256MB)
1195f2a44d5SHolger Brunck 
1205f2a44d5SHolger Brunck #define CONFIG_SYS_BR3_PRELIM	(CONFIG_SYS_APP2_BASE | \
1215f2a44d5SHolger Brunck 				 BR_PS_8 |		\
1225f2a44d5SHolger Brunck 				 BR_MS_GPCM |		\
1235f2a44d5SHolger Brunck 				 BR_V)
1245f2a44d5SHolger Brunck 
1255f2a44d5SHolger Brunck #define CONFIG_SYS_OR3_PRELIM	(MEG_TO_AM(CONFIG_SYS_APP2_SIZE) | \
1265f2a44d5SHolger Brunck 				 OR_GPCM_CSNT |	\
1275f2a44d5SHolger Brunck 				 OR_GPCM_ACS_DIV2 | \
1285f2a44d5SHolger Brunck 				 OR_GPCM_SCY_2 | \
1295f2a44d5SHolger Brunck 				 OR_GPCM_TRLX_SET | \
1305f2a44d5SHolger Brunck 				 OR_GPCM_EHTR_CLEAR)
1315f2a44d5SHolger Brunck 
1325f2a44d5SHolger Brunck #define CONFIG_SYS_MAMR		(MxMR_GPL_x4DIS | \
1335f2a44d5SHolger Brunck 				 0x0000c000 | \
1345f2a44d5SHolger Brunck 				 MxMR_WLFx_2X)
135f5a474bdSHolger Brunck #endif
1365f2a44d5SHolger Brunck 
137c1e121e4SChristoph Dietrich #if defined(CONFIG_KMOPTI2) || defined(CONFIG_KMTEPR2)
1384714f8e4SHolger Brunck /*
1394714f8e4SHolger Brunck  * Configuration for C3 on the local bus
1404714f8e4SHolger Brunck  */
1414714f8e4SHolger Brunck #define CONFIG_SYS_LBLAWBAR3_PRELIM	CONFIG_SYS_APP2_BASE
1424714f8e4SHolger Brunck #define CONFIG_SYS_LBLAWAR3_PRELIM	(LBLAWAR_EN | LBLAWAR_256MB)
1434714f8e4SHolger Brunck #define CONFIG_SYS_BR3_PRELIM	(CONFIG_SYS_APP2_BASE | \
1444714f8e4SHolger Brunck 				 BR_PS_16 |		\
1454714f8e4SHolger Brunck 				 BR_MS_GPCM |		\
1464714f8e4SHolger Brunck 				 BR_V)
1474714f8e4SHolger Brunck #define CONFIG_SYS_OR3_PRELIM	(MEG_TO_AM(CONFIG_SYS_APP2_SIZE) | \
1484714f8e4SHolger Brunck 				 OR_GPCM_SCY_4 | \
1494714f8e4SHolger Brunck 				 OR_GPCM_TRLX_CLEAR | \
1504714f8e4SHolger Brunck 				 OR_GPCM_EHTR_CLEAR)
1514714f8e4SHolger Brunck #endif
1524714f8e4SHolger Brunck 
1535f2a44d5SHolger Brunck /*
1545f2a44d5SHolger Brunck  * MMU Setup
1555f2a44d5SHolger Brunck  */
1565f2a44d5SHolger Brunck /* APP1: icache cacheable, but dcache-inhibit and guarded */
1575f2a44d5SHolger Brunck #define CONFIG_SYS_IBAT5L	(CONFIG_SYS_APP1_BASE | \
1585f2a44d5SHolger Brunck 				 BATL_PP_RW | \
1595f2a44d5SHolger Brunck 				 BATL_MEMCOHERENCE)
1605f2a44d5SHolger Brunck /* 512M should also include APP2... */
1615f2a44d5SHolger Brunck #define CONFIG_SYS_IBAT5U	(CONFIG_SYS_APP1_BASE | \
1625f2a44d5SHolger Brunck 				 BATU_BL_256M | \
1635f2a44d5SHolger Brunck 				 BATU_VS | \
1645f2a44d5SHolger Brunck 				 BATU_VP)
1655f2a44d5SHolger Brunck #define CONFIG_SYS_DBAT5L	(CONFIG_SYS_APP1_BASE | \
1665f2a44d5SHolger Brunck 				 BATL_PP_RW | \
1675f2a44d5SHolger Brunck 				 BATL_CACHEINHIBIT | \
1685f2a44d5SHolger Brunck 				 BATL_GUARDEDSTORAGE)
1695f2a44d5SHolger Brunck #define CONFIG_SYS_DBAT5U	CONFIG_SYS_IBAT5U
1705f2a44d5SHolger Brunck 
17147f53649SHolger Brunck #if defined(CONFIG_TUGE1) || defined(CONFIG_KMSUPX5)
172f5a474bdSHolger Brunck #define CONFIG_SYS_IBAT6L	(0)
173f5a474bdSHolger Brunck #define CONFIG_SYS_IBAT6U	(0)
174f5a474bdSHolger Brunck #define CONFIG_SYS_DBAT6L	CONFIG_SYS_IBAT6L
175f5a474bdSHolger Brunck #else
1765f2a44d5SHolger Brunck /* APP2:  icache cacheable, but dcache-inhibit and guarded */
1775f2a44d5SHolger Brunck #define CONFIG_SYS_IBAT6L	(CONFIG_SYS_APP2_BASE | \
1785f2a44d5SHolger Brunck 				 BATL_PP_RW | \
1795f2a44d5SHolger Brunck 				 BATL_MEMCOHERENCE)
1805f2a44d5SHolger Brunck #define CONFIG_SYS_IBAT6U	(CONFIG_SYS_APP2_BASE | \
1815f2a44d5SHolger Brunck 				 BATU_BL_256M | \
1825f2a44d5SHolger Brunck 				 BATU_VS | \
1835f2a44d5SHolger Brunck 				 BATU_VP)
1845f2a44d5SHolger Brunck #define CONFIG_SYS_DBAT6L	(CONFIG_SYS_APP2_BASE | \
1855f2a44d5SHolger Brunck 				 BATL_PP_RW | \
1865f2a44d5SHolger Brunck 				 BATL_CACHEINHIBIT | \
1875f2a44d5SHolger Brunck 				 BATL_GUARDEDSTORAGE)
188f5a474bdSHolger Brunck #endif
1895f2a44d5SHolger Brunck #define CONFIG_SYS_DBAT6U	CONFIG_SYS_IBAT6U
1905f2a44d5SHolger Brunck 
1915f2a44d5SHolger Brunck #define CONFIG_SYS_IBAT7L	(0)
1925f2a44d5SHolger Brunck #define CONFIG_SYS_IBAT7U	(0)
1935f2a44d5SHolger Brunck #define CONFIG_SYS_DBAT7L	CONFIG_SYS_IBAT7L
1945f2a44d5SHolger Brunck #define CONFIG_SYS_DBAT7U	CONFIG_SYS_IBAT7U
1955f2a44d5SHolger Brunck 
1965f2a44d5SHolger Brunck #endif /* __CONFIG_H */
197