xref: /openbmc/u-boot/include/configs/T208xRDB.h (revision 83d290c56fab2d38cd1ab4c4cc7099559c1d5046)
1*83d290c5STom Rini /* SPDX-License-Identifier: GPL-2.0+ */
28d67c368SShengzhou Liu /*
38d67c368SShengzhou Liu  * Copyright 2014 Freescale Semiconductor, Inc.
48d67c368SShengzhou Liu  */
58d67c368SShengzhou Liu 
68d67c368SShengzhou Liu /*
78d67c368SShengzhou Liu  * T2080 RDB/PCIe board configuration file
88d67c368SShengzhou Liu  */
98d67c368SShengzhou Liu 
108d67c368SShengzhou Liu #ifndef __T2080RDB_H
118d67c368SShengzhou Liu #define __T2080RDB_H
128d67c368SShengzhou Liu 
138d67c368SShengzhou Liu #define CONFIG_ICS307_REFCLK_HZ 25000000  /* ICS307 ref clk freq */
148d67c368SShengzhou Liu #define CONFIG_FSL_SATA_V2
158d67c368SShengzhou Liu 
168d67c368SShengzhou Liu /* High Level Configuration Options */
178d67c368SShengzhou Liu #define CONFIG_SYS_BOOK3E_HV	/* Category E.HV supported */
188d67c368SShengzhou Liu #define CONFIG_MP		/* support multiple processors */
198d67c368SShengzhou Liu #define CONFIG_ENABLE_36BIT_PHYS
208d67c368SShengzhou Liu 
218d67c368SShengzhou Liu #ifdef CONFIG_PHYS_64BIT
228d67c368SShengzhou Liu #define CONFIG_ADDR_MAP 1
238d67c368SShengzhou Liu #define CONFIG_SYS_NUM_ADDR_MAP 64 /* number of TLB1 entries */
248d67c368SShengzhou Liu #endif
258d67c368SShengzhou Liu 
268d67c368SShengzhou Liu #define CONFIG_SYS_FSL_CPC	/* Corenet Platform Cache */
2751370d56SYork Sun #define CONFIG_SYS_NUM_CPC	CONFIG_SYS_NUM_DDR_CTLRS
288d67c368SShengzhou Liu #define CONFIG_ENV_OVERWRITE
298d67c368SShengzhou Liu 
308d67c368SShengzhou Liu #ifdef CONFIG_RAMBOOT_PBL
31e4536f8eSMasahiro Yamada #define CONFIG_SYS_FSL_PBL_PBI board/freescale/t208xrdb/t2080_pbi.cfg
324d666683SShengzhou Liu 
334d666683SShengzhou Liu #define CONFIG_SPL_FLUSH_IMAGE
344d666683SShengzhou Liu #define CONFIG_SPL_TARGET		"u-boot-with-spl.bin"
354d666683SShengzhou Liu #define CONFIG_SPL_TEXT_BASE		0xFFFD8000
364d666683SShengzhou Liu #define CONFIG_SPL_PAD_TO		0x40000
374d666683SShengzhou Liu #define CONFIG_SPL_MAX_SIZE		0x28000
384d666683SShengzhou Liu #define RESET_VECTOR_OFFSET		0x27FFC
394d666683SShengzhou Liu #define BOOT_PAGE_OFFSET		0x27000
404d666683SShengzhou Liu #ifdef CONFIG_SPL_BUILD
414d666683SShengzhou Liu #define CONFIG_SPL_SKIP_RELOCATE
424d666683SShengzhou Liu #define CONFIG_SPL_COMMON_INIT_DDR
434d666683SShengzhou Liu #define CONFIG_SYS_CCSR_DO_NOT_RELOCATE
448d67c368SShengzhou Liu #endif
458d67c368SShengzhou Liu 
464d666683SShengzhou Liu #ifdef CONFIG_NAND
474d666683SShengzhou Liu #define CONFIG_SYS_NAND_U_BOOT_SIZE	(768 << 10)
484d666683SShengzhou Liu #define CONFIG_SYS_NAND_U_BOOT_DST	0x00200000
494d666683SShengzhou Liu #define CONFIG_SYS_NAND_U_BOOT_START	0x00200000
504d666683SShengzhou Liu #define CONFIG_SYS_NAND_U_BOOT_OFFS	(256 << 10)
514d666683SShengzhou Liu #define CONFIG_SYS_LDSCRIPT  "arch/powerpc/cpu/mpc85xx/u-boot-nand.lds"
52ec90ac73SZhao Qiang #define CONFIG_SYS_FSL_PBL_RCW board/freescale/t208xrdb/t2080_nand_rcw.cfg
534d666683SShengzhou Liu #define CONFIG_SPL_NAND_BOOT
544d666683SShengzhou Liu #endif
554d666683SShengzhou Liu 
564d666683SShengzhou Liu #ifdef CONFIG_SPIFLASH
574d666683SShengzhou Liu #define        CONFIG_RESET_VECTOR_ADDRESS             0x200FFC
584d666683SShengzhou Liu #define CONFIG_SPL_SPI_FLASH_MINIMAL
594d666683SShengzhou Liu #define CONFIG_SYS_SPI_FLASH_U_BOOT_SIZE       (768 << 10)
604d666683SShengzhou Liu #define CONFIG_SYS_SPI_FLASH_U_BOOT_DST                (0x00200000)
614d666683SShengzhou Liu #define CONFIG_SYS_SPI_FLASH_U_BOOT_START      (0x00200000)
624d666683SShengzhou Liu #define CONFIG_SYS_SPI_FLASH_U_BOOT_OFFS       (256 << 10)
634d666683SShengzhou Liu #define CONFIG_SYS_LDSCRIPT    "arch/powerpc/cpu/mpc85xx/u-boot.lds"
644d666683SShengzhou Liu #ifndef CONFIG_SPL_BUILD
654d666683SShengzhou Liu #define CONFIG_SYS_MPC85XX_NO_RESETVEC
664d666683SShengzhou Liu #endif
67ec90ac73SZhao Qiang #define CONFIG_SYS_FSL_PBL_RCW board/freescale/t208xrdb/t2080_spi_rcw.cfg
684d666683SShengzhou Liu #define CONFIG_SPL_SPI_BOOT
694d666683SShengzhou Liu #endif
704d666683SShengzhou Liu 
714d666683SShengzhou Liu #ifdef CONFIG_SDCARD
724d666683SShengzhou Liu #define        CONFIG_RESET_VECTOR_ADDRESS             0x200FFC
734d666683SShengzhou Liu #define CONFIG_SYS_MMC_U_BOOT_SIZE     (768 << 10)
744d666683SShengzhou Liu #define CONFIG_SYS_MMC_U_BOOT_DST      (0x00200000)
754d666683SShengzhou Liu #define CONFIG_SYS_MMC_U_BOOT_START    (0x00200000)
764d666683SShengzhou Liu #define CONFIG_SYS_MMC_U_BOOT_OFFS     (260 << 10)
774d666683SShengzhou Liu #define CONFIG_SYS_LDSCRIPT    "arch/powerpc/cpu/mpc85xx/u-boot.lds"
784d666683SShengzhou Liu #ifndef CONFIG_SPL_BUILD
794d666683SShengzhou Liu #define CONFIG_SYS_MPC85XX_NO_RESETVEC
804d666683SShengzhou Liu #endif
81ec90ac73SZhao Qiang #define CONFIG_SYS_FSL_PBL_RCW board/freescale/t208xrdb/t2080_sd_rcw.cfg
824d666683SShengzhou Liu #define CONFIG_SPL_MMC_BOOT
834d666683SShengzhou Liu #endif
844d666683SShengzhou Liu 
854d666683SShengzhou Liu #endif /* CONFIG_RAMBOOT_PBL */
864d666683SShengzhou Liu 
878d67c368SShengzhou Liu #define CONFIG_SRIO_PCIE_BOOT_MASTER
888d67c368SShengzhou Liu #ifdef CONFIG_SRIO_PCIE_BOOT_SLAVE
898d67c368SShengzhou Liu /* Set 1M boot space */
908d67c368SShengzhou Liu #define CONFIG_SYS_SRIO_PCIE_BOOT_SLAVE_ADDR (CONFIG_SYS_TEXT_BASE & 0xfff00000)
918d67c368SShengzhou Liu #define CONFIG_SYS_SRIO_PCIE_BOOT_SLAVE_ADDR_PHYS \
928d67c368SShengzhou Liu 		(0x300000000ull | CONFIG_SYS_SRIO_PCIE_BOOT_SLAVE_ADDR)
938d67c368SShengzhou Liu #define CONFIG_RESET_VECTOR_ADDRESS 0xfffffffc
948d67c368SShengzhou Liu #endif
958d67c368SShengzhou Liu 
968d67c368SShengzhou Liu #ifndef CONFIG_RESET_VECTOR_ADDRESS
978d67c368SShengzhou Liu #define CONFIG_RESET_VECTOR_ADDRESS	0xeffffffc
988d67c368SShengzhou Liu #endif
998d67c368SShengzhou Liu 
1008d67c368SShengzhou Liu /*
1018d67c368SShengzhou Liu  * These can be toggled for performance analysis, otherwise use default.
1028d67c368SShengzhou Liu  */
1038d67c368SShengzhou Liu #define CONFIG_SYS_CACHE_STASHING
1048d67c368SShengzhou Liu #define CONFIG_BTB		/* toggle branch predition */
1058d67c368SShengzhou Liu #define CONFIG_DDR_ECC
1068d67c368SShengzhou Liu #ifdef CONFIG_DDR_ECC
1078d67c368SShengzhou Liu #define CONFIG_ECC_INIT_VIA_DDRCONTROLLER
1088d67c368SShengzhou Liu #define CONFIG_MEM_INIT_VALUE		0xdeadbeef
1098d67c368SShengzhou Liu #endif
1108d67c368SShengzhou Liu 
1114913229eSShengzhou Liu #define CONFIG_SYS_MEMTEST_START	0x00200000 /* memtest works on */
1124913229eSShengzhou Liu #define CONFIG_SYS_MEMTEST_END		0x00400000
1134913229eSShengzhou Liu 
114e856bdcfSMasahiro Yamada #ifdef CONFIG_MTD_NOR_FLASH
1158d67c368SShengzhou Liu #define CONFIG_FLASH_CFI_DRIVER
1168d67c368SShengzhou Liu #define CONFIG_SYS_FLASH_CFI
1178d67c368SShengzhou Liu #define CONFIG_SYS_FLASH_USE_BUFFER_WRITE
1188d67c368SShengzhou Liu #endif
1198d67c368SShengzhou Liu 
1208d67c368SShengzhou Liu #if defined(CONFIG_SPIFLASH)
1218d67c368SShengzhou Liu #define CONFIG_SYS_EXTRA_ENV_RELOC
1228d67c368SShengzhou Liu #define CONFIG_ENV_SPI_BUS	0
1238d67c368SShengzhou Liu #define CONFIG_ENV_SPI_CS	0
1248d67c368SShengzhou Liu #define CONFIG_ENV_SPI_MAX_HZ	10000000
1258d67c368SShengzhou Liu #define CONFIG_ENV_SPI_MODE	0
1268d67c368SShengzhou Liu #define CONFIG_ENV_SIZE		0x2000	   /* 8KB */
1278d67c368SShengzhou Liu #define CONFIG_ENV_OFFSET	0x100000   /* 1MB */
1288d67c368SShengzhou Liu #define CONFIG_ENV_SECT_SIZE	0x10000
1298d67c368SShengzhou Liu #elif defined(CONFIG_SDCARD)
1308d67c368SShengzhou Liu #define CONFIG_SYS_EXTRA_ENV_RELOC
1318d67c368SShengzhou Liu #define CONFIG_SYS_MMC_ENV_DEV	0
1328d67c368SShengzhou Liu #define CONFIG_ENV_SIZE		0x2000
1334d666683SShengzhou Liu #define CONFIG_ENV_OFFSET	(512 * 0x800)
1348d67c368SShengzhou Liu #elif defined(CONFIG_NAND)
1358d67c368SShengzhou Liu #define CONFIG_SYS_EXTRA_ENV_RELOC
1364d666683SShengzhou Liu #define CONFIG_ENV_SIZE		0x2000
1378d67c368SShengzhou Liu #define CONFIG_ENV_OFFSET	(2 * CONFIG_SYS_NAND_BLOCK_SIZE)
1388d67c368SShengzhou Liu #elif defined(CONFIG_SRIO_PCIE_BOOT_SLAVE)
1398d67c368SShengzhou Liu #define CONFIG_ENV_ADDR		0xffe20000
1408d67c368SShengzhou Liu #define CONFIG_ENV_SIZE		0x2000
1418d67c368SShengzhou Liu #elif defined(CONFIG_ENV_IS_NOWHERE)
1428d67c368SShengzhou Liu #define CONFIG_ENV_SIZE		0x2000
1438d67c368SShengzhou Liu #else
1448d67c368SShengzhou Liu #define CONFIG_ENV_ADDR		(CONFIG_SYS_MONITOR_BASE - CONFIG_ENV_SECT_SIZE)
1458d67c368SShengzhou Liu #define CONFIG_ENV_SIZE		0x2000
1468d67c368SShengzhou Liu #define CONFIG_ENV_SECT_SIZE	0x20000 /* 128K (one sector) */
1478d67c368SShengzhou Liu #endif
1488d67c368SShengzhou Liu 
1498d67c368SShengzhou Liu #ifndef __ASSEMBLY__
1508d67c368SShengzhou Liu unsigned long get_board_sys_clk(void);
1518d67c368SShengzhou Liu unsigned long get_board_ddr_clk(void);
1528d67c368SShengzhou Liu #endif
1538d67c368SShengzhou Liu 
1548d67c368SShengzhou Liu #define CONFIG_SYS_CLK_FREQ	66660000
1558d67c368SShengzhou Liu #define CONFIG_DDR_CLK_FREQ	133330000
1568d67c368SShengzhou Liu 
1578d67c368SShengzhou Liu /*
1588d67c368SShengzhou Liu  * Config the L3 Cache as L3 SRAM
1598d67c368SShengzhou Liu  */
1604d666683SShengzhou Liu #define CONFIG_SYS_INIT_L3_ADDR		0xFFFC0000
1614d666683SShengzhou Liu #define CONFIG_SYS_L3_SIZE		(512 << 10)
1624d666683SShengzhou Liu #define CONFIG_SPL_GD_ADDR		(CONFIG_SYS_INIT_L3_ADDR + 32 * 1024)
1634d666683SShengzhou Liu #ifdef CONFIG_RAMBOOT_PBL
1644d666683SShengzhou Liu #define CONFIG_ENV_ADDR			(CONFIG_SPL_GD_ADDR + 4 * 1024)
1654d666683SShengzhou Liu #endif
1664d666683SShengzhou Liu #define CONFIG_SPL_RELOC_MALLOC_ADDR	(CONFIG_SPL_GD_ADDR + 12 * 1024)
1674d666683SShengzhou Liu #define CONFIG_SPL_RELOC_MALLOC_SIZE	(50 << 10)
1684d666683SShengzhou Liu #define CONFIG_SPL_RELOC_STACK		(CONFIG_SPL_GD_ADDR + 64 * 1024)
1694d666683SShengzhou Liu #define CONFIG_SPL_RELOC_STACK_SIZE	(22 << 10)
1708d67c368SShengzhou Liu 
1718d67c368SShengzhou Liu #define CONFIG_SYS_DCSRBAR	0xf0000000
1728d67c368SShengzhou Liu #define CONFIG_SYS_DCSRBAR_PHYS	0xf00000000ull
1738d67c368SShengzhou Liu 
1748d67c368SShengzhou Liu /* EEPROM */
1758d67c368SShengzhou Liu #define CONFIG_ID_EEPROM
1768d67c368SShengzhou Liu #define CONFIG_SYS_I2C_EEPROM_NXID
1778d67c368SShengzhou Liu #define CONFIG_SYS_EEPROM_BUS_NUM	0
1788d67c368SShengzhou Liu #define CONFIG_SYS_I2C_EEPROM_ADDR	0x50
179ef531c73SShengzhou Liu #define CONFIG_SYS_I2C_EEPROM_ADDR_LEN	2
1808d67c368SShengzhou Liu 
1818d67c368SShengzhou Liu /*
1828d67c368SShengzhou Liu  * DDR Setup
1838d67c368SShengzhou Liu  */
1848d67c368SShengzhou Liu #define CONFIG_VERY_BIG_RAM
1858d67c368SShengzhou Liu #define CONFIG_SYS_DDR_SDRAM_BASE	0x00000000
1868d67c368SShengzhou Liu #define CONFIG_SYS_SDRAM_BASE		CONFIG_SYS_DDR_SDRAM_BASE
1878d67c368SShengzhou Liu #define CONFIG_DIMM_SLOTS_PER_CTLR	1
1888d67c368SShengzhou Liu #define CONFIG_CHIP_SELECTS_PER_CTRL	(4 * CONFIG_DIMM_SLOTS_PER_CTLR)
1898d67c368SShengzhou Liu #define CONFIG_DDR_SPD
1908d67c368SShengzhou Liu #undef CONFIG_FSL_DDR_INTERACTIVE
1918d67c368SShengzhou Liu #define CONFIG_SYS_SPD_BUS_NUM	0
1928d67c368SShengzhou Liu #define CONFIG_SYS_SDRAM_SIZE	2048	/* for fixed parameter use */
1938d67c368SShengzhou Liu #define SPD_EEPROM_ADDRESS1	0x51
1948d67c368SShengzhou Liu #define SPD_EEPROM_ADDRESS2	0x52
1958d67c368SShengzhou Liu #define SPD_EEPROM_ADDRESS	SPD_EEPROM_ADDRESS1
1968d67c368SShengzhou Liu #define CTRL_INTLV_PREFERED	cacheline
1978d67c368SShengzhou Liu 
1988d67c368SShengzhou Liu /*
1998d67c368SShengzhou Liu  * IFC Definitions
2008d67c368SShengzhou Liu  */
2018d67c368SShengzhou Liu #define CONFIG_SYS_FLASH_BASE		0xe8000000
2028d67c368SShengzhou Liu #define CONFIG_SYS_FLASH_BASE_PHYS	(0xf00000000ull | CONFIG_SYS_FLASH_BASE)
2038d67c368SShengzhou Liu #define CONFIG_SYS_NOR0_CSPR_EXT	(0xf)
2048d67c368SShengzhou Liu #define CONFIG_SYS_NOR0_CSPR	(CSPR_PHYS_ADDR(CONFIG_SYS_FLASH_BASE_PHYS) | \
2058d67c368SShengzhou Liu 				CSPR_PORT_SIZE_16 | \
2068d67c368SShengzhou Liu 				CSPR_MSEL_NOR | \
2078d67c368SShengzhou Liu 				CSPR_V)
2088d67c368SShengzhou Liu #define CONFIG_SYS_NOR_AMASK	IFC_AMASK(128*1024*1024)
2098d67c368SShengzhou Liu 
2108d67c368SShengzhou Liu /* NOR Flash Timing Params */
2118d67c368SShengzhou Liu #define CONFIG_SYS_NOR_CSOR	CSOR_NAND_TRHZ_80
2128d67c368SShengzhou Liu 
2138d67c368SShengzhou Liu #define CONFIG_SYS_NOR_FTIM0	(FTIM0_NOR_TACSE(0x4) | \
2148d67c368SShengzhou Liu 				FTIM0_NOR_TEADC(0x5) | \
2158d67c368SShengzhou Liu 				FTIM0_NOR_TEAHC(0x5))
2168d67c368SShengzhou Liu #define CONFIG_SYS_NOR_FTIM1	(FTIM1_NOR_TACO(0x35) | \
2178d67c368SShengzhou Liu 				FTIM1_NOR_TRAD_NOR(0x1A) |\
2188d67c368SShengzhou Liu 				FTIM1_NOR_TSEQRAD_NOR(0x13))
2198d67c368SShengzhou Liu #define CONFIG_SYS_NOR_FTIM2	(FTIM2_NOR_TCS(0x4) | \
2208d67c368SShengzhou Liu 				FTIM2_NOR_TCH(0x4) | \
2218d67c368SShengzhou Liu 				FTIM2_NOR_TWPH(0x0E) | \
2228d67c368SShengzhou Liu 				FTIM2_NOR_TWP(0x1c))
2238d67c368SShengzhou Liu #define CONFIG_SYS_NOR_FTIM3	0x0
2248d67c368SShengzhou Liu 
2258d67c368SShengzhou Liu #define CONFIG_SYS_FLASH_QUIET_TEST
2268d67c368SShengzhou Liu #define CONFIG_FLASH_SHOW_PROGRESS	45 /* count down from 45/5: 9..1 */
2278d67c368SShengzhou Liu 
2288d67c368SShengzhou Liu #define CONFIG_SYS_MAX_FLASH_BANKS	1	/* number of banks */
2298d67c368SShengzhou Liu #define CONFIG_SYS_MAX_FLASH_SECT	1024	/* sectors per device */
2308d67c368SShengzhou Liu #define CONFIG_SYS_FLASH_ERASE_TOUT	60000	/* Flash Erase Timeout (ms) */
2318d67c368SShengzhou Liu #define CONFIG_SYS_FLASH_WRITE_TOUT	500	/* Flash Write Timeout (ms) */
2328d67c368SShengzhou Liu #define CONFIG_SYS_FLASH_EMPTY_INFO
2338d67c368SShengzhou Liu #define CONFIG_SYS_FLASH_BANKS_LIST	{CONFIG_SYS_FLASH_BASE_PHYS }
2348d67c368SShengzhou Liu 
2358d67c368SShengzhou Liu /* CPLD on IFC */
2368d67c368SShengzhou Liu #define CONFIG_SYS_CPLD_BASE	0xffdf0000
2378d67c368SShengzhou Liu #define CONFIG_SYS_CPLD_BASE_PHYS	(0xf00000000ull | CONFIG_SYS_CPLD_BASE)
2388d67c368SShengzhou Liu #define CONFIG_SYS_CSPR2_EXT	(0xf)
2398d67c368SShengzhou Liu #define CONFIG_SYS_CSPR2	(CSPR_PHYS_ADDR(CONFIG_SYS_CPLD_BASE) \
2408d67c368SShengzhou Liu 				| CSPR_PORT_SIZE_8 \
2418d67c368SShengzhou Liu 				| CSPR_MSEL_GPCM \
2428d67c368SShengzhou Liu 				| CSPR_V)
2438d67c368SShengzhou Liu #define CONFIG_SYS_AMASK2	IFC_AMASK(64*1024)
2448d67c368SShengzhou Liu #define CONFIG_SYS_CSOR2	0x0
2458d67c368SShengzhou Liu 
2468d67c368SShengzhou Liu /* CPLD Timing parameters for IFC CS2 */
2478d67c368SShengzhou Liu #define CONFIG_SYS_CS2_FTIM0		(FTIM0_GPCM_TACSE(0x0e) | \
2488d67c368SShengzhou Liu 					FTIM0_GPCM_TEADC(0x0e) | \
2498d67c368SShengzhou Liu 					FTIM0_GPCM_TEAHC(0x0e))
2508d67c368SShengzhou Liu #define CONFIG_SYS_CS2_FTIM1		(FTIM1_GPCM_TACO(0x0e) | \
2518d67c368SShengzhou Liu 					FTIM1_GPCM_TRAD(0x1f))
2528d67c368SShengzhou Liu #define CONFIG_SYS_CS2_FTIM2		(FTIM2_GPCM_TCS(0x0e) | \
253de519163SShaohui Xie 					FTIM2_GPCM_TCH(0x8) | \
2548d67c368SShengzhou Liu 					FTIM2_GPCM_TWP(0x1f))
2558d67c368SShengzhou Liu #define CONFIG_SYS_CS2_FTIM3		0x0
2568d67c368SShengzhou Liu 
2578d67c368SShengzhou Liu /* NAND Flash on IFC */
2588d67c368SShengzhou Liu #define CONFIG_NAND_FSL_IFC
2598d67c368SShengzhou Liu #define CONFIG_SYS_NAND_BASE		0xff800000
2608d67c368SShengzhou Liu #define CONFIG_SYS_NAND_BASE_PHYS	(0xf00000000ull | CONFIG_SYS_NAND_BASE)
2618d67c368SShengzhou Liu 
2628d67c368SShengzhou Liu #define CONFIG_SYS_NAND_CSPR_EXT	(0xf)
2638d67c368SShengzhou Liu #define CONFIG_SYS_NAND_CSPR	(CSPR_PHYS_ADDR(CONFIG_SYS_NAND_BASE_PHYS) \
2648d67c368SShengzhou Liu 				| CSPR_PORT_SIZE_8 /* Port Size = 8 bit */ \
2658d67c368SShengzhou Liu 				| CSPR_MSEL_NAND	 /* MSEL = NAND */ \
2668d67c368SShengzhou Liu 				| CSPR_V)
2678d67c368SShengzhou Liu #define CONFIG_SYS_NAND_AMASK	IFC_AMASK(64*1024)
2688d67c368SShengzhou Liu 
2698d67c368SShengzhou Liu #define CONFIG_SYS_NAND_CSOR	(CSOR_NAND_ECC_ENC_EN	/* ECC on encode */ \
2708d67c368SShengzhou Liu 				| CSOR_NAND_ECC_DEC_EN	/* ECC on decode */ \
2718d67c368SShengzhou Liu 				| CSOR_NAND_ECC_MODE_4	/* 4-bit ECC */	    \
2728d67c368SShengzhou Liu 				| CSOR_NAND_RAL_3	/* RAL = 2Byes */   \
2738d67c368SShengzhou Liu 				| CSOR_NAND_PGS_2K	/* Page Size = 2K */\
2748d67c368SShengzhou Liu 				| CSOR_NAND_SPRZ_64	/* Spare size = 64 */\
2758d67c368SShengzhou Liu 				| CSOR_NAND_PB(64))	/*Pages Per Block = 64*/
2768d67c368SShengzhou Liu 
2778d67c368SShengzhou Liu #define CONFIG_SYS_NAND_ONFI_DETECTION
2788d67c368SShengzhou Liu 
2798d67c368SShengzhou Liu /* ONFI NAND Flash mode0 Timing Params */
2808d67c368SShengzhou Liu #define CONFIG_SYS_NAND_FTIM0		(FTIM0_NAND_TCCST(0x07) | \
2818d67c368SShengzhou Liu 					FTIM0_NAND_TWP(0x18)    | \
2828d67c368SShengzhou Liu 					FTIM0_NAND_TWCHT(0x07)  | \
2838d67c368SShengzhou Liu 					FTIM0_NAND_TWH(0x0a))
2848d67c368SShengzhou Liu #define CONFIG_SYS_NAND_FTIM1		(FTIM1_NAND_TADLE(0x32) | \
2858d67c368SShengzhou Liu 					FTIM1_NAND_TWBE(0x39)   | \
2868d67c368SShengzhou Liu 					FTIM1_NAND_TRR(0x0e)    | \
2878d67c368SShengzhou Liu 					FTIM1_NAND_TRP(0x18))
2888d67c368SShengzhou Liu #define CONFIG_SYS_NAND_FTIM2		(FTIM2_NAND_TRAD(0x0f)  | \
2898d67c368SShengzhou Liu 					FTIM2_NAND_TREH(0x0a)   | \
2908d67c368SShengzhou Liu 					FTIM2_NAND_TWHRE(0x1e))
2918d67c368SShengzhou Liu #define CONFIG_SYS_NAND_FTIM3		0x0
2928d67c368SShengzhou Liu 
2938d67c368SShengzhou Liu #define CONFIG_SYS_NAND_DDR_LAW		11
2948d67c368SShengzhou Liu #define CONFIG_SYS_NAND_BASE_LIST	{ CONFIG_SYS_NAND_BASE }
2958d67c368SShengzhou Liu #define CONFIG_SYS_MAX_NAND_DEVICE	1
2968d67c368SShengzhou Liu #define CONFIG_SYS_NAND_BLOCK_SIZE	(512 * 1024)
2978d67c368SShengzhou Liu 
2988d67c368SShengzhou Liu #if defined(CONFIG_NAND)
2998d67c368SShengzhou Liu #define CONFIG_SYS_CSPR0_EXT		CONFIG_SYS_NAND_CSPR_EXT
3008d67c368SShengzhou Liu #define CONFIG_SYS_CSPR0		CONFIG_SYS_NAND_CSPR
3018d67c368SShengzhou Liu #define CONFIG_SYS_AMASK0		CONFIG_SYS_NAND_AMASK
3028d67c368SShengzhou Liu #define CONFIG_SYS_CSOR0		CONFIG_SYS_NAND_CSOR
3038d67c368SShengzhou Liu #define CONFIG_SYS_CS0_FTIM0		CONFIG_SYS_NAND_FTIM0
3048d67c368SShengzhou Liu #define CONFIG_SYS_CS0_FTIM1		CONFIG_SYS_NAND_FTIM1
3058d67c368SShengzhou Liu #define CONFIG_SYS_CS0_FTIM2		CONFIG_SYS_NAND_FTIM2
3068d67c368SShengzhou Liu #define CONFIG_SYS_CS0_FTIM3		CONFIG_SYS_NAND_FTIM3
3078d67c368SShengzhou Liu #define CONFIG_SYS_CSPR1_EXT		CONFIG_SYS_NOR0_CSPR_EXT
3088d67c368SShengzhou Liu #define CONFIG_SYS_CSPR1		CONFIG_SYS_NOR0_CSPR
3098d67c368SShengzhou Liu #define CONFIG_SYS_AMASK1		CONFIG_SYS_NOR_AMASK
3108d67c368SShengzhou Liu #define CONFIG_SYS_CSOR1		CONFIG_SYS_NOR_CSOR
3118d67c368SShengzhou Liu #define CONFIG_SYS_CS1_FTIM0		CONFIG_SYS_NOR_FTIM0
3128d67c368SShengzhou Liu #define CONFIG_SYS_CS1_FTIM1		CONFIG_SYS_NOR_FTIM1
3138d67c368SShengzhou Liu #define CONFIG_SYS_CS1_FTIM2		CONFIG_SYS_NOR_FTIM2
3148d67c368SShengzhou Liu #define CONFIG_SYS_CS1_FTIM3		CONFIG_SYS_NOR_FTIM3
3158d67c368SShengzhou Liu #else
3168d67c368SShengzhou Liu #define CONFIG_SYS_CSPR0_EXT		CONFIG_SYS_NOR0_CSPR_EXT
3178d67c368SShengzhou Liu #define CONFIG_SYS_CSPR0		CONFIG_SYS_NOR0_CSPR
3188d67c368SShengzhou Liu #define CONFIG_SYS_AMASK0		CONFIG_SYS_NOR_AMASK
3198d67c368SShengzhou Liu #define CONFIG_SYS_CSOR0		CONFIG_SYS_NOR_CSOR
3208d67c368SShengzhou Liu #define CONFIG_SYS_CS0_FTIM0		CONFIG_SYS_NOR_FTIM0
3218d67c368SShengzhou Liu #define CONFIG_SYS_CS0_FTIM1		CONFIG_SYS_NOR_FTIM1
3228d67c368SShengzhou Liu #define CONFIG_SYS_CS0_FTIM2		CONFIG_SYS_NOR_FTIM2
3238d67c368SShengzhou Liu #define CONFIG_SYS_CS0_FTIM3		CONFIG_SYS_NOR_FTIM3
3248d67c368SShengzhou Liu #define CONFIG_SYS_CSPR1_EXT		CONFIG_SYS_NAND_CSPR_EXT
3258d67c368SShengzhou Liu #define CONFIG_SYS_CSPR1		CONFIG_SYS_NAND_CSPR
3268d67c368SShengzhou Liu #define CONFIG_SYS_AMASK1		CONFIG_SYS_NAND_AMASK
3278d67c368SShengzhou Liu #define CONFIG_SYS_CSOR1		CONFIG_SYS_NAND_CSOR
3288d67c368SShengzhou Liu #define CONFIG_SYS_CS1_FTIM0		CONFIG_SYS_NAND_FTIM0
3298d67c368SShengzhou Liu #define CONFIG_SYS_CS1_FTIM1		CONFIG_SYS_NAND_FTIM1
3308d67c368SShengzhou Liu #define CONFIG_SYS_CS1_FTIM2		CONFIG_SYS_NAND_FTIM2
3318d67c368SShengzhou Liu #define CONFIG_SYS_CS1_FTIM3		CONFIG_SYS_NAND_FTIM3
3328d67c368SShengzhou Liu #endif
3338d67c368SShengzhou Liu 
3348d67c368SShengzhou Liu #if defined(CONFIG_RAMBOOT_PBL)
3358d67c368SShengzhou Liu #define CONFIG_SYS_RAMBOOT
3368d67c368SShengzhou Liu #endif
3378d67c368SShengzhou Liu 
3384d666683SShengzhou Liu #ifdef CONFIG_SPL_BUILD
3394d666683SShengzhou Liu #define CONFIG_SYS_MONITOR_BASE  CONFIG_SPL_TEXT_BASE
3404d666683SShengzhou Liu #else
3414d666683SShengzhou Liu #define CONFIG_SYS_MONITOR_BASE  CONFIG_SYS_TEXT_BASE /* start of monitor */
3424d666683SShengzhou Liu #endif
3434d666683SShengzhou Liu 
3448d67c368SShengzhou Liu #define CONFIG_MISC_INIT_R
3458d67c368SShengzhou Liu #define CONFIG_HWCONFIG
3468d67c368SShengzhou Liu 
3478d67c368SShengzhou Liu /* define to use L1 as initial stack */
3488d67c368SShengzhou Liu #define CONFIG_L1_INIT_RAM
3498d67c368SShengzhou Liu #define CONFIG_SYS_INIT_RAM_LOCK
3508d67c368SShengzhou Liu #define CONFIG_SYS_INIT_RAM_ADDR	0xfdd00000 /* Initial L1 address */
3518d67c368SShengzhou Liu #define CONFIG_SYS_INIT_RAM_ADDR_PHYS_HIGH	0xf
352b3142e2cSYork Sun #define CONFIG_SYS_INIT_RAM_ADDR_PHYS_LOW	0xfe03c000
3538d67c368SShengzhou Liu /* The assembler doesn't like typecast */
3548d67c368SShengzhou Liu #define CONFIG_SYS_INIT_RAM_ADDR_PHYS \
3558d67c368SShengzhou Liu 			((CONFIG_SYS_INIT_RAM_ADDR_PHYS_HIGH * 1ull << 32) | \
3568d67c368SShengzhou Liu 			CONFIG_SYS_INIT_RAM_ADDR_PHYS_LOW)
3578d67c368SShengzhou Liu #define CONFIG_SYS_INIT_RAM_SIZE	0x00004000
3588d67c368SShengzhou Liu #define CONFIG_SYS_GBL_DATA_OFFSET	(CONFIG_SYS_INIT_RAM_SIZE - \
3598d67c368SShengzhou Liu 						GENERATED_GBL_DATA_SIZE)
3608d67c368SShengzhou Liu #define CONFIG_SYS_INIT_SP_OFFSET	CONFIG_SYS_GBL_DATA_OFFSET
3619307cbabSPrabhakar Kushwaha #define CONFIG_SYS_MONITOR_LEN		(768 * 1024)
3628d67c368SShengzhou Liu #define CONFIG_SYS_MALLOC_LEN		(4 * 1024 * 1024)
3638d67c368SShengzhou Liu 
3648d67c368SShengzhou Liu /*
3658d67c368SShengzhou Liu  * Serial Port
3668d67c368SShengzhou Liu  */
3678d67c368SShengzhou Liu #define CONFIG_SYS_NS16550_SERIAL
3688d67c368SShengzhou Liu #define CONFIG_SYS_NS16550_REG_SIZE	1
3698d67c368SShengzhou Liu #define CONFIG_SYS_NS16550_CLK		(get_bus_freq(0)/2)
3708d67c368SShengzhou Liu #define CONFIG_SYS_BAUDRATE_TABLE	\
3718d67c368SShengzhou Liu 	{300, 600, 1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200}
3728d67c368SShengzhou Liu #define CONFIG_SYS_NS16550_COM1 (CONFIG_SYS_CCSRBAR+0x11C500)
3738d67c368SShengzhou Liu #define CONFIG_SYS_NS16550_COM2 (CONFIG_SYS_CCSRBAR+0x11C600)
3748d67c368SShengzhou Liu #define CONFIG_SYS_NS16550_COM3 (CONFIG_SYS_CCSRBAR+0x11D500)
3758d67c368SShengzhou Liu #define CONFIG_SYS_NS16550_COM4 (CONFIG_SYS_CCSRBAR+0x11D600)
3768d67c368SShengzhou Liu 
3778d67c368SShengzhou Liu /*
3788d67c368SShengzhou Liu  * I2C
3798d67c368SShengzhou Liu  */
3808d67c368SShengzhou Liu #define CONFIG_SYS_I2C
3818d67c368SShengzhou Liu #define CONFIG_SYS_I2C_FSL
3828d67c368SShengzhou Liu #define CONFIG_SYS_FSL_I2C_SLAVE   0x7F
3838d67c368SShengzhou Liu #define CONFIG_SYS_FSL_I2C2_SLAVE  0x7F
3848d67c368SShengzhou Liu #define CONFIG_SYS_FSL_I2C3_SLAVE  0x7F
3858d67c368SShengzhou Liu #define CONFIG_SYS_FSL_I2C4_SLAVE  0x7F
3868d67c368SShengzhou Liu #define CONFIG_SYS_FSL_I2C_OFFSET  0x118000
3878d67c368SShengzhou Liu #define CONFIG_SYS_FSL_I2C2_OFFSET 0x118100
3888d67c368SShengzhou Liu #define CONFIG_SYS_FSL_I2C3_OFFSET 0x119000
3898d67c368SShengzhou Liu #define CONFIG_SYS_FSL_I2C4_OFFSET 0x119100
3908d67c368SShengzhou Liu #define CONFIG_SYS_FSL_I2C_SPEED   100000
3918d67c368SShengzhou Liu #define CONFIG_SYS_FSL_I2C2_SPEED  100000
3928d67c368SShengzhou Liu #define CONFIG_SYS_FSL_I2C3_SPEED  100000
3938d67c368SShengzhou Liu #define CONFIG_SYS_FSL_I2C4_SPEED  100000
3948d67c368SShengzhou Liu #define I2C_MUX_PCA_ADDR_PRI	0x77 /* I2C bus multiplexer,primary */
3958d67c368SShengzhou Liu #define I2C_MUX_PCA_ADDR_SEC1	0x75 /* I2C bus multiplexer,secondary 1 */
3968d67c368SShengzhou Liu #define I2C_MUX_PCA_ADDR_SEC2	0x76 /* I2C bus multiplexer,secondary 2 */
3978d67c368SShengzhou Liu #define I2C_MUX_CH_DEFAULT	0x8
3988d67c368SShengzhou Liu 
399e5abb92cSYing Zhang #define I2C_MUX_CH_VOL_MONITOR	0xa
400e5abb92cSYing Zhang 
401e5abb92cSYing Zhang #define CONFIG_VID_FLS_ENV		"t208xrdb_vdd_mv"
402e5abb92cSYing Zhang #ifndef CONFIG_SPL_BUILD
403e5abb92cSYing Zhang #define CONFIG_VID
404e5abb92cSYing Zhang #endif
405e5abb92cSYing Zhang #define CONFIG_VOL_MONITOR_IR36021_SET
406e5abb92cSYing Zhang #define CONFIG_VOL_MONITOR_IR36021_READ
407e5abb92cSYing Zhang /* The lowest and highest voltage allowed for T208xRDB */
408e5abb92cSYing Zhang #define VDD_MV_MIN			819
409e5abb92cSYing Zhang #define VDD_MV_MAX			1212
4108d67c368SShengzhou Liu 
4118d67c368SShengzhou Liu /*
4128d67c368SShengzhou Liu  * RapidIO
4138d67c368SShengzhou Liu  */
4148d67c368SShengzhou Liu #define CONFIG_SYS_SRIO1_MEM_VIRT	0xa0000000
4158d67c368SShengzhou Liu #define CONFIG_SYS_SRIO1_MEM_PHYS	0xc20000000ull
4168d67c368SShengzhou Liu #define CONFIG_SYS_SRIO1_MEM_SIZE	0x10000000 /* 256M */
4178d67c368SShengzhou Liu #define CONFIG_SYS_SRIO2_MEM_VIRT	0xb0000000
4188d67c368SShengzhou Liu #define CONFIG_SYS_SRIO2_MEM_PHYS	0xc30000000ull
4198d67c368SShengzhou Liu #define CONFIG_SYS_SRIO2_MEM_SIZE	0x10000000 /* 256M */
4208d67c368SShengzhou Liu /*
4218d67c368SShengzhou Liu  * for slave u-boot IMAGE instored in master memory space,
4228d67c368SShengzhou Liu  * PHYS must be aligned based on the SIZE
4238d67c368SShengzhou Liu  */
424e4911815SLiu Gang #define CONFIG_SRIO_PCIE_BOOT_IMAGE_MEM_PHYS 0xfef200000ull
425e4911815SLiu Gang #define CONFIG_SRIO_PCIE_BOOT_IMAGE_MEM_BUS1 0xfff00000ull
426e4911815SLiu Gang #define CONFIG_SRIO_PCIE_BOOT_IMAGE_SIZE     0x100000 /* 1M */
427e4911815SLiu Gang #define CONFIG_SRIO_PCIE_BOOT_IMAGE_MEM_BUS2 0x3fff00000ull
4288d67c368SShengzhou Liu /*
4298d67c368SShengzhou Liu  * for slave UCODE and ENV instored in master memory space,
4308d67c368SShengzhou Liu  * PHYS must be aligned based on the SIZE
4318d67c368SShengzhou Liu  */
432e4911815SLiu Gang #define CONFIG_SRIO_PCIE_BOOT_UCODE_ENV_MEM_PHYS 0xfef100000ull
4338d67c368SShengzhou Liu #define CONFIG_SRIO_PCIE_BOOT_UCODE_ENV_MEM_BUS 0x3ffe00000ull
4348d67c368SShengzhou Liu #define CONFIG_SRIO_PCIE_BOOT_UCODE_ENV_SIZE    0x40000	/* 256K */
4358d67c368SShengzhou Liu 
4368d67c368SShengzhou Liu /* slave core release by master*/
4378d67c368SShengzhou Liu #define CONFIG_SRIO_PCIE_BOOT_BRR_OFFSET 0xe00e4
4388d67c368SShengzhou Liu #define CONFIG_SRIO_PCIE_BOOT_RELEASE_MASK 0x00000001 /* release core 0 */
4398d67c368SShengzhou Liu 
4408d67c368SShengzhou Liu /*
4418d67c368SShengzhou Liu  * SRIO_PCIE_BOOT - SLAVE
4428d67c368SShengzhou Liu  */
4438d67c368SShengzhou Liu #ifdef CONFIG_SRIO_PCIE_BOOT_SLAVE
4448d67c368SShengzhou Liu #define CONFIG_SYS_SRIO_PCIE_BOOT_UCODE_ENV_ADDR 0xFFE00000
4458d67c368SShengzhou Liu #define CONFIG_SYS_SRIO_PCIE_BOOT_UCODE_ENV_ADDR_PHYS \
4468d67c368SShengzhou Liu 		(0x300000000ull | CONFIG_SYS_SRIO_PCIE_BOOT_UCODE_ENV_ADDR)
4478d67c368SShengzhou Liu #endif
4488d67c368SShengzhou Liu 
4498d67c368SShengzhou Liu /*
4508d67c368SShengzhou Liu  * eSPI - Enhanced SPI
4518d67c368SShengzhou Liu  */
4528d67c368SShengzhou Liu #ifdef CONFIG_SPI_FLASH
4538d67c368SShengzhou Liu #define CONFIG_SPI_FLASH_BAR
4548d67c368SShengzhou Liu #define CONFIG_SF_DEFAULT_SPEED	 10000000
4558d67c368SShengzhou Liu #define CONFIG_SF_DEFAULT_MODE	  0
4568d67c368SShengzhou Liu #endif
4578d67c368SShengzhou Liu 
4588d67c368SShengzhou Liu /*
4598d67c368SShengzhou Liu  * General PCI
4608d67c368SShengzhou Liu  * Memory space is mapped 1-1, but I/O space must start from 0.
4618d67c368SShengzhou Liu  */
462b38eaec5SRobert P. J. Day #define CONFIG_PCIE1		/* PCIE controller 1 */
463b38eaec5SRobert P. J. Day #define CONFIG_PCIE2		/* PCIE controller 2 */
464b38eaec5SRobert P. J. Day #define CONFIG_PCIE3		/* PCIE controller 3 */
465b38eaec5SRobert P. J. Day #define CONFIG_PCIE4		/* PCIE controller 4 */
4668d67c368SShengzhou Liu #define CONFIG_FSL_PCI_INIT	/* Use common FSL init code */
4678d67c368SShengzhou Liu #define CONFIG_SYS_PCI_64BIT	/* enable 64-bit PCI resources */
4688d67c368SShengzhou Liu /* controller 1, direct to uli, tgtid 3, Base address 20000 */
4698d67c368SShengzhou Liu #define CONFIG_SYS_PCIE1_MEM_VIRT	0x80000000
4708d67c368SShengzhou Liu #define CONFIG_SYS_PCIE1_MEM_BUS	0xe0000000
4718d67c368SShengzhou Liu #define CONFIG_SYS_PCIE1_MEM_PHYS	0xc00000000ull
4728d67c368SShengzhou Liu #define CONFIG_SYS_PCIE1_MEM_SIZE	0x20000000      /* 512M */
4738d67c368SShengzhou Liu #define CONFIG_SYS_PCIE1_IO_VIRT	0xf8000000
4748d67c368SShengzhou Liu #define CONFIG_SYS_PCIE1_IO_BUS		0x00000000
4758d67c368SShengzhou Liu #define CONFIG_SYS_PCIE1_IO_PHYS	0xff8000000ull
4768d67c368SShengzhou Liu #define CONFIG_SYS_PCIE1_IO_SIZE	0x00010000	/* 64k */
4778d67c368SShengzhou Liu 
4788d67c368SShengzhou Liu /* controller 2, Slot 2, tgtid 2, Base address 201000 */
4798d67c368SShengzhou Liu #define CONFIG_SYS_PCIE2_MEM_VIRT	0xa0000000
4808d67c368SShengzhou Liu #define CONFIG_SYS_PCIE2_MEM_BUS	0xe0000000
4818d67c368SShengzhou Liu #define CONFIG_SYS_PCIE2_MEM_PHYS	0xc20000000ull
4828d67c368SShengzhou Liu #define CONFIG_SYS_PCIE2_MEM_SIZE	0x10000000 /* 256M */
4838d67c368SShengzhou Liu #define CONFIG_SYS_PCIE2_IO_VIRT	0xf8010000
4848d67c368SShengzhou Liu #define CONFIG_SYS_PCIE2_IO_BUS		0x00000000
4858d67c368SShengzhou Liu #define CONFIG_SYS_PCIE2_IO_PHYS	0xff8010000ull
4868d67c368SShengzhou Liu #define CONFIG_SYS_PCIE2_IO_SIZE	0x00010000	/* 64k */
4878d67c368SShengzhou Liu 
4888d67c368SShengzhou Liu /* controller 3, Slot 1, tgtid 1, Base address 202000 */
4898d67c368SShengzhou Liu #define CONFIG_SYS_PCIE3_MEM_VIRT	0xb0000000
4908d67c368SShengzhou Liu #define CONFIG_SYS_PCIE3_MEM_BUS	0xe0000000
4918d67c368SShengzhou Liu #define CONFIG_SYS_PCIE3_MEM_PHYS	0xc30000000ull
4928d67c368SShengzhou Liu #define CONFIG_SYS_PCIE3_MEM_SIZE	0x10000000	/* 256M */
4938d67c368SShengzhou Liu #define CONFIG_SYS_PCIE3_IO_VIRT	0xf8020000
4948d67c368SShengzhou Liu #define CONFIG_SYS_PCIE3_IO_BUS		0x00000000
4958d67c368SShengzhou Liu #define CONFIG_SYS_PCIE3_IO_PHYS	0xff8020000ull
4968d67c368SShengzhou Liu #define CONFIG_SYS_PCIE3_IO_SIZE	0x00010000	/* 64k */
4978d67c368SShengzhou Liu 
4988d67c368SShengzhou Liu /* controller 4, Base address 203000 */
4998d67c368SShengzhou Liu #define CONFIG_SYS_PCIE4_MEM_VIRT       0xc0000000
5008d67c368SShengzhou Liu #define CONFIG_SYS_PCIE4_MEM_BUS	0xe0000000
5018d67c368SShengzhou Liu #define CONFIG_SYS_PCIE4_MEM_PHYS	0xc40000000ull
5028d67c368SShengzhou Liu #define CONFIG_SYS_PCIE4_MEM_SIZE	0x10000000	/* 256M */
5038d67c368SShengzhou Liu #define CONFIG_SYS_PCIE4_IO_BUS		0x00000000
5048d67c368SShengzhou Liu #define CONFIG_SYS_PCIE4_IO_PHYS	0xff8030000ull
5058d67c368SShengzhou Liu #define CONFIG_SYS_PCIE4_IO_SIZE	0x00010000	/* 64k */
5068d67c368SShengzhou Liu 
5078d67c368SShengzhou Liu #ifdef CONFIG_PCI
5088d67c368SShengzhou Liu #define CONFIG_PCI_INDIRECT_BRIDGE
5098d67c368SShengzhou Liu #define CONFIG_FSL_PCIE_RESET           /* need PCIe reset errata LSZ ADD */
5108d67c368SShengzhou Liu #define CONFIG_PCI_SCAN_SHOW	/* show pci devices on startup */
5118d67c368SShengzhou Liu #endif
5128d67c368SShengzhou Liu 
5138d67c368SShengzhou Liu /* Qman/Bman */
5148d67c368SShengzhou Liu #ifndef CONFIG_NOBQFMAN
5158d67c368SShengzhou Liu #define CONFIG_SYS_BMAN_NUM_PORTALS	18
5168d67c368SShengzhou Liu #define CONFIG_SYS_BMAN_MEM_BASE	0xf4000000
5178d67c368SShengzhou Liu #define CONFIG_SYS_BMAN_MEM_PHYS	0xff4000000ull
5188d67c368SShengzhou Liu #define CONFIG_SYS_BMAN_MEM_SIZE	0x02000000
5193fa66db4SJeffrey Ladouceur #define CONFIG_SYS_BMAN_SP_CENA_SIZE    0x4000
5203fa66db4SJeffrey Ladouceur #define CONFIG_SYS_BMAN_SP_CINH_SIZE    0x1000
5213fa66db4SJeffrey Ladouceur #define CONFIG_SYS_BMAN_CENA_BASE       CONFIG_SYS_BMAN_MEM_BASE
5223fa66db4SJeffrey Ladouceur #define CONFIG_SYS_BMAN_CENA_SIZE       (CONFIG_SYS_BMAN_MEM_SIZE >> 1)
5233fa66db4SJeffrey Ladouceur #define CONFIG_SYS_BMAN_CINH_BASE       (CONFIG_SYS_BMAN_MEM_BASE + \
5243fa66db4SJeffrey Ladouceur 					CONFIG_SYS_BMAN_CENA_SIZE)
5253fa66db4SJeffrey Ladouceur #define CONFIG_SYS_BMAN_CINH_SIZE       (CONFIG_SYS_BMAN_MEM_SIZE >> 1)
5263fa66db4SJeffrey Ladouceur #define CONFIG_SYS_BMAN_SWP_ISDR_REG	0xE08
5278d67c368SShengzhou Liu #define CONFIG_SYS_QMAN_NUM_PORTALS	18
5288d67c368SShengzhou Liu #define CONFIG_SYS_QMAN_MEM_BASE	0xf6000000
5298d67c368SShengzhou Liu #define CONFIG_SYS_QMAN_MEM_PHYS	0xff6000000ull
5308d67c368SShengzhou Liu #define CONFIG_SYS_QMAN_MEM_SIZE	0x02000000
5313fa66db4SJeffrey Ladouceur #define CONFIG_SYS_QMAN_SP_CENA_SIZE    0x4000
5323fa66db4SJeffrey Ladouceur #define CONFIG_SYS_QMAN_SP_CINH_SIZE    0x1000
5333fa66db4SJeffrey Ladouceur #define CONFIG_SYS_QMAN_CENA_BASE       CONFIG_SYS_QMAN_MEM_BASE
5343fa66db4SJeffrey Ladouceur #define CONFIG_SYS_QMAN_CENA_SIZE       (CONFIG_SYS_QMAN_MEM_SIZE >> 1)
5353fa66db4SJeffrey Ladouceur #define CONFIG_SYS_QMAN_CINH_BASE       (CONFIG_SYS_QMAN_MEM_BASE + \
5363fa66db4SJeffrey Ladouceur 					CONFIG_SYS_QMAN_CENA_SIZE)
5373fa66db4SJeffrey Ladouceur #define CONFIG_SYS_QMAN_CINH_SIZE       (CONFIG_SYS_QMAN_MEM_SIZE >> 1)
5383fa66db4SJeffrey Ladouceur #define CONFIG_SYS_QMAN_SWP_ISDR_REG	0xE08
5398d67c368SShengzhou Liu 
5408d67c368SShengzhou Liu #define CONFIG_SYS_DPAA_FMAN
5418d67c368SShengzhou Liu #define CONFIG_SYS_DPAA_PME
5428d67c368SShengzhou Liu #define CONFIG_SYS_PMAN
5438d67c368SShengzhou Liu #define CONFIG_SYS_DPAA_DCE
5448d67c368SShengzhou Liu #define CONFIG_SYS_DPAA_RMAN		/* RMan */
5458d67c368SShengzhou Liu #define CONFIG_SYS_INTERLAKEN
5468d67c368SShengzhou Liu 
5478d67c368SShengzhou Liu /* Default address of microcode for the Linux Fman driver */
5488d67c368SShengzhou Liu #if defined(CONFIG_SPIFLASH)
5498d67c368SShengzhou Liu /*
5508d67c368SShengzhou Liu  * env is stored at 0x100000, sector size is 0x10000, ucode is stored after
5518d67c368SShengzhou Liu  * env, so we got 0x110000.
5528d67c368SShengzhou Liu  */
5538d67c368SShengzhou Liu #define CONFIG_SYS_QE_FW_IN_SPIFLASH
554ef531c73SShengzhou Liu #define CONFIG_SYS_CORTINA_FW_IN_SPIFLASH
555dcf1d774SZhao Qiang #define CONFIG_SYS_FMAN_FW_ADDR		0x110000
5568d67c368SShengzhou Liu #define CONFIG_CORTINA_FW_ADDR		0x120000
5578d67c368SShengzhou Liu 
5588d67c368SShengzhou Liu #elif defined(CONFIG_SDCARD)
5598d67c368SShengzhou Liu /*
5608d67c368SShengzhou Liu  * PBL SD boot image should stored at 0x1000(8 blocks), the size of the image is
5614d666683SShengzhou Liu  * about 1MB (2048 blocks), Env is stored after the image, and the env size is
5624d666683SShengzhou Liu  * 0x2000 (16 blocks), 8 + 2048 + 16 = 2072, enlarge it to 2080.
5638d67c368SShengzhou Liu  */
5648d67c368SShengzhou Liu #define CONFIG_SYS_QE_FMAN_FW_IN_MMC
565ef531c73SShengzhou Liu #define CONFIG_SYS_CORTINA_FW_IN_MMC
5664d666683SShengzhou Liu #define CONFIG_SYS_FMAN_FW_ADDR		(512 * 0x820)
5674d666683SShengzhou Liu #define CONFIG_CORTINA_FW_ADDR		(512 * 0x8a0)
5688d67c368SShengzhou Liu 
5698d67c368SShengzhou Liu #elif defined(CONFIG_NAND)
5708d67c368SShengzhou Liu #define CONFIG_SYS_QE_FMAN_FW_IN_NAND
571ef531c73SShengzhou Liu #define CONFIG_SYS_CORTINA_FW_IN_NAND
5724d666683SShengzhou Liu #define CONFIG_SYS_FMAN_FW_ADDR		(3 * CONFIG_SYS_NAND_BLOCK_SIZE)
5734d666683SShengzhou Liu #define CONFIG_CORTINA_FW_ADDR		(4 * CONFIG_SYS_NAND_BLOCK_SIZE)
5748d67c368SShengzhou Liu #elif defined(CONFIG_SRIO_PCIE_BOOT_SLAVE)
5758d67c368SShengzhou Liu /*
5768d67c368SShengzhou Liu  * Slave has no ucode locally, it can fetch this from remote. When implementing
5778d67c368SShengzhou Liu  * in two corenet boards, slave's ucode could be stored in master's memory
5788d67c368SShengzhou Liu  * space, the address can be mapped from slave TLB->slave LAW->
5798d67c368SShengzhou Liu  * slave SRIO or PCIE outbound window->master inbound window->
5808d67c368SShengzhou Liu  * master LAW->the ucode address in master's memory space.
5818d67c368SShengzhou Liu  */
5828d67c368SShengzhou Liu #define CONFIG_SYS_QE_FMAN_FW_IN_REMOTE
583ef531c73SShengzhou Liu #define CONFIG_SYS_CORTINA_FW_IN_REMOTE
584dcf1d774SZhao Qiang #define CONFIG_SYS_FMAN_FW_ADDR		0xFFE00000
5858d67c368SShengzhou Liu #define CONFIG_CORTINA_FW_ADDR		0xFFE10000
5868d67c368SShengzhou Liu #else
5878d67c368SShengzhou Liu #define CONFIG_SYS_QE_FMAN_FW_IN_NOR
588ef531c73SShengzhou Liu #define CONFIG_SYS_CORTINA_FW_IN_NOR
589dcf1d774SZhao Qiang #define CONFIG_SYS_FMAN_FW_ADDR		0xEFF00000
5908d67c368SShengzhou Liu #define CONFIG_CORTINA_FW_ADDR		0xEFE00000
5918d67c368SShengzhou Liu #endif
5928d67c368SShengzhou Liu #define CONFIG_SYS_QE_FMAN_FW_LENGTH	0x10000
5938d67c368SShengzhou Liu #define CONFIG_SYS_FDT_PAD		(0x3000 + CONFIG_SYS_QE_FMAN_FW_LENGTH)
5948d67c368SShengzhou Liu #endif /* CONFIG_NOBQFMAN */
5958d67c368SShengzhou Liu 
5968d67c368SShengzhou Liu #ifdef CONFIG_SYS_DPAA_FMAN
5978d67c368SShengzhou Liu #define CONFIG_FMAN_ENET
5988d67c368SShengzhou Liu #define CONFIG_PHYLIB_10G
599747aedafSShengzhou Liu #define CONFIG_PHY_AQUANTIA
6008d67c368SShengzhou Liu #define CONFIG_PHY_CORTINA
6018d67c368SShengzhou Liu #define CONFIG_PHY_REALTEK
6028d67c368SShengzhou Liu #define CONFIG_CORTINA_FW_LENGTH	0x40000
6038d67c368SShengzhou Liu #define RGMII_PHY1_ADDR		0x01  /* RealTek RTL8211E */
6048d67c368SShengzhou Liu #define RGMII_PHY2_ADDR		0x02
6058d67c368SShengzhou Liu #define CORTINA_PHY_ADDR1	0x0c  /* Cortina CS4315 */
6068d67c368SShengzhou Liu #define CORTINA_PHY_ADDR2	0x0d
6078d67c368SShengzhou Liu #define FM1_10GEC3_PHY_ADDR	0x00  /* Aquantia AQ1202 10G Base-T */
6088d67c368SShengzhou Liu #define FM1_10GEC4_PHY_ADDR	0x01
6098d67c368SShengzhou Liu #endif
6108d67c368SShengzhou Liu 
6118d67c368SShengzhou Liu #ifdef CONFIG_FMAN_ENET
6128d67c368SShengzhou Liu #define CONFIG_MII		/* MII PHY management */
6138d67c368SShengzhou Liu #define CONFIG_ETHPRIME		"FM1@DTSEC3"
6148d67c368SShengzhou Liu #endif
6158d67c368SShengzhou Liu 
6168d67c368SShengzhou Liu /*
6178d67c368SShengzhou Liu  * SATA
6188d67c368SShengzhou Liu  */
6198d67c368SShengzhou Liu #ifdef CONFIG_FSL_SATA_V2
6208d67c368SShengzhou Liu #define CONFIG_SYS_SATA_MAX_DEVICE	2
6218d67c368SShengzhou Liu #define CONFIG_SATA1
6228d67c368SShengzhou Liu #define CONFIG_SYS_SATA1		CONFIG_SYS_MPC85xx_SATA1_ADDR
6238d67c368SShengzhou Liu #define CONFIG_SYS_SATA1_FLAGS		FLAGS_DMA
6248d67c368SShengzhou Liu #define CONFIG_SATA2
6258d67c368SShengzhou Liu #define CONFIG_SYS_SATA2		CONFIG_SYS_MPC85xx_SATA2_ADDR
6268d67c368SShengzhou Liu #define CONFIG_SYS_SATA2_FLAGS		FLAGS_DMA
6278d67c368SShengzhou Liu #define CONFIG_LBA48
6288d67c368SShengzhou Liu #endif
6298d67c368SShengzhou Liu 
6308d67c368SShengzhou Liu /*
6318d67c368SShengzhou Liu  * USB
6328d67c368SShengzhou Liu  */
6338850c5d5STom Rini #ifdef CONFIG_USB_EHCI_HCD
6348d67c368SShengzhou Liu #define CONFIG_USB_EHCI_FSL
6358d67c368SShengzhou Liu #define CONFIG_EHCI_HCD_INIT_AFTER_RESET
6368d67c368SShengzhou Liu #define CONFIG_HAS_FSL_DR_USB
6378d67c368SShengzhou Liu #endif
6388d67c368SShengzhou Liu 
6398d67c368SShengzhou Liu /*
6408d67c368SShengzhou Liu  * SDHC
6418d67c368SShengzhou Liu  */
6428d67c368SShengzhou Liu #ifdef CONFIG_MMC
6438d67c368SShengzhou Liu #define CONFIG_SYS_FSL_ESDHC_ADDR	CONFIG_SYS_MPC85xx_ESDHC_ADDR
6448d67c368SShengzhou Liu #define CONFIG_SYS_FSL_ESDHC_BROKEN_TIMEOUT
6458d67c368SShengzhou Liu #define CONFIG_SYS_FSL_MMC_HAS_CAPBLT_VS33
6468d67c368SShengzhou Liu #endif
6478d67c368SShengzhou Liu 
6488d67c368SShengzhou Liu /*
6494feac1c6SShengzhou Liu  * Dynamic MTD Partition support with mtdparts
6504feac1c6SShengzhou Liu  */
651e856bdcfSMasahiro Yamada #ifdef CONFIG_MTD_NOR_FLASH
6524feac1c6SShengzhou Liu #define CONFIG_MTD_DEVICE
6534feac1c6SShengzhou Liu #define CONFIG_MTD_PARTITIONS
6544feac1c6SShengzhou Liu #define CONFIG_FLASH_CFI_MTD
6554feac1c6SShengzhou Liu #endif
6564feac1c6SShengzhou Liu 
6574feac1c6SShengzhou Liu /*
6588d67c368SShengzhou Liu  * Environment
6598d67c368SShengzhou Liu  */
6608d67c368SShengzhou Liu 
6618d67c368SShengzhou Liu /*
6628d67c368SShengzhou Liu  * Miscellaneous configurable options
6638d67c368SShengzhou Liu  */
6648d67c368SShengzhou Liu #define CONFIG_SYS_LOAD_ADDR	0x2000000 /* default load address */
6658d67c368SShengzhou Liu 
6668d67c368SShengzhou Liu /*
6678d67c368SShengzhou Liu  * For booting Linux, the board info and command line data
6688d67c368SShengzhou Liu  * have to be in the first 64 MB of memory, since this is
6698d67c368SShengzhou Liu  * the maximum mapped by the Linux kernel during initialization.
6708d67c368SShengzhou Liu  */
6718d67c368SShengzhou Liu #define CONFIG_SYS_BOOTMAPSZ	(64 << 20)	/* Initial map for Linux*/
6728d67c368SShengzhou Liu #define CONFIG_SYS_BOOTM_LEN	(64 << 20)	/* Increase max gunzip size */
6738d67c368SShengzhou Liu 
6748d67c368SShengzhou Liu #ifdef CONFIG_CMD_KGDB
6758d67c368SShengzhou Liu #define CONFIG_KGDB_BAUDRATE	230400	/* speed to run kgdb serial port */
6768d67c368SShengzhou Liu #define CONFIG_KGDB_SER_INDEX	2	/* which serial port to use */
6778d67c368SShengzhou Liu #endif
6788d67c368SShengzhou Liu 
6798d67c368SShengzhou Liu /*
6808d67c368SShengzhou Liu  * Environment Configuration
6818d67c368SShengzhou Liu  */
6828d67c368SShengzhou Liu #define CONFIG_ROOTPATH	 "/opt/nfsroot"
6838d67c368SShengzhou Liu #define CONFIG_BOOTFILE	 "uImage"
6848d67c368SShengzhou Liu #define CONFIG_UBOOTPATH "u-boot.bin"	/* U-Boot image on TFTP server */
6858d67c368SShengzhou Liu 
6868d67c368SShengzhou Liu /* default location for tftp and bootm */
6878d67c368SShengzhou Liu #define CONFIG_LOADADDR		1000000
6888d67c368SShengzhou Liu #define __USB_PHY_TYPE		utmi
6898d67c368SShengzhou Liu 
6908d67c368SShengzhou Liu #define	CONFIG_EXTRA_ENV_SETTINGS				\
6918d67c368SShengzhou Liu 	"hwconfig=fsl_ddr:"					\
6928d67c368SShengzhou Liu 	"ctlr_intlv=" __stringify(CTRL_INTLV_PREFERED) ","	\
6938d67c368SShengzhou Liu 	"bank_intlv=auto;"					\
6948d67c368SShengzhou Liu 	"usb1:dr_mode=host,phy_type=" __stringify(__USB_PHY_TYPE) "\0"\
6958d67c368SShengzhou Liu 	"netdev=eth0\0"						\
6968d67c368SShengzhou Liu 	"uboot=" __stringify(CONFIG_UBOOTPATH) "\0"		\
6978d67c368SShengzhou Liu 	"ubootaddr=" __stringify(CONFIG_SYS_TEXT_BASE) "\0"	\
6988d67c368SShengzhou Liu 	"tftpflash=tftpboot $loadaddr $uboot && "		\
6998d67c368SShengzhou Liu 	"protect off $ubootaddr +$filesize && "			\
7008d67c368SShengzhou Liu 	"erase $ubootaddr +$filesize && "			\
7018d67c368SShengzhou Liu 	"cp.b $loadaddr $ubootaddr $filesize && "		\
7028d67c368SShengzhou Liu 	"protect on $ubootaddr +$filesize && "			\
7038d67c368SShengzhou Liu 	"cmp.b $loadaddr $ubootaddr $filesize\0"		\
7048d67c368SShengzhou Liu 	"consoledev=ttyS0\0"					\
7058d67c368SShengzhou Liu 	"ramdiskaddr=2000000\0"					\
7068d67c368SShengzhou Liu 	"ramdiskfile=t2080rdb/ramdisk.uboot\0"			\
707b24a4f62SScott Wood 	"fdtaddr=1e00000\0"					\
7088d67c368SShengzhou Liu 	"fdtfile=t2080rdb/t2080rdb.dtb\0"			\
7093246584dSKim Phillips 	"bdev=sda3\0"
7108d67c368SShengzhou Liu 
7118d67c368SShengzhou Liu /*
7128d67c368SShengzhou Liu  * For emulation this causes u-boot to jump to the start of the
7138d67c368SShengzhou Liu  * proof point app code automatically
7148d67c368SShengzhou Liu  */
7158d67c368SShengzhou Liu #define CONFIG_PROOF_POINTS				\
7168d67c368SShengzhou Liu 	"setenv bootargs root=/dev/$bdev rw "		\
7178d67c368SShengzhou Liu 	"console=$consoledev,$baudrate $othbootargs;"	\
7188d67c368SShengzhou Liu 	"cpu 1 release 0x29000000 - - -;"		\
7198d67c368SShengzhou Liu 	"cpu 2 release 0x29000000 - - -;"		\
7208d67c368SShengzhou Liu 	"cpu 3 release 0x29000000 - - -;"		\
7218d67c368SShengzhou Liu 	"cpu 4 release 0x29000000 - - -;"		\
7228d67c368SShengzhou Liu 	"cpu 5 release 0x29000000 - - -;"		\
7238d67c368SShengzhou Liu 	"cpu 6 release 0x29000000 - - -;"		\
7248d67c368SShengzhou Liu 	"cpu 7 release 0x29000000 - - -;"		\
7258d67c368SShengzhou Liu 	"go 0x29000000"
7268d67c368SShengzhou Liu 
7278d67c368SShengzhou Liu #define CONFIG_HVBOOT				\
7288d67c368SShengzhou Liu 	"setenv bootargs config-addr=0x60000000; "	\
7298d67c368SShengzhou Liu 	"bootm 0x01000000 - 0x00f00000"
7308d67c368SShengzhou Liu 
7318d67c368SShengzhou Liu #define CONFIG_ALU				\
7328d67c368SShengzhou Liu 	"setenv bootargs root=/dev/$bdev rw "		\
7338d67c368SShengzhou Liu 	"console=$consoledev,$baudrate $othbootargs;"	\
7348d67c368SShengzhou Liu 	"cpu 1 release 0x01000000 - - -;"		\
7358d67c368SShengzhou Liu 	"cpu 2 release 0x01000000 - - -;"		\
7368d67c368SShengzhou Liu 	"cpu 3 release 0x01000000 - - -;"		\
7378d67c368SShengzhou Liu 	"cpu 4 release 0x01000000 - - -;"		\
7388d67c368SShengzhou Liu 	"cpu 5 release 0x01000000 - - -;"		\
7398d67c368SShengzhou Liu 	"cpu 6 release 0x01000000 - - -;"		\
7408d67c368SShengzhou Liu 	"cpu 7 release 0x01000000 - - -;"		\
7418d67c368SShengzhou Liu 	"go 0x01000000"
7428d67c368SShengzhou Liu 
7438d67c368SShengzhou Liu #define CONFIG_LINUX				\
7448d67c368SShengzhou Liu 	"setenv bootargs root=/dev/ram rw "		\
7458d67c368SShengzhou Liu 	"console=$consoledev,$baudrate $othbootargs;"	\
7468d67c368SShengzhou Liu 	"setenv ramdiskaddr 0x02000000;"		\
7478d67c368SShengzhou Liu 	"setenv fdtaddr 0x00c00000;"			\
7488d67c368SShengzhou Liu 	"setenv loadaddr 0x1000000;"			\
7498d67c368SShengzhou Liu 	"bootm $loadaddr $ramdiskaddr $fdtaddr"
7508d67c368SShengzhou Liu 
7518d67c368SShengzhou Liu #define CONFIG_HDBOOT					\
7528d67c368SShengzhou Liu 	"setenv bootargs root=/dev/$bdev rw "		\
7538d67c368SShengzhou Liu 	"console=$consoledev,$baudrate $othbootargs;"	\
7548d67c368SShengzhou Liu 	"tftp $loadaddr $bootfile;"			\
7558d67c368SShengzhou Liu 	"tftp $fdtaddr $fdtfile;"			\
7568d67c368SShengzhou Liu 	"bootm $loadaddr - $fdtaddr"
7578d67c368SShengzhou Liu 
7588d67c368SShengzhou Liu #define CONFIG_NFSBOOTCOMMAND			\
7598d67c368SShengzhou Liu 	"setenv bootargs root=/dev/nfs rw "	\
7608d67c368SShengzhou Liu 	"nfsroot=$serverip:$rootpath "		\
7618d67c368SShengzhou Liu 	"ip=$ipaddr:$serverip:$gatewayip:$netmask:$hostname:$netdev:off " \
7628d67c368SShengzhou Liu 	"console=$consoledev,$baudrate $othbootargs;"	\
7638d67c368SShengzhou Liu 	"tftp $loadaddr $bootfile;"		\
7648d67c368SShengzhou Liu 	"tftp $fdtaddr $fdtfile;"		\
7658d67c368SShengzhou Liu 	"bootm $loadaddr - $fdtaddr"
7668d67c368SShengzhou Liu 
7678d67c368SShengzhou Liu #define CONFIG_RAMBOOTCOMMAND				\
7688d67c368SShengzhou Liu 	"setenv bootargs root=/dev/ram rw "		\
7698d67c368SShengzhou Liu 	"console=$consoledev,$baudrate $othbootargs;"	\
7708d67c368SShengzhou Liu 	"tftp $ramdiskaddr $ramdiskfile;"		\
7718d67c368SShengzhou Liu 	"tftp $loadaddr $bootfile;"			\
7728d67c368SShengzhou Liu 	"tftp $fdtaddr $fdtfile;"			\
7738d67c368SShengzhou Liu 	"bootm $loadaddr $ramdiskaddr $fdtaddr"
7748d67c368SShengzhou Liu 
7758d67c368SShengzhou Liu #define CONFIG_BOOTCOMMAND		CONFIG_LINUX
7768d67c368SShengzhou Liu 
7778d67c368SShengzhou Liu #include <asm/fsl_secure_boot.h>
778ef6c55a2SAneesh Bansal 
7798d67c368SShengzhou Liu #endif	/* __T2080RDB_H */
780