blob: a12444a5f1b5f367ac8cb7e47b9ffffbb380b0ed [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
4 bool "Enable CN63XXP1 errata worarounds"
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 Daney9ddebc42013-05-22 15:10:46 +000013endif # CPU_CAVIUM_OCTEON
14
15if CAVIUM_OCTEON_SOC
16
David Daney5b3b1682009-01-08 16:46:40 -080017config CAVIUM_OCTEON_2ND_KERNEL
18 bool "Build the kernel to be used as a 2nd kernel on the same chip"
David Daney5b3b1682009-01-08 16:46:40 -080019 default "n"
20 help
21 This option configures this kernel to be linked at a different
22 address and use the 2nd uart for output. This allows a kernel built
23 with this option to be run at the same time as one built without this
24 option.
25
26config CAVIUM_OCTEON_HW_FIX_UNALIGNED
27 bool "Enable hardware fixups of unaligned loads and stores"
David Daney5b3b1682009-01-08 16:46:40 -080028 default "y"
29 help
30 Configure the Octeon hardware to automatically fix unaligned loads
31 and stores. Normally unaligned accesses are fixed using a kernel
32 exception handler. This option enables the hardware automatic fixups,
33 which requires only an extra 3 cycles. Disable this option if you
34 are running code that relies on address exceptions on unaligned
35 accesses.
36
37config CAVIUM_OCTEON_CVMSEG_SIZE
38 int "Number of L1 cache lines reserved for CVMSEG memory"
David Daney5b3b1682009-01-08 16:46:40 -080039 range 0 54
40 default 1
41 help
42 CVMSEG LM is a segment that accesses portions of the dcache as a
43 local memory; the larger CVMSEG is, the smaller the cache is.
44 This selects the size of CVMSEG LM, which is in cache blocks. The
45 legally range is from zero to 54 cache blocks (i.e. CVMSEG LM is
46 between zero and 6192 bytes).
47
48config CAVIUM_OCTEON_LOCK_L2
49 bool "Lock often used kernel code in the L2"
David Daney5b3b1682009-01-08 16:46:40 -080050 default "y"
51 help
52 Enable locking parts of the kernel into the L2 cache.
53
54config CAVIUM_OCTEON_LOCK_L2_TLB
55 bool "Lock the TLB handler in L2"
56 depends on CAVIUM_OCTEON_LOCK_L2
57 default "y"
58 help
59 Lock the low level TLB fast path into L2.
60
61config CAVIUM_OCTEON_LOCK_L2_EXCEPTION
62 bool "Lock the exception handler in L2"
63 depends on CAVIUM_OCTEON_LOCK_L2
64 default "y"
65 help
66 Lock the low level exception handler into L2.
67
68config CAVIUM_OCTEON_LOCK_L2_LOW_LEVEL_INTERRUPT
69 bool "Lock the interrupt handler in L2"
70 depends on CAVIUM_OCTEON_LOCK_L2
71 default "y"
72 help
73 Lock the low level interrupt handler into L2.
74
75config CAVIUM_OCTEON_LOCK_L2_INTERRUPT
76 bool "Lock the 2nd level interrupt handler in L2"
77 depends on CAVIUM_OCTEON_LOCK_L2
78 default "y"
79 help
80 Lock the 2nd level interrupt handler in L2.
81
82config CAVIUM_OCTEON_LOCK_L2_MEMCPY
83 bool "Lock memcpy() in L2"
84 depends on CAVIUM_OCTEON_LOCK_L2
85 default "y"
86 help
87 Lock the kernel's implementation of memcpy() into L2.
88
David Daneyb93b2ab2010-10-01 13:27:34 -070089config IOMMU_HELPER
90 bool
91
92config NEED_SG_DMA_LENGTH
93 bool
94
95config SWIOTLB
96 def_bool y
David Daneyb93b2ab2010-10-01 13:27:34 -070097 select IOMMU_HELPER
98 select NEED_SG_DMA_LENGTH
David Daney23a271e2011-02-17 18:23:32 -080099
100
Venkat Subbiah0e49caf2012-12-02 00:51:26 +0000101config OCTEON_ILM
102 tristate "Module to measure interrupt latency using Octeon CIU Timer"
103 help
104 This driver is a module to measure interrupt latency using the
105 the CIU Timers on Octeon.
106
107 To compile this driver as a module, choose M here. The module
108 will be called octeon-ilm
109
David Daney9ddebc42013-05-22 15:10:46 +0000110endif # CAVIUM_OCTEON_SOC