xref: /rk3399_rockchip-uboot/include/configs/ls1046aqds.h (revision e090579d0a2d1aa38eab94b98877de9bcdd4f31d)
1126fe70dSShaohui Xie /*
2126fe70dSShaohui Xie  * Copyright 2016 Freescale Semiconductor, Inc.
3126fe70dSShaohui Xie  *
4126fe70dSShaohui Xie  * SPDX-License-Identifier:	GPL-2.0+
5126fe70dSShaohui Xie  */
6126fe70dSShaohui Xie 
7126fe70dSShaohui Xie #ifndef __LS1046AQDS_H__
8126fe70dSShaohui Xie #define __LS1046AQDS_H__
9126fe70dSShaohui Xie 
10126fe70dSShaohui Xie #include "ls1046a_common.h"
11126fe70dSShaohui Xie 
12126fe70dSShaohui Xie #if defined(CONFIG_NAND_BOOT) || defined(CONFIG_SD_BOOT)
13126fe70dSShaohui Xie #define CONFIG_SYS_TEXT_BASE		0x82000000
14126fe70dSShaohui Xie #elif defined(CONFIG_QSPI_BOOT)
158104deb2SAlison Wang #define CONFIG_SYS_TEXT_BASE		0x40100000
16126fe70dSShaohui Xie #else
17126fe70dSShaohui Xie #define CONFIG_SYS_TEXT_BASE		0x60100000
18126fe70dSShaohui Xie #endif
19126fe70dSShaohui Xie 
20126fe70dSShaohui Xie #ifndef __ASSEMBLY__
21126fe70dSShaohui Xie unsigned long get_board_sys_clk(void);
22126fe70dSShaohui Xie unsigned long get_board_ddr_clk(void);
23126fe70dSShaohui Xie #endif
24126fe70dSShaohui Xie 
25126fe70dSShaohui Xie #define CONFIG_SYS_CLK_FREQ		get_board_sys_clk()
26126fe70dSShaohui Xie #define CONFIG_DDR_CLK_FREQ		get_board_ddr_clk()
27126fe70dSShaohui Xie 
28126fe70dSShaohui Xie #define CONFIG_SKIP_LOWLEVEL_INIT
29126fe70dSShaohui Xie 
30126fe70dSShaohui Xie #define CONFIG_LAYERSCAPE_NS_ACCESS
31126fe70dSShaohui Xie 
32126fe70dSShaohui Xie #define CONFIG_DIMM_SLOTS_PER_CTLR	1
33126fe70dSShaohui Xie /* Physical Memory Map */
34126fe70dSShaohui Xie #define CONFIG_CHIP_SELECTS_PER_CTRL	4
35126fe70dSShaohui Xie #define CONFIG_NR_DRAM_BANKS		2
36126fe70dSShaohui Xie 
37126fe70dSShaohui Xie #define CONFIG_DDR_SPD
38126fe70dSShaohui Xie #define SPD_EEPROM_ADDRESS		0x51
39126fe70dSShaohui Xie #define CONFIG_SYS_SPD_BUS_NUM		0
40126fe70dSShaohui Xie 
41dc760aedSHou Zhiqiang #ifndef CONFIG_SPL
42126fe70dSShaohui Xie #define CONFIG_FSL_DDR_INTERACTIVE	/* Interactive debugging */
43dc760aedSHou Zhiqiang #endif
44126fe70dSShaohui Xie 
45126fe70dSShaohui Xie #define CONFIG_DDR_ECC
46126fe70dSShaohui Xie #ifdef CONFIG_DDR_ECC
47126fe70dSShaohui Xie #define CONFIG_ECC_INIT_VIA_DDRCONTROLLER
48126fe70dSShaohui Xie #define CONFIG_MEM_INIT_VALUE           0xdeadbeef
49126fe70dSShaohui Xie #endif
50126fe70dSShaohui Xie 
51126fe70dSShaohui Xie /* DSPI */
52126fe70dSShaohui Xie #ifdef CONFIG_FSL_DSPI
53126fe70dSShaohui Xie #define CONFIG_SPI_FLASH_STMICRO	/* cs0 */
54126fe70dSShaohui Xie #define CONFIG_SPI_FLASH_SST		/* cs1 */
55126fe70dSShaohui Xie #define CONFIG_SPI_FLASH_EON		/* cs2 */
56126fe70dSShaohui Xie #if !defined(CONFIG_QSPI_BOOT) && !defined(CONFIG_SD_BOOT_QSPI)
57126fe70dSShaohui Xie #define CONFIG_SF_DEFAULT_BUS		1
58126fe70dSShaohui Xie #define CONFIG_SF_DEFAULT_CS		0
59126fe70dSShaohui Xie #endif
60126fe70dSShaohui Xie #endif
61126fe70dSShaohui Xie 
62126fe70dSShaohui Xie /* QSPI */
63126fe70dSShaohui Xie #if defined(CONFIG_QSPI_BOOT) || defined(CONFIG_SD_BOOT_QSPI)
64126fe70dSShaohui Xie #ifdef CONFIG_FSL_QSPI
65126fe70dSShaohui Xie #define CONFIG_SPI_FLASH_SPANSION
66126fe70dSShaohui Xie #define FSL_QSPI_FLASH_SIZE		(1 << 24)
67126fe70dSShaohui Xie #define FSL_QSPI_FLASH_NUM		2
68126fe70dSShaohui Xie #endif
69126fe70dSShaohui Xie #endif
70126fe70dSShaohui Xie 
71126fe70dSShaohui Xie #ifdef CONFIG_SYS_DPAA_FMAN
72126fe70dSShaohui Xie #define CONFIG_FMAN_ENET
73126fe70dSShaohui Xie #define CONFIG_PHY_VITESSE
74126fe70dSShaohui Xie #define CONFIG_PHY_REALTEK
75126fe70dSShaohui Xie #define CONFIG_PHYLIB_10G
76126fe70dSShaohui Xie #define RGMII_PHY1_ADDR		0x1
77126fe70dSShaohui Xie #define RGMII_PHY2_ADDR		0x2
78126fe70dSShaohui Xie #define SGMII_CARD_PORT1_PHY_ADDR 0x1C
79126fe70dSShaohui Xie #define SGMII_CARD_PORT2_PHY_ADDR 0x1D
80126fe70dSShaohui Xie #define SGMII_CARD_PORT3_PHY_ADDR 0x1E
81126fe70dSShaohui Xie #define SGMII_CARD_PORT4_PHY_ADDR 0x1F
82126fe70dSShaohui Xie /* PHY address on QSGMII riser card on slot 2 */
83126fe70dSShaohui Xie #define QSGMII_CARD_PORT1_PHY_ADDR_S2 0x8
84126fe70dSShaohui Xie #define QSGMII_CARD_PORT2_PHY_ADDR_S2 0x9
85126fe70dSShaohui Xie #define QSGMII_CARD_PORT3_PHY_ADDR_S2 0xA
86126fe70dSShaohui Xie #define QSGMII_CARD_PORT4_PHY_ADDR_S2 0xB
87126fe70dSShaohui Xie #endif
88126fe70dSShaohui Xie 
89126fe70dSShaohui Xie #ifdef CONFIG_RAMBOOT_PBL
90126fe70dSShaohui Xie #define CONFIG_SYS_FSL_PBL_PBI \
91126fe70dSShaohui Xie 	board/freescale/ls1046aqds/ls1046aqds_pbi.cfg
92126fe70dSShaohui Xie #endif
93126fe70dSShaohui Xie 
94126fe70dSShaohui Xie #ifdef CONFIG_NAND_BOOT
95126fe70dSShaohui Xie #define CONFIG_SYS_FSL_PBL_RCW \
96126fe70dSShaohui Xie 	board/freescale/ls1046aqds/ls1046aqds_rcw_nand.cfg
97126fe70dSShaohui Xie #endif
98126fe70dSShaohui Xie 
99126fe70dSShaohui Xie #ifdef CONFIG_SD_BOOT
100126fe70dSShaohui Xie #ifdef CONFIG_SD_BOOT_QSPI
101126fe70dSShaohui Xie #define CONFIG_SYS_FSL_PBL_RCW \
102126fe70dSShaohui Xie 	board/freescale/ls1046aqds/ls1046aqds_rcw_sd_qspi.cfg
103126fe70dSShaohui Xie #else
104126fe70dSShaohui Xie #define CONFIG_SYS_FSL_PBL_RCW \
105126fe70dSShaohui Xie 	board/freescale/ls1046aqds/ls1046aqds_rcw_sd_ifc.cfg
106126fe70dSShaohui Xie #endif
107126fe70dSShaohui Xie #endif
108126fe70dSShaohui Xie 
109126fe70dSShaohui Xie /* IFC */
110126fe70dSShaohui Xie #if !defined(CONFIG_QSPI_BOOT) && !defined(CONFIG_SD_BOOT_QSPI)
111126fe70dSShaohui Xie #define	CONFIG_FSL_IFC
112126fe70dSShaohui Xie /*
113126fe70dSShaohui Xie  * CONFIG_SYS_FLASH_BASE has the final address (core view)
114126fe70dSShaohui Xie  * CONFIG_SYS_FLASH_BASE_PHYS has the final address (IFC view)
115126fe70dSShaohui Xie  * CONFIG_SYS_FLASH_BASE_PHYS_EARLY has the temporary IFC address
116126fe70dSShaohui Xie  * CONFIG_SYS_TEXT_BASE is linked to 0x60000000 for booting
117126fe70dSShaohui Xie  */
118126fe70dSShaohui Xie #define CONFIG_SYS_FLASH_BASE			0x60000000
119126fe70dSShaohui Xie #define CONFIG_SYS_FLASH_BASE_PHYS		CONFIG_SYS_FLASH_BASE
120126fe70dSShaohui Xie #define CONFIG_SYS_FLASH_BASE_PHYS_EARLY	0x00000000
121126fe70dSShaohui Xie 
122e856bdcfSMasahiro Yamada #ifdef CONFIG_MTD_NOR_FLASH
123126fe70dSShaohui Xie #define CONFIG_FLASH_CFI_DRIVER
124126fe70dSShaohui Xie #define CONFIG_SYS_FLASH_CFI
125126fe70dSShaohui Xie #define CONFIG_SYS_FLASH_USE_BUFFER_WRITE
126126fe70dSShaohui Xie #define CONFIG_SYS_FLASH_QUIET_TEST
127126fe70dSShaohui Xie #define CONFIG_FLASH_SHOW_PROGRESS	45	/* count down from 45/5: 9..1 */
128126fe70dSShaohui Xie #endif
129126fe70dSShaohui Xie #endif
130126fe70dSShaohui Xie 
131fdc2b54cSShaohui Xie /* LPUART */
132fdc2b54cSShaohui Xie #ifdef CONFIG_LPUART
133fdc2b54cSShaohui Xie #define CONFIG_LPUART_32B_REG
134fdc2b54cSShaohui Xie #define CFG_UART_MUX_MASK	0x6
135fdc2b54cSShaohui Xie #define CFG_UART_MUX_SHIFT	1
136fdc2b54cSShaohui Xie #define CFG_LPUART_EN		0x2
137fdc2b54cSShaohui Xie #endif
138fdc2b54cSShaohui Xie 
13970d3287eSTang Yuantian /* USB */
14070d3287eSTang Yuantian #define CONFIG_HAS_FSL_XHCI_USB
14170d3287eSTang Yuantian #ifdef CONFIG_HAS_FSL_XHCI_USB
14270d3287eSTang Yuantian #define CONFIG_USB_XHCI_FSL
14370d3287eSTang Yuantian #define CONFIG_USB_MAX_CONTROLLER_COUNT         3
14470d3287eSTang Yuantian #endif
14570d3287eSTang Yuantian 
146126fe70dSShaohui Xie /* SATA */
147126fe70dSShaohui Xie #define CONFIG_LIBATA
148126fe70dSShaohui Xie #define CONFIG_SCSI_AHCI
149126fe70dSShaohui Xie #define CONFIG_SCSI_AHCI_PLAT
150126fe70dSShaohui Xie 
151126fe70dSShaohui Xie /* EEPROM */
152126fe70dSShaohui Xie #define CONFIG_ID_EEPROM
153126fe70dSShaohui Xie #define CONFIG_SYS_I2C_EEPROM_NXID
154126fe70dSShaohui Xie #define CONFIG_SYS_EEPROM_BUS_NUM		0
155126fe70dSShaohui Xie #define CONFIG_SYS_I2C_EEPROM_ADDR		0x57
156126fe70dSShaohui Xie #define CONFIG_SYS_I2C_EEPROM_ADDR_LEN		1
157126fe70dSShaohui Xie #define CONFIG_SYS_EEPROM_PAGE_WRITE_BITS	3
158126fe70dSShaohui Xie #define CONFIG_SYS_EEPROM_PAGE_WRITE_DELAY_MS	5
159126fe70dSShaohui Xie 
160126fe70dSShaohui Xie #define CONFIG_SYS_SATA				AHCI_BASE_ADDR
161126fe70dSShaohui Xie 
162126fe70dSShaohui Xie #define CONFIG_SYS_SCSI_MAX_SCSI_ID		1
163126fe70dSShaohui Xie #define CONFIG_SYS_SCSI_MAX_LUN			1
164126fe70dSShaohui Xie #define CONFIG_SYS_SCSI_MAX_DEVICE		(CONFIG_SYS_SCSI_MAX_SCSI_ID * \
165126fe70dSShaohui Xie 						CONFIG_SYS_SCSI_MAX_LUN)
166126fe70dSShaohui Xie 
167126fe70dSShaohui Xie /*
168126fe70dSShaohui Xie  * IFC Definitions
169126fe70dSShaohui Xie  */
170126fe70dSShaohui Xie #if !defined(CONFIG_QSPI_BOOT) && !defined(CONFIG_SD_BOOT_QSPI)
171126fe70dSShaohui Xie #define CONFIG_SYS_NOR0_CSPR_EXT	(0x0)
172126fe70dSShaohui Xie #define CONFIG_SYS_NOR0_CSPR	(CSPR_PHYS_ADDR(CONFIG_SYS_FLASH_BASE_PHYS) | \
173126fe70dSShaohui Xie 				CSPR_PORT_SIZE_16 | \
174126fe70dSShaohui Xie 				CSPR_MSEL_NOR | \
175126fe70dSShaohui Xie 				CSPR_V)
176126fe70dSShaohui Xie #define CONFIG_SYS_NOR1_CSPR_EXT	(0x0)
177126fe70dSShaohui Xie #define CONFIG_SYS_NOR1_CSPR	(CSPR_PHYS_ADDR(CONFIG_SYS_FLASH_BASE_PHYS \
178126fe70dSShaohui Xie 				+ 0x8000000) | \
179126fe70dSShaohui Xie 				CSPR_PORT_SIZE_16 | \
180126fe70dSShaohui Xie 				CSPR_MSEL_NOR | \
181126fe70dSShaohui Xie 				CSPR_V)
182126fe70dSShaohui Xie #define CONFIG_SYS_NOR_AMASK		IFC_AMASK(128 * 1024 * 1024)
183126fe70dSShaohui Xie 
184126fe70dSShaohui Xie #define CONFIG_SYS_NOR_CSOR		(CSOR_NOR_ADM_SHIFT(4) | \
185126fe70dSShaohui Xie 					CSOR_NOR_TRHZ_80)
186126fe70dSShaohui Xie #define CONFIG_SYS_NOR_FTIM0		(FTIM0_NOR_TACSE(0x4) | \
187126fe70dSShaohui Xie 					FTIM0_NOR_TEADC(0x5) | \
188126fe70dSShaohui Xie 					FTIM0_NOR_TEAHC(0x5))
189126fe70dSShaohui Xie #define CONFIG_SYS_NOR_FTIM1		(FTIM1_NOR_TACO(0x35) | \
190126fe70dSShaohui Xie 					FTIM1_NOR_TRAD_NOR(0x1a) | \
191126fe70dSShaohui Xie 					FTIM1_NOR_TSEQRAD_NOR(0x13))
192126fe70dSShaohui Xie #define CONFIG_SYS_NOR_FTIM2		(FTIM2_NOR_TCS(0x4) | \
193126fe70dSShaohui Xie 					FTIM2_NOR_TCH(0x4) | \
194126fe70dSShaohui Xie 					FTIM2_NOR_TWPH(0xe) | \
195126fe70dSShaohui Xie 					FTIM2_NOR_TWP(0x1c))
196126fe70dSShaohui Xie #define CONFIG_SYS_NOR_FTIM3		0
197126fe70dSShaohui Xie 
198126fe70dSShaohui Xie #define CONFIG_SYS_MAX_FLASH_BANKS	2	/* number of banks */
199126fe70dSShaohui Xie #define CONFIG_SYS_MAX_FLASH_SECT	1024	/* sectors per device */
200126fe70dSShaohui Xie #define CONFIG_SYS_FLASH_ERASE_TOUT	60000	/* Flash Erase Timeout (ms) */
201126fe70dSShaohui Xie #define CONFIG_SYS_FLASH_WRITE_TOUT	500	/* Flash Write Timeout (ms) */
202126fe70dSShaohui Xie 
203126fe70dSShaohui Xie #define CONFIG_SYS_FLASH_EMPTY_INFO
204126fe70dSShaohui Xie #define CONFIG_SYS_FLASH_BANKS_LIST	{CONFIG_SYS_FLASH_BASE_PHYS, \
205126fe70dSShaohui Xie 					CONFIG_SYS_FLASH_BASE_PHYS + 0x8000000}
206126fe70dSShaohui Xie 
207126fe70dSShaohui Xie #define CONFIG_CFI_FLASH_USE_WEAK_ACCESSORS
208126fe70dSShaohui Xie #define CONFIG_SYS_WRITE_SWAPPED_DATA
209126fe70dSShaohui Xie 
210126fe70dSShaohui Xie /*
211126fe70dSShaohui Xie  * NAND Flash Definitions
212126fe70dSShaohui Xie  */
213126fe70dSShaohui Xie #define CONFIG_NAND_FSL_IFC
214126fe70dSShaohui Xie 
215126fe70dSShaohui Xie #define CONFIG_SYS_NAND_BASE		0x7e800000
216126fe70dSShaohui Xie #define CONFIG_SYS_NAND_BASE_PHYS	CONFIG_SYS_NAND_BASE
217126fe70dSShaohui Xie 
218126fe70dSShaohui Xie #define CONFIG_SYS_NAND_CSPR_EXT	(0x0)
219126fe70dSShaohui Xie 
220126fe70dSShaohui Xie #define CONFIG_SYS_NAND_CSPR	(CSPR_PHYS_ADDR(CONFIG_SYS_NAND_BASE_PHYS) \
221126fe70dSShaohui Xie 				| CSPR_PORT_SIZE_8	\
222126fe70dSShaohui Xie 				| CSPR_MSEL_NAND	\
223126fe70dSShaohui Xie 				| CSPR_V)
224126fe70dSShaohui Xie #define CONFIG_SYS_NAND_AMASK	IFC_AMASK(64*1024)
225126fe70dSShaohui Xie #define CONFIG_SYS_NAND_CSOR	(CSOR_NAND_ECC_ENC_EN	/* ECC on encode */ \
226126fe70dSShaohui Xie 				| CSOR_NAND_ECC_DEC_EN	/* ECC on decode */ \
227126fe70dSShaohui Xie 				| CSOR_NAND_ECC_MODE_8	/* 8-bit ECC */ \
228126fe70dSShaohui Xie 				| CSOR_NAND_RAL_3	/* RAL = 3 Bytes */ \
229126fe70dSShaohui Xie 				| CSOR_NAND_PGS_4K	/* Page Size = 4K */ \
230126fe70dSShaohui Xie 				| CSOR_NAND_SPRZ_224	/* Spare size = 224 */ \
231126fe70dSShaohui Xie 				| CSOR_NAND_PB(64))	/* 64 Pages Per Block */
232126fe70dSShaohui Xie 
233126fe70dSShaohui Xie #define CONFIG_SYS_NAND_ONFI_DETECTION
234126fe70dSShaohui Xie 
235126fe70dSShaohui Xie #define CONFIG_SYS_NAND_FTIM0		(FTIM0_NAND_TCCST(0x7) | \
236126fe70dSShaohui Xie 					FTIM0_NAND_TWP(0x18)   | \
237126fe70dSShaohui Xie 					FTIM0_NAND_TWCHT(0x7) | \
238126fe70dSShaohui Xie 					FTIM0_NAND_TWH(0xa))
239126fe70dSShaohui Xie #define CONFIG_SYS_NAND_FTIM1		(FTIM1_NAND_TADLE(0x32) | \
240126fe70dSShaohui Xie 					FTIM1_NAND_TWBE(0x39)  | \
241126fe70dSShaohui Xie 					FTIM1_NAND_TRR(0xe)   | \
242126fe70dSShaohui Xie 					FTIM1_NAND_TRP(0x18))
243126fe70dSShaohui Xie #define CONFIG_SYS_NAND_FTIM2		(FTIM2_NAND_TRAD(0xf) | \
244126fe70dSShaohui Xie 					FTIM2_NAND_TREH(0xa) | \
245126fe70dSShaohui Xie 					FTIM2_NAND_TWHRE(0x1e))
246126fe70dSShaohui Xie #define CONFIG_SYS_NAND_FTIM3           0x0
247126fe70dSShaohui Xie 
248126fe70dSShaohui Xie #define CONFIG_SYS_NAND_BASE_LIST	{ CONFIG_SYS_NAND_BASE }
249126fe70dSShaohui Xie #define CONFIG_SYS_MAX_NAND_DEVICE	1
250126fe70dSShaohui Xie #define CONFIG_MTD_NAND_VERIFY_WRITE
251126fe70dSShaohui Xie 
252126fe70dSShaohui Xie #define CONFIG_SYS_NAND_BLOCK_SIZE	(256 * 1024)
253126fe70dSShaohui Xie #endif
254126fe70dSShaohui Xie 
255126fe70dSShaohui Xie #ifdef CONFIG_NAND_BOOT
256126fe70dSShaohui Xie #define CONFIG_SPL_PAD_TO		0x40000		/* block aligned */
257126fe70dSShaohui Xie #define CONFIG_SYS_NAND_U_BOOT_OFFS	CONFIG_SPL_PAD_TO
258126fe70dSShaohui Xie #define CONFIG_SYS_NAND_U_BOOT_SIZE	(768 << 10)
259126fe70dSShaohui Xie #endif
260126fe70dSShaohui Xie 
261126fe70dSShaohui Xie #if defined(CONFIG_QSPI_BOOT) || defined(CONFIG_SD_BOOT_QSPI)
262126fe70dSShaohui Xie #define CONFIG_QIXIS_I2C_ACCESS
263126fe70dSShaohui Xie #define CONFIG_SYS_I2C_EARLY_INIT
264126fe70dSShaohui Xie #endif
265126fe70dSShaohui Xie 
266126fe70dSShaohui Xie /*
267126fe70dSShaohui Xie  * QIXIS Definitions
268126fe70dSShaohui Xie  */
269126fe70dSShaohui Xie #define CONFIG_FSL_QIXIS
270126fe70dSShaohui Xie 
271126fe70dSShaohui Xie #ifdef CONFIG_FSL_QIXIS
272126fe70dSShaohui Xie #define QIXIS_BASE			0x7fb00000
273126fe70dSShaohui Xie #define QIXIS_BASE_PHYS			QIXIS_BASE
274126fe70dSShaohui Xie #define CONFIG_SYS_I2C_FPGA_ADDR	0x66
275126fe70dSShaohui Xie #define QIXIS_LBMAP_SWITCH		6
276126fe70dSShaohui Xie #define QIXIS_LBMAP_MASK		0x0f
277126fe70dSShaohui Xie #define QIXIS_LBMAP_SHIFT		0
278126fe70dSShaohui Xie #define QIXIS_LBMAP_DFLTBANK		0x00
279126fe70dSShaohui Xie #define QIXIS_LBMAP_ALTBANK		0x04
280126fe70dSShaohui Xie #define QIXIS_LBMAP_NAND		0x09
281126fe70dSShaohui Xie #define QIXIS_LBMAP_SD			0x00
282126fe70dSShaohui Xie #define QIXIS_LBMAP_SD_QSPI		0xff
283126fe70dSShaohui Xie #define QIXIS_LBMAP_QSPI		0xff
284126fe70dSShaohui Xie #define QIXIS_RCW_SRC_NAND		0x110
285126fe70dSShaohui Xie #define QIXIS_RCW_SRC_SD		0x040
286126fe70dSShaohui Xie #define QIXIS_RCW_SRC_QSPI		0x045
287126fe70dSShaohui Xie #define QIXIS_RST_CTL_RESET		0x41
288126fe70dSShaohui Xie #define QIXIS_RCFG_CTL_RECONFIG_IDLE	0x20
289126fe70dSShaohui Xie #define QIXIS_RCFG_CTL_RECONFIG_START	0x21
290126fe70dSShaohui Xie #define QIXIS_RCFG_CTL_WATCHDOG_ENBLE	0x08
291126fe70dSShaohui Xie 
292126fe70dSShaohui Xie #define CONFIG_SYS_FPGA_CSPR_EXT	(0x0)
293126fe70dSShaohui Xie #define CONFIG_SYS_FPGA_CSPR		(CSPR_PHYS_ADDR(QIXIS_BASE_PHYS) | \
294126fe70dSShaohui Xie 					CSPR_PORT_SIZE_8 | \
295126fe70dSShaohui Xie 					CSPR_MSEL_GPCM | \
296126fe70dSShaohui Xie 					CSPR_V)
297126fe70dSShaohui Xie #define CONFIG_SYS_FPGA_AMASK		IFC_AMASK(64 * 1024)
298126fe70dSShaohui Xie #define CONFIG_SYS_FPGA_CSOR		(CSOR_NOR_ADM_SHIFT(4) | \
299126fe70dSShaohui Xie 					CSOR_NOR_NOR_MODE_AVD_NOR | \
300126fe70dSShaohui Xie 					CSOR_NOR_TRHZ_80)
301126fe70dSShaohui Xie 
302126fe70dSShaohui Xie /*
303126fe70dSShaohui Xie  * QIXIS Timing parameters for IFC GPCM
304126fe70dSShaohui Xie  */
305126fe70dSShaohui Xie #define CONFIG_SYS_FPGA_FTIM0		(FTIM0_GPCM_TACSE(0xc) | \
306126fe70dSShaohui Xie 					FTIM0_GPCM_TEADC(0x20) | \
307126fe70dSShaohui Xie 					FTIM0_GPCM_TEAHC(0x10))
308126fe70dSShaohui Xie #define CONFIG_SYS_FPGA_FTIM1		(FTIM1_GPCM_TACO(0x50) | \
309126fe70dSShaohui Xie 					FTIM1_GPCM_TRAD(0x1f))
310126fe70dSShaohui Xie #define CONFIG_SYS_FPGA_FTIM2		(FTIM2_GPCM_TCS(0x8) | \
311126fe70dSShaohui Xie 					FTIM2_GPCM_TCH(0x8) | \
312126fe70dSShaohui Xie 					FTIM2_GPCM_TWP(0xf0))
313126fe70dSShaohui Xie #define CONFIG_SYS_FPGA_FTIM3		0x0
314126fe70dSShaohui Xie #endif
315126fe70dSShaohui Xie 
316126fe70dSShaohui Xie #ifdef CONFIG_NAND_BOOT
317126fe70dSShaohui Xie #define CONFIG_SYS_CSPR0_EXT		CONFIG_SYS_NAND_CSPR_EXT
318126fe70dSShaohui Xie #define CONFIG_SYS_CSPR0		CONFIG_SYS_NAND_CSPR
319126fe70dSShaohui Xie #define CONFIG_SYS_AMASK0		CONFIG_SYS_NAND_AMASK
320126fe70dSShaohui Xie #define CONFIG_SYS_CSOR0		CONFIG_SYS_NAND_CSOR
321126fe70dSShaohui Xie #define CONFIG_SYS_CS0_FTIM0		CONFIG_SYS_NAND_FTIM0
322126fe70dSShaohui Xie #define CONFIG_SYS_CS0_FTIM1		CONFIG_SYS_NAND_FTIM1
323126fe70dSShaohui Xie #define CONFIG_SYS_CS0_FTIM2		CONFIG_SYS_NAND_FTIM2
324126fe70dSShaohui Xie #define CONFIG_SYS_CS0_FTIM3		CONFIG_SYS_NAND_FTIM3
325126fe70dSShaohui Xie #define CONFIG_SYS_CSPR1_EXT		CONFIG_SYS_NOR0_CSPR_EXT
326126fe70dSShaohui Xie #define CONFIG_SYS_CSPR1		CONFIG_SYS_NOR0_CSPR
327126fe70dSShaohui Xie #define CONFIG_SYS_AMASK1		CONFIG_SYS_NOR_AMASK
328126fe70dSShaohui Xie #define CONFIG_SYS_CSOR1		CONFIG_SYS_NOR_CSOR
329126fe70dSShaohui Xie #define CONFIG_SYS_CS1_FTIM0		CONFIG_SYS_NOR_FTIM0
330126fe70dSShaohui Xie #define CONFIG_SYS_CS1_FTIM1		CONFIG_SYS_NOR_FTIM1
331126fe70dSShaohui Xie #define CONFIG_SYS_CS1_FTIM2		CONFIG_SYS_NOR_FTIM2
332126fe70dSShaohui Xie #define CONFIG_SYS_CS1_FTIM3		CONFIG_SYS_NOR_FTIM3
333126fe70dSShaohui Xie #define CONFIG_SYS_CSPR2_EXT		CONFIG_SYS_NOR1_CSPR_EXT
334126fe70dSShaohui Xie #define CONFIG_SYS_CSPR2		CONFIG_SYS_NOR1_CSPR
335126fe70dSShaohui Xie #define CONFIG_SYS_AMASK2		CONFIG_SYS_NOR_AMASK
336126fe70dSShaohui Xie #define CONFIG_SYS_CSOR2		CONFIG_SYS_NOR_CSOR
337126fe70dSShaohui Xie #define CONFIG_SYS_CS2_FTIM0		CONFIG_SYS_NOR_FTIM0
338126fe70dSShaohui Xie #define CONFIG_SYS_CS2_FTIM1		CONFIG_SYS_NOR_FTIM1
339126fe70dSShaohui Xie #define CONFIG_SYS_CS2_FTIM2		CONFIG_SYS_NOR_FTIM2
340126fe70dSShaohui Xie #define CONFIG_SYS_CS2_FTIM3		CONFIG_SYS_NOR_FTIM3
341126fe70dSShaohui Xie #define CONFIG_SYS_CSPR3_EXT		CONFIG_SYS_FPGA_CSPR_EXT
342126fe70dSShaohui Xie #define CONFIG_SYS_CSPR3		CONFIG_SYS_FPGA_CSPR
343126fe70dSShaohui Xie #define CONFIG_SYS_AMASK3		CONFIG_SYS_FPGA_AMASK
344126fe70dSShaohui Xie #define CONFIG_SYS_CSOR3		CONFIG_SYS_FPGA_CSOR
345126fe70dSShaohui Xie #define CONFIG_SYS_CS3_FTIM0		CONFIG_SYS_FPGA_FTIM0
346126fe70dSShaohui Xie #define CONFIG_SYS_CS3_FTIM1		CONFIG_SYS_FPGA_FTIM1
347126fe70dSShaohui Xie #define CONFIG_SYS_CS3_FTIM2		CONFIG_SYS_FPGA_FTIM2
348126fe70dSShaohui Xie #define CONFIG_SYS_CS3_FTIM3		CONFIG_SYS_FPGA_FTIM3
349126fe70dSShaohui Xie #else
350126fe70dSShaohui Xie #define CONFIG_SYS_CSPR0_EXT		CONFIG_SYS_NOR0_CSPR_EXT
351126fe70dSShaohui Xie #define CONFIG_SYS_CSPR0		CONFIG_SYS_NOR0_CSPR
352126fe70dSShaohui Xie #define CONFIG_SYS_AMASK0		CONFIG_SYS_NOR_AMASK
353126fe70dSShaohui Xie #define CONFIG_SYS_CSOR0		CONFIG_SYS_NOR_CSOR
354126fe70dSShaohui Xie #define CONFIG_SYS_CS0_FTIM0		CONFIG_SYS_NOR_FTIM0
355126fe70dSShaohui Xie #define CONFIG_SYS_CS0_FTIM1		CONFIG_SYS_NOR_FTIM1
356126fe70dSShaohui Xie #define CONFIG_SYS_CS0_FTIM2		CONFIG_SYS_NOR_FTIM2
357126fe70dSShaohui Xie #define CONFIG_SYS_CS0_FTIM3		CONFIG_SYS_NOR_FTIM3
358126fe70dSShaohui Xie #define CONFIG_SYS_CSPR1_EXT		CONFIG_SYS_NOR1_CSPR_EXT
359126fe70dSShaohui Xie #define CONFIG_SYS_CSPR1		CONFIG_SYS_NOR1_CSPR
360126fe70dSShaohui Xie #define CONFIG_SYS_AMASK1		CONFIG_SYS_NOR_AMASK
361126fe70dSShaohui Xie #define CONFIG_SYS_CSOR1		CONFIG_SYS_NOR_CSOR
362126fe70dSShaohui Xie #define CONFIG_SYS_CS1_FTIM0		CONFIG_SYS_NOR_FTIM0
363126fe70dSShaohui Xie #define CONFIG_SYS_CS1_FTIM1		CONFIG_SYS_NOR_FTIM1
364126fe70dSShaohui Xie #define CONFIG_SYS_CS1_FTIM2		CONFIG_SYS_NOR_FTIM2
365126fe70dSShaohui Xie #define CONFIG_SYS_CS1_FTIM3		CONFIG_SYS_NOR_FTIM3
366126fe70dSShaohui Xie #define CONFIG_SYS_CSPR2_EXT		CONFIG_SYS_NAND_CSPR_EXT
367126fe70dSShaohui Xie #define CONFIG_SYS_CSPR2		CONFIG_SYS_NAND_CSPR
368126fe70dSShaohui Xie #define CONFIG_SYS_AMASK2		CONFIG_SYS_NAND_AMASK
369126fe70dSShaohui Xie #define CONFIG_SYS_CSOR2		CONFIG_SYS_NAND_CSOR
370126fe70dSShaohui Xie #define CONFIG_SYS_CS2_FTIM0		CONFIG_SYS_NAND_FTIM0
371126fe70dSShaohui Xie #define CONFIG_SYS_CS2_FTIM1		CONFIG_SYS_NAND_FTIM1
372126fe70dSShaohui Xie #define CONFIG_SYS_CS2_FTIM2		CONFIG_SYS_NAND_FTIM2
373126fe70dSShaohui Xie #define CONFIG_SYS_CS2_FTIM3		CONFIG_SYS_NAND_FTIM3
374126fe70dSShaohui Xie #define CONFIG_SYS_CSPR3_EXT		CONFIG_SYS_FPGA_CSPR_EXT
375126fe70dSShaohui Xie #define CONFIG_SYS_CSPR3		CONFIG_SYS_FPGA_CSPR
376126fe70dSShaohui Xie #define CONFIG_SYS_AMASK3		CONFIG_SYS_FPGA_AMASK
377126fe70dSShaohui Xie #define CONFIG_SYS_CSOR3		CONFIG_SYS_FPGA_CSOR
378126fe70dSShaohui Xie #define CONFIG_SYS_CS3_FTIM0		CONFIG_SYS_FPGA_FTIM0
379126fe70dSShaohui Xie #define CONFIG_SYS_CS3_FTIM1		CONFIG_SYS_FPGA_FTIM1
380126fe70dSShaohui Xie #define CONFIG_SYS_CS3_FTIM2		CONFIG_SYS_FPGA_FTIM2
381126fe70dSShaohui Xie #define CONFIG_SYS_CS3_FTIM3		CONFIG_SYS_FPGA_FTIM3
382126fe70dSShaohui Xie #endif
383126fe70dSShaohui Xie 
384126fe70dSShaohui Xie /*
385126fe70dSShaohui Xie  * I2C bus multiplexer
386126fe70dSShaohui Xie  */
387126fe70dSShaohui Xie #define I2C_MUX_PCA_ADDR_PRI		0x77
388126fe70dSShaohui Xie #define I2C_MUX_PCA_ADDR_SEC		0x76 /* Secondary multiplexer */
389126fe70dSShaohui Xie #define I2C_RETIMER_ADDR		0x18
390126fe70dSShaohui Xie #define I2C_MUX_CH_DEFAULT		0x8
391126fe70dSShaohui Xie #define I2C_MUX_CH_CH7301		0xC
392126fe70dSShaohui Xie #define I2C_MUX_CH5			0xD
393126fe70dSShaohui Xie #define I2C_MUX_CH6			0xE
394126fe70dSShaohui Xie #define I2C_MUX_CH7			0xF
395126fe70dSShaohui Xie 
396126fe70dSShaohui Xie #define I2C_MUX_CH_VOL_MONITOR 0xa
397126fe70dSShaohui Xie 
398126fe70dSShaohui Xie /* Voltage monitor on channel 2*/
399126fe70dSShaohui Xie #define I2C_VOL_MONITOR_ADDR           0x40
400126fe70dSShaohui Xie #define I2C_VOL_MONITOR_BUS_V_OFFSET   0x2
401126fe70dSShaohui Xie #define I2C_VOL_MONITOR_BUS_V_OVF      0x1
402126fe70dSShaohui Xie #define I2C_VOL_MONITOR_BUS_V_SHIFT    3
403126fe70dSShaohui Xie 
404126fe70dSShaohui Xie #define CONFIG_VID_FLS_ENV		"ls1046aqds_vdd_mv"
405126fe70dSShaohui Xie #ifndef CONFIG_SPL_BUILD
406126fe70dSShaohui Xie #define CONFIG_VID
407126fe70dSShaohui Xie #endif
408126fe70dSShaohui Xie #define CONFIG_VOL_MONITOR_IR36021_SET
409126fe70dSShaohui Xie #define CONFIG_VOL_MONITOR_INA220
410126fe70dSShaohui Xie /* The lowest and highest voltage allowed for LS1046AQDS */
411126fe70dSShaohui Xie #define VDD_MV_MIN			819
412126fe70dSShaohui Xie #define VDD_MV_MAX			1212
413126fe70dSShaohui Xie 
414126fe70dSShaohui Xie /*
415126fe70dSShaohui Xie  * Miscellaneous configurable options
416126fe70dSShaohui Xie  */
417126fe70dSShaohui Xie #define CONFIG_MISC_INIT_R
418126fe70dSShaohui Xie #define CONFIG_SYS_LONGHELP		/* undef to save memory */
419126fe70dSShaohui Xie #define CONFIG_AUTO_COMPLETE
420126fe70dSShaohui Xie 
421126fe70dSShaohui Xie #define CONFIG_SYS_MEMTEST_START	0x80000000
422126fe70dSShaohui Xie #define CONFIG_SYS_MEMTEST_END		0x9fffffff
423126fe70dSShaohui Xie 
424126fe70dSShaohui Xie #define CONFIG_SYS_HZ			1000
425126fe70dSShaohui Xie 
426126fe70dSShaohui Xie #define CONFIG_SYS_INIT_SP_OFFSET \
427126fe70dSShaohui Xie 	(CONFIG_SYS_INIT_RAM_SIZE - GENERATED_GBL_DATA_SIZE)
428126fe70dSShaohui Xie 
429126fe70dSShaohui Xie #define CONFIG_SYS_MONITOR_BASE CONFIG_SYS_TEXT_BASE    /* start of monitor */
430126fe70dSShaohui Xie 
431126fe70dSShaohui Xie /*
432126fe70dSShaohui Xie  * Environment
433126fe70dSShaohui Xie  */
434126fe70dSShaohui Xie #define CONFIG_ENV_OVERWRITE
435126fe70dSShaohui Xie 
436126fe70dSShaohui Xie #ifdef CONFIG_NAND_BOOT
437126fe70dSShaohui Xie #define CONFIG_ENV_SIZE			0x2000
4388104deb2SAlison Wang #define CONFIG_ENV_OFFSET		(24 * CONFIG_SYS_NAND_BLOCK_SIZE)
439126fe70dSShaohui Xie #elif defined(CONFIG_SD_BOOT)
4408104deb2SAlison Wang #define CONFIG_ENV_OFFSET		(3 * 1024 * 1024)
441126fe70dSShaohui Xie #define CONFIG_SYS_MMC_ENV_DEV		0
442126fe70dSShaohui Xie #define CONFIG_ENV_SIZE			0x2000
443126fe70dSShaohui Xie #elif defined(CONFIG_QSPI_BOOT)
444126fe70dSShaohui Xie #define CONFIG_ENV_SIZE			0x2000          /* 8KB */
4458104deb2SAlison Wang #define CONFIG_ENV_OFFSET		0x300000        /* 3MB */
446126fe70dSShaohui Xie #define CONFIG_ENV_SECT_SIZE		0x10000
447126fe70dSShaohui Xie #else
4488104deb2SAlison Wang #define CONFIG_ENV_ADDR			(CONFIG_SYS_FLASH_BASE + 0x300000)
449126fe70dSShaohui Xie #define CONFIG_ENV_SECT_SIZE		0x20000
450126fe70dSShaohui Xie #define CONFIG_ENV_SIZE			0x20000
451126fe70dSShaohui Xie #endif
452126fe70dSShaohui Xie 
453126fe70dSShaohui Xie #define CONFIG_CMDLINE_TAG
454126fe70dSShaohui Xie 
455*8de227eeSQianyu Gong #undef CONFIG_BOOTCOMMAND
456126fe70dSShaohui Xie #if defined(CONFIG_QSPI_BOOT) || defined(CONFIG_SD_BOOT_QSPI)
457126fe70dSShaohui Xie #define CONFIG_BOOTCOMMAND		"sf probe && sf read $kernel_load "    \
458126fe70dSShaohui Xie 					"e0000 f00000 && bootm $kernel_load"
459126fe70dSShaohui Xie #else
460126fe70dSShaohui Xie #define CONFIG_BOOTCOMMAND		"cp.b $kernel_start $kernel_load "     \
461126fe70dSShaohui Xie 					"$kernel_size && bootm $kernel_load"
462126fe70dSShaohui Xie #endif
463126fe70dSShaohui Xie 
464126fe70dSShaohui Xie #if defined(CONFIG_QSPI_BOOT) || defined(CONFIG_SD_BOOT_QSPI)
465126fe70dSShaohui Xie #define MTDPARTS_DEFAULT "mtdparts=1550000.quadspi:2m(uboot)," \
466126fe70dSShaohui Xie 			"14m(free)"
467126fe70dSShaohui Xie #else
4687f339632SWenbin Song #define MTDPARTS_DEFAULT "mtdparts=60000000.nor:" \
4697f339632SWenbin Song 			"2m@0x100000(nor_bank0_uboot),"\
4707f339632SWenbin Song 			"40m@0x1100000(nor_bank0_fit)," \
4717f339632SWenbin Song 			"7m(nor_bank0_user)," \
4727f339632SWenbin Song 			"2m@0x4100000(nor_bank4_uboot)," \
4737f339632SWenbin Song 			"40m@0x5100000(nor_bank4_fit),"\
4747f339632SWenbin Song 			"-(nor_bank4_user);" \
4757f339632SWenbin Song 			"7e800000.flash:" \
476126fe70dSShaohui Xie 			"4m(nand_uboot),36m(nand_kernel)," \
477126fe70dSShaohui Xie 			"472m(nand_free);spi0.0:2m(uboot)," \
478126fe70dSShaohui Xie 			"14m(free)"
479126fe70dSShaohui Xie #endif
480126fe70dSShaohui Xie 
481126fe70dSShaohui Xie #include <asm/fsl_secure_boot.h>
482126fe70dSShaohui Xie 
483126fe70dSShaohui Xie #endif /* __LS1046AQDS_H__ */
484