mirror of
				https://github.com/smaeul/u-boot.git
				synced 2025-10-30 19:48:19 +00:00 
			
		
		
		
	Add common DPTF (Intel Dynamic Performance and Thermal Framework) files, taken from coreboot. Signed-off-by: Simon Glass <sjg@chromium.org>
		
			
				
	
	
		
			187 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			187 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| /* SPDX-License-Identifier: GPL-2.0 */
 | |
| /*
 | |
|  * Copyright (C) 2014 Google Inc.
 | |
|  * Copyright (C) 2016 Intel Corporation.
 | |
|  */
 | |
| 
 | |
| External (\_PR.CP00._PSS, PkgObj)
 | |
| External (\_PR.CP00._TSS, PkgObj)
 | |
| External (\_PR.CP00._TPC, MethodObj)
 | |
| External (\_PR.CP00._PTC, PkgObj)
 | |
| External (\_PR.CP00._TSD, PkgObj)
 | |
| External (\_SB.MPDL, IntObj)
 | |
| 
 | |
| Device (DPTF_CPU_DEVICE)
 | |
| {
 | |
| 	Name(_ADR, DPTF_CPU_ADDR)
 | |
| 
 | |
| 	Method (_STA)
 | |
| 	{
 | |
| 		If (LEqual (\DPTE, One)) {
 | |
| 			Return (0xF)
 | |
| 		} Else {
 | |
| 			Return (0x0)
 | |
| 		}
 | |
| 	}
 | |
| 
 | |
| 	/*
 | |
| 	 * Processor Throttling Controls
 | |
| 	 */
 | |
| 
 | |
| 	Method (_TSS)
 | |
| 	{
 | |
| 		If (CondRefOf (\_PR.CP00._TSS)) {
 | |
| 			Return (\_PR.CP00._TSS)
 | |
| 		} Else {
 | |
| 			Return (Package ()
 | |
| 			{
 | |
| 				Package () { 0, 0, 0, 0, 0 }
 | |
| 			})
 | |
| 		}
 | |
| 	}
 | |
| 
 | |
| 	Method (_TPC)
 | |
| 	{
 | |
| 		If (CondRefOf (\_PR.CP00._TPC)) {
 | |
| 			Return (\_PR.CP00._TPC)
 | |
| 		} Else {
 | |
| 			Return (0)
 | |
| 		}
 | |
| 	}
 | |
| 
 | |
| 	Method (_PTC)
 | |
| 	{
 | |
| 		If (CondRefOf (\_PR.CP00._PTC)) {
 | |
| 			Return (\_PR.CP00._PTC)
 | |
| 		} Else {
 | |
| 			Return (Package ()
 | |
| 			{
 | |
| 				Buffer () { 0 },
 | |
| 				Buffer () { 0 }
 | |
| 			})
 | |
| 		}
 | |
| 	}
 | |
| 
 | |
| 	Method (_TSD)
 | |
| 	{
 | |
| 		If (CondRefOf (\_PR.CP00._TSD)) {
 | |
| 			Return (\_PR.CP00._TSD)
 | |
| 		} Else {
 | |
| 			Return (Package ()
 | |
| 			{
 | |
| 				Package () { 5, 0, 0, 0, 0 }
 | |
| 			})
 | |
| 		}
 | |
| 	}
 | |
| 
 | |
| 	Method (_TDL)
 | |
| 	{
 | |
| 		If (CondRefOf (\_PR.CP00._TSS)) {
 | |
| 			Store (SizeOf (\_PR.CP00._TSS), Local0)
 | |
| 			Decrement (Local0)
 | |
| 			Return (Local0)
 | |
| 		} Else {
 | |
| 			Return (0)
 | |
| 		}
 | |
| 	}
 | |
| 
 | |
| 	/*
 | |
| 	 * Processor Performance Control
 | |
| 	 */
 | |
| 
 | |
| 	Method (_PPC)
 | |
| 	{
 | |
| 		Return (0)
 | |
| 	}
 | |
| 
 | |
| 	Method (SPPC, 1)
 | |
| 	{
 | |
| 		Store (Arg0, \PPCM)
 | |
| 
 | |
| 		/* Notify OS to re-read _PPC limit on each CPU */
 | |
| 		\PPCN ()
 | |
| 	}
 | |
| 
 | |
| 	Method (_PSS)
 | |
| 	{
 | |
| 		If (CondRefOf (\_PR.CP00._PSS)) {
 | |
| 			Return (\_PR.CP00._PSS)
 | |
| 		} Else {
 | |
| 			Return (Package ()
 | |
| 			{
 | |
| 				Package () { 0, 0, 0, 0, 0, 0 }
 | |
| 			})
 | |
| 		}
 | |
| 	}
 | |
| 
 | |
| 
 | |
| 	Method (_PDL)
 | |
| 	{
 | |
| 		/* Check for mainboard specific _PDL override */
 | |
| 		If (CondRefOf (\_SB.MPDL)) {
 | |
| 			Return (\_SB.MPDL)
 | |
| 		} ElseIf (CondRefOf (\_PR.CP00._PSS)) {
 | |
| 			Store (SizeOf (\_PR.CP00._PSS), Local0)
 | |
| 			Decrement (Local0)
 | |
| 			Return (Local0)
 | |
| 		} Else {
 | |
| 			Return (0)
 | |
| 		}
 | |
| 	}
 | |
| 
 | |
| 	/* Return PPCC table defined by mainboard */
 | |
| 	Method (PPCC)
 | |
| 	{
 | |
| 		Return (\_SB.MPPC)
 | |
| 	}
 | |
| 
 | |
| #ifdef DPTF_CPU_CRITICAL
 | |
| 	Method (_CRT)
 | |
| 	{
 | |
| 		Return (\_SB.DPTF.CTOK (DPTF_CPU_CRITICAL))
 | |
| 	}
 | |
| #endif
 | |
| 
 | |
| #ifdef DPTF_CPU_PASSIVE
 | |
| 	Method (_PSV)
 | |
| 	{
 | |
| 		Return (\_SB.DPTF.CTOK (DPTF_CPU_PASSIVE))
 | |
| 	}
 | |
| #endif
 | |
| 
 | |
| #ifdef DPTF_CPU_ACTIVE_AC0
 | |
| 	Method (_AC0)
 | |
| 	{
 | |
| 		Return (\_SB.DPTF.CTOK (DPTF_CPU_ACTIVE_AC0))
 | |
| 	}
 | |
| #endif
 | |
| 
 | |
| #ifdef DPTF_CPU_ACTIVE_AC1
 | |
| 	Method (_AC1)
 | |
| 	{
 | |
| 		Return (\_SB.DPTF.CTOK (DPTF_CPU_ACTIVE_AC1))
 | |
| 	}
 | |
| #endif
 | |
| 
 | |
| #ifdef DPTF_CPU_ACTIVE_AC2
 | |
| 	Method (_AC2)
 | |
| 	{
 | |
| 		Return (\_SB.DPTF.CTOK (DPTF_CPU_ACTIVE_AC2))
 | |
| 	}
 | |
| #endif
 | |
| 
 | |
| #ifdef DPTF_CPU_ACTIVE_AC3
 | |
| 	Method (_AC3)
 | |
| 	{
 | |
| 		Return (\_SB.DPTF.CTOK (DPTF_CPU_ACTIVE_AC3))
 | |
| 	}
 | |
| #endif
 | |
| 
 | |
| #ifdef DPTF_CPU_ACTIVE_AC4
 | |
| 	Method (_AC4)
 | |
| 	{
 | |
| 		Return (\_SB.DPTF.CTOK (DPTF_CPU_ACTIVE_AC4))
 | |
| 	}
 | |
| #endif
 | |
| }
 |