xref: /openbmc/u-boot/arch/mips/Kconfig (revision 4c835a607bd5adf88a726c0f636b00dd31e50237)
1dd84058dSMasahiro Yamadamenu "MIPS architecture"
2dd84058dSMasahiro Yamada	depends on MIPS
3dd84058dSMasahiro Yamada
4dd84058dSMasahiro Yamadaconfig SYS_ARCH
5dd84058dSMasahiro Yamada	default "mips"
6dd84058dSMasahiro Yamada
7b9863b6dSDaniel Schwierzeckconfig SYS_CPU
820286cdfSPaul Burton	default "mips32" if CPU_MIPS32
920286cdfSPaul Burton	default "mips64" if CPU_MIPS64
10b9863b6dSDaniel Schwierzeck
11dd84058dSMasahiro Yamadachoice
12dd84058dSMasahiro Yamada	prompt "Target select"
13a26cd049SJoe Hershberger	optional
14dd84058dSMasahiro Yamada
15dd84058dSMasahiro Yamadaconfig TARGET_QEMU_MIPS
16dd84058dSMasahiro Yamada	bool "Support qemu-mips"
175ed063d1SMichal Simek	select ROM_EXCEPTION_VECTORS
180e1dc345SDaniel Schwierzeck	select SUPPORTS_BIG_ENDIAN
1902611cbbSDaniel Schwierzeck	select SUPPORTS_CPU_MIPS32_R1
2002611cbbSDaniel Schwierzeck	select SUPPORTS_CPU_MIPS32_R2
21aa45f75eSDaniel Schwierzeck	select SUPPORTS_CPU_MIPS64_R1
22aa45f75eSDaniel Schwierzeck	select SUPPORTS_CPU_MIPS64_R2
235ed063d1SMichal Simek	select SUPPORTS_LITTLE_ENDIAN
24dd84058dSMasahiro Yamada
25dd84058dSMasahiro Yamadaconfig TARGET_MALTA
26dd84058dSMasahiro Yamada	bool "Support malta"
276242aa13SPaul Burton	select DM
286242aa13SPaul Burton	select DM_SERIAL
2905e34255SPaul Burton	select DYNAMIC_IO_PORT_BASE
30566ce04dSPaul Burton	select MIPS_CM
31d1c3d8bdSDaniel Schwierzeck	select MIPS_INSERT_BOOT_CONFIG
325ed063d1SMichal Simek	select MIPS_L1_CACHE_SHIFT_6
33566ce04dSPaul Burton	select MIPS_L2_CACHE
346242aa13SPaul Burton	select OF_CONTROL
356242aa13SPaul Burton	select OF_ISA_BUS
365ed063d1SMichal Simek	select ROM_EXCEPTION_VECTORS
370e1dc345SDaniel Schwierzeck	select SUPPORTS_BIG_ENDIAN
3802611cbbSDaniel Schwierzeck	select SUPPORTS_CPU_MIPS32_R1
3902611cbbSDaniel Schwierzeck	select SUPPORTS_CPU_MIPS32_R2
4040ba13c9SPaul Burton	select SUPPORTS_CPU_MIPS32_R6
410f832b9cSPaul Burton	select SUPPORTS_CPU_MIPS64_R1
420f832b9cSPaul Burton	select SUPPORTS_CPU_MIPS64_R2
430f832b9cSPaul Burton	select SUPPORTS_CPU_MIPS64_R6
445ed063d1SMichal Simek	select SUPPORTS_LITTLE_ENDIAN
459d638eeaSDaniel Schwierzeck	select SWAP_IO_SPACE
4608a00cbaSMichal Simek	imply CMD_DM
47dd84058dSMasahiro Yamada
48dd84058dSMasahiro Yamadaconfig TARGET_VCT
49dd84058dSMasahiro Yamada	bool "Support vct"
505ed063d1SMichal Simek	select ROM_EXCEPTION_VECTORS
510e1dc345SDaniel Schwierzeck	select SUPPORTS_BIG_ENDIAN
5202611cbbSDaniel Schwierzeck	select SUPPORTS_CPU_MIPS32_R1
5302611cbbSDaniel Schwierzeck	select SUPPORTS_CPU_MIPS32_R2
54dd7c7200SPaul Burton	select SYS_MIPS_CACHE_INIT_RAM_LOAD
55dd84058dSMasahiro Yamada
561d3d0f1fSWills Wangconfig ARCH_ATH79
571d3d0f1fSWills Wang	bool "Support QCA/Atheros ath79"
581d3d0f1fSWills Wang	select DM
595ed063d1SMichal Simek	select OF_CONTROL
6008a00cbaSMichal Simek	imply CMD_DM
611d3d0f1fSWills Wang
62ee422142SÁlvaro Fernández Rojasconfig ARCH_BMIPS
63ee422142SÁlvaro Fernández Rojas	bool "Support BMIPS SoCs"
64ee422142SÁlvaro Fernández Rojas	select CLK
65ee422142SÁlvaro Fernández Rojas	select CPU
665ed063d1SMichal Simek	select DM
675ed063d1SMichal Simek	select OF_CONTROL
68ee422142SÁlvaro Fernández Rojas	select RAM
69ee422142SÁlvaro Fernández Rojas	select SYSRESET
7008a00cbaSMichal Simek	imply CMD_DM
71ee422142SÁlvaro Fernández Rojas
72*4c835a60SStefan Roeseconfig ARCH_MT7620
73*4c835a60SStefan Roese	bool "Support MT7620/7688 SoCs"
74*4c835a60SStefan Roese	imply CMD_DM
75*4c835a60SStefan Roese	select DISPLAY_CPUINFO
76*4c835a60SStefan Roese	select DM
77*4c835a60SStefan Roese	select DM_SERIAL
78*4c835a60SStefan Roese	imply DM_SPI
79*4c835a60SStefan Roese	imply DM_SPI_FLASH
80*4c835a60SStefan Roese	select MIPS_TUNE_24KC
81*4c835a60SStefan Roese	select OF_CONTROL
82*4c835a60SStefan Roese	select ROM_EXCEPTION_VECTORS
83*4c835a60SStefan Roese	select SUPPORTS_CPU_MIPS32_R1
84*4c835a60SStefan Roese	select SUPPORTS_CPU_MIPS32_R2
85*4c835a60SStefan Roese	select SUPPORTS_LITTLE_ENDIAN
86*4c835a60SStefan Roese
8732c1a6eeSPurna Chandra Mandalconfig MACH_PIC32
8832c1a6eeSPurna Chandra Mandal	bool "Support Microchip PIC32"
8932c1a6eeSPurna Chandra Mandal	select DM
905ed063d1SMichal Simek	select OF_CONTROL
9108a00cbaSMichal Simek	imply CMD_DM
9232c1a6eeSPurna Chandra Mandal
93ad8783cbSPaul Burtonconfig TARGET_BOSTON
94ad8783cbSPaul Burton	bool "Support Boston"
95ad8783cbSPaul Burton	select DM
96ad8783cbSPaul Burton	select DM_SERIAL
97ad8783cbSPaul Burton	select MIPS_CM
98ad8783cbSPaul Burton	select MIPS_L1_CACHE_SHIFT_6
99ad8783cbSPaul Burton	select MIPS_L2_CACHE
100d2b12a57SPaul Burton	select OF_BOARD_SETUP
1015ed063d1SMichal Simek	select OF_CONTROL
1025ed063d1SMichal Simek	select ROM_EXCEPTION_VECTORS
103ad8783cbSPaul Burton	select SUPPORTS_BIG_ENDIAN
104ad8783cbSPaul Burton	select SUPPORTS_CPU_MIPS32_R1
105ad8783cbSPaul Burton	select SUPPORTS_CPU_MIPS32_R2
106ad8783cbSPaul Burton	select SUPPORTS_CPU_MIPS32_R6
107ad8783cbSPaul Burton	select SUPPORTS_CPU_MIPS64_R1
108ad8783cbSPaul Burton	select SUPPORTS_CPU_MIPS64_R2
109ad8783cbSPaul Burton	select SUPPORTS_CPU_MIPS64_R6
1105ed063d1SMichal Simek	select SUPPORTS_LITTLE_ENDIAN
11108a00cbaSMichal Simek	imply CMD_DM
112ad8783cbSPaul Burton
113ebf2b9e3SZubair Lutfullah Kakakhelconfig TARGET_XILFPGA
114ebf2b9e3SZubair Lutfullah Kakakhel	bool "Support Imagination Xilfpga"
115ebf2b9e3SZubair Lutfullah Kakakhel	select DM
116ebf2b9e3SZubair Lutfullah Kakakhel	select DM_ETH
1175ed063d1SMichal Simek	select DM_GPIO
1185ed063d1SMichal Simek	select DM_SERIAL
1195ed063d1SMichal Simek	select MIPS_L1_CACHE_SHIFT_4
1205ed063d1SMichal Simek	select OF_CONTROL
1215ed063d1SMichal Simek	select ROM_EXCEPTION_VECTORS
122ebf2b9e3SZubair Lutfullah Kakakhel	select SUPPORTS_CPU_MIPS32_R1
123ebf2b9e3SZubair Lutfullah Kakakhel	select SUPPORTS_CPU_MIPS32_R2
1245ed063d1SMichal Simek	select SUPPORTS_LITTLE_ENDIAN
12508a00cbaSMichal Simek	imply CMD_DM
126ebf2b9e3SZubair Lutfullah Kakakhel	help
127ebf2b9e3SZubair Lutfullah Kakakhel	  This supports IMGTEC MIPSfpga platform
128ebf2b9e3SZubair Lutfullah Kakakhel
129dd84058dSMasahiro Yamadaendchoice
130dd84058dSMasahiro Yamada
131ad8783cbSPaul Burtonsource "board/imgtec/boston/Kconfig"
132dd84058dSMasahiro Yamadasource "board/imgtec/malta/Kconfig"
133ebf2b9e3SZubair Lutfullah Kakakhelsource "board/imgtec/xilfpga/Kconfig"
134dd84058dSMasahiro Yamadasource "board/micronas/vct/Kconfig"
135dd84058dSMasahiro Yamadasource "board/qemu-mips/Kconfig"
1361d3d0f1fSWills Wangsource "arch/mips/mach-ath79/Kconfig"
137ee422142SÁlvaro Fernández Rojassource "arch/mips/mach-bmips/Kconfig"
13832c1a6eeSPurna Chandra Mandalsource "arch/mips/mach-pic32/Kconfig"
139*4c835a60SStefan Roesesource "arch/mips/mach-mt7620/Kconfig"
140dd84058dSMasahiro Yamada
1410e1dc345SDaniel Schwierzeckif MIPS
1420e1dc345SDaniel Schwierzeck
1430e1dc345SDaniel Schwierzeckchoice
1440e1dc345SDaniel Schwierzeck	prompt "Endianness selection"
1450e1dc345SDaniel Schwierzeck	help
1460e1dc345SDaniel Schwierzeck	  Some MIPS boards can be configured for either little or big endian
1470e1dc345SDaniel Schwierzeck	  byte order. These modes require different U-Boot images. In general there
1480e1dc345SDaniel Schwierzeck	  is one preferred byteorder for a particular system but some systems are
1490e1dc345SDaniel Schwierzeck	  just as commonly used in the one or the other endianness.
1500e1dc345SDaniel Schwierzeck
1510e1dc345SDaniel Schwierzeckconfig SYS_BIG_ENDIAN
1520e1dc345SDaniel Schwierzeck	bool "Big endian"
1530e1dc345SDaniel Schwierzeck	depends on SUPPORTS_BIG_ENDIAN
1540e1dc345SDaniel Schwierzeck
1550e1dc345SDaniel Schwierzeckconfig SYS_LITTLE_ENDIAN
1560e1dc345SDaniel Schwierzeck	bool "Little endian"
1570e1dc345SDaniel Schwierzeck	depends on SUPPORTS_LITTLE_ENDIAN
1580e1dc345SDaniel Schwierzeck
1590e1dc345SDaniel Schwierzeckendchoice
1600e1dc345SDaniel Schwierzeck
16102611cbbSDaniel Schwierzeckchoice
16202611cbbSDaniel Schwierzeck	prompt "CPU selection"
16302611cbbSDaniel Schwierzeck	default CPU_MIPS32_R2
16402611cbbSDaniel Schwierzeck
16502611cbbSDaniel Schwierzeckconfig CPU_MIPS32_R1
16602611cbbSDaniel Schwierzeck	bool "MIPS32 Release 1"
16702611cbbSDaniel Schwierzeck	depends on SUPPORTS_CPU_MIPS32_R1
16802611cbbSDaniel Schwierzeck	select 32BIT
16902611cbbSDaniel Schwierzeck	help
170c52ebea1SPaul Burton	  Choose this option to build an U-Boot for release 1 through 5 of the
17102611cbbSDaniel Schwierzeck	  MIPS32 architecture.
17202611cbbSDaniel Schwierzeck
17302611cbbSDaniel Schwierzeckconfig CPU_MIPS32_R2
17402611cbbSDaniel Schwierzeck	bool "MIPS32 Release 2"
17502611cbbSDaniel Schwierzeck	depends on SUPPORTS_CPU_MIPS32_R2
17602611cbbSDaniel Schwierzeck	select 32BIT
17702611cbbSDaniel Schwierzeck	help
178c52ebea1SPaul Burton	  Choose this option to build an U-Boot for release 2 through 5 of the
179c52ebea1SPaul Burton	  MIPS32 architecture.
180c52ebea1SPaul Burton
181c52ebea1SPaul Burtonconfig CPU_MIPS32_R6
182c52ebea1SPaul Burton	bool "MIPS32 Release 6"
183c52ebea1SPaul Burton	depends on SUPPORTS_CPU_MIPS32_R6
184c52ebea1SPaul Burton	select 32BIT
185c52ebea1SPaul Burton	help
186c52ebea1SPaul Burton	  Choose this option to build an U-Boot for release 6 or later of the
18702611cbbSDaniel Schwierzeck	  MIPS32 architecture.
18802611cbbSDaniel Schwierzeck
18902611cbbSDaniel Schwierzeckconfig CPU_MIPS64_R1
19002611cbbSDaniel Schwierzeck	bool "MIPS64 Release 1"
19102611cbbSDaniel Schwierzeck	depends on SUPPORTS_CPU_MIPS64_R1
19202611cbbSDaniel Schwierzeck	select 64BIT
19302611cbbSDaniel Schwierzeck	help
194c52ebea1SPaul Burton	  Choose this option to build a kernel for release 1 through 5 of the
19502611cbbSDaniel Schwierzeck	  MIPS64 architecture.
19602611cbbSDaniel Schwierzeck
19702611cbbSDaniel Schwierzeckconfig CPU_MIPS64_R2
19802611cbbSDaniel Schwierzeck	bool "MIPS64 Release 2"
19902611cbbSDaniel Schwierzeck	depends on SUPPORTS_CPU_MIPS64_R2
20002611cbbSDaniel Schwierzeck	select 64BIT
20102611cbbSDaniel Schwierzeck	help
202c52ebea1SPaul Burton	  Choose this option to build a kernel for release 2 through 5 of the
203c52ebea1SPaul Burton	  MIPS64 architecture.
204c52ebea1SPaul Burton
205c52ebea1SPaul Burtonconfig CPU_MIPS64_R6
206c52ebea1SPaul Burton	bool "MIPS64 Release 6"
207c52ebea1SPaul Burton	depends on SUPPORTS_CPU_MIPS64_R6
208c52ebea1SPaul Burton	select 64BIT
209c52ebea1SPaul Burton	help
210c52ebea1SPaul Burton	  Choose this option to build a kernel for release 6 or later of the
21102611cbbSDaniel Schwierzeck	  MIPS64 architecture.
21202611cbbSDaniel Schwierzeck
21302611cbbSDaniel Schwierzeckendchoice
21402611cbbSDaniel Schwierzeck
215af3971f8SDaniel Schwierzeckmenu "General setup"
216af3971f8SDaniel Schwierzeck
217af3971f8SDaniel Schwierzeckconfig ROM_EXCEPTION_VECTORS
218af3971f8SDaniel Schwierzeck	bool "Build U-Boot image with exception vectors"
219af3971f8SDaniel Schwierzeck	help
220af3971f8SDaniel Schwierzeck	  Enable this to include exception vectors in the U-Boot image. This is
221af3971f8SDaniel Schwierzeck	  required if the U-Boot entry point is equal to the address of the
222af3971f8SDaniel Schwierzeck	  CPU reset exception vector (e.g. U-Boot as ROM loader in Qemu,
223af3971f8SDaniel Schwierzeck	  U-Boot booted from parallel NOR flash).
224af3971f8SDaniel Schwierzeck	  Disable this, if the U-Boot image is booted from DRAM (e.g. by SPL).
225af3971f8SDaniel Schwierzeck	  In that case the image size will be reduced by 0x500 bytes.
226af3971f8SDaniel Schwierzeck
227939a255aSPaul Burtonconfig MIPS_CM_BASE
228939a255aSPaul Burton	hex "MIPS CM GCR Base Address"
229939a255aSPaul Burton	depends on MIPS_CM
230ed048e7cSPaul Burton	default 0x16100000 if TARGET_BOSTON
231939a255aSPaul Burton	default 0x1fbf8000
232939a255aSPaul Burton	help
233939a255aSPaul Burton	  The physical base address at which to map the MIPS Coherence Manager
234939a255aSPaul Burton	  Global Configuration Registers (GCRs). This should be set such that
235939a255aSPaul Burton	  the GCRs occupy a region of the physical address space which is
236939a255aSPaul Burton	  otherwise unused, or at minimum that software doesn't need to access.
237939a255aSPaul Burton
2385ef337a0SDaniel Schwierzeckconfig MIPS_CACHE_INDEX_BASE
2395ef337a0SDaniel Schwierzeck	hex "Index base address for cache initialisation"
2405ef337a0SDaniel Schwierzeck	default 0x80000000 if CPU_MIPS32
2415ef337a0SDaniel Schwierzeck	default 0xffffffff80000000 if CPU_MIPS64
2425ef337a0SDaniel Schwierzeck	help
2435ef337a0SDaniel Schwierzeck	  This is the base address for a memory block, which is used for
2445ef337a0SDaniel Schwierzeck	  initialising the cache lines. This is also the base address of a memory
2455ef337a0SDaniel Schwierzeck	  block which is used for loading and filling cache lines when
2465ef337a0SDaniel Schwierzeck	  SYS_MIPS_CACHE_INIT_RAM_LOAD is selected.
2475ef337a0SDaniel Schwierzeck	  Normally this is CKSEG0. If the MIPS system needs to move this block
2485ef337a0SDaniel Schwierzeck	  to some SRAM or ScratchPad RAM, adapt this option accordingly.
2495ef337a0SDaniel Schwierzeck
250af3971f8SDaniel Schwierzeckendmenu
251af3971f8SDaniel Schwierzeck
25225fc664fSDaniel Schwierzeckmenu "OS boot interface"
25325fc664fSDaniel Schwierzeck
25425fc664fSDaniel Schwierzeckconfig MIPS_BOOT_CMDLINE_LEGACY
25525fc664fSDaniel Schwierzeck	bool "Hand over legacy command line to Linux kernel"
25625fc664fSDaniel Schwierzeck	default y
25725fc664fSDaniel Schwierzeck	help
25825fc664fSDaniel Schwierzeck	  Enable this option if you want U-Boot to hand over the Yamon-style
25925fc664fSDaniel Schwierzeck	  command line to the kernel. All bootargs will be prepared as argc/argv
26025fc664fSDaniel Schwierzeck	  compatible list. The argument count (argc) is stored in register $a0.
26125fc664fSDaniel Schwierzeck	  The address of the argument list (argv) is stored in register $a1.
26225fc664fSDaniel Schwierzeck
263ca65e585SDaniel Schwierzeckconfig MIPS_BOOT_ENV_LEGACY
264ca65e585SDaniel Schwierzeck	bool "Hand over legacy environment to Linux kernel"
265ca65e585SDaniel Schwierzeck	default y
266ca65e585SDaniel Schwierzeck	help
267ca65e585SDaniel Schwierzeck	  Enable this option if you want U-Boot to hand over the Yamon-style
268ca65e585SDaniel Schwierzeck	  environment to the kernel. Information like memory size, initrd
269ca65e585SDaniel Schwierzeck	  address and size will be prepared as zero-terminated key/value list.
2701cc0a9f4SRobert P. J. Day	  The address of the environment is stored in register $a2.
271ca65e585SDaniel Schwierzeck
2725002d8ccSDaniel Schwierzeckconfig MIPS_BOOT_FDT
27390b1c9faSDaniel Schwierzeck	bool "Hand over a flattened device tree to Linux kernel"
2745002d8ccSDaniel Schwierzeck	default n
2755002d8ccSDaniel Schwierzeck	help
2765002d8ccSDaniel Schwierzeck	  Enable this option if you want U-Boot to hand over a flattened
27790b1c9faSDaniel Schwierzeck	  device tree to the kernel. According to UHI register $a0 will be set
27890b1c9faSDaniel Schwierzeck	  to -2 and the FDT address is stored in $a1.
2795002d8ccSDaniel Schwierzeck
28025fc664fSDaniel Schwierzeckendmenu
28125fc664fSDaniel Schwierzeck
2820e1dc345SDaniel Schwierzeckconfig SUPPORTS_BIG_ENDIAN
2830e1dc345SDaniel Schwierzeck	bool
2840e1dc345SDaniel Schwierzeck
2850e1dc345SDaniel Schwierzeckconfig SUPPORTS_LITTLE_ENDIAN
2860e1dc345SDaniel Schwierzeck	bool
2870e1dc345SDaniel Schwierzeck
28802611cbbSDaniel Schwierzeckconfig SUPPORTS_CPU_MIPS32_R1
28902611cbbSDaniel Schwierzeck	bool
29002611cbbSDaniel Schwierzeck
29102611cbbSDaniel Schwierzeckconfig SUPPORTS_CPU_MIPS32_R2
29202611cbbSDaniel Schwierzeck	bool
29302611cbbSDaniel Schwierzeck
294c52ebea1SPaul Burtonconfig SUPPORTS_CPU_MIPS32_R6
295c52ebea1SPaul Burton	bool
296c52ebea1SPaul Burton
29702611cbbSDaniel Schwierzeckconfig SUPPORTS_CPU_MIPS64_R1
29802611cbbSDaniel Schwierzeck	bool
29902611cbbSDaniel Schwierzeck
30002611cbbSDaniel Schwierzeckconfig SUPPORTS_CPU_MIPS64_R2
30102611cbbSDaniel Schwierzeck	bool
30202611cbbSDaniel Schwierzeck
303c52ebea1SPaul Burtonconfig SUPPORTS_CPU_MIPS64_R6
304c52ebea1SPaul Burton	bool
305c52ebea1SPaul Burton
306c57dafb5SDaniel Schwierzeckconfig CPU_MIPS32
307c57dafb5SDaniel Schwierzeck	bool
308c52ebea1SPaul Burton	default y if CPU_MIPS32_R1 || CPU_MIPS32_R2 || CPU_MIPS32_R6
309c57dafb5SDaniel Schwierzeck
310c57dafb5SDaniel Schwierzeckconfig CPU_MIPS64
311c57dafb5SDaniel Schwierzeck	bool
312c52ebea1SPaul Burton	default y if CPU_MIPS64_R1 || CPU_MIPS64_R2 || CPU_MIPS64_R6
313c57dafb5SDaniel Schwierzeck
3140315a289SDaniel Schwierzeckconfig MIPS_TUNE_4KC
3150315a289SDaniel Schwierzeck	bool
3160315a289SDaniel Schwierzeck
3170315a289SDaniel Schwierzeckconfig MIPS_TUNE_14KC
3180315a289SDaniel Schwierzeck	bool
3190315a289SDaniel Schwierzeck
3200315a289SDaniel Schwierzeckconfig MIPS_TUNE_24KC
3210315a289SDaniel Schwierzeck	bool
3220315a289SDaniel Schwierzeck
3235f9cc363SDaniel Schwierzeckconfig MIPS_TUNE_34KC
3245f9cc363SDaniel Schwierzeck	bool
3255f9cc363SDaniel Schwierzeck
3260a0a958bSMarek Vasutconfig MIPS_TUNE_74KC
3270a0a958bSMarek Vasut	bool
3280a0a958bSMarek Vasut
32902611cbbSDaniel Schwierzeckconfig 32BIT
33002611cbbSDaniel Schwierzeck	bool
33102611cbbSDaniel Schwierzeck
33202611cbbSDaniel Schwierzeckconfig 64BIT
33302611cbbSDaniel Schwierzeck	bool
33402611cbbSDaniel Schwierzeck
3359d638eeaSDaniel Schwierzeckconfig SWAP_IO_SPACE
3369d638eeaSDaniel Schwierzeck	bool
3379d638eeaSDaniel Schwierzeck
338dd7c7200SPaul Burtonconfig SYS_MIPS_CACHE_INIT_RAM_LOAD
339dd7c7200SPaul Burton	bool
340dd7c7200SPaul Burton
341924ad866SDaniel Schwierzeckconfig MIPS_INIT_STACK_IN_SRAM
342924ad866SDaniel Schwierzeck	bool
343924ad866SDaniel Schwierzeck	default n
344924ad866SDaniel Schwierzeck	help
345924ad866SDaniel Schwierzeck	  Select this if the initial stack frame could be setup in SRAM.
346924ad866SDaniel Schwierzeck	  Normally the initial stack frame is set up in DRAM which is often
347924ad866SDaniel Schwierzeck	  only available after lowlevel_init. With this option the initial
348924ad866SDaniel Schwierzeck	  stack frame and the early C environment is set up before
349924ad866SDaniel Schwierzeck	  lowlevel_init. Thus lowlevel_init does not need to be implemented
350924ad866SDaniel Schwierzeck	  in assembler.
351924ad866SDaniel Schwierzeck
352ace3be4fSPaul Burtonconfig SYS_DCACHE_SIZE
353ace3be4fSPaul Burton	int
354ace3be4fSPaul Burton	default 0
355ace3be4fSPaul Burton	help
356ace3be4fSPaul Burton	  The total size of the L1 Dcache, if known at compile time.
357ace3be4fSPaul Burton
35837228621SPaul Burtonconfig SYS_DCACHE_LINE_SIZE
3594b7b0a0fSPaul Burton	int
36037228621SPaul Burton	default 0
36137228621SPaul Burton	help
36237228621SPaul Burton	  The size of L1 Dcache lines, if known at compile time.
36337228621SPaul Burton
364ace3be4fSPaul Burtonconfig SYS_ICACHE_SIZE
365ace3be4fSPaul Burton	int
366ace3be4fSPaul Burton	default 0
367ace3be4fSPaul Burton	help
368ace3be4fSPaul Burton	  The total size of the L1 ICache, if known at compile time.
369ace3be4fSPaul Burton
37037228621SPaul Burtonconfig SYS_ICACHE_LINE_SIZE
371ace3be4fSPaul Burton	int
372ace3be4fSPaul Burton	default 0
373ace3be4fSPaul Burton	help
37437228621SPaul Burton	  The size of L1 Icache lines, if known at compile time.
375ace3be4fSPaul Burton
376ace3be4fSPaul Burtonconfig SYS_CACHE_SIZE_AUTO
377ace3be4fSPaul Burton	def_bool y if SYS_DCACHE_SIZE = 0 && SYS_ICACHE_SIZE = 0 && \
37837228621SPaul Burton		SYS_DCACHE_LINE_SIZE = 0 && SYS_ICACHE_LINE_SIZE = 0
379ace3be4fSPaul Burton	help
380ace3be4fSPaul Burton	  Select this (or let it be auto-selected by not defining any cache
381ace3be4fSPaul Burton	  sizes) in order to allow U-Boot to automatically detect the sizes
382ace3be4fSPaul Burton	  of caches at runtime. This has a small cost in code size & runtime
383ace3be4fSPaul Burton	  so if you know the cache configuration for your system at compile
384ace3be4fSPaul Burton	  time it would be beneficial to configure it.
385ace3be4fSPaul Burton
386f53830e7SDaniel Schwierzeckconfig MIPS_L1_CACHE_SHIFT_4
387f53830e7SDaniel Schwierzeck	bool
388f53830e7SDaniel Schwierzeck
389f53830e7SDaniel Schwierzeckconfig MIPS_L1_CACHE_SHIFT_5
390f53830e7SDaniel Schwierzeck	bool
391f53830e7SDaniel Schwierzeck
392f53830e7SDaniel Schwierzeckconfig MIPS_L1_CACHE_SHIFT_6
393f53830e7SDaniel Schwierzeck	bool
394f53830e7SDaniel Schwierzeck
395f53830e7SDaniel Schwierzeckconfig MIPS_L1_CACHE_SHIFT_7
396f53830e7SDaniel Schwierzeck	bool
397f53830e7SDaniel Schwierzeck
398f53830e7SDaniel Schwierzeckconfig MIPS_L1_CACHE_SHIFT
399f53830e7SDaniel Schwierzeck	int
400f53830e7SDaniel Schwierzeck	default "7" if MIPS_L1_CACHE_SHIFT_7
401f53830e7SDaniel Schwierzeck	default "6" if MIPS_L1_CACHE_SHIFT_6
402f53830e7SDaniel Schwierzeck	default "5" if MIPS_L1_CACHE_SHIFT_5
403f53830e7SDaniel Schwierzeck	default "4" if MIPS_L1_CACHE_SHIFT_4
404f53830e7SDaniel Schwierzeck	default "5"
405f53830e7SDaniel Schwierzeck
4064baa0ab6SPaul Burtonconfig MIPS_L2_CACHE
4074baa0ab6SPaul Burton	bool
4084baa0ab6SPaul Burton	help
4094baa0ab6SPaul Burton	  Select this if your system includes an L2 cache and you want U-Boot
4104baa0ab6SPaul Burton	  to initialise & maintain it.
4114baa0ab6SPaul Burton
41205e34255SPaul Burtonconfig DYNAMIC_IO_PORT_BASE
41305e34255SPaul Burton	bool
41405e34255SPaul Burton
415b2b135d9SPaul Burtonconfig MIPS_CM
416b2b135d9SPaul Burton	bool
417b2b135d9SPaul Burton	help
418b2b135d9SPaul Burton	  Select this if your system contains a MIPS Coherence Manager and you
419b2b135d9SPaul Burton	  wish U-Boot to configure it or make use of it to retrieve system
420b2b135d9SPaul Burton	  information such as cache configuration.
421b2b135d9SPaul Burton
422d1c3d8bdSDaniel Schwierzeckconfig MIPS_INSERT_BOOT_CONFIG
423d1c3d8bdSDaniel Schwierzeck	bool
424d1c3d8bdSDaniel Schwierzeck	default n
425d1c3d8bdSDaniel Schwierzeck	help
426d1c3d8bdSDaniel Schwierzeck	  Enable this to insert some board-specific boot configuration in
427d1c3d8bdSDaniel Schwierzeck	  the U-Boot binary at offset 0x10.
428d1c3d8bdSDaniel Schwierzeck
429d1c3d8bdSDaniel Schwierzeckconfig MIPS_BOOT_CONFIG_WORD0
430d1c3d8bdSDaniel Schwierzeck	hex
431d1c3d8bdSDaniel Schwierzeck	depends on MIPS_INSERT_BOOT_CONFIG
432d1c3d8bdSDaniel Schwierzeck	default 0x420 if TARGET_MALTA
433d1c3d8bdSDaniel Schwierzeck	default 0x0
434d1c3d8bdSDaniel Schwierzeck	help
435d1c3d8bdSDaniel Schwierzeck	  Value which is inserted as boot config word 0.
436d1c3d8bdSDaniel Schwierzeck
437d1c3d8bdSDaniel Schwierzeckconfig MIPS_BOOT_CONFIG_WORD1
438d1c3d8bdSDaniel Schwierzeck	hex
439d1c3d8bdSDaniel Schwierzeck	depends on MIPS_INSERT_BOOT_CONFIG
440d1c3d8bdSDaniel Schwierzeck	default 0x0
441d1c3d8bdSDaniel Schwierzeck	help
442d1c3d8bdSDaniel Schwierzeck	  Value which is inserted as boot config word 1.
443d1c3d8bdSDaniel Schwierzeck
4440e1dc345SDaniel Schwierzeckendif
4450e1dc345SDaniel Schwierzeck
446dd84058dSMasahiro Yamadaendmenu
447