xref: /rk3399_rockchip-uboot/include/configs/ls1046aqds.h (revision dc760aedb762edcd35e48aa6ee067fecc42e5840)
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)
15126fe70dSShaohui Xie #define CONFIG_SYS_TEXT_BASE		0x40010000
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 
41*dc760aedSHou Zhiqiang #ifndef CONFIG_SPL
42126fe70dSShaohui Xie #define CONFIG_FSL_DDR_INTERACTIVE	/* Interactive debugging */
43*dc760aedSHou 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_PHYLIB
74126fe70dSShaohui Xie #define CONFIG_PHY_VITESSE
75126fe70dSShaohui Xie #define CONFIG_PHY_REALTEK
76126fe70dSShaohui Xie #define CONFIG_PHYLIB_10G
77126fe70dSShaohui Xie #define RGMII_PHY1_ADDR		0x1
78126fe70dSShaohui Xie #define RGMII_PHY2_ADDR		0x2
79126fe70dSShaohui Xie #define SGMII_CARD_PORT1_PHY_ADDR 0x1C
80126fe70dSShaohui Xie #define SGMII_CARD_PORT2_PHY_ADDR 0x1D
81126fe70dSShaohui Xie #define SGMII_CARD_PORT3_PHY_ADDR 0x1E
82126fe70dSShaohui Xie #define SGMII_CARD_PORT4_PHY_ADDR 0x1F
83126fe70dSShaohui Xie /* PHY address on QSGMII riser card on slot 2 */
84126fe70dSShaohui Xie #define QSGMII_CARD_PORT1_PHY_ADDR_S2 0x8
85126fe70dSShaohui Xie #define QSGMII_CARD_PORT2_PHY_ADDR_S2 0x9
86126fe70dSShaohui Xie #define QSGMII_CARD_PORT3_PHY_ADDR_S2 0xA
87126fe70dSShaohui Xie #define QSGMII_CARD_PORT4_PHY_ADDR_S2 0xB
88126fe70dSShaohui Xie #endif
89126fe70dSShaohui Xie 
90126fe70dSShaohui Xie #ifdef CONFIG_RAMBOOT_PBL
91126fe70dSShaohui Xie #define CONFIG_SYS_FSL_PBL_PBI \
92126fe70dSShaohui Xie 	board/freescale/ls1046aqds/ls1046aqds_pbi.cfg
93126fe70dSShaohui Xie #endif
94126fe70dSShaohui Xie 
95126fe70dSShaohui Xie #ifdef CONFIG_NAND_BOOT
96126fe70dSShaohui Xie #define CONFIG_SYS_FSL_PBL_RCW \
97126fe70dSShaohui Xie 	board/freescale/ls1046aqds/ls1046aqds_rcw_nand.cfg
98126fe70dSShaohui Xie #endif
99126fe70dSShaohui Xie 
100126fe70dSShaohui Xie #ifdef CONFIG_SD_BOOT
101126fe70dSShaohui Xie #ifdef CONFIG_SD_BOOT_QSPI
102126fe70dSShaohui Xie #define CONFIG_SYS_FSL_PBL_RCW \
103126fe70dSShaohui Xie 	board/freescale/ls1046aqds/ls1046aqds_rcw_sd_qspi.cfg
104126fe70dSShaohui Xie #else
105126fe70dSShaohui Xie #define CONFIG_SYS_FSL_PBL_RCW \
106126fe70dSShaohui Xie 	board/freescale/ls1046aqds/ls1046aqds_rcw_sd_ifc.cfg
107126fe70dSShaohui Xie #endif
108126fe70dSShaohui Xie #endif
109126fe70dSShaohui Xie 
110126fe70dSShaohui Xie /* IFC */
111126fe70dSShaohui Xie #if !defined(CONFIG_QSPI_BOOT) && !defined(CONFIG_SD_BOOT_QSPI)
112126fe70dSShaohui Xie #define	CONFIG_FSL_IFC
113126fe70dSShaohui Xie /*
114126fe70dSShaohui Xie  * CONFIG_SYS_FLASH_BASE has the final address (core view)
115126fe70dSShaohui Xie  * CONFIG_SYS_FLASH_BASE_PHYS has the final address (IFC view)
116126fe70dSShaohui Xie  * CONFIG_SYS_FLASH_BASE_PHYS_EARLY has the temporary IFC address
117126fe70dSShaohui Xie  * CONFIG_SYS_TEXT_BASE is linked to 0x60000000 for booting
118126fe70dSShaohui Xie  */
119126fe70dSShaohui Xie #define CONFIG_SYS_FLASH_BASE			0x60000000
120126fe70dSShaohui Xie #define CONFIG_SYS_FLASH_BASE_PHYS		CONFIG_SYS_FLASH_BASE
121126fe70dSShaohui Xie #define CONFIG_SYS_FLASH_BASE_PHYS_EARLY	0x00000000
122126fe70dSShaohui Xie 
123e856bdcfSMasahiro Yamada #ifdef CONFIG_MTD_NOR_FLASH
124126fe70dSShaohui Xie #define CONFIG_FLASH_CFI_DRIVER
125126fe70dSShaohui Xie #define CONFIG_SYS_FLASH_CFI
126126fe70dSShaohui Xie #define CONFIG_SYS_FLASH_USE_BUFFER_WRITE
127126fe70dSShaohui Xie #define CONFIG_SYS_FLASH_QUIET_TEST
128126fe70dSShaohui Xie #define CONFIG_FLASH_SHOW_PROGRESS	45	/* count down from 45/5: 9..1 */
129126fe70dSShaohui Xie #endif
130126fe70dSShaohui Xie #endif
131126fe70dSShaohui Xie 
132fdc2b54cSShaohui Xie /* LPUART */
133fdc2b54cSShaohui Xie #ifdef CONFIG_LPUART
134fdc2b54cSShaohui Xie #define CONFIG_LPUART_32B_REG
135fdc2b54cSShaohui Xie #define CFG_UART_MUX_MASK	0x6
136fdc2b54cSShaohui Xie #define CFG_UART_MUX_SHIFT	1
137fdc2b54cSShaohui Xie #define CFG_LPUART_EN		0x2
138fdc2b54cSShaohui Xie #endif
139fdc2b54cSShaohui Xie 
14070d3287eSTang Yuantian /* USB */
14170d3287eSTang Yuantian #define CONFIG_HAS_FSL_XHCI_USB
14270d3287eSTang Yuantian #ifdef CONFIG_HAS_FSL_XHCI_USB
14370d3287eSTang Yuantian #define CONFIG_USB_XHCI_HCD
14470d3287eSTang Yuantian #define CONFIG_USB_XHCI_FSL
14570d3287eSTang Yuantian #define CONFIG_USB_XHCI_DWC3
14670d3287eSTang Yuantian #define CONFIG_USB_MAX_CONTROLLER_COUNT         3
14770d3287eSTang Yuantian #define CONFIG_SYS_USB_XHCI_MAX_ROOT_PORTS      2
14870d3287eSTang Yuantian #define CONFIG_CMD_USB
14970d3287eSTang Yuantian #define CONFIG_USB_STORAGE
15070d3287eSTang Yuantian #endif
15170d3287eSTang Yuantian 
152126fe70dSShaohui Xie /* SATA */
153126fe70dSShaohui Xie #define CONFIG_LIBATA
154126fe70dSShaohui Xie #define CONFIG_SCSI_AHCI
155126fe70dSShaohui Xie #define CONFIG_SCSI_AHCI_PLAT
156126fe70dSShaohui Xie #define CONFIG_SCSI
157126fe70dSShaohui Xie 
158126fe70dSShaohui Xie /* EEPROM */
159126fe70dSShaohui Xie #define CONFIG_ID_EEPROM
160126fe70dSShaohui Xie #define CONFIG_SYS_I2C_EEPROM_NXID
161126fe70dSShaohui Xie #define CONFIG_SYS_EEPROM_BUS_NUM		0
162126fe70dSShaohui Xie #define CONFIG_SYS_I2C_EEPROM_ADDR		0x57
163126fe70dSShaohui Xie #define CONFIG_SYS_I2C_EEPROM_ADDR_LEN		1
164126fe70dSShaohui Xie #define CONFIG_SYS_EEPROM_PAGE_WRITE_BITS	3
165126fe70dSShaohui Xie #define CONFIG_SYS_EEPROM_PAGE_WRITE_DELAY_MS	5
166126fe70dSShaohui Xie 
167126fe70dSShaohui Xie #define CONFIG_SYS_SATA				AHCI_BASE_ADDR
168126fe70dSShaohui Xie 
169126fe70dSShaohui Xie #define CONFIG_SYS_SCSI_MAX_SCSI_ID		1
170126fe70dSShaohui Xie #define CONFIG_SYS_SCSI_MAX_LUN			1
171126fe70dSShaohui Xie #define CONFIG_SYS_SCSI_MAX_DEVICE		(CONFIG_SYS_SCSI_MAX_SCSI_ID * \
172126fe70dSShaohui Xie 						CONFIG_SYS_SCSI_MAX_LUN)
173126fe70dSShaohui Xie 
174126fe70dSShaohui Xie /*
175126fe70dSShaohui Xie  * IFC Definitions
176126fe70dSShaohui Xie  */
177126fe70dSShaohui Xie #if !defined(CONFIG_QSPI_BOOT) && !defined(CONFIG_SD_BOOT_QSPI)
178126fe70dSShaohui Xie #define CONFIG_SYS_NOR0_CSPR_EXT	(0x0)
179126fe70dSShaohui Xie #define CONFIG_SYS_NOR0_CSPR	(CSPR_PHYS_ADDR(CONFIG_SYS_FLASH_BASE_PHYS) | \
180126fe70dSShaohui Xie 				CSPR_PORT_SIZE_16 | \
181126fe70dSShaohui Xie 				CSPR_MSEL_NOR | \
182126fe70dSShaohui Xie 				CSPR_V)
183126fe70dSShaohui Xie #define CONFIG_SYS_NOR1_CSPR_EXT	(0x0)
184126fe70dSShaohui Xie #define CONFIG_SYS_NOR1_CSPR	(CSPR_PHYS_ADDR(CONFIG_SYS_FLASH_BASE_PHYS \
185126fe70dSShaohui Xie 				+ 0x8000000) | \
186126fe70dSShaohui Xie 				CSPR_PORT_SIZE_16 | \
187126fe70dSShaohui Xie 				CSPR_MSEL_NOR | \
188126fe70dSShaohui Xie 				CSPR_V)
189126fe70dSShaohui Xie #define CONFIG_SYS_NOR_AMASK		IFC_AMASK(128 * 1024 * 1024)
190126fe70dSShaohui Xie 
191126fe70dSShaohui Xie #define CONFIG_SYS_NOR_CSOR		(CSOR_NOR_ADM_SHIFT(4) | \
192126fe70dSShaohui Xie 					CSOR_NOR_TRHZ_80)
193126fe70dSShaohui Xie #define CONFIG_SYS_NOR_FTIM0		(FTIM0_NOR_TACSE(0x4) | \
194126fe70dSShaohui Xie 					FTIM0_NOR_TEADC(0x5) | \
195126fe70dSShaohui Xie 					FTIM0_NOR_TEAHC(0x5))
196126fe70dSShaohui Xie #define CONFIG_SYS_NOR_FTIM1		(FTIM1_NOR_TACO(0x35) | \
197126fe70dSShaohui Xie 					FTIM1_NOR_TRAD_NOR(0x1a) | \
198126fe70dSShaohui Xie 					FTIM1_NOR_TSEQRAD_NOR(0x13))
199126fe70dSShaohui Xie #define CONFIG_SYS_NOR_FTIM2		(FTIM2_NOR_TCS(0x4) | \
200126fe70dSShaohui Xie 					FTIM2_NOR_TCH(0x4) | \
201126fe70dSShaohui Xie 					FTIM2_NOR_TWPH(0xe) | \
202126fe70dSShaohui Xie 					FTIM2_NOR_TWP(0x1c))
203126fe70dSShaohui Xie #define CONFIG_SYS_NOR_FTIM3		0
204126fe70dSShaohui Xie 
205126fe70dSShaohui Xie #define CONFIG_SYS_MAX_FLASH_BANKS	2	/* number of banks */
206126fe70dSShaohui Xie #define CONFIG_SYS_MAX_FLASH_SECT	1024	/* sectors per device */
207126fe70dSShaohui Xie #define CONFIG_SYS_FLASH_ERASE_TOUT	60000	/* Flash Erase Timeout (ms) */
208126fe70dSShaohui Xie #define CONFIG_SYS_FLASH_WRITE_TOUT	500	/* Flash Write Timeout (ms) */
209126fe70dSShaohui Xie 
210126fe70dSShaohui Xie #define CONFIG_SYS_FLASH_EMPTY_INFO
211126fe70dSShaohui Xie #define CONFIG_SYS_FLASH_BANKS_LIST	{CONFIG_SYS_FLASH_BASE_PHYS, \
212126fe70dSShaohui Xie 					CONFIG_SYS_FLASH_BASE_PHYS + 0x8000000}
213126fe70dSShaohui Xie 
214126fe70dSShaohui Xie #define CONFIG_CFI_FLASH_USE_WEAK_ACCESSORS
215126fe70dSShaohui Xie #define CONFIG_SYS_WRITE_SWAPPED_DATA
216126fe70dSShaohui Xie 
217126fe70dSShaohui Xie /*
218126fe70dSShaohui Xie  * NAND Flash Definitions
219126fe70dSShaohui Xie  */
220126fe70dSShaohui Xie #define CONFIG_NAND_FSL_IFC
221126fe70dSShaohui Xie 
222126fe70dSShaohui Xie #define CONFIG_SYS_NAND_BASE		0x7e800000
223126fe70dSShaohui Xie #define CONFIG_SYS_NAND_BASE_PHYS	CONFIG_SYS_NAND_BASE
224126fe70dSShaohui Xie 
225126fe70dSShaohui Xie #define CONFIG_SYS_NAND_CSPR_EXT	(0x0)
226126fe70dSShaohui Xie 
227126fe70dSShaohui Xie #define CONFIG_SYS_NAND_CSPR	(CSPR_PHYS_ADDR(CONFIG_SYS_NAND_BASE_PHYS) \
228126fe70dSShaohui Xie 				| CSPR_PORT_SIZE_8	\
229126fe70dSShaohui Xie 				| CSPR_MSEL_NAND	\
230126fe70dSShaohui Xie 				| CSPR_V)
231126fe70dSShaohui Xie #define CONFIG_SYS_NAND_AMASK	IFC_AMASK(64*1024)
232126fe70dSShaohui Xie #define CONFIG_SYS_NAND_CSOR	(CSOR_NAND_ECC_ENC_EN	/* ECC on encode */ \
233126fe70dSShaohui Xie 				| CSOR_NAND_ECC_DEC_EN	/* ECC on decode */ \
234126fe70dSShaohui Xie 				| CSOR_NAND_ECC_MODE_8	/* 8-bit ECC */ \
235126fe70dSShaohui Xie 				| CSOR_NAND_RAL_3	/* RAL = 3 Bytes */ \
236126fe70dSShaohui Xie 				| CSOR_NAND_PGS_4K	/* Page Size = 4K */ \
237126fe70dSShaohui Xie 				| CSOR_NAND_SPRZ_224	/* Spare size = 224 */ \
238126fe70dSShaohui Xie 				| CSOR_NAND_PB(64))	/* 64 Pages Per Block */
239126fe70dSShaohui Xie 
240126fe70dSShaohui Xie #define CONFIG_SYS_NAND_ONFI_DETECTION
241126fe70dSShaohui Xie 
242126fe70dSShaohui Xie #define CONFIG_SYS_NAND_FTIM0		(FTIM0_NAND_TCCST(0x7) | \
243126fe70dSShaohui Xie 					FTIM0_NAND_TWP(0x18)   | \
244126fe70dSShaohui Xie 					FTIM0_NAND_TWCHT(0x7) | \
245126fe70dSShaohui Xie 					FTIM0_NAND_TWH(0xa))
246126fe70dSShaohui Xie #define CONFIG_SYS_NAND_FTIM1		(FTIM1_NAND_TADLE(0x32) | \
247126fe70dSShaohui Xie 					FTIM1_NAND_TWBE(0x39)  | \
248126fe70dSShaohui Xie 					FTIM1_NAND_TRR(0xe)   | \
249126fe70dSShaohui Xie 					FTIM1_NAND_TRP(0x18))
250126fe70dSShaohui Xie #define CONFIG_SYS_NAND_FTIM2		(FTIM2_NAND_TRAD(0xf) | \
251126fe70dSShaohui Xie 					FTIM2_NAND_TREH(0xa) | \
252126fe70dSShaohui Xie 					FTIM2_NAND_TWHRE(0x1e))
253126fe70dSShaohui Xie #define CONFIG_SYS_NAND_FTIM3           0x0
254126fe70dSShaohui Xie 
255126fe70dSShaohui Xie #define CONFIG_SYS_NAND_BASE_LIST	{ CONFIG_SYS_NAND_BASE }
256126fe70dSShaohui Xie #define CONFIG_SYS_MAX_NAND_DEVICE	1
257126fe70dSShaohui Xie #define CONFIG_MTD_NAND_VERIFY_WRITE
258126fe70dSShaohui Xie #define CONFIG_CMD_NAND
259126fe70dSShaohui Xie 
260126fe70dSShaohui Xie #define CONFIG_SYS_NAND_BLOCK_SIZE	(256 * 1024)
261126fe70dSShaohui Xie #endif
262126fe70dSShaohui Xie 
263126fe70dSShaohui Xie #ifdef CONFIG_NAND_BOOT
264126fe70dSShaohui Xie #define CONFIG_SPL_PAD_TO		0x40000		/* block aligned */
265126fe70dSShaohui Xie #define CONFIG_SYS_NAND_U_BOOT_OFFS	CONFIG_SPL_PAD_TO
266126fe70dSShaohui Xie #define CONFIG_SYS_NAND_U_BOOT_SIZE	(768 << 10)
267126fe70dSShaohui Xie #endif
268126fe70dSShaohui Xie 
269126fe70dSShaohui Xie #if defined(CONFIG_QSPI_BOOT) || defined(CONFIG_SD_BOOT_QSPI)
270126fe70dSShaohui Xie #define CONFIG_QIXIS_I2C_ACCESS
271126fe70dSShaohui Xie #define CONFIG_SYS_I2C_EARLY_INIT
272126fe70dSShaohui Xie #endif
273126fe70dSShaohui Xie 
274126fe70dSShaohui Xie /*
275126fe70dSShaohui Xie  * QIXIS Definitions
276126fe70dSShaohui Xie  */
277126fe70dSShaohui Xie #define CONFIG_FSL_QIXIS
278126fe70dSShaohui Xie 
279126fe70dSShaohui Xie #ifdef CONFIG_FSL_QIXIS
280126fe70dSShaohui Xie #define QIXIS_BASE			0x7fb00000
281126fe70dSShaohui Xie #define QIXIS_BASE_PHYS			QIXIS_BASE
282126fe70dSShaohui Xie #define CONFIG_SYS_I2C_FPGA_ADDR	0x66
283126fe70dSShaohui Xie #define QIXIS_LBMAP_SWITCH		6
284126fe70dSShaohui Xie #define QIXIS_LBMAP_MASK		0x0f
285126fe70dSShaohui Xie #define QIXIS_LBMAP_SHIFT		0
286126fe70dSShaohui Xie #define QIXIS_LBMAP_DFLTBANK		0x00
287126fe70dSShaohui Xie #define QIXIS_LBMAP_ALTBANK		0x04
288126fe70dSShaohui Xie #define QIXIS_LBMAP_NAND		0x09
289126fe70dSShaohui Xie #define QIXIS_LBMAP_SD			0x00
290126fe70dSShaohui Xie #define QIXIS_LBMAP_SD_QSPI		0xff
291126fe70dSShaohui Xie #define QIXIS_LBMAP_QSPI		0xff
292126fe70dSShaohui Xie #define QIXIS_RCW_SRC_NAND		0x110
293126fe70dSShaohui Xie #define QIXIS_RCW_SRC_SD		0x040
294126fe70dSShaohui Xie #define QIXIS_RCW_SRC_QSPI		0x045
295126fe70dSShaohui Xie #define QIXIS_RST_CTL_RESET		0x41
296126fe70dSShaohui Xie #define QIXIS_RCFG_CTL_RECONFIG_IDLE	0x20
297126fe70dSShaohui Xie #define QIXIS_RCFG_CTL_RECONFIG_START	0x21
298126fe70dSShaohui Xie #define QIXIS_RCFG_CTL_WATCHDOG_ENBLE	0x08
299126fe70dSShaohui Xie 
300126fe70dSShaohui Xie #define CONFIG_SYS_FPGA_CSPR_EXT	(0x0)
301126fe70dSShaohui Xie #define CONFIG_SYS_FPGA_CSPR		(CSPR_PHYS_ADDR(QIXIS_BASE_PHYS) | \
302126fe70dSShaohui Xie 					CSPR_PORT_SIZE_8 | \
303126fe70dSShaohui Xie 					CSPR_MSEL_GPCM | \
304126fe70dSShaohui Xie 					CSPR_V)
305126fe70dSShaohui Xie #define CONFIG_SYS_FPGA_AMASK		IFC_AMASK(64 * 1024)
306126fe70dSShaohui Xie #define CONFIG_SYS_FPGA_CSOR		(CSOR_NOR_ADM_SHIFT(4) | \
307126fe70dSShaohui Xie 					CSOR_NOR_NOR_MODE_AVD_NOR | \
308126fe70dSShaohui Xie 					CSOR_NOR_TRHZ_80)
309126fe70dSShaohui Xie 
310126fe70dSShaohui Xie /*
311126fe70dSShaohui Xie  * QIXIS Timing parameters for IFC GPCM
312126fe70dSShaohui Xie  */
313126fe70dSShaohui Xie #define CONFIG_SYS_FPGA_FTIM0		(FTIM0_GPCM_TACSE(0xc) | \
314126fe70dSShaohui Xie 					FTIM0_GPCM_TEADC(0x20) | \
315126fe70dSShaohui Xie 					FTIM0_GPCM_TEAHC(0x10))
316126fe70dSShaohui Xie #define CONFIG_SYS_FPGA_FTIM1		(FTIM1_GPCM_TACO(0x50) | \
317126fe70dSShaohui Xie 					FTIM1_GPCM_TRAD(0x1f))
318126fe70dSShaohui Xie #define CONFIG_SYS_FPGA_FTIM2		(FTIM2_GPCM_TCS(0x8) | \
319126fe70dSShaohui Xie 					FTIM2_GPCM_TCH(0x8) | \
320126fe70dSShaohui Xie 					FTIM2_GPCM_TWP(0xf0))
321126fe70dSShaohui Xie #define CONFIG_SYS_FPGA_FTIM3		0x0
322126fe70dSShaohui Xie #endif
323126fe70dSShaohui Xie 
324126fe70dSShaohui Xie #ifdef CONFIG_NAND_BOOT
325126fe70dSShaohui Xie #define CONFIG_SYS_CSPR0_EXT		CONFIG_SYS_NAND_CSPR_EXT
326126fe70dSShaohui Xie #define CONFIG_SYS_CSPR0		CONFIG_SYS_NAND_CSPR
327126fe70dSShaohui Xie #define CONFIG_SYS_AMASK0		CONFIG_SYS_NAND_AMASK
328126fe70dSShaohui Xie #define CONFIG_SYS_CSOR0		CONFIG_SYS_NAND_CSOR
329126fe70dSShaohui Xie #define CONFIG_SYS_CS0_FTIM0		CONFIG_SYS_NAND_FTIM0
330126fe70dSShaohui Xie #define CONFIG_SYS_CS0_FTIM1		CONFIG_SYS_NAND_FTIM1
331126fe70dSShaohui Xie #define CONFIG_SYS_CS0_FTIM2		CONFIG_SYS_NAND_FTIM2
332126fe70dSShaohui Xie #define CONFIG_SYS_CS0_FTIM3		CONFIG_SYS_NAND_FTIM3
333126fe70dSShaohui Xie #define CONFIG_SYS_CSPR1_EXT		CONFIG_SYS_NOR0_CSPR_EXT
334126fe70dSShaohui Xie #define CONFIG_SYS_CSPR1		CONFIG_SYS_NOR0_CSPR
335126fe70dSShaohui Xie #define CONFIG_SYS_AMASK1		CONFIG_SYS_NOR_AMASK
336126fe70dSShaohui Xie #define CONFIG_SYS_CSOR1		CONFIG_SYS_NOR_CSOR
337126fe70dSShaohui Xie #define CONFIG_SYS_CS1_FTIM0		CONFIG_SYS_NOR_FTIM0
338126fe70dSShaohui Xie #define CONFIG_SYS_CS1_FTIM1		CONFIG_SYS_NOR_FTIM1
339126fe70dSShaohui Xie #define CONFIG_SYS_CS1_FTIM2		CONFIG_SYS_NOR_FTIM2
340126fe70dSShaohui Xie #define CONFIG_SYS_CS1_FTIM3		CONFIG_SYS_NOR_FTIM3
341126fe70dSShaohui Xie #define CONFIG_SYS_CSPR2_EXT		CONFIG_SYS_NOR1_CSPR_EXT
342126fe70dSShaohui Xie #define CONFIG_SYS_CSPR2		CONFIG_SYS_NOR1_CSPR
343126fe70dSShaohui Xie #define CONFIG_SYS_AMASK2		CONFIG_SYS_NOR_AMASK
344126fe70dSShaohui Xie #define CONFIG_SYS_CSOR2		CONFIG_SYS_NOR_CSOR
345126fe70dSShaohui Xie #define CONFIG_SYS_CS2_FTIM0		CONFIG_SYS_NOR_FTIM0
346126fe70dSShaohui Xie #define CONFIG_SYS_CS2_FTIM1		CONFIG_SYS_NOR_FTIM1
347126fe70dSShaohui Xie #define CONFIG_SYS_CS2_FTIM2		CONFIG_SYS_NOR_FTIM2
348126fe70dSShaohui Xie #define CONFIG_SYS_CS2_FTIM3		CONFIG_SYS_NOR_FTIM3
349126fe70dSShaohui Xie #define CONFIG_SYS_CSPR3_EXT		CONFIG_SYS_FPGA_CSPR_EXT
350126fe70dSShaohui Xie #define CONFIG_SYS_CSPR3		CONFIG_SYS_FPGA_CSPR
351126fe70dSShaohui Xie #define CONFIG_SYS_AMASK3		CONFIG_SYS_FPGA_AMASK
352126fe70dSShaohui Xie #define CONFIG_SYS_CSOR3		CONFIG_SYS_FPGA_CSOR
353126fe70dSShaohui Xie #define CONFIG_SYS_CS3_FTIM0		CONFIG_SYS_FPGA_FTIM0
354126fe70dSShaohui Xie #define CONFIG_SYS_CS3_FTIM1		CONFIG_SYS_FPGA_FTIM1
355126fe70dSShaohui Xie #define CONFIG_SYS_CS3_FTIM2		CONFIG_SYS_FPGA_FTIM2
356126fe70dSShaohui Xie #define CONFIG_SYS_CS3_FTIM3		CONFIG_SYS_FPGA_FTIM3
357126fe70dSShaohui Xie #else
358126fe70dSShaohui Xie #define CONFIG_SYS_CSPR0_EXT		CONFIG_SYS_NOR0_CSPR_EXT
359126fe70dSShaohui Xie #define CONFIG_SYS_CSPR0		CONFIG_SYS_NOR0_CSPR
360126fe70dSShaohui Xie #define CONFIG_SYS_AMASK0		CONFIG_SYS_NOR_AMASK
361126fe70dSShaohui Xie #define CONFIG_SYS_CSOR0		CONFIG_SYS_NOR_CSOR
362126fe70dSShaohui Xie #define CONFIG_SYS_CS0_FTIM0		CONFIG_SYS_NOR_FTIM0
363126fe70dSShaohui Xie #define CONFIG_SYS_CS0_FTIM1		CONFIG_SYS_NOR_FTIM1
364126fe70dSShaohui Xie #define CONFIG_SYS_CS0_FTIM2		CONFIG_SYS_NOR_FTIM2
365126fe70dSShaohui Xie #define CONFIG_SYS_CS0_FTIM3		CONFIG_SYS_NOR_FTIM3
366126fe70dSShaohui Xie #define CONFIG_SYS_CSPR1_EXT		CONFIG_SYS_NOR1_CSPR_EXT
367126fe70dSShaohui Xie #define CONFIG_SYS_CSPR1		CONFIG_SYS_NOR1_CSPR
368126fe70dSShaohui Xie #define CONFIG_SYS_AMASK1		CONFIG_SYS_NOR_AMASK
369126fe70dSShaohui Xie #define CONFIG_SYS_CSOR1		CONFIG_SYS_NOR_CSOR
370126fe70dSShaohui Xie #define CONFIG_SYS_CS1_FTIM0		CONFIG_SYS_NOR_FTIM0
371126fe70dSShaohui Xie #define CONFIG_SYS_CS1_FTIM1		CONFIG_SYS_NOR_FTIM1
372126fe70dSShaohui Xie #define CONFIG_SYS_CS1_FTIM2		CONFIG_SYS_NOR_FTIM2
373126fe70dSShaohui Xie #define CONFIG_SYS_CS1_FTIM3		CONFIG_SYS_NOR_FTIM3
374126fe70dSShaohui Xie #define CONFIG_SYS_CSPR2_EXT		CONFIG_SYS_NAND_CSPR_EXT
375126fe70dSShaohui Xie #define CONFIG_SYS_CSPR2		CONFIG_SYS_NAND_CSPR
376126fe70dSShaohui Xie #define CONFIG_SYS_AMASK2		CONFIG_SYS_NAND_AMASK
377126fe70dSShaohui Xie #define CONFIG_SYS_CSOR2		CONFIG_SYS_NAND_CSOR
378126fe70dSShaohui Xie #define CONFIG_SYS_CS2_FTIM0		CONFIG_SYS_NAND_FTIM0
379126fe70dSShaohui Xie #define CONFIG_SYS_CS2_FTIM1		CONFIG_SYS_NAND_FTIM1
380126fe70dSShaohui Xie #define CONFIG_SYS_CS2_FTIM2		CONFIG_SYS_NAND_FTIM2
381126fe70dSShaohui Xie #define CONFIG_SYS_CS2_FTIM3		CONFIG_SYS_NAND_FTIM3
382126fe70dSShaohui Xie #define CONFIG_SYS_CSPR3_EXT		CONFIG_SYS_FPGA_CSPR_EXT
383126fe70dSShaohui Xie #define CONFIG_SYS_CSPR3		CONFIG_SYS_FPGA_CSPR
384126fe70dSShaohui Xie #define CONFIG_SYS_AMASK3		CONFIG_SYS_FPGA_AMASK
385126fe70dSShaohui Xie #define CONFIG_SYS_CSOR3		CONFIG_SYS_FPGA_CSOR
386126fe70dSShaohui Xie #define CONFIG_SYS_CS3_FTIM0		CONFIG_SYS_FPGA_FTIM0
387126fe70dSShaohui Xie #define CONFIG_SYS_CS3_FTIM1		CONFIG_SYS_FPGA_FTIM1
388126fe70dSShaohui Xie #define CONFIG_SYS_CS3_FTIM2		CONFIG_SYS_FPGA_FTIM2
389126fe70dSShaohui Xie #define CONFIG_SYS_CS3_FTIM3		CONFIG_SYS_FPGA_FTIM3
390126fe70dSShaohui Xie #endif
391126fe70dSShaohui Xie 
392126fe70dSShaohui Xie /*
393126fe70dSShaohui Xie  * I2C bus multiplexer
394126fe70dSShaohui Xie  */
395126fe70dSShaohui Xie #define I2C_MUX_PCA_ADDR_PRI		0x77
396126fe70dSShaohui Xie #define I2C_MUX_PCA_ADDR_SEC		0x76 /* Secondary multiplexer */
397126fe70dSShaohui Xie #define I2C_RETIMER_ADDR		0x18
398126fe70dSShaohui Xie #define I2C_MUX_CH_DEFAULT		0x8
399126fe70dSShaohui Xie #define I2C_MUX_CH_CH7301		0xC
400126fe70dSShaohui Xie #define I2C_MUX_CH5			0xD
401126fe70dSShaohui Xie #define I2C_MUX_CH6			0xE
402126fe70dSShaohui Xie #define I2C_MUX_CH7			0xF
403126fe70dSShaohui Xie 
404126fe70dSShaohui Xie #define I2C_MUX_CH_VOL_MONITOR 0xa
405126fe70dSShaohui Xie 
406126fe70dSShaohui Xie /* Voltage monitor on channel 2*/
407126fe70dSShaohui Xie #define I2C_VOL_MONITOR_ADDR           0x40
408126fe70dSShaohui Xie #define I2C_VOL_MONITOR_BUS_V_OFFSET   0x2
409126fe70dSShaohui Xie #define I2C_VOL_MONITOR_BUS_V_OVF      0x1
410126fe70dSShaohui Xie #define I2C_VOL_MONITOR_BUS_V_SHIFT    3
411126fe70dSShaohui Xie 
412126fe70dSShaohui Xie #define CONFIG_VID_FLS_ENV		"ls1046aqds_vdd_mv"
413126fe70dSShaohui Xie #ifndef CONFIG_SPL_BUILD
414126fe70dSShaohui Xie #define CONFIG_VID
415126fe70dSShaohui Xie #endif
416126fe70dSShaohui Xie #define CONFIG_VOL_MONITOR_IR36021_SET
417126fe70dSShaohui Xie #define CONFIG_VOL_MONITOR_INA220
418126fe70dSShaohui Xie /* The lowest and highest voltage allowed for LS1046AQDS */
419126fe70dSShaohui Xie #define VDD_MV_MIN			819
420126fe70dSShaohui Xie #define VDD_MV_MAX			1212
421126fe70dSShaohui Xie 
422126fe70dSShaohui Xie /*
423126fe70dSShaohui Xie  * Miscellaneous configurable options
424126fe70dSShaohui Xie  */
425126fe70dSShaohui Xie #define CONFIG_MISC_INIT_R
426126fe70dSShaohui Xie #define CONFIG_SYS_LONGHELP		/* undef to save memory */
427126fe70dSShaohui Xie #define CONFIG_AUTO_COMPLETE
428126fe70dSShaohui Xie #define CONFIG_SYS_PBSIZE		\
429126fe70dSShaohui Xie 		(CONFIG_SYS_CBSIZE + sizeof(CONFIG_SYS_PROMPT) + 16)
430126fe70dSShaohui Xie #define CONFIG_SYS_BARGSIZE		CONFIG_SYS_CBSIZE
431126fe70dSShaohui Xie 
432126fe70dSShaohui Xie #define CONFIG_SYS_MEMTEST_START	0x80000000
433126fe70dSShaohui Xie #define CONFIG_SYS_MEMTEST_END		0x9fffffff
434126fe70dSShaohui Xie 
435126fe70dSShaohui Xie #define CONFIG_SYS_HZ			1000
436126fe70dSShaohui Xie 
437126fe70dSShaohui Xie /*
438126fe70dSShaohui Xie  * Stack sizes
439126fe70dSShaohui Xie  * The stack sizes are set up in start.S using the settings below
440126fe70dSShaohui Xie  */
441126fe70dSShaohui Xie #define CONFIG_STACKSIZE		(30 * 1024)
442126fe70dSShaohui Xie 
443126fe70dSShaohui Xie #define CONFIG_SYS_INIT_SP_OFFSET \
444126fe70dSShaohui Xie 	(CONFIG_SYS_INIT_RAM_SIZE - GENERATED_GBL_DATA_SIZE)
445126fe70dSShaohui Xie 
446126fe70dSShaohui Xie #define CONFIG_SYS_MONITOR_BASE CONFIG_SYS_TEXT_BASE    /* start of monitor */
447126fe70dSShaohui Xie 
448126fe70dSShaohui Xie /*
449126fe70dSShaohui Xie  * Environment
450126fe70dSShaohui Xie  */
451126fe70dSShaohui Xie #define CONFIG_ENV_OVERWRITE
452126fe70dSShaohui Xie 
453126fe70dSShaohui Xie #ifdef CONFIG_NAND_BOOT
454126fe70dSShaohui Xie #define CONFIG_ENV_IS_IN_NAND
455126fe70dSShaohui Xie #define CONFIG_ENV_SIZE			0x2000
456126fe70dSShaohui Xie #define CONFIG_ENV_OFFSET		(5 * CONFIG_SYS_NAND_BLOCK_SIZE)
457126fe70dSShaohui Xie #elif defined(CONFIG_SD_BOOT)
458126fe70dSShaohui Xie #define CONFIG_ENV_OFFSET		(1024 * 1024)
459126fe70dSShaohui Xie #define CONFIG_ENV_IS_IN_MMC
460126fe70dSShaohui Xie #define CONFIG_SYS_MMC_ENV_DEV		0
461126fe70dSShaohui Xie #define CONFIG_ENV_SIZE			0x2000
462126fe70dSShaohui Xie #elif defined(CONFIG_QSPI_BOOT)
463126fe70dSShaohui Xie #define CONFIG_ENV_IS_IN_SPI_FLASH
464126fe70dSShaohui Xie #define CONFIG_ENV_SIZE			0x2000          /* 8KB */
465126fe70dSShaohui Xie #define CONFIG_ENV_OFFSET		0x100000        /* 1MB */
466126fe70dSShaohui Xie #define CONFIG_ENV_SECT_SIZE		0x10000
467126fe70dSShaohui Xie #else
468126fe70dSShaohui Xie #define CONFIG_ENV_IS_IN_FLASH
469126fe70dSShaohui Xie #define CONFIG_ENV_ADDR			(CONFIG_SYS_FLASH_BASE + 0x200000)
470126fe70dSShaohui Xie #define CONFIG_ENV_SECT_SIZE		0x20000
471126fe70dSShaohui Xie #define CONFIG_ENV_SIZE			0x20000
472126fe70dSShaohui Xie #endif
473126fe70dSShaohui Xie 
474126fe70dSShaohui Xie #define CONFIG_CMDLINE_TAG
475126fe70dSShaohui Xie 
476126fe70dSShaohui Xie #if defined(CONFIG_QSPI_BOOT) || defined(CONFIG_SD_BOOT_QSPI)
477126fe70dSShaohui Xie #define CONFIG_BOOTCOMMAND		"sf probe && sf read $kernel_load "    \
478126fe70dSShaohui Xie 					"e0000 f00000 && bootm $kernel_load"
479126fe70dSShaohui Xie #else
480126fe70dSShaohui Xie #define CONFIG_BOOTCOMMAND		"cp.b $kernel_start $kernel_load "     \
481126fe70dSShaohui Xie 					"$kernel_size && bootm $kernel_load"
482126fe70dSShaohui Xie #endif
483126fe70dSShaohui Xie 
484126fe70dSShaohui Xie #if defined(CONFIG_QSPI_BOOT) || defined(CONFIG_SD_BOOT_QSPI)
485126fe70dSShaohui Xie #define MTDPARTS_DEFAULT "mtdparts=1550000.quadspi:2m(uboot)," \
486126fe70dSShaohui Xie 			"14m(free)"
487126fe70dSShaohui Xie #else
488126fe70dSShaohui Xie #define MTDPARTS_DEFAULT "mtdparts=60000000.nor:1m(nor_bank0_rcw)," \
489126fe70dSShaohui Xie 			"1m(nor_bank0_uboot),1m(nor_bank0_uboot_env)," \
490126fe70dSShaohui Xie 			"1m(nor_bank0_fman_uconde),40m(nor_bank0_fit)," \
491126fe70dSShaohui Xie 			"1m(nor_bank4_rcw),1m(nor_bank4_uboot)," \
492126fe70dSShaohui Xie 			"1m(nor_bank4_uboot_env),1m(nor_bank4_fman_ucode)," \
493126fe70dSShaohui Xie 			"40m(nor_bank4_fit);7e800000.flash:" \
494126fe70dSShaohui Xie 			"4m(nand_uboot),36m(nand_kernel)," \
495126fe70dSShaohui Xie 			"472m(nand_free);spi0.0:2m(uboot)," \
496126fe70dSShaohui Xie 			"14m(free)"
497126fe70dSShaohui Xie #endif
498126fe70dSShaohui Xie 
499126fe70dSShaohui Xie #include <asm/fsl_secure_boot.h>
500126fe70dSShaohui Xie 
501126fe70dSShaohui Xie #endif /* __LS1046AQDS_H__ */
502