1 /*
2  * (C) Copyright 2009
3  * Vipin Kumar, STMicroelectronics, <vipin.kumar@st.com>
4  *
5  * SPDX-License-Identifier:	GPL-2.0+
6  */
7 
8 #ifndef __CONFIG_H
9 #define __CONFIG_H
10 
11 /*
12  * High Level Configuration Options
13  * (easy to change)
14  */
15 #if defined(CONFIG_SPEAR300)
16 #define CONFIG_SPEAR3XX
17 #elif defined(CONFIG_SPEAR310)
18 #define CONFIG_SPEAR3XX
19 #elif defined(CONFIG_SPEAR320)
20 #define CONFIG_SPEAR3XX
21 #endif
22 
23 #if defined(CONFIG_USBTTY)
24 #define CONFIG_SPEAR_USBTTY
25 #endif
26 
27 #if defined(CONFIG_NAND)
28 #else
29 #define CONFIG_ENV_IS_IN_FLASH
30 #endif
31 
32 #include <configs/spear-common.h>
33 
34 /* Ethernet driver configuration */
35 #define CONFIG_DW_ALTDESCRIPTOR
36 
37 #if defined(CONFIG_SPEAR310)
38 #define CONFIG_MACB
39 #define CONFIG_MACB0_PHY			0x01
40 #define CONFIG_MACB1_PHY			0x03
41 #define CONFIG_MACB2_PHY			0x05
42 #define CONFIG_MACB3_PHY			0x07
43 
44 #elif defined(CONFIG_SPEAR320)
45 #define CONFIG_MACB
46 #define CONFIG_MACB0_PHY			0x01
47 
48 #endif
49 
50 /* Serial Configuration (PL011) */
51 #define CONFIG_SYS_SERIAL0			0xD0000000
52 
53 #if defined(CONFIG_SPEAR300)
54 #define CONFIG_PL01x_PORTS			{(void *)CONFIG_SYS_SERIAL0}
55 
56 #elif defined(CONFIG_SPEAR310)
57 
58 #if (CONFIG_CONS_INDEX)
59 #undef  CONFIG_PL011_CLOCK
60 #define CONFIG_PL011_CLOCK			(83 * 1000 * 1000)
61 #endif
62 
63 #define CONFIG_SYS_SERIAL1			0xB2000000
64 #define CONFIG_SYS_SERIAL2			0xB2080000
65 #define CONFIG_SYS_SERIAL3			0xB2100000
66 #define CONFIG_SYS_SERIAL4			0xB2180000
67 #define CONFIG_SYS_SERIAL5			0xB2200000
68 #define CONFIG_PL01x_PORTS			{(void *)CONFIG_SYS_SERIAL0, \
69 						(void *)CONFIG_SYS_SERIAL1, \
70 						(void *)CONFIG_SYS_SERIAL2, \
71 						(void *)CONFIG_SYS_SERIAL3, \
72 						(void *)CONFIG_SYS_SERIAL4, \
73 						(void *)CONFIG_SYS_SERIAL5 }
74 #elif defined(CONFIG_SPEAR320)
75 
76 #if (CONFIG_CONS_INDEX)
77 #undef  CONFIG_PL011_CLOCK
78 #define CONFIG_PL011_CLOCK			(83 * 1000 * 1000)
79 #endif
80 
81 #define CONFIG_SYS_SERIAL1			0xA3000000
82 #define CONFIG_SYS_SERIAL2			0xA4000000
83 #define CONFIG_PL01x_PORTS			{(void *)CONFIG_SYS_SERIAL0, \
84 						(void *)CONFIG_SYS_SERIAL1, \
85 						(void *)CONFIG_SYS_SERIAL2 }
86 #endif
87 
88 #if defined(CONFIG_SPEAR_EMI)
89 
90 #define CONFIG_SYS_FLASH_CFI
91 #define CONFIG_FLASH_CFI_DRIVER
92 
93 #if defined(CONFIG_SPEAR310)
94 #define CONFIG_SYS_FLASH_PROTECTION
95 #define CONFIG_SYS_FLASH_BASE			0x50000000
96 #define CONFIG_SYS_CS1_FLASH_BASE		0x60000000
97 #define CONFIG_SYS_CS2_FLASH_BASE		0x70000000
98 #define CONFIG_SYS_CS3_FLASH_BASE		0x80000000
99 #define CONFIG_SYS_CS4_FLASH_BASE		0x90000000
100 #define CONFIG_SYS_CS5_FLASH_BASE		0xA0000000
101 #define CONFIG_SYS_FLASH_BANKS_LIST		{ CONFIG_SYS_FLASH_BASE,   \
102 						CONFIG_SYS_CS1_FLASH_BASE, \
103 						CONFIG_SYS_CS2_FLASH_BASE, \
104 						CONFIG_SYS_CS3_FLASH_BASE, \
105 						CONFIG_SYS_CS4_FLASH_BASE, \
106 						CONFIG_SYS_CS5_FLASH_BASE }
107 #define CONFIG_SYS_MAX_FLASH_BANKS		6
108 
109 #elif defined(CONFIG_SPEAR320)
110 #define CONFIG_SYS_FLASH_PROTECTION
111 #define CONFIG_SYS_FLASH_BASE			0x44000000
112 #define CONFIG_SYS_CS1_FLASH_BASE		0x45000000
113 #define CONFIG_SYS_CS2_FLASH_BASE		0x46000000
114 #define CONFIG_SYS_CS3_FLASH_BASE		0x47000000
115 #define CONFIG_SYS_FLASH_BANKS_LIST		{ CONFIG_SYS_FLASH_BASE,   \
116 						CONFIG_SYS_CS1_FLASH_BASE, \
117 						CONFIG_SYS_CS2_FLASH_BASE, \
118 						CONFIG_SYS_CS3_FLASH_BASE }
119 #define CONFIG_SYS_MAX_FLASH_BANKS		4
120 
121 #endif
122 
123 #define CONFIG_SYS_MAX_FLASH_SECT		(127 + 8)
124 #define CONFIG_SYS_FLASH_QUIET_TEST
125 
126 #endif
127 
128 /* NAND flash configuration */
129 #define CONFIG_SYS_FSMC_NAND_SP
130 #define CONFIG_SYS_FSMC_NAND_8BIT
131 
132 #if defined(CONFIG_SPEAR300)
133 #define CONFIG_SYS_NAND_BASE			0x80000000
134 
135 #elif defined(CONFIG_SPEAR310)
136 #define CONFIG_SYS_NAND_BASE			0x40000000
137 
138 #elif defined(CONFIG_SPEAR320)
139 #define CONFIG_SYS_NAND_BASE			0x50000000
140 
141 #endif
142 
143 /* Environment Settings */
144 #if defined(CONFIG_SPEAR300)
145 #define CONFIG_EXTRA_ENV_SETTINGS              CONFIG_EXTRA_ENV_USBTTY
146 
147 #elif defined(CONFIG_SPEAR310) || defined(CONFIG_SPEAR320)
148 #define CONFIG_EXTRA_ENV_UNLOCK                        "unlock=yes\0"
149 #define CONFIG_EXTRA_ENV_SETTINGS              CONFIG_EXTRA_ENV_USBTTY \
150 						CONFIG_EXTRA_ENV_UNLOCK
151 #endif
152 
153 #endif  /* __CONFIG_H */
154