blob: c8312540f57e275a4a63b93d5c8f23309014a619 [file] [log] [blame]
Mugunthan V N6f89d042016-01-16 21:33:58 +05301The chosen node
2---------------
3The chosen node does not represent a real device, but serves as a place
4for passing data like which serial device to used to print the logs etc
5
6
7stdout-path property
8--------------------
9Device trees may specify the device to be used for boot console output
10with a stdout-path property under /chosen.
11
12Example
13-------
14/ {
15 chosen {
16 stdout-path = "/serial@f00:115200";
17 };
18
19 serial@f00 {
20 compatible = "vendor,some-uart";
21 reg = <0xf00 0x10>;
22 };
23};
24
25tick-timer property
26-------------------
27In a system there are multiple timers, specify which timer to be used
28as the tick-timer. Earlier it was hardcoded in the timer driver now
29since device tree has all the timer nodes. Specify which timer to be
30used as tick timer.
31
32Example
33-------
34/ {
35 chosen {
36 tick-timer = "/timer2@f00";
37 };
38
39 timer2@f00 {
40 compatible = "vendor,some-timer";
41 reg = <0xf00 0x10>;
42 };
43};
Philipp Tomsich4f212992017-03-28 11:03:00 +020044
Philipp Tomsichce860312018-11-27 23:00:18 +010045u-boot,bootcount-device property
46--------------------------------
47
48In a DM-based system, the bootcount may be stored in a device known to
49the DM framework (e.g. in a battery-backed SRAM area within a RTC
50device) managed by a device conforming to UCLASS_BOOTCOUNT. If
51multiple such devices are present in a system concurrently, then the
52u-boot,bootcount-device property can select the preferred target.
53
54Example
55-------
56/ {
57 chosen {
58 u-boot,bootcount-device = &bootcount-rv3029;
59 };
60
61 bootcount-rv3029: bootcount@0 {
62 compatible = "u-boot,bootcount-rtc";
63 rtc = &rv3029;
64 offset = <0x38>;
65 };
66
67 i2c2 {
68 rv3029: rtc@56 {
69 compatible = "mc,rv3029";
70 reg = <0x56>;
71 };
72 };
73};
74
Philipp Tomsich4f212992017-03-28 11:03:00 +020075u-boot,spl-boot-order property
76------------------------------
77
78In a system using an SPL stage and having multiple boot sources
79(e.g. SPI NOR flash, on-board eMMC and a removable SD-card), the boot
80device may be probed by reading the image and verifying an image
81signature.
82
83If the SPL is configured through the device-tree, the boot-order can
84be configured with the spl-boot-order property under the /chosen node.
85Each list element of the property should specify a device to be probed
86in the order they are listed: references (i.e. implicit paths), a full
87path or an alias is expected for each entry.
88
Philipp Tomsichec83ff52017-09-29 19:27:57 +020089A special specifier "same-as-spl" can be used at any position in the
90boot-order to direct U-Boot to insert the device the SPL was booted
91from there. Whether this is indeed inserted or silently ignored (if
92it is not supported on any given SoC/board or if the boot-device is
93not available to continue booting from) is implementation-defined.
94Note that if "same-as-spl" expands to an actual node for a given
95board, the corresponding node may appear multiple times in the
96boot-order (as there currently exists no mechanism to suppress
97duplicates from the list).
98
Philipp Tomsich4f212992017-03-28 11:03:00 +020099Example
100-------
101/ {
102 chosen {
Philipp Tomsichec83ff52017-09-29 19:27:57 +0200103 u-boot,spl-boot-order = "same-as-spl", &sdmmc, "/sdhci@fe330000";
Philipp Tomsich4f212992017-03-28 11:03:00 +0200104 };
105};
Philipp Tomsich4a577e52018-05-24 17:15:51 +0200106
107u-boot,spl-boot-device property
108-------------------------------
109
110This property is a companion-property to the u-boot,spl-boot-order and
111will be injected automatically by the SPL stage to notify a later stage
112of where said later stage was booted from.
113
114You should not define this property yourself in the device-tree, as it
115may be overwritten without warning.
Tien Fong Cheef53998b2018-07-06 16:27:35 +0800116
117firmware-loader property
118------------------------
119Multiple file system firmware loader nodes could be defined in device trees for
120multiple storage type and their default partition, then a property
121"firmware-loader" can be used to pass default firmware loader
122node(default storage type) to the firmware loader driver.
123
124Example
125-------
126/ {
127 chosen {
128 firmware-loader = &fs_loader0;
129 };
130
131 fs_loader0: fs-loader@0 {
Simon Glass07a8b622023-02-13 08:56:35 -0700132 bootph-all;
Tien Fong Cheef53998b2018-07-06 16:27:35 +0800133 compatible = "u-boot,fs-loader";
134 phandlepart = <&mmc 1>;
135 };
136};
Simon Glass3c601b12020-07-07 13:12:06 -0600137
138u-boot,acpi-ssdt-order
139----------------------
140
141This provides the ordering to use when writing device data to the ACPI SSDT
142(Secondary System Descriptor Table). Each cell is a phandle pointer to a device
143node to add. The ACPI information is written in this order.
144
145If the ordering does not include all nodes, an error is generated.
Simon Glass154dc3e2020-09-22 12:45:40 -0600146
147e820-entries
148------------
149
150This provides a way to add entries to the e820 table which tells the OS about
151the memory map. The property contains three sets of 64-bit values:
152
153 address - Start address of region
154 size - Size of region
155 flags - Flags (E820_...)
156
157Example:
158
159chosen {
160 e820-entries = /bits/ 64 <
161 IOMAP_P2SB_BAR IOMAP P2SB_SIZE E820_RESERVED
162 MCH_BASE_ADDRESS MCH_SIZE E820_RESERVED>;
163};