blob: d06f3380a7833071c7bdc780b106c1e454714b7b [file] [log] [blame]
Tom Rini10e47792018-05-06 17:58:06 -04001/* SPDX-License-Identifier: GPL-2.0+ */
Mingkai Hud2396512016-09-07 18:47:28 +08002/*
3 * Copyright 2016 Freescale Semiconductor
Pankit Gargb45d6ce2019-05-30 12:04:14 +00004 * Copyright 2019 NXP
Mingkai Hud2396512016-09-07 18:47:28 +08005 */
6
7#ifndef __LS1046ARDB_H__
8#define __LS1046ARDB_H__
9
10#include "ls1046a_common.h"
11
Mingkai Hud2396512016-09-07 18:47:28 +080012#define CONFIG_SYS_CLK_FREQ 100000000
Mingkai Hud2396512016-09-07 18:47:28 +080013
14#define CONFIG_LAYERSCAPE_NS_ACCESS
Mingkai Hud2396512016-09-07 18:47:28 +080015
16#define CONFIG_DIMM_SLOTS_PER_CTLR 1
17/* Physical Memory Map */
18#define CONFIG_CHIP_SELECTS_PER_CTRL 4
Mingkai Hud2396512016-09-07 18:47:28 +080019
Mingkai Hud2396512016-09-07 18:47:28 +080020#define SPD_EEPROM_ADDRESS 0x51
21#define CONFIG_SYS_SPD_BUS_NUM 0
22
Mingkai Hud2396512016-09-07 18:47:28 +080023#define CONFIG_MEM_INIT_VALUE 0xdeadbeef
Mingkai Hud2396512016-09-07 18:47:28 +080024
Tom Rini9ff815a2021-08-24 23:11:49 -040025#if defined(CONFIG_QSPI_BOOT)
York Sun3e512d82018-06-26 14:48:29 -070026#define CONFIG_SYS_UBOOT_BASE 0x40100000
27#define CONFIG_SYS_SPL_ARGS_ADDR 0x90000000
Mingkai Hud2396512016-09-07 18:47:28 +080028#endif
29
Sumit Gargc064fc72017-03-30 09:53:13 +053030#ifndef SPL_NO_IFC
Mingkai Hud2396512016-09-07 18:47:28 +080031/* IFC */
32#define CONFIG_FSL_IFC
Mingkai Hud2396512016-09-07 18:47:28 +080033/*
34 * NAND Flash Definitions
35 */
Sumit Gargc064fc72017-03-30 09:53:13 +053036#endif
Mingkai Hud2396512016-09-07 18:47:28 +080037
38#define CONFIG_SYS_NAND_BASE 0x7e800000
39#define CONFIG_SYS_NAND_BASE_PHYS CONFIG_SYS_NAND_BASE
40
41#define CONFIG_SYS_NAND_CSPR_EXT (0x0)
42#define CONFIG_SYS_NAND_CSPR (CSPR_PHYS_ADDR(CONFIG_SYS_NAND_BASE_PHYS) \
43 | CSPR_PORT_SIZE_8 \
44 | CSPR_MSEL_NAND \
45 | CSPR_V)
46#define CONFIG_SYS_NAND_AMASK IFC_AMASK(64 * 1024)
47#define CONFIG_SYS_NAND_CSOR (CSOR_NAND_ECC_ENC_EN /* ECC on encode */ \
48 | CSOR_NAND_ECC_DEC_EN /* ECC on decode */ \
49 | CSOR_NAND_ECC_MODE_8 /* 8-bit ECC */ \
50 | CSOR_NAND_RAL_3 /* RAL = 3 Bytes */ \
51 | CSOR_NAND_PGS_4K /* Page Size = 4K */ \
52 | CSOR_NAND_SPRZ_224 /* Spare size = 224 */ \
53 | CSOR_NAND_PB(64)) /* 64 Pages Per Block */
54
Mingkai Hud2396512016-09-07 18:47:28 +080055#define CONFIG_SYS_NAND_FTIM0 (FTIM0_NAND_TCCST(0x7) | \
56 FTIM0_NAND_TWP(0x18) | \
57 FTIM0_NAND_TWCHT(0x7) | \
58 FTIM0_NAND_TWH(0xa))
59#define CONFIG_SYS_NAND_FTIM1 (FTIM1_NAND_TADLE(0x32) | \
60 FTIM1_NAND_TWBE(0x39) | \
61 FTIM1_NAND_TRR(0xe) | \
62 FTIM1_NAND_TRP(0x18))
63#define CONFIG_SYS_NAND_FTIM2 (FTIM2_NAND_TRAD(0xf) | \
64 FTIM2_NAND_TREH(0xa) | \
65 FTIM2_NAND_TWHRE(0x1e))
66#define CONFIG_SYS_NAND_FTIM3 0x0
67
68#define CONFIG_SYS_NAND_BASE_LIST { CONFIG_SYS_NAND_BASE }
69#define CONFIG_SYS_MAX_NAND_DEVICE 1
70#define CONFIG_MTD_NAND_VERIFY_WRITE
Mingkai Hud2396512016-09-07 18:47:28 +080071
Mingkai Hud2396512016-09-07 18:47:28 +080072/*
73 * CPLD
74 */
75#define CONFIG_SYS_CPLD_BASE 0x7fb00000
76#define CPLD_BASE_PHYS CONFIG_SYS_CPLD_BASE
77
78#define CONFIG_SYS_CPLD_CSPR_EXT (0x0)
79#define CONFIG_SYS_CPLD_CSPR (CSPR_PHYS_ADDR(CPLD_BASE_PHYS) | \
80 CSPR_PORT_SIZE_8 | \
81 CSPR_MSEL_GPCM | \
82 CSPR_V)
83#define CONFIG_SYS_CPLD_AMASK IFC_AMASK(64 * 1024)
84#define CONFIG_SYS_CPLD_CSOR CSOR_NOR_ADM_SHIFT(16)
85
86/* CPLD Timing parameters for IFC GPCM */
87#define CONFIG_SYS_CPLD_FTIM0 (FTIM0_GPCM_TACSE(0x0e) | \
88 FTIM0_GPCM_TEADC(0x0e) | \
89 FTIM0_GPCM_TEAHC(0x0e))
90#define CONFIG_SYS_CPLD_FTIM1 (FTIM1_GPCM_TACO(0xff) | \
91 FTIM1_GPCM_TRAD(0x3f))
92#define CONFIG_SYS_CPLD_FTIM2 (FTIM2_GPCM_TCS(0xf) | \
93 FTIM2_GPCM_TCH(0xf) | \
94 FTIM2_GPCM_TWP(0x3E))
95#define CONFIG_SYS_CPLD_FTIM3 0x0
96
97/* IFC Timing Params */
98#define CONFIG_SYS_CSPR0_EXT CONFIG_SYS_NAND_CSPR_EXT
99#define CONFIG_SYS_CSPR0 CONFIG_SYS_NAND_CSPR
100#define CONFIG_SYS_AMASK0 CONFIG_SYS_NAND_AMASK
101#define CONFIG_SYS_CSOR0 CONFIG_SYS_NAND_CSOR
102#define CONFIG_SYS_CS0_FTIM0 CONFIG_SYS_NAND_FTIM0
103#define CONFIG_SYS_CS0_FTIM1 CONFIG_SYS_NAND_FTIM1
104#define CONFIG_SYS_CS0_FTIM2 CONFIG_SYS_NAND_FTIM2
105#define CONFIG_SYS_CS0_FTIM3 CONFIG_SYS_NAND_FTIM3
106
107#define CONFIG_SYS_CSPR2_EXT CONFIG_SYS_CPLD_CSPR_EXT
108#define CONFIG_SYS_CSPR2 CONFIG_SYS_CPLD_CSPR
109#define CONFIG_SYS_AMASK2 CONFIG_SYS_CPLD_AMASK
110#define CONFIG_SYS_CSOR2 CONFIG_SYS_CPLD_CSOR
111#define CONFIG_SYS_CS2_FTIM0 CONFIG_SYS_CPLD_FTIM0
112#define CONFIG_SYS_CS2_FTIM1 CONFIG_SYS_CPLD_FTIM1
113#define CONFIG_SYS_CS2_FTIM2 CONFIG_SYS_CPLD_FTIM2
114#define CONFIG_SYS_CS2_FTIM3 CONFIG_SYS_CPLD_FTIM3
115
116/* EEPROM */
Mingkai Hud2396512016-09-07 18:47:28 +0800117#define CONFIG_SYS_I2C_EEPROM_NXID
118#define CONFIG_SYS_EEPROM_BUS_NUM 0
Mingkai Hud2396512016-09-07 18:47:28 +0800119#define I2C_RETIMER_ADDR 0x18
120
Hou Zhiqiang67b6d0a2016-12-09 16:09:01 +0800121/* PMIC */
Hou Zhiqiang67b6d0a2016-12-09 16:09:01 +0800122
Mingkai Hud2396512016-09-07 18:47:28 +0800123/*
124 * Environment
125 */
Pankit Gargb45d6ce2019-05-30 12:04:14 +0000126#define CONFIG_SYS_FSL_QSPI_BASE 0x40000000
Mingkai Hud2396512016-09-07 18:47:28 +0800127
York Sun624b6572017-04-25 08:39:51 -0700128#define AQR105_IRQ_MASK 0x80000000
Mingkai Hud2396512016-09-07 18:47:28 +0800129/* FMan */
Sumit Gargc064fc72017-03-30 09:53:13 +0530130#ifndef SPL_NO_FMAN
York Sun624b6572017-04-25 08:39:51 -0700131#ifdef CONFIG_SYS_DPAA_FMAN
Mingkai Hud2396512016-09-07 18:47:28 +0800132#define RGMII_PHY1_ADDR 0x1
133#define RGMII_PHY2_ADDR 0x2
134
135#define SGMII_PHY1_ADDR 0x3
136#define SGMII_PHY2_ADDR 0x4
137
138#define FM1_10GEC1_PHY_ADDR 0x0
139
Prabhakar Kushwahaa5122612017-11-23 16:51:48 +0530140#define FDT_SEQ_MACADDR_FROM_ENV
141
Mingkai Hud2396512016-09-07 18:47:28 +0800142#define CONFIG_ETHPRIME "FM1@DTSEC3"
143#endif
York Sun624b6572017-04-25 08:39:51 -0700144
Sumit Gargc064fc72017-03-30 09:53:13 +0530145#endif
Mingkai Hud2396512016-09-07 18:47:28 +0800146
Sumit Gargc064fc72017-03-30 09:53:13 +0530147#ifndef SPL_NO_MISC
Qianyu Gong6264ab62017-06-15 11:10:09 +0800148#undef CONFIG_BOOTCOMMAND
Rajesh Bhagatcb6153b2018-11-05 18:02:36 +0000149#ifdef CONFIG_TFABOOT
150#define QSPI_NOR_BOOTCOMMAND "run distro_bootcmd; run qspi_bootcmd; " \
151 "env exists secureboot && esbc_halt;;"
152#define SD_BOOTCOMMAND "run distro_bootcmd;run sd_bootcmd; " \
153 "env exists secureboot && esbc_halt;"
154#else
Shengzhou Liu47e7e032017-11-09 17:57:56 +0800155#if defined(CONFIG_QSPI_BOOT)
Vinitha Pillai-B572230c6e10a2017-11-22 10:38:35 +0530156#define CONFIG_BOOTCOMMAND "run distro_bootcmd; run qspi_bootcmd; " \
157 "env exists secureboot && esbc_halt;;"
Shengzhou Liu47e7e032017-11-09 17:57:56 +0800158#elif defined(CONFIG_SD_BOOT)
Vinitha Pillai-B572230c6e10a2017-11-22 10:38:35 +0530159#define CONFIG_BOOTCOMMAND "run distro_bootcmd;run sd_bootcmd; " \
160 "env exists secureboot && esbc_halt;"
Shengzhou Liu47e7e032017-11-09 17:57:56 +0800161#endif
Sumit Gargc064fc72017-03-30 09:53:13 +0530162#endif
Rajesh Bhagatcb6153b2018-11-05 18:02:36 +0000163#endif
Mingkai Hud2396512016-09-07 18:47:28 +0800164
Vinitha Pillai-B57223a47072e2017-03-23 13:48:18 +0530165#include <asm/fsl_secure_boot.h>
166
Mingkai Hud2396512016-09-07 18:47:28 +0800167#endif /* __LS1046ARDB_H__ */