GNU Linux-libre 4.9.333-gnu1
[releases.git] / arch / nios2 / platform / Kconfig.platform
1 menu "Platform options"
2
3 comment "Memory settings"
4
5 config NIOS2_MEM_BASE
6         hex "Memory base address"
7         default "0x00000000"
8         help
9           This is the physical address of the memory that the kernel will run
10           from. This address is used to link the kernel and setup initial memory
11           management. You should take the raw memory address without any MMU
12           or cache bits set.
13           Please not that this address is used directly so you have to manually
14           do address translation if it's connected to a bridge.
15
16 comment "Device tree"
17
18 config NIOS2_DTB_AT_PHYS_ADDR
19         bool "DTB at physical address"
20         default n
21         help
22           When enabled you can select a physical address to load the dtb from.
23           Normally this address is passed by a bootloader such as u-boot but
24           using this you can use a devicetree without a bootloader.
25           This way you can store a devicetree in NOR flash or an onchip rom.
26           Please note that this address is used directly so you have to manually
27           do address translation if it's connected to a bridge. Also take into
28           account that when using an MMU you'd have to ad 0xC0000000 to your
29           address
30
31 config NIOS2_DTB_PHYS_ADDR
32         hex "DTB Address"
33         depends on NIOS2_DTB_AT_PHYS_ADDR
34         default "0xC0000000"
35         help
36           Physical address of a dtb blob.
37
38 config NIOS2_DTB_SOURCE_BOOL
39         bool "Compile and link device tree into kernel image"
40         depends on !COMPILE_TEST
41         default n
42         help
43           This allows you to specify a dts (device tree source) file
44           which will be compiled and linked into the kernel image.
45
46 config NIOS2_DTB_SOURCE
47         string "Device tree source file"
48         depends on NIOS2_DTB_SOURCE_BOOL
49         default ""
50         help
51           Absolute path to the device tree source (dts) file describing your
52           system.
53
54 comment "Nios II instructions"
55
56 config NIOS2_HW_MUL_SUPPORT
57         bool "Enable MUL instruction"
58         default n
59         help
60           Set to true if you configured the Nios II to include the MUL
61           instruction.  This will enable the -mhw-mul compiler flag.
62
63 config NIOS2_HW_MULX_SUPPORT
64         bool "Enable MULX instruction"
65         default n
66         help
67           Set to true if you configured the Nios II to include the MULX
68           instruction.  Enables the -mhw-mulx compiler flag.
69
70 config NIOS2_HW_DIV_SUPPORT
71         bool "Enable DIV instruction"
72         default n
73         help
74           Set to true if you configured the Nios II to include the DIV
75           instruction.  Enables the -mhw-div compiler flag.
76
77 config NIOS2_FPU_SUPPORT
78         bool "Custom floating point instr support"
79         default n
80         help
81           Enables the -mcustom-fpu-cfg=60-1 compiler flag.
82
83 config NIOS2_CI_SWAB_SUPPORT
84         bool "Byteswap custom instruction"
85         default n
86         help
87           Use the byteswap (endian converter) Nios II custom instruction provided
88           by Altera and which can be enabled in QSYS builder. This accelerates
89           endian conversions in the kernel (e.g. ntohs).
90
91 config NIOS2_CI_SWAB_NO
92         int "Byteswap custom instruction number" if NIOS2_CI_SWAB_SUPPORT
93         default 0
94         help
95           Number of the instruction as configured in QSYS Builder.
96
97 comment "Cache settings"
98
99 config CUSTOM_CACHE_SETTINGS
100         bool "Custom cache settings"
101         help
102           This option allows you to tweak the cache settings used during early
103           boot (where the information from device tree is not yet available).
104           There should be no reason to change these values. Linux will work
105           perfectly fine, even if the Nios II is configured with smaller caches.
106
107           Say N here unless you know what you are doing.
108
109 config NIOS2_DCACHE_SIZE
110         hex "D-Cache size" if CUSTOM_CACHE_SETTINGS
111         range 0x200 0x10000
112         default "0x800"
113         help
114           Maximum possible data cache size.
115
116 config NIOS2_DCACHE_LINE_SIZE
117         hex "D-Cache line size" if CUSTOM_CACHE_SETTINGS
118         range 0x10 0x20
119         default "0x20"
120         help
121           Minimum possible data cache line size.
122
123 config NIOS2_ICACHE_SIZE
124         hex "I-Cache size" if CUSTOM_CACHE_SETTINGS
125         range 0x200 0x10000
126         default "0x1000"
127         help
128           Maximum possible instruction cache size.
129
130 endmenu