blob: d83563d6181d7d931caf62382a107f762a17e3b0 [file] [log] [blame]
Tom Rini10e47792018-05-06 17:58:06 -04001/* SPDX-License-Identifier: GPL-2.0+ */
Poonam Aggrwala2ec1352011-02-09 19:17:53 +00002/*
3 * Copyright 2010-2011 Freescale Semiconductor, Inc.
Biwen Li6a2d8d12020-05-01 20:04:13 +08004 * Copyright 2020 NXP
Poonam Aggrwala2ec1352011-02-09 19:17:53 +00005 */
6
7/*
8 * P010 RDB board configuration file
9 */
10
11#ifndef __CONFIG_H
12#define __CONFIG_H
13
Simon Glassfb64e362020-05-10 11:40:09 -060014#include <linux/stringify.h>
15
Prabhakar Kushwahad324f472013-04-16 13:27:44 +053016#include <asm/config_mpc85xx.h>
Poonam Aggrwala2ec1352011-02-09 19:17:53 +000017
18#ifdef CONFIG_SDCARD
Tom Rini6a5dccc2022-11-16 13:10:41 -050019#define CFG_SYS_MMC_U_BOOT_SIZE (512 << 10)
20#define CFG_SYS_MMC_U_BOOT_DST (0x11000000)
21#define CFG_SYS_MMC_U_BOOT_START (0x11000000)
22#define CFG_SYS_MMC_U_BOOT_OFFS (96 << 10)
Poonam Aggrwala2ec1352011-02-09 19:17:53 +000023#endif
24
25#ifdef CONFIG_SPIFLASH
Udit Agarwald2dd2f72019-11-07 16:11:39 +000026#ifdef CONFIG_NXP_ESBC
Poonam Aggrwala2ec1352011-02-09 19:17:53 +000027#define CONFIG_RAMBOOT_SPIFLASH
Ruchika Gupta604a9592014-09-29 11:14:35 +053028#define CONFIG_RESET_VECTOR_ADDRESS 0x110bfffc
Ying Zhang1233cbc2014-01-24 15:50:09 +080029#else
Tom Rini6a5dccc2022-11-16 13:10:41 -050030#define CFG_SYS_SPI_FLASH_U_BOOT_SIZE (512 << 10)
31#define CFG_SYS_SPI_FLASH_U_BOOT_DST (0x11000000)
32#define CFG_SYS_SPI_FLASH_U_BOOT_START (0x11000000)
33#define CFG_SYS_SPI_FLASH_U_BOOT_OFFS (96 << 10)
Ying Zhang1233cbc2014-01-24 15:50:09 +080034#endif
35#endif
Poonam Aggrwala2ec1352011-02-09 19:17:53 +000036
Miquel Raynald0935362019-10-03 19:50:03 +020037#ifdef CONFIG_MTD_RAW_NAND
Udit Agarwald2dd2f72019-11-07 16:11:39 +000038#ifdef CONFIG_NXP_ESBC
Tom Rinib4213492022-11-12 17:36:51 -050039#define CFG_SYS_NAND_U_BOOT_SIZE ((768 << 10) - 0x2000)
40#define CFG_SYS_NAND_U_BOOT_DST (0x00200000 - CONFIG_SPL_MAX_SIZE)
41#define CFG_SYS_NAND_U_BOOT_START 0x00200000
Ying Zhang1233cbc2014-01-24 15:50:09 +080042#else
Ying Zhang1233cbc2014-01-24 15:50:09 +080043#ifdef CONFIG_TPL_BUILD
Tom Rinib4213492022-11-12 17:36:51 -050044#define CFG_SYS_NAND_U_BOOT_SIZE (576 << 10)
45#define CFG_SYS_NAND_U_BOOT_DST (0x11000000)
46#define CFG_SYS_NAND_U_BOOT_START (0x11000000)
Ying Zhang1233cbc2014-01-24 15:50:09 +080047#elif defined(CONFIG_SPL_BUILD)
Tom Rinib4213492022-11-12 17:36:51 -050048#define CFG_SYS_NAND_U_BOOT_SIZE (128 << 10)
49#define CFG_SYS_NAND_U_BOOT_DST 0xD0000000
50#define CFG_SYS_NAND_U_BOOT_START 0xD0000000
Dipen Dudhat2f143ed2011-07-28 14:47:28 -050051#endif
Ying Zhang1233cbc2014-01-24 15:50:09 +080052#endif
53#endif
Ruchika Guptab36ccc52011-06-08 22:52:48 -050054
55#ifdef CONFIG_NAND_SECBOOT /* NAND Boot */
Prabhakar Kushwahaf2036562014-01-14 11:34:26 +053056#define CONFIG_RESET_VECTOR_ADDRESS 0x110bfffc
Ruchika Guptab36ccc52011-06-08 22:52:48 -050057#endif
58
Poonam Aggrwala2ec1352011-02-09 19:17:53 +000059#ifndef CONFIG_RESET_VECTOR_ADDRESS
60#define CONFIG_RESET_VECTOR_ADDRESS 0xeffffffc
61#endif
62
Poonam Aggrwala2ec1352011-02-09 19:17:53 +000063/* High Level Configuration Options */
Poonam Aggrwala2ec1352011-02-09 19:17:53 +000064
Poonam Aggrwala2ec1352011-02-09 19:17:53 +000065#if defined(CONFIG_PCI)
Poonam Aggrwala2ec1352011-02-09 19:17:53 +000066/*
67 * PCI Windows
68 * Memory space is mapped 1-1, but I/O space must start from 0.
69 */
70/* controller 1, Slot 1, tgtid 1, Base address a000 */
Tom Rini56af6592022-11-16 13:10:33 -050071#define CFG_SYS_PCIE1_MEM_VIRT 0x80000000
Poonam Aggrwala2ec1352011-02-09 19:17:53 +000072#ifdef CONFIG_PHYS_64BIT
Tom Rini56af6592022-11-16 13:10:33 -050073#define CFG_SYS_PCIE1_MEM_PHYS 0xc00000000ull
Poonam Aggrwala2ec1352011-02-09 19:17:53 +000074#else
Tom Rini56af6592022-11-16 13:10:33 -050075#define CFG_SYS_PCIE1_MEM_PHYS 0x80000000
Poonam Aggrwala2ec1352011-02-09 19:17:53 +000076#endif
Tom Rini56af6592022-11-16 13:10:33 -050077#define CFG_SYS_PCIE1_IO_VIRT 0xffc00000
Poonam Aggrwala2ec1352011-02-09 19:17:53 +000078#ifdef CONFIG_PHYS_64BIT
Tom Rini56af6592022-11-16 13:10:33 -050079#define CFG_SYS_PCIE1_IO_PHYS 0xfffc00000ull
Poonam Aggrwala2ec1352011-02-09 19:17:53 +000080#else
Tom Rini56af6592022-11-16 13:10:33 -050081#define CFG_SYS_PCIE1_IO_PHYS 0xffc00000
Poonam Aggrwala2ec1352011-02-09 19:17:53 +000082#endif
83
84/* controller 2, Slot 2, tgtid 2, Base address 9000 */
Tom Rini56af6592022-11-16 13:10:33 -050085#define CFG_SYS_PCIE2_MEM_VIRT 0xa0000000
Hou Zhiqiangd3cb8812020-05-01 19:06:28 +080086#ifdef CONFIG_PHYS_64BIT
Tom Rini56af6592022-11-16 13:10:33 -050087#define CFG_SYS_PCIE2_MEM_PHYS 0xc20000000ull
Hou Zhiqiangd3cb8812020-05-01 19:06:28 +080088#else
Tom Rini56af6592022-11-16 13:10:33 -050089#define CFG_SYS_PCIE2_MEM_PHYS 0xa0000000
Hou Zhiqiangd3cb8812020-05-01 19:06:28 +080090#endif
Tom Rini56af6592022-11-16 13:10:33 -050091#define CFG_SYS_PCIE2_IO_VIRT 0xffc10000
Hou Zhiqiangd3cb8812020-05-01 19:06:28 +080092#ifdef CONFIG_PHYS_64BIT
Tom Rini56af6592022-11-16 13:10:33 -050093#define CFG_SYS_PCIE2_IO_PHYS 0xfffc10000ull
Hou Zhiqiangd3cb8812020-05-01 19:06:28 +080094#else
Tom Rini56af6592022-11-16 13:10:33 -050095#define CFG_SYS_PCIE2_IO_PHYS 0xffc10000
Hou Zhiqiangd3cb8812020-05-01 19:06:28 +080096#endif
Poonam Aggrwala2ec1352011-02-09 19:17:53 +000097#endif
98
Poonam Aggrwala2ec1352011-02-09 19:17:53 +000099/*
100 * These can be toggled for performance analysis, otherwise use default.
101 */
102#define CONFIG_L2_CACHE /* toggle L2 cache */
Poonam Aggrwala2ec1352011-02-09 19:17:53 +0000103
Poonam Aggrwala2ec1352011-02-09 19:17:53 +0000104/* DDR Setup */
Poonam Aggrwala2ec1352011-02-09 19:17:53 +0000105#define SPD_EEPROM_ADDRESS 0x52
106
107#define CONFIG_MEM_INIT_VALUE 0xDeadBeef
108
109#ifndef __ASSEMBLY__
110extern unsigned long get_sdram_size(void);
111#endif
Tom Rinibb4dd962022-11-16 13:10:37 -0500112#define CFG_SYS_SDRAM_SIZE get_sdram_size() /* DDR size */
Tom Rini6a5dccc2022-11-16 13:10:41 -0500113#define CFG_SYS_DDR_SDRAM_BASE 0x00000000
114#define CFG_SYS_SDRAM_BASE CFG_SYS_DDR_SDRAM_BASE
Poonam Aggrwala2ec1352011-02-09 19:17:53 +0000115
Tom Rini6a5dccc2022-11-16 13:10:41 -0500116#define CFG_SYS_CCSRBAR 0xffe00000
117#define CFG_SYS_CCSRBAR_PHYS_LOW CFG_SYS_CCSRBAR
Poonam Aggrwala2ec1352011-02-09 19:17:53 +0000118
119/*
120 * Memory map
121 *
122 * 0x0000_0000 0x3fff_ffff DDR 1G cacheable
123 * 0x8000_0000 0xbfff_ffff PCI Express Mem 1.5G non-cacheable
124 * 0xffc0_0000 0xffc3_ffff PCI IO range 256k non-cacheable
125 *
126 * Localbus non-cacheable
127 * 0xff80_0000 0xff8f_ffff NAND Flash 1M non-cacheable
128 * 0xffb0_0000 0xffbf_ffff Board CPLD 1M non-cacheable
129 * 0xffd0_0000 0xffd0_3fff L1 for stack 16K Cacheable TLB0
130 * 0xffe0_0000 0xffef_ffff CCSR 1M non-cacheable
131 */
132
Poonam Aggrwala2ec1352011-02-09 19:17:53 +0000133/*
134 * IFC Definitions
135 */
136/* NOR Flash on IFC */
Prabhakar Kushwaha66d6aa82013-04-16 13:28:12 +0530137
Tom Rini6a5dccc2022-11-16 13:10:41 -0500138#define CFG_SYS_FLASH_BASE 0xee000000
Poonam Aggrwala2ec1352011-02-09 19:17:53 +0000139
140#ifdef CONFIG_PHYS_64BIT
Tom Rini6a5dccc2022-11-16 13:10:41 -0500141#define CFG_SYS_FLASH_BASE_PHYS (0xf00000000ull | CFG_SYS_FLASH_BASE)
Poonam Aggrwala2ec1352011-02-09 19:17:53 +0000142#else
Tom Rini6a5dccc2022-11-16 13:10:41 -0500143#define CFG_SYS_FLASH_BASE_PHYS CFG_SYS_FLASH_BASE
Poonam Aggrwala2ec1352011-02-09 19:17:53 +0000144#endif
145
Tom Rini6a5dccc2022-11-16 13:10:41 -0500146#define CFG_SYS_NOR_CSPR (CSPR_PHYS_ADDR(CFG_SYS_FLASH_BASE_PHYS) | \
Poonam Aggrwala2ec1352011-02-09 19:17:53 +0000147 CSPR_PORT_SIZE_16 | \
148 CSPR_MSEL_NOR | \
149 CSPR_V)
Tom Rini7b577ba2022-11-16 13:10:25 -0500150#define CFG_SYS_NOR_AMASK IFC_AMASK(32*1024*1024)
151#define CFG_SYS_NOR_CSOR CSOR_NOR_ADM_SHIFT(7)
Poonam Aggrwala2ec1352011-02-09 19:17:53 +0000152/* NOR Flash Timing Params */
Tom Rini7b577ba2022-11-16 13:10:25 -0500153#define CFG_SYS_NOR_FTIM0 FTIM0_NOR_TACSE(0x4) | \
Poonam Aggrwala2ec1352011-02-09 19:17:53 +0000154 FTIM0_NOR_TEADC(0x5) | \
155 FTIM0_NOR_TEAHC(0x5)
Tom Rini7b577ba2022-11-16 13:10:25 -0500156#define CFG_SYS_NOR_FTIM1 FTIM1_NOR_TACO(0x1e) | \
Poonam Aggrwala2ec1352011-02-09 19:17:53 +0000157 FTIM1_NOR_TRAD_NOR(0x0f)
Tom Rini7b577ba2022-11-16 13:10:25 -0500158#define CFG_SYS_NOR_FTIM2 FTIM2_NOR_TCS(0x4) | \
Poonam Aggrwala2ec1352011-02-09 19:17:53 +0000159 FTIM2_NOR_TCH(0x4) | \
160 FTIM2_NOR_TWP(0x1c)
Tom Rini7b577ba2022-11-16 13:10:25 -0500161#define CFG_SYS_NOR_FTIM3 0x0
Poonam Aggrwala2ec1352011-02-09 19:17:53 +0000162
Tom Rini6a5dccc2022-11-16 13:10:41 -0500163#define CFG_SYS_FLASH_BANKS_LIST {CFG_SYS_FLASH_BASE_PHYS}
Poonam Aggrwala2ec1352011-02-09 19:17:53 +0000164
Poonam Aggrwala2ec1352011-02-09 19:17:53 +0000165/* CFI for NOR Flash */
Poonam Aggrwala2ec1352011-02-09 19:17:53 +0000166
167/* NAND Flash on IFC */
Tom Rinib4213492022-11-12 17:36:51 -0500168#define CFG_SYS_NAND_BASE 0xff800000
Poonam Aggrwala2ec1352011-02-09 19:17:53 +0000169#ifdef CONFIG_PHYS_64BIT
Tom Rinib4213492022-11-12 17:36:51 -0500170#define CFG_SYS_NAND_BASE_PHYS 0xfff800000ull
Poonam Aggrwala2ec1352011-02-09 19:17:53 +0000171#else
Tom Rinib4213492022-11-12 17:36:51 -0500172#define CFG_SYS_NAND_BASE_PHYS CFG_SYS_NAND_BASE
Poonam Aggrwala2ec1352011-02-09 19:17:53 +0000173#endif
174
Tom Rinib4213492022-11-12 17:36:51 -0500175#define CFG_SYS_NAND_CSPR (CSPR_PHYS_ADDR(CFG_SYS_NAND_BASE_PHYS) \
Poonam Aggrwala2ec1352011-02-09 19:17:53 +0000176 | CSPR_PORT_SIZE_8 \
177 | CSPR_MSEL_NAND \
178 | CSPR_V)
Tom Rinib4213492022-11-12 17:36:51 -0500179#define CFG_SYS_NAND_AMASK IFC_AMASK(64*1024)
Shengzhou Liuf0af4382013-09-13 14:46:03 +0800180
York Sun7f945ca2016-11-16 13:30:06 -0800181#if defined(CONFIG_TARGET_P1010RDB_PA)
Tom Rinib4213492022-11-12 17:36:51 -0500182#define CFG_SYS_NAND_CSOR (CSOR_NAND_ECC_ENC_EN /* ECC on encode */ \
Poonam Aggrwala2ec1352011-02-09 19:17:53 +0000183 | CSOR_NAND_ECC_DEC_EN /* ECC on decode */ \
184 | CSOR_NAND_ECC_MODE_4 /* 4-bit ECC */ \
185 | CSOR_NAND_RAL_2 /* RAL = 2 Bytes */ \
186 | CSOR_NAND_PGS_512 /* Page Size = 512b */ \
187 | CSOR_NAND_SPRZ_16 /* Spare size = 16 */ \
188 | CSOR_NAND_PB(32)) /* 32 Pages Per Block */
Shengzhou Liuf0af4382013-09-13 14:46:03 +0800189
York Sun7f945ca2016-11-16 13:30:06 -0800190#elif defined(CONFIG_TARGET_P1010RDB_PB)
Tom Rinib4213492022-11-12 17:36:51 -0500191#define CFG_SYS_NAND_CSOR (CSOR_NAND_ECC_ENC_EN /* ECC on encode */ \
Shengzhou Liuf0af4382013-09-13 14:46:03 +0800192 | CSOR_NAND_ECC_DEC_EN /* ECC on decode */ \
193 | CSOR_NAND_ECC_MODE_4 /* 4-bit ECC */ \
194 | CSOR_NAND_RAL_3 /* RAL = 3Byes */ \
195 | CSOR_NAND_PGS_4K /* Page Size = 4K */ \
196 | CSOR_NAND_SPRZ_224 /* Spare size = 224 */ \
197 | CSOR_NAND_PB(128)) /*Pages Per Block = 128 */
Shengzhou Liuf0af4382013-09-13 14:46:03 +0800198#endif
Poonam Aggrwala2ec1352011-02-09 19:17:53 +0000199
Tom Rinib4213492022-11-12 17:36:51 -0500200#define CFG_SYS_NAND_BASE_LIST { CFG_SYS_NAND_BASE }
Dipen Dudhat2f143ed2011-07-28 14:47:28 -0500201
York Sun7f945ca2016-11-16 13:30:06 -0800202#if defined(CONFIG_TARGET_P1010RDB_PA)
Poonam Aggrwala2ec1352011-02-09 19:17:53 +0000203/* NAND Flash Timing Params */
Tom Rinib4213492022-11-12 17:36:51 -0500204#define CFG_SYS_NAND_FTIM0 FTIM0_NAND_TCCST(0x01) | \
Poonam Aggrwala2ec1352011-02-09 19:17:53 +0000205 FTIM0_NAND_TWP(0x0C) | \
206 FTIM0_NAND_TWCHT(0x04) | \
207 FTIM0_NAND_TWH(0x05)
Tom Rinib4213492022-11-12 17:36:51 -0500208#define CFG_SYS_NAND_FTIM1 FTIM1_NAND_TADLE(0x1d) | \
Poonam Aggrwala2ec1352011-02-09 19:17:53 +0000209 FTIM1_NAND_TWBE(0x1d) | \
210 FTIM1_NAND_TRR(0x07) | \
211 FTIM1_NAND_TRP(0x0c)
Tom Rinib4213492022-11-12 17:36:51 -0500212#define CFG_SYS_NAND_FTIM2 FTIM2_NAND_TRAD(0x0c) | \
Poonam Aggrwala2ec1352011-02-09 19:17:53 +0000213 FTIM2_NAND_TREH(0x05) | \
214 FTIM2_NAND_TWHRE(0x0f)
Tom Rinib4213492022-11-12 17:36:51 -0500215#define CFG_SYS_NAND_FTIM3 FTIM3_NAND_TWW(0x04)
Poonam Aggrwala2ec1352011-02-09 19:17:53 +0000216
York Sun7f945ca2016-11-16 13:30:06 -0800217#elif defined(CONFIG_TARGET_P1010RDB_PB)
Shengzhou Liuf0af4382013-09-13 14:46:03 +0800218/* support MT29F16G08ABABAWP 4k-pagesize 2G-bytes NAND */
219/* ONFI NAND Flash mode0 Timing Params */
Tom Rinib4213492022-11-12 17:36:51 -0500220#define CFG_SYS_NAND_FTIM0 (FTIM0_NAND_TCCST(0x07)| \
Shengzhou Liuf0af4382013-09-13 14:46:03 +0800221 FTIM0_NAND_TWP(0x18) | \
222 FTIM0_NAND_TWCHT(0x07) | \
223 FTIM0_NAND_TWH(0x0a))
Tom Rinib4213492022-11-12 17:36:51 -0500224#define CFG_SYS_NAND_FTIM1 (FTIM1_NAND_TADLE(0x32)| \
Shengzhou Liuf0af4382013-09-13 14:46:03 +0800225 FTIM1_NAND_TWBE(0x39) | \
226 FTIM1_NAND_TRR(0x0e) | \
227 FTIM1_NAND_TRP(0x18))
Tom Rinib4213492022-11-12 17:36:51 -0500228#define CFG_SYS_NAND_FTIM2 (FTIM2_NAND_TRAD(0x0f) | \
Shengzhou Liuf0af4382013-09-13 14:46:03 +0800229 FTIM2_NAND_TREH(0x0a) | \
230 FTIM2_NAND_TWHRE(0x1e))
Tom Rinib4213492022-11-12 17:36:51 -0500231#define CFG_SYS_NAND_FTIM3 0x0
Shengzhou Liuf0af4382013-09-13 14:46:03 +0800232#endif
233
Poonam Aggrwala2ec1352011-02-09 19:17:53 +0000234/* Set up IFC registers for boot location NOR/NAND */
Miquel Raynald0935362019-10-03 19:50:03 +0200235#if defined(CONFIG_MTD_RAW_NAND) || defined(CONFIG_NAND_SECBOOT)
Tom Rini6a5dccc2022-11-16 13:10:41 -0500236#define CFG_SYS_CSPR0 CFG_SYS_NAND_CSPR
237#define CFG_SYS_AMASK0 CFG_SYS_NAND_AMASK
238#define CFG_SYS_CSOR0 CFG_SYS_NAND_CSOR
239#define CFG_SYS_CS0_FTIM0 CFG_SYS_NAND_FTIM0
240#define CFG_SYS_CS0_FTIM1 CFG_SYS_NAND_FTIM1
241#define CFG_SYS_CS0_FTIM2 CFG_SYS_NAND_FTIM2
242#define CFG_SYS_CS0_FTIM3 CFG_SYS_NAND_FTIM3
243#define CFG_SYS_CSPR1 CFG_SYS_NOR_CSPR
244#define CFG_SYS_AMASK1 CFG_SYS_NOR_AMASK
245#define CFG_SYS_CSOR1 CFG_SYS_NOR_CSOR
246#define CFG_SYS_CS1_FTIM0 CFG_SYS_NOR_FTIM0
247#define CFG_SYS_CS1_FTIM1 CFG_SYS_NOR_FTIM1
248#define CFG_SYS_CS1_FTIM2 CFG_SYS_NOR_FTIM2
249#define CFG_SYS_CS1_FTIM3 CFG_SYS_NOR_FTIM3
Dipen Dudhat2f143ed2011-07-28 14:47:28 -0500250#else
Tom Rini6a5dccc2022-11-16 13:10:41 -0500251#define CFG_SYS_CSPR0 CFG_SYS_NOR_CSPR
252#define CFG_SYS_AMASK0 CFG_SYS_NOR_AMASK
253#define CFG_SYS_CSOR0 CFG_SYS_NOR_CSOR
254#define CFG_SYS_CS0_FTIM0 CFG_SYS_NOR_FTIM0
255#define CFG_SYS_CS0_FTIM1 CFG_SYS_NOR_FTIM1
256#define CFG_SYS_CS0_FTIM2 CFG_SYS_NOR_FTIM2
257#define CFG_SYS_CS0_FTIM3 CFG_SYS_NOR_FTIM3
258#define CFG_SYS_CSPR1 CFG_SYS_NAND_CSPR
259#define CFG_SYS_AMASK1 CFG_SYS_NAND_AMASK
260#define CFG_SYS_CSOR1 CFG_SYS_NAND_CSOR
261#define CFG_SYS_CS1_FTIM0 CFG_SYS_NAND_FTIM0
262#define CFG_SYS_CS1_FTIM1 CFG_SYS_NAND_FTIM1
263#define CFG_SYS_CS1_FTIM2 CFG_SYS_NAND_FTIM2
264#define CFG_SYS_CS1_FTIM3 CFG_SYS_NAND_FTIM3
Dipen Dudhat2f143ed2011-07-28 14:47:28 -0500265#endif
266
Poonam Aggrwala2ec1352011-02-09 19:17:53 +0000267/* CPLD on IFC */
Tom Rini6a5dccc2022-11-16 13:10:41 -0500268#define CFG_SYS_CPLD_BASE 0xffb00000
Poonam Aggrwala2ec1352011-02-09 19:17:53 +0000269
270#ifdef CONFIG_PHYS_64BIT
Tom Rini6a5dccc2022-11-16 13:10:41 -0500271#define CFG_SYS_CPLD_BASE_PHYS 0xfffb00000ull
Poonam Aggrwala2ec1352011-02-09 19:17:53 +0000272#else
Tom Rini6a5dccc2022-11-16 13:10:41 -0500273#define CFG_SYS_CPLD_BASE_PHYS CFG_SYS_CPLD_BASE
Poonam Aggrwala2ec1352011-02-09 19:17:53 +0000274#endif
275
Tom Rini6a5dccc2022-11-16 13:10:41 -0500276#define CFG_SYS_CSPR3 (CSPR_PHYS_ADDR(CFG_SYS_CPLD_BASE_PHYS) \
Poonam Aggrwala2ec1352011-02-09 19:17:53 +0000277 | CSPR_PORT_SIZE_8 \
278 | CSPR_MSEL_GPCM \
279 | CSPR_V)
Tom Rini6a5dccc2022-11-16 13:10:41 -0500280#define CFG_SYS_AMASK3 IFC_AMASK(64*1024)
281#define CFG_SYS_CSOR3 0x0
Poonam Aggrwala2ec1352011-02-09 19:17:53 +0000282/* CPLD Timing parameters for IFC CS3 */
Tom Rini6a5dccc2022-11-16 13:10:41 -0500283#define CFG_SYS_CS3_FTIM0 (FTIM0_GPCM_TACSE(0x0e) | \
Poonam Aggrwala2ec1352011-02-09 19:17:53 +0000284 FTIM0_GPCM_TEADC(0x0e) | \
285 FTIM0_GPCM_TEAHC(0x0e))
Tom Rini6a5dccc2022-11-16 13:10:41 -0500286#define CFG_SYS_CS3_FTIM1 (FTIM1_GPCM_TACO(0x0e) | \
Poonam Aggrwala2ec1352011-02-09 19:17:53 +0000287 FTIM1_GPCM_TRAD(0x1f))
Tom Rini6a5dccc2022-11-16 13:10:41 -0500288#define CFG_SYS_CS3_FTIM2 (FTIM2_GPCM_TCS(0x0e) | \
Shaohui Xiec2bc4602014-06-26 14:41:33 +0800289 FTIM2_GPCM_TCH(0x8) | \
Poonam Aggrwala2ec1352011-02-09 19:17:53 +0000290 FTIM2_GPCM_TWP(0x1f))
Tom Rini6a5dccc2022-11-16 13:10:41 -0500291#define CFG_SYS_CS3_FTIM3 0x0
Poonam Aggrwala2ec1352011-02-09 19:17:53 +0000292
Tom Rini6a5dccc2022-11-16 13:10:41 -0500293#define CFG_SYS_INIT_RAM_ADDR 0xffd00000 /* stack in RAM */
294#define CFG_SYS_INIT_RAM_SIZE 0x00004000 /* End of used area in RAM */
Poonam Aggrwala2ec1352011-02-09 19:17:53 +0000295
Tom Rini6a5dccc2022-11-16 13:10:41 -0500296#define CFG_SYS_INIT_SP_OFFSET (CFG_SYS_INIT_RAM_SIZE - GENERATED_GBL_DATA_SIZE)
Poonam Aggrwala2ec1352011-02-09 19:17:53 +0000297
Ying Zhang1233cbc2014-01-24 15:50:09 +0800298/*
299 * Config the L2 Cache as L2 SRAM
300 */
301#if defined(CONFIG_SPL_BUILD)
302#if defined(CONFIG_SDCARD) || defined(CONFIG_SPIFLASH)
Tom Rini6a5dccc2022-11-16 13:10:41 -0500303#define CFG_SYS_INIT_L2_ADDR 0xD0000000
304#define CFG_SYS_INIT_L2_ADDR_PHYS CFG_SYS_INIT_L2_ADDR
305#define CFG_SYS_INIT_L2_END (CFG_SYS_INIT_L2_ADDR + CONFIG_SYS_L2_SIZE)
Miquel Raynald0935362019-10-03 19:50:03 +0200306#elif defined(CONFIG_MTD_RAW_NAND)
Ying Zhang1233cbc2014-01-24 15:50:09 +0800307#ifdef CONFIG_TPL_BUILD
Tom Rini6a5dccc2022-11-16 13:10:41 -0500308#define CFG_SYS_INIT_L2_ADDR 0xD0000000
309#define CFG_SYS_INIT_L2_ADDR_PHYS CFG_SYS_INIT_L2_ADDR
310#define CFG_SYS_INIT_L2_END (CFG_SYS_INIT_L2_ADDR + CONFIG_SYS_L2_SIZE)
Ying Zhang1233cbc2014-01-24 15:50:09 +0800311#else
Tom Rini6a5dccc2022-11-16 13:10:41 -0500312#define CFG_SYS_INIT_L2_ADDR 0xD0000000
313#define CFG_SYS_INIT_L2_ADDR_PHYS CFG_SYS_INIT_L2_ADDR
314#define CFG_SYS_INIT_L2_END (CFG_SYS_INIT_L2_ADDR + CONFIG_SYS_L2_SIZE)
Ying Zhang1233cbc2014-01-24 15:50:09 +0800315#endif
316#endif
317#endif
318
Poonam Aggrwala2ec1352011-02-09 19:17:53 +0000319/* Serial Port */
Poonam Aggrwala2ec1352011-02-09 19:17:53 +0000320#undef CONFIG_SERIAL_SOFTWARE_FIFO
Tom Rinidf6a2152022-11-16 13:10:28 -0500321#define CFG_SYS_NS16550_CLK get_bus_freq(0)
Poonam Aggrwala2ec1352011-02-09 19:17:53 +0000322
Tom Rini6a5dccc2022-11-16 13:10:41 -0500323#define CFG_SYS_BAUDRATE_TABLE \
Poonam Aggrwala2ec1352011-02-09 19:17:53 +0000324 {300, 600, 1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200}
325
Tom Rini6a5dccc2022-11-16 13:10:41 -0500326#define CFG_SYS_NS16550_COM1 (CFG_SYS_CCSRBAR+0x4500)
327#define CFG_SYS_NS16550_COM2 (CFG_SYS_CCSRBAR+0x4600)
Poonam Aggrwala2ec1352011-02-09 19:17:53 +0000328
Heiko Schocherf2850742012-10-24 13:48:22 +0200329/* I2C */
Shengzhou Liu36446ef2013-09-13 14:46:02 +0800330#define I2C_PCA9557_ADDR1 0x18
Shengzhou Liuf0af4382013-09-13 14:46:03 +0800331#define I2C_PCA9557_ADDR2 0x19
Shengzhou Liu36446ef2013-09-13 14:46:02 +0800332#define I2C_PCA9557_BUS_NUM 0
Poonam Aggrwala2ec1352011-02-09 19:17:53 +0000333
334/* I2C EEPROM */
York Sun7f945ca2016-11-16 13:30:06 -0800335#if defined(CONFIG_TARGET_P1010RDB_PB)
Shengzhou Liuf0af4382013-09-13 14:46:03 +0800336#define MAX_NUM_PORTS 9 /* for 128Bytes EEPROM */
337#endif
Poonam Aggrwala2ec1352011-02-09 19:17:53 +0000338/* enable read and write access to EEPROM */
Poonam Aggrwala2ec1352011-02-09 19:17:53 +0000339
340/* RTC */
Tom Rini6a5dccc2022-11-16 13:10:41 -0500341#define CFG_SYS_I2C_RTC_ADDR 0x68
Poonam Aggrwala2ec1352011-02-09 19:17:53 +0000342
Poonam Aggrwala2ec1352011-02-09 19:17:53 +0000343/*
344 * SPI interface will not be available in case of NAND boot SPI CS0 will be
345 * used for SLIC
346 */
Miquel Raynald0935362019-10-03 19:50:03 +0200347#if !defined(CONFIG_MTD_RAW_NAND) || !defined(CONFIG_NAND_SECBOOT)
Poonam Aggrwala2ec1352011-02-09 19:17:53 +0000348/* eSPI - Enhanced SPI */
Dipen Dudhat2f143ed2011-07-28 14:47:28 -0500349#endif
Poonam Aggrwala2ec1352011-02-09 19:17:53 +0000350
Poonam Aggrwala2ec1352011-02-09 19:17:53 +0000351#ifdef CONFIG_MMC
Tom Rini376b88a2022-10-28 20:27:13 -0400352#define CFG_SYS_FSL_ESDHC_ADDR CFG_SYS_MPC85xx_ESDHC_ADDR
Poonam Aggrwala2ec1352011-02-09 19:17:53 +0000353#endif
354
Poonam Aggrwala2ec1352011-02-09 19:17:53 +0000355/*
356 * Environment
357 */
Tom Rini5989fd42022-06-20 08:07:42 -0400358#if defined(CONFIG_MTD_RAW_NAND)
Ying Zhang1233cbc2014-01-24 15:50:09 +0800359#ifdef CONFIG_TPL_BUILD
Tom Rini6a5dccc2022-11-16 13:10:41 -0500360#define SPL_ENV_ADDR (CFG_SYS_INIT_L2_ADDR + (160 << 10))
Ying Zhang1233cbc2014-01-24 15:50:09 +0800361#endif
Poonam Aggrwala2ec1352011-02-09 19:17:53 +0000362#endif
363
Tom Riniceed5d22017-05-12 22:33:27 -0400364#if defined(CONFIG_MMC) || defined(CONFIG_USB_EHCI_HCD) \
Poonam Aggrwala2ec1352011-02-09 19:17:53 +0000365 || defined(CONFIG_FSL_SATA)
Poonam Aggrwala2ec1352011-02-09 19:17:53 +0000366#endif
367
368/*
369 * Miscellaneous configurable options
370 */
Poonam Aggrwala2ec1352011-02-09 19:17:53 +0000371
Poonam Aggrwala2ec1352011-02-09 19:17:53 +0000372/*
Poonam Aggrwala2ec1352011-02-09 19:17:53 +0000373 * For booting Linux, the board info and command line data
374 * have to be in the first 64 MB of memory, since this is
375 * the maximum mapped by the Linux kernel during initialization.
376 */
Tom Rini6a5dccc2022-11-16 13:10:41 -0500377#define CFG_SYS_BOOTMAPSZ (64 << 20) /* Initial Memory map for Linux */
Poonam Aggrwala2ec1352011-02-09 19:17:53 +0000378
Poonam Aggrwala2ec1352011-02-09 19:17:53 +0000379/*
380 * Environment Configuration
381 */
382
Poonam Aggrwala2ec1352011-02-09 19:17:53 +0000383#define CONFIG_EXTRA_ENV_SETTINGS \
Marek Vasut0b3176c2012-09-23 17:41:24 +0200384 "hwconfig=" __stringify(CONFIG_DEF_HWCONFIG) "\0" \
Poonam Aggrwala2ec1352011-02-09 19:17:53 +0000385 "netdev=eth0\0" \
Tom Rini1479a832022-12-02 16:42:27 -0500386 "uboot=" CONFIG_UBOOTPATH "\0" \
Poonam Aggrwala2ec1352011-02-09 19:17:53 +0000387 "loadaddr=1000000\0" \
388 "consoledev=ttyS0\0" \
389 "ramdiskaddr=2000000\0" \
390 "ramdiskfile=rootfs.ext2.gz.uboot\0" \
Scott Woodb7f4b852016-07-19 17:52:06 -0500391 "fdtaddr=1e00000\0" \
Poonam Aggrwala2ec1352011-02-09 19:17:53 +0000392 "fdtfile=p1010rdb.dtb\0" \
393 "bdev=sda1\0" \
394 "hwconfig=usb1:dr_mode=host,phy_type=utmi\0" \
395 "othbootargs=ramdisk_size=600000\0" \
396 "usbfatboot=setenv bootargs root=/dev/ram rw " \
397 "console=$consoledev,$baudrate $othbootargs; " \
398 "usb start;" \
399 "fatload usb 0:2 $loadaddr $bootfile;" \
400 "fatload usb 0:2 $fdtaddr $fdtfile;" \
401 "fatload usb 0:2 $ramdiskaddr $ramdiskfile;" \
402 "bootm $loadaddr $ramdiskaddr $fdtaddr\0" \
403 "usbext2boot=setenv bootargs root=/dev/ram rw " \
404 "console=$consoledev,$baudrate $othbootargs; " \
405 "usb start;" \
406 "ext2load usb 0:4 $loadaddr $bootfile;" \
407 "ext2load usb 0:4 $fdtaddr $fdtfile;" \
408 "ext2load usb 0:4 $ramdiskaddr $ramdiskfile;" \
Shengzhou Liuf0af4382013-09-13 14:46:03 +0800409 "bootm $loadaddr $ramdiskaddr $fdtaddr\0" \
Tom Rini8cd5d372022-02-25 11:19:49 -0500410 BOOTMODE
Shengzhou Liuf0af4382013-09-13 14:46:03 +0800411
York Sun7f945ca2016-11-16 13:30:06 -0800412#if defined(CONFIG_TARGET_P1010RDB_PA)
Tom Rini8cd5d372022-02-25 11:19:49 -0500413#define BOOTMODE \
Shengzhou Liuf0af4382013-09-13 14:46:03 +0800414 "boot_bank0=i2c dev 0; i2c mw 18 1 f1; i2c mw 18 3 f0;" \
415 "mw.b ffb00011 0; mw.b ffb00009 0; reset\0" \
416 "boot_bank1=i2c dev 0; i2c mw 18 1 f1; i2c mw 18 3 f0;" \
417 "mw.b ffb00011 0; mw.b ffb00009 1; reset\0" \
418 "boot_nand=i2c dev 0; i2c mw 18 1 f9; i2c mw 18 3 f0;" \
419 "mw.b ffb00011 0; mw.b ffb00017 1; reset\0"
420
York Sun7f945ca2016-11-16 13:30:06 -0800421#elif defined(CONFIG_TARGET_P1010RDB_PB)
Tom Rini8cd5d372022-02-25 11:19:49 -0500422#define BOOTMODE \
Shengzhou Liuf0af4382013-09-13 14:46:03 +0800423 "boot_bank0=i2c dev 0; i2c mw 18 1 fe; i2c mw 18 3 0;" \
424 "i2c mw 19 1 2; i2c mw 19 3 e1; reset\0" \
425 "boot_bank1=i2c dev 0; i2c mw 18 1 fe; i2c mw 18 3 0;" \
426 "i2c mw 19 1 12; i2c mw 19 3 e1; reset\0" \
427 "boot_nand=i2c dev 0; i2c mw 18 1 fc; i2c mw 18 3 0;" \
428 "i2c mw 19 1 8; i2c mw 19 3 f7; reset\0" \
429 "boot_spi=i2c dev 0; i2c mw 18 1 fa; i2c mw 18 3 0;" \
430 "i2c mw 19 1 0; i2c mw 19 3 f7; reset\0" \
431 "boot_sd=i2c dev 0; i2c mw 18 1 f8; i2c mw 18 3 0;" \
432 "i2c mw 19 1 4; i2c mw 19 3 f3; reset\0"
433#endif
Poonam Aggrwala2ec1352011-02-09 19:17:53 +0000434
Ruchika Guptab36ccc52011-06-08 22:52:48 -0500435#include <asm/fsl_secure_boot.h>
Ruchika Guptab36ccc52011-06-08 22:52:48 -0500436
Poonam Aggrwala2ec1352011-02-09 19:17:53 +0000437#endif /* __CONFIG_H */