Merge branch 'master' of git://git.denx.de/u-boot-spi
[oweals/u-boot.git] / doc / device-tree-bindings / chosen.txt
1 The chosen node
2 ---------------
3 The chosen node does not represent a real device, but serves as a place
4 for passing data like which serial device to used to print the logs etc
5
6
7 stdout-path property
8 --------------------
9 Device trees may specify the device to be used for boot console output
10 with a stdout-path property under /chosen.
11
12 Example
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
25 tick-timer property
26 -------------------
27 In a system there are multiple timers, specify which timer to be used
28 as the tick-timer. Earlier it was hardcoded in the timer driver now
29 since device tree has all the timer nodes. Specify which timer to be
30 used as tick timer.
31
32 Example
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 };
44
45 u-boot,spl-boot-order property
46 ------------------------------
47
48 In a system using an SPL stage and having multiple boot sources
49 (e.g. SPI NOR flash, on-board eMMC and a removable SD-card), the boot
50 device may be probed by reading the image and verifying an image
51 signature.
52
53 If the SPL is configured through the device-tree, the boot-order can
54 be configured with the spl-boot-order property under the /chosen node.
55 Each list element of the property should specify a device to be probed
56 in the order they are listed: references (i.e. implicit paths), a full
57 path or an alias is expected for each entry.
58
59 A special specifier "same-as-spl" can be used at any position in the
60 boot-order to direct U-Boot to insert the device the SPL was booted
61 from there.  Whether this is indeed inserted or silently ignored (if
62 it is not supported on any given SoC/board or if the boot-device is
63 not available to continue booting from) is implementation-defined.
64 Note that if "same-as-spl" expands to an actual node for a given
65 board, the corresponding node may appear multiple times in the
66 boot-order (as there currently exists no mechanism to suppress
67 duplicates from the list).
68
69 Example
70 -------
71 / {
72         chosen {
73                 u-boot,spl-boot-order = "same-as-spl", &sdmmc, "/sdhci@fe330000";
74         };
75 };
76
77 u-boot,spl-boot-device property
78 -------------------------------
79
80 This property is a companion-property to the u-boot,spl-boot-order and
81 will be injected automatically by the SPL stage to notify a later stage
82 of where said later stage was booted from.
83
84 You should not define this property yourself in the device-tree, as it
85 may be overwritten without warning.
86
87 firmware-loader property
88 ------------------------
89 Multiple file system firmware loader nodes could be defined in device trees for
90 multiple storage type and their default partition, then a property
91 "firmware-loader" can be used to pass default firmware loader
92 node(default storage type) to the firmware loader driver.
93
94 Example
95 -------
96 / {
97         chosen {
98                 firmware-loader = &fs_loader0;
99         };
100
101         fs_loader0: fs-loader@0 {
102                 u-boot,dm-pre-reloc;
103                 compatible = "u-boot,fs-loader";
104                 phandlepart = <&mmc 1>;
105         };
106 };