diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig index aa6f8497ddd9c035dca5c016290dbf2e7c8feae5..b303b5c2d764a1432f0c4ccfbfa7ce6543d8a517 100644 --- a/arch/mips/Kconfig +++ b/arch/mips/Kconfig @@ -461,7 +461,33 @@ config MACH_LOONGSON2EF config MACH_LOONGSON64 bool "Loongson-2/3 GSx64 family of machines" + select ARCH_SPARSEMEM_ENABLE + select ARCH_MIGHT_HAVE_PC_PARPORT + select ARCH_MIGHT_HAVE_PC_SERIO + select GENERIC_ISA_DMA_SUPPORT_BROKEN + select BOOT_ELF32 + select BOARD_SCACHE + select CSRC_R4K + select CEVT_R4K + select CPU_HAS_WB + select FORCE_PCI + select ISA + select I8259 + select IRQ_MIPS_CPU + select NR_CPUS_DEFAULT_4 + select USE_GENERIC_EARLY_PRINTK_8250 + select SYS_HAS_CPU_LOONGSON64 + 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 SYS_SUPPORTS_ZBOOT + select LOONGSON_MC146818 + select ZONE_DMA32 + select NUMA help This enables the support of Loongson-2/3 family of processors with GSx64 microarchitecture. diff --git a/arch/mips/configs/loongson3_defconfig b/arch/mips/configs/loongson3_defconfig index 90ee0084d7862a7c260ac6b9db572bf7a0e437ed..caad7bf7902caa76f2804b1c79ca8613cc8dae0b 100644 --- a/arch/mips/configs/loongson3_defconfig +++ b/arch/mips/configs/loongson3_defconfig @@ -24,7 +24,6 @@ CONFIG_BLK_DEV_INITRD=y CONFIG_SYSCTL_SYSCALL=y CONFIG_EMBEDDED=y CONFIG_MACH_LOONGSON64=y -CONFIG_LOONGSON_MACH3X=y CONFIG_SMP=y CONFIG_HZ_256=y CONFIG_KEXEC=y diff --git a/arch/mips/include/asm/mach-loongson64/cpu-feature-overrides.h b/arch/mips/include/asm/mach-loongson64/cpu-feature-overrides.h index 895607eb81ca6f4be5101cf3146a5aa859a7c98d..7dc8d75445a961e2055af39f2b765d73af5f663c 100644 --- a/arch/mips/include/asm/mach-loongson64/cpu-feature-overrides.h +++ b/arch/mips/include/asm/mach-loongson64/cpu-feature-overrides.h @@ -43,7 +43,6 @@ #define cpu_has_vint 0 #define cpu_has_vtag_icache 0 #define cpu_has_watch 1 - #define cpu_has_wsbh 1 #define cpu_has_ic_fills_f_dc 1 #define cpu_hwrena_impl_bits 0xc0000000 diff --git a/arch/mips/loongson64/Kconfig b/arch/mips/loongson64/Kconfig index 3215b768bb88058cbd7e3318dd6fb2abb062746f..b1aefd06e3f5eb0911ec23ef3d8c41c802a40836 100644 --- a/arch/mips/loongson64/Kconfig +++ b/arch/mips/loongson64/Kconfig @@ -1,45 +1,9 @@ # SPDX-License-Identifier: GPL-2.0 if MACH_LOONGSON64 -choice - prompt "Machine Type" - -config LOONGSON_MACH3X - bool "Generic Loongson 3 family machines" - select ARCH_SPARSEMEM_ENABLE - select ARCH_MIGHT_HAVE_PC_PARPORT - select ARCH_MIGHT_HAVE_PC_SERIO - select GENERIC_ISA_DMA_SUPPORT_BROKEN - select BOOT_ELF32 - select BOARD_SCACHE - select CSRC_R4K - select CEVT_R4K - select CPU_HAS_WB - select FORCE_PCI - select ISA - select I8259 - select IRQ_MIPS_CPU - select NR_CPUS_DEFAULT_4 - select USE_GENERIC_EARLY_PRINTK_8250 - select SYS_HAS_CPU_LOONGSON64 - 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 NUMA - help - Generic Loongson 3 family machines utilize the 3A/3B revision - of Loongson processor and RS780/SBX00 chipset. -endchoice - config RS780_HPET bool "RS780/SBX00 HPET Timer" - depends on LOONGSON_MACH3X + depends on CONFIG_MACH_LOONGSON64 select MIPS_EXTERNAL_TIMER help This option enables the hpet timer of AMD RS780/SBX00. diff --git a/arch/mips/loongson64/Makefile b/arch/mips/loongson64/Makefile index dc16a23c171ffe8a46733fb539208697d084e1aa..0b3c65b52965ebc82a0dc643f07654d86735f492 100644 --- a/arch/mips/loongson64/Makefile +++ b/arch/mips/loongson64/Makefile @@ -1,12 +1,13 @@ # SPDX-License-Identifier: GPL-2.0-only # -# Common code for all Loongson based systems +# Makefile for Loongson-3 family machines # +obj-$(CONFIG_MACH_LOONGSON64) += irq.o cop2-ex.o platform.o acpi_init.o dma.o \ + setup.o init.o cmdline.o env.o time.o reset.o \ -obj-$(CONFIG_MACH_LOONGSON64) += common/ - -# -# All Loongson-3 family machines -# - -obj-$(CONFIG_CPU_LOONGSON64) += loongson-3/ +obj-$(CONFIG_SMP) += smp.o +obj-$(CONFIG_NUMA) += numa.o +obj-$(CONFIG_RS780_HPET) += hpet.o +obj-$(CONFIG_PCI) += pci.o +obj-$(CONFIG_LOONGSON_MC146818) += rtc.o +obj-$(CONFIG_SUSPEND) += pm.o diff --git a/arch/mips/loongson64/loongson-3/acpi_init.c b/arch/mips/loongson64/acpi_init.c similarity index 100% rename from arch/mips/loongson64/loongson-3/acpi_init.c rename to arch/mips/loongson64/acpi_init.c diff --git a/arch/mips/loongson64/common/cmdline.c b/arch/mips/loongson64/cmdline.c similarity index 100% rename from arch/mips/loongson64/common/cmdline.c rename to arch/mips/loongson64/cmdline.c diff --git a/arch/mips/loongson64/common/Makefile b/arch/mips/loongson64/common/Makefile deleted file mode 100644 index c476401c9b138f1cdc661b90e98e2ea730b92eeb..0000000000000000000000000000000000000000 --- a/arch/mips/loongson64/common/Makefile +++ /dev/null @@ -1,16 +0,0 @@ -# SPDX-License-Identifier: GPL-2.0 -# -# Makefile for loongson based machines. -# - -obj-y += setup.o init.o cmdline.o env.o time.o reset.o - -obj-$(CONFIG_PCI) += pci.o - -obj-$(CONFIG_LOONGSON_MC146818) += rtc.o - -# -# Suspend Support -# - -obj-$(CONFIG_SUSPEND) += pm.o diff --git a/arch/mips/loongson64/loongson-3/cop2-ex.c b/arch/mips/loongson64/cop2-ex.c similarity index 100% rename from arch/mips/loongson64/loongson-3/cop2-ex.c rename to arch/mips/loongson64/cop2-ex.c diff --git a/arch/mips/loongson64/loongson-3/dma.c b/arch/mips/loongson64/dma.c similarity index 100% rename from arch/mips/loongson64/loongson-3/dma.c rename to arch/mips/loongson64/dma.c diff --git a/arch/mips/loongson64/common/env.c b/arch/mips/loongson64/env.c similarity index 100% rename from arch/mips/loongson64/common/env.c rename to arch/mips/loongson64/env.c diff --git a/arch/mips/loongson64/loongson-3/hpet.c b/arch/mips/loongson64/hpet.c similarity index 100% rename from arch/mips/loongson64/loongson-3/hpet.c rename to arch/mips/loongson64/hpet.c diff --git a/arch/mips/loongson64/common/init.c b/arch/mips/loongson64/init.c similarity index 100% rename from arch/mips/loongson64/common/init.c rename to arch/mips/loongson64/init.c diff --git a/arch/mips/loongson64/loongson-3/irq.c b/arch/mips/loongson64/irq.c similarity index 100% rename from arch/mips/loongson64/loongson-3/irq.c rename to arch/mips/loongson64/irq.c diff --git a/arch/mips/loongson64/loongson-3/Makefile b/arch/mips/loongson64/loongson-3/Makefile deleted file mode 100644 index df39598742b2cdebdf6afe4de23540e3d2d657ca..0000000000000000000000000000000000000000 --- a/arch/mips/loongson64/loongson-3/Makefile +++ /dev/null @@ -1,11 +0,0 @@ -# SPDX-License-Identifier: GPL-2.0-only -# -# Makefile for Loongson-3 family machines -# -obj-y += irq.o cop2-ex.o platform.o acpi_init.o dma.o - -obj-$(CONFIG_SMP) += smp.o - -obj-$(CONFIG_NUMA) += numa.o - -obj-$(CONFIG_RS780_HPET) += hpet.o diff --git a/arch/mips/loongson64/loongson-3/numa.c b/arch/mips/loongson64/numa.c similarity index 100% rename from arch/mips/loongson64/loongson-3/numa.c rename to arch/mips/loongson64/numa.c diff --git a/arch/mips/loongson64/common/pci.c b/arch/mips/loongson64/pci.c similarity index 100% rename from arch/mips/loongson64/common/pci.c rename to arch/mips/loongson64/pci.c diff --git a/arch/mips/loongson64/loongson-3/platform.c b/arch/mips/loongson64/platform.c similarity index 100% rename from arch/mips/loongson64/loongson-3/platform.c rename to arch/mips/loongson64/platform.c diff --git a/arch/mips/loongson64/common/pm.c b/arch/mips/loongson64/pm.c similarity index 100% rename from arch/mips/loongson64/common/pm.c rename to arch/mips/loongson64/pm.c diff --git a/arch/mips/loongson64/common/reset.c b/arch/mips/loongson64/reset.c similarity index 100% rename from arch/mips/loongson64/common/reset.c rename to arch/mips/loongson64/reset.c diff --git a/arch/mips/loongson64/common/rtc.c b/arch/mips/loongson64/rtc.c similarity index 100% rename from arch/mips/loongson64/common/rtc.c rename to arch/mips/loongson64/rtc.c diff --git a/arch/mips/loongson64/common/setup.c b/arch/mips/loongson64/setup.c similarity index 100% rename from arch/mips/loongson64/common/setup.c rename to arch/mips/loongson64/setup.c diff --git a/arch/mips/loongson64/loongson-3/smp.c b/arch/mips/loongson64/smp.c similarity index 100% rename from arch/mips/loongson64/loongson-3/smp.c rename to arch/mips/loongson64/smp.c diff --git a/arch/mips/loongson64/loongson-3/smp.h b/arch/mips/loongson64/smp.h similarity index 100% rename from arch/mips/loongson64/loongson-3/smp.h rename to arch/mips/loongson64/smp.h diff --git a/arch/mips/loongson64/common/time.c b/arch/mips/loongson64/time.c similarity index 100% rename from arch/mips/loongson64/common/time.c rename to arch/mips/loongson64/time.c diff --git a/arch/mips/pci/Makefile b/arch/mips/pci/Makefile index d6de4cb2e31cafe13b5435606bad5aad3e9247a0..342ce10ef593dc9a8d9c7235ed391dae48d7e60b 100644 --- a/arch/mips/pci/Makefile +++ b/arch/mips/pci/Makefile @@ -35,7 +35,7 @@ obj-$(CONFIG_LASAT) += pci-lasat.o obj-$(CONFIG_MIPS_COBALT) += fixup-cobalt.o obj-$(CONFIG_LEMOTE_FULOONG2E) += fixup-fuloong2e.o ops-loongson2.o obj-$(CONFIG_LEMOTE_MACH2F) += fixup-lemote2f.o ops-loongson2.o -obj-$(CONFIG_LOONGSON_MACH3X) += fixup-loongson3.o ops-loongson3.o +obj-$(CONFIG_MACH_LOONGSON64) += fixup-loongson3.o ops-loongson3.o obj-$(CONFIG_MIPS_MALTA) += fixup-malta.o pci-malta.o obj-$(CONFIG_PMC_MSP7120_GW) += fixup-pmcmsp.o ops-pmcmsp.o obj-$(CONFIG_PMC_MSP7120_EVAL) += fixup-pmcmsp.o ops-pmcmsp.o diff --git a/drivers/platform/mips/Kconfig b/drivers/platform/mips/Kconfig index 62ea1934fb6a676d0187a40247bea4b38a5cfd82..f4d0a86c00d079557d66e8fe71e6110d762a46fa 100644 --- a/drivers/platform/mips/Kconfig +++ b/drivers/platform/mips/Kconfig @@ -17,8 +17,8 @@ menuconfig MIPS_PLATFORM_DEVICES if MIPS_PLATFORM_DEVICES config CPU_HWMON - tristate "Loongson CPU HWMon Driver" - depends on LOONGSON_MACH3X + tristate "Loongson-3 CPU HWMon Driver" + depends on CONFIG_MACH_LOONGSON64 select HWMON default y help