blob: c370426a7322f9cca6ce50a03a5fec21fefe75d6 [file] [log] [blame]
David Daney23a271e2011-02-17 18:23:32 -08001if CPU_CAVIUM_OCTEON
David Daney5b3b1682009-01-08 16:46:40 -08002
David Daneyc9941152010-10-07 16:03:53 -07003config CAVIUM_CN63XXP1
Masanari Iidaf54619f2014-09-18 12:09:42 +09004 bool "Enable CN63XXP1 errata workarounds"
David Daneyc9941152010-10-07 16:03:53 -07005 default "n"
6 help
7 The CN63XXP1 chip requires build time workarounds to
8 function reliably, select this option to enable them. These
9 workarounds will cause a slight decrease in performance on
10 non-CN63XXP1 hardware, so it is recommended to select "n"
11 unless it is known the workarounds are needed.
12
David Daney8a837cd2014-05-28 23:52:06 +020013config CAVIUM_OCTEON_CVMSEG_SIZE
14 int "Number of L1 cache lines reserved for CVMSEG memory"
15 range 0 54
16 default 1
17 help
18 CVMSEG LM is a segment that accesses portions of the dcache as a
19 local memory; the larger CVMSEG is, the smaller the cache is.
20 This selects the size of CVMSEG LM, which is in cache blocks. The
21 legally range is from zero to 54 cache blocks (i.e. CVMSEG LM is
22 between zero and 6192 bytes).
23
David Daney9ddebc42013-05-22 15:10:46 +000024endif # CPU_CAVIUM_OCTEON
25
26if CAVIUM_OCTEON_SOC
27
David Daney5b3b1682009-01-08 16:46:40 -080028config CAVIUM_OCTEON_2ND_KERNEL
29 bool "Build the kernel to be used as a 2nd kernel on the same chip"
David Daney5b3b1682009-01-08 16:46:40 -080030 default "n"
31 help
32 This option configures this kernel to be linked at a different
33 address and use the 2nd uart for output. This allows a kernel built
34 with this option to be run at the same time as one built without this
35 option.
36
David Daney5b3b1682009-01-08 16:46:40 -080037config CAVIUM_OCTEON_LOCK_L2
38 bool "Lock often used kernel code in the L2"
David Daney5b3b1682009-01-08 16:46:40 -080039 default "y"
40 help
41 Enable locking parts of the kernel into the L2 cache.
42
43config CAVIUM_OCTEON_LOCK_L2_TLB
44 bool "Lock the TLB handler in L2"
45 depends on CAVIUM_OCTEON_LOCK_L2
46 default "y"
47 help
48 Lock the low level TLB fast path into L2.
49
50config CAVIUM_OCTEON_LOCK_L2_EXCEPTION
51 bool "Lock the exception handler in L2"
52 depends on CAVIUM_OCTEON_LOCK_L2
53 default "y"
54 help
55 Lock the low level exception handler into L2.
56
57config CAVIUM_OCTEON_LOCK_L2_LOW_LEVEL_INTERRUPT
58 bool "Lock the interrupt handler in L2"
59 depends on CAVIUM_OCTEON_LOCK_L2
60 default "y"
61 help
62 Lock the low level interrupt handler into L2.
63
64config CAVIUM_OCTEON_LOCK_L2_INTERRUPT
65 bool "Lock the 2nd level interrupt handler in L2"
66 depends on CAVIUM_OCTEON_LOCK_L2
67 default "y"
68 help
69 Lock the 2nd level interrupt handler in L2.
70
71config CAVIUM_OCTEON_LOCK_L2_MEMCPY
72 bool "Lock memcpy() in L2"
73 depends on CAVIUM_OCTEON_LOCK_L2
74 default "y"
75 help
76 Lock the kernel's implementation of memcpy() into L2.
77
David Daneyb93b2ab2010-10-01 13:27:34 -070078config IOMMU_HELPER
79 bool
80
81config NEED_SG_DMA_LENGTH
82 bool
83
84config SWIOTLB
85 def_bool y
David Daneyb93b2ab2010-10-01 13:27:34 -070086 select IOMMU_HELPER
87 select NEED_SG_DMA_LENGTH
David Daney23a271e2011-02-17 18:23:32 -080088
Venkat Subbiah0e49caf2012-12-02 00:51:26 +000089config OCTEON_ILM
90 tristate "Module to measure interrupt latency using Octeon CIU Timer"
91 help
92 This driver is a module to measure interrupt latency using the
93 the CIU Timers on Octeon.
94
95 To compile this driver as a module, choose M here. The module
96 will be called octeon-ilm
97
David Daney9ddebc42013-05-22 15:10:46 +000098endif # CAVIUM_OCTEON_SOC