1c8336975SMugunthan V NThe chosen node 2c8336975SMugunthan V N--------------- 3c8336975SMugunthan V NThe chosen node does not represent a real device, but serves as a place 4c8336975SMugunthan V Nfor passing data like which serial device to used to print the logs etc 5c8336975SMugunthan V N 6c8336975SMugunthan V N 7c8336975SMugunthan V Nstdout-path property 8c8336975SMugunthan V N-------------------- 9c8336975SMugunthan V NDevice trees may specify the device to be used for boot console output 10c8336975SMugunthan V Nwith a stdout-path property under /chosen. 11c8336975SMugunthan V N 12c8336975SMugunthan V NExample 13c8336975SMugunthan V N------- 14c8336975SMugunthan V N/ { 15c8336975SMugunthan V N chosen { 16c8336975SMugunthan V N stdout-path = "/serial@f00:115200"; 17c8336975SMugunthan V N }; 18c8336975SMugunthan V N 19c8336975SMugunthan V N serial@f00 { 20c8336975SMugunthan V N compatible = "vendor,some-uart"; 21c8336975SMugunthan V N reg = <0xf00 0x10>; 22c8336975SMugunthan V N }; 23c8336975SMugunthan V N}; 24c8336975SMugunthan V N 25c8336975SMugunthan V Ntick-timer property 26c8336975SMugunthan V N------------------- 27c8336975SMugunthan V NIn a system there are multiple timers, specify which timer to be used 28c8336975SMugunthan V Nas the tick-timer. Earlier it was hardcoded in the timer driver now 29c8336975SMugunthan V Nsince device tree has all the timer nodes. Specify which timer to be 30c8336975SMugunthan V Nused as tick timer. 31c8336975SMugunthan V N 32c8336975SMugunthan V NExample 33c8336975SMugunthan V N------- 34c8336975SMugunthan V N/ { 35c8336975SMugunthan V N chosen { 36c8336975SMugunthan V N tick-timer = "/timer2@f00"; 37c8336975SMugunthan V N }; 38c8336975SMugunthan V N 39c8336975SMugunthan V N timer2@f00 { 40c8336975SMugunthan V N compatible = "vendor,some-timer"; 41c8336975SMugunthan V N reg = <0xf00 0x10>; 42c8336975SMugunthan V N }; 43c8336975SMugunthan V N}; 44d02d11f8SPhilipp Tomsich 45d02d11f8SPhilipp Tomsichu-boot,spl-boot-order property 46d02d11f8SPhilipp Tomsich------------------------------ 47d02d11f8SPhilipp Tomsich 48d02d11f8SPhilipp TomsichIn a system using an SPL stage and having multiple boot sources 49d02d11f8SPhilipp Tomsich(e.g. SPI NOR flash, on-board eMMC and a removable SD-card), the boot 50d02d11f8SPhilipp Tomsichdevice may be probed by reading the image and verifying an image 51d02d11f8SPhilipp Tomsichsignature. 52d02d11f8SPhilipp Tomsich 53d02d11f8SPhilipp TomsichIf the SPL is configured through the device-tree, the boot-order can 54d02d11f8SPhilipp Tomsichbe configured with the spl-boot-order property under the /chosen node. 55d02d11f8SPhilipp TomsichEach list element of the property should specify a device to be probed 56d02d11f8SPhilipp Tomsichin the order they are listed: references (i.e. implicit paths), a full 57d02d11f8SPhilipp Tomsichpath or an alias is expected for each entry. 58d02d11f8SPhilipp Tomsich 59*2d5ea11eSPhilipp TomsichA special specifier "same-as-spl" can be used at any position in the 60*2d5ea11eSPhilipp Tomsichboot-order to direct U-Boot to insert the device the SPL was booted 61*2d5ea11eSPhilipp Tomsichfrom there. Whether this is indeed inserted or silently ignored (if 62*2d5ea11eSPhilipp Tomsichit is not supported on any given SoC/board or if the boot-device is 63*2d5ea11eSPhilipp Tomsichnot available to continue booting from) is implementation-defined. 64*2d5ea11eSPhilipp TomsichNote that if "same-as-spl" expands to an actual node for a given 65*2d5ea11eSPhilipp Tomsichboard, the corresponding node may appear multiple times in the 66*2d5ea11eSPhilipp Tomsichboot-order (as there currently exists no mechanism to suppress 67*2d5ea11eSPhilipp Tomsichduplicates from the list). 68*2d5ea11eSPhilipp Tomsich 69d02d11f8SPhilipp TomsichExample 70d02d11f8SPhilipp Tomsich------- 71d02d11f8SPhilipp Tomsich/ { 72d02d11f8SPhilipp Tomsich chosen { 73*2d5ea11eSPhilipp Tomsich u-boot,spl-boot-order = "same-as-spl", &sdmmc, "/sdhci@fe330000"; 74d02d11f8SPhilipp Tomsich }; 75d02d11f8SPhilipp Tomsich}; 76