@@ -113,6 +113,9 @@ config MIPS_FIXUP_BIGPHYS_ADDR
113113config MIPS_GENERIC
114114 bool
115115
116+ config MACH_GENERIC_CORE
117+ bool
118+
116119config MACH_INGENIC
117120 bool
118121 select SYS_SUPPORTS_32BIT_KERNEL
@@ -149,6 +152,7 @@ config MIPS_GENERIC_KERNEL
149152 select DMA_NONCOHERENT
150153 select HAVE_PCI
151154 select IRQ_MIPS_CPU
155+ select MACH_GENERIC_CORE
152156 select MIPS_AUTO_PFN_OFFSET
153157 select MIPS_CPU_SCACHE
154158 select MIPS_GIC
@@ -417,6 +421,7 @@ config MACH_INGENIC_SOC
417421 bool "Ingenic SoC based machines"
418422 select MIPS_GENERIC
419423 select MACH_INGENIC
424+ select MACH_GENERIC_CORE
420425 select SYS_SUPPORTS_ZBOOT_UART16550
421426 select CPU_SUPPORTS_CPUFREQ
422427 select MIPS_EXTERNAL_TIMER
@@ -570,6 +575,59 @@ config MACH_PIC32
570575 Microchip PIC32 is a family of general-purpose 32 bit MIPS core
571576 microcontrollers.
572577
578+ config MACH_EYEQ5
579+ bool "Mobileye EyeQ5 SoC"
580+ select MACH_GENERIC_CORE
581+ select ARM_AMBA
582+ select PHYSICAL_START_BOOL
583+ select ARCH_SPARSEMEM_DEFAULT if 64BIT
584+ select BOOT_RAW
585+ select BUILTIN_DTB
586+ select CEVT_R4K
587+ select CLKSRC_MIPS_GIC
588+ select COMMON_CLK
589+ select CPU_MIPSR2_IRQ_EI
590+ select CPU_MIPSR2_IRQ_VI
591+ select CSRC_R4K
592+ select DMA_NONCOHERENT
593+ select HAVE_PCI
594+ select IRQ_MIPS_CPU
595+ select MIPS_AUTO_PFN_OFFSET
596+ select MIPS_CPU_SCACHE
597+ select MIPS_GIC
598+ select MIPS_L1_CACHE_SHIFT_7
599+ select PCI_DRIVERS_GENERIC
600+ select SMP_UP if SMP
601+ select SWAP_IO_SPACE
602+ select SYS_HAS_CPU_MIPS64_R6
603+ select SYS_SUPPORTS_64BIT_KERNEL
604+ select SYS_SUPPORTS_HIGHMEM
605+ select SYS_SUPPORTS_LITTLE_ENDIAN
606+ select SYS_SUPPORTS_MIPS_CPS
607+ select SYS_SUPPORTS_RELOCATABLE
608+ select SYS_SUPPORTS_ZBOOT
609+ select UHI_BOOT
610+ select USB_EHCI_BIG_ENDIAN_DESC if CPU_BIG_ENDIAN
611+ select USB_EHCI_BIG_ENDIAN_MMIO if CPU_BIG_ENDIAN
612+ select USB_OHCI_BIG_ENDIAN_DESC if CPU_BIG_ENDIAN
613+ select USB_OHCI_BIG_ENDIAN_MMIO if CPU_BIG_ENDIAN
614+ select USB_UHCI_BIG_ENDIAN_DESC if CPU_BIG_ENDIAN
615+ select USB_UHCI_BIG_ENDIAN_MMIO if CPU_BIG_ENDIAN
616+ select USE_OF
617+ help
618+ Select this to build a kernel supporting EyeQ5 SoC from Mobileye.
619+
620+ bool
621+
622+ config FIT_IMAGE_FDT_EPM5
623+ bool "Include FDT for Mobileye EyeQ5 development platforms"
624+ depends on MACH_EYEQ5
625+ default n
626+ help
627+ Enable this to include the FDT for the EyeQ5 development platforms
628+ from Mobileye in the FIT kernel image.
629+ This requires u-boot on the platform.
630+
573631config MACH_NINTENDO64
574632 bool "Nintendo 64 console"
575633 select CEVT_R4K
@@ -603,6 +661,7 @@ config RALINK
603661config MACH_REALTEK_RTL
604662 bool "Realtek RTL838x/RTL839x based machines"
605663 select MIPS_GENERIC
664+ select MACH_GENERIC_CORE
606665 select DMA_NONCOHERENT
607666 select IRQ_MIPS_CPU
608667 select CSRC_R4K
@@ -1273,44 +1332,6 @@ config CPU_LOONGSON64
12731332 3B1000, 3B1500, 3A2000, 3A3000 and 3A4000) processors. However, old
12741333 Loongson-2E/2F is not covered here and will be removed in future.
12751334
1276- config LOONGSON3_ENHANCEMENT
1277- bool "New Loongson-3 CPU Enhancements"
1278- default n
1279- depends on CPU_LOONGSON64
1280- help
1281- New Loongson-3 cores (since Loongson-3A R2, as opposed to Loongson-3A
1282- R1, Loongson-3B R1 and Loongson-3B R2) has many enhancements, such as
1283- FTLB, L1-VCache, EI/DI/Wait/Prefetch instruction, DSP/DSPr2 ASE, User
1284- Local register, Read-Inhibit/Execute-Inhibit, SFB (Store Fill Buffer),
1285- Fast TLB refill support, etc.
1286-
1287- This option enable those enhancements which are not probed at run
1288- time. If you want a generic kernel to run on all Loongson 3 machines,
1289- please say 'N' here. If you want a high-performance kernel to run on
1290- new Loongson-3 machines only, please say 'Y' here.
1291-
1292- config CPU_LOONGSON3_WORKAROUNDS
1293- bool "Loongson-3 LLSC Workarounds"
1294- default y if SMP
1295- depends on CPU_LOONGSON64
1296- help
1297- Loongson-3 processors have the llsc issues which require workarounds.
1298- Without workarounds the system may hang unexpectedly.
1299-
1300- Say Y, unless you know what you are doing.
1301-
1302- config CPU_LOONGSON3_CPUCFG_EMULATION
1303- bool "Emulate the CPUCFG instruction on older Loongson cores"
1304- default y
1305- depends on CPU_LOONGSON64
1306- help
1307- Loongson-3A R4 and newer have the CPUCFG instruction available for
1308- userland to query CPU capabilities, much like CPUID on x86. This
1309- option provides emulation of the instruction on older Loongson
1310- cores, back to Loongson-3A1000.
1311-
1312- If unsure, please say Y.
1313-
13141335config CPU_LOONGSON2E
13151336 bool "Loongson 2E"
13161337 depends on SYS_HAS_CPU_LOONGSON2E
@@ -1650,6 +1671,44 @@ config CPU_BMIPS
16501671
16511672endchoice
16521673
1674+ config LOONGSON3_ENHANCEMENT
1675+ bool "New Loongson-3 CPU Enhancements"
1676+ default n
1677+ depends on CPU_LOONGSON64
1678+ help
1679+ New Loongson-3 cores (since Loongson-3A R2, as opposed to Loongson-3A
1680+ R1, Loongson-3B R1 and Loongson-3B R2) has many enhancements, such as
1681+ FTLB, L1-VCache, EI/DI/Wait/Prefetch instruction, DSP/DSPr2 ASE, User
1682+ Local register, Read-Inhibit/Execute-Inhibit, SFB (Store Fill Buffer),
1683+ Fast TLB refill support, etc.
1684+
1685+ This option enable those enhancements which are not probed at run
1686+ time. If you want a generic kernel to run on all Loongson 3 machines,
1687+ please say 'N' here. If you want a high-performance kernel to run on
1688+ new Loongson-3 machines only, please say 'Y' here.
1689+
1690+ config CPU_LOONGSON3_WORKAROUNDS
1691+ bool "Loongson-3 LLSC Workarounds"
1692+ default y if SMP
1693+ depends on CPU_LOONGSON64
1694+ help
1695+ Loongson-3 processors have the llsc issues which require workarounds.
1696+ Without workarounds the system may hang unexpectedly.
1697+
1698+ Say Y, unless you know what you are doing.
1699+
1700+ config CPU_LOONGSON3_CPUCFG_EMULATION
1701+ bool "Emulate the CPUCFG instruction on older Loongson cores"
1702+ default y
1703+ depends on CPU_LOONGSON64
1704+ help
1705+ Loongson-3A R4 and newer have the CPUCFG instruction available for
1706+ userland to query CPU capabilities, much like CPUID on x86. This
1707+ option provides emulation of the instruction on older Loongson
1708+ cores, back to Loongson-3A1000.
1709+
1710+ If unsure, please say Y.
1711+
16531712config CPU_MIPS32_3_5_FEATURES
16541713 bool "MIPS32 Release 3.5 Features"
16551714 depends on SYS_HAS_CPU_MIPS32_R3_5
@@ -2124,7 +2183,8 @@ config CPU_R4K_CACHE_TLB
21242183config MIPS_MT_SMP
21252184 bool "MIPS MT SMP support (1 TC on each available VPE)"
21262185 default y
2127- depends on SYS_SUPPORTS_MULTITHREADING && !CPU_MIPSR6 && !CPU_MICROMIPS
2186+ depends on TARGET_ISA_REV > 0 && TARGET_ISA_REV < 6
2187+ depends on SYS_SUPPORTS_MULTITHREADING && !CPU_MICROMIPS
21282188 select CPU_MIPSR2_IRQ_VI
21292189 select CPU_MIPSR2_IRQ_EI
21302190 select SYNC_R4K
0 commit comments