summaryrefslogtreecommitdiff
path: root/src/mainboard
diff options
context:
space:
mode:
authorMatt DeVillier <matt.devillier@puri.sm>2020-11-16 15:36:23 -0600
committerHung-Te Lin <hungte@chromium.org>2020-12-14 08:25:57 +0000
commitd8a4dd0b3290cc904f58211f161b2363efac7b90 (patch)
treef7d7116409000316692afe5cc92c0ee9d0510740 /src/mainboard
parent77509be2c8c3196075669a300954fda5a1ff28c2 (diff)
mb/purism/librem_cnl: move setting of FSP-M UPDs into variant.c
The upcoming Librem 14 variant won't use the same SATA HSIO adjustments as the Librem Mini, so move these settings into a variant-specific file. Rename existing gpio.h to variant.h, move to board root directory, and use for all variant-specific declarations; adjust references as needed. Add newly-created variant.c to Makefile. Test: build/boot Librem Mini, verify SATA functionality unchanged. Change-Id: Ie8f714cc759675c692ad6e3f20e50adad8d09d4b Signed-off-by: Matt DeVillier <matt.devillier@puri.sm> Reviewed-on: https://review.coreboot.org/c/coreboot/+/48519 Reviewed-by: Angel Pons <th3fanbus@gmail.com> Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Diffstat (limited to 'src/mainboard')
-rw-r--r--src/mainboard/purism/librem_cnl/Makefile.inc2
-rw-r--r--src/mainboard/purism/librem_cnl/ramstage.c2
-rw-r--r--src/mainboard/purism/librem_cnl/romstage.c8
-rw-r--r--src/mainboard/purism/librem_cnl/variant.h (renamed from src/mainboard/purism/librem_cnl/variants/librem_mini/include/variant/gpio.h)7
-rw-r--r--src/mainboard/purism/librem_cnl/variants/librem_mini/gpio.c2
-rw-r--r--src/mainboard/purism/librem_cnl/variants/librem_mini/variant.c12
6 files changed, 23 insertions, 10 deletions
diff --git a/src/mainboard/purism/librem_cnl/Makefile.inc b/src/mainboard/purism/librem_cnl/Makefile.inc
index ba157dfd05..8e3b5a6f36 100644
--- a/src/mainboard/purism/librem_cnl/Makefile.inc
+++ b/src/mainboard/purism/librem_cnl/Makefile.inc
@@ -1,5 +1,7 @@
## SPDX-License-Identifier: GPL-2.0-only
+romstage-y += variants/$(VARIANT_DIR)/variant.c
+
ramstage-y += variants/$(VARIANT_DIR)/gpio.c
ramstage-y += variants/$(VARIANT_DIR)/hda_verb.c
ramstage-y += ramstage.c
diff --git a/src/mainboard/purism/librem_cnl/ramstage.c b/src/mainboard/purism/librem_cnl/ramstage.c
index 56ed1b7844..e93911e324 100644
--- a/src/mainboard/purism/librem_cnl/ramstage.c
+++ b/src/mainboard/purism/librem_cnl/ramstage.c
@@ -1,7 +1,7 @@
/* SPDX-License-Identifier: GPL-2.0-only */
#include <soc/ramstage.h>
-#include <variant/gpio.h>
+#include "variant.h"
void mainboard_silicon_init_params(FSP_S_CONFIG *params)
{
diff --git a/src/mainboard/purism/librem_cnl/romstage.c b/src/mainboard/purism/librem_cnl/romstage.c
index 3a3ca6b491..b7c57ee379 100644
--- a/src/mainboard/purism/librem_cnl/romstage.c
+++ b/src/mainboard/purism/librem_cnl/romstage.c
@@ -2,6 +2,7 @@
#include <soc/cnl_memcfg_init.h>
#include <soc/romstage.h>
+#include "variant.h"
static const struct cnl_mb_cfg memcfg = {
@@ -50,10 +51,5 @@ void mainboard_memory_init_params(FSPM_UPD *memupd)
{
FSP_M_CONFIG *mem_cfg = &memupd->FspmConfig;
cannonlake_memcfg_init(mem_cfg, &memcfg);
-
- /* Enable and set SATA HSIO adjustments for ports 0 and 2 */
- mem_cfg->PchSataHsioRxGen3EqBoostMagEnable[0] = 1;
- mem_cfg->PchSataHsioRxGen3EqBoostMagEnable[2] = 1;
- mem_cfg->PchSataHsioRxGen3EqBoostMag[0] = 2;
- mem_cfg->PchSataHsioRxGen3EqBoostMag[2] = 1;
+ variant_memory_init_params(mem_cfg);
}
diff --git a/src/mainboard/purism/librem_cnl/variants/librem_mini/include/variant/gpio.h b/src/mainboard/purism/librem_cnl/variant.h
index 9094b0419d..79a32414b8 100644
--- a/src/mainboard/purism/librem_cnl/variants/librem_mini/include/variant/gpio.h
+++ b/src/mainboard/purism/librem_cnl/variant.h
@@ -1,11 +1,14 @@
/* SPDX-License-Identifier: GPL-2.0-only */
-#ifndef VARIANT_GPIO_H
-#define VARIANT_GPIO_H
+#ifndef VARIANT_H
+#define VARIANT_H
#include <soc/gpe.h>
#include <soc/gpio.h>
+#include <soc/romstage.h>
const struct pad_config *variant_gpio_table(size_t *num);
+void variant_memory_init_params(FSP_M_CONFIG *mem_cfg);
+
#endif
diff --git a/src/mainboard/purism/librem_cnl/variants/librem_mini/gpio.c b/src/mainboard/purism/librem_cnl/variants/librem_mini/gpio.c
index 8fa4ac57ec..08134e0c76 100644
--- a/src/mainboard/purism/librem_cnl/variants/librem_mini/gpio.c
+++ b/src/mainboard/purism/librem_cnl/variants/librem_mini/gpio.c
@@ -1,6 +1,6 @@
/* SPDX-License-Identifier: GPL-2.0-only */
-#include <variant/gpio.h>
+#include "../../variant.h"
/* Pad configuration was generated automatically using intelp2m utility */
static const struct pad_config gpio_table[] = {
diff --git a/src/mainboard/purism/librem_cnl/variants/librem_mini/variant.c b/src/mainboard/purism/librem_cnl/variants/librem_mini/variant.c
new file mode 100644
index 0000000000..9d7e27fd3e
--- /dev/null
+++ b/src/mainboard/purism/librem_cnl/variants/librem_mini/variant.c
@@ -0,0 +1,12 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+
+#include "../../variant.h"
+
+void variant_memory_init_params(FSP_M_CONFIG *mem_cfg)
+{
+ /* Enable and set SATA HSIO adjustments for ports 0 and 2 */
+ mem_cfg->PchSataHsioRxGen3EqBoostMagEnable[0] = 1;
+ mem_cfg->PchSataHsioRxGen3EqBoostMagEnable[2] = 1;
+ mem_cfg->PchSataHsioRxGen3EqBoostMag[0] = 2;
+ mem_cfg->PchSataHsioRxGen3EqBoostMag[2] = 1;
+}