Hung-Te Lin submitted this change.

View Change

Approvals: build bot (Jenkins): Verified Angel Pons: Looks good to me, approved
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>
---
M src/mainboard/purism/librem_cnl/Makefile.inc
M src/mainboard/purism/librem_cnl/ramstage.c
M src/mainboard/purism/librem_cnl/romstage.c
A src/mainboard/purism/librem_cnl/variant.h
M src/mainboard/purism/librem_cnl/variants/librem_mini/gpio.c
D src/mainboard/purism/librem_cnl/variants/librem_mini/include/variant/gpio.h
A src/mainboard/purism/librem_cnl/variants/librem_mini/variant.c
7 files changed, 32 insertions(+), 19 deletions(-)

diff --git a/src/mainboard/purism/librem_cnl/Makefile.inc b/src/mainboard/purism/librem_cnl/Makefile.inc
index ba157df..8e3b5a6 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 56ed1b7..e93911e 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 3a3ca6b..b7c57ee 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 @@
{
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/variant.h b/src/mainboard/purism/librem_cnl/variant.h
new file mode 100644
index 0000000..79a3241
--- /dev/null
+++ b/src/mainboard/purism/librem_cnl/variant.h
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+
+#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 8fa4ac5..08134e0 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/include/variant/gpio.h b/src/mainboard/purism/librem_cnl/variants/librem_mini/include/variant/gpio.h
deleted file mode 100644
index 9094b04..0000000
--- a/src/mainboard/purism/librem_cnl/variants/librem_mini/include/variant/gpio.h
+++ /dev/null
@@ -1,11 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0-only */
-
-#ifndef VARIANT_GPIO_H
-#define VARIANT_GPIO_H
-
-#include <soc/gpe.h>
-#include <soc/gpio.h>
-
-const struct pad_config *variant_gpio_table(size_t *num);
-
-#endif
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 0000000..9d7e27f
--- /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;
+}

To view, visit change 48519. To unsubscribe, or for help writing mail filters, visit settings.

Gerrit-Project: coreboot
Gerrit-Branch: master
Gerrit-Change-Id: Ie8f714cc759675c692ad6e3f20e50adad8d09d4b
Gerrit-Change-Number: 48519
Gerrit-PatchSet: 5
Gerrit-Owner: Matt DeVillier <matt.devillier@gmail.com>
Gerrit-Reviewer: Angel Pons <th3fanbus@gmail.com>
Gerrit-Reviewer: Hung-Te Lin <hungte@chromium.org>
Gerrit-Reviewer: Martin Roth <martinroth@google.com>
Gerrit-Reviewer: Michael Niewöhner <foss@mniewoehner.de>
Gerrit-Reviewer: Patrick Georgi <pgeorgi@google.com>
Gerrit-Reviewer: build bot (Jenkins) <no-reply@coreboot.org>
Gerrit-CC: Paul Menzel <paulepanter@users.sourceforge.net>
Gerrit-MessageType: merged