34 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			34 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| 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>;
 | |
| 		}
 | |
| 	};
 |