GNU Linux-libre 4.14.251-gnu1
[releases.git] / arch / mips / loongson64 / Kconfig
1 # SPDX-License-Identifier: GPL-2.0
2 if MACH_LOONGSON64
3
4 choice
5         prompt "Machine Type"
6
7 config LEMOTE_FULOONG2E
8         bool "Lemote Fuloong(2e) mini-PC"
9         select ARCH_SPARSEMEM_ENABLE
10         select CEVT_R4K
11         select CSRC_R4K
12         select SYS_HAS_CPU_LOONGSON2E
13         select DMA_NONCOHERENT
14         select BOOT_ELF32
15         select BOARD_SCACHE
16         select HW_HAS_PCI
17         select I8259
18         select ISA
19         select IRQ_MIPS_CPU
20         select SYS_SUPPORTS_32BIT_KERNEL
21         select SYS_SUPPORTS_64BIT_KERNEL
22         select SYS_SUPPORTS_LITTLE_ENDIAN
23         select SYS_SUPPORTS_HIGHMEM
24         select SYS_HAS_EARLY_PRINTK
25         select GENERIC_ISA_DMA_SUPPORT_BROKEN
26         select CPU_HAS_WB
27         select LOONGSON_MC146818
28         help
29           Lemote Fuloong(2e) mini-PC board based on the Chinese Loongson-2E CPU and
30           an FPGA northbridge
31
32           Lemote Fuloong(2e) mini PC have a VIA686B south bridge.
33
34 config LEMOTE_MACH2F
35         bool "Lemote Loongson 2F family machines"
36         select ARCH_SPARSEMEM_ENABLE
37         select BOARD_SCACHE
38         select BOOT_ELF32
39         select CEVT_R4K if ! MIPS_EXTERNAL_TIMER
40         select CPU_HAS_WB
41         select CS5536
42         select CSRC_R4K if ! MIPS_EXTERNAL_TIMER
43         select DMA_NONCOHERENT
44         select GENERIC_ISA_DMA_SUPPORT_BROKEN
45         select HAVE_CLK
46         select HW_HAS_PCI
47         select I8259
48         select IRQ_MIPS_CPU
49         select ISA
50         select SYS_HAS_CPU_LOONGSON2F
51         select SYS_HAS_EARLY_PRINTK
52         select SYS_SUPPORTS_32BIT_KERNEL
53         select SYS_SUPPORTS_64BIT_KERNEL
54         select SYS_SUPPORTS_HIGHMEM
55         select SYS_SUPPORTS_LITTLE_ENDIAN
56         select LOONGSON_MC146818
57         help
58           Lemote Loongson 2F family machines utilize the 2F revision of
59           Loongson processor and the AMD CS5536 south bridge.
60
61           These family machines include fuloong2f mini PC, yeeloong2f notebook,
62           LingLoong allinone PC and so forth.
63
64 config LOONGSON_MACH3X
65         bool "Generic Loongson 3 family machines"
66         select ARCH_SPARSEMEM_ENABLE
67         select GENERIC_ISA_DMA_SUPPORT_BROKEN
68         select BOOT_ELF32
69         select BOARD_SCACHE
70         select CSRC_R4K
71         select CEVT_R4K
72         select CPU_HAS_WB
73         select HW_HAS_PCI
74         select ISA
75         select HT_PCI
76         select I8259
77         select IRQ_MIPS_CPU
78         select NR_CPUS_DEFAULT_4
79         select SYS_HAS_CPU_LOONGSON3
80         select SYS_HAS_EARLY_PRINTK
81         select SYS_SUPPORTS_SMP
82         select SYS_SUPPORTS_HOTPLUG_CPU
83         select SYS_SUPPORTS_NUMA
84         select SYS_SUPPORTS_64BIT_KERNEL
85         select SYS_SUPPORTS_HIGHMEM
86         select SYS_SUPPORTS_LITTLE_ENDIAN
87         select LOONGSON_MC146818
88         select ZONE_DMA32
89         select LEFI_FIRMWARE_INTERFACE
90         select PHYS48_TO_HT40
91         help
92                 Generic Loongson 3 family machines utilize the 3A/3B revision
93                 of Loongson processor and RS780/SBX00 chipset.
94 endchoice
95
96 config CS5536
97         bool
98
99 config CS5536_MFGPT
100         bool "CS5536 MFGPT Timer"
101         depends on CS5536 && !HIGH_RES_TIMERS
102         select MIPS_EXTERNAL_TIMER
103         help
104           This option enables the mfgpt0 timer of AMD CS5536. With this timer
105           switched on you can not use high resolution timers.
106
107           If you want to enable the Loongson2 CPUFreq Driver, Please enable
108           this option at first, otherwise, You will get wrong system time.
109
110           If unsure, say Yes.
111
112 config RS780_HPET
113         bool "RS780/SBX00 HPET Timer"
114         depends on LOONGSON_MACH3X
115         select MIPS_EXTERNAL_TIMER
116         help
117           This option enables the hpet timer of AMD RS780/SBX00.
118
119           If you want to enable the Loongson3 CPUFreq Driver, Please enable
120           this option at first, otherwise, You will get wrong system time.
121
122           If unsure, say Yes.
123
124 config LOONGSON_UART_BASE
125         bool
126         default y
127         depends on EARLY_PRINTK || SERIAL_8250
128
129 config IOMMU_HELPER
130         bool
131
132 config NEED_SG_DMA_LENGTH
133         bool
134
135 config SWIOTLB
136         bool "Soft IOMMU Support for All-Memory DMA"
137         default y
138         depends on CPU_LOONGSON3
139         select IOMMU_HELPER
140         select NEED_SG_DMA_LENGTH
141         select NEED_DMA_MAP_STATE
142
143 config PHYS48_TO_HT40
144         bool
145         default y if CPU_LOONGSON3
146
147 config LOONGSON_MC146818
148         bool
149         default n
150
151 config LEFI_FIRMWARE_INTERFACE
152         bool
153
154 endif # MACH_LOONGSON64