Martin Roth has uploaded this change for review. ( https://review.coreboot.org/21585
Change subject: Makefile: Don't rebuild when generating tags or file list
......................................................................
Makefile: Don't rebuild when generating tags or file list
Generating a project file list used to do a rebuild of the project.
Instead, just make sure there's a coreboot.rom file present and if
it is, generate the list.
Change-Id: I9cc12ef3d1990c3422625630451b2a7b8d77829c
Signed-off-by: Martin Roth <martinroth(a)google.com>
---
M Makefile
1 file changed, 6 insertions(+), 3 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/85/21585/1
diff --git a/Makefile b/Makefile
index 383d583..4ad0177 100644
--- a/Makefile
+++ b/Makefile
@@ -369,13 +369,16 @@
$(shell mkdir -p $(KCONFIG_SPLITCONFIG) $(objk)/lxdialog $(additional-dirs) $(alldirs))
endif
-$(obj)/project_filelist.txt: all
+$(obj)/project_filelist.txt:
+ if [ -z "$(wildcard $(obj)/coreboot.rom)" ]; then \
+ echo "*** Error: Project must be built before generating file list ***"; \
+ exit 1; \
+ fi
find $(obj) -name "*.d" -exec cat {} \; | \
sed 's/[:\\]/ /g' | sed 's/ /\n/g' | sort | uniq | \
grep -v '\.o$$' > $(obj)/project_filelist.txt
-filelist: clean
- $(MAKE) $(obj)/project_filelist.txt
+filelist: $(obj)/project_filelist.txt
printf "\nFiles used in build:\n"
cat $(obj)/project_filelist.txt
--
To view, visit https://review.coreboot.org/21585
To unsubscribe, visit https://review.coreboot.org/settings
Gerrit-Project: coreboot
Gerrit-Branch: master
Gerrit-MessageType: newchange
Gerrit-Change-Id: I9cc12ef3d1990c3422625630451b2a7b8d77829c
Gerrit-Change-Number: 21585
Gerrit-PatchSet: 1
Gerrit-Owner: Martin Roth <martinroth(a)google.com>
Mario Scheithauer has uploaded this change for review. ( https://review.coreboot.org/21584
Change subject: soc/intel/apollolake: Make SCI configurable
......................................................................
soc/intel/apollolake: Make SCI configurable
The System Control Interrupt is routed per default to IRQ 9. Some
mainboards use IRQ 9 for different purpose. Therefore it is necessary to
make the SCI configurable on Apollo Lake.
Change-Id: Ib4a7ce7d68a6f1f16f27d0902d83dc8774e785b1
Signed-off-by: Mario Scheithauer <mario.scheithauer(a)siemens.com>
---
M src/soc/intel/apollolake/acpi.c
M src/soc/intel/apollolake/chip.c
M src/soc/intel/apollolake/chip.h
M src/soc/intel/common/block/include/intelblocks/acpi.h
4 files changed, 46 insertions(+), 0 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/84/21584/1
diff --git a/src/soc/intel/apollolake/acpi.c b/src/soc/intel/apollolake/acpi.c
index e4846e4..df4e630 100644
--- a/src/soc/intel/apollolake/acpi.c
+++ b/src/soc/intel/apollolake/acpi.c
@@ -2,6 +2,7 @@
* This file is part of the coreboot project.
*
* Copyright (C) 2016 Intel Corp.
+ * Copyright 2017 Siemens AG.
* (Written by Lance Zhao <lijian.zhao(a)intel.com> for Intel Corp.)
*
* This program is free software; you can redistribute it and/or modify
@@ -69,6 +70,12 @@
return read32((void *)pmc_bar + IRQ_REG);
}
+void soc_write_sci_irq_select(uint32_t scis)
+{
+ uintptr_t pmc_bar = soc_read_pmc_base();
+ write32((void *)pmc_bar + IRQ_REG, scis);
+}
+
acpi_cstate_t *soc_get_cstate_map(size_t *entries)
{
*entries = ARRAY_SIZE(cstate_map);
diff --git a/src/soc/intel/apollolake/chip.c b/src/soc/intel/apollolake/chip.c
index 2c47766..cdeb0a0 100644
--- a/src/soc/intel/apollolake/chip.c
+++ b/src/soc/intel/apollolake/chip.c
@@ -2,6 +2,7 @@
* This file is part of the coreboot project.
*
* Copyright (C) 2015 - 2017 Intel Corp.
+ * Copyright 2017 Siemens AG.
* (Written by Alexandru Gagniuc <alexandrux.gagniuc(a)intel.com> for Intel Corp.)
* (Written by Andrey Petrov <andrey.petrov(a)intel.com> for Intel Corp.)
*
@@ -25,6 +26,7 @@
#include <cpu/x86/msr.h>
#include <device/device.h>
#include <device/pci.h>
+#include <intelblocks/acpi.h>
#include <intelblocks/fast_spi.h>
#include <intelblocks/msr.h>
#include <fsp/api.h>
@@ -287,6 +289,29 @@
MCHBAR32(MCHBAR_RAPL_PPL + 4) = limit.hi & ~PKG_POWER_LIMIT_EN;
}
+/* Overwrites the SCI IRQ if another IRQ number is given by device tree. */
+static void set_sci_irq(void)
+{
+ static struct soc_intel_apollolake_config *cfg;
+ struct device *dev = SA_DEV_ROOT;
+ uint32_t scis;
+
+ if (!dev || !dev->chip_info) {
+ printk(BIOS_ERR, "BUG! Could not find SOC devicetree config\n");
+ return;
+ }
+
+ cfg = dev->chip_info;
+
+ /* Change only if an device tree entry exists. */
+ if (cfg->sci_irq) {
+ scis = soc_read_sci_irq_select();
+ scis &= ~SCI_IRQ_SEL;
+ scis |= (cfg->sci_irq << SCI_IRQ_ADJUST);
+ soc_write_sci_irq_select(scis);
+ }
+}
+
static void soc_init(void *data)
{
struct global_nvs_t *gnvs;
@@ -319,6 +344,12 @@
/* Set RAPL MSR for Package power limits*/
set_power_limits();
+
+ /*
+ * FSP-S routes SCI to IRQ 9. With the help of this function you can
+ * select another IRQ for SCI.
+ */
+ set_sci_irq();
}
static void soc_final(void *data)
diff --git a/src/soc/intel/apollolake/chip.h b/src/soc/intel/apollolake/chip.h
index 33e2dad..882e481 100644
--- a/src/soc/intel/apollolake/chip.h
+++ b/src/soc/intel/apollolake/chip.h
@@ -2,6 +2,7 @@
* This file is part of the coreboot project.
*
* Copyright (C) 2015 Intel Corp.
+ * Copyright 2017 Siemens AG.
* (Written by Alexandru Gagniuc <alexandrux.gagniuc(a)intel.com> for Intel Corp.)
*
* This program is free software; you can redistribute it and/or modify
@@ -78,6 +79,9 @@
*/
uint32_t emmc_rx_cmd_data_cntl2;
+ /* Specifies on which IRQ the SCI will internally appear. */
+ uint8_t sci_irq;
+
/* Configure serial IRQ (SERIRQ) line. */
enum serirq_mode serirq_mode;
diff --git a/src/soc/intel/common/block/include/intelblocks/acpi.h b/src/soc/intel/common/block/include/intelblocks/acpi.h
index 010773b..85e6ca3 100644
--- a/src/soc/intel/common/block/include/intelblocks/acpi.h
+++ b/src/soc/intel/common/block/include/intelblocks/acpi.h
@@ -2,6 +2,7 @@
* This file is part of the coreboot project.
*
* Copyright (C) 2017 Intel Corp.
+ * Copyright 2017 Siemens AG.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -31,6 +32,9 @@
/* Read the scis from soc specific register. Returns int scis value */
uint32_t soc_read_sci_irq_select(void);
+/* Write the scis from soc specific register. */
+void soc_write_sci_irq_select(uint32_t scis);
+
/*
* Calls acpi_write_hpet which creates and fills HPET table and
* adds it to the RSDT (and XSDT) structure.
--
To view, visit https://review.coreboot.org/21584
To unsubscribe, visit https://review.coreboot.org/settings
Gerrit-Project: coreboot
Gerrit-Branch: master
Gerrit-MessageType: newchange
Gerrit-Change-Id: Ib4a7ce7d68a6f1f16f27d0902d83dc8774e785b1
Gerrit-Change-Number: 21584
Gerrit-PatchSet: 1
Gerrit-Owner: Mario Scheithauer <mario.scheithauer(a)siemens.com>