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