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 * T4240 QDS board configuration file 9ee52b188SYork Sun */ 101cb19fbbSYork Sun #ifndef __CONFIG_H 111cb19fbbSYork Sun #define __CONFIG_H 121cb19fbbSYork Sun 13ee52b188SYork Sun #define CONFIG_T4240QDS 14ee52b188SYork Sun #define CONFIG_PHYS_64BIT 15ee52b188SYork Sun 16ee52b188SYork Sun #define CONFIG_FSL_SATA_V2 17ee52b188SYork Sun #define CONFIG_PCIE4 18ee52b188SYork Sun 19ee52b188SYork Sun #define CONFIG_ICS307_REFCLK_HZ 25000000 /* ICS307 ref clk freq */ 20ee52b188SYork Sun 211cb19fbbSYork Sun #ifdef CONFIG_RAMBOOT_PBL 221cb19fbbSYork Sun #define CONFIG_RAMBOOT_TEXT_BASE CONFIG_SYS_TEXT_BASE 231cb19fbbSYork Sun #define CONFIG_RESET_VECTOR_ADDRESS 0xfffffffc 241cb19fbbSYork Sun #define CONFIG_PBLPBI_CONFIG $(SRCTREE)/board/freescale/t4qds/t4_pbi.cfg 251cb19fbbSYork Sun #define CONFIG_PBLRCW_CONFIG $(SRCTREE)/board/freescale/t4qds/t4_rcw.cfg 261cb19fbbSYork Sun #endif 271cb19fbbSYork Sun 281cb19fbbSYork Sun #ifdef CONFIG_SRIO_PCIE_BOOT_SLAVE 291cb19fbbSYork Sun /* Set 1M boot space */ 301cb19fbbSYork Sun #define CONFIG_SYS_SRIO_PCIE_BOOT_SLAVE_ADDR (CONFIG_SYS_TEXT_BASE & 0xfff00000) 311cb19fbbSYork Sun #define CONFIG_SYS_SRIO_PCIE_BOOT_SLAVE_ADDR_PHYS \ 321cb19fbbSYork Sun (0x300000000ull | CONFIG_SYS_SRIO_PCIE_BOOT_SLAVE_ADDR) 331cb19fbbSYork Sun #define CONFIG_RESET_VECTOR_ADDRESS 0xfffffffc 341cb19fbbSYork Sun #define CONFIG_SYS_NO_FLASH 351cb19fbbSYork Sun #endif 361cb19fbbSYork Sun 371cb19fbbSYork Sun #define CONFIG_SRIO_PCIE_BOOT_MASTER 381cb19fbbSYork Sun #define CONFIG_DDR_ECC 391cb19fbbSYork Sun 40ee52b188SYork Sun #include "t4qds.h" 411cb19fbbSYork Sun 421cb19fbbSYork Sun #ifdef CONFIG_SYS_NO_FLASH 431cb19fbbSYork Sun #if !defined(CONFIG_SRIO_PCIE_BOOT_SLAVE) && !defined(CONFIG_RAMBOOT_PBL) 441cb19fbbSYork Sun #define CONFIG_ENV_IS_NOWHERE 451cb19fbbSYork Sun #endif 461cb19fbbSYork Sun #else 471cb19fbbSYork Sun #define CONFIG_FLASH_CFI_DRIVER 481cb19fbbSYork Sun #define CONFIG_SYS_FLASH_CFI 491cb19fbbSYork Sun #define CONFIG_SYS_FLASH_USE_BUFFER_WRITE 501cb19fbbSYork Sun #endif 511cb19fbbSYork Sun 521cb19fbbSYork Sun #if defined(CONFIG_SPIFLASH) 531cb19fbbSYork Sun #define CONFIG_SYS_EXTRA_ENV_RELOC 541cb19fbbSYork Sun #define CONFIG_ENV_IS_IN_SPI_FLASH 551cb19fbbSYork Sun #define CONFIG_ENV_SPI_BUS 0 561cb19fbbSYork Sun #define CONFIG_ENV_SPI_CS 0 571cb19fbbSYork Sun #define CONFIG_ENV_SPI_MAX_HZ 10000000 581cb19fbbSYork Sun #define CONFIG_ENV_SPI_MODE 0 591cb19fbbSYork Sun #define CONFIG_ENV_SIZE 0x2000 /* 8KB */ 601cb19fbbSYork Sun #define CONFIG_ENV_OFFSET 0x100000 /* 1MB */ 611cb19fbbSYork Sun #define CONFIG_ENV_SECT_SIZE 0x10000 621cb19fbbSYork Sun #elif defined(CONFIG_SDCARD) 631cb19fbbSYork Sun #define CONFIG_SYS_EXTRA_ENV_RELOC 641cb19fbbSYork Sun #define CONFIG_ENV_IS_IN_MMC 651cb19fbbSYork Sun #define CONFIG_SYS_MMC_ENV_DEV 0 661cb19fbbSYork Sun #define CONFIG_ENV_SIZE 0x2000 671cb19fbbSYork Sun #define CONFIG_ENV_OFFSET (512 * 1097) 681cb19fbbSYork Sun #elif defined(CONFIG_NAND) 691cb19fbbSYork Sun #define CONFIG_SYS_EXTRA_ENV_RELOC 701cb19fbbSYork Sun #define CONFIG_ENV_IS_IN_NAND 711cb19fbbSYork Sun #define CONFIG_ENV_SIZE CONFIG_SYS_NAND_BLOCK_SIZE 721cb19fbbSYork Sun #define CONFIG_ENV_OFFSET (5 * CONFIG_SYS_NAND_BLOCK_SIZE) 731cb19fbbSYork Sun #elif defined(CONFIG_SRIO_PCIE_BOOT_SLAVE) 741cb19fbbSYork Sun #define CONFIG_ENV_IS_IN_REMOTE 751cb19fbbSYork Sun #define CONFIG_ENV_ADDR 0xffe20000 761cb19fbbSYork Sun #define CONFIG_ENV_SIZE 0x2000 771cb19fbbSYork Sun #elif defined(CONFIG_ENV_IS_NOWHERE) 781cb19fbbSYork Sun #define CONFIG_ENV_SIZE 0x2000 791cb19fbbSYork Sun #else 801cb19fbbSYork Sun #define CONFIG_ENV_IS_IN_FLASH 811cb19fbbSYork Sun #define CONFIG_ENV_ADDR (CONFIG_SYS_MONITOR_BASE - CONFIG_ENV_SECT_SIZE) 821cb19fbbSYork Sun #define CONFIG_ENV_SIZE 0x2000 831cb19fbbSYork Sun #define CONFIG_ENV_SECT_SIZE 0x20000 /* 128K (one sector) */ 841cb19fbbSYork Sun #endif 851cb19fbbSYork Sun 861cb19fbbSYork Sun #define CONFIG_SYS_CLK_FREQ get_board_sys_clk() 871cb19fbbSYork Sun #define CONFIG_DDR_CLK_FREQ get_board_ddr_clk() 881cb19fbbSYork Sun 891cb19fbbSYork Sun #ifndef __ASSEMBLY__ 901cb19fbbSYork Sun unsigned long get_board_sys_clk(void); 911cb19fbbSYork Sun unsigned long get_board_ddr_clk(void); 921cb19fbbSYork Sun #endif 931cb19fbbSYork Sun 941cb19fbbSYork Sun /* EEPROM */ 951cb19fbbSYork Sun #define CONFIG_ID_EEPROM 961cb19fbbSYork Sun #define CONFIG_SYS_I2C_EEPROM_NXID 971cb19fbbSYork Sun #define CONFIG_SYS_EEPROM_BUS_NUM 0 981cb19fbbSYork Sun #define CONFIG_SYS_I2C_EEPROM_ADDR 0x57 991cb19fbbSYork Sun #define CONFIG_SYS_I2C_EEPROM_ADDR_LEN 1 1001cb19fbbSYork Sun 1011cb19fbbSYork Sun /* 1021cb19fbbSYork Sun * DDR Setup 1031cb19fbbSYork Sun */ 1041cb19fbbSYork Sun #define CONFIG_SYS_SPD_BUS_NUM 0 1051cb19fbbSYork Sun #define SPD_EEPROM_ADDRESS1 0x51 1061cb19fbbSYork Sun #define SPD_EEPROM_ADDRESS2 0x52 1071cb19fbbSYork Sun #define SPD_EEPROM_ADDRESS3 0x53 1081cb19fbbSYork Sun #define SPD_EEPROM_ADDRESS4 0x54 1091cb19fbbSYork Sun #define SPD_EEPROM_ADDRESS5 0x55 1101cb19fbbSYork Sun #define SPD_EEPROM_ADDRESS6 0x56 1111cb19fbbSYork Sun #define SPD_EEPROM_ADDRESS SPD_EEPROM_ADDRESS1 /* for p3041/p5010 */ 1121cb19fbbSYork Sun #define CONFIG_SYS_SDRAM_SIZE 4096 /* for fixed parameter use */ 1131cb19fbbSYork Sun 1141cb19fbbSYork Sun /* 1151cb19fbbSYork Sun * IFC Definitions 1161cb19fbbSYork Sun */ 1171cb19fbbSYork Sun #define CONFIG_SYS_NOR0_CSPR_EXT (0xf) 1181cb19fbbSYork Sun #define CONFIG_SYS_NOR0_CSPR (CSPR_PHYS_ADDR(CONFIG_SYS_FLASH_BASE_PHYS \ 1191cb19fbbSYork Sun + 0x8000000) | \ 1201cb19fbbSYork Sun CSPR_PORT_SIZE_16 | \ 1211cb19fbbSYork Sun CSPR_MSEL_NOR | \ 1221cb19fbbSYork Sun CSPR_V) 1231cb19fbbSYork Sun #define CONFIG_SYS_NOR1_CSPR_EXT (0xf) 1241cb19fbbSYork Sun #define CONFIG_SYS_NOR1_CSPR (CSPR_PHYS_ADDR(CONFIG_SYS_FLASH_BASE_PHYS) | \ 1251cb19fbbSYork Sun CSPR_PORT_SIZE_16 | \ 1261cb19fbbSYork Sun CSPR_MSEL_NOR | \ 1271cb19fbbSYork Sun CSPR_V) 1281cb19fbbSYork Sun #define CONFIG_SYS_NOR_AMASK IFC_AMASK(128*1024*1024) 1291cb19fbbSYork Sun /* NOR Flash Timing Params */ 1301cb19fbbSYork Sun #define CONFIG_SYS_NOR_CSOR CSOR_NAND_TRHZ_80 1311cb19fbbSYork Sun 1321cb19fbbSYork Sun #define CONFIG_SYS_NOR_FTIM0 (FTIM0_NOR_TACSE(0x4) | \ 1331cb19fbbSYork Sun FTIM0_NOR_TEADC(0x5) | \ 1341cb19fbbSYork Sun FTIM0_NOR_TEAHC(0x5)) 1351cb19fbbSYork Sun #define CONFIG_SYS_NOR_FTIM1 (FTIM1_NOR_TACO(0x35) | \ 1361cb19fbbSYork Sun FTIM1_NOR_TRAD_NOR(0x1A) |\ 1371cb19fbbSYork Sun FTIM1_NOR_TSEQRAD_NOR(0x13)) 1381cb19fbbSYork Sun #define CONFIG_SYS_NOR_FTIM2 (FTIM2_NOR_TCS(0x4) | \ 1391cb19fbbSYork Sun FTIM2_NOR_TCH(0x4) | \ 1401cb19fbbSYork Sun FTIM2_NOR_TWPH(0x0E) | \ 1411cb19fbbSYork Sun FTIM2_NOR_TWP(0x1c)) 1421cb19fbbSYork Sun #define CONFIG_SYS_NOR_FTIM3 0x0 1431cb19fbbSYork Sun 1441cb19fbbSYork Sun #define CONFIG_SYS_FLASH_QUIET_TEST 1451cb19fbbSYork Sun #define CONFIG_FLASH_SHOW_PROGRESS 45 /* count down from 45/5: 9..1 */ 1461cb19fbbSYork Sun 1471cb19fbbSYork Sun #define CONFIG_SYS_MAX_FLASH_BANKS 2 /* number of banks */ 1481cb19fbbSYork Sun #define CONFIG_SYS_MAX_FLASH_SECT 1024 /* sectors per device */ 1491cb19fbbSYork Sun #define CONFIG_SYS_FLASH_ERASE_TOUT 60000 /* Flash Erase Timeout (ms) */ 1501cb19fbbSYork Sun #define CONFIG_SYS_FLASH_WRITE_TOUT 500 /* Flash Write Timeout (ms) */ 1511cb19fbbSYork Sun 1521cb19fbbSYork Sun #define CONFIG_SYS_FLASH_EMPTY_INFO 1531cb19fbbSYork Sun #define CONFIG_SYS_FLASH_BANKS_LIST {CONFIG_SYS_FLASH_BASE_PHYS \ 1541cb19fbbSYork Sun + 0x8000000, CONFIG_SYS_FLASH_BASE_PHYS} 1551cb19fbbSYork Sun 1561cb19fbbSYork Sun #define CONFIG_FSL_QIXIS /* use common QIXIS code */ 1571cb19fbbSYork Sun #define QIXIS_BASE 0xffdf0000 1581cb19fbbSYork Sun #define QIXIS_LBMAP_SWITCH 6 1591cb19fbbSYork Sun #define QIXIS_LBMAP_MASK 0x0f 1601cb19fbbSYork Sun #define QIXIS_LBMAP_SHIFT 0 1611cb19fbbSYork Sun #define QIXIS_LBMAP_DFLTBANK 0x00 1621cb19fbbSYork Sun #define QIXIS_LBMAP_ALTBANK 0x04 1631cb19fbbSYork Sun #define QIXIS_RST_CTL_RESET 0x83 164c63e1370SYork Sun #define QIXIS_RST_FORCE_MEM 0x1 1651cb19fbbSYork Sun #define QIXIS_RCFG_CTL_RECONFIG_IDLE 0x20 1661cb19fbbSYork Sun #define QIXIS_RCFG_CTL_RECONFIG_START 0x21 1671cb19fbbSYork Sun #define QIXIS_RCFG_CTL_WATCHDOG_ENBLE 0x08 1681cb19fbbSYork Sun #define QIXIS_BASE_PHYS (0xf00000000ull | QIXIS_BASE) 1691cb19fbbSYork Sun 1701cb19fbbSYork Sun #define CONFIG_SYS_CSPR3_EXT (0xf) 1711cb19fbbSYork Sun #define CONFIG_SYS_CSPR3 (CSPR_PHYS_ADDR(QIXIS_BASE_PHYS) \ 1721cb19fbbSYork Sun | CSPR_PORT_SIZE_8 \ 1731cb19fbbSYork Sun | CSPR_MSEL_GPCM \ 1741cb19fbbSYork Sun | CSPR_V) 1751cb19fbbSYork Sun #define CONFIG_SYS_AMASK3 IFC_AMASK(4*1024) 1761cb19fbbSYork Sun #define CONFIG_SYS_CSOR3 0x0 1771cb19fbbSYork Sun /* QIXIS Timing parameters for IFC CS3 */ 1781cb19fbbSYork Sun #define CONFIG_SYS_CS3_FTIM0 (FTIM0_GPCM_TACSE(0x0e) | \ 1791cb19fbbSYork Sun FTIM0_GPCM_TEADC(0x0e) | \ 1801cb19fbbSYork Sun FTIM0_GPCM_TEAHC(0x0e)) 1811cb19fbbSYork Sun #define CONFIG_SYS_CS3_FTIM1 (FTIM1_GPCM_TACO(0xff) | \ 1821cb19fbbSYork Sun FTIM1_GPCM_TRAD(0x3f)) 1831cb19fbbSYork Sun #define CONFIG_SYS_CS3_FTIM2 (FTIM2_GPCM_TCS(0x0e) | \ 1841cb19fbbSYork Sun FTIM2_GPCM_TCH(0x0) | \ 1851cb19fbbSYork Sun FTIM2_GPCM_TWP(0x1f)) 1861cb19fbbSYork Sun #define CONFIG_SYS_CS3_FTIM3 0x0 1871cb19fbbSYork Sun 1881cb19fbbSYork Sun /* NAND Flash on IFC */ 1891cb19fbbSYork Sun #define CONFIG_NAND_FSL_IFC 1901cb19fbbSYork Sun #define CONFIG_SYS_NAND_BASE 0xff800000 1911cb19fbbSYork Sun #define CONFIG_SYS_NAND_BASE_PHYS (0xf00000000ull | CONFIG_SYS_NAND_BASE) 1921cb19fbbSYork Sun 1931cb19fbbSYork Sun #define CONFIG_SYS_NAND_CSPR_EXT (0xf) 1941cb19fbbSYork Sun #define CONFIG_SYS_NAND_CSPR (CSPR_PHYS_ADDR(CONFIG_SYS_NAND_BASE_PHYS) \ 1951cb19fbbSYork Sun | CSPR_PORT_SIZE_8 /* Port Size = 8 bit */ \ 1961cb19fbbSYork Sun | CSPR_MSEL_NAND /* MSEL = NAND */ \ 1971cb19fbbSYork Sun | CSPR_V) 1981cb19fbbSYork Sun #define CONFIG_SYS_NAND_AMASK IFC_AMASK(64*1024) 1991cb19fbbSYork Sun 2001cb19fbbSYork Sun #define CONFIG_SYS_NAND_CSOR (CSOR_NAND_ECC_ENC_EN /* ECC on encode */ \ 2011cb19fbbSYork Sun | CSOR_NAND_ECC_DEC_EN /* ECC on decode */ \ 2021cb19fbbSYork Sun | CSOR_NAND_ECC_MODE_4 /* 4-bit ECC */ \ 2031cb19fbbSYork Sun | CSOR_NAND_RAL_3 /* RAL = 2Byes */ \ 2041cb19fbbSYork Sun | CSOR_NAND_PGS_2K /* Page Size = 2K */ \ 2051cb19fbbSYork Sun | CSOR_NAND_SPRZ_64/* Spare size = 64 */ \ 2061cb19fbbSYork Sun | CSOR_NAND_PB(64)) /*Pages Per Block = 64*/ 2071cb19fbbSYork Sun 2081cb19fbbSYork Sun #define CONFIG_SYS_NAND_ONFI_DETECTION 2091cb19fbbSYork Sun 2101cb19fbbSYork Sun /* ONFI NAND Flash mode0 Timing Params */ 2111cb19fbbSYork Sun #define CONFIG_SYS_NAND_FTIM0 (FTIM0_NAND_TCCST(0x07) | \ 2121cb19fbbSYork Sun FTIM0_NAND_TWP(0x18) | \ 2131cb19fbbSYork Sun FTIM0_NAND_TWCHT(0x07) | \ 2141cb19fbbSYork Sun FTIM0_NAND_TWH(0x0a)) 2151cb19fbbSYork Sun #define CONFIG_SYS_NAND_FTIM1 (FTIM1_NAND_TADLE(0x32) | \ 2161cb19fbbSYork Sun FTIM1_NAND_TWBE(0x39) | \ 2171cb19fbbSYork Sun FTIM1_NAND_TRR(0x0e) | \ 2181cb19fbbSYork Sun FTIM1_NAND_TRP(0x18)) 2191cb19fbbSYork Sun #define CONFIG_SYS_NAND_FTIM2 (FTIM2_NAND_TRAD(0x0f) | \ 2201cb19fbbSYork Sun FTIM2_NAND_TREH(0x0a) | \ 2211cb19fbbSYork Sun FTIM2_NAND_TWHRE(0x1e)) 2221cb19fbbSYork Sun #define CONFIG_SYS_NAND_FTIM3 0x0 2231cb19fbbSYork Sun 2241cb19fbbSYork Sun #define CONFIG_SYS_NAND_DDR_LAW 11 2251cb19fbbSYork Sun 2261cb19fbbSYork Sun #define CONFIG_SYS_NAND_BASE_LIST { CONFIG_SYS_NAND_BASE } 2271cb19fbbSYork Sun #define CONFIG_SYS_MAX_NAND_DEVICE 1 2281cb19fbbSYork Sun #define CONFIG_MTD_NAND_VERIFY_WRITE 2291cb19fbbSYork Sun #define CONFIG_CMD_NAND 2301cb19fbbSYork Sun 2311cb19fbbSYork Sun #define CONFIG_SYS_NAND_BLOCK_SIZE (128 * 1024) 2321cb19fbbSYork Sun 2331cb19fbbSYork Sun #if defined(CONFIG_NAND) 2341cb19fbbSYork Sun #define CONFIG_SYS_CSPR0_EXT CONFIG_SYS_NAND_CSPR_EXT 2351cb19fbbSYork Sun #define CONFIG_SYS_CSPR0 CONFIG_SYS_NAND_CSPR 2361cb19fbbSYork Sun #define CONFIG_SYS_AMASK0 CONFIG_SYS_NAND_AMASK 2371cb19fbbSYork Sun #define CONFIG_SYS_CSOR0 CONFIG_SYS_NAND_CSOR 2381cb19fbbSYork Sun #define CONFIG_SYS_CS0_FTIM0 CONFIG_SYS_NAND_FTIM0 2391cb19fbbSYork Sun #define CONFIG_SYS_CS0_FTIM1 CONFIG_SYS_NAND_FTIM1 2401cb19fbbSYork Sun #define CONFIG_SYS_CS0_FTIM2 CONFIG_SYS_NAND_FTIM2 2411cb19fbbSYork Sun #define CONFIG_SYS_CS0_FTIM3 CONFIG_SYS_NAND_FTIM3 2421cb19fbbSYork Sun #define CONFIG_SYS_CSPR2_EXT CONFIG_SYS_NOR0_CSPR_EXT 2431cb19fbbSYork Sun #define CONFIG_SYS_CSPR2 CONFIG_SYS_NOR0_CSPR 2441cb19fbbSYork Sun #define CONFIG_SYS_AMASK2 CONFIG_SYS_NOR_AMASK 2451cb19fbbSYork Sun #define CONFIG_SYS_CSOR2 CONFIG_SYS_NOR_CSOR 2461cb19fbbSYork Sun #define CONFIG_SYS_CS2_FTIM0 CONFIG_SYS_NOR_FTIM0 2471cb19fbbSYork Sun #define CONFIG_SYS_CS2_FTIM1 CONFIG_SYS_NOR_FTIM1 2481cb19fbbSYork Sun #define CONFIG_SYS_CS2_FTIM2 CONFIG_SYS_NOR_FTIM2 2491cb19fbbSYork Sun #define CONFIG_SYS_CS2_FTIM3 CONFIG_SYS_NOR_FTIM3 2501cb19fbbSYork Sun #else 2511cb19fbbSYork Sun #define CONFIG_SYS_CSPR0_EXT CONFIG_SYS_NOR0_CSPR_EXT 2521cb19fbbSYork Sun #define CONFIG_SYS_CSPR0 CONFIG_SYS_NOR0_CSPR 2531cb19fbbSYork Sun #define CONFIG_SYS_AMASK0 CONFIG_SYS_NOR_AMASK 2541cb19fbbSYork Sun #define CONFIG_SYS_CSOR0 CONFIG_SYS_NOR_CSOR 2551cb19fbbSYork Sun #define CONFIG_SYS_CS0_FTIM0 CONFIG_SYS_NOR_FTIM0 2561cb19fbbSYork Sun #define CONFIG_SYS_CS0_FTIM1 CONFIG_SYS_NOR_FTIM1 2571cb19fbbSYork Sun #define CONFIG_SYS_CS0_FTIM2 CONFIG_SYS_NOR_FTIM2 2581cb19fbbSYork Sun #define CONFIG_SYS_CS0_FTIM3 CONFIG_SYS_NOR_FTIM3 2591cb19fbbSYork Sun #define CONFIG_SYS_CSPR2_EXT CONFIG_SYS_NAND_CSPR_EXT 2601cb19fbbSYork Sun #define CONFIG_SYS_CSPR2 CONFIG_SYS_NAND_CSPR 2611cb19fbbSYork Sun #define CONFIG_SYS_AMASK2 CONFIG_SYS_NAND_AMASK 2621cb19fbbSYork Sun #define CONFIG_SYS_CSOR2 CONFIG_SYS_NAND_CSOR 2631cb19fbbSYork Sun #define CONFIG_SYS_CS2_FTIM0 CONFIG_SYS_NAND_FTIM0 2641cb19fbbSYork Sun #define CONFIG_SYS_CS2_FTIM1 CONFIG_SYS_NAND_FTIM1 2651cb19fbbSYork Sun #define CONFIG_SYS_CS2_FTIM2 CONFIG_SYS_NAND_FTIM2 2661cb19fbbSYork Sun #define CONFIG_SYS_CS2_FTIM3 CONFIG_SYS_NAND_FTIM3 2671cb19fbbSYork Sun #endif 2681cb19fbbSYork Sun #define CONFIG_SYS_CSPR1_EXT CONFIG_SYS_NOR1_CSPR_EXT 2691cb19fbbSYork Sun #define CONFIG_SYS_CSPR1 CONFIG_SYS_NOR1_CSPR 2701cb19fbbSYork Sun #define CONFIG_SYS_AMASK1 CONFIG_SYS_NOR_AMASK 2711cb19fbbSYork Sun #define CONFIG_SYS_CSOR1 CONFIG_SYS_NOR_CSOR 2721cb19fbbSYork Sun #define CONFIG_SYS_CS1_FTIM0 CONFIG_SYS_NOR_FTIM0 2731cb19fbbSYork Sun #define CONFIG_SYS_CS1_FTIM1 CONFIG_SYS_NOR_FTIM1 2741cb19fbbSYork Sun #define CONFIG_SYS_CS1_FTIM2 CONFIG_SYS_NOR_FTIM2 2751cb19fbbSYork Sun #define CONFIG_SYS_CS1_FTIM3 CONFIG_SYS_NOR_FTIM3 2761cb19fbbSYork Sun 2771cb19fbbSYork Sun #if defined(CONFIG_RAMBOOT_PBL) 2781cb19fbbSYork Sun #define CONFIG_SYS_RAMBOOT 2791cb19fbbSYork Sun #endif 2801cb19fbbSYork Sun 2811cb19fbbSYork Sun 2821cb19fbbSYork Sun /* I2C */ 2831cb19fbbSYork Sun #define CONFIG_SYS_FSL_I2C_SPEED 100000 /* I2C speed */ 2841cb19fbbSYork Sun #define CONFIG_SYS_FSL_I2C2_SPEED 100000 /* I2C2 speed */ 2851cb19fbbSYork Sun #define I2C_MUX_PCA_ADDR_PRI 0x77 /* I2C bus multiplexer,primary */ 2861cb19fbbSYork Sun #define I2C_MUX_PCA_ADDR_SEC 0x76 /* I2C bus multiplexer,secondary */ 2871cb19fbbSYork Sun 2881cb19fbbSYork Sun #define I2C_MUX_CH_DEFAULT 0x8 2891cb19fbbSYork Sun #define I2C_MUX_CH_VOL_MONITOR 0xa 2901cb19fbbSYork Sun #define I2C_MUX_CH_VSC3316_FS 0xc 2911cb19fbbSYork Sun #define I2C_MUX_CH_VSC3316_BS 0xd 2921cb19fbbSYork Sun 2931cb19fbbSYork Sun /* Voltage monitor on channel 2*/ 2941cb19fbbSYork Sun #define I2C_VOL_MONITOR_ADDR 0x40 2951cb19fbbSYork Sun #define I2C_VOL_MONITOR_BUS_V_OFFSET 0x2 2961cb19fbbSYork Sun #define I2C_VOL_MONITOR_BUS_V_OVF 0x1 2971cb19fbbSYork Sun #define I2C_VOL_MONITOR_BUS_V_SHIFT 3 2981cb19fbbSYork Sun 2991cb19fbbSYork Sun /* VSC Crossbar switches */ 3001cb19fbbSYork Sun #define CONFIG_VSC_CROSSBAR 3011cb19fbbSYork Sun #define VSC3316_FSM_TX_ADDR 0x70 3021cb19fbbSYork Sun #define VSC3316_FSM_RX_ADDR 0x71 3031cb19fbbSYork Sun 3041cb19fbbSYork Sun /* 3051cb19fbbSYork Sun * RapidIO 3061cb19fbbSYork Sun */ 3071cb19fbbSYork Sun 3081cb19fbbSYork Sun /* 3091cb19fbbSYork Sun * for slave u-boot IMAGE instored in master memory space, 3101cb19fbbSYork Sun * PHYS must be aligned based on the SIZE 3111cb19fbbSYork Sun */ 3121cb19fbbSYork Sun #define CONFIG_SRIO_PCIE_BOOT_IMAGE_MEM_PHYS 0xfef080000ull 3131cb19fbbSYork Sun #define CONFIG_SRIO_PCIE_BOOT_IMAGE_MEM_BUS1 0xfff80000ull 3141cb19fbbSYork Sun #define CONFIG_SRIO_PCIE_BOOT_IMAGE_SIZE 0x80000 /* 512K */ 3151cb19fbbSYork Sun #define CONFIG_SRIO_PCIE_BOOT_IMAGE_MEM_BUS2 0x3fff80000ull 3161cb19fbbSYork Sun /* 3171cb19fbbSYork Sun * for slave UCODE and ENV instored in master memory space, 3181cb19fbbSYork Sun * PHYS must be aligned based on the SIZE 3191cb19fbbSYork Sun */ 3201cb19fbbSYork Sun #define CONFIG_SRIO_PCIE_BOOT_UCODE_ENV_MEM_PHYS 0xfef040000ull 3211cb19fbbSYork Sun #define CONFIG_SRIO_PCIE_BOOT_UCODE_ENV_MEM_BUS 0x3ffe00000ull 3221cb19fbbSYork Sun #define CONFIG_SRIO_PCIE_BOOT_UCODE_ENV_SIZE 0x40000 /* 256K */ 3231cb19fbbSYork Sun 3241cb19fbbSYork Sun /* slave core release by master*/ 3251cb19fbbSYork Sun #define CONFIG_SRIO_PCIE_BOOT_BRR_OFFSET 0xe00e4 3261cb19fbbSYork Sun #define CONFIG_SRIO_PCIE_BOOT_RELEASE_MASK 0x00000001 /* release core 0 */ 3271cb19fbbSYork Sun 3281cb19fbbSYork Sun /* 3291cb19fbbSYork Sun * SRIO_PCIE_BOOT - SLAVE 3301cb19fbbSYork Sun */ 3311cb19fbbSYork Sun #ifdef CONFIG_SRIO_PCIE_BOOT_SLAVE 3321cb19fbbSYork Sun #define CONFIG_SYS_SRIO_PCIE_BOOT_UCODE_ENV_ADDR 0xFFE00000 3331cb19fbbSYork Sun #define CONFIG_SYS_SRIO_PCIE_BOOT_UCODE_ENV_ADDR_PHYS \ 3341cb19fbbSYork Sun (0x300000000ull | CONFIG_SYS_SRIO_PCIE_BOOT_UCODE_ENV_ADDR) 3351cb19fbbSYork Sun #endif 3361cb19fbbSYork Sun /* 3371cb19fbbSYork Sun * eSPI - Enhanced SPI 3381cb19fbbSYork Sun */ 3391cb19fbbSYork Sun #define CONFIG_FSL_ESPI 3401cb19fbbSYork Sun #define CONFIG_SPI_FLASH 3411cb19fbbSYork Sun #define CONFIG_SPI_FLASH_SST 3421cb19fbbSYork Sun #define CONFIG_CMD_SF 3431cb19fbbSYork Sun #define CONFIG_SF_DEFAULT_SPEED 10000000 3441cb19fbbSYork Sun #define CONFIG_SF_DEFAULT_MODE 0 3451cb19fbbSYork Sun 3461cb19fbbSYork Sun 3471cb19fbbSYork Sun /* Qman/Bman */ 3481cb19fbbSYork Sun #ifndef CONFIG_NOBQFMAN 3491cb19fbbSYork Sun #define CONFIG_SYS_DPAA_QBMAN /* Support Q/Bman */ 3501cb19fbbSYork Sun #define CONFIG_SYS_BMAN_NUM_PORTALS 50 3511cb19fbbSYork Sun #define CONFIG_SYS_BMAN_MEM_BASE 0xf4000000 3521cb19fbbSYork Sun #define CONFIG_SYS_BMAN_MEM_PHYS 0xff4000000ull 3531cb19fbbSYork Sun #define CONFIG_SYS_BMAN_MEM_SIZE 0x02000000 3541cb19fbbSYork Sun #define CONFIG_SYS_QMAN_NUM_PORTALS 50 3551cb19fbbSYork Sun #define CONFIG_SYS_QMAN_MEM_BASE 0xf6000000 3561cb19fbbSYork Sun #define CONFIG_SYS_QMAN_MEM_PHYS 0xff6000000ull 3571cb19fbbSYork Sun #define CONFIG_SYS_QMAN_MEM_SIZE 0x02000000 3581cb19fbbSYork Sun 3591cb19fbbSYork Sun #define CONFIG_SYS_DPAA_FMAN 3601cb19fbbSYork Sun #define CONFIG_SYS_DPAA_PME 3611cb19fbbSYork Sun #define CONFIG_SYS_PMAN 3621cb19fbbSYork Sun #define CONFIG_SYS_DPAA_DCE 363*0795eff3SMinghuan Lian #define CONFIG_SYS_DPAA_RMAN 3641cb19fbbSYork Sun #define CONFIG_SYS_INTERLAKEN 3651cb19fbbSYork Sun 3661cb19fbbSYork Sun /* Default address of microcode for the Linux Fman driver */ 3671cb19fbbSYork Sun #if defined(CONFIG_SPIFLASH) 3681cb19fbbSYork Sun /* 3691cb19fbbSYork Sun * env is stored at 0x100000, sector size is 0x10000, ucode is stored after 3701cb19fbbSYork Sun * env, so we got 0x110000. 3711cb19fbbSYork Sun */ 3721cb19fbbSYork Sun #define CONFIG_SYS_QE_FW_IN_SPIFLASH 3731cb19fbbSYork Sun #define CONFIG_SYS_QE_FMAN_FW_ADDR 0x110000 3741cb19fbbSYork Sun #elif defined(CONFIG_SDCARD) 3751cb19fbbSYork Sun /* 3761cb19fbbSYork Sun * PBL SD boot image should stored at 0x1000(8 blocks), the size of the image is 3771cb19fbbSYork Sun * about 545KB (1089 blocks), Env is stored after the image, and the env size is 3781cb19fbbSYork Sun * 0x2000 (16 blocks), 8 + 1089 + 16 = 1113, enlarge it to 1130. 3791cb19fbbSYork Sun */ 3801cb19fbbSYork Sun #define CONFIG_SYS_QE_FMAN_FW_IN_MMC 3811cb19fbbSYork Sun #define CONFIG_SYS_QE_FMAN_FW_ADDR (512 * 1130) 3821cb19fbbSYork Sun #elif defined(CONFIG_NAND) 3831cb19fbbSYork Sun #define CONFIG_SYS_QE_FMAN_FW_IN_NAND 3841cb19fbbSYork Sun #define CONFIG_SYS_QE_FMAN_FW_ADDR (6 * CONFIG_SYS_NAND_BLOCK_SIZE) 3851cb19fbbSYork Sun #elif defined(CONFIG_SRIO_PCIE_BOOT_SLAVE) 3861cb19fbbSYork Sun /* 3871cb19fbbSYork Sun * Slave has no ucode locally, it can fetch this from remote. When implementing 3881cb19fbbSYork Sun * in two corenet boards, slave's ucode could be stored in master's memory 3891cb19fbbSYork Sun * space, the address can be mapped from slave TLB->slave LAW-> 3901cb19fbbSYork Sun * slave SRIO or PCIE outbound window->master inbound window-> 3911cb19fbbSYork Sun * master LAW->the ucode address in master's memory space. 3921cb19fbbSYork Sun */ 3931cb19fbbSYork Sun #define CONFIG_SYS_QE_FMAN_FW_IN_REMOTE 3941cb19fbbSYork Sun #define CONFIG_SYS_QE_FMAN_FW_ADDR 0xFFE00000 3951cb19fbbSYork Sun #else 3961cb19fbbSYork Sun #define CONFIG_SYS_QE_FMAN_FW_IN_NOR 3971cb19fbbSYork Sun #define CONFIG_SYS_QE_FMAN_FW_ADDR 0xEFF40000 3981cb19fbbSYork Sun #endif 3991cb19fbbSYork Sun #define CONFIG_SYS_QE_FMAN_FW_LENGTH 0x10000 4001cb19fbbSYork Sun #define CONFIG_SYS_FDT_PAD (0x3000 + CONFIG_SYS_QE_FMAN_FW_LENGTH) 4011cb19fbbSYork Sun #endif /* CONFIG_NOBQFMAN */ 4021cb19fbbSYork Sun 4031cb19fbbSYork Sun #ifdef CONFIG_SYS_DPAA_FMAN 4041cb19fbbSYork Sun #define CONFIG_FMAN_ENET 4051cb19fbbSYork Sun #define CONFIG_PHYLIB_10G 4061cb19fbbSYork Sun #define CONFIG_PHY_VITESSE 4071cb19fbbSYork Sun #define CONFIG_PHY_TERANETICS 4081cb19fbbSYork Sun #define SGMII_CARD_PORT1_PHY_ADDR 0x1C 4091cb19fbbSYork Sun #define SGMII_CARD_PORT2_PHY_ADDR 0x1D 4101cb19fbbSYork Sun #define SGMII_CARD_PORT3_PHY_ADDR 0x1E 4111cb19fbbSYork Sun #define SGMII_CARD_PORT4_PHY_ADDR 0x1F 4121cb19fbbSYork Sun #define FM1_10GEC1_PHY_ADDR 0x0 4131cb19fbbSYork Sun #define FM1_10GEC2_PHY_ADDR 0x1 4141cb19fbbSYork Sun #define FM2_10GEC1_PHY_ADDR 0x2 4151cb19fbbSYork Sun #define FM2_10GEC2_PHY_ADDR 0x3 4161cb19fbbSYork Sun #endif 4171cb19fbbSYork Sun 4181cb19fbbSYork Sun 4191cb19fbbSYork Sun /* SATA */ 4201cb19fbbSYork Sun #ifdef CONFIG_FSL_SATA_V2 4211cb19fbbSYork Sun #define CONFIG_LIBATA 4221cb19fbbSYork Sun #define CONFIG_FSL_SATA 4231cb19fbbSYork Sun 4241cb19fbbSYork Sun #define CONFIG_SYS_SATA_MAX_DEVICE 2 4251cb19fbbSYork Sun #define CONFIG_SATA1 4261cb19fbbSYork Sun #define CONFIG_SYS_SATA1 CONFIG_SYS_MPC85xx_SATA1_ADDR 4271cb19fbbSYork Sun #define CONFIG_SYS_SATA1_FLAGS FLAGS_DMA 4281cb19fbbSYork Sun #define CONFIG_SATA2 4291cb19fbbSYork Sun #define CONFIG_SYS_SATA2 CONFIG_SYS_MPC85xx_SATA2_ADDR 4301cb19fbbSYork Sun #define CONFIG_SYS_SATA2_FLAGS FLAGS_DMA 4311cb19fbbSYork Sun 4321cb19fbbSYork Sun #define CONFIG_LBA48 4331cb19fbbSYork Sun #define CONFIG_CMD_SATA 4341cb19fbbSYork Sun #define CONFIG_DOS_PARTITION 4351cb19fbbSYork Sun #define CONFIG_CMD_EXT2 4361cb19fbbSYork Sun #endif 4371cb19fbbSYork Sun 4381cb19fbbSYork Sun #ifdef CONFIG_FMAN_ENET 4391cb19fbbSYork Sun #define CONFIG_MII /* MII PHY management */ 4401cb19fbbSYork Sun #define CONFIG_ETHPRIME "FM1@DTSEC1" 4411cb19fbbSYork Sun #define CONFIG_PHY_GIGE /* Include GbE speed/duplex detection */ 4421cb19fbbSYork Sun #endif 4431cb19fbbSYork Sun 4441cb19fbbSYork Sun /* 4451cb19fbbSYork Sun * USB 4461cb19fbbSYork Sun */ 4471cb19fbbSYork Sun #define CONFIG_CMD_USB 4481cb19fbbSYork Sun #define CONFIG_USB_STORAGE 4491cb19fbbSYork Sun #define CONFIG_USB_EHCI 4501cb19fbbSYork Sun #define CONFIG_USB_EHCI_FSL 4511cb19fbbSYork Sun #define CONFIG_EHCI_HCD_INIT_AFTER_RESET 4521cb19fbbSYork Sun #define CONFIG_CMD_EXT2 4531cb19fbbSYork Sun #define CONFIG_HAS_FSL_DR_USB 4541cb19fbbSYork Sun 4551cb19fbbSYork Sun #define CONFIG_MMC 4561cb19fbbSYork Sun 4571cb19fbbSYork Sun #ifdef CONFIG_MMC 4581cb19fbbSYork Sun #define CONFIG_FSL_ESDHC 4591cb19fbbSYork Sun #define CONFIG_SYS_FSL_ESDHC_ADDR CONFIG_SYS_MPC85xx_ESDHC_ADDR 4601cb19fbbSYork Sun #define CONFIG_SYS_FSL_ESDHC_BROKEN_TIMEOUT 4611cb19fbbSYork Sun #define CONFIG_CMD_MMC 4621cb19fbbSYork Sun #define CONFIG_GENERIC_MMC 4631cb19fbbSYork Sun #define CONFIG_CMD_EXT2 4641cb19fbbSYork Sun #define CONFIG_CMD_FAT 4651cb19fbbSYork Sun #define CONFIG_DOS_PARTITION 4661cb19fbbSYork Sun #endif 4671cb19fbbSYork Sun 4681cb19fbbSYork Sun #define CONFIG_BOOTDELAY 10 /* -1 disables auto-boot */ 4691cb19fbbSYork Sun 4701cb19fbbSYork Sun #define __USB_PHY_TYPE utmi 4711cb19fbbSYork Sun 4721cb19fbbSYork Sun /* 4731cb19fbbSYork Sun * T4240 has 3 DDR controllers. Default to 3-way interleaving. It can be 4741cb19fbbSYork Sun * 3way_1KB, 3way_4KB, 3way_8KB. T4160 has 2 DDR controllers. Default to 2-way 4751cb19fbbSYork Sun * interleaving. It can be cacheline, page, bank, superbank. 4761cb19fbbSYork Sun * See doc/README.fsl-ddr for details. 4771cb19fbbSYork Sun */ 4781cb19fbbSYork Sun #ifdef CONFIG_PPC_T4240 4791cb19fbbSYork Sun #define CTRL_INTLV_PREFERED 3way_4KB 4801cb19fbbSYork Sun #else 4811cb19fbbSYork Sun #define CTRL_INTLV_PREFERED cacheline 4821cb19fbbSYork Sun #endif 4831cb19fbbSYork Sun 4841cb19fbbSYork Sun #define CONFIG_EXTRA_ENV_SETTINGS \ 4851cb19fbbSYork Sun "hwconfig=fsl_ddr:" \ 4861cb19fbbSYork Sun "ctlr_intlv=" __stringify(CTRL_INTLV_PREFERED) "," \ 4871cb19fbbSYork Sun "bank_intlv=auto;" \ 4881cb19fbbSYork Sun "usb1:dr_mode=host,phy_type=" __stringify(__USB_PHY_TYPE) "\0"\ 4891cb19fbbSYork Sun "netdev=eth0\0" \ 4901cb19fbbSYork Sun "uboot=" __stringify(CONFIG_UBOOTPATH) "\0" \ 4911cb19fbbSYork Sun "ubootaddr=" __stringify(CONFIG_SYS_TEXT_BASE) "\0" \ 4921cb19fbbSYork Sun "tftpflash=tftpboot $loadaddr $uboot && " \ 4931cb19fbbSYork Sun "protect off $ubootaddr +$filesize && " \ 4941cb19fbbSYork Sun "erase $ubootaddr +$filesize && " \ 4951cb19fbbSYork Sun "cp.b $loadaddr $ubootaddr $filesize && " \ 4961cb19fbbSYork Sun "protect on $ubootaddr +$filesize && " \ 4971cb19fbbSYork Sun "cmp.b $loadaddr $ubootaddr $filesize\0" \ 4981cb19fbbSYork Sun "consoledev=ttyS0\0" \ 4991cb19fbbSYork Sun "ramdiskaddr=2000000\0" \ 5001cb19fbbSYork Sun "ramdiskfile=t4240qds/ramdisk.uboot\0" \ 5011cb19fbbSYork Sun "fdtaddr=c00000\0" \ 5021cb19fbbSYork Sun "fdtfile=t4240qds/t4240qds.dtb\0" \ 5031cb19fbbSYork Sun "bdev=sda3\0" \ 5041cb19fbbSYork Sun "c=ffe\0" 5051cb19fbbSYork Sun 5061cb19fbbSYork Sun #define CONFIG_HVBOOT \ 5071cb19fbbSYork Sun "setenv bootargs config-addr=0x60000000; " \ 5081cb19fbbSYork Sun "bootm 0x01000000 - 0x00f00000" 5091cb19fbbSYork Sun 5101cb19fbbSYork Sun #define CONFIG_ALU \ 5111cb19fbbSYork Sun "setenv bootargs root=/dev/$bdev rw " \ 5121cb19fbbSYork Sun "console=$consoledev,$baudrate $othbootargs;" \ 5131cb19fbbSYork Sun "cpu 1 release 0x01000000 - - -;" \ 5141cb19fbbSYork Sun "cpu 2 release 0x01000000 - - -;" \ 5151cb19fbbSYork Sun "cpu 3 release 0x01000000 - - -;" \ 5161cb19fbbSYork Sun "cpu 4 release 0x01000000 - - -;" \ 5171cb19fbbSYork Sun "cpu 5 release 0x01000000 - - -;" \ 5181cb19fbbSYork Sun "cpu 6 release 0x01000000 - - -;" \ 5191cb19fbbSYork Sun "cpu 7 release 0x01000000 - - -;" \ 5201cb19fbbSYork Sun "go 0x01000000" 5211cb19fbbSYork Sun 5221cb19fbbSYork Sun #define CONFIG_LINUX \ 5231cb19fbbSYork Sun "setenv bootargs root=/dev/ram rw " \ 5241cb19fbbSYork Sun "console=$consoledev,$baudrate $othbootargs;" \ 5251cb19fbbSYork Sun "setenv ramdiskaddr 0x02000000;" \ 5261cb19fbbSYork Sun "setenv fdtaddr 0x00c00000;" \ 5271cb19fbbSYork Sun "setenv loadaddr 0x1000000;" \ 5281cb19fbbSYork Sun "bootm $loadaddr $ramdiskaddr $fdtaddr" 5291cb19fbbSYork Sun 5301cb19fbbSYork Sun #define CONFIG_HDBOOT \ 5311cb19fbbSYork Sun "setenv bootargs root=/dev/$bdev rw " \ 5321cb19fbbSYork Sun "console=$consoledev,$baudrate $othbootargs;" \ 5331cb19fbbSYork Sun "tftp $loadaddr $bootfile;" \ 5341cb19fbbSYork Sun "tftp $fdtaddr $fdtfile;" \ 5351cb19fbbSYork Sun "bootm $loadaddr - $fdtaddr" 5361cb19fbbSYork Sun 5371cb19fbbSYork Sun #define CONFIG_NFSBOOTCOMMAND \ 5381cb19fbbSYork Sun "setenv bootargs root=/dev/nfs rw " \ 5391cb19fbbSYork Sun "nfsroot=$serverip:$rootpath " \ 5401cb19fbbSYork Sun "ip=$ipaddr:$serverip:$gatewayip:$netmask:$hostname:$netdev:off " \ 5411cb19fbbSYork Sun "console=$consoledev,$baudrate $othbootargs;" \ 5421cb19fbbSYork Sun "tftp $loadaddr $bootfile;" \ 5431cb19fbbSYork Sun "tftp $fdtaddr $fdtfile;" \ 5441cb19fbbSYork Sun "bootm $loadaddr - $fdtaddr" 5451cb19fbbSYork Sun 5461cb19fbbSYork Sun #define CONFIG_RAMBOOTCOMMAND \ 5471cb19fbbSYork Sun "setenv bootargs root=/dev/ram rw " \ 5481cb19fbbSYork Sun "console=$consoledev,$baudrate $othbootargs;" \ 5491cb19fbbSYork Sun "tftp $ramdiskaddr $ramdiskfile;" \ 5501cb19fbbSYork Sun "tftp $loadaddr $bootfile;" \ 5511cb19fbbSYork Sun "tftp $fdtaddr $fdtfile;" \ 5521cb19fbbSYork Sun "bootm $loadaddr $ramdiskaddr $fdtaddr" 5531cb19fbbSYork Sun 5541cb19fbbSYork Sun #define CONFIG_BOOTCOMMAND CONFIG_LINUX 5551cb19fbbSYork Sun 5561cb19fbbSYork Sun #ifdef CONFIG_SECURE_BOOT 5571cb19fbbSYork Sun #include <asm/fsl_secure_boot.h> 5581cb19fbbSYork Sun #endif 5591cb19fbbSYork Sun 5601cb19fbbSYork Sun #endif /* __CONFIG_H */ 561