Arthur Heymans has uploaded this change for review.

View Change

mb/*/*{haswell}: Link gpio.c and add a const global for lp variant

This is similar to how sb/common/intel handles it. The advantage is
that the gpio configuration does not need to be passed on that much.

Change-Id: I6d07f0d4d3aaf4e8662d6f7dc8238d14a16fd04d
Signed-off-by: Arthur Heymans <arthur@aheymans.xyz>
---
M src/cpu/intel/haswell/haswell.h
M src/cpu/intel/haswell/romstage.c
M src/mainboard/asrock/h81m-hds/romstage.c
M src/mainboard/google/beltino/Makefile.inc
M src/mainboard/google/beltino/romstage.c
R src/mainboard/google/beltino/variants/mccloud/gpio.c
R src/mainboard/google/beltino/variants/monroe/gpio.c
R src/mainboard/google/beltino/variants/panther/gpio.c
R src/mainboard/google/beltino/variants/tricky/gpio.c
R src/mainboard/google/beltino/variants/zako/gpio.c
M src/mainboard/google/slippy/Makefile.inc
R src/mainboard/google/slippy/variants/falco/gpio.c
M src/mainboard/google/slippy/variants/falco/romstage.c
R src/mainboard/google/slippy/variants/leon/gpio.c
M src/mainboard/google/slippy/variants/leon/romstage.c
R src/mainboard/google/slippy/variants/peppy/gpio.c
M src/mainboard/google/slippy/variants/peppy/romstage.c
R src/mainboard/google/slippy/variants/wolf/gpio.c
M src/mainboard/google/slippy/variants/wolf/romstage.c
M src/mainboard/intel/baskingridge/Makefile.inc
R src/mainboard/intel/baskingridge/gpio.c
M src/mainboard/intel/baskingridge/romstage.c
M src/mainboard/supermicro/x10slm-f/romstage.c
M src/southbridge/intel/lynxpoint/early_pch.c
M src/southbridge/intel/lynxpoint/lp_gpio.h
M src/southbridge/intel/lynxpoint/pch.h
26 files changed, 25 insertions(+), 73 deletions(-)

git pull ssh://review.coreboot.org:29418/coreboot refs/changes/10/36710/1
diff --git a/src/cpu/intel/haswell/haswell.h b/src/cpu/intel/haswell/haswell.h
index 4c67ba8..7459011 100644
--- a/src/cpu/intel/haswell/haswell.h
+++ b/src/cpu/intel/haswell/haswell.h
@@ -134,7 +134,6 @@
struct rcba_config_instruction;
struct romstage_params {
struct pei_data *pei_data;
- const void *gpio_map;
const struct rcba_config_instruction *rcba_config;
void (*copy_spd)(struct pei_data *);
};
diff --git a/src/cpu/intel/haswell/romstage.c b/src/cpu/intel/haswell/romstage.c
index 34fd7b0..e28ebf4 100644
--- a/src/cpu/intel/haswell/romstage.c
+++ b/src/cpu/intel/haswell/romstage.c
@@ -33,7 +33,7 @@

enable_lapic();

- wake_from_s3 = early_pch_init(params->gpio_map, params->rcba_config);
+ wake_from_s3 = early_pch_init(params->rcba_config);

/* Perform some early chipset initialization required
* before RAM initialization can work
diff --git a/src/mainboard/asrock/h81m-hds/romstage.c b/src/mainboard/asrock/h81m-hds/romstage.c
index 3deae75..dd4043e 100644
--- a/src/mainboard/asrock/h81m-hds/romstage.c
+++ b/src/mainboard/asrock/h81m-hds/romstage.c
@@ -92,7 +92,6 @@

struct romstage_params romstage_params = {
.pei_data = &pei_data,
- .gpio_map = &mainboard_gpio_map,
.rcba_config = &rcba_config[0],
};

diff --git a/src/mainboard/google/beltino/Makefile.inc b/src/mainboard/google/beltino/Makefile.inc
index e1bebc1..7535350 100644
--- a/src/mainboard/google/beltino/Makefile.inc
+++ b/src/mainboard/google/beltino/Makefile.inc
@@ -21,6 +21,7 @@
smm-y += smihandler.c variants/$(VARIANT_DIR)/led.c

romstage-y += variants/$(VARIANT_DIR)/led.c
+romstage-y += variants/$(VARIANT_DIR)/gpio.c

subdirs-y += variants/$(VARIANT_DIR)
CPPFLAGS_common += -I$(src)/mainboard/$(MAINBOARDDIR)/variants/$(VARIANT_DIR)/include
diff --git a/src/mainboard/google/beltino/romstage.c b/src/mainboard/google/beltino/romstage.c
index f206664..5c91bec 100644
--- a/src/mainboard/google/beltino/romstage.c
+++ b/src/mainboard/google/beltino/romstage.c
@@ -24,7 +24,6 @@
#include <southbridge/intel/lynxpoint/pch.h>
#include <superio/ite/common/ite.h>
#include <superio/ite/it8772f/it8772f.h>
-#include <variant/gpio.h>
#include "onboard.h"

const struct rcba_config_instruction rcba_config[] = {
@@ -128,7 +127,6 @@

struct romstage_params romstage_params = {
.pei_data = &pei_data,
- .gpio_map = &mainboard_gpio_map,
.rcba_config = &rcba_config[0],
};

diff --git a/src/mainboard/google/beltino/variants/mccloud/include/variant/gpio.h b/src/mainboard/google/beltino/variants/mccloud/gpio.c
similarity index 98%
rename from src/mainboard/google/beltino/variants/mccloud/include/variant/gpio.h
rename to src/mainboard/google/beltino/variants/mccloud/gpio.c
index 116eeeb..47979d2b 100644
--- a/src/mainboard/google/beltino/variants/mccloud/include/variant/gpio.h
+++ b/src/mainboard/google/beltino/variants/mccloud/gpio.c
@@ -13,9 +13,7 @@
* GNU General Public License for more details.
*/

-#ifndef MCCLOUD_GPIO_H
-#define MCCLOUD_GPIO_H
-
+#include <stdint.h>
#include <southbridge/intel/lynxpoint/lp_gpio.h>

const struct pch_lp_gpio_map mainboard_gpio_map[] = {
@@ -116,5 +114,3 @@
LP_GPIO_UNUSED, /* 94: UNUSED */
LP_GPIO_END
};
-
-#endif
diff --git a/src/mainboard/google/beltino/variants/monroe/include/variant/gpio.h b/src/mainboard/google/beltino/variants/monroe/gpio.c
similarity index 98%
rename from src/mainboard/google/beltino/variants/monroe/include/variant/gpio.h
rename to src/mainboard/google/beltino/variants/monroe/gpio.c
index 8423e1e..22ef848 100644
--- a/src/mainboard/google/beltino/variants/monroe/include/variant/gpio.h
+++ b/src/mainboard/google/beltino/variants/monroe/gpio.c
@@ -13,9 +13,7 @@
* GNU General Public License for more details.
*/

-#ifndef MONROE_GPIO_H
-#define MONROE_GPIO_H
-
+#include <stdint.h>
#include <southbridge/intel/lynxpoint/lp_gpio.h>

const struct pch_lp_gpio_map mainboard_gpio_map[] = {
@@ -116,5 +114,3 @@
LP_GPIO_UNUSED, /* 94: UNUSED */
LP_GPIO_END
};
-
-#endif
diff --git a/src/mainboard/google/beltino/variants/panther/include/variant/gpio.h b/src/mainboard/google/beltino/variants/panther/gpio.c
similarity index 98%
rename from src/mainboard/google/beltino/variants/panther/include/variant/gpio.h
rename to src/mainboard/google/beltino/variants/panther/gpio.c
index e48f0b4..08142a8 100644
--- a/src/mainboard/google/beltino/variants/panther/include/variant/gpio.h
+++ b/src/mainboard/google/beltino/variants/panther/gpio.c
@@ -13,9 +13,7 @@
* GNU General Public License for more details.
*/

-#ifndef PANTHER_GPIO_H
-#define PANTHER_GPIO_H
-
+#include <stdint.h>
#include <southbridge/intel/lynxpoint/lp_gpio.h>

const struct pch_lp_gpio_map mainboard_gpio_map[] = {
@@ -116,5 +114,3 @@
LP_GPIO_UNUSED, /* 94: UNUSED */
LP_GPIO_END
};
-
-#endif
diff --git a/src/mainboard/google/beltino/variants/tricky/include/variant/gpio.h b/src/mainboard/google/beltino/variants/tricky/gpio.c
similarity index 98%
rename from src/mainboard/google/beltino/variants/tricky/include/variant/gpio.h
rename to src/mainboard/google/beltino/variants/tricky/gpio.c
index 6980ebb..df5d333 100644
--- a/src/mainboard/google/beltino/variants/tricky/include/variant/gpio.h
+++ b/src/mainboard/google/beltino/variants/tricky/gpio.c
@@ -13,9 +13,7 @@
* GNU General Public License for more details.
*/

-#ifndef TRICKY_GPIO_H
-#define TRICKY_GPIO_H
-
+#include <stdint.h>
#include <southbridge/intel/lynxpoint/lp_gpio.h>

const struct pch_lp_gpio_map mainboard_gpio_map[] = {
@@ -116,5 +114,3 @@
LP_GPIO_UNUSED, /* 94: UNUSED */
LP_GPIO_END
};
-
-#endif
diff --git a/src/mainboard/google/beltino/variants/zako/include/variant/gpio.h b/src/mainboard/google/beltino/variants/zako/gpio.c
similarity index 98%
rename from src/mainboard/google/beltino/variants/zako/include/variant/gpio.h
rename to src/mainboard/google/beltino/variants/zako/gpio.c
index dffefd6..e533bf0 100644
--- a/src/mainboard/google/beltino/variants/zako/include/variant/gpio.h
+++ b/src/mainboard/google/beltino/variants/zako/gpio.c
@@ -13,9 +13,7 @@
* GNU General Public License for more details.
*/

-#ifndef ZAKO_GPIO_H
-#define ZAKO_GPIO_H
-
+#include <stdint.h>
#include <southbridge/intel/lynxpoint/lp_gpio.h>

const struct pch_lp_gpio_map mainboard_gpio_map[] = {
@@ -116,5 +114,3 @@
LP_GPIO_UNUSED, /* 94: UNUSED */
LP_GPIO_END
};
-
-#endif
diff --git a/src/mainboard/google/slippy/Makefile.inc b/src/mainboard/google/slippy/Makefile.inc
index 921f9e7..f80dcab 100644
--- a/src/mainboard/google/slippy/Makefile.inc
+++ b/src/mainboard/google/slippy/Makefile.inc
@@ -21,6 +21,7 @@
smm-y += smihandler.c

romstage-y += variants/$(VARIANT_DIR)/romstage.c
+romstage-y += variants/$(VARIANT_DIR)/gpio.c

subdirs-y += variants/$(VARIANT_DIR)

diff --git a/src/mainboard/google/slippy/variants/falco/include/variant/gpio.h b/src/mainboard/google/slippy/variants/falco/gpio.c
similarity index 97%
rename from src/mainboard/google/slippy/variants/falco/include/variant/gpio.h
rename to src/mainboard/google/slippy/variants/falco/gpio.c
index c35b81e..3fdc032 100644
--- a/src/mainboard/google/slippy/variants/falco/include/variant/gpio.h
+++ b/src/mainboard/google/slippy/variants/falco/gpio.c
@@ -13,10 +13,8 @@
* GNU General Public License for more details.
*/

-#ifndef FALCO_GPIO_H
-#define FALCO_GPIO_H
-
-struct pch_lp_gpio_map;
+#include <stdint.h>
+#include <southbridge/intel/lynxpoint/lp_gpio.h>

const struct pch_lp_gpio_map mainboard_gpio_map[] = {
LP_GPIO_UNUSED, /* 0: UNUSED */
@@ -116,5 +114,3 @@
LP_GPIO_UNUSED, /* 94: UNUSED */
LP_GPIO_END
};
-
-#endif
diff --git a/src/mainboard/google/slippy/variants/falco/romstage.c b/src/mainboard/google/slippy/variants/falco/romstage.c
index 1903588..656bf70 100644
--- a/src/mainboard/google/slippy/variants/falco/romstage.c
+++ b/src/mainboard/google/slippy/variants/falco/romstage.c
@@ -24,7 +24,6 @@
#include <northbridge/intel/haswell/raminit.h>
#include <southbridge/intel/lynxpoint/pch.h>
#include <southbridge/intel/lynxpoint/lp_gpio.h>
-#include <variant/gpio.h>
#include "../../variant.h"

const struct rcba_config_instruction rcba_config[] = {
@@ -165,7 +164,6 @@

struct romstage_params romstage_params = {
.pei_data = &pei_data,
- .gpio_map = &mainboard_gpio_map,
.rcba_config = &rcba_config[0],
.copy_spd = copy_spd,
};
diff --git a/src/mainboard/google/slippy/variants/leon/include/variant/gpio.h b/src/mainboard/google/slippy/variants/leon/gpio.c
similarity index 97%
rename from src/mainboard/google/slippy/variants/leon/include/variant/gpio.h
rename to src/mainboard/google/slippy/variants/leon/gpio.c
index 7527ff2..5ea78f9 100644
--- a/src/mainboard/google/slippy/variants/leon/include/variant/gpio.h
+++ b/src/mainboard/google/slippy/variants/leon/gpio.c
@@ -13,10 +13,8 @@
* GNU General Public License for more details.
*/

-#ifndef LEON_GPIO_H
-#define LEON_GPIO_H
-
-struct pch_lp_gpio_map;
+#include <stdint.h>
+#include <southbridge/intel/lynxpoint/lp_gpio.h>

const struct pch_lp_gpio_map mainboard_gpio_map[] = {
LP_GPIO_UNUSED, /* 0: UNUSED */
@@ -116,5 +114,3 @@
LP_GPIO_UNUSED, /* 94: UNUSED */
LP_GPIO_END
};
-
-#endif
diff --git a/src/mainboard/google/slippy/variants/leon/romstage.c b/src/mainboard/google/slippy/variants/leon/romstage.c
index 3ef8eec..2eeb86d 100644
--- a/src/mainboard/google/slippy/variants/leon/romstage.c
+++ b/src/mainboard/google/slippy/variants/leon/romstage.c
@@ -24,7 +24,6 @@
#include <northbridge/intel/haswell/raminit.h>
#include <southbridge/intel/lynxpoint/pch.h>
#include <southbridge/intel/lynxpoint/lp_gpio.h>
-#include <variant/gpio.h>
#include "../../variant.h"

const struct rcba_config_instruction rcba_config[] = {
@@ -160,7 +159,6 @@

struct romstage_params romstage_params = {
.pei_data = &pei_data,
- .gpio_map = &mainboard_gpio_map,
.rcba_config = &rcba_config[0],
.copy_spd = copy_spd,
};
diff --git a/src/mainboard/google/slippy/variants/peppy/include/variant/gpio.h b/src/mainboard/google/slippy/variants/peppy/gpio.c
similarity index 97%
rename from src/mainboard/google/slippy/variants/peppy/include/variant/gpio.h
rename to src/mainboard/google/slippy/variants/peppy/gpio.c
index 8eb3da9..00e6a54 100644
--- a/src/mainboard/google/slippy/variants/peppy/include/variant/gpio.h
+++ b/src/mainboard/google/slippy/variants/peppy/gpio.c
@@ -13,10 +13,8 @@
* GNU General Public License for more details.
*/

-#ifndef PEPPY_GPIO_H
-#define PEPPY_GPIO_H
-
-struct pch_lp_gpio_map;
+#include <stdint.h>
+#include <southbridge/intel/lynxpoint/lp_gpio.h>

const struct pch_lp_gpio_map mainboard_gpio_map[] = {
LP_GPIO_UNUSED, /* 0: UNUSED */
@@ -116,5 +114,3 @@
LP_GPIO_UNUSED, /* 94: UNUSED */
LP_GPIO_END
};
-
-#endif
diff --git a/src/mainboard/google/slippy/variants/peppy/romstage.c b/src/mainboard/google/slippy/variants/peppy/romstage.c
index 71eafc2..048a154 100644
--- a/src/mainboard/google/slippy/variants/peppy/romstage.c
+++ b/src/mainboard/google/slippy/variants/peppy/romstage.c
@@ -25,7 +25,6 @@
#include <northbridge/intel/haswell/raminit.h>
#include <southbridge/intel/lynxpoint/pch.h>
#include <southbridge/intel/lynxpoint/lp_gpio.h>
-#include <variant/gpio.h>
#include "../../onboard.h"
#include "../../variant.h"

@@ -177,7 +176,6 @@

struct romstage_params romstage_params = {
.pei_data = &pei_data,
- .gpio_map = &mainboard_gpio_map,
.rcba_config = &rcba_config[0],
.copy_spd = copy_spd,
};
diff --git a/src/mainboard/google/slippy/variants/wolf/include/variant/gpio.h b/src/mainboard/google/slippy/variants/wolf/gpio.c
similarity index 97%
rename from src/mainboard/google/slippy/variants/wolf/include/variant/gpio.h
rename to src/mainboard/google/slippy/variants/wolf/gpio.c
index 5c72f73..1dbd5ff 100644
--- a/src/mainboard/google/slippy/variants/wolf/include/variant/gpio.h
+++ b/src/mainboard/google/slippy/variants/wolf/gpio.c
@@ -13,10 +13,8 @@
* GNU General Public License for more details.
*/

-#ifndef WOLF_GPIO_H
-#define WOLF_GPIO_H
-
-struct pch_lp_gpio_map;
+#include <stdint.h>
+#include <southbridge/intel/lynxpoint/lp_gpio.h>

const struct pch_lp_gpio_map mainboard_gpio_map[] = {
LP_GPIO_UNUSED, /* 0: UNUSED */
@@ -116,5 +114,3 @@
LP_GPIO_UNUSED, /* 94: UNUSED */
LP_GPIO_END
};
-
-#endif
diff --git a/src/mainboard/google/slippy/variants/wolf/romstage.c b/src/mainboard/google/slippy/variants/wolf/romstage.c
index 7fcf085..cc67c93 100644
--- a/src/mainboard/google/slippy/variants/wolf/romstage.c
+++ b/src/mainboard/google/slippy/variants/wolf/romstage.c
@@ -25,7 +25,6 @@
#include <northbridge/intel/haswell/raminit.h>
#include <southbridge/intel/lynxpoint/pch.h>
#include <southbridge/intel/lynxpoint/lp_gpio.h>
-#include <variant/gpio.h>
#include "../../variant.h"

const struct rcba_config_instruction rcba_config[] = {
@@ -164,7 +163,6 @@

struct romstage_params romstage_params = {
.pei_data = &pei_data,
- .gpio_map = &mainboard_gpio_map,
.rcba_config = &rcba_config[0],
.copy_spd = copy_spd,
};
diff --git a/src/mainboard/intel/baskingridge/Makefile.inc b/src/mainboard/intel/baskingridge/Makefile.inc
index e34704d..91a7963 100644
--- a/src/mainboard/intel/baskingridge/Makefile.inc
+++ b/src/mainboard/intel/baskingridge/Makefile.inc
@@ -17,4 +17,6 @@
ramstage-y += chromeos.c
verstage-$(CONFIG_VBOOT_SEPARATE_VERSTAGE) += chromeos.c

+romstage-y += gpio.c
+
smm-y += mainboard_smi.c
diff --git a/src/mainboard/intel/baskingridge/gpio.h b/src/mainboard/intel/baskingridge/gpio.c
similarity index 98%
rename from src/mainboard/intel/baskingridge/gpio.h
rename to src/mainboard/intel/baskingridge/gpio.c
index f2be9e3..3a33f09 100644
--- a/src/mainboard/intel/baskingridge/gpio.h
+++ b/src/mainboard/intel/baskingridge/gpio.c
@@ -13,9 +13,7 @@
* GNU General Public License for more details.
*/

-#ifndef BASKING_RIDGE_GPIO_H
-#define BASKING_RIDGE_GPIO_H
-
+#include <stdint.h>
#include <southbridge/intel/common/gpio.h>

const struct pch_gpio_set1 pch_gpio_set1_mode = {
diff --git a/src/mainboard/intel/baskingridge/romstage.c b/src/mainboard/intel/baskingridge/romstage.c
index 1a10931..3d03ab3 100644
--- a/src/mainboard/intel/baskingridge/romstage.c
+++ b/src/mainboard/intel/baskingridge/romstage.c
@@ -134,7 +134,6 @@

struct romstage_params romstage_params = {
.pei_data = &pei_data,
- .gpio_map = &mainboard_gpio_map,
.rcba_config = &rcba_config[0],
.copy_spd = NULL,
};
diff --git a/src/mainboard/supermicro/x10slm-f/romstage.c b/src/mainboard/supermicro/x10slm-f/romstage.c
index 552ebd2..46ec7b2 100644
--- a/src/mainboard/supermicro/x10slm-f/romstage.c
+++ b/src/mainboard/supermicro/x10slm-f/romstage.c
@@ -90,7 +90,6 @@

struct romstage_params romstage_params = {
.pei_data = &pei_data,
- .gpio_map = &mainboard_gpio_map,
.rcba_config = rcba_config,
};

diff --git a/src/southbridge/intel/lynxpoint/early_pch.c b/src/southbridge/intel/lynxpoint/early_pch.c
index 25ffdc4..b49d3cf 100644
--- a/src/southbridge/intel/lynxpoint/early_pch.c
+++ b/src/southbridge/intel/lynxpoint/early_pch.c
@@ -99,17 +99,16 @@
{
}

-int early_pch_init(const void *gpio_map,
- const struct rcba_config_instruction *rcba_config)
+int early_pch_init(const struct rcba_config_instruction *rcba_config)
{
int wake_from_s3;

pch_enable_bars();

#if CONFIG(INTEL_LYNXPOINT_LP)
- setup_pch_lp_gpios(gpio_map);
+ setup_pch_lp_gpios(mainboard_gpio_map);
#else
- setup_pch_gpios(gpio_map);
+ setup_pch_gpios(mainboard_gpio_map);
#endif
pch_generic_setup();

diff --git a/src/southbridge/intel/lynxpoint/lp_gpio.h b/src/southbridge/intel/lynxpoint/lp_gpio.h
index 8436243..0464226 100644
--- a/src/southbridge/intel/lynxpoint/lp_gpio.h
+++ b/src/southbridge/intel/lynxpoint/lp_gpio.h
@@ -160,6 +160,8 @@
u8 pirq;
} __packed;

+extern const struct pch_lp_gpio_map mainboard_gpio_map[];
+
/* Configure GPIOs with mainboard provided settings */
void setup_pch_lp_gpios(const struct pch_lp_gpio_map map[]);

diff --git a/src/southbridge/intel/lynxpoint/pch.h b/src/southbridge/intel/lynxpoint/pch.h
index d83dd17..8802be1 100644
--- a/src/southbridge/intel/lynxpoint/pch.h
+++ b/src/southbridge/intel/lynxpoint/pch.h
@@ -181,8 +181,7 @@
#endif

void enable_usb_bar(void);
-int early_pch_init(const void *gpio_map,
- const struct rcba_config_instruction *rcba_config);
+int early_pch_init(const struct rcba_config_instruction *rcba_config);
void pch_enable_lpc(void);
void mainboard_config_superio(void);


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

Gerrit-Project: coreboot
Gerrit-Branch: master
Gerrit-Change-Id: I6d07f0d4d3aaf4e8662d6f7dc8238d14a16fd04d
Gerrit-Change-Number: 36710
Gerrit-PatchSet: 1
Gerrit-Owner: Arthur Heymans <arthur@aheymans.xyz>
Gerrit-MessageType: newchange