aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/mainboard/siemens/mc_apl1/variants/mc_apl1/mainboard.c10
-rw-r--r--src/soc/intel/apollolake/include/soc/pcr_ids.h1
2 files changed, 11 insertions, 0 deletions
diff --git a/src/mainboard/siemens/mc_apl1/variants/mc_apl1/mainboard.c b/src/mainboard/siemens/mc_apl1/variants/mc_apl1/mainboard.c
index 099b67b01d..6d22fd9826 100644
--- a/src/mainboard/siemens/mc_apl1/variants/mc_apl1/mainboard.c
+++ b/src/mainboard/siemens/mc_apl1/variants/mc_apl1/mainboard.c
@@ -27,6 +27,8 @@
#include <baseboard/variants.h>
#include <variant/ptn3460.h>
+#define TX_DWORD3 0xa8c
+
void variant_mainboard_final(void)
{
int status;
@@ -63,6 +65,14 @@ void variant_mainboard_final(void)
* offset 0x341C bit [3:0].
*/
pcr_or32(PID_LPC, PCR_LPC_PRC, (PCR_LPC_CCE_EN | PCR_LPC_PCE_EN));
+
+ /*
+ * Correct the SATA transmit signal via the High Speed I/O Transmit
+ * Control Register 3.
+ * Bit [23:16] set the output voltage swing for TX line.
+ * The value 0x4a sets the swing level to 0.58 V.
+ */
+ pcr_rmw32(PID_MODPHY, TX_DWORD3, (0x00 << 16), (0x4a << 16));
}
static void wait_for_legacy_dev(void *unused)
diff --git a/src/soc/intel/apollolake/include/soc/pcr_ids.h b/src/soc/intel/apollolake/include/soc/pcr_ids.h
index f6c990e495..dba69b1ecc 100644
--- a/src/soc/intel/apollolake/include/soc/pcr_ids.h
+++ b/src/soc/intel/apollolake/include/soc/pcr_ids.h
@@ -33,6 +33,7 @@
#define PID_ITSS 0xD0
#define PID_RTC 0xD1
#define PID_LPC 0xD2
+#define PID_MODPHY 0xA5
#define PID_AUNIT 0x4d
#define PID_BUNIT 0x4c