From 3b947e2094bf127426087489d404c95c62de8825 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ky=C3=B6sti=20M=C3=A4lkki?= Date: Tue, 12 Jan 2021 15:01:42 +0200 Subject: [PATCH] mainboards: Move get_cst_entries() MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Change-Id: I02cfbcb7a340bd574290e4ac486010fc4cbcd3be Signed-off-by: Kyösti Mälkki Reviewed-on: https://review.coreboot.org/c/coreboot/+/49351 Reviewed-by: Angel Pons Tested-by: build bot (Jenkins) --- src/mainboard/apple/macbook21/Makefile.inc | 2 ++ src/mainboard/apple/macbook21/cstates.c | 38 ++++++++++++++++++++ src/mainboard/apple/macbook21/mainboard.c | 36 ------------------- src/mainboard/asus/p5ql-em/Makefile.inc | 2 ++ src/mainboard/asus/p5ql-em/acpi_tables.c | 7 ---- src/mainboard/asus/p5ql-em/cstates.c | 9 +++++ src/mainboard/lenovo/t60/Makefile.inc | 1 + src/mainboard/lenovo/t60/cstates.c | 16 +++++++++ src/mainboard/lenovo/t60/mainboard.c | 12 ------- src/mainboard/lenovo/x60/Makefile.inc | 1 + src/mainboard/lenovo/x60/cstates.c | 41 ++++++++++++++++++++++ src/mainboard/lenovo/x60/mainboard.c | 37 ------------------- 12 files changed, 110 insertions(+), 92 deletions(-) create mode 100644 src/mainboard/apple/macbook21/cstates.c create mode 100644 src/mainboard/asus/p5ql-em/cstates.c create mode 100644 src/mainboard/lenovo/t60/cstates.c create mode 100644 src/mainboard/lenovo/x60/cstates.c diff --git a/src/mainboard/apple/macbook21/Makefile.inc b/src/mainboard/apple/macbook21/Makefile.inc index b4f8b6573a..58198971cd 100644 --- a/src/mainboard/apple/macbook21/Makefile.inc +++ b/src/mainboard/apple/macbook21/Makefile.inc @@ -1,3 +1,5 @@ romstage-y += gpio.c bootblock-y += early_init.c romstage-y += early_init.c + +ramstage-y += cstates.c diff --git a/src/mainboard/apple/macbook21/cstates.c b/src/mainboard/apple/macbook21/cstates.c new file mode 100644 index 0000000000..8f295040f7 --- /dev/null +++ b/src/mainboard/apple/macbook21/cstates.c @@ -0,0 +1,38 @@ +/* SPDX-License-Identifier: GPL-2.0-only */ + +#include + +static acpi_cstate_t cst_entries[] = { + { + .ctype = 1, + .latency = 1, + .power = 1000, + .resource = { + .space_id = ACPI_ADDRESS_SPACE_FIXED, + .bit_width = ACPI_FFIXEDHW_VENDOR_INTEL, + .bit_offset = ACPI_FFIXEDHW_CLASS_MWAIT, + .access_size = ACPI_ACCESS_SIZE_UNDEFINED, + .addrl = 0, + .addrh = 0, + } + }, + { + .ctype = 2, + .latency = 1, + .power = 500, + .resource = { + .space_id = ACPI_ADDRESS_SPACE_FIXED, + .bit_width = ACPI_FFIXEDHW_VENDOR_INTEL, + .bit_offset = ACPI_FFIXEDHW_CLASS_MWAIT, + .access_size = ACPI_ACCESS_SIZE_UNDEFINED, + .addrl = 0x10, + .addrh = 0, + } + }, +}; + +int get_cst_entries(acpi_cstate_t **entries) +{ + *entries = cst_entries; + return ARRAY_SIZE(cst_entries); +} diff --git a/src/mainboard/apple/macbook21/mainboard.c b/src/mainboard/apple/macbook21/mainboard.c index 447837ba54..27d0363e4f 100644 --- a/src/mainboard/apple/macbook21/mainboard.c +++ b/src/mainboard/apple/macbook21/mainboard.c @@ -2,47 +2,11 @@ #include #include -#include #include #include #define PANEL INT15_5F35_CL_DISPLAY_DEFAULT -static acpi_cstate_t cst_entries[] = { - { - .ctype = 1, - .latency = 1, - .power = 1000, - .resource = { - .space_id = ACPI_ADDRESS_SPACE_FIXED, - .bit_width = ACPI_FFIXEDHW_VENDOR_INTEL, - .bit_offset = ACPI_FFIXEDHW_CLASS_MWAIT, - .access_size = ACPI_ACCESS_SIZE_UNDEFINED, - .addrl = 0, - .addrh = 0, - } - }, - { - .ctype = 2, - .latency = 1, - .power = 500, - .resource = { - .space_id = ACPI_ADDRESS_SPACE_FIXED, - .bit_width = ACPI_FFIXEDHW_VENDOR_INTEL, - .bit_offset = ACPI_FFIXEDHW_CLASS_MWAIT, - .access_size = ACPI_ACCESS_SIZE_UNDEFINED, - .addrl = 0x10, - .addrh = 0, - } - }, -}; - -int get_cst_entries(acpi_cstate_t **entries) -{ - *entries = cst_entries; - return ARRAY_SIZE(cst_entries); -} - static void mainboard_init(struct device *dev) { install_intel_vga_int15_handler(GMA_INT15_ACTIVE_LFP_INT_LVDS, GMA_INT15_PANEL_FIT_DEFAULT, PANEL, 3); diff --git a/src/mainboard/asus/p5ql-em/Makefile.inc b/src/mainboard/asus/p5ql-em/Makefile.inc index 097c9f9aa9..4a5e88d022 100644 --- a/src/mainboard/asus/p5ql-em/Makefile.inc +++ b/src/mainboard/asus/p5ql-em/Makefile.inc @@ -5,4 +5,6 @@ bootblock-y += early_init.c romstage-y += gpio.c romstage-y += early_init.c +ramstage-y += cstates.c + ramstage-$(CONFIG_MAINBOARD_USE_LIBGFXINIT) += gma-mainboard.ads diff --git a/src/mainboard/asus/p5ql-em/acpi_tables.c b/src/mainboard/asus/p5ql-em/acpi_tables.c index dcc7849708..1e75ed6f2a 100644 --- a/src/mainboard/asus/p5ql-em/acpi_tables.c +++ b/src/mainboard/asus/p5ql-em/acpi_tables.c @@ -1,6 +1,5 @@ /* SPDX-License-Identifier: GPL-2.0-only */ -#include #include #include @@ -12,9 +11,3 @@ void mainboard_fill_gnvs(struct global_nvs *gnvs) gnvs->mpen = 1; /* Enable Multi Processing */ gnvs->cmap = 0x01; /* Enable COM 1 port */ } - -/* TODO: Could work... */ -int get_cst_entries(acpi_cstate_t **entries) -{ - return 0; -} diff --git a/src/mainboard/asus/p5ql-em/cstates.c b/src/mainboard/asus/p5ql-em/cstates.c new file mode 100644 index 0000000000..791f78e38d --- /dev/null +++ b/src/mainboard/asus/p5ql-em/cstates.c @@ -0,0 +1,9 @@ +/* SPDX-License-Identifier: GPL-2.0-only */ + +#include + +/* TODO: Could work... */ +int get_cst_entries(acpi_cstate_t **entries) +{ + return 0; +} diff --git a/src/mainboard/lenovo/t60/Makefile.inc b/src/mainboard/lenovo/t60/Makefile.inc index 5ded71b41a..000367bc30 100644 --- a/src/mainboard/lenovo/t60/Makefile.inc +++ b/src/mainboard/lenovo/t60/Makefile.inc @@ -7,3 +7,4 @@ bootblock-y += gpio.c romstage-y += gpio.c bootblock-y += early_init.c romstage-y += early_init.c +ramstage-y += cstates.c diff --git a/src/mainboard/lenovo/t60/cstates.c b/src/mainboard/lenovo/t60/cstates.c new file mode 100644 index 0000000000..7a1e4d6001 --- /dev/null +++ b/src/mainboard/lenovo/t60/cstates.c @@ -0,0 +1,16 @@ +/* SPDX-License-Identifier: GPL-2.0-only */ + +#include +#include + +static acpi_cstate_t cst_entries[] = { + { 1, 1, 1000, { 0x7f, 1, 2, 0, 1, 0 } }, + { 2, 1, 500, { 0x01, 8, 0, 0, DEFAULT_PMBASE + LV2, 0 } }, + { 3, 17, 250, { 0x01, 8, 0, 0, DEFAULT_PMBASE + LV3, 0 } }, +}; + +int get_cst_entries(acpi_cstate_t **entries) +{ + *entries = cst_entries; + return ARRAY_SIZE(cst_entries); +} diff --git a/src/mainboard/lenovo/t60/mainboard.c b/src/mainboard/lenovo/t60/mainboard.c index ee5ec8feb8..7ebe25e0af 100644 --- a/src/mainboard/lenovo/t60/mainboard.c +++ b/src/mainboard/lenovo/t60/mainboard.c @@ -12,18 +12,6 @@ #define PANEL INT15_5F35_CL_DISPLAY_DEFAULT -static acpi_cstate_t cst_entries[] = { - { 1, 1, 1000, { 0x7f, 1, 2, 0, 1, 0 } }, - { 2, 1, 500, { 0x01, 8, 0, 0, DEFAULT_PMBASE + LV2, 0 } }, - { 3, 17, 250, { 0x01, 8, 0, 0, DEFAULT_PMBASE + LV3, 0 } }, -}; - -int get_cst_entries(acpi_cstate_t **entries) -{ - *entries = cst_entries; - return ARRAY_SIZE(cst_entries); -} - static void mainboard_init(struct device *dev) { struct southbridge_intel_i82801gx_config *config; diff --git a/src/mainboard/lenovo/x60/Makefile.inc b/src/mainboard/lenovo/x60/Makefile.inc index 56fa18b13a..7bdd496a5f 100644 --- a/src/mainboard/lenovo/x60/Makefile.inc +++ b/src/mainboard/lenovo/x60/Makefile.inc @@ -8,3 +8,4 @@ bootblock-y += gpio.c romstage-y += gpio.c bootblock-y += early_init.c romstage-y += early_init.c +ramstage-y += cstates.c diff --git a/src/mainboard/lenovo/x60/cstates.c b/src/mainboard/lenovo/x60/cstates.c new file mode 100644 index 0000000000..c6237bc592 --- /dev/null +++ b/src/mainboard/lenovo/x60/cstates.c @@ -0,0 +1,41 @@ +/* SPDX-License-Identifier: GPL-2.0-only */ + +#include +#include + +#define MWAIT_RES(state, sub_state) \ + { \ + .space_id = ACPI_ADDRESS_SPACE_FIXED, \ + .bit_width = ACPI_FFIXEDHW_VENDOR_INTEL, \ + .bit_offset = ACPI_FFIXEDHW_CLASS_MWAIT, \ + .access_size = ACPI_ACCESS_SIZE_UNDEFINED, \ + .addrl = (((state) << 4) | (sub_state)), \ + .addrh = 0, \ + } + +static acpi_cstate_t cst_entries[] = { + { + .ctype = 1, + .latency = 1, + .power = 1000, + .resource = MWAIT_RES(0, 0), + }, + { + .ctype = 2, + .latency = 1, + .power = 500, + .resource = MWAIT_RES(1, 0), + }, + { + .ctype = 3, + .latency = 17, + .power = 250, + .resource = MWAIT_RES(2, 0), + }, +}; + +int get_cst_entries(acpi_cstate_t **entries) +{ + *entries = cst_entries; + return ARRAY_SIZE(cst_entries); +} diff --git a/src/mainboard/lenovo/x60/mainboard.c b/src/mainboard/lenovo/x60/mainboard.c index f6930bb93f..a9946b25d1 100644 --- a/src/mainboard/lenovo/x60/mainboard.c +++ b/src/mainboard/lenovo/x60/mainboard.c @@ -15,43 +15,6 @@ #define PANEL INT15_5F35_CL_DISPLAY_DEFAULT -#define MWAIT_RES(state, sub_state) \ - { \ - .space_id = ACPI_ADDRESS_SPACE_FIXED, \ - .bit_width = ACPI_FFIXEDHW_VENDOR_INTEL, \ - .bit_offset = ACPI_FFIXEDHW_CLASS_MWAIT, \ - .access_size = ACPI_ACCESS_SIZE_UNDEFINED, \ - .addrl = (((state) << 4) | (sub_state)), \ - .addrh = 0, \ - } - -static acpi_cstate_t cst_entries[] = { - { - .ctype = 1, - .latency = 1, - .power = 1000, - .resource = MWAIT_RES(0, 0), - }, - { - .ctype = 2, - .latency = 1, - .power = 500, - .resource = MWAIT_RES(1, 0), - }, - { - .ctype = 3, - .latency = 17, - .power = 250, - .resource = MWAIT_RES(2, 0), - }, -}; - -int get_cst_entries(acpi_cstate_t **entries) -{ - *entries = cst_entries; - return ARRAY_SIZE(cst_entries); -} - static void mainboard_init(struct device *dev) { struct device *idedev, *sdhci_dev;