Leif Lindholm | 2a9d832 | 2014-11-27 17:56:05 +0000 | [diff] [blame] | 1 | The chosen node |
| 2 | --------------- |
| 3 | |
| 4 | The chosen node does not represent a real device, but serves as a place |
| 5 | for passing data between firmware and the operating system, like boot |
| 6 | arguments. Data in the chosen node does not represent the hardware. |
| 7 | |
| 8 | |
| 9 | stdout-path property |
| 10 | -------------------- |
| 11 | |
| 12 | Device trees may specify the device to be used for boot console output |
| 13 | with a stdout-path property under /chosen, as described in ePAPR, e.g. |
| 14 | |
| 15 | / { |
| 16 | chosen { |
| 17 | stdout-path = "/serial@f00:115200"; |
| 18 | }; |
| 19 | |
| 20 | serial@f00 { |
| 21 | compatible = "vendor,some-uart"; |
| 22 | reg = <0xf00 0x10>; |
| 23 | }; |
| 24 | }; |
| 25 | |
| 26 | If the character ":" is present in the value, this terminates the path. |
| 27 | The meaning of any characters following the ":" is device-specific, and |
| 28 | must be specified in the relevant binding documentation. |
| 29 | |
| 30 | For UART devices, the preferred binding is a string in the form: |
| 31 | |
| 32 | <baud>{<parity>{<bits>{<flow>}}} |
| 33 | |
| 34 | where |
| 35 | |
| 36 | baud - baud rate in decimal |
| 37 | parity - 'n' (none), 'o', (odd) or 'e' (even) |
| 38 | bits - number of data bits |
| 39 | flow - 'r' (rts) |
| 40 | |
| 41 | For example: 115200n8r |
| 42 | |
| 43 | Implementation note: Linux will look for the property "linux,stdout-path" or |
| 44 | on PowerPC "stdout" if "stdout-path" is not found. However, the |
| 45 | "linux,stdout-path" and "stdout" properties are deprecated. New platforms |
| 46 | should only use the "stdout-path" property. |
Scott Wood | 567cf94 | 2015-10-06 22:48:19 -0500 | [diff] [blame] | 47 | |
| 48 | linux,booted-from-kexec |
| 49 | ----------------------- |
| 50 | |
| 51 | This property is set (currently only on PowerPC, and only needed on |
| 52 | book3e) by some versions of kexec-tools to tell the new kernel that it |
| 53 | is being booted by kexec, as the booting environment may differ (e.g. |
| 54 | a different secondary CPU release mechanism) |
James Morse | fcbd4bb | 2017-04-03 11:26:06 +0900 | [diff] [blame] | 55 | |
| 56 | linux,usable-memory-range |
| 57 | ------------------------- |
| 58 | |
| 59 | This property (arm64 only) holds a base address and size, describing a |
| 60 | limited region in which memory may be considered available for use by |
| 61 | the kernel. Memory outside of this range is not available for use. |
| 62 | |
| 63 | This property describes a limitation: memory within this range is only |
| 64 | valid when also described through another mechanism that the kernel |
| 65 | would otherwise use to determine available memory (e.g. memory nodes |
| 66 | or the EFI memory map). Valid memory may be sparse within the range. |
| 67 | e.g. |
| 68 | |
| 69 | / { |
| 70 | chosen { |
| 71 | linux,usable-memory-range = <0x9 0xf0000000 0x0 0x10000000>; |
| 72 | }; |
| 73 | }; |
| 74 | |
| 75 | The main usage is for crash dump kernel to identify its own usable |
| 76 | memory and exclude, at its boot time, any other memory areas that are |
| 77 | part of the panicked kernel's memory. |
| 78 | |
| 79 | While this property does not represent a real hardware, the address |
| 80 | and the size are expressed in #address-cells and #size-cells, |
| 81 | respectively, of the root node. |
| 82 | |
| 83 | linux,elfcorehdr |
| 84 | ---------------- |
| 85 | |
| 86 | This property (currently used only on arm64) holds the memory range, |
| 87 | the address and the size, of the elf core header which mainly describes |
| 88 | the panicked kernel's memory layout as PT_LOAD segments of elf format. |
| 89 | e.g. |
| 90 | |
| 91 | / { |
| 92 | chosen { |
| 93 | linux,elfcorehdr = <0x9 0xfffff000 0x0 0x800>; |
| 94 | }; |
| 95 | }; |
| 96 | |
| 97 | While this property does not represent a real hardware, the address |
| 98 | and the size are expressed in #address-cells and #size-cells, |
| 99 | respectively, of the root node. |