soc/intel/appololake: Allow to configure SATA ALPM via devicetree

Add a devicetree option to disable SATA Aggressive Link Power
Management. ALPM is a method of saving power. The corresponding FSP-S
UPD parameter is enabled by default. It may be that this feature is
unwanted, for example for a real-time system. Therefore, allow to
disable ALPM using the devicetree.

Change-Id: Ica8920a87ebebe83f5d8cb4d6c8c0a6105e183e4
Signed-off-by: Mario Scheithauer <mario.scheithauer@siemens.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/61401
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Werner Zeh <werner.zeh@siemens.com>
Reviewed-by: Paul Menzel <paulepanter@mailbox.org>
diff --git a/src/soc/intel/apollolake/chip.c b/src/soc/intel/apollolake/chip.c
index 98844a5..82ec2da 100644
--- a/src/soc/intel/apollolake/chip.c
+++ b/src/soc/intel/apollolake/chip.c
@@ -693,6 +693,10 @@
 
 	silconfig->PavpEnable = CONFIG(PAVP);
 
+	/* SATA config */
+	if (is_devfn_enabled(PCH_DEVFN_SATA))
+		silconfig->SataSalpSupport = !(cfg->DisableSataSalpSupport);
+
 	mainboard_silicon_init_params(silconfig);
 }
 
diff --git a/src/soc/intel/apollolake/chip.h b/src/soc/intel/apollolake/chip.h
index 482b333..f531381 100644
--- a/src/soc/intel/apollolake/chip.h
+++ b/src/soc/intel/apollolake/chip.h
@@ -190,6 +190,9 @@
 	 * 0:Enable (default), 1:Disable.
 	 */
 	uint8_t disable_xhci_lfps_pm;
+
+	/* SATA Aggressive Link Power Management */
+	uint8_t DisableSataSalpSupport;
 };
 
 typedef struct soc_intel_apollolake_config config_t;