162ddcf05SHeiko Schocher /* 262ddcf05SHeiko Schocher * Copyright (C) 2006 Freescale Semiconductor, Inc. 362ddcf05SHeiko Schocher * Dave Liu <daveliu@freescale.com> 462ddcf05SHeiko Schocher * 562ddcf05SHeiko Schocher * Copyright (C) 2007 Logic Product Development, Inc. 662ddcf05SHeiko Schocher * Peter Barada <peterb@logicpd.com> 762ddcf05SHeiko Schocher * 862ddcf05SHeiko Schocher * Copyright (C) 2007 MontaVista Software, Inc. 962ddcf05SHeiko Schocher * Anton Vorontsov <avorontsov@ru.mvista.com> 1062ddcf05SHeiko Schocher * 1162ddcf05SHeiko Schocher * (C) Copyright 2010 1262ddcf05SHeiko Schocher * Heiko Schocher, DENX Software Engineering, hs@denx.de. 1362ddcf05SHeiko Schocher * 141a459660SWolfgang Denk * SPDX-License-Identifier: GPL-2.0+ 1562ddcf05SHeiko Schocher */ 1662ddcf05SHeiko Schocher 1762ddcf05SHeiko Schocher #ifndef __CONFIG_H 1862ddcf05SHeiko Schocher #define __CONFIG_H 1962ddcf05SHeiko Schocher 2062ddcf05SHeiko Schocher /* 2162ddcf05SHeiko Schocher * High Level Configuration Options 2262ddcf05SHeiko Schocher */ 2362ddcf05SHeiko Schocher 24c4d22de8SGerlando Falauto /* This needs to be set prior to including km/km83xx-common.h */ 2562ddcf05SHeiko Schocher #define CONFIG_SYS_TEXT_BASE 0xF0000000 2662ddcf05SHeiko Schocher 27c4d22de8SGerlando Falauto #if defined(CONFIG_SUVD3) /* SUVD3 board specific */ 28c4d22de8SGerlando Falauto #define CONFIG_HOSTNAME suvd3 29c4d22de8SGerlando Falauto #define CONFIG_KM_BOARD_NAME "suvd3" 308ed74341SHeiko Schocher /* include common defines/options for all 8321 Keymile boards */ 31264eaa0eSValentin Longchamp #include "km/km8321-common.h" 32*54119882SValentin Longchamp 33c4d22de8SGerlando Falauto #elif defined(CONFIG_KMVECT1) /* VECT1 board specific */ 34c4d22de8SGerlando Falauto #define CONFIG_HOSTNAME kmvect1 35c4d22de8SGerlando Falauto #define CONFIG_KM_BOARD_NAME "kmvect1" 36*54119882SValentin Longchamp /* at end of uboot partition, before env */ 37*54119882SValentin Longchamp #define CONFIG_SYS_QE_FW_ADDR 0xF00B0000 38c4d22de8SGerlando Falauto /* include common defines/options for all 8309 Keymile boards */ 39c4d22de8SGerlando Falauto #include "km/km8309-common.h" 40*54119882SValentin Longchamp 41*54119882SValentin Longchamp #elif defined(CONFIG_KMTEGR1) /* TEGR1 board specific */ 42*54119882SValentin Longchamp #define CONFIG_HOSTNAME kmtegr1 43*54119882SValentin Longchamp #define CONFIG_KM_BOARD_NAME "kmtegr1" 44*54119882SValentin Longchamp #define CONFIG_KM_UBI_PARTITION_NAME_BOOT "ubi0" 45*54119882SValentin Longchamp #define CONFIG_KM_UBI_PARTITION_NAME_APP "ubi1" 46*54119882SValentin Longchamp #define MTDIDS_DEFAULT "nor0=boot,nand0=app" 47*54119882SValentin Longchamp #define MTDPARTS_DEFAULT "mtdparts=" \ 48*54119882SValentin Longchamp "boot:" \ 49*54119882SValentin Longchamp "768k(u-boot)," \ 50*54119882SValentin Longchamp "256k(qe-fw)," \ 51*54119882SValentin Longchamp "128k(env)," \ 52*54119882SValentin Longchamp "128k(envred)," \ 53*54119882SValentin Longchamp "-(" CONFIG_KM_UBI_PARTITION_NAME_BOOT ");" \ 54*54119882SValentin Longchamp "app:" \ 55*54119882SValentin Longchamp "-(" CONFIG_KM_UBI_PARTITION_NAME_APP ");" 56*54119882SValentin Longchamp 57*54119882SValentin Longchamp #define CONFIG_ENV_ADDR 0xF0100000 58*54119882SValentin Longchamp #define CONFIG_ENV_OFFSET 0x100000 59*54119882SValentin Longchamp 60*54119882SValentin Longchamp #define CONFIG_NAND_ECC_BCH 61*54119882SValentin Longchamp #define CONFIG_NAND_KMETER1 62*54119882SValentin Longchamp #define CONFIG_SYS_MAX_NAND_DEVICE 1 63*54119882SValentin Longchamp #define NAND_MAX_CHIPS 1 64*54119882SValentin Longchamp 65*54119882SValentin Longchamp /* include common defines/options for all 8309 Keymile boards */ 66*54119882SValentin Longchamp #include "km/km8309-common.h" 67*54119882SValentin Longchamp /* must be after the include because KMBEC_FPGA is otherwise undefined */ 68*54119882SValentin Longchamp #define CONFIG_SYS_NAND_BASE CONFIG_SYS_KMBEC_FPGA_BASE /* PRIO_BASE_ADDRESS */ 69*54119882SValentin Longchamp 70c4d22de8SGerlando Falauto #else 71*54119882SValentin Longchamp #error Supported boards are: SUVD3, KMVECT1, KMTEGR1 72c4d22de8SGerlando Falauto #endif 7362ddcf05SHeiko Schocher 7462ddcf05SHeiko Schocher #define CONFIG_SYS_APP1_BASE 0xA0000000 7562ddcf05SHeiko Schocher #define CONFIG_SYS_APP1_SIZE 256 /* Megabytes */ 7662ddcf05SHeiko Schocher #define CONFIG_SYS_APP2_BASE 0xB0000000 7762ddcf05SHeiko Schocher #define CONFIG_SYS_APP2_SIZE 256 /* Megabytes */ 7862ddcf05SHeiko Schocher 7962ddcf05SHeiko Schocher /* EEprom support */ 8062ddcf05SHeiko Schocher #define CONFIG_SYS_I2C_EEPROM_ADDR_LEN 1 8162ddcf05SHeiko Schocher 8262ddcf05SHeiko Schocher /* 8362ddcf05SHeiko Schocher * Init Local Bus Memory Controller: 8462ddcf05SHeiko Schocher * 8562ddcf05SHeiko Schocher * Bank Bus Machine PortSz Size Device 8662ddcf05SHeiko Schocher * ---- --- ------- ------ ----- ------ 8762ddcf05SHeiko Schocher * 2 Local UPMA 16 bit 256MB APP1 8862ddcf05SHeiko Schocher * 3 Local GPCM 16 bit 256MB APP2 8962ddcf05SHeiko Schocher * 9062ddcf05SHeiko Schocher */ 9162ddcf05SHeiko Schocher 92*54119882SValentin Longchamp #if defined(CONFIG_SUVD3) || defined(CONFIG_KMVECT1) 9362ddcf05SHeiko Schocher /* 9462ddcf05SHeiko Schocher * APP1 on the local bus CS2 9562ddcf05SHeiko Schocher */ 9662ddcf05SHeiko Schocher #define CONFIG_SYS_LBLAWBAR2_PRELIM CONFIG_SYS_APP1_BASE 9762ddcf05SHeiko Schocher #define CONFIG_SYS_LBLAWAR2_PRELIM (LBLAWAR_EN | LBLAWAR_256MB) 9862ddcf05SHeiko Schocher 9962ddcf05SHeiko Schocher #define CONFIG_SYS_BR2_PRELIM (CONFIG_SYS_APP1_BASE | \ 10062ddcf05SHeiko Schocher BR_PS_16 | \ 10162ddcf05SHeiko Schocher BR_MS_UPMA | \ 10262ddcf05SHeiko Schocher BR_V) 10362ddcf05SHeiko Schocher #define CONFIG_SYS_OR2_PRELIM (MEG_TO_AM(CONFIG_SYS_APP1_SIZE)) 10462ddcf05SHeiko Schocher 10562ddcf05SHeiko Schocher #define CONFIG_SYS_BR3_PRELIM (CONFIG_SYS_APP2_BASE | \ 10662ddcf05SHeiko Schocher BR_PS_16 | \ 10762ddcf05SHeiko Schocher BR_V) 10862ddcf05SHeiko Schocher 10962ddcf05SHeiko Schocher #define CONFIG_SYS_OR3_PRELIM (MEG_TO_AM(CONFIG_SYS_APP2_SIZE) | \ 11062ddcf05SHeiko Schocher OR_GPCM_CSNT | \ 11162ddcf05SHeiko Schocher OR_GPCM_ACS_DIV4 | \ 11262ddcf05SHeiko Schocher OR_GPCM_SCY_3 | \ 1137d6a0982SJoe Hershberger OR_GPCM_TRLX_SET) 11462ddcf05SHeiko Schocher 11562ddcf05SHeiko Schocher #define CONFIG_SYS_MAMR (MxMR_GPL_x4DIS | \ 11662ddcf05SHeiko Schocher 0x0000c000 | \ 11762ddcf05SHeiko Schocher MxMR_WLFx_2X) 11862ddcf05SHeiko Schocher 119*54119882SValentin Longchamp #elif defined(CONFIG_KMTEGR1) 120*54119882SValentin Longchamp #define CONFIG_SYS_BR3_PRELIM (CONFIG_SYS_APP2_BASE | \ 121*54119882SValentin Longchamp BR_PS_16 | \ 122*54119882SValentin Longchamp BR_MS_GPCM | \ 123*54119882SValentin Longchamp BR_V) 124*54119882SValentin Longchamp 125*54119882SValentin Longchamp #define CONFIG_SYS_OR3_PRELIM (MEG_TO_AM(CONFIG_SYS_APP2_SIZE) | \ 126*54119882SValentin Longchamp OR_GPCM_SCY_5 | \ 127*54119882SValentin Longchamp OR_GPCM_TRLX_CLEAR | \ 128*54119882SValentin Longchamp OR_GPCM_EHTR_CLEAR) 129*54119882SValentin Longchamp 130*54119882SValentin Longchamp #endif /* CONFIG_KMTEGR1 */ 131*54119882SValentin Longchamp 13262ddcf05SHeiko Schocher #define CONFIG_SYS_LBLAWBAR3_PRELIM CONFIG_SYS_APP2_BASE 13362ddcf05SHeiko Schocher #define CONFIG_SYS_LBLAWAR3_PRELIM (LBLAWAR_EN | LBLAWAR_256MB) 13462ddcf05SHeiko Schocher 13562ddcf05SHeiko Schocher /* 13662ddcf05SHeiko Schocher * MMU Setup 13762ddcf05SHeiko Schocher */ 138*54119882SValentin Longchamp #if defined(CONFIG_SUVD3) || defined(CONFIG_KMVECT1) 13962ddcf05SHeiko Schocher /* APP1: icache cacheable, but dcache-inhibit and guarded */ 14072cd4087SJoe Hershberger #define CONFIG_SYS_IBAT5L (CONFIG_SYS_APP1_BASE | BATL_PP_RW | \ 14162ddcf05SHeiko Schocher BATL_MEMCOHERENCE) 14262ddcf05SHeiko Schocher #define CONFIG_SYS_IBAT5U (CONFIG_SYS_APP1_BASE | BATU_BL_256M | \ 14362ddcf05SHeiko Schocher BATU_VS | BATU_VP) 14472cd4087SJoe Hershberger #define CONFIG_SYS_DBAT5L (CONFIG_SYS_APP1_BASE | BATL_PP_RW | \ 14562ddcf05SHeiko Schocher BATL_CACHEINHIBIT | BATL_GUARDEDSTORAGE) 14662ddcf05SHeiko Schocher #define CONFIG_SYS_DBAT5U CONFIG_SYS_IBAT5U 14762ddcf05SHeiko Schocher 148*54119882SValentin Longchamp #elif defined(CONFIG_KMTEGR1) 149*54119882SValentin Longchamp #define CONFIG_SYS_IBAT5L (0) 150*54119882SValentin Longchamp #define CONFIG_SYS_IBAT5U (0) 151*54119882SValentin Longchamp #define CONFIG_SYS_DBAT5L CONFIG_SYS_IBAT5L 152*54119882SValentin Longchamp #define CONFIG_SYS_DBAT5U CONFIG_SYS_IBAT5U 153*54119882SValentin Longchamp #endif /* CONFIG_KMTEGR1 */ 154*54119882SValentin Longchamp 15572cd4087SJoe Hershberger #define CONFIG_SYS_IBAT6L (CONFIG_SYS_APP2_BASE | BATL_PP_RW | \ 15662ddcf05SHeiko Schocher BATL_MEMCOHERENCE) 15762ddcf05SHeiko Schocher #define CONFIG_SYS_IBAT6U (CONFIG_SYS_APP2_BASE | BATU_BL_256M | \ 15862ddcf05SHeiko Schocher BATU_VS | BATU_VP) 15972cd4087SJoe Hershberger #define CONFIG_SYS_DBAT6L (CONFIG_SYS_APP2_BASE | BATL_PP_RW | \ 16062ddcf05SHeiko Schocher BATL_CACHEINHIBIT | BATL_GUARDEDSTORAGE) 16162ddcf05SHeiko Schocher #define CONFIG_SYS_DBAT6U CONFIG_SYS_IBAT6U 16262ddcf05SHeiko Schocher 1635bcd64cfSKarlheinz Jerg /* 1645bcd64cfSKarlheinz Jerg * QE UEC ethernet configuration 1655bcd64cfSKarlheinz Jerg */ 1665bcd64cfSKarlheinz Jerg #if defined(CONFIG_KMVECT1) 1675bcd64cfSKarlheinz Jerg #define CONFIG_MV88E6352_SWITCH 1685bcd64cfSKarlheinz Jerg #define CONFIG_KM_MVEXTSW_ADDR 0x10 1695bcd64cfSKarlheinz Jerg 1705bcd64cfSKarlheinz Jerg /* ethernet port connected to simple switch 88e6122 (UEC0) */ 1715bcd64cfSKarlheinz Jerg #define CONFIG_UEC_ETH1 1725bcd64cfSKarlheinz Jerg #define CONFIG_SYS_UEC1_UCC_NUM 0 /* UCC1 */ 1735bcd64cfSKarlheinz Jerg #define CONFIG_SYS_UEC1_RX_CLK QE_CLK9 1745bcd64cfSKarlheinz Jerg #define CONFIG_SYS_UEC1_TX_CLK QE_CLK10 1755bcd64cfSKarlheinz Jerg 1765bcd64cfSKarlheinz Jerg #define CONFIG_FIXED_PHY 0xFFFFFFFF 1775bcd64cfSKarlheinz Jerg #define CONFIG_SYS_FIXED_PHY_ADDR 0x1E /* unused address */ 1785bcd64cfSKarlheinz Jerg #define CONFIG_SYS_FIXED_PHY_PORT(devnum, speed, duplex) \ 1795bcd64cfSKarlheinz Jerg {devnum, speed, duplex} 1805bcd64cfSKarlheinz Jerg #define CONFIG_SYS_FIXED_PHY_PORTS \ 1815bcd64cfSKarlheinz Jerg CONFIG_SYS_FIXED_PHY_PORT("UEC0", SPEED_100, DUPLEX_FULL) 1825bcd64cfSKarlheinz Jerg 1835bcd64cfSKarlheinz Jerg #define CONFIG_SYS_UEC1_ETH_TYPE FAST_ETH 1845bcd64cfSKarlheinz Jerg #define CONFIG_SYS_UEC1_PHY_ADDR CONFIG_SYS_FIXED_PHY_ADDR 1855bcd64cfSKarlheinz Jerg #define CONFIG_SYS_UEC1_INTERFACE_TYPE PHY_INTERFACE_MODE_MII 1865bcd64cfSKarlheinz Jerg #define CONFIG_SYS_UEC1_INTERFACE_SPEED 100 187*54119882SValentin Longchamp #endif /* CONFIG_KMVECT1 */ 1885bcd64cfSKarlheinz Jerg 189*54119882SValentin Longchamp #if defined(CONFIG_KMVECT1) || defined(CONFIG_KMTEGR1) 1905bcd64cfSKarlheinz Jerg /* ethernet port connected to piggy (UEC2) */ 1915bcd64cfSKarlheinz Jerg #define CONFIG_HAS_ETH1 1925bcd64cfSKarlheinz Jerg #define CONFIG_UEC_ETH2 1935bcd64cfSKarlheinz Jerg #define CONFIG_SYS_UEC2_UCC_NUM 2 /* UCC3 */ 1945bcd64cfSKarlheinz Jerg #define CONFIG_SYS_UEC2_RX_CLK QE_CLK_NONE /* not used in RMII Mode */ 1955bcd64cfSKarlheinz Jerg #define CONFIG_SYS_UEC2_TX_CLK QE_CLK12 1965bcd64cfSKarlheinz Jerg #define CONFIG_SYS_UEC2_ETH_TYPE FAST_ETH 1975bcd64cfSKarlheinz Jerg #define CONFIG_SYS_UEC2_PHY_ADDR 0 1985bcd64cfSKarlheinz Jerg #define CONFIG_SYS_UEC2_INTERFACE_TYPE PHY_INTERFACE_MODE_RMII 1995bcd64cfSKarlheinz Jerg #define CONFIG_SYS_UEC2_INTERFACE_SPEED 100 200*54119882SValentin Longchamp #endif /* CONFIG_KMVECT1 || CONFIG_KMTEGR1 */ 2015bcd64cfSKarlheinz Jerg 20262ddcf05SHeiko Schocher #endif /* __CONFIG_H */ 203