Kconfig 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119
  1. #
  2. # Device Tree Control
  3. #
  4. config SUPPORT_OF_CONTROL
  5. bool
  6. menu "Device Tree Control"
  7. depends on SUPPORT_OF_CONTROL
  8. config OF_CONTROL
  9. bool "Run-time configuration via Device Tree"
  10. help
  11. This feature provides for run-time configuration of U-Boot
  12. via a flattened device tree.
  13. config OF_BOARD_FIXUP
  14. bool "Board-specific manipulation of Device Tree"
  15. help
  16. In certain circumstances it is necessary to be able to modify
  17. U-Boot's device tree (e.g. to delete device from it). This option
  18. make the Device Tree writeable and provides a board-specific
  19. "board_fix_fdt" callback (called during pre-relocation time), which
  20. enables the board initialization to modifiy the Device Tree. The
  21. modified copy is subsequently used by U-Boot after relocation.
  22. config SPL_OF_CONTROL
  23. bool "Enable run-time configuration via Device Tree in SPL"
  24. depends on SPL && OF_CONTROL
  25. help
  26. Some boards use device tree in U-Boot but only have 4KB of SRAM
  27. which is not enough to support device tree. Enable this option to
  28. allow such boards to be supported by U-Boot SPL.
  29. choice
  30. prompt "Provider of DTB for DT control"
  31. depends on OF_CONTROL
  32. config OF_SEPARATE
  33. bool "Separate DTB for DT control"
  34. depends on !SANDBOX
  35. help
  36. If this option is enabled, the device tree will be built and
  37. placed as a separate u-boot.dtb file alongside the U-Boot image.
  38. config OF_EMBED
  39. bool "Embedded DTB for DT control"
  40. help
  41. If this option is enabled, the device tree will be picked up and
  42. built into the U-Boot image. This is suitable for local debugging
  43. and development only and is not recommended for production devices.
  44. Boards in the mainline U-Boot tree should not use it.
  45. config OF_HOSTFILE
  46. bool "Host filed DTB for DT control"
  47. depends on SANDBOX
  48. help
  49. If this option is enabled, DTB will be read from a file on startup.
  50. This is only useful for Sandbox. Use the -d flag to U-Boot to
  51. specify the file to read.
  52. endchoice
  53. config DEFAULT_DEVICE_TREE
  54. string "Default Device Tree for DT control"
  55. depends on OF_CONTROL
  56. help
  57. This option specifies the default Device Tree used for DT control.
  58. It can be overridden from the command line:
  59. $ make DEVICE_TREE=<device-tree-name>
  60. config OF_LIST
  61. string "List of device tree files to include for DT control"
  62. depends on SPL_LOAD_FIT
  63. default DEFAULT_DEVICE_TREE
  64. help
  65. This option specifies a list of device tree files to use for DT
  66. control. These will be packaged into a FIT. At run-time, SPL will
  67. select the correct DT to use by examining the hardware (e.g.
  68. reading a board ID value). This is a list of device tree files
  69. (without the directory or .dtb suffix) separated by <space>.
  70. config OF_SPL_REMOVE_PROPS
  71. string "List of device tree properties to drop for SPL"
  72. depends on SPL_OF_CONTROL
  73. default "interrupt-parent" if SPL_PINCTRL_FULL && SPL_CLK
  74. default "clocks clock-names interrupt-parent" if SPL_PINCTRL_FULL
  75. default "pinctrl-0 pinctrl-names interrupt-parent" if SPL_CLK
  76. default "pinctrl-0 pinctrl-names clocks clock-names interrupt-parent"
  77. help
  78. Since SPL normally runs in a reduced memory space, the device tree
  79. is cut down to only what is needed to load and start U-Boot. Only
  80. nodes marked with the property "u-boot,dm-pre-reloc" will be
  81. included. In addition, some properties are not used by U-Boot and
  82. can be discarded. This option defines the list of properties to
  83. discard.
  84. config SPL_OF_PLATDATA
  85. bool "Generate platform data for use in SPL"
  86. depends on SPL_OF_CONTROL
  87. help
  88. For very constrained SPL environments the overhead of decoding
  89. device tree nodes and converting their contents into platform data
  90. is too large. This overhead includes libfdt code as well as the
  91. device tree contents itself. The latter is fairly compact, but the
  92. former can add 3KB or more to a Thumb 2 Image.
  93. This option enables generation of platform data from the device
  94. tree as C code. This code creates devices using U_BOOT_DEVICE()
  95. declarations. The benefit is that it allows driver code to access
  96. the platform data directly in C structures, avoidin the libfdt
  97. overhead.
  98. This option works by generating C structure declarations for each
  99. compatible string, then adding platform data and U_BOOT_DEVICE
  100. declarations for each node. See README.platdata for more
  101. information.
  102. endmenu