blob: 0e42a51fc599165365df796fd4055dc762add978 [file] [log] [blame]
Tom Rini83d290c2018-05-06 17:58:06 -04001/* SPDX-License-Identifier: GPL-2.0+ */
Mingkai Hudd029362016-09-07 18:47:28 +08002/*
3 * Copyright 2016 Freescale Semiconductor
Pankit Garg4514cce2019-05-30 12:04:14 +00004 * Copyright 2019 NXP
Mingkai Hudd029362016-09-07 18:47:28 +08005 */
6
7#ifndef __LS1046ARDB_H__
8#define __LS1046ARDB_H__
9
10#include "ls1046a_common.h"
11
Mingkai Hudd029362016-09-07 18:47:28 +080012/* Physical Memory Map */
Mingkai Hudd029362016-09-07 18:47:28 +080013
Mingkai Hudd029362016-09-07 18:47:28 +080014#define SPD_EEPROM_ADDRESS 0x51
Mingkai Hudd029362016-09-07 18:47:28 +080015
Tom Rinid8ef01e2021-08-24 23:11:49 -040016#if defined(CONFIG_QSPI_BOOT)
Tom Rini65cc0e22022-11-16 13:10:41 -050017#define CFG_SYS_UBOOT_BASE 0x40100000
Mingkai Hudd029362016-09-07 18:47:28 +080018#endif
19
Tom Rini4e590942022-11-12 17:36:51 -050020#define CFG_SYS_NAND_BASE 0x7e800000
21#define CFG_SYS_NAND_BASE_PHYS CFG_SYS_NAND_BASE
Mingkai Hudd029362016-09-07 18:47:28 +080022
Tom Rini4e590942022-11-12 17:36:51 -050023#define CFG_SYS_NAND_CSPR_EXT (0x0)
24#define CFG_SYS_NAND_CSPR (CSPR_PHYS_ADDR(CFG_SYS_NAND_BASE_PHYS) \
Mingkai Hudd029362016-09-07 18:47:28 +080025 | CSPR_PORT_SIZE_8 \
26 | CSPR_MSEL_NAND \
27 | CSPR_V)
Tom Rini4e590942022-11-12 17:36:51 -050028#define CFG_SYS_NAND_AMASK IFC_AMASK(64 * 1024)
29#define CFG_SYS_NAND_CSOR (CSOR_NAND_ECC_ENC_EN /* ECC on encode */ \
Mingkai Hudd029362016-09-07 18:47:28 +080030 | CSOR_NAND_ECC_DEC_EN /* ECC on decode */ \
31 | CSOR_NAND_ECC_MODE_8 /* 8-bit ECC */ \
32 | CSOR_NAND_RAL_3 /* RAL = 3 Bytes */ \
33 | CSOR_NAND_PGS_4K /* Page Size = 4K */ \
34 | CSOR_NAND_SPRZ_224 /* Spare size = 224 */ \
35 | CSOR_NAND_PB(64)) /* 64 Pages Per Block */
36
Tom Rini4e590942022-11-12 17:36:51 -050037#define CFG_SYS_NAND_FTIM0 (FTIM0_NAND_TCCST(0x7) | \
Mingkai Hudd029362016-09-07 18:47:28 +080038 FTIM0_NAND_TWP(0x18) | \
39 FTIM0_NAND_TWCHT(0x7) | \
40 FTIM0_NAND_TWH(0xa))
Tom Rini4e590942022-11-12 17:36:51 -050041#define CFG_SYS_NAND_FTIM1 (FTIM1_NAND_TADLE(0x32) | \
Mingkai Hudd029362016-09-07 18:47:28 +080042 FTIM1_NAND_TWBE(0x39) | \
43 FTIM1_NAND_TRR(0xe) | \
44 FTIM1_NAND_TRP(0x18))
Tom Rini4e590942022-11-12 17:36:51 -050045#define CFG_SYS_NAND_FTIM2 (FTIM2_NAND_TRAD(0xf) | \
Mingkai Hudd029362016-09-07 18:47:28 +080046 FTIM2_NAND_TREH(0xa) | \
47 FTIM2_NAND_TWHRE(0x1e))
Tom Rini4e590942022-11-12 17:36:51 -050048#define CFG_SYS_NAND_FTIM3 0x0
Mingkai Hudd029362016-09-07 18:47:28 +080049
Tom Rini4e590942022-11-12 17:36:51 -050050#define CFG_SYS_NAND_BASE_LIST { CFG_SYS_NAND_BASE }
Mingkai Hudd029362016-09-07 18:47:28 +080051
Mingkai Hudd029362016-09-07 18:47:28 +080052/*
53 * CPLD
54 */
Tom Rini65cc0e22022-11-16 13:10:41 -050055#define CFG_SYS_CPLD_BASE 0x7fb00000
56#define CPLD_BASE_PHYS CFG_SYS_CPLD_BASE
Mingkai Hudd029362016-09-07 18:47:28 +080057
Tom Rini65cc0e22022-11-16 13:10:41 -050058#define CFG_SYS_CPLD_CSPR_EXT (0x0)
59#define CFG_SYS_CPLD_CSPR (CSPR_PHYS_ADDR(CPLD_BASE_PHYS) | \
Mingkai Hudd029362016-09-07 18:47:28 +080060 CSPR_PORT_SIZE_8 | \
61 CSPR_MSEL_GPCM | \
62 CSPR_V)
Tom Rini65cc0e22022-11-16 13:10:41 -050063#define CFG_SYS_CPLD_AMASK IFC_AMASK(64 * 1024)
64#define CFG_SYS_CPLD_CSOR CSOR_NOR_ADM_SHIFT(16)
Mingkai Hudd029362016-09-07 18:47:28 +080065
66/* CPLD Timing parameters for IFC GPCM */
Tom Rini65cc0e22022-11-16 13:10:41 -050067#define CFG_SYS_CPLD_FTIM0 (FTIM0_GPCM_TACSE(0x0e) | \
Mingkai Hudd029362016-09-07 18:47:28 +080068 FTIM0_GPCM_TEADC(0x0e) | \
69 FTIM0_GPCM_TEAHC(0x0e))
Tom Rini65cc0e22022-11-16 13:10:41 -050070#define CFG_SYS_CPLD_FTIM1 (FTIM1_GPCM_TACO(0xff) | \
Mingkai Hudd029362016-09-07 18:47:28 +080071 FTIM1_GPCM_TRAD(0x3f))
Tom Rini65cc0e22022-11-16 13:10:41 -050072#define CFG_SYS_CPLD_FTIM2 (FTIM2_GPCM_TCS(0xf) | \
Mingkai Hudd029362016-09-07 18:47:28 +080073 FTIM2_GPCM_TCH(0xf) | \
74 FTIM2_GPCM_TWP(0x3E))
Tom Rini65cc0e22022-11-16 13:10:41 -050075#define CFG_SYS_CPLD_FTIM3 0x0
Mingkai Hudd029362016-09-07 18:47:28 +080076
77/* IFC Timing Params */
Tom Rini65cc0e22022-11-16 13:10:41 -050078#define CFG_SYS_CSPR0_EXT CFG_SYS_NAND_CSPR_EXT
79#define CFG_SYS_CSPR0 CFG_SYS_NAND_CSPR
80#define CFG_SYS_AMASK0 CFG_SYS_NAND_AMASK
81#define CFG_SYS_CSOR0 CFG_SYS_NAND_CSOR
82#define CFG_SYS_CS0_FTIM0 CFG_SYS_NAND_FTIM0
83#define CFG_SYS_CS0_FTIM1 CFG_SYS_NAND_FTIM1
84#define CFG_SYS_CS0_FTIM2 CFG_SYS_NAND_FTIM2
85#define CFG_SYS_CS0_FTIM3 CFG_SYS_NAND_FTIM3
Mingkai Hudd029362016-09-07 18:47:28 +080086
Tom Rini65cc0e22022-11-16 13:10:41 -050087#define CFG_SYS_CSPR2_EXT CFG_SYS_CPLD_CSPR_EXT
88#define CFG_SYS_CSPR2 CFG_SYS_CPLD_CSPR
89#define CFG_SYS_AMASK2 CFG_SYS_CPLD_AMASK
90#define CFG_SYS_CSOR2 CFG_SYS_CPLD_CSOR
91#define CFG_SYS_CS2_FTIM0 CFG_SYS_CPLD_FTIM0
92#define CFG_SYS_CS2_FTIM1 CFG_SYS_CPLD_FTIM1
93#define CFG_SYS_CS2_FTIM2 CFG_SYS_CPLD_FTIM2
94#define CFG_SYS_CS2_FTIM3 CFG_SYS_CPLD_FTIM3
Mingkai Hudd029362016-09-07 18:47:28 +080095
96/* EEPROM */
Mingkai Hudd029362016-09-07 18:47:28 +080097#define I2C_RETIMER_ADDR 0x18
98
Hou Zhiqiangdccef2e2016-12-09 16:09:01 +080099/* PMIC */
Hou Zhiqiangdccef2e2016-12-09 16:09:01 +0800100
Mingkai Hudd029362016-09-07 18:47:28 +0800101/*
102 * Environment
103 */
Tom Rini6cc04542022-10-28 20:27:13 -0400104#define CFG_SYS_FSL_QSPI_BASE 0x40000000
Mingkai Hudd029362016-09-07 18:47:28 +0800105
York Sun99b47c22017-04-25 08:39:51 -0700106#define AQR105_IRQ_MASK 0x80000000
Mingkai Hudd029362016-09-07 18:47:28 +0800107/* FMan */
Sumit Garga52ff332017-03-30 09:53:13 +0530108#ifndef SPL_NO_FMAN
Mingkai Hudd029362016-09-07 18:47:28 +0800109#ifdef CONFIG_SYS_DPAA_FMAN
Mingkai Hudd029362016-09-07 18:47:28 +0800110#define RGMII_PHY1_ADDR 0x1
111#define RGMII_PHY2_ADDR 0x2
112
113#define SGMII_PHY1_ADDR 0x3
114#define SGMII_PHY2_ADDR 0x4
115
116#define FM1_10GEC1_PHY_ADDR 0x0
117
Prabhakar Kushwaha4ace3042017-11-23 16:51:48 +0530118#define FDT_SEQ_MACADDR_FROM_ENV
Mingkai Hudd029362016-09-07 18:47:28 +0800119#endif
York Sun99b47c22017-04-25 08:39:51 -0700120
Sumit Garga52ff332017-03-30 09:53:13 +0530121#endif
Mingkai Hudd029362016-09-07 18:47:28 +0800122
Sumit Garga52ff332017-03-30 09:53:13 +0530123#ifndef SPL_NO_MISC
Rajesh Bhagat8e156bb2018-11-05 18:02:36 +0000124#ifdef CONFIG_TFABOOT
125#define QSPI_NOR_BOOTCOMMAND "run distro_bootcmd; run qspi_bootcmd; " \
126 "env exists secureboot && esbc_halt;;"
127#define SD_BOOTCOMMAND "run distro_bootcmd;run sd_bootcmd; " \
128 "env exists secureboot && esbc_halt;"
Sumit Garga52ff332017-03-30 09:53:13 +0530129#endif
Rajesh Bhagat8e156bb2018-11-05 18:02:36 +0000130#endif
Mingkai Hudd029362016-09-07 18:47:28 +0800131
Vinitha Pillai-B57223f7244f22017-03-23 13:48:18 +0530132#include <asm/fsl_secure_boot.h>
133
Mingkai Hudd029362016-09-07 18:47:28 +0800134#endif /* __LS1046ARDB_H__ */