From f70d65c8297938b922419126c13fbe21b9dc8166 Mon Sep 17 00:00:00 2001 From: maoxiaochuan Date: Sat, 28 Dec 2024 10:51:06 +0800 Subject: [PATCH] loongarch: add chip type select support Signed-off-by: maoxiaochuan --- arch/loongarch/Kconfig | 132 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 132 insertions(+) diff --git a/arch/loongarch/Kconfig b/arch/loongarch/Kconfig index 5e491bb35..5e27292c1 100644 --- a/arch/loongarch/Kconfig +++ b/arch/loongarch/Kconfig @@ -291,6 +291,138 @@ config AS_HAS_LVZ_EXTENSION config CC_HAS_ANNOTATE_TABLEJUMP def_bool $(cc-option,-mannotate-tablejump) +if LOONGARCH + +choice + prompt "Machine Type" + default LOONGSON64_GENERIC + +config LOONGSON64_GENERIC + bool "Generic Loongson 64-bit family machines" + select ARCH_SPARSEMEM_ENABLE + select ARCH_MIGHT_HAVE_PC_PARPORT + select ARCH_MIGHT_HAVE_PC_SERIO + select BOOT_ELF32 + select BOARD_SCACHE + select CPU_HAS_WB + select HW_HAS_PCI + select ISA + select HT_PCI + select IRQ_LOONGARCH_CPU + select NR_CPUS_DEFAULT_4 + select SPARSE_IRQ + select SYS_HAS_CPU_LOONGSON64 + 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 ZONE_DMA32 + select USE_OF + help + Generic Loongson 64-bit family machines utilize the Loongson-3A/3B/3C + revision of Loongson processor and LS7A chipset. + +config LOONGSON_2K500 + bool "Loongson 2K500 family SoC" + select ARCH_SPARSEMEM_ENABLE + select ARCH_MIGHT_HAVE_PC_PARPORT + select BOOT_ELF32 + select BOARD_SCACHE + select CPU_HAS_WB + select HW_HAS_PCI + select ISA + select HT_PCI + select IRQ_LOONGARCH_CPU + select NR_CPUS_DEFAULT_4 + select SPARSE_IRQ + select SYS_HAS_CPU_LOONGSON64 + select SYS_SUPPORTS_HOTPLUG_CPU + select SYS_SUPPORTS_64BIT_KERNEL + select SYS_SUPPORTS_HIGHMEM + select SYS_SUPPORTS_LITTLE_ENDIAN + select ZONE_DMA32 + select USE_OF + select COMMON_CLK + help + Loongson 2K500 family SoC. + +config LOONGSON_2K300 + bool "Loongson 2K300 family SoC" + select ARCH_SPARSEMEM_ENABLE + select ARCH_MIGHT_HAVE_PC_PARPORT + select BOOT_ELF32 + select BOARD_SCACHE + select CPU_HAS_WB + select ISA + select IRQ_LOONGARCH_CPU + select NR_CPUS_DEFAULT_4 + select SPARSE_IRQ + select SYS_HAS_CPU_LOONGSON64 + select SYS_SUPPORTS_HOTPLUG_CPU + select SYS_SUPPORTS_64BIT_KERNEL + select SYS_SUPPORTS_HIGHMEM + select SYS_SUPPORTS_LITTLE_ENDIAN + select ZONE_DMA32 + select USE_OF + select COMMON_CLK + help + Loongson 2K300 family SoC. + +config LOONGSON_2P500 + bool "Loongson 2P500 family SoC" + select ARCH_SPARSEMEM_ENABLE + select ARCH_MIGHT_HAVE_PC_PARPORT + select BOOT_ELF32 + select BOARD_SCACHE + select CPU_HAS_WB + select HW_HAS_PCI + select ISA + select HT_PCI + select IRQ_LOONGARCH_CPU + select NR_CPUS_DEFAULT_4 + select SPARSE_IRQ + select SYS_HAS_CPU_LOONGSON64 + select SYS_SUPPORTS_HOTPLUG_CPU + select SYS_SUPPORTS_64BIT_KERNEL + select SYS_SUPPORTS_HIGHMEM + select SYS_SUPPORTS_LITTLE_ENDIAN + select ZONE_DMA32 + select USE_OF + select COMMON_CLK + help + Loongson 2P500 family SoC. + +config LOONGSON_2K1000 + bool "Loongson 2K1000 family SoC" + select ARCH_SPARSEMEM_ENABLE + select ARCH_MIGHT_HAVE_PC_PARPORT + select BOOT_ELF32 + select BOARD_SCACHE + select CPU_HAS_WB + select HW_HAS_PCI + select ISA + select HT_PCI + select IRQ_LOONGARCH_CPU + select NR_CPUS_DEFAULT_4 + select SPARSE_IRQ + select SYS_HAS_CPU_LOONGSON64 + 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 ZONE_DMA32 + select USE_OF + select COMMON_CLK + help + Loongson 2K1000 family SoC. +endchoice + +endif # LOONGARCH Machine Type + menu "Kernel type and options" source "kernel/Kconfig.hz"