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