Masahiro Yamada | dd84058 | 2014-07-30 14:08:14 +0900 | [diff] [blame] | 1 | menu "MIPS architecture" |
| 2 | depends on MIPS |
| 3 | |
| 4 | config SYS_ARCH |
Masahiro Yamada | dd84058 | 2014-07-30 14:08:14 +0900 | [diff] [blame] | 5 | default "mips" |
| 6 | |
Daniel Schwierzeck | b9863b6 | 2014-10-26 14:14:07 +0100 | [diff] [blame] | 7 | config SYS_CPU |
Paul Burton | 20286cd | 2016-05-16 10:52:11 +0100 | [diff] [blame] | 8 | default "mips32" if CPU_MIPS32 |
| 9 | default "mips64" if CPU_MIPS64 |
Daniel Schwierzeck | b9863b6 | 2014-10-26 14:14:07 +0100 | [diff] [blame] | 10 | |
Masahiro Yamada | dd84058 | 2014-07-30 14:08:14 +0900 | [diff] [blame] | 11 | choice |
| 12 | prompt "Target select" |
Joe Hershberger | a26cd04 | 2015-05-12 14:46:23 -0500 | [diff] [blame] | 13 | optional |
Masahiro Yamada | dd84058 | 2014-07-30 14:08:14 +0900 | [diff] [blame] | 14 | |
Masahiro Yamada | dd84058 | 2014-07-30 14:08:14 +0900 | [diff] [blame] | 15 | config TARGET_MALTA |
| 16 | bool "Support malta" |
Daniel Schwierzeck | a29491a | 2022-07-10 17:15:14 +0200 | [diff] [blame] | 17 | select HAS_FIXED_TIMER_FREQUENCY |
Daniel Schwierzeck | 526ceb4 | 2021-07-15 20:54:01 +0200 | [diff] [blame] | 18 | select BOARD_EARLY_INIT_R |
Paul Burton | 6242aa1 | 2016-05-17 07:43:28 +0100 | [diff] [blame] | 19 | select DM |
| 20 | select DM_SERIAL |
Simon Glass | 3232bdf | 2021-08-01 18:54:44 -0600 | [diff] [blame] | 21 | select PCI |
Paul Burton | 05e3425 | 2016-01-29 13:54:52 +0000 | [diff] [blame] | 22 | select DYNAMIC_IO_PORT_BASE |
Paul Burton | 566ce04d | 2016-09-21 11:18:56 +0100 | [diff] [blame] | 23 | select MIPS_CM |
Daniel Schwierzeck | d1c3d8b | 2018-09-07 19:18:44 +0200 | [diff] [blame] | 24 | select MIPS_INSERT_BOOT_CONFIG |
Tom Rini | ab92b38 | 2021-08-26 11:47:59 -0400 | [diff] [blame] | 25 | select SYS_CACHE_SHIFT_6 |
Paul Burton | 566ce04d | 2016-09-21 11:18:56 +0100 | [diff] [blame] | 26 | select MIPS_L2_CACHE |
Paul Burton | 6242aa1 | 2016-05-17 07:43:28 +0100 | [diff] [blame] | 27 | select OF_CONTROL |
| 28 | select OF_ISA_BUS |
Daniel Schwierzeck | 526ceb4 | 2021-07-15 20:54:01 +0200 | [diff] [blame] | 29 | select PCI_MAP_SYSTEM_MEMORY |
Michal Simek | 5ed063d | 2018-07-23 15:55:13 +0200 | [diff] [blame] | 30 | select ROM_EXCEPTION_VECTORS |
Daniel Schwierzeck | 0e1dc34 | 2014-10-26 14:14:07 +0100 | [diff] [blame] | 31 | select SUPPORTS_BIG_ENDIAN |
Daniel Schwierzeck | 02611cb | 2014-10-26 14:14:07 +0100 | [diff] [blame] | 32 | select SUPPORTS_CPU_MIPS32_R1 |
| 33 | select SUPPORTS_CPU_MIPS32_R2 |
Paul Burton | 40ba13c | 2016-05-16 10:52:14 +0100 | [diff] [blame] | 34 | select SUPPORTS_CPU_MIPS32_R6 |
Paul Burton | 0f832b9 | 2016-05-26 14:49:36 +0100 | [diff] [blame] | 35 | select SUPPORTS_CPU_MIPS64_R1 |
| 36 | select SUPPORTS_CPU_MIPS64_R2 |
| 37 | select SUPPORTS_CPU_MIPS64_R6 |
Michal Simek | 5ed063d | 2018-07-23 15:55:13 +0200 | [diff] [blame] | 38 | select SUPPORTS_LITTLE_ENDIAN |
Daniel Schwierzeck | 9d638ee | 2015-01-18 22:00:18 +0100 | [diff] [blame] | 39 | select SWAP_IO_SPACE |
Michal Simek | 08a00cb | 2018-07-23 15:55:14 +0200 | [diff] [blame] | 40 | imply CMD_DM |
Masahiro Yamada | dd84058 | 2014-07-30 14:08:14 +0900 | [diff] [blame] | 41 | |
Wills Wang | 1d3d0f1 | 2016-03-16 16:59:52 +0800 | [diff] [blame] | 42 | config ARCH_ATH79 |
| 43 | bool "Support QCA/Atheros ath79" |
Daniel Schwierzeck | a29491a | 2022-07-10 17:15:14 +0200 | [diff] [blame] | 44 | select HAS_FIXED_TIMER_FREQUENCY |
Wills Wang | 1d3d0f1 | 2016-03-16 16:59:52 +0800 | [diff] [blame] | 45 | select DM |
Michal Simek | 5ed063d | 2018-07-23 15:55:13 +0200 | [diff] [blame] | 46 | select OF_CONTROL |
Michal Simek | 08a00cb | 2018-07-23 15:55:14 +0200 | [diff] [blame] | 47 | imply CMD_DM |
Wills Wang | 1d3d0f1 | 2016-03-16 16:59:52 +0800 | [diff] [blame] | 48 | |
Gregory CLEMENT | dd1033e | 2018-12-14 16:16:47 +0100 | [diff] [blame] | 49 | config ARCH_MSCC |
| 50 | bool "Support MSCC VCore-III" |
Daniel Schwierzeck | a29491a | 2022-07-10 17:15:14 +0200 | [diff] [blame] | 51 | select HAS_FIXED_TIMER_FREQUENCY |
Gregory CLEMENT | dd1033e | 2018-12-14 16:16:47 +0100 | [diff] [blame] | 52 | select OF_CONTROL |
| 53 | select DM |
| 54 | |
Álvaro Fernández Rojas | ee42214 | 2017-04-25 00:39:20 +0200 | [diff] [blame] | 55 | config ARCH_BMIPS |
| 56 | bool "Support BMIPS SoCs" |
Daniel Schwierzeck | a29491a | 2022-07-10 17:15:14 +0200 | [diff] [blame] | 57 | select HAS_FIXED_TIMER_FREQUENCY |
Álvaro Fernández Rojas | ee42214 | 2017-04-25 00:39:20 +0200 | [diff] [blame] | 58 | select CLK |
| 59 | select CPU |
Michal Simek | 5ed063d | 2018-07-23 15:55:13 +0200 | [diff] [blame] | 60 | select DM |
| 61 | select OF_CONTROL |
Álvaro Fernández Rojas | ee42214 | 2017-04-25 00:39:20 +0200 | [diff] [blame] | 62 | select RAM |
| 63 | select SYSRESET |
Michal Simek | 08a00cb | 2018-07-23 15:55:14 +0200 | [diff] [blame] | 64 | imply CMD_DM |
Álvaro Fernández Rojas | ee42214 | 2017-04-25 00:39:20 +0200 | [diff] [blame] | 65 | |
Weijie Gao | 16b9490 | 2019-04-30 11:13:58 +0800 | [diff] [blame] | 66 | config ARCH_MTMIPS |
| 67 | bool "Support MediaTek MIPS platforms" |
Daniel Schwierzeck | a29491a | 2022-07-10 17:15:14 +0200 | [diff] [blame] | 68 | select HAS_FIXED_TIMER_FREQUENCY |
Weijie Gao | 3f851c9 | 2019-09-25 17:45:43 +0800 | [diff] [blame] | 69 | select CLK |
Stefan Roese | 4c835a6 | 2018-09-05 15:12:35 +0200 | [diff] [blame] | 70 | imply CMD_DM |
| 71 | select DISPLAY_CPUINFO |
| 72 | select DM |
Stefan Roese | b4a6a1b | 2018-10-09 08:59:09 +0200 | [diff] [blame] | 73 | imply DM_GPIO |
Weijie Gao | 3f851c9 | 2019-09-25 17:45:43 +0800 | [diff] [blame] | 74 | select DM_RESET |
Stefan Roese | 4c835a6 | 2018-09-05 15:12:35 +0200 | [diff] [blame] | 75 | select DM_SERIAL |
Weijie Gao | 3f851c9 | 2019-09-25 17:45:43 +0800 | [diff] [blame] | 76 | select PINCTRL |
| 77 | select PINMUX |
| 78 | select PINCONF |
| 79 | select RESET_MTMIPS |
Stefan Roese | 4c835a6 | 2018-09-05 15:12:35 +0200 | [diff] [blame] | 80 | imply DM_SPI |
| 81 | imply DM_SPI_FLASH |
Stefan Roese | 9814fb2 | 2019-05-28 08:11:37 +0200 | [diff] [blame] | 82 | select LAST_STAGE_INIT |
Stefan Roese | 4c835a6 | 2018-09-05 15:12:35 +0200 | [diff] [blame] | 83 | select MIPS_TUNE_24KC |
| 84 | select OF_CONTROL |
| 85 | select ROM_EXCEPTION_VECTORS |
| 86 | select SUPPORTS_CPU_MIPS32_R1 |
| 87 | select SUPPORTS_CPU_MIPS32_R2 |
| 88 | select SUPPORTS_LITTLE_ENDIAN |
Weijie Gao | 7a4b696 | 2020-04-21 09:28:47 +0200 | [diff] [blame] | 89 | select SUPPORT_SPL |
Stefan Roese | 4c835a6 | 2018-09-05 15:12:35 +0200 | [diff] [blame] | 90 | |
Paul Burton | cd71b1d | 2018-12-16 19:25:22 -0300 | [diff] [blame] | 91 | config ARCH_JZ47XX |
| 92 | bool "Support Ingenic JZ47xx" |
| 93 | select SUPPORT_SPL |
Daniel Schwierzeck | a29491a | 2022-07-10 17:15:14 +0200 | [diff] [blame] | 94 | select HAS_FIXED_TIMER_FREQUENCY |
Paul Burton | cd71b1d | 2018-12-16 19:25:22 -0300 | [diff] [blame] | 95 | select OF_CONTROL |
| 96 | select DM |
| 97 | |
Aaron Williams | 0dc4ab9 | 2020-06-30 12:08:56 +0200 | [diff] [blame] | 98 | config ARCH_OCTEON |
| 99 | bool "Support Marvell Octeon CN7xxx platforms" |
Stefan Roese | 787e0d7 | 2022-04-07 09:11:46 +0200 | [diff] [blame] | 100 | select ARCH_EARLY_INIT_R |
Aaron Williams | 0dc4ab9 | 2020-06-30 12:08:56 +0200 | [diff] [blame] | 101 | select CPU_CAVIUM_OCTEON |
| 102 | select DISPLAY_CPUINFO |
| 103 | select DMA_ADDR_T_64BIT |
| 104 | select DM |
Stefan Roese | 1015540 | 2020-07-30 13:56:21 +0200 | [diff] [blame] | 105 | select DM_GPIO |
| 106 | select DM_I2C |
| 107 | select DM_SERIAL |
| 108 | select DM_SPI |
Aaron Williams | 0dc4ab9 | 2020-06-30 12:08:56 +0200 | [diff] [blame] | 109 | select MIPS_L2_CACHE |
Stefan Roese | e9609dc | 2020-06-30 12:33:17 +0200 | [diff] [blame] | 110 | select MIPS_MACH_EARLY_INIT |
Aaron Williams | 0dc4ab9 | 2020-06-30 12:08:56 +0200 | [diff] [blame] | 111 | select MIPS_TUNE_OCTEON3 |
| 112 | select ROM_EXCEPTION_VECTORS |
| 113 | select SUPPORTS_BIG_ENDIAN |
| 114 | select SUPPORTS_CPU_MIPS64_OCTEON |
| 115 | select PHYS_64BIT |
| 116 | select OF_CONTROL |
| 117 | select OF_LIVE |
| 118 | imply CMD_DM |
| 119 | |
Purna Chandra Mandal | 32c1a6e | 2016-01-28 15:30:10 +0530 | [diff] [blame] | 120 | config MACH_PIC32 |
| 121 | bool "Support Microchip PIC32" |
Daniel Schwierzeck | a29491a | 2022-07-10 17:15:14 +0200 | [diff] [blame] | 122 | select HAS_FIXED_TIMER_FREQUENCY |
Purna Chandra Mandal | 32c1a6e | 2016-01-28 15:30:10 +0530 | [diff] [blame] | 123 | select DM |
Tom Rini | 448e2b6 | 2023-01-16 15:46:49 -0500 | [diff] [blame] | 124 | select DM_EVENT |
Michal Simek | 5ed063d | 2018-07-23 15:55:13 +0200 | [diff] [blame] | 125 | select OF_CONTROL |
Michal Simek | 08a00cb | 2018-07-23 15:55:14 +0200 | [diff] [blame] | 126 | imply CMD_DM |
Purna Chandra Mandal | 32c1a6e | 2016-01-28 15:30:10 +0530 | [diff] [blame] | 127 | |
Paul Burton | ad8783c | 2016-09-08 07:47:39 +0100 | [diff] [blame] | 128 | config TARGET_BOSTON |
| 129 | bool "Support Boston" |
Daniel Schwierzeck | a29491a | 2022-07-10 17:15:14 +0200 | [diff] [blame] | 130 | select HAS_FIXED_TIMER_FREQUENCY |
Paul Burton | ad8783c | 2016-09-08 07:47:39 +0100 | [diff] [blame] | 131 | select DM |
| 132 | select DM_SERIAL |
Paul Burton | ad8783c | 2016-09-08 07:47:39 +0100 | [diff] [blame] | 133 | select MIPS_CM |
Tom Rini | ab92b38 | 2021-08-26 11:47:59 -0400 | [diff] [blame] | 134 | select SYS_CACHE_SHIFT_6 |
Paul Burton | ad8783c | 2016-09-08 07:47:39 +0100 | [diff] [blame] | 135 | select MIPS_L2_CACHE |
Paul Burton | d2b12a5 | 2017-04-30 21:22:42 +0200 | [diff] [blame] | 136 | select OF_BOARD_SETUP |
Michal Simek | 5ed063d | 2018-07-23 15:55:13 +0200 | [diff] [blame] | 137 | select OF_CONTROL |
| 138 | select ROM_EXCEPTION_VECTORS |
Paul Burton | ad8783c | 2016-09-08 07:47:39 +0100 | [diff] [blame] | 139 | select SUPPORTS_BIG_ENDIAN |
Paul Burton | ad8783c | 2016-09-08 07:47:39 +0100 | [diff] [blame] | 140 | select SUPPORTS_CPU_MIPS32_R1 |
| 141 | select SUPPORTS_CPU_MIPS32_R2 |
| 142 | select SUPPORTS_CPU_MIPS32_R6 |
| 143 | select SUPPORTS_CPU_MIPS64_R1 |
| 144 | select SUPPORTS_CPU_MIPS64_R2 |
| 145 | select SUPPORTS_CPU_MIPS64_R6 |
Michal Simek | 5ed063d | 2018-07-23 15:55:13 +0200 | [diff] [blame] | 146 | select SUPPORTS_LITTLE_ENDIAN |
Michal Simek | 08a00cb | 2018-07-23 15:55:14 +0200 | [diff] [blame] | 147 | imply CMD_DM |
Paul Burton | ad8783c | 2016-09-08 07:47:39 +0100 | [diff] [blame] | 148 | |
Zubair Lutfullah Kakakhel | ebf2b9e | 2016-07-29 15:11:20 +0100 | [diff] [blame] | 149 | config TARGET_XILFPGA |
| 150 | bool "Support Imagination Xilfpga" |
Daniel Schwierzeck | a29491a | 2022-07-10 17:15:14 +0200 | [diff] [blame] | 151 | select HAS_FIXED_TIMER_FREQUENCY |
Zubair Lutfullah Kakakhel | ebf2b9e | 2016-07-29 15:11:20 +0100 | [diff] [blame] | 152 | select DM |
Michal Simek | 5ed063d | 2018-07-23 15:55:13 +0200 | [diff] [blame] | 153 | select DM_GPIO |
| 154 | select DM_SERIAL |
Tom Rini | ab92b38 | 2021-08-26 11:47:59 -0400 | [diff] [blame] | 155 | select SYS_CACHE_SHIFT_4 |
Michal Simek | 5ed063d | 2018-07-23 15:55:13 +0200 | [diff] [blame] | 156 | select OF_CONTROL |
| 157 | select ROM_EXCEPTION_VECTORS |
Zubair Lutfullah Kakakhel | ebf2b9e | 2016-07-29 15:11:20 +0100 | [diff] [blame] | 158 | select SUPPORTS_CPU_MIPS32_R1 |
| 159 | select SUPPORTS_CPU_MIPS32_R2 |
Michal Simek | 5ed063d | 2018-07-23 15:55:13 +0200 | [diff] [blame] | 160 | select SUPPORTS_LITTLE_ENDIAN |
Michal Simek | 08a00cb | 2018-07-23 15:55:14 +0200 | [diff] [blame] | 161 | imply CMD_DM |
Zubair Lutfullah Kakakhel | ebf2b9e | 2016-07-29 15:11:20 +0100 | [diff] [blame] | 162 | help |
| 163 | This supports IMGTEC MIPSfpga platform |
| 164 | |
Masahiro Yamada | dd84058 | 2014-07-30 14:08:14 +0900 | [diff] [blame] | 165 | endchoice |
| 166 | |
Paul Burton | ad8783c | 2016-09-08 07:47:39 +0100 | [diff] [blame] | 167 | source "board/imgtec/boston/Kconfig" |
Masahiro Yamada | dd84058 | 2014-07-30 14:08:14 +0900 | [diff] [blame] | 168 | source "board/imgtec/malta/Kconfig" |
Zubair Lutfullah Kakakhel | ebf2b9e | 2016-07-29 15:11:20 +0100 | [diff] [blame] | 169 | source "board/imgtec/xilfpga/Kconfig" |
Wills Wang | 1d3d0f1 | 2016-03-16 16:59:52 +0800 | [diff] [blame] | 170 | source "arch/mips/mach-ath79/Kconfig" |
Gregory CLEMENT | dd1033e | 2018-12-14 16:16:47 +0100 | [diff] [blame] | 171 | source "arch/mips/mach-mscc/Kconfig" |
Álvaro Fernández Rojas | ee42214 | 2017-04-25 00:39:20 +0200 | [diff] [blame] | 172 | source "arch/mips/mach-bmips/Kconfig" |
Paul Burton | cd71b1d | 2018-12-16 19:25:22 -0300 | [diff] [blame] | 173 | source "arch/mips/mach-jz47xx/Kconfig" |
Purna Chandra Mandal | 32c1a6e | 2016-01-28 15:30:10 +0530 | [diff] [blame] | 174 | source "arch/mips/mach-pic32/Kconfig" |
Weijie Gao | 16b9490 | 2019-04-30 11:13:58 +0800 | [diff] [blame] | 175 | source "arch/mips/mach-mtmips/Kconfig" |
Aaron Williams | 0dc4ab9 | 2020-06-30 12:08:56 +0200 | [diff] [blame] | 176 | source "arch/mips/mach-octeon/Kconfig" |
Masahiro Yamada | dd84058 | 2014-07-30 14:08:14 +0900 | [diff] [blame] | 177 | |
Daniel Schwierzeck | 0e1dc34 | 2014-10-26 14:14:07 +0100 | [diff] [blame] | 178 | if MIPS |
| 179 | |
| 180 | choice |
Daniel Schwierzeck | 02611cb | 2014-10-26 14:14:07 +0100 | [diff] [blame] | 181 | prompt "CPU selection" |
| 182 | default CPU_MIPS32_R2 |
| 183 | |
| 184 | config CPU_MIPS32_R1 |
| 185 | bool "MIPS32 Release 1" |
| 186 | depends on SUPPORTS_CPU_MIPS32_R1 |
| 187 | select 32BIT |
| 188 | help |
Paul Burton | c52ebea | 2016-05-16 10:52:12 +0100 | [diff] [blame] | 189 | Choose this option to build an U-Boot for release 1 through 5 of the |
Daniel Schwierzeck | 02611cb | 2014-10-26 14:14:07 +0100 | [diff] [blame] | 190 | MIPS32 architecture. |
| 191 | |
| 192 | config CPU_MIPS32_R2 |
| 193 | bool "MIPS32 Release 2" |
| 194 | depends on SUPPORTS_CPU_MIPS32_R2 |
| 195 | select 32BIT |
| 196 | help |
Paul Burton | c52ebea | 2016-05-16 10:52:12 +0100 | [diff] [blame] | 197 | Choose this option to build an U-Boot for release 2 through 5 of the |
| 198 | MIPS32 architecture. |
| 199 | |
| 200 | config CPU_MIPS32_R6 |
| 201 | bool "MIPS32 Release 6" |
| 202 | depends on SUPPORTS_CPU_MIPS32_R6 |
| 203 | select 32BIT |
| 204 | help |
| 205 | Choose this option to build an U-Boot for release 6 or later of the |
Daniel Schwierzeck | 02611cb | 2014-10-26 14:14:07 +0100 | [diff] [blame] | 206 | MIPS32 architecture. |
| 207 | |
| 208 | config CPU_MIPS64_R1 |
| 209 | bool "MIPS64 Release 1" |
| 210 | depends on SUPPORTS_CPU_MIPS64_R1 |
| 211 | select 64BIT |
| 212 | help |
Paul Burton | c52ebea | 2016-05-16 10:52:12 +0100 | [diff] [blame] | 213 | Choose this option to build a kernel for release 1 through 5 of the |
Daniel Schwierzeck | 02611cb | 2014-10-26 14:14:07 +0100 | [diff] [blame] | 214 | MIPS64 architecture. |
| 215 | |
| 216 | config CPU_MIPS64_R2 |
| 217 | bool "MIPS64 Release 2" |
| 218 | depends on SUPPORTS_CPU_MIPS64_R2 |
| 219 | select 64BIT |
| 220 | help |
Paul Burton | c52ebea | 2016-05-16 10:52:12 +0100 | [diff] [blame] | 221 | Choose this option to build a kernel for release 2 through 5 of the |
| 222 | MIPS64 architecture. |
| 223 | |
| 224 | config CPU_MIPS64_R6 |
| 225 | bool "MIPS64 Release 6" |
| 226 | depends on SUPPORTS_CPU_MIPS64_R6 |
| 227 | select 64BIT |
| 228 | help |
| 229 | Choose this option to build a kernel for release 6 or later of the |
Daniel Schwierzeck | 02611cb | 2014-10-26 14:14:07 +0100 | [diff] [blame] | 230 | MIPS64 architecture. |
| 231 | |
Aaron Williams | 0dc4ab9 | 2020-06-30 12:08:56 +0200 | [diff] [blame] | 232 | config CPU_MIPS64_OCTEON |
| 233 | bool "Marvell Octeon series of CPUs" |
| 234 | depends on SUPPORTS_CPU_MIPS64_OCTEON |
| 235 | select 64BIT |
| 236 | help |
| 237 | Choose this option for Marvell Octeon CPUs. These CPUs are between |
| 238 | MIPS64 R5 and R6 with other extensions. |
| 239 | |
Daniel Schwierzeck | 02611cb | 2014-10-26 14:14:07 +0100 | [diff] [blame] | 240 | endchoice |
| 241 | |
Daniel Schwierzeck | af3971f | 2016-02-14 18:52:57 +0100 | [diff] [blame] | 242 | menu "General setup" |
| 243 | |
| 244 | config ROM_EXCEPTION_VECTORS |
| 245 | bool "Build U-Boot image with exception vectors" |
| 246 | help |
| 247 | Enable this to include exception vectors in the U-Boot image. This is |
| 248 | required if the U-Boot entry point is equal to the address of the |
| 249 | CPU reset exception vector (e.g. U-Boot as ROM loader in Qemu, |
| 250 | U-Boot booted from parallel NOR flash). |
| 251 | Disable this, if the U-Boot image is booted from DRAM (e.g. by SPL). |
| 252 | In that case the image size will be reduced by 0x500 bytes. |
| 253 | |
Daniel Schwierzeck | a29491a | 2022-07-10 17:15:14 +0200 | [diff] [blame] | 254 | config SYS_MIPS_TIMER_FREQ |
| 255 | int "Fixed MIPS CPU timer frequency in Hz" |
| 256 | depends on HAS_FIXED_TIMER_FREQUENCY |
| 257 | help |
| 258 | Configures a fixed CPU timer frequency. |
| 259 | |
Paul Burton | 939a255 | 2017-05-12 13:26:11 +0200 | [diff] [blame] | 260 | config MIPS_CM_BASE |
| 261 | hex "MIPS CM GCR Base Address" |
| 262 | depends on MIPS_CM |
Paul Burton | ed048e7 | 2017-04-30 21:22:41 +0200 | [diff] [blame] | 263 | default 0x16100000 if TARGET_BOSTON |
Paul Burton | 939a255 | 2017-05-12 13:26:11 +0200 | [diff] [blame] | 264 | default 0x1fbf8000 |
| 265 | help |
| 266 | The physical base address at which to map the MIPS Coherence Manager |
| 267 | Global Configuration Registers (GCRs). This should be set such that |
| 268 | the GCRs occupy a region of the physical address space which is |
| 269 | otherwise unused, or at minimum that software doesn't need to access. |
| 270 | |
Daniel Schwierzeck | 5ef337a | 2018-09-07 19:02:05 +0200 | [diff] [blame] | 271 | config MIPS_CACHE_INDEX_BASE |
| 272 | hex "Index base address for cache initialisation" |
| 273 | default 0x80000000 if CPU_MIPS32 |
| 274 | default 0xffffffff80000000 if CPU_MIPS64 |
| 275 | help |
| 276 | This is the base address for a memory block, which is used for |
| 277 | initialising the cache lines. This is also the base address of a memory |
| 278 | block which is used for loading and filling cache lines when |
| 279 | SYS_MIPS_CACHE_INIT_RAM_LOAD is selected. |
| 280 | Normally this is CKSEG0. If the MIPS system needs to move this block |
| 281 | to some SRAM or ScratchPad RAM, adapt this option accordingly. |
| 282 | |
Stefan Roese | de34a61 | 2020-06-30 12:33:16 +0200 | [diff] [blame] | 283 | config MIPS_MACH_EARLY_INIT |
| 284 | bool "Enable mach specific very early init code" |
| 285 | help |
| 286 | Use this to enable the call to mips_mach_early_init() very early |
| 287 | from start.S. This function can be used e.g. to do some very early |
| 288 | CPU / SoC intitialization or image copying. Its called very early |
| 289 | and at this stage the PC might not match the linking address |
| 290 | (CONFIG_TEXT_BASE) - no absolute jump done until this call. |
| 291 | |
Daniel Schwierzeck | 57bfb1a | 2020-07-12 00:45:57 +0200 | [diff] [blame] | 292 | config MIPS_CACHE_SETUP |
| 293 | bool "Allow generic start code to initialize and setup caches" |
| 294 | default n if SKIP_LOWLEVEL_INIT |
| 295 | default y |
| 296 | help |
| 297 | This allows the generic start code to invoke the generic initialization |
| 298 | of the CPU caches. Disabling this can be useful for RAM boot scenarios |
| 299 | (EJTAG, SPL payload) or for machines which don't need cache initialization |
| 300 | or which want to provide their own cache implementation. |
| 301 | |
| 302 | If unsure, say yes. |
| 303 | |
| 304 | config MIPS_CACHE_DISABLE |
| 305 | bool "Allow generic start code to initially disable caches" |
| 306 | default n if SKIP_LOWLEVEL_INIT |
| 307 | default y |
| 308 | help |
| 309 | This allows the generic start code to initially disable the CPU caches |
| 310 | and run uncached until the caches are initialized and enabled. Disabling |
| 311 | this can be useful on machines which don't need cache initialization or |
| 312 | which want to provide their own cache implementation. |
| 313 | |
| 314 | If unsure, say yes. |
| 315 | |
Daniel Schwierzeck | 9630146 | 2018-11-01 02:02:21 +0100 | [diff] [blame] | 316 | config MIPS_RELOCATION_TABLE_SIZE |
| 317 | hex "Relocation table size" |
| 318 | range 0x100 0x10000 |
| 319 | default "0x8000" |
| 320 | ---help--- |
| 321 | A table of relocation data will be appended to the U-Boot binary |
| 322 | and parsed in relocate_code() to fix up all offsets in the relocated |
| 323 | U-Boot. |
| 324 | |
| 325 | This option allows the amount of space reserved for the table to be |
| 326 | adjusted in a range from 256 up to 64k. The default is 32k and should |
| 327 | be ok in most cases. Reduce this value to shrink the size of U-Boot |
| 328 | binary. |
| 329 | |
| 330 | The build will fail and a valid size suggested if this is too small. |
| 331 | |
| 332 | If unsure, leave at the default value. |
| 333 | |
Weijie Gao | 7105973 | 2020-04-21 09:28:25 +0200 | [diff] [blame] | 334 | config RESTORE_EXCEPTION_VECTOR_BASE |
| 335 | bool "Restore exception vector base before booting linux kernel" |
Weijie Gao | 7105973 | 2020-04-21 09:28:25 +0200 | [diff] [blame] | 336 | help |
| 337 | In U-Boot the exception vector base will be moved to top of memory, |
| 338 | to be used to display register dump when exception occurs. |
| 339 | But some old linux kernel does not honor the base set in CP0_EBASE. |
| 340 | A modified exception vector base will cause kernel crash. |
| 341 | |
| 342 | This option will restore the exception vector base to its previous |
| 343 | value. |
| 344 | |
| 345 | If unsure, say N. |
| 346 | |
| 347 | config OVERRIDE_EXCEPTION_VECTOR_BASE |
| 348 | bool "Override the exception vector base to be restored" |
| 349 | depends on RESTORE_EXCEPTION_VECTOR_BASE |
Weijie Gao | 7105973 | 2020-04-21 09:28:25 +0200 | [diff] [blame] | 350 | help |
| 351 | Enable this option if you want to use a different exception vector |
| 352 | base rather than the previously saved one. |
| 353 | |
| 354 | config NEW_EXCEPTION_VECTOR_BASE |
| 355 | hex "New exception vector base" |
| 356 | depends on OVERRIDE_EXCEPTION_VECTOR_BASE |
| 357 | range 0x80000000 0xbffff000 |
| 358 | default 0x80000000 |
| 359 | help |
| 360 | The exception vector base to be restored before booting linux kernel |
| 361 | |
Weijie Gao | c95c3ec | 2020-04-21 09:28:33 +0200 | [diff] [blame] | 362 | config INIT_STACK_WITHOUT_MALLOC_F |
| 363 | bool "Do not reserve malloc space on initial stack" |
Weijie Gao | c95c3ec | 2020-04-21 09:28:33 +0200 | [diff] [blame] | 364 | help |
| 365 | Enable this option if you don't want to reserve malloc space on |
| 366 | initial stack. This is useful if the initial stack can't hold large |
| 367 | malloc space. Platform should set the malloc_base later when DRAM is |
| 368 | ready to use. |
| 369 | |
| 370 | config SPL_INIT_STACK_WITHOUT_MALLOC_F |
| 371 | bool "Do not reserve malloc space on initial stack in SPL" |
Weijie Gao | c95c3ec | 2020-04-21 09:28:33 +0200 | [diff] [blame] | 372 | help |
| 373 | Enable this option if you don't want to reserve malloc space on |
| 374 | initial stack. This is useful if the initial stack can't hold large |
| 375 | malloc space. Platform should set the malloc_base later when DRAM is |
| 376 | ready to use. |
| 377 | |
Weijie Gao | 814a891 | 2020-04-21 09:28:37 +0200 | [diff] [blame] | 378 | config SPL_LOADER_SUPPORT |
| 379 | bool |
Weijie Gao | 814a891 | 2020-04-21 09:28:37 +0200 | [diff] [blame] | 380 | help |
| 381 | Enable this option if you want to use SPL loaders without DM enabled. |
| 382 | |
Daniel Schwierzeck | af3971f | 2016-02-14 18:52:57 +0100 | [diff] [blame] | 383 | endmenu |
| 384 | |
Daniel Schwierzeck | 25fc664 | 2015-01-14 21:44:13 +0100 | [diff] [blame] | 385 | menu "OS boot interface" |
| 386 | |
| 387 | config MIPS_BOOT_CMDLINE_LEGACY |
| 388 | bool "Hand over legacy command line to Linux kernel" |
| 389 | default y |
| 390 | help |
| 391 | Enable this option if you want U-Boot to hand over the Yamon-style |
| 392 | command line to the kernel. All bootargs will be prepared as argc/argv |
| 393 | compatible list. The argument count (argc) is stored in register $a0. |
| 394 | The address of the argument list (argv) is stored in register $a1. |
| 395 | |
Daniel Schwierzeck | ca65e58 | 2015-01-14 21:44:13 +0100 | [diff] [blame] | 396 | config MIPS_BOOT_ENV_LEGACY |
| 397 | bool "Hand over legacy environment to Linux kernel" |
| 398 | default y |
| 399 | help |
| 400 | Enable this option if you want U-Boot to hand over the Yamon-style |
| 401 | environment to the kernel. Information like memory size, initrd |
| 402 | address and size will be prepared as zero-terminated key/value list. |
Robert P. J. Day | 1cc0a9f | 2016-05-04 04:47:31 -0400 | [diff] [blame] | 403 | The address of the environment is stored in register $a2. |
Daniel Schwierzeck | ca65e58 | 2015-01-14 21:44:13 +0100 | [diff] [blame] | 404 | |
Daniel Schwierzeck | 5002d8c | 2015-01-14 21:44:13 +0100 | [diff] [blame] | 405 | config MIPS_BOOT_FDT |
Daniel Schwierzeck | 90b1c9f | 2015-02-22 16:58:30 +0100 | [diff] [blame] | 406 | bool "Hand over a flattened device tree to Linux kernel" |
Daniel Schwierzeck | 5002d8c | 2015-01-14 21:44:13 +0100 | [diff] [blame] | 407 | help |
| 408 | Enable this option if you want U-Boot to hand over a flattened |
Daniel Schwierzeck | 90b1c9f | 2015-02-22 16:58:30 +0100 | [diff] [blame] | 409 | device tree to the kernel. According to UHI register $a0 will be set |
| 410 | to -2 and the FDT address is stored in $a1. |
Daniel Schwierzeck | 5002d8c | 2015-01-14 21:44:13 +0100 | [diff] [blame] | 411 | |
Daniel Schwierzeck | 25fc664 | 2015-01-14 21:44:13 +0100 | [diff] [blame] | 412 | endmenu |
| 413 | |
Daniel Schwierzeck | 0e1dc34 | 2014-10-26 14:14:07 +0100 | [diff] [blame] | 414 | config SUPPORTS_BIG_ENDIAN |
| 415 | bool |
| 416 | |
| 417 | config SUPPORTS_LITTLE_ENDIAN |
| 418 | bool |
| 419 | |
Daniel Schwierzeck | 02611cb | 2014-10-26 14:14:07 +0100 | [diff] [blame] | 420 | config SUPPORTS_CPU_MIPS32_R1 |
| 421 | bool |
| 422 | |
| 423 | config SUPPORTS_CPU_MIPS32_R2 |
| 424 | bool |
| 425 | |
Paul Burton | c52ebea | 2016-05-16 10:52:12 +0100 | [diff] [blame] | 426 | config SUPPORTS_CPU_MIPS32_R6 |
| 427 | bool |
| 428 | |
Daniel Schwierzeck | 02611cb | 2014-10-26 14:14:07 +0100 | [diff] [blame] | 429 | config SUPPORTS_CPU_MIPS64_R1 |
| 430 | bool |
| 431 | |
| 432 | config SUPPORTS_CPU_MIPS64_R2 |
| 433 | bool |
| 434 | |
Paul Burton | c52ebea | 2016-05-16 10:52:12 +0100 | [diff] [blame] | 435 | config SUPPORTS_CPU_MIPS64_R6 |
| 436 | bool |
| 437 | |
Aaron Williams | 0dc4ab9 | 2020-06-30 12:08:56 +0200 | [diff] [blame] | 438 | config SUPPORTS_CPU_MIPS64_OCTEON |
| 439 | bool |
| 440 | |
Daniel Schwierzeck | a29491a | 2022-07-10 17:15:14 +0200 | [diff] [blame] | 441 | config HAS_FIXED_TIMER_FREQUENCY |
| 442 | bool |
| 443 | |
Aaron Williams | 0dc4ab9 | 2020-06-30 12:08:56 +0200 | [diff] [blame] | 444 | config CPU_CAVIUM_OCTEON |
| 445 | bool |
| 446 | |
Daniel Schwierzeck | c57dafb | 2015-01-18 21:59:35 +0100 | [diff] [blame] | 447 | config CPU_MIPS32 |
| 448 | bool |
Paul Burton | c52ebea | 2016-05-16 10:52:12 +0100 | [diff] [blame] | 449 | default y if CPU_MIPS32_R1 || CPU_MIPS32_R2 || CPU_MIPS32_R6 |
Daniel Schwierzeck | c57dafb | 2015-01-18 21:59:35 +0100 | [diff] [blame] | 450 | |
| 451 | config CPU_MIPS64 |
| 452 | bool |
Paul Burton | c52ebea | 2016-05-16 10:52:12 +0100 | [diff] [blame] | 453 | default y if CPU_MIPS64_R1 || CPU_MIPS64_R2 || CPU_MIPS64_R6 |
Aaron Williams | 0dc4ab9 | 2020-06-30 12:08:56 +0200 | [diff] [blame] | 454 | default y if CPU_MIPS64_OCTEON |
Daniel Schwierzeck | c57dafb | 2015-01-18 21:59:35 +0100 | [diff] [blame] | 455 | |
Daniel Schwierzeck | 0315a28 | 2015-12-26 19:55:37 +0100 | [diff] [blame] | 456 | config MIPS_TUNE_4KC |
| 457 | bool |
| 458 | |
| 459 | config MIPS_TUNE_14KC |
| 460 | bool |
| 461 | |
| 462 | config MIPS_TUNE_24KC |
| 463 | bool |
| 464 | |
Daniel Schwierzeck | 5f9cc36 | 2016-05-27 15:39:39 +0200 | [diff] [blame] | 465 | config MIPS_TUNE_34KC |
| 466 | bool |
| 467 | |
Marek Vasut | 0a0a958 | 2016-05-06 20:10:33 +0200 | [diff] [blame] | 468 | config MIPS_TUNE_74KC |
| 469 | bool |
| 470 | |
Aaron Williams | 0dc4ab9 | 2020-06-30 12:08:56 +0200 | [diff] [blame] | 471 | config MIPS_TUNE_OCTEON3 |
| 472 | bool |
| 473 | |
Daniel Schwierzeck | 02611cb | 2014-10-26 14:14:07 +0100 | [diff] [blame] | 474 | config 32BIT |
| 475 | bool |
| 476 | |
| 477 | config 64BIT |
| 478 | bool |
| 479 | |
Daniel Schwierzeck | 9d638ee | 2015-01-18 22:00:18 +0100 | [diff] [blame] | 480 | config SWAP_IO_SPACE |
| 481 | bool |
| 482 | |
Paul Burton | dd7c720 | 2015-01-29 01:28:02 +0000 | [diff] [blame] | 483 | config SYS_MIPS_CACHE_INIT_RAM_LOAD |
| 484 | bool |
| 485 | |
Daniel Schwierzeck | 924ad86 | 2016-06-04 16:13:21 +0200 | [diff] [blame] | 486 | config MIPS_INIT_STACK_IN_SRAM |
| 487 | bool |
Daniel Schwierzeck | 924ad86 | 2016-06-04 16:13:21 +0200 | [diff] [blame] | 488 | help |
| 489 | Select this if the initial stack frame could be setup in SRAM. |
| 490 | Normally the initial stack frame is set up in DRAM which is often |
| 491 | only available after lowlevel_init. With this option the initial |
| 492 | stack frame and the early C environment is set up before |
| 493 | lowlevel_init. Thus lowlevel_init does not need to be implemented |
| 494 | in assembler. |
| 495 | |
Weijie Gao | 2434f58 | 2020-04-21 09:28:27 +0200 | [diff] [blame] | 496 | config MIPS_SRAM_INIT |
| 497 | bool |
Weijie Gao | 2434f58 | 2020-04-21 09:28:27 +0200 | [diff] [blame] | 498 | depends on MIPS_INIT_STACK_IN_SRAM |
| 499 | help |
| 500 | Select this if the SRAM for initial stack needs to be initialized |
| 501 | before it can be used. If enabled, a function mips_sram_init() will |
| 502 | be called just before setup_stack_gd. |
| 503 | |
Aaron Williams | 0dc4ab9 | 2020-06-30 12:08:56 +0200 | [diff] [blame] | 504 | config DMA_ADDR_T_64BIT |
| 505 | bool |
| 506 | help |
| 507 | Select this to enable 64-bit DMA addressing |
| 508 | |
Paul Burton | ace3be4 | 2016-05-27 14:28:04 +0100 | [diff] [blame] | 509 | config SYS_DCACHE_SIZE |
| 510 | int |
| 511 | default 0 |
| 512 | help |
| 513 | The total size of the L1 Dcache, if known at compile time. |
| 514 | |
Paul Burton | 3722862 | 2016-05-27 14:28:05 +0100 | [diff] [blame] | 515 | config SYS_DCACHE_LINE_SIZE |
Paul Burton | 4b7b0a0 | 2016-06-09 13:09:52 +0100 | [diff] [blame] | 516 | int |
Paul Burton | 3722862 | 2016-05-27 14:28:05 +0100 | [diff] [blame] | 517 | default 0 |
| 518 | help |
| 519 | The size of L1 Dcache lines, if known at compile time. |
| 520 | |
Paul Burton | ace3be4 | 2016-05-27 14:28:04 +0100 | [diff] [blame] | 521 | config SYS_ICACHE_SIZE |
| 522 | int |
| 523 | default 0 |
| 524 | help |
| 525 | The total size of the L1 ICache, if known at compile time. |
| 526 | |
Paul Burton | 3722862 | 2016-05-27 14:28:05 +0100 | [diff] [blame] | 527 | config SYS_ICACHE_LINE_SIZE |
Paul Burton | ace3be4 | 2016-05-27 14:28:04 +0100 | [diff] [blame] | 528 | int |
| 529 | default 0 |
| 530 | help |
Paul Burton | 3722862 | 2016-05-27 14:28:05 +0100 | [diff] [blame] | 531 | The size of L1 Icache lines, if known at compile time. |
Paul Burton | ace3be4 | 2016-05-27 14:28:04 +0100 | [diff] [blame] | 532 | |
Ramon Fried | 22247c6 | 2019-06-10 21:05:26 +0300 | [diff] [blame] | 533 | config SYS_SCACHE_LINE_SIZE |
| 534 | int |
| 535 | default 0 |
| 536 | help |
| 537 | The size of L2 cache lines, if known at compile time. |
| 538 | |
| 539 | |
Paul Burton | ace3be4 | 2016-05-27 14:28:04 +0100 | [diff] [blame] | 540 | config SYS_CACHE_SIZE_AUTO |
| 541 | def_bool y if SYS_DCACHE_SIZE = 0 && SYS_ICACHE_SIZE = 0 && \ |
Ramon Fried | 22247c6 | 2019-06-10 21:05:26 +0300 | [diff] [blame] | 542 | SYS_DCACHE_LINE_SIZE = 0 && SYS_ICACHE_LINE_SIZE = 0 && \ |
| 543 | SYS_SCACHE_LINE_SIZE = 0 |
Paul Burton | ace3be4 | 2016-05-27 14:28:04 +0100 | [diff] [blame] | 544 | help |
| 545 | Select this (or let it be auto-selected by not defining any cache |
| 546 | sizes) in order to allow U-Boot to automatically detect the sizes |
| 547 | of caches at runtime. This has a small cost in code size & runtime |
| 548 | so if you know the cache configuration for your system at compile |
| 549 | time it would be beneficial to configure it. |
| 550 | |
Paul Burton | 4baa0ab | 2016-09-21 11:18:54 +0100 | [diff] [blame] | 551 | config MIPS_L2_CACHE |
| 552 | bool |
| 553 | help |
| 554 | Select this if your system includes an L2 cache and you want U-Boot |
| 555 | to initialise & maintain it. |
| 556 | |
Paul Burton | 05e3425 | 2016-01-29 13:54:52 +0000 | [diff] [blame] | 557 | config DYNAMIC_IO_PORT_BASE |
| 558 | bool |
| 559 | |
Paul Burton | b2b135d | 2016-09-21 11:18:53 +0100 | [diff] [blame] | 560 | config MIPS_CM |
| 561 | bool |
| 562 | help |
| 563 | Select this if your system contains a MIPS Coherence Manager and you |
| 564 | wish U-Boot to configure it or make use of it to retrieve system |
| 565 | information such as cache configuration. |
| 566 | |
Daniel Schwierzeck | d1c3d8b | 2018-09-07 19:18:44 +0200 | [diff] [blame] | 567 | config MIPS_INSERT_BOOT_CONFIG |
| 568 | bool |
Daniel Schwierzeck | d1c3d8b | 2018-09-07 19:18:44 +0200 | [diff] [blame] | 569 | help |
| 570 | Enable this to insert some board-specific boot configuration in |
| 571 | the U-Boot binary at offset 0x10. |
| 572 | |
| 573 | config MIPS_BOOT_CONFIG_WORD0 |
| 574 | hex |
| 575 | depends on MIPS_INSERT_BOOT_CONFIG |
| 576 | default 0x420 if TARGET_MALTA |
| 577 | default 0x0 |
| 578 | help |
| 579 | Value which is inserted as boot config word 0. |
| 580 | |
| 581 | config MIPS_BOOT_CONFIG_WORD1 |
| 582 | hex |
| 583 | depends on MIPS_INSERT_BOOT_CONFIG |
| 584 | default 0x0 |
| 585 | help |
| 586 | Value which is inserted as boot config word 1. |
| 587 | |
Daniel Schwierzeck | 0e1dc34 | 2014-10-26 14:14:07 +0100 | [diff] [blame] | 588 | endif |
| 589 | |
Masahiro Yamada | dd84058 | 2014-07-30 14:08:14 +0900 | [diff] [blame] | 590 | endmenu |