blob: 67a43117f90f57a00db351cf87b9dcfab02f531a [file] [log] [blame]
Wang Huan8ce6bec2014-09-05 13:52:34 +08001/*
2 * Copyright 2014, Freescale Semiconductor
3 *
4 * SPDX-License-Identifier: GPL-2.0+
5 */
6
7#ifndef _ASM_ARMV7_LS102XA_CONFIG_
8#define _ASM_ARMV7_LS102XA_CONFIG_
9
10#define CONFIG_SYS_CACHELINE_SIZE 64
11
12#define OCRAM_BASE_ADDR 0x10000000
13#define OCRAM_SIZE 0x00020000
Xiubo Li563e3ce2014-11-21 17:40:57 +080014#define OCRAM_BASE_S_ADDR 0x10010000
15#define OCRAM_S_SIZE 0x00010000
Wang Huan8ce6bec2014-09-05 13:52:34 +080016
17#define CONFIG_SYS_IMMR 0x01000000
chenhui zhao0c789872014-10-22 18:20:22 +080018#define CONFIG_SYS_DCSRBAR 0x20000000
Wang Huan8ce6bec2014-09-05 13:52:34 +080019
Alison Wangab98bb52014-12-09 17:38:14 +080020#define CONFIG_SYS_DCSR_DCFG_ADDR (CONFIG_SYS_DCSRBAR + 0x00220000)
21
Wang Huan8ce6bec2014-09-05 13:52:34 +080022#define CONFIG_SYS_FSL_DDR_ADDR (CONFIG_SYS_IMMR + 0x00080000)
23#define CONFIG_SYS_CCI400_ADDR (CONFIG_SYS_IMMR + 0x00180000)
Xiubo Li54de0652014-11-21 17:40:58 +080024#define CONFIG_SYS_FSL_CSU_ADDR (CONFIG_SYS_IMMR + 0x00510000)
Wang Huan8ce6bec2014-09-05 13:52:34 +080025#define CONFIG_SYS_IFC_ADDR (CONFIG_SYS_IMMR + 0x00530000)
26#define CONFIG_SYS_FSL_ESDHC_ADDR (CONFIG_SYS_IMMR + 0x00560000)
27#define CONFIG_SYS_FSL_SCFG_ADDR (CONFIG_SYS_IMMR + 0x00570000)
Ruchika Gupta901ae762014-10-15 11:39:06 +053028#define CONFIG_SYS_FSL_SEC_ADDR (CONFIG_SYS_IMMR + 0x700000)
29#define CONFIG_SYS_FSL_JR0_ADDR (CONFIG_SYS_IMMR + 0x710000)
gaurav rana8b5ea652015-02-27 09:46:17 +053030#define CONFIG_SYS_SEC_MON_ADDR (CONFIG_SYS_IMMR + 0x00e90000)
31#define CONFIG_SYS_SFP_ADDR (CONFIG_SYS_IMMR + 0x00e80200)
Wang Huan8ce6bec2014-09-05 13:52:34 +080032#define CONFIG_SYS_FSL_SERDES_ADDR (CONFIG_SYS_IMMR + 0x00ea0000)
33#define CONFIG_SYS_FSL_GUTS_ADDR (CONFIG_SYS_IMMR + 0x00ee0000)
34#define CONFIG_SYS_FSL_LS1_CLK_ADDR (CONFIG_SYS_IMMR + 0x00ee1000)
35#define CONFIG_SYS_NS16550_COM1 (CONFIG_SYS_IMMR + 0x011c0500)
36#define CONFIG_SYS_NS16550_COM2 (CONFIG_SYS_IMMR + 0x011d0500)
Wang Huan4779d4a2014-09-05 13:52:48 +080037#define CONFIG_SYS_DCU_ADDR (CONFIG_SYS_IMMR + 0x01ce0000)
Rajesh Bhagat386f2e42016-06-07 18:59:34 +053038#define CONFIG_SYS_XHCI_USB1_ADDR (CONFIG_SYS_IMMR + 0x02100000)
39#define CONFIG_SYS_EHCI_USB1_ADDR (CONFIG_SYS_IMMR + 0x07600000)
Wang Huan8ce6bec2014-09-05 13:52:34 +080040
Alison Wanga825bb32015-01-16 17:21:34 +080041#define CONFIG_SYS_FSL_SEC_OFFSET 0x00700000
Alex Porosanu177fca82016-04-29 15:17:58 +030042#define CONFIG_SYS_FSL_JR0_OFFSET 0x00710000
Wang Huan8ce6bec2014-09-05 13:52:34 +080043#define CONFIG_SYS_TSEC1_OFFSET 0x01d10000
44#define CONFIG_SYS_TSEC2_OFFSET 0x01d50000
45#define CONFIG_SYS_TSEC3_OFFSET 0x01d90000
46#define CONFIG_SYS_MDIO1_OFFSET 0x01d24000
47
48#define TSEC_BASE_ADDR (CONFIG_SYS_IMMR + CONFIG_SYS_TSEC1_OFFSET)
49#define MDIO_BASE_ADDR (CONFIG_SYS_IMMR + CONFIG_SYS_MDIO1_OFFSET)
50
51#define SCTR_BASE_ADDR (CONFIG_SYS_IMMR + 0x01b00000)
52
53#define I2C1_BASE_ADDR (CONFIG_SYS_IMMR + 0x01180000)
54#define I2C2_BASE_ADDR (CONFIG_SYS_IMMR + 0x01190000)
55#define I2C3_BASE_ADDR (CONFIG_SYS_IMMR + 0x011a0000)
56
57#define WDOG1_BASE_ADDR (CONFIG_SYS_IMMR + 0x01ad0000)
58
59#define QSPI0_BASE_ADDR (CONFIG_SYS_IMMR + 0x00550000)
60#define DSPI1_BASE_ADDR (CONFIG_SYS_IMMR + 0x01100000)
61
62#define LPUART_BASE (CONFIG_SYS_IMMR + 0x01950000)
63
Minghuan Liana4d6b612014-10-31 13:43:44 +080064#define CONFIG_SYS_PCIE1_ADDR (CONFIG_SYS_IMMR + 0x2400000)
65#define CONFIG_SYS_PCIE2_ADDR (CONFIG_SYS_IMMR + 0x2500000)
66
Minghuan Lian6c9afed2015-01-21 17:29:17 +080067#define CONFIG_SYS_PCIE1_PHYS_BASE 0x4000000000ULL
68#define CONFIG_SYS_PCIE2_PHYS_BASE 0x4800000000ULL
69#define CONFIG_SYS_PCIE1_VIRT_ADDR 0x24000000UL
70#define CONFIG_SYS_PCIE2_VIRT_ADDR 0x34000000UL
71#define CONFIG_SYS_PCIE_MMAP_SIZE (192 * 1024 * 1024) /* 192M */
72/*
73 * TLB will map VIRT_ADDR to (PHYS_BASE + VIRT_ADDR)
74 * So 40bit PCIe PHY addr can directly be converted to a 32bit virtual addr.
75 */
76#define CONFIG_SYS_PCIE1_PHYS_ADDR (CONFIG_SYS_PCIE1_PHYS_BASE + \
77 CONFIG_SYS_PCIE1_VIRT_ADDR)
78#define CONFIG_SYS_PCIE2_PHYS_ADDR (CONFIG_SYS_PCIE2_PHYS_BASE + \
79 CONFIG_SYS_PCIE2_VIRT_ADDR)
80
tang yuantian9f51db22015-10-16 16:06:05 +080081/* SATA */
82#define AHCI_BASE_ADDR (CONFIG_SYS_IMMR + 0x02200000)
83#define CONFIG_BOARD_LATE_INIT
Simon Glass8706b812016-05-01 11:36:02 -060084#define CONFIG_SCSI
tang yuantian9f51db22015-10-16 16:06:05 +080085#define CONFIG_LIBATA
86#define CONFIG_SCSI_AHCI
87#define CONFIG_SCSI_AHCI_PLAT
88#define CONFIG_SYS_SCSI_MAX_SCSI_ID 1
89#define CONFIG_SYS_SCSI_MAX_LUN 1
90#define CONFIG_SYS_SCSI_MAX_DEVICE (CONFIG_SYS_SCSI_MAX_SCSI_ID * \
91 CONFIG_SYS_SCSI_MAX_LUN)
tang yuantian9f51db22015-10-16 16:06:05 +080092#define CONFIG_DOS_PARTITION
93#define CONFIG_SYS_FSL_ERRATUM_A008407
94
Wang Huan8ce6bec2014-09-05 13:52:34 +080095#ifdef CONFIG_DDR_SPD
96#define CONFIG_SYS_FSL_DDR_BE
97#define CONFIG_VERY_BIG_RAM
York Sunba3c0802014-09-11 13:32:07 -070098#ifdef CONFIG_SYS_FSL_DDR4
99#define CONFIG_SYS_FSL_DDRC_GEN4
100#else
Wang Huan8ce6bec2014-09-05 13:52:34 +0800101#define CONFIG_SYS_FSL_DDRC_ARM_GEN3
York Sunba3c0802014-09-11 13:32:07 -0700102#endif
Wang Huan8ce6bec2014-09-05 13:52:34 +0800103#define CONFIG_SYS_FSL_DDR
104#define CONFIG_SYS_LS1_DDR_BLOCK1_SIZE ((phys_size_t)2 << 30)
105#define CONFIG_MAX_MEM_MAPPED CONFIG_SYS_LS1_DDR_BLOCK1_SIZE
106#endif
107
108#define CONFIG_SYS_FSL_IFC_BE
109#define CONFIG_SYS_FSL_ESDHC_BE
110#define CONFIG_SYS_FSL_WDOG_BE
111#define CONFIG_SYS_FSL_DSPI_BE
112#define CONFIG_SYS_FSL_QSPI_BE
Wang Huan4779d4a2014-09-05 13:52:48 +0800113#define CONFIG_SYS_FSL_DCU_BE
gaurav rana8b5ea652015-02-27 09:46:17 +0530114#define CONFIG_SYS_FSL_SEC_MON_LE
Ruchika Gupta901ae762014-10-15 11:39:06 +0530115#define CONFIG_SYS_FSL_SEC_LE
gaurav rana8b5ea652015-02-27 09:46:17 +0530116#define CONFIG_SYS_FSL_SFP_VER_3_2
117#define CONFIG_SYS_FSL_SFP_BE
118#define CONFIG_SYS_FSL_SRK_LE
Wang Huan4779d4a2014-09-05 13:52:48 +0800119
120#define DCU_LAYER_MAX_NUM 16
Wang Huan8ce6bec2014-09-05 13:52:34 +0800121
122#define CONFIG_SYS_FSL_SRDS_1
123
124#ifdef CONFIG_LS102XA
125#define CONFIG_MAX_CPUS 2
126#define CONFIG_SYS_FSL_IFC_BANK_COUNT 8
127#define CONFIG_NUM_DDR_CONTROLLERS 1
York Sunba3c0802014-09-11 13:32:07 -0700128#define CONFIG_SYS_FSL_DDR_VER FSL_DDR_VER_5_0
Ruchika Gupta901ae762014-10-15 11:39:06 +0530129#define CONFIG_SYS_FSL_SEC_COMPAT 5
Nikhil Badolad3d6e702014-10-17 11:35:46 +0530130#define CONFIG_USB_MAX_CONTROLLER_COUNT 1
York Sun70acb342014-12-08 15:30:55 -0800131#define CONFIG_SYS_FSL_ERRATUM_A008378
Shengzhou Liubdda96c2015-12-16 16:45:41 +0800132#define CONFIG_SYS_FSL_ERRATUM_A009663
Alex Porosanub4848d02016-04-29 15:17:59 +0300133#define CONFIG_SYS_FSL_MAX_NUM_OF_SEC 1
Wang Huan8ce6bec2014-09-05 13:52:34 +0800134#else
135#error SoC not defined
136#endif
137
Alison Wang92fc30d2014-12-26 13:14:01 +0800138#define FSL_IFC_COMPAT "fsl,ifc"
Alison Wang88a931f2016-02-29 14:50:20 +0800139#define FSL_QSPI_COMPAT "fsl,ls1021a-qspi"
140#define FSL_DSPI_COMPAT "fsl,ls1021a-v1.0-dspi"
Alison Wang92fc30d2014-12-26 13:14:01 +0800141
Wang Huan8ce6bec2014-09-05 13:52:34 +0800142#endif /* _ASM_ARMV7_LS102XA_CONFIG_ */