summaryrefslogtreecommitdiffstats
path: root/Documentation/devicetree/bindings/firmware/coreboot.txt
blob: 4c955703cea87f733494d7ac84d87d1198cf0fb7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
COREBOOT firmware information

The device tree node to communicate the location of coreboot's memory-resident
bookkeeping structures to the kernel. Since coreboot itself cannot boot a
device-tree-based kernel (yet), this node needs to be inserted by a
second-stage bootloader (a coreboot "payload").

Required properties:
 - compatible: Should be "coreboot"
 - reg: Address and length of the following two memory regions, in order:
	1.) The coreboot table. This is a list of variable-sized descriptors
	that contain various compile- and run-time generated firmware
	parameters. It is identified by the magic string "LBIO" in its first
	four bytes.
	See coreboot's src/commonlib/include/commonlib/coreboot_tables.h for
	details.
	2.) The CBMEM area. This is a downward-growing memory region used by
	coreboot to dynamically allocate data structures that remain resident.
	It may or may not include the coreboot table as one of its members. It
	is identified by a root node descriptor with the magic number
	0xc0389481 that resides in the topmost 8 bytes of the area.
	See coreboot's src/include/imd.h for details.

Example:
	firmware {
		ranges;

		coreboot {
			compatible = "coreboot";
			reg = <0xfdfea000 0x264>,
			      <0xfdfea000 0x16000>;
		}
	};