soc/intel/alderlake: Add ADL-P 4+4 with 28W TDP
Add the 28W TDP version of the ADL-P with MCHID 0x4629. Verified that all 28W SoCs have the same PL1/PL2 defined in Intel document #655258 "12th Generation Intel Core Processors Datasheet, Volume 1 of 2". Fixes the error seen in coreboot log: [ERROR] unknown SA ID: 0x4629, skipped power Limit Configuration Change-Id: Iad676f083dfd1cceb4df9435d467dc0f31a63f80 Signed-off-by: Patrick Rudolph <patrick.rudolph@9elements.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/74116 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Lean Sheng Tan <sheng.tan@9elements.com> Reviewed-by: Sean Rhodes <sean@starlabs.systems> Reviewed-by: Maximilian Brune <maximilian.brune@9elements.com>
This commit is contained in:
		
				
					committed by
					
						 Lean Sheng Tan
						Lean Sheng Tan
					
				
			
			
				
	
			
			
			
						parent
						
							3453c313ac
						
					
				
				
					commit
					f7f7b3bbf6
				
			| @@ -50,7 +50,7 @@ chip soc/intel/alderlake | |||||||
| 		.tdp_pl1_override = 15, | 		.tdp_pl1_override = 15, | ||||||
| 		.tdp_pl2_override = 25, | 		.tdp_pl2_override = 25, | ||||||
| 	}" | 	}" | ||||||
| 	register "power_limits_config[ADL_P_282_482_28W_CORE]" = "{ | 	register "power_limits_config[ADL_P_282_442_482_28W_CORE]" = "{ | ||||||
| 		.tdp_pl1_override = 64, | 		.tdp_pl1_override = 64, | ||||||
| 	}" | 	}" | ||||||
| 	device domain 0 on | 	device domain 0 on | ||||||
|   | |||||||
| @@ -87,7 +87,7 @@ chip soc/intel/alderlake | |||||||
|  |  | ||||||
| 	register "tcc_offset" = "10"     # TCC of 90 | 	register "tcc_offset" = "10"     # TCC of 90 | ||||||
|  |  | ||||||
| 	register "power_limits_config[ADL_P_282_482_28W_CORE]" = "{ | 	register "power_limits_config[ADL_P_282_442_482_28W_CORE]" = "{ | ||||||
| 		.tdp_pl1_override = 30, | 		.tdp_pl1_override = 30, | ||||||
| 		.tdp_pl2_override = 60, | 		.tdp_pl2_override = 60, | ||||||
| 		.tdp_pl4 = 90, | 		.tdp_pl4 = 90, | ||||||
|   | |||||||
| @@ -83,7 +83,7 @@ chip soc/intel/alderlake | |||||||
| 		}, | 		}, | ||||||
| 	}" | 	}" | ||||||
|  |  | ||||||
| 	register "power_limits_config[ADL_P_282_482_28W_CORE]" = "{ | 	register "power_limits_config[ADL_P_282_442_482_28W_CORE]" = "{ | ||||||
| 		.tdp_pl1_override = 20, | 		.tdp_pl1_override = 20, | ||||||
| 		.tdp_pl2_override = 43, | 		.tdp_pl2_override = 43, | ||||||
| 		.tdp_pl4 = 105, | 		.tdp_pl4 = 105, | ||||||
|   | |||||||
| @@ -51,7 +51,7 @@ chip soc/intel/alderlake | |||||||
| 	register "power_limits_config[ADL_P_142_242_282_15W_CORE]" = "{ | 	register "power_limits_config[ADL_P_142_242_282_15W_CORE]" = "{ | ||||||
| 		.tdp_pl1_override = 55, | 		.tdp_pl1_override = 55, | ||||||
| 	}" | 	}" | ||||||
| 	register "power_limits_config[ADL_P_282_482_28W_CORE]" = "{ | 	register "power_limits_config[ADL_P_282_442_482_28W_CORE]" = "{ | ||||||
| 		.tdp_pl1_override = 64, | 		.tdp_pl1_override = 64, | ||||||
| 	}" | 	}" | ||||||
| 	device domain 0 on | 	device domain 0 on | ||||||
|   | |||||||
| @@ -83,7 +83,7 @@ chip soc/intel/alderlake | |||||||
| 		}, | 		}, | ||||||
| 	}" | 	}" | ||||||
|  |  | ||||||
| 	register "power_limits_config[ADL_P_282_482_28W_CORE]" = "{ | 	register "power_limits_config[ADL_P_282_442_482_28W_CORE]" = "{ | ||||||
| 		.tdp_pl1_override = 20, | 		.tdp_pl1_override = 20, | ||||||
| 		.tdp_pl2_override = 43, | 		.tdp_pl2_override = 43, | ||||||
| 		.tdp_pl4 = 105, | 		.tdp_pl4 = 105, | ||||||
|   | |||||||
| @@ -16,7 +16,7 @@ void devtree_update(void) | |||||||
| 	common_config = chip_get_common_soc_structure(); | 	common_config = chip_get_common_soc_structure(); | ||||||
|  |  | ||||||
| 	struct soc_power_limits_config *soc_conf_10core = | 	struct soc_power_limits_config *soc_conf_10core = | ||||||
| 		&cfg->power_limits_config[ADL_P_282_482_28W_CORE]; | 		&cfg->power_limits_config[ADL_P_282_442_482_28W_CORE]; | ||||||
|  |  | ||||||
| 	struct soc_power_limits_config *soc_conf_12core = | 	struct soc_power_limits_config *soc_conf_12core = | ||||||
| 		&cfg->power_limits_config[ADL_P_682_28W_CORE]; | 		&cfg->power_limits_config[ADL_P_682_28W_CORE]; | ||||||
|   | |||||||
| @@ -1,7 +1,7 @@ | |||||||
| chip soc/intel/alderlake | chip soc/intel/alderlake | ||||||
| 	# HACK: Limit PL4 to PL2 to prevent power-off when system is booted on | 	# HACK: Limit PL4 to PL2 to prevent power-off when system is booted on | ||||||
| 	# battery power. This seems to only happen with the i7 units. | 	# battery power. This seems to only happen with the i7 units. | ||||||
| 	register "power_limits_config[ADL_P_282_482_28W_CORE]" = "{ | 	register "power_limits_config[ADL_P_282_442_482_28W_CORE]" = "{ | ||||||
| 		.tdp_pl1_override = 20, | 		.tdp_pl1_override = 20, | ||||||
| 		.tdp_pl2_override = 56, | 		.tdp_pl2_override = 56, | ||||||
| 		.tdp_pl4 = 56, // FIXME: Set to 65 | 		.tdp_pl4 = 56, // FIXME: Set to 65 | ||||||
|   | |||||||
| @@ -1,5 +1,5 @@ | |||||||
| chip soc/intel/alderlake | chip soc/intel/alderlake | ||||||
| 	register "power_limits_config[ADL_P_282_482_28W_CORE]" = "{ | 	register "power_limits_config[ADL_P_282_442_482_28W_CORE]" = "{ | ||||||
| 		.tdp_pl1_override = 28, | 		.tdp_pl1_override = 28, | ||||||
| 		.tdp_pl2_override = 60, | 		.tdp_pl2_override = 60, | ||||||
| 		.tdp_pl4 = 90, | 		.tdp_pl4 = 90, | ||||||
|   | |||||||
| @@ -42,7 +42,7 @@ struct ibecc_config { | |||||||
| /* Types of different SKUs */ | /* Types of different SKUs */ | ||||||
| enum soc_intel_alderlake_power_limits { | enum soc_intel_alderlake_power_limits { | ||||||
| 	ADL_P_142_242_282_15W_CORE, | 	ADL_P_142_242_282_15W_CORE, | ||||||
| 	ADL_P_282_482_28W_CORE, | 	ADL_P_282_442_482_28W_CORE, | ||||||
| 	ADL_P_682_28W_CORE, | 	ADL_P_682_28W_CORE, | ||||||
| 	ADL_P_442_482_45W_CORE, | 	ADL_P_442_482_45W_CORE, | ||||||
| 	ADL_P_642_682_45W_CORE, | 	ADL_P_642_682_45W_CORE, | ||||||
| @@ -102,13 +102,14 @@ static const struct { | |||||||
| 	{ PCI_DID_INTEL_ADL_P_ID_10, ADL_P_142_242_282_15W_CORE, TDP_15W }, | 	{ PCI_DID_INTEL_ADL_P_ID_10, ADL_P_142_242_282_15W_CORE, TDP_15W }, | ||||||
| 	{ PCI_DID_INTEL_ADL_P_ID_7, ADL_P_142_242_282_15W_CORE, TDP_15W }, | 	{ PCI_DID_INTEL_ADL_P_ID_7, ADL_P_142_242_282_15W_CORE, TDP_15W }, | ||||||
| 	{ PCI_DID_INTEL_ADL_P_ID_6, ADL_P_142_242_282_15W_CORE, TDP_15W }, | 	{ PCI_DID_INTEL_ADL_P_ID_6, ADL_P_142_242_282_15W_CORE, TDP_15W }, | ||||||
| 	{ PCI_DID_INTEL_ADL_P_ID_7, ADL_P_282_482_28W_CORE, TDP_28W }, | 	{ PCI_DID_INTEL_ADL_P_ID_7, ADL_P_282_442_482_28W_CORE, TDP_28W }, | ||||||
| 	{ PCI_DID_INTEL_ADL_P_ID_5, ADL_P_282_482_28W_CORE, TDP_28W }, | 	{ PCI_DID_INTEL_ADL_P_ID_5, ADL_P_282_442_482_28W_CORE, TDP_28W }, | ||||||
| 	{ PCI_DID_INTEL_ADL_P_ID_3, ADL_P_682_28W_CORE, TDP_28W }, | 	{ PCI_DID_INTEL_ADL_P_ID_3, ADL_P_682_28W_CORE, TDP_28W }, | ||||||
| 	{ PCI_DID_INTEL_ADL_P_ID_5, ADL_P_442_482_45W_CORE, TDP_45W }, | 	{ PCI_DID_INTEL_ADL_P_ID_5, ADL_P_442_482_45W_CORE, TDP_45W }, | ||||||
| 	{ PCI_DID_INTEL_ADL_P_ID_4, ADL_P_642_682_45W_CORE, TDP_45W }, | 	{ PCI_DID_INTEL_ADL_P_ID_4, ADL_P_642_682_45W_CORE, TDP_45W }, | ||||||
| 	{ PCI_DID_INTEL_ADL_P_ID_3, ADL_P_642_682_45W_CORE, TDP_45W }, | 	{ PCI_DID_INTEL_ADL_P_ID_3, ADL_P_642_682_45W_CORE, TDP_45W }, | ||||||
| 	{ PCI_DID_INTEL_ADL_P_ID_1, ADL_P_442_482_45W_CORE, TDP_45W }, | 	{ PCI_DID_INTEL_ADL_P_ID_1, ADL_P_442_482_45W_CORE, TDP_45W }, | ||||||
|  | 	{ PCI_DID_INTEL_ADL_P_ID_1, ADL_P_282_442_482_28W_CORE, TDP_28W }, | ||||||
| 	{ PCI_DID_INTEL_ADL_M_ID_1, ADL_M_282_12W_CORE, TDP_12W }, | 	{ PCI_DID_INTEL_ADL_M_ID_1, ADL_M_282_12W_CORE, TDP_12W }, | ||||||
| 	{ PCI_DID_INTEL_ADL_M_ID_1, ADL_M_282_15W_CORE, TDP_15W }, | 	{ PCI_DID_INTEL_ADL_M_ID_1, ADL_M_282_15W_CORE, TDP_15W }, | ||||||
| 	{ PCI_DID_INTEL_ADL_M_ID_2, ADL_M_242_CORE, TDP_9W }, | 	{ PCI_DID_INTEL_ADL_M_ID_2, ADL_M_242_CORE, TDP_9W }, | ||||||
|   | |||||||
| @@ -8,7 +8,7 @@ chip soc/intel/alderlake | |||||||
| 		.tdp_pl4 = 123, | 		.tdp_pl4 = 123, | ||||||
| 	}" | 	}" | ||||||
|  |  | ||||||
| 	register "power_limits_config[ADL_P_282_482_28W_CORE]" = "{ | 	register "power_limits_config[ADL_P_282_442_482_28W_CORE]" = "{ | ||||||
| 		.tdp_pl1_override = 28, | 		.tdp_pl1_override = 28, | ||||||
| 		.tdp_pl2_override = 64, | 		.tdp_pl2_override = 64, | ||||||
| 		.tdp_pl4 = 90, | 		.tdp_pl4 = 90, | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user