Kconfig 3.8 KB

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