Kconfig 21 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597
  1. #
  2. # Device Tree Control
  3. #
  4. config SUPPORT_OF_CONTROL
  5. bool
  6. config PYLIBFDT
  7. bool
  8. config DTOC
  9. bool
  10. select PYLIBFDT
  11. config BINMAN
  12. bool
  13. select DTOC
  14. menu "Device Tree Control"
  15. depends on SUPPORT_OF_CONTROL
  16. config OF_CONTROL
  17. bool "Run-time configuration via Device Tree"
  18. select OF_LIBFDT
  19. select OF_REAL
  20. help
  21. This feature provides for run-time configuration of U-Boot
  22. via a flattened device tree.
  23. config OF_REAL
  24. bool
  25. help
  26. Indicates that a real devicetree is available which can be accessed
  27. at runtime. This means that dev_read_...() functions can be used to
  28. read data from the devicetree for each device. This is true if
  29. OF_CONTROL is enabled in U-Boot proper.
  30. config OF_BOARD_FIXUP
  31. bool "Board-specific manipulation of Device Tree"
  32. help
  33. In certain circumstances it is necessary to be able to modify
  34. U-Boot's device tree (e.g. to delete device from it). This option
  35. make the Device Tree writeable and provides a board-specific
  36. "board_fix_fdt" callback (called during pre-relocation time), which
  37. enables the board initialization to modifiy the Device Tree. The
  38. modified copy is subsequently used by U-Boot after relocation.
  39. config SPL_OF_CONTROL
  40. bool "Enable run-time configuration via Device Tree in SPL"
  41. depends on SPL && OF_CONTROL
  42. select SPL_OF_LIBFDT if !SPL_OF_PLATDATA
  43. select SPL_OF_REAL if !SPL_OF_PLATDATA
  44. help
  45. Some boards use device tree in U-Boot but only have 4KB of SRAM
  46. which is not enough to support device tree. Disable this option to
  47. allow such boards to be supported by U-Boot SPL.
  48. config TPL_OF_CONTROL
  49. bool "Enable run-time configuration via Device Tree in TPL"
  50. depends on TPL && OF_CONTROL
  51. select TPL_OF_LIBFDT if !TPL_OF_PLATDATA
  52. select TPL_OF_REAL if !TPL_OF_PLATDATA
  53. help
  54. Some boards use device tree in U-Boot but only have 4KB of SRAM
  55. which is not enough to support device tree. Enable this option to
  56. allow such boards to be supported by U-Boot TPL.
  57. config VPL_OF_CONTROL
  58. bool "Enable run-time configuration via Device Tree in VPL"
  59. depends on VPL && OF_CONTROL
  60. default y if SPL_OF_CONTROL
  61. help
  62. Some boards use device tree in U-Boot but only have 4KB of SRAM
  63. which is not enough to support device tree. Enable this option to
  64. allow such boards to be supported by U-Boot VPL.
  65. config OF_LIVE
  66. bool "Enable use of a live tree"
  67. depends on DM && OF_CONTROL
  68. help
  69. Normally U-Boot uses a flat device tree which saves space and
  70. avoids the need to unpack the tree before use. However a flat
  71. tree does not support modification from within U-Boot since it
  72. can invalidate driver-model device tree offsets. This option
  73. enables a live tree which is available after relocation,
  74. and can be adjusted as needed.
  75. config OF_UPSTREAM
  76. bool "Enable use of devicetree imported from Linux kernel release"
  77. help
  78. Traditionally, U-Boot platforms used to have their custom devicetree
  79. files or copy devicetree files from Linux kernel which are hard to
  80. maintain and can usually get out-of-sync from Linux kernel. This
  81. option enables platforms to migrate to devicetree-rebasing repo where
  82. a regular sync will be maintained every major Linux kernel release
  83. cycle. However, platforms can still have some custom u-boot specific
  84. bits maintained as part of *-u-boot.dtsi files.
  85. Note: This option should be set in Kconfig, for the SoC as a whole.
  86. However, newer boards whose devicetree source files haven't landed in
  87. the dts/upstream subtree, they can override this option to have the
  88. DT build from existing U-Boot tree location instead.
  89. config OF_UPSTREAM_BUILD_VENDOR
  90. bool "Build all devicetree files for a particular vendor"
  91. depends on OF_UPSTREAM
  92. help
  93. Enable building all devicetree files for a particular vendor. This
  94. is useful for generic U-Boot configurations where many boards can
  95. be supported with a single binary.
  96. This is only available for platforms using upstream devicetree.
  97. config OF_UPSTREAM_VENDOR
  98. string "Vendor to build all upstream devicetree files for"
  99. depends on OF_UPSTREAM_BUILD_VENDOR
  100. default "qcom" if ARCH_SNAPDRAGON
  101. default "rockchip" if ARCH_ROCKCHIP
  102. default "amlogic" if ARCH_MESON
  103. default "allwinner" if ARCH_SUNXI
  104. default "mediatek" if ARCH_MEDIATEK
  105. default "marvell" if ARCH_MVEBU || ARCH_KIRKWOOD
  106. default "xilinx" if ARCH_VERSAL || ARCH_ZYNQ
  107. default "nvidia" if ARCH_TEGRA
  108. help
  109. Select the vendor to build all devicetree files for.
  110. choice
  111. prompt "Provider of DTB for DT control"
  112. depends on OF_CONTROL
  113. config OF_SEPARATE
  114. bool "Separate DTB for DT control"
  115. help
  116. If this option is enabled, the device tree will be built and
  117. placed as a separate u-boot.dtb file alongside the U-Boot image.
  118. config OF_EMBED
  119. bool "Embedded DTB for DT control"
  120. help
  121. If this option is enabled, the device tree will be picked up and
  122. built into the U-Boot image. This is suitable for local debugging
  123. and development only and is not recommended for production devices.
  124. Boards in the mainline U-Boot tree should not use it.
  125. endchoice
  126. config OF_BOARD
  127. bool "Provided by the board (e.g a previous loader) at runtime"
  128. default y if SANDBOX || OF_HAS_PRIOR_STAGE
  129. help
  130. If this option is enabled, the device tree is provided at runtime by
  131. a custom function called board_fdt_blob_setup(). The board must
  132. implement this function if it wishes to provide special behaviour.
  133. With this option, the device tree build by U-Boot may be overridden or
  134. ignored. See OF_HAS_PRIOR_STAGE.
  135. Note: Boards which use this to handle a device tree passed from an
  136. earlier stage should enable OF_HAS_PRIOR_STAGE.
  137. config OF_HAS_PRIOR_STAGE
  138. bool
  139. depends on !BLOBLIST
  140. help
  141. Indicates that a prior stage of the firmware (before U-Boot proper)
  142. makes use of device tree and this board normally boots with that prior
  143. stage, that provides a devicetree to U-Boot.
  144. This means that the device tree built in U-Boot should not be packaged
  145. in the firmware image. Instead, the prior stage's device tree should
  146. be so packaged. At runtime, the prior stage reads this, does any
  147. necessary fix-ups, then passes it to U-Boot. See OF_BOARD.
  148. This option does not preclude using the U-Boot device tree, e.g. for
  149. development purposes, but it is not recommended, and likely will not
  150. even work, for production systems.
  151. Note: This option must be set in Kconfig and cannot be enabled or
  152. disabled in the board's defconfig file.
  153. config OF_OMIT_DTB
  154. bool "Omit the device tree output when building"
  155. default y if OF_HAS_PRIOR_STAGE && !BINMAN
  156. help
  157. As a special case, avoid writing a device tree file u-boot.dtb when
  158. building. Also don't include that file in u-boot.bin
  159. This is used for boards which normally provide a devicetree via a
  160. runtime mechanism (such as OF_BOARD), to avoid confusion.
  161. config DEFAULT_DEVICE_TREE
  162. string "Default Device Tree for DT control"
  163. depends on OF_CONTROL
  164. help
  165. This option specifies the default Device Tree used for DT control.
  166. It can be overridden from the command line:
  167. $ make DEVICE_TREE=<device-tree-name>
  168. config DEVICE_TREE_INCLUDES
  169. string "Extra .dtsi files to include when building DT control"
  170. depends on OF_CONTROL
  171. help
  172. U-Boot's control .dtb is usually built from an in-tree .dts
  173. file, plus (if available) an in-tree U-Boot-specific .dtsi
  174. file. This option specifies a space-separated list of extra
  175. .dtsi files that will also be used.
  176. config OF_LIST
  177. string "List of device tree files to include for DT control" if SPL_LOAD_FIT || MULTI_DTB_FIT
  178. depends on OF_CONTROL
  179. default DEFAULT_DEVICE_TREE
  180. help
  181. This option specifies a list of device tree files to use for DT
  182. control. These will be packaged into a FIT. At run-time, U-Boot
  183. or SPL will select the correct DT to use by examining the
  184. hardware (e.g. reading a board ID value). This is a list of
  185. device tree files (without the directory or .dtb suffix)
  186. separated by <space>.
  187. config OF_OVERLAY_LIST
  188. string "List of device tree overlays to include for DT control"
  189. depends on SPL_LOAD_FIT_APPLY_OVERLAY
  190. help
  191. This option specifies a list of device tree overlays to use for DT
  192. control. This option can then be used by a FIT generator to include
  193. the overlays in the FIT image.
  194. choice
  195. prompt "OF LIST compression"
  196. depends on MULTI_DTB_FIT
  197. default MULTI_DTB_FIT_NO_COMPRESSION
  198. config MULTI_DTB_FIT_LZO
  199. bool "LZO"
  200. depends on SYS_MALLOC_F
  201. select LZO
  202. help
  203. Compress the FIT image containing the DTBs available for the SPL
  204. using LZO compression. (requires lzop on host).
  205. config MULTI_DTB_FIT_GZIP
  206. bool "GZIP"
  207. depends on SYS_MALLOC_F
  208. select GZIP
  209. help
  210. Compress the FIT image containing the DTBs available for the SPL
  211. using GZIP compression. (requires gzip on host)
  212. config MULTI_DTB_FIT_NO_COMPRESSION
  213. bool "No compression"
  214. help
  215. Do not compress the FIT image containing the DTBs available for the SPL.
  216. Use this options only if LZO is not available and the DTBs are very small.
  217. endchoice
  218. choice
  219. prompt "Location of uncompressed DTBs"
  220. depends on (MULTI_DTB_FIT_GZIP || MULTI_DTB_FIT_LZO)
  221. default MULTI_DTB_FIT_DYN_ALLOC if SYS_MALLOC_F
  222. config MULTI_DTB_FIT_DYN_ALLOC
  223. bool "Dynamically allocate the memory"
  224. depends on SYS_MALLOC_F
  225. config MULTI_DTB_FIT_USER_DEFINED_AREA
  226. bool "User-defined location"
  227. endchoice
  228. config MULTI_DTB_FIT_UNCOMPRESS_SZ
  229. hex "Size of memory reserved to uncompress the DTBs"
  230. default 0x8000
  231. help
  232. This is the size of this area where the DTBs are uncompressed.
  233. If this area is dynamically allocated, make sure that
  234. SYS_MALLOC_F_LEN is big enough to contain it.
  235. config MULTI_DTB_FIT_USER_DEF_ADDR
  236. hex "Address of memory where dtbs are uncompressed"
  237. depends on MULTI_DTB_FIT_USER_DEFINED_AREA
  238. help
  239. the FIT image containing the DTBs is uncompressed in an area defined
  240. at compilation time. This is the address of this area. It must be
  241. aligned on 2-byte boundary.
  242. config DTB_RESELECT
  243. bool "Support swapping dtbs at a later point in boot"
  244. depends on MULTI_DTB_FIT
  245. help
  246. It is possible during initial boot you may need to use a generic
  247. dtb until you can fully determine the board your running on. This
  248. config allows boards to implement a function at a later point
  249. during boot to switch to the "correct" dtb.
  250. config MULTI_DTB_FIT
  251. bool "Support embedding several DTBs in a FIT image for u-boot"
  252. help
  253. This option provides hooks to allow U-Boot to parse an
  254. appended FIT image and enable board specific code to then select
  255. the correct DTB to be used. Use this if you need to support
  256. multiple DTBs but don't use the SPL.
  257. config SPL_MULTI_DTB_FIT
  258. depends on SPL_LOAD_FIT && SPL_OF_REAL
  259. bool "Support embedding several DTBs in a FIT image for the SPL"
  260. help
  261. This option provides the SPL with the ability to select its own
  262. DTB at runtime from an appended FIT image containing several DTBs.
  263. This allows using the same SPL binary on multiple platforms.
  264. The primary purpose is to handle different versions of
  265. the same platform without tweaking the platform code if the
  266. differences can be expressed in the DTBs (common examples are: bus
  267. capabilities, pad configurations).
  268. config SPL_OF_LIST
  269. string "List of device tree files to include for DT control in SPL" if SPL_MULTI_DTB_FIT
  270. depends on SPL_OF_CONTROL
  271. default OF_LIST
  272. help
  273. This option specifies a list of device tree files to use for DT
  274. control in the SPL. These will be packaged into a FIT. At run-time,
  275. the SPL will select the correct DT to use by examining the
  276. hardware (e.g. reading a board ID value). This is a list of
  277. device tree files (without the directory or .dtb suffix)
  278. separated by <space>.
  279. choice
  280. prompt "SPL OF LIST compression"
  281. depends on SPL_MULTI_DTB_FIT
  282. default SPL_MULTI_DTB_FIT_LZO
  283. config SPL_MULTI_DTB_FIT_LZO
  284. bool "LZO"
  285. depends on SYS_MALLOC_F
  286. select SPL_LZO
  287. help
  288. Compress the FIT image containing the DTBs available for the SPL
  289. using LZO compression. (requires lzop on host).
  290. config SPL_MULTI_DTB_FIT_GZIP
  291. bool "GZIP"
  292. depends on SYS_MALLOC_F
  293. select SPL_GZIP
  294. help
  295. Compress the FIT image containing the DTBs available for the SPL
  296. using GZIP compression. (requires gzip on host)
  297. config SPL_MULTI_DTB_FIT_NO_COMPRESSION
  298. bool "No compression"
  299. help
  300. Do not compress the FIT image containing the DTBs available for the SPL.
  301. Use this options only if LZO is not available and the DTBs are very small.
  302. endchoice
  303. choice
  304. prompt "Location of uncompressed DTBs"
  305. depends on (SPL_MULTI_DTB_FIT_GZIP || SPL_MULTI_DTB_FIT_LZO)
  306. default SPL_MULTI_DTB_FIT_DYN_ALLOC if SYS_MALLOC_F
  307. config SPL_MULTI_DTB_FIT_DYN_ALLOC
  308. bool "Dynamically allocate the memory"
  309. depends on SYS_MALLOC_F
  310. config SPL_MULTI_DTB_FIT_USER_DEFINED_AREA
  311. bool "User-defined location"
  312. endchoice
  313. config SPL_MULTI_DTB_FIT_UNCOMPRESS_SZ
  314. hex "Size of memory reserved to uncompress the DTBs"
  315. depends on (SPL_MULTI_DTB_FIT_GZIP || SPL_MULTI_DTB_FIT_LZO)
  316. default 0x8000
  317. help
  318. This is the size of this area where the DTBs are uncompressed.
  319. If this area is dynamically allocated, make sure that
  320. SPL_SYS_MALLOC_F_LEN is big enough to contain it.
  321. config SPL_MULTI_DTB_FIT_USER_DEF_ADDR
  322. hex "Address of memory where dtbs are uncompressed"
  323. depends on SPL_MULTI_DTB_FIT_USER_DEFINED_AREA
  324. help
  325. the FIT image containing the DTBs is uncompressed in an area defined
  326. at compilation time. This is the address of this area. It must be
  327. aligned on 2-byte boundary.
  328. config OF_TAG_MIGRATE
  329. bool "Ease migration from old device trees with u-boot,dm- tags"
  330. default y
  331. help
  332. U-Boot moved over to use new tags to mark device tree nodes which need
  333. to be processed in SPL, before relocation, etc. Enable this option to
  334. detect old tags and handle them.
  335. Note: This option will be removed after the 2023.07 release.
  336. config OF_SPL_REMOVE_PROPS
  337. string "List of device tree properties to drop for SPL"
  338. depends on SPL_OF_CONTROL
  339. default "interrupt-parent interrupts" if SPL_PINCTRL && SPL_CLK
  340. default "clocks clock-names interrupt-parent interrupts" if SPL_PINCTRL
  341. default "pinctrl-0 pinctrl-names interrupt-parent interrupts" if SPL_CLK
  342. default "pinctrl-0 pinctrl-names clocks clock-names interrupt-parent interrupts"
  343. help
  344. Since SPL normally runs in a reduced memory space, the device tree
  345. is cut down to only what is needed to load and start U-Boot. Only
  346. nodes marked with the property "bootph-all" will be
  347. included. In addition, some properties are not used by U-Boot and
  348. can be discarded. This option defines the list of properties to
  349. discard.
  350. config OF_DTB_PROPS_REMOVE
  351. bool "Enable removal of device tree properties"
  352. depends on OF_CONTROL
  353. help
  354. Some boards have restricted amount of storage for U-Boot image.
  355. If the generated binary doesn't fit into available image storage,
  356. the built-in device tree could probably be cut down by removing
  357. some not required device tree properties to reduce the image size.
  358. Enable this option and define the properties to be removed in the
  359. CONFIG_OF_REMOVE_PROPS list. Do not enable this option if you must
  360. pass the built-in DTB directly to the kernel!
  361. config OF_REMOVE_PROPS
  362. string "List of device tree properties to drop"
  363. depends on OF_DTB_PROPS_REMOVE
  364. default "interrupt-parent interrupts" if PINCTRL
  365. help
  366. Some properties are not used by U-Boot and can be discarded.
  367. This option defines the list of properties to discard.
  368. config SPL_OF_PLATDATA
  369. bool "Generate platform data for use in SPL"
  370. depends on SPL_OF_CONTROL
  371. select DTOC
  372. select SPL_OF_PLATDATA_DRIVER_RT if !SPL_OF_PLATDATA_INST
  373. help
  374. For very constrained SPL environments the overhead of decoding
  375. device tree nodes and converting their contents into platform data
  376. is too large. This overhead includes libfdt code as well as the
  377. device tree contents itself. The latter is fairly compact, but the
  378. former can add 3KB or more to a Thumb 2 Image.
  379. This option enables generation of platform data from the device
  380. tree as C code. This code creates devices using U_BOOT_DRVINFO()
  381. declarations. The benefit is that it allows driver code to access
  382. the platform data directly in C structures, avoidin the libfdt
  383. overhead.
  384. This option works by generating C structure declarations for each
  385. compatible string, then adding platform data and U_BOOT_DRVINFO
  386. declarations for each node. See of-plat.txt for more information.
  387. config SPL_OF_REAL
  388. bool "Support a real devicetree in SPL" if SANDBOX
  389. depends on SPL_OF_CONTROL
  390. select SPL_OF_LIBFDT
  391. help
  392. Indicates that a real devicetree is available which can be accessed
  393. at runtime. This means that dev_read_...() functions can be used to
  394. read data from the devicetree for each device. You do not need to
  395. enable this option if you have enabled SPL_OF_PLATDATA.
  396. if SPL_OF_PLATDATA
  397. config SPL_OF_PLATDATA_PARENT
  398. bool "Support parent information in devices"
  399. default y
  400. help
  401. Generally it is useful to be able to access the parent of a device
  402. with of-platdata. To save space this can be disabled, but in that
  403. case dev_get_parent() will always return NULL;
  404. config SPL_OF_PLATDATA_INST
  405. bool "Declare devices at build time"
  406. help
  407. Declare devices as udevice instances so that they do not need to be
  408. bound when U-Boot starts. This can save time and code space.
  409. config SPL_OF_PLATDATA_NO_BIND
  410. bool "Don't allow run-time binding of devices"
  411. depends on SPL_OF_PLATDATA_INST
  412. default y
  413. help
  414. This removes the ability to bind devices at run time, thus saving
  415. some code space in U-Boot. This can be disabled if binding is needed,
  416. at the code of some code size increase.
  417. config SPL_OF_PLATDATA_RT
  418. bool "Use a separate struct for device runtime data"
  419. depends on SPL_OF_PLATDATA_INST
  420. default y
  421. help
  422. For systems running SPL from read-only memory it is convenient to
  423. separate out the runtime information, so that the devices don't need
  424. to be copied before being used. This moves the read-write parts of
  425. struct udevice (at present just the flags) into a separate struct,
  426. which is allocated at runtime.
  427. config SPL_OF_PLATDATA_DRIVER_RT
  428. bool
  429. help
  430. Use a separate struct for driver runtime data.
  431. This enables the driver_rt information, used with of-platdata when
  432. of-platdata-inst is not used. It allows finding devices by their
  433. driver data.
  434. endif
  435. config TPL_OF_REAL
  436. bool
  437. help
  438. Indicates that a real devicetree is available which can be accessed
  439. at runtime. This means that dev_read_...() functions can be used to
  440. read data from the devicetree for each device. This is true if
  441. TPL_OF_CONTROL is enabled and not TPL_OF_PLATDATA
  442. config TPL_OF_PLATDATA
  443. bool "Generate platform data for use in TPL"
  444. depends on TPL_OF_CONTROL
  445. select DTOC
  446. select TPL_OF_PLATDATA_DRIVER_RT if !TPL_OF_PLATDATA_INST
  447. help
  448. For very constrained SPL environments the overhead of decoding
  449. device tree nodes and converting their contents into platform data
  450. is too large. This overhead includes libfdt code as well as the
  451. device tree contents itself. The latter is fairly compact, but the
  452. former can add 3KB or more to a Thumb 2 Image.
  453. This option enables generation of platform data from the device
  454. tree as C code. This code creates devices using U_BOOT_DRVINFO()
  455. declarations. The benefit is that it allows driver code to access
  456. the platform data directly in C structures, avoidin the libfdt
  457. overhead.
  458. This option works by generating C structure declarations for each
  459. compatible string, then adding platform data and U_BOOT_DRVINFO
  460. declarations for each node. See of-plat.txt for more information.
  461. if TPL_OF_PLATDATA
  462. config TPL_OF_PLATDATA_PARENT
  463. bool "Support parent information in devices"
  464. default y
  465. help
  466. Generally it is useful to be able to access the parent of a device
  467. with of-platdata. To save space this can be disabled, but in that
  468. case dev_get_parent() will always return NULL;
  469. config TPL_OF_PLATDATA_INST
  470. bool "Declare devices at build time"
  471. help
  472. Declare devices as udevice instances so that they do not need to be
  473. bound when U-Boot starts. This can save time and code space.
  474. config TPL_OF_PLATDATA_NO_BIND
  475. bool "Don't allow run-time binding of devices"
  476. depends on TPL_OF_PLATDATA_INST
  477. default y
  478. help
  479. This removes the ability to bind devices at run time, thus saving
  480. some code space in U-Boot. This can be disabled if binding is needed,
  481. at the code of some code size increase.
  482. config TPL_OF_PLATDATA_RT
  483. bool "Use a separate struct for device runtime data"
  484. depends on TPL_OF_PLATDATA_INST
  485. default y
  486. help
  487. For systems running TPL from read-only memory it is convenient to
  488. separate out the runtime information, so that the devices don't need
  489. to be copied before being used. This moves the read-write parts of
  490. struct udevice (at present just the flags) into a separate struct,
  491. which is allocated at runtime.
  492. config TPL_OF_PLATDATA_DRIVER_RT
  493. bool
  494. help
  495. Use a separate struct for driver runtime data.
  496. This enables the driver_rt information, used with of-platdata when
  497. of-platdata-inst is not used. It allows finding devices by their
  498. driver data.
  499. endif
  500. config VPL_OF_REAL
  501. def_bool y
  502. depends on VPL
  503. help
  504. Indicates that a real devicetree is available which can be accessed
  505. at runtime. This means that dev_read_...() functions can be used to
  506. read data from the devicetree for each device. This is true if
  507. TPL_OF_CONTROL is enabled and not TPL_OF_PLATDATA
  508. endmenu