mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-23 09:37:38 +07:00
e292ccde21
CPUFreq driver need external timer, so add hpet at first. In Loongson 3, only Core-0 can receive external interrupt. As a result, timekeeping cannot absolutely use HPET timer. We use a hybrid solution: Core-0 use HPET as its clock event device, but other cores still use MIPS; clock source is global and doesn't need interrupt, so use HPET. Signed-off-by: Huacai Chen <chenhc@lemote.com> Signed-off-by: Hongliang Tao <taohl@lemote.com> Cc: John Crispin <john@phrozen.org> Cc: Steven J. Hill <Steven.Hill@imgtec.com> Cc: linux-mips@linux-mips.org Cc: Fuxin Zhang <zhangfx@lemote.com> Cc: Zhangjin Wu <wuzhangjin@gmail.com> Patchwork: https://patchwork.linux-mips.org/patch/8329/ Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
159 lines
3.6 KiB
Plaintext
159 lines
3.6 KiB
Plaintext
if MACH_LOONGSON
|
|
|
|
choice
|
|
prompt "Machine Type"
|
|
|
|
config LEMOTE_FULOONG2E
|
|
bool "Lemote Fuloong(2e) mini-PC"
|
|
select ARCH_SPARSEMEM_ENABLE
|
|
select CEVT_R4K
|
|
select CSRC_R4K
|
|
select SYS_HAS_CPU_LOONGSON2E
|
|
select DMA_NONCOHERENT
|
|
select BOOT_ELF32
|
|
select BOARD_SCACHE
|
|
select HW_HAS_PCI
|
|
select I8259
|
|
select ISA
|
|
select IRQ_CPU
|
|
select SYS_SUPPORTS_32BIT_KERNEL
|
|
select SYS_SUPPORTS_64BIT_KERNEL
|
|
select SYS_SUPPORTS_LITTLE_ENDIAN
|
|
select SYS_SUPPORTS_HIGHMEM
|
|
select SYS_HAS_EARLY_PRINTK
|
|
select GENERIC_ISA_DMA_SUPPORT_BROKEN
|
|
select CPU_HAS_WB
|
|
select LOONGSON_MC146818
|
|
help
|
|
Lemote Fuloong(2e) mini-PC board based on the Chinese Loongson-2E CPU and
|
|
an FPGA northbridge
|
|
|
|
Lemote Fuloong(2e) mini PC have a VIA686B south bridge.
|
|
|
|
config LEMOTE_MACH2F
|
|
bool "Lemote Loongson 2F family machines"
|
|
select ARCH_SPARSEMEM_ENABLE
|
|
select BOARD_SCACHE
|
|
select BOOT_ELF32
|
|
select CEVT_R4K if ! MIPS_EXTERNAL_TIMER
|
|
select CPU_HAS_WB
|
|
select CS5536
|
|
select CSRC_R4K if ! MIPS_EXTERNAL_TIMER
|
|
select DMA_NONCOHERENT
|
|
select GENERIC_ISA_DMA_SUPPORT_BROKEN
|
|
select HAVE_CLK
|
|
select HW_HAS_PCI
|
|
select I8259
|
|
select IRQ_CPU
|
|
select ISA
|
|
select SYS_HAS_CPU_LOONGSON2F
|
|
select SYS_HAS_EARLY_PRINTK
|
|
select SYS_SUPPORTS_32BIT_KERNEL
|
|
select SYS_SUPPORTS_64BIT_KERNEL
|
|
select SYS_SUPPORTS_HIGHMEM
|
|
select SYS_SUPPORTS_LITTLE_ENDIAN
|
|
select LOONGSON_MC146818
|
|
help
|
|
Lemote Loongson 2F family machines utilize the 2F revision of
|
|
Loongson processor and the AMD CS5536 south bridge.
|
|
|
|
These family machines include fuloong2f mini PC, yeeloong2f notebook,
|
|
LingLoong allinone PC and so forth.
|
|
|
|
config LOONGSON_MACH3X
|
|
bool "Generic Loongson 3 family machines"
|
|
select ARCH_SPARSEMEM_ENABLE
|
|
select GENERIC_ISA_DMA_SUPPORT_BROKEN
|
|
select BOOT_ELF32
|
|
select BOARD_SCACHE
|
|
select CSRC_R4K
|
|
select CEVT_R4K
|
|
select CPU_HAS_WB
|
|
select HW_HAS_PCI
|
|
select ISA
|
|
select HT_PCI
|
|
select I8259
|
|
select IRQ_CPU
|
|
select NR_CPUS_DEFAULT_4
|
|
select SYS_HAS_CPU_LOONGSON3
|
|
select SYS_HAS_EARLY_PRINTK
|
|
select SYS_SUPPORTS_SMP
|
|
select SYS_SUPPORTS_HOTPLUG_CPU
|
|
select SYS_SUPPORTS_NUMA
|
|
select SYS_SUPPORTS_64BIT_KERNEL
|
|
select SYS_SUPPORTS_HIGHMEM
|
|
select SYS_SUPPORTS_LITTLE_ENDIAN
|
|
select LOONGSON_MC146818
|
|
select ZONE_DMA32
|
|
select LEFI_FIRMWARE_INTERFACE
|
|
select PHYS48_TO_HT40
|
|
help
|
|
Generic Loongson 3 family machines utilize the 3A/3B revision
|
|
of Loongson processor and RS780/SBX00 chipset.
|
|
endchoice
|
|
|
|
config CS5536
|
|
bool
|
|
|
|
config CS5536_MFGPT
|
|
bool "CS5536 MFGPT Timer"
|
|
depends on CS5536 && !HIGH_RES_TIMERS
|
|
select MIPS_EXTERNAL_TIMER
|
|
help
|
|
This option enables the mfgpt0 timer of AMD CS5536. With this timer
|
|
switched on you can not use high resolution timers.
|
|
|
|
If you want to enable the Loongson2 CPUFreq Driver, Please enable
|
|
this option at first, otherwise, You will get wrong system time.
|
|
|
|
If unsure, say Yes.
|
|
|
|
config RS780_HPET
|
|
bool "RS780/SBX00 HPET Timer"
|
|
depends on LOONGSON_MACH3X
|
|
select MIPS_EXTERNAL_TIMER
|
|
help
|
|
This option enables the hpet timer of AMD RS780/SBX00.
|
|
|
|
If you want to enable the Loongson3 CPUFreq Driver, Please enable
|
|
this option at first, otherwise, You will get wrong system time.
|
|
|
|
If unsure, say Yes.
|
|
|
|
config LOONGSON_SUSPEND
|
|
bool
|
|
default y
|
|
depends on CPU_SUPPORTS_CPUFREQ && SUSPEND
|
|
|
|
config LOONGSON_UART_BASE
|
|
bool
|
|
default y
|
|
depends on EARLY_PRINTK || SERIAL_8250
|
|
|
|
config IOMMU_HELPER
|
|
bool
|
|
|
|
config NEED_SG_DMA_LENGTH
|
|
bool
|
|
|
|
config SWIOTLB
|
|
bool "Soft IOMMU Support for All-Memory DMA"
|
|
default y
|
|
depends on CPU_LOONGSON3
|
|
select IOMMU_HELPER
|
|
select NEED_SG_DMA_LENGTH
|
|
select NEED_DMA_MAP_STATE
|
|
|
|
config PHYS48_TO_HT40
|
|
bool
|
|
default y if CPU_LOONGSON3
|
|
|
|
config LOONGSON_MC146818
|
|
bool
|
|
default n
|
|
|
|
config LEFI_FIRMWARE_INTERFACE
|
|
bool
|
|
|
|
endif # MACH_LOONGSON
|