Blame view

dts/Kconfig 10.1 KB
783e6a72b   Masahiro Yamada   kconfig: move CON...
1
2
3
  #
  # Device Tree Control
  #
783e6a72b   Masahiro Yamada   kconfig: move CON...
4
5
6
  
  config SUPPORT_OF_CONTROL
  	bool
36dd5f1b8   Tom Rini   dtc: Switch to bu...
7
8
  config DTC
  	bool
d6a0c78a4   Masahiro Yamada   pylibfdt: compile...
9
10
11
12
13
14
15
16
17
18
  config PYLIBFDT
  	bool
  
  config DTOC
  	bool
  	select PYLIBFDT
  
  config BINMAN
  	bool
  	select DTOC
783e6a72b   Masahiro Yamada   kconfig: move CON...
19
  menu "Device Tree Control"
783e6a72b   Masahiro Yamada   kconfig: move CON...
20
21
22
23
  	depends on SUPPORT_OF_CONTROL
  
  config OF_CONTROL
  	bool "Run-time configuration via Device Tree"
36dd5f1b8   Tom Rini   dtc: Switch to bu...
24
  	select DTC
783e6a72b   Masahiro Yamada   kconfig: move CON...
25
26
27
  	help
  	  This feature provides for run-time configuration of U-Boot
  	  via a flattened device tree.
2a792753d   mario.six@gdsys.cc   dm: Add callback ...
28
29
30
31
32
33
34
35
36
  config OF_BOARD_FIXUP
  	bool "Board-specific manipulation of Device Tree"
  	help
  	  In certain circumstances it is necessary to be able to modify
  	  U-Boot's device tree (e.g. to delete device from it). This option
  	  make the Device Tree writeable and provides a board-specific
  	  "board_fix_fdt" callback (called during pre-relocation time), which
  	  enables the board initialization to modifiy the Device Tree. The
  	  modified copy is subsequently used by U-Boot after relocation.
dffb86e46   Masahiro Yamada   of: flip CONFIG_S...
37
38
39
  config SPL_OF_CONTROL
  	bool "Enable run-time configuration via Device Tree in SPL"
  	depends on SPL && OF_CONTROL
2860f03b9   Simon Glass   fdt: Add an optio...
40
41
42
43
  	help
  	  Some boards use device tree in U-Boot but only have 4KB of SRAM
  	  which is not enough to support device tree. Enable this option to
  	  allow such boards to be supported by U-Boot SPL.
f291ce129   Philipp Tomsich   spl: dm: Kconfig:...
44
45
46
47
48
49
50
  config TPL_OF_CONTROL
  	bool "Enable run-time configuration via Device Tree in TPL"
  	depends on TPL && OF_CONTROL
  	help
  	  Some boards use device tree in U-Boot but only have 4KB of SRAM
  	  which is not enough to support device tree. Enable this option to
  	  allow such boards to be supported by U-Boot TPL.
5e060d8bc   Simon Glass   dm: core: Add liv...
51
52
53
54
55
56
57
58
59
60
  config OF_LIVE
  	bool "Enable use of a live tree"
  	depends on OF_CONTROL
  	help
  	  Normally U-Boot uses a flat device tree which saves space and
  	  avoids the need to unpack the tree before use. However a flat
  	  tree does not support modifcation from within U-Boot since it
  	  can invalidate driver-model device tree offsets. This option
  	  enables a live tree which is available after relocation,
  	  and can be adjusted as needed.
783e6a72b   Masahiro Yamada   kconfig: move CON...
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
  choice
  	prompt "Provider of DTB for DT control"
  	depends on OF_CONTROL
  
  config OF_SEPARATE
  	bool "Separate DTB for DT control"
  	depends on !SANDBOX
  	help
  	  If this option is enabled, the device tree will be built and
  	  placed as a separate u-boot.dtb file alongside the U-Boot image.
  
  config OF_EMBED
  	bool "Embedded DTB for DT control"
  	help
  	  If this option is enabled, the device tree will be picked up and
3d3f60cb7   Simon Glass   dts: Add a commen...
76
77
78
  	  built into the U-Boot image. This is suitable for local debugging
  	  and development only and is not recommended for production devices.
  	  Boards in the mainline U-Boot tree should not use it.
783e6a72b   Masahiro Yamada   kconfig: move CON...
79

82f766d1d   Alex Deymo   Allow boards to i...
80
81
82
83
84
85
86
  config OF_BOARD
  	bool "Provided by the board at runtime"
  	depends on !SANDBOX
  	help
  	  If this option is enabled, the device tree will be provided by
  	  the board at runtime if the board supports it, instead of being
  	  bundled with the image.
783e6a72b   Masahiro Yamada   kconfig: move CON...
87
88
89
90
91
92
93
94
95
  config OF_HOSTFILE
  	bool "Host filed DTB for DT control"
  	depends on SANDBOX
  	help
  	  If this option is enabled, DTB will be read from a file on startup.
  	  This is only useful for Sandbox.  Use the -d flag to U-Boot to
  	  specify the file to read.
  
  endchoice
f1ef2b623   Masahiro Yamada   kconfig: move CON...
96
97
  config DEFAULT_DEVICE_TREE
  	string "Default Device Tree for DT control"
70d41093c   Simon Glass   fdt: Adjust DEFAU...
98
  	depends on OF_CONTROL
f1ef2b623   Masahiro Yamada   kconfig: move CON...
99
100
  	help
  	  This option specifies the default Device Tree used for DT control.
5699ea6d0   Robert P. J. Day   Correct two non-f...
101
  	  It can be overridden from the command line:
f1ef2b623   Masahiro Yamada   kconfig: move CON...
102
  	  $ make DEVICE_TREE=<device-tree-name>
cdf172461   Simon Glass   spl: Add a way to...
103
104
  config OF_LIST
  	string "List of device tree files to include for DT control"
11955590a   Jean-Jacques Hiblot   dts: renamed FIT_...
105
  	depends on SPL_LOAD_FIT || MULTI_DTB_FIT
c409bd015   Michal Simek   spl: Setup defaul...
106
  	default DEFAULT_DEVICE_TREE
cdf172461   Simon Glass   spl: Add a way to...
107
108
  	help
  	  This option specifies a list of device tree files to use for DT
d97974099   Cooper Jr., Franklin   dts: Allow OF_LIS...
109
110
111
112
113
  	  control. These will be packaged into a FIT. At run-time, U-boot
  	  or SPL will select the correct DT to use by examining the
  	  hardware (e.g. reading a board ID value). This is a list of
  	  device tree files (without the directory or .dtb suffix)
  	  separated by <space>.
cdf172461   Simon Glass   spl: Add a way to...
114

11955590a   Jean-Jacques Hiblot   dts: renamed FIT_...
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
  
  config DTB_RESELECT
  	bool "Support swapping dtbs at a later point in boot"
  	depends on MULTI_DTB_FIT
  	help
  	  It is possible during initial boot you may need to use a generic
  	  dtb until you can fully determine the board your running on. This
  	  config allows boards to implement a function at a later point
  	  during boot to switch to the "correct" dtb.
  
  config MULTI_DTB_FIT
  	bool "Support embedding several DTBs in a FIT image for u-boot"
  	help
  	  This option provides hooks to allow U-boot to parse an
  	  appended FIT image and enable board specific code to then select
  	  the correct DTB to be used. Use this if you need to support
  	  multiple DTBs but don't use the SPL.
2f57c9510   Jean-Jacques Hiblot   spl: dm: Make it ...
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
  
  config SPL_MULTI_DTB_FIT
  	depends on SPL_LOAD_FIT && SPL_OF_CONTROL && !SPL_OF_PLATDATA
  	bool "Support embedding several DTBs in a FIT image for the SPL"
  	help
  	  This option provides the SPL with the ability to select its own
  	  DTB at runtime from an appended FIT image containing several DTBs.
  	  This allows using the same SPL binary on multiple platforms.
  	  The primary purpose is to handle different versions of
  	  the same platform without tweaking the platform code if the
  	  differences can be expressed in the DTBs (common examples are: bus
  	  capabilities, pad configurations).
  
  config SPL_OF_LIST
  	string "List of device tree files to include for DT control in SPL"
  	depends on SPL_MULTI_DTB_FIT
  	default OF_LIST
  	help
  	  This option specifies a list of device tree files to use for DT
  	  control in the SPL. These will be packaged into a FIT. At run-time,
  	  the SPL will select the correct DT to use by examining the
  	  hardware (e.g. reading a board ID value). This is a list of
  	  device tree files (without the directory or .dtb suffix)
  	  separated by <space>.
  
  choice
  	prompt "SPL OF LIST compression"
  	depends on SPL_MULTI_DTB_FIT
  	default SPL_MULTI_DTB_FIT_LZO
  
  config SPL_MULTI_DTB_FIT_LZO
  	bool "LZO"
  	depends on SYS_MALLOC_F
  	select SPL_LZO
  	help
  	  Compress the FIT image containing the DTBs available for the SPL
  	  using LZO compression. (requires lzop on host).
  
  config SPL_MULTI_DTB_FIT_GZIP
  	bool "GZIP"
  	depends on SYS_MALLOC_F
  	select SPL_GZIP
  	help
  	  Compress the FIT image containing the DTBs available for the SPL
  	  using GZIP compression. (requires gzip on host)
  
  config SPL_MULTI_DTB_FIT_NO_COMPRESSION
  	bool "No compression"
  	help
  	  Do not compress the FIT image containing the DTBs available for the SPL.
  	  Use this options only if LZO is not available and the DTBs are very small.
  endchoice
  
  choice
  	prompt "Location of uncompressed DTBs "
  	depends on (SPL_MULTI_DTB_FIT_GZIP || SPL_MULTI_DTB_FIT_LZO)
  	default SPL_MULTI_DTB_FIT_DYN_ALLOC if SYS_MALLOC_F
  
  config SPL_MULTI_DTB_FIT_DYN_ALLOC
  	bool "Dynamically allocate the memory"
  	depends on SYS_MALLOC_F
  
  config SPL_MULTI_DTB_FIT_USER_DEFINED_AREA
  	bool "User-defined location"
  endchoice
  
  config SPL_MULTI_DTB_FIT_UNCOMPRESS_SZ
  	hex "Size of memory reserved to uncompress the DTBs"
  	depends on (SPL_MULTI_DTB_FIT_GZIP || SPL_MULTI_DTB_FIT_LZO)
  	default 0x8000
  	help
  	   This is the size of this area where the DTBs are uncompressed.
  	   If this area is dynamically allocated, make sure that
  	   SPL_SYS_MALLOC_F_LEN is big enough to contain it.
  
  config SPL_MULTI_DTB_FIT_USER_DEF_ADDR
  	hex "Address of memory where dtbs are uncompressed"
  	depends on SPL_MULTI_DTB_FIT_USER_DEFINED_AREA
  	help
  	   the FIT image containing the DTBs is uncompressed in an area defined
  	   at compilation time. This is the address of this area. It must be
  	   aligned on 2-byte boundary.
fa78e0a37   Simon Glass   dm: Reduce SPL de...
214
215
  config OF_SPL_REMOVE_PROPS
  	string "List of device tree properties to drop for SPL"
897705ec3   Masahiro Yamada   dts: fix dependen...
216
  	depends on SPL_OF_CONTROL
239ae4a91   Vikas Manocha   dm: avoid droppin...
217
218
  	default "interrupt-parent" if SPL_PINCTRL && SPL_CLK
  	default "clocks clock-names interrupt-parent" if SPL_PINCTRL
5f3f7b79d   Masahiro Yamada   dts: keep clock-n...
219
  	default "pinctrl-0 pinctrl-names interrupt-parent" if SPL_CLK
fa78e0a37   Simon Glass   dm: Reduce SPL de...
220
221
222
223
224
225
226
227
  	default "pinctrl-0 pinctrl-names clocks clock-names interrupt-parent"
  	help
  	  Since SPL normally runs in a reduced memory space, the device tree
  	  is cut down to only what is needed to load and start U-Boot. Only
  	  nodes marked with the property "u-boot,dm-pre-reloc" will be
  	  included. In addition, some properties are not used by U-Boot and
  	  can be discarded. This option defines the list of properties to
  	  discard.
2789ddb9d   Simon Glass   dm: Add an option...
228
229
230
  config SPL_OF_PLATDATA
  	bool "Generate platform data for use in SPL"
  	depends on SPL_OF_CONTROL
d6a0c78a4   Masahiro Yamada   pylibfdt: compile...
231
  	select DTOC
2789ddb9d   Simon Glass   dm: Add an option...
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
  	help
  	  For very constrained SPL environments the overhead of decoding
  	  device tree nodes and converting their contents into platform data
  	  is too large. This overhead includes libfdt code as well as the
  	  device tree contents itself. The latter is fairly compact, but the
  	  former can add 3KB or more to a Thumb 2 Image.
  
  	  This option enables generation of platform data from the device
  	  tree as C code. This code creates devices using U_BOOT_DEVICE()
  	  declarations. The benefit is that it allows driver code to access
  	  the platform data directly in C structures, avoidin the libfdt
  	  overhead.
  
  	  This option works by generating C structure declarations for each
  	  compatible string, then adding platform data and U_BOOT_DEVICE
  	  declarations for each node. See README.platdata for more
  	  information.
f291ce129   Philipp Tomsich   spl: dm: Kconfig:...
249
250
251
  config TPL_OF_PLATDATA
  	bool "Generate platform data for use in TPL"
  	depends on TPL_OF_CONTROL
d6a0c78a4   Masahiro Yamada   pylibfdt: compile...
252
  	select DTOC
f291ce129   Philipp Tomsich   spl: dm: Kconfig:...
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
  	help
  	  For very constrained SPL environments the overhead of decoding
  	  device tree nodes and converting their contents into platform data
  	  is too large. This overhead includes libfdt code as well as the
  	  device tree contents itself. The latter is fairly compact, but the
  	  former can add 3KB or more to a Thumb 2 Image.
  
  	  This option enables generation of platform data from the device
  	  tree as C code. This code creates devices using U_BOOT_DEVICE()
  	  declarations. The benefit is that it allows driver code to access
  	  the platform data directly in C structures, avoidin the libfdt
  	  overhead.
  
  	  This option works by generating C structure declarations for each
  	  compatible string, then adding platform data and U_BOOT_DEVICE
  	  declarations for each node. See README.platdata for more
  	  information.
783e6a72b   Masahiro Yamada   kconfig: move CON...
270
  endmenu
1f6049e25   Tom Rini   tools/mkimage: Ma...
271
272
273
274
275
276
277
278
279
  
  config MKIMAGE_DTC_PATH
  	string "Path to dtc binary for use within mkimage"
  	default "dtc"
  	help
  	  The mkimage host tool will, in order to generate FIT images make
  	  calls to the dtc application in order to create the output.  In
  	  some cases the system dtc may not support all required features
  	  and the path to a different version should be given here.