1ee52b188SYork Sun /* 2ee52b188SYork Sun * Copyright 2011-2012 Freescale Semiconductor, Inc. 3ee52b188SYork Sun * 41a459660SWolfgang Denk * SPDX-License-Identifier: GPL-2.0+ 5ee52b188SYork Sun */ 6ee52b188SYork Sun 7ee52b188SYork Sun /* 8ee52b188SYork Sun * Corenet DS style board configuration file 9ee52b188SYork Sun */ 101cb19fbbSYork Sun #ifndef __T4QDS_H 111cb19fbbSYork Sun #define __T4QDS_H 1269fdf900SLiu Gang 13ee52b188SYork Sun /* High Level Configuration Options */ 14ee52b188SYork Sun #define CONFIG_SYS_BOOK3E_HV /* Category E.HV supported */ 15ee52b188SYork Sun #define CONFIG_MP /* support multiple processors */ 16ee52b188SYork Sun 17ee52b188SYork Sun #ifndef CONFIG_SYS_TEXT_BASE 18e222b1f3SPrabhakar Kushwaha #define CONFIG_SYS_TEXT_BASE 0xeff40000 19ee52b188SYork Sun #endif 20ee52b188SYork Sun 21ee52b188SYork Sun #ifndef CONFIG_RESET_VECTOR_ADDRESS 22ee52b188SYork Sun #define CONFIG_RESET_VECTOR_ADDRESS 0xeffffffc 23ee52b188SYork Sun #endif 24ee52b188SYork Sun 25ee52b188SYork Sun #define CONFIG_SYS_FSL_CPC /* Corenet Platform Cache */ 26*51370d56SYork Sun #define CONFIG_SYS_NUM_CPC CONFIG_SYS_NUM_DDR_CTLRS 27b38eaec5SRobert P. J. Day #define CONFIG_PCIE1 /* PCIE controller 1 */ 28b38eaec5SRobert P. J. Day #define CONFIG_PCIE2 /* PCIE controller 2 */ 29b38eaec5SRobert P. J. Day #define CONFIG_PCIE3 /* PCIE controller 3 */ 30ee52b188SYork Sun #define CONFIG_FSL_PCI_INIT /* Use common FSL init code */ 31ee52b188SYork Sun #define CONFIG_SYS_PCI_64BIT /* enable 64-bit PCI resources */ 32ee52b188SYork Sun 33ee52b188SYork Sun #define CONFIG_SYS_SRIO 34ee52b188SYork Sun #define CONFIG_SRIO1 /* SRIO port 1 */ 35ee52b188SYork Sun #define CONFIG_SRIO2 /* SRIO port 2 */ 36ee52b188SYork Sun 37ee52b188SYork Sun #define CONFIG_ENV_OVERWRITE 38ee52b188SYork Sun 39ee52b188SYork Sun /* 40ee52b188SYork Sun * These can be toggled for performance analysis, otherwise use default. 41ee52b188SYork Sun */ 42ee52b188SYork Sun #define CONFIG_SYS_CACHE_STASHING 43ee52b188SYork Sun #define CONFIG_BTB /* toggle branch predition */ 44ee52b188SYork Sun #ifdef CONFIG_DDR_ECC 45ee52b188SYork Sun #define CONFIG_ECC_INIT_VIA_DDRCONTROLLER 46ee52b188SYork Sun #define CONFIG_MEM_INIT_VALUE 0xdeadbeef 47ee52b188SYork Sun #endif 48ee52b188SYork Sun 49ee52b188SYork Sun #define CONFIG_ENABLE_36BIT_PHYS 50ee52b188SYork Sun 51ee52b188SYork Sun #define CONFIG_ADDR_MAP 52ee52b188SYork Sun #define CONFIG_SYS_NUM_ADDR_MAP 64 /* number of TLB1 entries */ 53ee52b188SYork Sun 54ee52b188SYork Sun #define CONFIG_SYS_MEMTEST_START 0x00200000 /* memtest works on */ 55ee52b188SYork Sun #define CONFIG_SYS_MEMTEST_END 0x00400000 56ee52b188SYork Sun #define CONFIG_SYS_ALT_MEMTEST 57ee52b188SYork Sun 58ee52b188SYork Sun /* 59ee52b188SYork Sun * Config the L3 Cache as L3 SRAM 60ee52b188SYork Sun */ 61b6036993SShaohui Xie #define CONFIG_SYS_INIT_L3_ADDR 0xFFFC0000 62b6036993SShaohui Xie #define CONFIG_SYS_L3_SIZE (512 << 10) 63b6036993SShaohui Xie #define CONFIG_SPL_GD_ADDR (CONFIG_SYS_INIT_L3_ADDR + 32 * 1024) 64b6036993SShaohui Xie #ifdef CONFIG_RAMBOOT_PBL 65b6036993SShaohui Xie #define CONFIG_ENV_ADDR (CONFIG_SPL_GD_ADDR + 4 * 1024) 66b6036993SShaohui Xie #endif 67b6036993SShaohui Xie #define CONFIG_SPL_RELOC_MALLOC_ADDR (CONFIG_SPL_GD_ADDR + 12 * 1024) 68b6036993SShaohui Xie #define CONFIG_SPL_RELOC_MALLOC_SIZE (50 << 10) 69b6036993SShaohui Xie #define CONFIG_SPL_RELOC_STACK (CONFIG_SPL_GD_ADDR + 64 * 1024) 70b6036993SShaohui Xie #define CONFIG_SPL_RELOC_STACK_SIZE (22 << 10) 71ee52b188SYork Sun 72ee52b188SYork Sun #define CONFIG_SYS_DCSRBAR 0xf0000000 73ee52b188SYork Sun #define CONFIG_SYS_DCSRBAR_PHYS 0xf00000000ull 74ee52b188SYork Sun 75ee52b188SYork Sun /* 76ee52b188SYork Sun * DDR Setup 77ee52b188SYork Sun */ 78ee52b188SYork Sun #define CONFIG_VERY_BIG_RAM 79ee52b188SYork Sun #define CONFIG_SYS_DDR_SDRAM_BASE 0x00000000 80ee52b188SYork Sun #define CONFIG_SYS_SDRAM_BASE CONFIG_SYS_DDR_SDRAM_BASE 81ee52b188SYork Sun 82ee52b188SYork Sun #define CONFIG_DIMM_SLOTS_PER_CTLR 2 83ee52b188SYork Sun #define CONFIG_CHIP_SELECTS_PER_CTRL 4 84ee52b188SYork Sun #define CONFIG_FSL_DDR_FIRST_SLOT_QUAD_CAPABLE 85ee52b188SYork Sun 86ee52b188SYork Sun #define CONFIG_DDR_SPD 87ee52b188SYork Sun 88ee52b188SYork Sun /* 89ee52b188SYork Sun * IFC Definitions 90ee52b188SYork Sun */ 91ee52b188SYork Sun #define CONFIG_SYS_FLASH_BASE 0xe0000000 92ee52b188SYork Sun #define CONFIG_SYS_FLASH_BASE_PHYS (0xf00000000ull | CONFIG_SYS_FLASH_BASE) 93ee52b188SYork Sun 94b6036993SShaohui Xie #ifdef CONFIG_SPL_BUILD 95b6036993SShaohui Xie #define CONFIG_SYS_MONITOR_BASE CONFIG_SPL_TEXT_BASE 96b6036993SShaohui Xie #else 97b6036993SShaohui Xie #define CONFIG_SYS_MONITOR_BASE CONFIG_SYS_TEXT_BASE /* start of monitor */ 98b6036993SShaohui Xie #endif 99ee52b188SYork Sun 100ee52b188SYork Sun #define CONFIG_BOARD_EARLY_INIT_R /* call board_early_init_r function */ 101ee52b188SYork Sun #define CONFIG_MISC_INIT_R 102ee52b188SYork Sun 103ee52b188SYork Sun #define CONFIG_HWCONFIG 104ee52b188SYork Sun 105ee52b188SYork Sun /* define to use L1 as initial stack */ 106ee52b188SYork Sun #define CONFIG_L1_INIT_RAM 107ee52b188SYork Sun #define CONFIG_SYS_INIT_RAM_LOCK 108ee52b188SYork Sun #define CONFIG_SYS_INIT_RAM_ADDR 0xfdd00000 /* Initial L1 address */ 109ee52b188SYork Sun #define CONFIG_SYS_INIT_RAM_ADDR_PHYS_HIGH 0xf 110b3142e2cSYork Sun #define CONFIG_SYS_INIT_RAM_ADDR_PHYS_LOW 0xfe03c000 111ee52b188SYork Sun /* The assembler doesn't like typecast */ 112ee52b188SYork Sun #define CONFIG_SYS_INIT_RAM_ADDR_PHYS \ 113ee52b188SYork Sun ((CONFIG_SYS_INIT_RAM_ADDR_PHYS_HIGH * 1ull << 32) | \ 114ee52b188SYork Sun CONFIG_SYS_INIT_RAM_ADDR_PHYS_LOW) 115ee52b188SYork Sun #define CONFIG_SYS_INIT_RAM_SIZE 0x00004000 116ee52b188SYork Sun 117ee52b188SYork Sun #define CONFIG_SYS_GBL_DATA_OFFSET (CONFIG_SYS_INIT_RAM_SIZE - \ 118ee52b188SYork Sun GENERATED_GBL_DATA_SIZE) 119ee52b188SYork Sun #define CONFIG_SYS_INIT_SP_OFFSET CONFIG_SYS_GBL_DATA_OFFSET 120ee52b188SYork Sun 1219307cbabSPrabhakar Kushwaha #define CONFIG_SYS_MONITOR_LEN (768 * 1024) 122ee52b188SYork Sun #define CONFIG_SYS_MALLOC_LEN (4 * 1024 * 1024) 123ee52b188SYork Sun 124ee52b188SYork Sun /* Serial Port - controlled on board with jumper J8 125ee52b188SYork Sun * open - index 2 126ee52b188SYork Sun * shorted - index 1 127ee52b188SYork Sun */ 128ee52b188SYork Sun #define CONFIG_CONS_INDEX 1 129ee52b188SYork Sun #define CONFIG_SYS_NS16550_SERIAL 130ee52b188SYork Sun #define CONFIG_SYS_NS16550_REG_SIZE 1 131ee52b188SYork Sun #define CONFIG_SYS_NS16550_CLK (get_bus_freq(0)/2) 132ee52b188SYork Sun 133ee52b188SYork Sun #define CONFIG_SYS_BAUDRATE_TABLE \ 134ee52b188SYork Sun {300, 600, 1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200} 135ee52b188SYork Sun 136ee52b188SYork Sun #define CONFIG_SYS_NS16550_COM1 (CONFIG_SYS_CCSRBAR+0x11C500) 137ee52b188SYork Sun #define CONFIG_SYS_NS16550_COM2 (CONFIG_SYS_CCSRBAR+0x11C600) 138ee52b188SYork Sun #define CONFIG_SYS_NS16550_COM3 (CONFIG_SYS_CCSRBAR+0x11D500) 139ee52b188SYork Sun #define CONFIG_SYS_NS16550_COM4 (CONFIG_SYS_CCSRBAR+0x11D600) 140ee52b188SYork Sun 141ee52b188SYork Sun /* I2C */ 14200f792e0SHeiko Schocher #define CONFIG_SYS_I2C 14300f792e0SHeiko Schocher #define CONFIG_SYS_I2C_FSL 14400f792e0SHeiko Schocher #define CONFIG_SYS_FSL_I2C_SLAVE 0x7F 14500f792e0SHeiko Schocher #define CONFIG_SYS_FSL_I2C_OFFSET 0x118000 14600f792e0SHeiko Schocher #define CONFIG_SYS_FSL_I2C2_SLAVE 0x7F 14700f792e0SHeiko Schocher #define CONFIG_SYS_FSL_I2C2_OFFSET 0x118100 14800f792e0SHeiko Schocher 149ee52b188SYork Sun /* 150ee52b188SYork Sun * RapidIO 151ee52b188SYork Sun */ 152ee52b188SYork Sun #define CONFIG_SYS_SRIO1_MEM_VIRT 0xa0000000 153ee52b188SYork Sun #define CONFIG_SYS_SRIO1_MEM_PHYS 0xc20000000ull 154ee52b188SYork Sun #define CONFIG_SYS_SRIO1_MEM_SIZE 0x10000000 /* 256M */ 155ee52b188SYork Sun 156ee52b188SYork Sun #define CONFIG_SYS_SRIO2_MEM_VIRT 0xb0000000 157ee52b188SYork Sun #define CONFIG_SYS_SRIO2_MEM_PHYS 0xc30000000ull 158ee52b188SYork Sun #define CONFIG_SYS_SRIO2_MEM_SIZE 0x10000000 /* 256M */ 159ee52b188SYork Sun 160ee52b188SYork Sun /* 161ee52b188SYork Sun * General PCI 162ee52b188SYork Sun * Memory space is mapped 1-1, but I/O space must start from 0. 163ee52b188SYork Sun */ 164ee52b188SYork Sun 165ee52b188SYork Sun /* controller 1, direct to uli, tgtid 3, Base address 20000 */ 166ee52b188SYork Sun #define CONFIG_SYS_PCIE1_MEM_VIRT 0x80000000 167ee52b188SYork Sun #define CONFIG_SYS_PCIE1_MEM_BUS 0xe0000000 168ee52b188SYork Sun #define CONFIG_SYS_PCIE1_MEM_PHYS 0xc00000000ull 169ee52b188SYork Sun #define CONFIG_SYS_PCIE1_MEM_SIZE 0x20000000 /* 512M */ 170ee52b188SYork Sun #define CONFIG_SYS_PCIE1_IO_VIRT 0xf8000000 171ee52b188SYork Sun #define CONFIG_SYS_PCIE1_IO_BUS 0x00000000 172ee52b188SYork Sun #define CONFIG_SYS_PCIE1_IO_PHYS 0xff8000000ull 173ee52b188SYork Sun #define CONFIG_SYS_PCIE1_IO_SIZE 0x00010000 /* 64k */ 174ee52b188SYork Sun 175ee52b188SYork Sun /* controller 2, Slot 2, tgtid 2, Base address 201000 */ 176ee52b188SYork Sun #define CONFIG_SYS_PCIE2_MEM_VIRT 0xa0000000 177ee52b188SYork Sun #define CONFIG_SYS_PCIE2_MEM_BUS 0xe0000000 178ee52b188SYork Sun #define CONFIG_SYS_PCIE2_MEM_PHYS 0xc20000000ull 179ee52b188SYork Sun #define CONFIG_SYS_PCIE2_MEM_SIZE 0x20000000 /* 512M */ 180ee52b188SYork Sun #define CONFIG_SYS_PCIE2_IO_VIRT 0xf8010000 181ee52b188SYork Sun #define CONFIG_SYS_PCIE2_IO_BUS 0x00000000 182ee52b188SYork Sun #define CONFIG_SYS_PCIE2_IO_PHYS 0xff8010000ull 183ee52b188SYork Sun #define CONFIG_SYS_PCIE2_IO_SIZE 0x00010000 /* 64k */ 184ee52b188SYork Sun 185ee52b188SYork Sun /* controller 3, Slot 1, tgtid 1, Base address 202000 */ 186ee52b188SYork Sun #define CONFIG_SYS_PCIE3_MEM_VIRT 0xc0000000 187ee52b188SYork Sun #define CONFIG_SYS_PCIE3_MEM_BUS 0xe0000000 188ee52b188SYork Sun #define CONFIG_SYS_PCIE3_MEM_PHYS 0xc40000000ull 189ee52b188SYork Sun #define CONFIG_SYS_PCIE3_MEM_SIZE 0x20000000 /* 512M */ 190ee52b188SYork Sun #define CONFIG_SYS_PCIE3_IO_VIRT 0xf8020000 191ee52b188SYork Sun #define CONFIG_SYS_PCIE3_IO_BUS 0x00000000 192ee52b188SYork Sun #define CONFIG_SYS_PCIE3_IO_PHYS 0xff8020000ull 193ee52b188SYork Sun #define CONFIG_SYS_PCIE3_IO_SIZE 0x00010000 /* 64k */ 194ee52b188SYork Sun 195ee52b188SYork Sun /* controller 4, Base address 203000 */ 196ee52b188SYork Sun #define CONFIG_SYS_PCIE4_MEM_BUS 0xe0000000 197ee52b188SYork Sun #define CONFIG_SYS_PCIE4_MEM_PHYS 0xc60000000ull 198ee52b188SYork Sun #define CONFIG_SYS_PCIE4_MEM_SIZE 0x20000000 /* 512M */ 199ee52b188SYork Sun #define CONFIG_SYS_PCIE4_IO_BUS 0x00000000 200ee52b188SYork Sun #define CONFIG_SYS_PCIE4_IO_PHYS 0xff8030000ull 201ee52b188SYork Sun #define CONFIG_SYS_PCIE4_IO_SIZE 0x00010000 /* 64k */ 202ee52b188SYork Sun 203ee52b188SYork Sun #ifdef CONFIG_PCI 204842033e6SGabor Juhos #define CONFIG_PCI_INDIRECT_BRIDGE 205ee52b188SYork Sun 206ee52b188SYork Sun #define CONFIG_PCI_SCAN_SHOW /* show pci devices on startup */ 207ee52b188SYork Sun #endif /* CONFIG_PCI */ 208ee52b188SYork Sun 209ee52b188SYork Sun /* SATA */ 210ee52b188SYork Sun #ifdef CONFIG_FSL_SATA_V2 211ee52b188SYork Sun #define CONFIG_LIBATA 212ee52b188SYork Sun #define CONFIG_FSL_SATA 213ee52b188SYork Sun 214ee52b188SYork Sun #define CONFIG_SYS_SATA_MAX_DEVICE 2 215ee52b188SYork Sun #define CONFIG_SATA1 216ee52b188SYork Sun #define CONFIG_SYS_SATA1 CONFIG_SYS_MPC85xx_SATA1_ADDR 217ee52b188SYork Sun #define CONFIG_SYS_SATA1_FLAGS FLAGS_DMA 218ee52b188SYork Sun #define CONFIG_SATA2 219ee52b188SYork Sun #define CONFIG_SYS_SATA2 CONFIG_SYS_MPC85xx_SATA2_ADDR 220ee52b188SYork Sun #define CONFIG_SYS_SATA2_FLAGS FLAGS_DMA 221ee52b188SYork Sun 222ee52b188SYork Sun #define CONFIG_LBA48 223ee52b188SYork Sun #endif 224ee52b188SYork Sun 225ee52b188SYork Sun #ifdef CONFIG_FMAN_ENET 226ee52b188SYork Sun #define CONFIG_MII /* MII PHY management */ 227ee52b188SYork Sun #define CONFIG_ETHPRIME "FM1@DTSEC1" 228ee52b188SYork Sun #endif 229ee52b188SYork Sun 230ee52b188SYork Sun /* 231ee52b188SYork Sun * Environment 232ee52b188SYork Sun */ 233ee52b188SYork Sun #define CONFIG_LOADS_ECHO /* echo on for serial download */ 234ee52b188SYork Sun #define CONFIG_SYS_LOADS_BAUD_CHANGE /* allow baudrate change */ 235ee52b188SYork Sun 236ee52b188SYork Sun /* 237ee52b188SYork Sun * Command line configuration. 238ee52b188SYork Sun */ 239ee52b188SYork Sun 240ee52b188SYork Sun /* 241ee52b188SYork Sun * Miscellaneous configurable options 242ee52b188SYork Sun */ 243ee52b188SYork Sun #define CONFIG_SYS_LONGHELP /* undef to save memory */ 244ee52b188SYork Sun #define CONFIG_CMDLINE_EDITING /* Command-line editing */ 245ee52b188SYork Sun #define CONFIG_AUTO_COMPLETE /* add autocompletion support */ 246ee52b188SYork Sun #define CONFIG_SYS_LOAD_ADDR 0x2000000 /* default load address */ 247ee52b188SYork Sun 248ee52b188SYork Sun /* 249ee52b188SYork Sun * For booting Linux, the board info and command line data 250ee52b188SYork Sun * have to be in the first 64 MB of memory, since this is 251ee52b188SYork Sun * the maximum mapped by the Linux kernel during initialization. 252ee52b188SYork Sun */ 253ee52b188SYork Sun #define CONFIG_SYS_BOOTMAPSZ (64 << 20) /* Initial map for Linux*/ 254ee52b188SYork Sun #define CONFIG_SYS_BOOTM_LEN (64 << 20) /* Increase max gunzip size */ 255ee52b188SYork Sun 256ee52b188SYork Sun #ifdef CONFIG_CMD_KGDB 257ee52b188SYork Sun #define CONFIG_KGDB_BAUDRATE 230400 /* speed to run kgdb serial port */ 258ee52b188SYork Sun #endif 259ee52b188SYork Sun 260ee52b188SYork Sun /* 261ee52b188SYork Sun * Environment Configuration 262ee52b188SYork Sun */ 263ee52b188SYork Sun #define CONFIG_ROOTPATH "/opt/nfsroot" 264ee52b188SYork Sun #define CONFIG_BOOTFILE "uImage" 265ee52b188SYork Sun #define CONFIG_UBOOTPATH "u-boot.bin" /* U-Boot image on TFTP server*/ 266ee52b188SYork Sun 267ee52b188SYork Sun /* default location for tftp and bootm */ 268ee52b188SYork Sun #define CONFIG_LOADADDR 1000000 269ee52b188SYork Sun 270ee52b188SYork Sun #define CONFIG_HVBOOT \ 271ee52b188SYork Sun "setenv bootargs config-addr=0x60000000; " \ 272ee52b188SYork Sun "bootm 0x01000000 - 0x00f00000" 273ee52b188SYork Sun 274ee52b188SYork Sun #endif /* __CONFIG_H */ 275