]> git.proxmox.com Git - mirror_ubuntu-bionic-kernel.git/blame - Documentation/devicetree/bindings/chosen.txt
Documentation: dt: chosen properties for arm64 kdump
[mirror_ubuntu-bionic-kernel.git] / Documentation / devicetree / bindings / chosen.txt
CommitLineData
2a9d832c
LL
1The chosen node
2---------------
3
4The chosen node does not represent a real device, but serves as a place
5for passing data between firmware and the operating system, like boot
6arguments. Data in the chosen node does not represent the hardware.
7
8
9stdout-path property
10--------------------
11
12Device trees may specify the device to be used for boot console output
13with 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
26If the character ":" is present in the value, this terminates the path.
27The meaning of any characters following the ":" is device-specific, and
28must be specified in the relevant binding documentation.
29
30For UART devices, the preferred binding is a string in the form:
31
32 <baud>{<parity>{<bits>{<flow>}}}
33
34where
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
41For example: 115200n8r
42
43Implementation note: Linux will look for the property "linux,stdout-path" or
44on PowerPC "stdout" if "stdout-path" is not found. However, the
45"linux,stdout-path" and "stdout" properties are deprecated. New platforms
46should only use the "stdout-path" property.
567cf94d
SW
47
48linux,booted-from-kexec
49-----------------------
50
51This property is set (currently only on PowerPC, and only needed on
52book3e) by some versions of kexec-tools to tell the new kernel that it
53is being booted by kexec, as the booting environment may differ (e.g.
54a different secondary CPU release mechanism)
fcbd4bb7
JM
55
56linux,usable-memory-range
57-------------------------
58
59This property (arm64 only) holds a base address and size, describing a
60limited region in which memory may be considered available for use by
61the kernel. Memory outside of this range is not available for use.
62
63This property describes a limitation: memory within this range is only
64valid when also described through another mechanism that the kernel
65would otherwise use to determine available memory (e.g. memory nodes
66or the EFI memory map). Valid memory may be sparse within the range.
67e.g.
68
69/ {
70 chosen {
71 linux,usable-memory-range = <0x9 0xf0000000 0x0 0x10000000>;
72 };
73};
74
75The main usage is for crash dump kernel to identify its own usable
76memory and exclude, at its boot time, any other memory areas that are
77part of the panicked kernel's memory.
78
79While this property does not represent a real hardware, the address
80and the size are expressed in #address-cells and #size-cells,
81respectively, of the root node.
82
83linux,elfcorehdr
84----------------
85
86This property (currently used only on arm64) holds the memory range,
87the address and the size, of the elf core header which mainly describes
88the panicked kernel's memory layout as PT_LOAD segments of elf format.
89e.g.
90
91/ {
92 chosen {
93 linux,elfcorehdr = <0x9 0xfffff000 0x0 0x800>;
94 };
95};
96
97While this property does not represent a real hardware, the address
98and the size are expressed in #address-cells and #size-cells,
99respectively, of the root node.