chosen.txt 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136
  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. stdout-path property
  6. --------------------
  7. Device trees may specify the device to be used for boot console output
  8. with a stdout-path property under /chosen.
  9. Example
  10. -------
  11. / {
  12. chosen {
  13. stdout-path = "/serial@f00:115200";
  14. };
  15. serial@f00 {
  16. compatible = "vendor,some-uart";
  17. reg = <0xf00 0x10>;
  18. };
  19. };
  20. tick-timer property
  21. -------------------
  22. In a system there are multiple timers, specify which timer to be used
  23. as the tick-timer. Earlier it was hardcoded in the timer driver now
  24. since device tree has all the timer nodes. Specify which timer to be
  25. used as tick timer.
  26. Example
  27. -------
  28. / {
  29. chosen {
  30. tick-timer = "/timer2@f00";
  31. };
  32. timer2@f00 {
  33. compatible = "vendor,some-timer";
  34. reg = <0xf00 0x10>;
  35. };
  36. };
  37. u-boot,bootcount-device property
  38. --------------------------------
  39. In a DM-based system, the bootcount may be stored in a device known to
  40. the DM framework (e.g. in a battery-backed SRAM area within a RTC
  41. device) managed by a device conforming to UCLASS_BOOTCOUNT. If
  42. multiple such devices are present in a system concurrently, then the
  43. u-boot,bootcount-device property can select the preferred target.
  44. Example
  45. -------
  46. / {
  47. chosen {
  48. u-boot,bootcount-device = &bootcount-rv3029;
  49. };
  50. bootcount-rv3029: bootcount@0 {
  51. compatible = "u-boot,bootcount-rtc";
  52. rtc = &rv3029;
  53. offset = <0x38>;
  54. };
  55. i2c2 {
  56. rv3029: rtc@56 {
  57. compatible = "mc,rv3029";
  58. reg = <0x56>;
  59. };
  60. };
  61. };
  62. u-boot,spl-boot-order property
  63. ------------------------------
  64. In a system using an SPL stage and having multiple boot sources
  65. (e.g. SPI NOR flash, on-board eMMC and a removable SD-card), the boot
  66. device may be probed by reading the image and verifying an image
  67. signature.
  68. If the SPL is configured through the device-tree, the boot-order can
  69. be configured with the spl-boot-order property under the /chosen node.
  70. Each list element of the property should specify a device to be probed
  71. in the order they are listed: references (i.e. implicit paths), a full
  72. path or an alias is expected for each entry.
  73. A special specifier "same-as-spl" can be used at any position in the
  74. boot-order to direct U-Boot to insert the device the SPL was booted
  75. from there. Whether this is indeed inserted or silently ignored (if
  76. it is not supported on any given SoC/board or if the boot-device is
  77. not available to continue booting from) is implementation-defined.
  78. Note that if "same-as-spl" expands to an actual node for a given
  79. board, the corresponding node may appear multiple times in the
  80. boot-order (as there currently exists no mechanism to suppress
  81. duplicates from the list).
  82. Example
  83. -------
  84. / {
  85. chosen {
  86. u-boot,spl-boot-order = "same-as-spl", &sdmmc, "/sdhci@fe330000";
  87. };
  88. };
  89. u-boot,spl-boot-device property
  90. -------------------------------
  91. This property is a companion-property to the u-boot,spl-boot-order and
  92. will be injected automatically by the SPL stage to notify a later stage
  93. of where said later stage was booted from.
  94. You should not define this property yourself in the device-tree, as it
  95. may be overwritten without warning.
  96. firmware-loader property
  97. ------------------------
  98. Multiple file system firmware loader nodes could be defined in device trees for
  99. multiple storage type and their default partition, then a property
  100. "firmware-loader" can be used to pass default firmware loader
  101. node(default storage type) to the firmware loader driver.
  102. Example
  103. -------
  104. / {
  105. chosen {
  106. firmware-loader = &fs_loader0;
  107. };
  108. fs_loader0: fs-loader@0 {
  109. u-boot,dm-pre-reloc;
  110. compatible = "u-boot,fs-loader";
  111. phandlepart = <&mmc 1>;
  112. };
  113. };