1*c32e64e8SGuo Renconfig CSKY 2*c32e64e8SGuo Ren def_bool y 3*c32e64e8SGuo Ren select ARCH_HAS_SYNC_DMA_FOR_CPU 4*c32e64e8SGuo Ren select ARCH_HAS_SYNC_DMA_FOR_DEVICE 5*c32e64e8SGuo Ren select ARCH_USE_BUILTIN_BSWAP 6*c32e64e8SGuo Ren select ARCH_USE_QUEUED_RWLOCKS if NR_CPUS>2 7*c32e64e8SGuo Ren select COMMON_CLK 8*c32e64e8SGuo Ren select CLKSRC_MMIO 9*c32e64e8SGuo Ren select CLKSRC_OF 10*c32e64e8SGuo Ren select DMA_DIRECT_OPS 11*c32e64e8SGuo Ren select DMA_NONCOHERENT_OPS 12*c32e64e8SGuo Ren select IRQ_DOMAIN 13*c32e64e8SGuo Ren select HANDLE_DOMAIN_IRQ 14*c32e64e8SGuo Ren select DW_APB_TIMER_OF 15*c32e64e8SGuo Ren select GENERIC_LIB_ASHLDI3 16*c32e64e8SGuo Ren select GENERIC_LIB_ASHRDI3 17*c32e64e8SGuo Ren select GENERIC_LIB_LSHRDI3 18*c32e64e8SGuo Ren select GENERIC_LIB_MULDI3 19*c32e64e8SGuo Ren select GENERIC_LIB_CMPDI2 20*c32e64e8SGuo Ren select GENERIC_LIB_UCMPDI2 21*c32e64e8SGuo Ren select GENERIC_ALLOCATOR 22*c32e64e8SGuo Ren select GENERIC_ATOMIC64 23*c32e64e8SGuo Ren select GENERIC_CLOCKEVENTS 24*c32e64e8SGuo Ren select GENERIC_CPU_DEVICES 25*c32e64e8SGuo Ren select GENERIC_IRQ_CHIP 26*c32e64e8SGuo Ren select GENERIC_IRQ_PROBE 27*c32e64e8SGuo Ren select GENERIC_IRQ_SHOW 28*c32e64e8SGuo Ren select GENERIC_IRQ_MULTI_HANDLER 29*c32e64e8SGuo Ren select GENERIC_SCHED_CLOCK 30*c32e64e8SGuo Ren select GENERIC_SMP_IDLE_THREAD 31*c32e64e8SGuo Ren select HAVE_ARCH_TRACEHOOK 32*c32e64e8SGuo Ren select HAVE_GENERIC_DMA_COHERENT 33*c32e64e8SGuo Ren select HAVE_KERNEL_GZIP 34*c32e64e8SGuo Ren select HAVE_KERNEL_LZO 35*c32e64e8SGuo Ren select HAVE_KERNEL_LZMA 36*c32e64e8SGuo Ren select HAVE_C_RECORDMCOUNT 37*c32e64e8SGuo Ren select HAVE_DMA_API_DEBUG 38*c32e64e8SGuo Ren select HAVE_DMA_CONTIGUOUS 39*c32e64e8SGuo Ren select HAVE_MEMBLOCK 40*c32e64e8SGuo Ren select MAY_HAVE_SPARSE_IRQ 41*c32e64e8SGuo Ren select MODULES_USE_ELF_RELA if MODULES 42*c32e64e8SGuo Ren select NO_BOOTMEM 43*c32e64e8SGuo Ren select OF 44*c32e64e8SGuo Ren select OF_EARLY_FLATTREE 45*c32e64e8SGuo Ren select OF_RESERVED_MEM 46*c32e64e8SGuo Ren select PERF_USE_VMALLOC 47*c32e64e8SGuo Ren select RTC_LIB 48*c32e64e8SGuo Ren select TIMER_OF 49*c32e64e8SGuo Ren select USB_ARCH_HAS_EHCI 50*c32e64e8SGuo Ren select USB_ARCH_HAS_OHCI 51*c32e64e8SGuo Ren 52*c32e64e8SGuo Renconfig CPU_HAS_CACHEV2 53*c32e64e8SGuo Ren bool 54*c32e64e8SGuo Ren 55*c32e64e8SGuo Renconfig CPU_HAS_FPUV2 56*c32e64e8SGuo Ren bool 57*c32e64e8SGuo Ren 58*c32e64e8SGuo Renconfig CPU_HAS_HILO 59*c32e64e8SGuo Ren bool 60*c32e64e8SGuo Ren 61*c32e64e8SGuo Renconfig CPU_HAS_TLBI 62*c32e64e8SGuo Ren bool 63*c32e64e8SGuo Ren 64*c32e64e8SGuo Renconfig CPU_HAS_LDSTEX 65*c32e64e8SGuo Ren bool 66*c32e64e8SGuo Ren help 67*c32e64e8SGuo Ren For SMP, CPU needs "ldex&stex" instrcutions to atomic operations. 68*c32e64e8SGuo Ren 69*c32e64e8SGuo Renconfig CPU_NEED_TLBSYNC 70*c32e64e8SGuo Ren bool 71*c32e64e8SGuo Ren 72*c32e64e8SGuo Renconfig CPU_NEED_SOFTALIGN 73*c32e64e8SGuo Ren bool 74*c32e64e8SGuo Ren 75*c32e64e8SGuo Renconfig CPU_NO_USER_BKPT 76*c32e64e8SGuo Ren bool 77*c32e64e8SGuo Ren help 78*c32e64e8SGuo Ren For abiv2 we couldn't use "trap 1" as user space bkpt in gdbserver, because 79*c32e64e8SGuo Ren abiv2 is 16/32bit instruction set and "trap 1" is 32bit. 80*c32e64e8SGuo Ren So we need a 16bit instruction as user space bkpt, and it will cause an illegal 81*c32e64e8SGuo Ren instruction exception. 82*c32e64e8SGuo Ren In kernel we parse the *regs->pc to determine whether to send SIGTRAP or not. 83*c32e64e8SGuo Ren 84*c32e64e8SGuo Renconfig GENERIC_CALIBRATE_DELAY 85*c32e64e8SGuo Ren def_bool y 86*c32e64e8SGuo Ren 87*c32e64e8SGuo Renconfig GENERIC_CSUM 88*c32e64e8SGuo Ren def_bool y 89*c32e64e8SGuo Ren 90*c32e64e8SGuo Renconfig GENERIC_HWEIGHT 91*c32e64e8SGuo Ren def_bool y 92*c32e64e8SGuo Ren 93*c32e64e8SGuo Renconfig MMU 94*c32e64e8SGuo Ren def_bool y 95*c32e64e8SGuo Ren 96*c32e64e8SGuo Renconfig RWSEM_GENERIC_SPINLOCK 97*c32e64e8SGuo Ren def_bool y 98*c32e64e8SGuo Ren 99*c32e64e8SGuo Renconfig TIME_LOW_RES 100*c32e64e8SGuo Ren def_bool y 101*c32e64e8SGuo Ren 102*c32e64e8SGuo Renconfig TRACE_IRQFLAGS_SUPPORT 103*c32e64e8SGuo Ren def_bool y 104*c32e64e8SGuo Ren 105*c32e64e8SGuo Renconfig CPU_TLB_SIZE 106*c32e64e8SGuo Ren int 107*c32e64e8SGuo Ren default "128" if (CPU_CK610 || CPU_CK807 || CPU_CK810) 108*c32e64e8SGuo Ren default "1024" if (CPU_CK860) 109*c32e64e8SGuo Ren 110*c32e64e8SGuo Renconfig CPU_ASID_BITS 111*c32e64e8SGuo Ren int 112*c32e64e8SGuo Ren default "8" if (CPU_CK610 || CPU_CK807 || CPU_CK810) 113*c32e64e8SGuo Ren default "12" if (CPU_CK860) 114*c32e64e8SGuo Ren 115*c32e64e8SGuo Renconfig L1_CACHE_SHIFT 116*c32e64e8SGuo Ren int 117*c32e64e8SGuo Ren default "4" if (CPU_CK610) 118*c32e64e8SGuo Ren default "5" if (CPU_CK807 || CPU_CK810) 119*c32e64e8SGuo Ren default "6" if (CPU_CK860) 120*c32e64e8SGuo Ren 121*c32e64e8SGuo Renmenu "Processor type and features" 122*c32e64e8SGuo Ren 123*c32e64e8SGuo Renchoice 124*c32e64e8SGuo Ren prompt "CPU MODEL" 125*c32e64e8SGuo Ren default CPU_CK807 126*c32e64e8SGuo Ren 127*c32e64e8SGuo Renconfig CPU_CK610 128*c32e64e8SGuo Ren bool "CSKY CPU ck610" 129*c32e64e8SGuo Ren select CPU_NEED_TLBSYNC 130*c32e64e8SGuo Ren select CPU_NEED_SOFTALIGN 131*c32e64e8SGuo Ren select CPU_NO_USER_BKPT 132*c32e64e8SGuo Ren 133*c32e64e8SGuo Renconfig CPU_CK810 134*c32e64e8SGuo Ren bool "CSKY CPU ck810" 135*c32e64e8SGuo Ren select CPU_HAS_HILO 136*c32e64e8SGuo Ren select CPU_NEED_TLBSYNC 137*c32e64e8SGuo Ren 138*c32e64e8SGuo Renconfig CPU_CK807 139*c32e64e8SGuo Ren bool "CSKY CPU ck807" 140*c32e64e8SGuo Ren select CPU_HAS_HILO 141*c32e64e8SGuo Ren 142*c32e64e8SGuo Renconfig CPU_CK860 143*c32e64e8SGuo Ren bool "CSKY CPU ck860" 144*c32e64e8SGuo Ren select CPU_HAS_TLBI 145*c32e64e8SGuo Ren select CPU_HAS_CACHEV2 146*c32e64e8SGuo Ren select CPU_HAS_LDSTEX 147*c32e64e8SGuo Ren select CPU_HAS_FPUV2 148*c32e64e8SGuo Renendchoice 149*c32e64e8SGuo Ren 150*c32e64e8SGuo Renchoice 151*c32e64e8SGuo Ren prompt "Power Manager Instruction (wait/doze/stop)" 152*c32e64e8SGuo Ren default CPU_PM_NONE 153*c32e64e8SGuo Ren 154*c32e64e8SGuo Renconfig CPU_PM_NONE 155*c32e64e8SGuo Ren bool "None" 156*c32e64e8SGuo Ren 157*c32e64e8SGuo Renconfig CPU_PM_WAIT 158*c32e64e8SGuo Ren bool "wait" 159*c32e64e8SGuo Ren 160*c32e64e8SGuo Renconfig CPU_PM_DOZE 161*c32e64e8SGuo Ren bool "doze" 162*c32e64e8SGuo Ren 163*c32e64e8SGuo Renconfig CPU_PM_STOP 164*c32e64e8SGuo Ren bool "stop" 165*c32e64e8SGuo Renendchoice 166*c32e64e8SGuo Ren 167*c32e64e8SGuo Renconfig CPU_HAS_VDSP 168*c32e64e8SGuo Ren bool "CPU has VDSP coprocessor" 169*c32e64e8SGuo Ren depends on CPU_HAS_FPU && CPU_HAS_FPUV2 170*c32e64e8SGuo Ren 171*c32e64e8SGuo Renconfig CPU_HAS_FPU 172*c32e64e8SGuo Ren bool "CPU has FPU coprocessor" 173*c32e64e8SGuo Ren depends on CPU_CK807 || CPU_CK810 || CPU_CK860 174*c32e64e8SGuo Ren 175*c32e64e8SGuo Renconfig CPU_HAS_TEE 176*c32e64e8SGuo Ren bool "CPU has Trusted Execution Environment" 177*c32e64e8SGuo Ren depends on CPU_CK810 178*c32e64e8SGuo Ren 179*c32e64e8SGuo Renconfig SMP 180*c32e64e8SGuo Ren bool "Symmetric Multi-Processing (SMP) support for C-SKY" 181*c32e64e8SGuo Ren depends on CPU_CK860 182*c32e64e8SGuo Ren default n 183*c32e64e8SGuo Ren 184*c32e64e8SGuo Renconfig NR_CPUS 185*c32e64e8SGuo Ren int "Maximum number of CPUs (2-32)" 186*c32e64e8SGuo Ren range 2 32 187*c32e64e8SGuo Ren depends on SMP 188*c32e64e8SGuo Ren default "2" 189*c32e64e8SGuo Ren 190*c32e64e8SGuo Renconfig HIGHMEM 191*c32e64e8SGuo Ren bool "High Memory Support" 192*c32e64e8SGuo Ren depends on !CPU_CK610 193*c32e64e8SGuo Ren default y 194*c32e64e8SGuo Ren 195*c32e64e8SGuo Renconfig FORCE_MAX_ZONEORDER 196*c32e64e8SGuo Ren int "Maximum zone order" 197*c32e64e8SGuo Ren default "11" 198*c32e64e8SGuo Ren 199*c32e64e8SGuo Renconfig RAM_BASE 200*c32e64e8SGuo Ren hex "DRAM start addr (the same with memory-section in dts)" 201*c32e64e8SGuo Ren default 0x0 202*c32e64e8SGuo Ren 203*c32e64e8SGuo Renendmenu 204*c32e64e8SGuo Ren 205*c32e64e8SGuo Rensource "kernel/Kconfig.hz" 206