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 #include <configs/spear-common.h>
28 
29 /* Ethernet driver configuration */
30 #define CONFIG_DW_ALTDESCRIPTOR
31 
32 #if defined(CONFIG_SPEAR310)
33 #define CONFIG_MACB
34 #define CONFIG_MACB0_PHY			0x01
35 #define CONFIG_MACB1_PHY			0x03
36 #define CONFIG_MACB2_PHY			0x05
37 #define CONFIG_MACB3_PHY			0x07
38 
39 #elif defined(CONFIG_SPEAR320)
40 #define CONFIG_MACB
41 #define CONFIG_MACB0_PHY			0x01
42 
43 #endif
44 
45 /* Serial Configuration (PL011) */
46 #define CONFIG_SYS_SERIAL0			0xD0000000
47 
48 #if defined(CONFIG_SPEAR300)
49 #define CONFIG_PL01x_PORTS			{(void *)CONFIG_SYS_SERIAL0}
50 
51 #elif defined(CONFIG_SPEAR310)
52 
53 #if (CONFIG_CONS_INDEX)
54 #undef  CONFIG_PL011_CLOCK
55 #define CONFIG_PL011_CLOCK			(83 * 1000 * 1000)
56 #endif
57 
58 #define CONFIG_SYS_SERIAL1			0xB2000000
59 #define CONFIG_SYS_SERIAL2			0xB2080000
60 #define CONFIG_SYS_SERIAL3			0xB2100000
61 #define CONFIG_SYS_SERIAL4			0xB2180000
62 #define CONFIG_SYS_SERIAL5			0xB2200000
63 #define CONFIG_PL01x_PORTS			{(void *)CONFIG_SYS_SERIAL0, \
64 						(void *)CONFIG_SYS_SERIAL1, \
65 						(void *)CONFIG_SYS_SERIAL2, \
66 						(void *)CONFIG_SYS_SERIAL3, \
67 						(void *)CONFIG_SYS_SERIAL4, \
68 						(void *)CONFIG_SYS_SERIAL5 }
69 #elif defined(CONFIG_SPEAR320)
70 
71 #if (CONFIG_CONS_INDEX)
72 #undef  CONFIG_PL011_CLOCK
73 #define CONFIG_PL011_CLOCK			(83 * 1000 * 1000)
74 #endif
75 
76 #define CONFIG_SYS_SERIAL1			0xA3000000
77 #define CONFIG_SYS_SERIAL2			0xA4000000
78 #define CONFIG_PL01x_PORTS			{(void *)CONFIG_SYS_SERIAL0, \
79 						(void *)CONFIG_SYS_SERIAL1, \
80 						(void *)CONFIG_SYS_SERIAL2 }
81 #endif
82 
83 #if defined(CONFIG_SPEAR_EMI)
84 
85 #define CONFIG_SYS_FLASH_CFI
86 #define CONFIG_FLASH_CFI_DRIVER
87 
88 #if defined(CONFIG_SPEAR310)
89 #define CONFIG_SYS_FLASH_PROTECTION
90 #define CONFIG_SYS_FLASH_BASE			0x50000000
91 #define CONFIG_SYS_CS1_FLASH_BASE		0x60000000
92 #define CONFIG_SYS_CS2_FLASH_BASE		0x70000000
93 #define CONFIG_SYS_CS3_FLASH_BASE		0x80000000
94 #define CONFIG_SYS_CS4_FLASH_BASE		0x90000000
95 #define CONFIG_SYS_CS5_FLASH_BASE		0xA0000000
96 #define CONFIG_SYS_FLASH_BANKS_LIST		{ CONFIG_SYS_FLASH_BASE,   \
97 						CONFIG_SYS_CS1_FLASH_BASE, \
98 						CONFIG_SYS_CS2_FLASH_BASE, \
99 						CONFIG_SYS_CS3_FLASH_BASE, \
100 						CONFIG_SYS_CS4_FLASH_BASE, \
101 						CONFIG_SYS_CS5_FLASH_BASE }
102 #define CONFIG_SYS_MAX_FLASH_BANKS		6
103 
104 #elif defined(CONFIG_SPEAR320)
105 #define CONFIG_SYS_FLASH_PROTECTION
106 #define CONFIG_SYS_FLASH_BASE			0x44000000
107 #define CONFIG_SYS_CS1_FLASH_BASE		0x45000000
108 #define CONFIG_SYS_CS2_FLASH_BASE		0x46000000
109 #define CONFIG_SYS_CS3_FLASH_BASE		0x47000000
110 #define CONFIG_SYS_FLASH_BANKS_LIST		{ CONFIG_SYS_FLASH_BASE,   \
111 						CONFIG_SYS_CS1_FLASH_BASE, \
112 						CONFIG_SYS_CS2_FLASH_BASE, \
113 						CONFIG_SYS_CS3_FLASH_BASE }
114 #define CONFIG_SYS_MAX_FLASH_BANKS		4
115 
116 #endif
117 
118 #define CONFIG_SYS_MAX_FLASH_SECT		(127 + 8)
119 #define CONFIG_SYS_FLASH_QUIET_TEST
120 
121 #endif
122 
123 /* NAND flash configuration */
124 #define CONFIG_SYS_FSMC_NAND_SP
125 #define CONFIG_SYS_FSMC_NAND_8BIT
126 
127 #if defined(CONFIG_SPEAR300)
128 #define CONFIG_SYS_NAND_BASE			0x80000000
129 
130 #elif defined(CONFIG_SPEAR310)
131 #define CONFIG_SYS_NAND_BASE			0x40000000
132 
133 #elif defined(CONFIG_SPEAR320)
134 #define CONFIG_SYS_NAND_BASE			0x50000000
135 
136 #endif
137 
138 /* Environment Settings */
139 #if defined(CONFIG_SPEAR300)
140 #define CONFIG_EXTRA_ENV_SETTINGS              CONFIG_EXTRA_ENV_USBTTY
141 
142 #elif defined(CONFIG_SPEAR310) || defined(CONFIG_SPEAR320)
143 #define CONFIG_EXTRA_ENV_UNLOCK                        "unlock=yes\0"
144 #define CONFIG_EXTRA_ENV_SETTINGS              CONFIG_EXTRA_ENV_USBTTY \
145 						CONFIG_EXTRA_ENV_UNLOCK
146 #endif
147 
148 #endif  /* __CONFIG_H */
149