1The 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}; 44 45u-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 75u-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 89A 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 99Example 100------- 101/ { 102 chosen { 103 u-boot,spl-boot-order = "same-as-spl", &sdmmc, "/sdhci@fe330000"; 104 }; 105}; 106 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. 116 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 { 132 u-boot,dm-pre-reloc; 133 compatible = "u-boot,fs-loader"; 134 phandlepart = <&mmc 1>; 135 }; 136}; 137