mirror of
				https://github.com/smaeul/u-boot.git
				synced 2025-10-31 03:58:17 +00:00 
			
		
		
		
	Add a generic driver that binds to armv8 CPU nodes. The generic driver allows
- to enumerate CPUs present in a system, even when no other driver binds it
- generates ACPI SSDT code for each CPU
- Fill the ACPI MADT table (implemented in a follow up patch)
The newly introduced code could also be reused on other CPU drivers that are
compatible with armv8.
TEST: Booted on QEMU sbsa and verify the driver binds to CPU nodes.
      Confirmed with FWTS that all ACPI processor devices are present.
Signed-off-by: Patrick Rudolph <patrick.rudolph@9elements.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Cc: Tom Rini <trini@konsulko.com>
Cc: Simon Glass <sjg@chromium.org>
		
	
			
		
			
				
	
	
		
			21 lines
		
	
	
		
			470 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			21 lines
		
	
	
		
			470 B
		
	
	
	
		
			C
		
	
	
	
	
	
| // SPDX-License-Identifier: GPL-2.0+
 | |
| /*
 | |
|  * Copyright 2024 9elements GmbH
 | |
|  */
 | |
| #include <dm/acpi.h>
 | |
| #include <dm/device.h>
 | |
| 
 | |
| #ifndef _ARMV8_CPU_H_
 | |
| #define _ARMV8_CPU_H_
 | |
| 
 | |
| /**
 | |
|  * armv8_cpu_fill_ssdt() - Fill the SSDT
 | |
|  * Parses the FDT and writes the SSDT nodes.
 | |
|  *
 | |
|  * @dev: cpu device to generate ACPI tables for
 | |
|  * @ctx: ACPI context pointer
 | |
|  * @return:	0 if OK, or a negative error code.
 | |
|  */
 | |
| int armv8_cpu_fill_ssdt(const struct udevice *dev, struct acpi_ctx *ctx);
 | |
| 
 | |
| #endif |