WIP FPC-III support
[linux/fpc-iii.git] / arch / nios2 / platform / Kconfig.platform
blob9e32fb7f3d4ce92f6e9c9876fcf1891354af99f2
1 # SPDX-License-Identifier: GPL-2.0-only
2 menu "Platform options"
4 comment "Memory settings"
6 config NIOS2_MEM_BASE
7         hex "Memory base address"
8         default "0x00000000"
9         help
10           This is the physical address of the memory that the kernel will run
11           from. This address is used to link the kernel and setup initial memory
12           management. You should take the raw memory address without any MMU
13           or cache bits set.
14           Please not that this address is used directly so you have to manually
15           do address translation if it's connected to a bridge.
17 comment "Device tree"
19 config NIOS2_DTB_AT_PHYS_ADDR
20         bool "DTB at physical address"
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
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.
38 config NIOS2_DTB_SOURCE_BOOL
39         bool "Compile and link device tree into kernel image"
40         help
41           This allows you to specify a dts (device tree source) file
42           which will be compiled and linked into the kernel image.
44 config NIOS2_DTB_SOURCE
45         string "Device tree source file"
46         depends on NIOS2_DTB_SOURCE_BOOL
47         default ""
48         help
49           Absolute path to the device tree source (dts) file describing your
50           system.
52 comment "Nios II instructions"
54 config NIOS2_ARCH_REVISION
55         int "Select Nios II architecture revision"
56         range 1 2
57         default 1
58         help
59           Select between Nios II R1 and Nios II R2 . The architectures
60           are binary incompatible. Default is R1 .
62 config NIOS2_HW_MUL_SUPPORT
63         bool "Enable MUL instruction"
64         help
65           Set to true if you configured the Nios II to include the MUL
66           instruction.  This will enable the -mhw-mul compiler flag.
68 config NIOS2_HW_MULX_SUPPORT
69         bool "Enable MULX instruction"
70         help
71           Set to true if you configured the Nios II to include the MULX
72           instruction.  Enables the -mhw-mulx compiler flag.
74 config NIOS2_HW_DIV_SUPPORT
75         bool "Enable DIV instruction"
76         help
77           Set to true if you configured the Nios II to include the DIV
78           instruction.  Enables the -mhw-div compiler flag.
80 config NIOS2_BMX_SUPPORT
81         bool "Enable BMX instructions"
82         depends on NIOS2_ARCH_REVISION = 2
83         help
84           Set to true if you configured the Nios II R2 to include
85           the BMX Bit Manipulation Extension instructions. Enables
86           the -mbmx compiler flag.
88 config NIOS2_CDX_SUPPORT
89         bool "Enable CDX instructions"
90         depends on NIOS2_ARCH_REVISION = 2
91         help
92           Set to true if you configured the Nios II R2 to include
93           the CDX Bit Manipulation Extension instructions. Enables
94           the -mcdx compiler flag.
96 config NIOS2_FPU_SUPPORT
97         bool "Custom floating point instr support"
98         help
99           Enables the -mcustom-fpu-cfg=60-1 compiler flag.
101 config NIOS2_CI_SWAB_SUPPORT
102         bool "Byteswap custom instruction"
103         help
104           Use the byteswap (endian converter) Nios II custom instruction provided
105           by Altera and which can be enabled in QSYS builder. This accelerates
106           endian conversions in the kernel (e.g. ntohs).
108 config NIOS2_CI_SWAB_NO
109         int "Byteswap custom instruction number" if NIOS2_CI_SWAB_SUPPORT
110         default 0
111         help
112           Number of the instruction as configured in QSYS Builder.
114 comment "Cache settings"
116 config CUSTOM_CACHE_SETTINGS
117         bool "Custom cache settings"
118         help
119           This option allows you to tweak the cache settings used during early
120           boot (where the information from device tree is not yet available).
121           There should be no reason to change these values. Linux will work
122           perfectly fine, even if the Nios II is configured with smaller caches.
124           Say N here unless you know what you are doing.
126 config NIOS2_DCACHE_SIZE
127         hex "D-Cache size" if CUSTOM_CACHE_SETTINGS
128         range 0x200 0x10000
129         default "0x800"
130         help
131           Maximum possible data cache size.
133 config NIOS2_DCACHE_LINE_SIZE
134         hex "D-Cache line size" if CUSTOM_CACHE_SETTINGS
135         range 0x10 0x20
136         default "0x20"
137         help
138           Minimum possible data cache line size.
140 config NIOS2_ICACHE_SIZE
141         hex "I-Cache size" if CUSTOM_CACHE_SETTINGS
142         range 0x200 0x10000
143         default "0x1000"
144         help
145           Maximum possible instruction cache size.
147 endmenu