xref: /rk3399_rockchip-uboot/include/configs/tuxx1.h (revision c1e121e4bda65e2e8fa4df3ed5001a2aee123216)
15f2a44d5SHolger Brunck /*
25f2a44d5SHolger Brunck  * Copyright (C) 2006 Freescale Semiconductor, Inc.
35f2a44d5SHolger Brunck  *                    Dave Liu <daveliu@freescale.com>
45f2a44d5SHolger Brunck  *
55f2a44d5SHolger Brunck  * Copyright (C) 2007 Logic Product Development, Inc.
65f2a44d5SHolger Brunck  *                    Peter Barada <peterb@logicpd.com>
75f2a44d5SHolger Brunck  *
85f2a44d5SHolger Brunck  * Copyright (C) 2007 MontaVista Software, Inc.
95f2a44d5SHolger Brunck  *                    Anton Vorontsov <avorontsov@ru.mvista.com>
105f2a44d5SHolger Brunck  *
115f2a44d5SHolger Brunck  * (C) Copyright 2008
125f2a44d5SHolger Brunck  * Heiko Schocher, DENX Software Engineering, hs@denx.de.
135f2a44d5SHolger Brunck  *
1447f53649SHolger Brunck  * (C) Copyright 2010-2013
155f2a44d5SHolger Brunck  * Lukas Roggli, KEYMILE Ltd, lukas.roggli@keymile.com
165f2a44d5SHolger Brunck  * Holger Brunck,  Keymile GmbH, holger.bruncl@keymile.com
175f2a44d5SHolger Brunck  *
181a459660SWolfgang Denk  * SPDX-License-Identifier:	GPL-2.0+
195f2a44d5SHolger Brunck  */
205f2a44d5SHolger Brunck 
215f2a44d5SHolger Brunck #ifndef __CONFIG_H
225f2a44d5SHolger Brunck #define __CONFIG_H
235f2a44d5SHolger Brunck 
245f2a44d5SHolger Brunck /*
255f2a44d5SHolger Brunck  * High Level Configuration Options
265f2a44d5SHolger Brunck  */
2747f53649SHolger Brunck #if defined(CONFIG_KMSUPX5)
287f4bd9a6SHolger Brunck #define CONFIG_KM_BOARD_NAME	"kmsupx5"
297f4bd9a6SHolger Brunck #define CONFIG_HOSTNAME		kmsupx5
3047f53649SHolger Brunck #elif defined(CONFIG_TUGE1)
31f5a474bdSHolger Brunck #define CONFIG_KM_BOARD_NAME	"tuge1"
327f4bd9a6SHolger Brunck #define CONFIG_HOSTNAME		tuge1
3347f53649SHolger Brunck #elif defined(CONFIG_TUXX1)	/* TUXX1 board (tuxa1/tuda1) specific */
345f2a44d5SHolger Brunck #define CONFIG_KM_BOARD_NAME	"tuxx1"
357f4bd9a6SHolger Brunck #define CONFIG_HOSTNAME		tuxx1
364714f8e4SHolger Brunck #elif defined(CONFIG_KMOPTI2)
374714f8e4SHolger Brunck #define CONFIG_KM_BOARD_NAME	"kmopti2"
384714f8e4SHolger Brunck #define CONFIG_HOSTNAME		kmopti2
39*c1e121e4SChristoph Dietrich #elif defined(CONFIG_KMTEPR2)
40*c1e121e4SChristoph Dietrich #define CONFIG_KM_BOARD_NAME    "kmtepr2"
41*c1e121e4SChristoph Dietrich #define CONFIG_HOSTNAME         kmtepr2
4247f53649SHolger Brunck #else
4347f53649SHolger Brunck #error ("Board not supported")
44f5a474bdSHolger Brunck #endif
455f2a44d5SHolger Brunck 
465f2a44d5SHolger Brunck #define	CONFIG_SYS_TEXT_BASE	0xF0000000
475f2a44d5SHolger Brunck 
485f2a44d5SHolger Brunck /* include common defines/options for all 8321 Keymile boards */
495f2a44d5SHolger Brunck #include "km/km8321-common.h"
505f2a44d5SHolger Brunck 
515f2a44d5SHolger Brunck #define CONFIG_SYS_APP1_BASE	0xA0000000    /* PAXG */
525f2a44d5SHolger Brunck #define	CONFIG_SYS_APP1_SIZE	256 /* Megabytes */
53*c1e121e4SChristoph Dietrich #if defined(CONFIG_TUXX1) || defined(CONFIG_KMOPTI2) || defined(CONFIG_KMTEPR2)
545f2a44d5SHolger Brunck #define CONFIG_SYS_APP2_BASE	0xB0000000    /* PINC3 */
555f2a44d5SHolger Brunck #define	CONFIG_SYS_APP2_SIZE	256 /* Megabytes */
56f5a474bdSHolger Brunck #endif
575f2a44d5SHolger Brunck 
585f2a44d5SHolger Brunck /*
595f2a44d5SHolger Brunck  * Init Local Bus Memory Controller:
60*c1e121e4SChristoph Dietrich  *				      Device on board
614714f8e4SHolger Brunck  * Bank Bus     Machine PortSz Size   TUDA1  TUXA1  TUGE1   KMSUPX4 KMOPTI2
62*c1e121e4SChristoph Dietrich  * -----------------------------------------------------------------------------
634714f8e4SHolger Brunck  *  2   Local   GPCM    8 bit  256MB  PAXG   LPXF   PAXI    LPXF    PAXE
644714f8e4SHolger Brunck  *  3   Local   GPCM    8 bit  256MB  PINC3  PINC2  unused  unused  OPI2(16 bit)
655f2a44d5SHolger Brunck  *
66*c1e121e4SChristoph Dietrich  *				      Device on board (continued)
67*c1e121e4SChristoph Dietrich  * Bank Bus     Machine PortSz Size   KMTEPR2
68*c1e121e4SChristoph Dietrich  * -----------------------------------------------------------------------------
69*c1e121e4SChristoph Dietrich  *  2   Local   GPCM    8 bit  256MB  NVRAM
70*c1e121e4SChristoph Dietrich  *  3   Local   GPCM    8 bit  256MB  TEP2 (16 bit)
715f2a44d5SHolger Brunck  */
725f2a44d5SHolger Brunck 
73*c1e121e4SChristoph Dietrich #if defined(CONFIG_KMTEPRO2)
74*c1e121e4SChristoph Dietrich /*
75*c1e121e4SChristoph Dietrich  * Configuration for C2 (NVRAM) on the local bus
76*c1e121e4SChristoph Dietrich  */
77*c1e121e4SChristoph Dietrich #define CONFIG_SYS_LBLAWBAR2_PRELIM    CONFIG_SYS_APP1_BASE
78*c1e121e4SChristoph Dietrich #define CONFIG_SYS_LBLAWAR2_PRELIM     (LBLAWAR_EN | LBLAWAR_256MB)
79*c1e121e4SChristoph Dietrich #define CONFIG_SYS_BR2_PRELIM  (CONFIG_SYS_APP1_BASE | \
80*c1e121e4SChristoph Dietrich 				BR_PS_8 | \
81*c1e121e4SChristoph Dietrich 				BR_MS_GPCM | \
82*c1e121e4SChristoph Dietrich 				BR_V)
83*c1e121e4SChristoph Dietrich #define CONFIG_SYS_OR2_PRELIM  (MEG_TO_AM(CONFIG_SYS_APP1_SIZE) | \
84*c1e121e4SChristoph Dietrich 				OR_GPCM_CSNT | \
85*c1e121e4SChristoph Dietrich 				OR_GPCM_ACS_DIV2 | \
86*c1e121e4SChristoph Dietrich 				OR_GPCM_XACS | \
87*c1e121e4SChristoph Dietrich 				OR_GPCM_SCY_2 | \
88*c1e121e4SChristoph Dietrich 				OR_GPCM_TRLX_SET | \
89*c1e121e4SChristoph Dietrich 				OR_GPCM_EHTR_SET | \
90*c1e121e4SChristoph Dietrich 				OR_GPCM_EAD)
91*c1e121e4SChristoph Dietrich #else
925f2a44d5SHolger Brunck /*
935f2a44d5SHolger Brunck  * Configuration for C2 on the local bus
945f2a44d5SHolger Brunck  */
955f2a44d5SHolger Brunck /* Window base at flash base */
965f2a44d5SHolger Brunck #define CONFIG_SYS_LBLAWBAR2_PRELIM	CONFIG_SYS_APP1_BASE
975f2a44d5SHolger Brunck /* Window size: 256 MB */
985f2a44d5SHolger Brunck #define CONFIG_SYS_LBLAWAR2_PRELIM	(LBLAWAR_EN | LBLAWAR_256MB)
995f2a44d5SHolger Brunck 
1005f2a44d5SHolger Brunck #define CONFIG_SYS_BR2_PRELIM	(CONFIG_SYS_APP1_BASE | \
1015f2a44d5SHolger Brunck 				 BR_PS_8 | \
1025f2a44d5SHolger Brunck 				 BR_MS_GPCM | \
1035f2a44d5SHolger Brunck 				 BR_V)
1045f2a44d5SHolger Brunck 
1055f2a44d5SHolger Brunck #define CONFIG_SYS_OR2_PRELIM	(MEG_TO_AM(CONFIG_SYS_APP1_SIZE) | \
1065f2a44d5SHolger Brunck 				 OR_GPCM_CSNT | \
1075f2a44d5SHolger Brunck 				 OR_GPCM_ACS_DIV4 | \
1085f2a44d5SHolger Brunck 				 OR_GPCM_SCY_2 | \
1095f2a44d5SHolger Brunck 				 OR_GPCM_TRLX_SET | \
1105f2a44d5SHolger Brunck 				 OR_GPCM_EHTR_CLEAR | \
1115f2a44d5SHolger Brunck 				 OR_GPCM_EAD)
112*c1e121e4SChristoph Dietrich #endif
113*c1e121e4SChristoph Dietrich 
11447f53649SHolger Brunck #if defined(CONFIG_TUXX1)
1155f2a44d5SHolger Brunck /*
1165f2a44d5SHolger Brunck  * Configuration for C3 on the local bus
1175f2a44d5SHolger Brunck  */
1185f2a44d5SHolger Brunck /* Access window base at PINC3 base */
1195f2a44d5SHolger Brunck #define CONFIG_SYS_LBLAWBAR3_PRELIM	CONFIG_SYS_APP2_BASE
1205f2a44d5SHolger Brunck /* Window size: 256 MB */
1215f2a44d5SHolger Brunck #define CONFIG_SYS_LBLAWAR3_PRELIM	(LBLAWAR_EN | LBLAWAR_256MB)
1225f2a44d5SHolger Brunck 
1235f2a44d5SHolger Brunck #define CONFIG_SYS_BR3_PRELIM	(CONFIG_SYS_APP2_BASE | \
1245f2a44d5SHolger Brunck 				 BR_PS_8 |		\
1255f2a44d5SHolger Brunck 				 BR_MS_GPCM |		\
1265f2a44d5SHolger Brunck 				 BR_V)
1275f2a44d5SHolger Brunck 
1285f2a44d5SHolger Brunck #define CONFIG_SYS_OR3_PRELIM	(MEG_TO_AM(CONFIG_SYS_APP2_SIZE) | \
1295f2a44d5SHolger Brunck 				 OR_GPCM_CSNT |	\
1305f2a44d5SHolger Brunck 				 OR_GPCM_ACS_DIV2 | \
1315f2a44d5SHolger Brunck 				 OR_GPCM_SCY_2 | \
1325f2a44d5SHolger Brunck 				 OR_GPCM_TRLX_SET | \
1335f2a44d5SHolger Brunck 				 OR_GPCM_EHTR_CLEAR)
1345f2a44d5SHolger Brunck 
1355f2a44d5SHolger Brunck #define CONFIG_SYS_MAMR		(MxMR_GPL_x4DIS | \
1365f2a44d5SHolger Brunck 				 0x0000c000 | \
1375f2a44d5SHolger Brunck 				 MxMR_WLFx_2X)
138f5a474bdSHolger Brunck #endif
1395f2a44d5SHolger Brunck 
140*c1e121e4SChristoph Dietrich #if defined(CONFIG_KMOPTI2) || defined(CONFIG_KMTEPR2)
1414714f8e4SHolger Brunck /*
1424714f8e4SHolger Brunck  * Configuration for C3 on the local bus
1434714f8e4SHolger Brunck  */
1444714f8e4SHolger Brunck #define CONFIG_SYS_LBLAWBAR3_PRELIM	CONFIG_SYS_APP2_BASE
1454714f8e4SHolger Brunck #define CONFIG_SYS_LBLAWAR3_PRELIM	(LBLAWAR_EN | LBLAWAR_256MB)
1464714f8e4SHolger Brunck #define CONFIG_SYS_BR3_PRELIM	(CONFIG_SYS_APP2_BASE | \
1474714f8e4SHolger Brunck 				 BR_PS_16 |		\
1484714f8e4SHolger Brunck 				 BR_MS_GPCM |		\
1494714f8e4SHolger Brunck 				 BR_V)
1504714f8e4SHolger Brunck #define CONFIG_SYS_OR3_PRELIM	(MEG_TO_AM(CONFIG_SYS_APP2_SIZE) | \
1514714f8e4SHolger Brunck 				 OR_GPCM_SCY_4 | \
1524714f8e4SHolger Brunck 				 OR_GPCM_TRLX_CLEAR | \
1534714f8e4SHolger Brunck 				 OR_GPCM_EHTR_CLEAR)
1544714f8e4SHolger Brunck #endif
1554714f8e4SHolger Brunck 
1565f2a44d5SHolger Brunck /*
1575f2a44d5SHolger Brunck  * MMU Setup
1585f2a44d5SHolger Brunck  */
1595f2a44d5SHolger Brunck /* APP1: icache cacheable, but dcache-inhibit and guarded */
1605f2a44d5SHolger Brunck #define CONFIG_SYS_IBAT5L	(CONFIG_SYS_APP1_BASE | \
1615f2a44d5SHolger Brunck 				 BATL_PP_RW | \
1625f2a44d5SHolger Brunck 				 BATL_MEMCOHERENCE)
1635f2a44d5SHolger Brunck /* 512M should also include APP2... */
1645f2a44d5SHolger Brunck #define CONFIG_SYS_IBAT5U	(CONFIG_SYS_APP1_BASE | \
1655f2a44d5SHolger Brunck 				 BATU_BL_256M | \
1665f2a44d5SHolger Brunck 				 BATU_VS | \
1675f2a44d5SHolger Brunck 				 BATU_VP)
1685f2a44d5SHolger Brunck #define CONFIG_SYS_DBAT5L	(CONFIG_SYS_APP1_BASE | \
1695f2a44d5SHolger Brunck 				 BATL_PP_RW | \
1705f2a44d5SHolger Brunck 				 BATL_CACHEINHIBIT | \
1715f2a44d5SHolger Brunck 				 BATL_GUARDEDSTORAGE)
1725f2a44d5SHolger Brunck #define CONFIG_SYS_DBAT5U	CONFIG_SYS_IBAT5U
1735f2a44d5SHolger Brunck 
17447f53649SHolger Brunck #if defined(CONFIG_TUGE1) || defined(CONFIG_KMSUPX5)
175f5a474bdSHolger Brunck #define CONFIG_SYS_IBAT6L	(0)
176f5a474bdSHolger Brunck #define CONFIG_SYS_IBAT6U	(0)
177f5a474bdSHolger Brunck #define CONFIG_SYS_DBAT6L	CONFIG_SYS_IBAT6L
178f5a474bdSHolger Brunck #else
1795f2a44d5SHolger Brunck /* APP2:  icache cacheable, but dcache-inhibit and guarded */
1805f2a44d5SHolger Brunck #define CONFIG_SYS_IBAT6L	(CONFIG_SYS_APP2_BASE | \
1815f2a44d5SHolger Brunck 				 BATL_PP_RW | \
1825f2a44d5SHolger Brunck 				 BATL_MEMCOHERENCE)
1835f2a44d5SHolger Brunck #define CONFIG_SYS_IBAT6U	(CONFIG_SYS_APP2_BASE | \
1845f2a44d5SHolger Brunck 				 BATU_BL_256M | \
1855f2a44d5SHolger Brunck 				 BATU_VS | \
1865f2a44d5SHolger Brunck 				 BATU_VP)
1875f2a44d5SHolger Brunck #define CONFIG_SYS_DBAT6L	(CONFIG_SYS_APP2_BASE | \
1885f2a44d5SHolger Brunck 				 BATL_PP_RW | \
1895f2a44d5SHolger Brunck 				 BATL_CACHEINHIBIT | \
1905f2a44d5SHolger Brunck 				 BATL_GUARDEDSTORAGE)
191f5a474bdSHolger Brunck #endif
1925f2a44d5SHolger Brunck #define CONFIG_SYS_DBAT6U	CONFIG_SYS_IBAT6U
1935f2a44d5SHolger Brunck 
1945f2a44d5SHolger Brunck #define CONFIG_SYS_IBAT7L	(0)
1955f2a44d5SHolger Brunck #define CONFIG_SYS_IBAT7U	(0)
1965f2a44d5SHolger Brunck #define CONFIG_SYS_DBAT7L	CONFIG_SYS_IBAT7L
1975f2a44d5SHolger Brunck #define CONFIG_SYS_DBAT7U	CONFIG_SYS_IBAT7U
1985f2a44d5SHolger Brunck 
1995f2a44d5SHolger Brunck #endif /* __CONFIG_H */
200