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