xref: /openbmc/u-boot/dts/Kconfig (revision b616d9b0)
1#
2# Device Tree Control
3#
4
5config SUPPORT_OF_CONTROL
6	bool
7
8menu "Device Tree Control"
9	depends on SUPPORT_OF_CONTROL
10
11config OF_CONTROL
12	bool "Run-time configuration via Device Tree"
13	help
14	  This feature provides for run-time configuration of U-Boot
15	  via a flattened device tree.
16
17config SPL_OF_CONTROL
18	bool "Enable run-time configuration via Device Tree in SPL"
19	depends on SPL && OF_CONTROL
20	help
21	  Some boards use device tree in U-Boot but only have 4KB of SRAM
22	  which is not enough to support device tree. Enable this option to
23	  allow such boards to be supported by U-Boot SPL.
24
25choice
26	prompt "Provider of DTB for DT control"
27	depends on OF_CONTROL
28
29config OF_SEPARATE
30	bool "Separate DTB for DT control"
31	depends on !SANDBOX
32	help
33	  If this option is enabled, the device tree will be built and
34	  placed as a separate u-boot.dtb file alongside the U-Boot image.
35
36config OF_EMBED
37	bool "Embedded DTB for DT control"
38	help
39	  If this option is enabled, the device tree will be picked up and
40	  built into the U-Boot image. This is suitable for local debugging
41	  and development only and is not recommended for production devices.
42	  Boards in the mainline U-Boot tree should not use it.
43
44config OF_HOSTFILE
45	bool "Host filed DTB for DT control"
46	depends on SANDBOX
47	help
48	  If this option is enabled, DTB will be read from a file on startup.
49	  This is only useful for Sandbox.  Use the -d flag to U-Boot to
50	  specify the file to read.
51
52endchoice
53
54config DEFAULT_DEVICE_TREE
55	string "Default Device Tree for DT control"
56	depends on OF_CONTROL
57	help
58	  This option specifies the default Device Tree used for DT control.
59	  It can be overridden from the command line:
60	  $ make DEVICE_TREE=<device-tree-name>
61
62config OF_LIST
63	string "List of device tree files to include for DT control"
64	depends on SPL_LOAD_FIT
65	default DEFAULT_DEVICE_TREE
66	help
67	  This option specifies a list of device tree files to use for DT
68	  control. These will be packaged into a FIT. At run-time, SPL will
69	  select the correct DT to use by examining the hardware (e.g.
70	  reading a board ID value). This is a list of device tree files
71	  (without the directory or .dtb suffix) separated by <space>.
72
73config OF_SPL_REMOVE_PROPS
74	string "List of device tree properties to drop for SPL"
75	depends on SPL_OF_CONTROL
76	default "interrupt-parent" if SPL_PINCTRL_FULL && SPL_CLK
77	default "clocks clock-names interrupt-parent" if SPL_PINCTRL_FULL
78	default "pinctrl-0 pinctrl-names interrupt-parent" if SPL_CLK
79	default "pinctrl-0 pinctrl-names clocks clock-names interrupt-parent"
80	help
81	  Since SPL normally runs in a reduced memory space, the device tree
82	  is cut down to only what is needed to load and start U-Boot. Only
83	  nodes marked with the property "u-boot,dm-pre-reloc" will be
84	  included. In addition, some properties are not used by U-Boot and
85	  can be discarded. This option defines the list of properties to
86	  discard.
87
88endmenu
89