blob: fe37d1fa2d7f14dc7cd20fe42c840fd16c577cef [file] [log] [blame]
Masahiro Yamadad3ae6782014-07-30 14:08:14 +09001menu "MIPS architecture"
2 depends on MIPS
3
4config SYS_ARCH
Masahiro Yamadad3ae6782014-07-30 14:08:14 +09005 default "mips"
6
Daniel Schwierzeck99e7af22014-10-26 14:14:07 +01007config SYS_CPU
8 default "mips32" if CPU_MIPS32_R1 || CPU_MIPS32_R2
9 default "mips64" if CPU_MIPS64_R1 || CPU_MIPS64_R2
10
Masahiro Yamadad3ae6782014-07-30 14:08:14 +090011choice
12 prompt "Target select"
Joe Hershbergerf0699602015-05-12 14:46:23 -050013 optional
Masahiro Yamadad3ae6782014-07-30 14:08:14 +090014
15config TARGET_QEMU_MIPS
16 bool "Support qemu-mips"
Daniel Schwierzecka4c242b2014-10-26 14:14:07 +010017 select SUPPORTS_BIG_ENDIAN
18 select SUPPORTS_LITTLE_ENDIAN
Daniel Schwierzeck256034d2014-10-26 14:14:07 +010019 select SUPPORTS_CPU_MIPS32_R1
20 select SUPPORTS_CPU_MIPS32_R2
Daniel Schwierzeck94384d12014-10-26 14:14:07 +010021 select SUPPORTS_CPU_MIPS64_R1
22 select SUPPORTS_CPU_MIPS64_R2
Masahiro Yamadad3ae6782014-07-30 14:08:14 +090023
24config TARGET_MALTA
25 bool "Support malta"
Paul Burton8d6600b2016-01-29 13:54:52 +000026 select DYNAMIC_IO_PORT_BASE
Daniel Schwierzecka4c242b2014-10-26 14:14:07 +010027 select SUPPORTS_BIG_ENDIAN
28 select SUPPORTS_LITTLE_ENDIAN
Daniel Schwierzeck256034d2014-10-26 14:14:07 +010029 select SUPPORTS_CPU_MIPS32_R1
30 select SUPPORTS_CPU_MIPS32_R2
Daniel Schwierzeck7dca6862015-01-18 22:00:18 +010031 select SWAP_IO_SPACE
Daniel Schwierzeck02ca55e2016-01-09 17:32:50 +010032 select MIPS_L1_CACHE_SHIFT_6
Masahiro Yamadad3ae6782014-07-30 14:08:14 +090033
34config TARGET_VCT
35 bool "Support vct"
Daniel Schwierzecka4c242b2014-10-26 14:14:07 +010036 select SUPPORTS_BIG_ENDIAN
Daniel Schwierzeck256034d2014-10-26 14:14:07 +010037 select SUPPORTS_CPU_MIPS32_R1
38 select SUPPORTS_CPU_MIPS32_R2
Paul Burton6832bdc2015-01-29 01:28:02 +000039 select SYS_MIPS_CACHE_INIT_RAM_LOAD
Masahiro Yamadad3ae6782014-07-30 14:08:14 +090040
41config TARGET_DBAU1X00
42 bool "Support dbau1x00"
Daniel Schwierzecka4c242b2014-10-26 14:14:07 +010043 select SUPPORTS_BIG_ENDIAN
44 select SUPPORTS_LITTLE_ENDIAN
Daniel Schwierzeck256034d2014-10-26 14:14:07 +010045 select SUPPORTS_CPU_MIPS32_R1
46 select SUPPORTS_CPU_MIPS32_R2
Paul Burton6832bdc2015-01-29 01:28:02 +000047 select SYS_MIPS_CACHE_INIT_RAM_LOAD
Daniel Schwierzeckaadd3322015-12-26 19:55:37 +010048 select MIPS_TUNE_4KC
Masahiro Yamadad3ae6782014-07-30 14:08:14 +090049
50config TARGET_PB1X00
51 bool "Support pb1x00"
Daniel Schwierzecka4c242b2014-10-26 14:14:07 +010052 select SUPPORTS_LITTLE_ENDIAN
Daniel Schwierzeck256034d2014-10-26 14:14:07 +010053 select SUPPORTS_CPU_MIPS32_R1
54 select SUPPORTS_CPU_MIPS32_R2
Paul Burton6832bdc2015-01-29 01:28:02 +000055 select SYS_MIPS_CACHE_INIT_RAM_LOAD
Daniel Schwierzeckaadd3322015-12-26 19:55:37 +010056 select MIPS_TUNE_4KC
Masahiro Yamadad3ae6782014-07-30 14:08:14 +090057
Purna Chandra Mandal825b3212016-01-28 15:30:10 +053058config MACH_PIC32
59 bool "Support Microchip PIC32"
60 select OF_CONTROL
61 select DM
62
Masahiro Yamadad3ae6782014-07-30 14:08:14 +090063endchoice
64
65source "board/dbau1x00/Kconfig"
66source "board/imgtec/malta/Kconfig"
67source "board/micronas/vct/Kconfig"
68source "board/pb1x00/Kconfig"
69source "board/qemu-mips/Kconfig"
Purna Chandra Mandal825b3212016-01-28 15:30:10 +053070source "arch/mips/mach-pic32/Kconfig"
Masahiro Yamadad3ae6782014-07-30 14:08:14 +090071
Daniel Schwierzecka4c242b2014-10-26 14:14:07 +010072if MIPS
73
74choice
75 prompt "Endianness selection"
76 help
77 Some MIPS boards can be configured for either little or big endian
78 byte order. These modes require different U-Boot images. In general there
79 is one preferred byteorder for a particular system but some systems are
80 just as commonly used in the one or the other endianness.
81
82config SYS_BIG_ENDIAN
83 bool "Big endian"
84 depends on SUPPORTS_BIG_ENDIAN
85
86config SYS_LITTLE_ENDIAN
87 bool "Little endian"
88 depends on SUPPORTS_LITTLE_ENDIAN
89
90endchoice
91
Daniel Schwierzeck256034d2014-10-26 14:14:07 +010092choice
93 prompt "CPU selection"
94 default CPU_MIPS32_R2
95
96config CPU_MIPS32_R1
97 bool "MIPS32 Release 1"
98 depends on SUPPORTS_CPU_MIPS32_R1
99 select 32BIT
100 help
101 Choose this option to build an U-Boot for release 1 or later of the
102 MIPS32 architecture.
103
104config CPU_MIPS32_R2
105 bool "MIPS32 Release 2"
106 depends on SUPPORTS_CPU_MIPS32_R2
107 select 32BIT
108 help
109 Choose this option to build an U-Boot for release 2 or later of the
110 MIPS32 architecture.
111
112config CPU_MIPS64_R1
113 bool "MIPS64 Release 1"
114 depends on SUPPORTS_CPU_MIPS64_R1
115 select 64BIT
116 help
117 Choose this option to build a kernel for release 1 or later of the
118 MIPS64 architecture.
119
120config CPU_MIPS64_R2
121 bool "MIPS64 Release 2"
122 depends on SUPPORTS_CPU_MIPS64_R2
123 select 64BIT
124 help
125 Choose this option to build a kernel for release 2 or later of the
126 MIPS64 architecture.
127
128endchoice
129
Daniel Schwierzeckf9749fa2015-01-14 21:44:13 +0100130menu "OS boot interface"
131
132config MIPS_BOOT_CMDLINE_LEGACY
133 bool "Hand over legacy command line to Linux kernel"
134 default y
135 help
136 Enable this option if you want U-Boot to hand over the Yamon-style
137 command line to the kernel. All bootargs will be prepared as argc/argv
138 compatible list. The argument count (argc) is stored in register $a0.
139 The address of the argument list (argv) is stored in register $a1.
140
Daniel Schwierzeckc07dc602015-01-14 21:44:13 +0100141config MIPS_BOOT_ENV_LEGACY
142 bool "Hand over legacy environment to Linux kernel"
143 default y
144 help
145 Enable this option if you want U-Boot to hand over the Yamon-style
146 environment to the kernel. Information like memory size, initrd
147 address and size will be prepared as zero-terminated key/value list.
Robert P. J. Day8c60f922016-05-04 04:47:31 -0400148 The address of the environment is stored in register $a2.
Daniel Schwierzeckc07dc602015-01-14 21:44:13 +0100149
Daniel Schwierzeck8d7ff4d2015-01-14 21:44:13 +0100150config MIPS_BOOT_FDT
Daniel Schwierzeckd1b29d22015-02-22 16:58:30 +0100151 bool "Hand over a flattened device tree to Linux kernel"
Daniel Schwierzeck8d7ff4d2015-01-14 21:44:13 +0100152 default n
153 help
154 Enable this option if you want U-Boot to hand over a flattened
Daniel Schwierzeckd1b29d22015-02-22 16:58:30 +0100155 device tree to the kernel. According to UHI register $a0 will be set
156 to -2 and the FDT address is stored in $a1.
Daniel Schwierzeck8d7ff4d2015-01-14 21:44:13 +0100157
Daniel Schwierzeckf9749fa2015-01-14 21:44:13 +0100158endmenu
159
Daniel Schwierzecka4c242b2014-10-26 14:14:07 +0100160config SUPPORTS_BIG_ENDIAN
161 bool
162
163config SUPPORTS_LITTLE_ENDIAN
164 bool
165
Daniel Schwierzeck256034d2014-10-26 14:14:07 +0100166config SUPPORTS_CPU_MIPS32_R1
167 bool
168
169config SUPPORTS_CPU_MIPS32_R2
170 bool
171
172config SUPPORTS_CPU_MIPS64_R1
173 bool
174
175config SUPPORTS_CPU_MIPS64_R2
176 bool
177
Daniel Schwierzeckdfbad0f2015-01-18 21:59:35 +0100178config CPU_MIPS32
179 bool
180 default y if CPU_MIPS32_R1 || CPU_MIPS32_R2
181
182config CPU_MIPS64
183 bool
184 default y if CPU_MIPS64_R1 || CPU_MIPS64_R2
185
Daniel Schwierzeckaadd3322015-12-26 19:55:37 +0100186config MIPS_TUNE_4KC
187 bool
188
189config MIPS_TUNE_14KC
190 bool
191
192config MIPS_TUNE_24KC
193 bool
194
Daniel Schwierzeck256034d2014-10-26 14:14:07 +0100195config 32BIT
196 bool
197
198config 64BIT
199 bool
200
Daniel Schwierzeck7dca6862015-01-18 22:00:18 +0100201config SWAP_IO_SPACE
202 bool
203
Paul Burton6832bdc2015-01-29 01:28:02 +0000204config SYS_MIPS_CACHE_INIT_RAM_LOAD
205 bool
206
Daniel Schwierzeck02ca55e2016-01-09 17:32:50 +0100207config MIPS_L1_CACHE_SHIFT_4
208 bool
209
210config MIPS_L1_CACHE_SHIFT_5
211 bool
212
213config MIPS_L1_CACHE_SHIFT_6
214 bool
215
216config MIPS_L1_CACHE_SHIFT_7
217 bool
218
219config MIPS_L1_CACHE_SHIFT
220 int
221 default "7" if MIPS_L1_CACHE_SHIFT_7
222 default "6" if MIPS_L1_CACHE_SHIFT_6
223 default "5" if MIPS_L1_CACHE_SHIFT_5
224 default "4" if MIPS_L1_CACHE_SHIFT_4
225 default "5"
226
Paul Burton8d6600b2016-01-29 13:54:52 +0000227config DYNAMIC_IO_PORT_BASE
228 bool
229
Daniel Schwierzecka4c242b2014-10-26 14:14:07 +0100230endif
231
Masahiro Yamadad3ae6782014-07-30 14:08:14 +0900232endmenu