xref: /freebsd/sys/contrib/device-tree/Bindings/firmware/coreboot.txt (revision 7ef62cebc2f965b0f640263e179276928885e33d)
1COREBOOT firmware information
2
3The device tree node to communicate the location of coreboot's memory-resident
4bookkeeping structures to the kernel. Since coreboot itself cannot boot a
5device-tree-based kernel (yet), this node needs to be inserted by a
6second-stage bootloader (a coreboot "payload").
7
8Required properties:
9 - compatible: Should be "coreboot"
10 - reg: Address and length of the following two memory regions, in order:
11	1.) The coreboot table. This is a list of variable-sized descriptors
12	that contain various compile- and run-time generated firmware
13	parameters. It is identified by the magic string "LBIO" in its first
14	four bytes.
15	See coreboot's src/commonlib/include/commonlib/coreboot_tables.h for
16	details.
17	2.) The CBMEM area. This is a downward-growing memory region used by
18	coreboot to dynamically allocate data structures that remain resident.
19	It may or may not include the coreboot table as one of its members. It
20	is identified by a root node descriptor with the magic number
21	0xc0389481 that resides in the topmost 8 bytes of the area.
22	See coreboot's src/include/imd.h for details.
23
24Example:
25	firmware {
26		ranges;
27
28		coreboot {
29			compatible = "coreboot";
30			reg = <0xfdfea000 0x264>,
31			      <0xfdfea000 0x16000>;
32		}
33	};
34