Tristan Hsieh has uploaded this change for review. ( https://review.coreboot.org/c/coreboot/+/31121
Change subject: mediatek: Seperate WDT reset function from WDT driver ......................................................................
mediatek: Seperate WDT reset function from WDT driver
Seperate WDT reset function from WDT driver, then we can use the common WDT driver and have a board-specific reset funtion on different boards.
In Kukui, we plan to use GPIO HW reset, instead of WDT reset. Add config "MISSING_BOARD_RESET" in Kukui to build pass for now.
BUG=b:80501386 BRANCH=none TEST=emerge-elm coreboot; emerge-kukui coreboot;
Change-Id: Ica07fe3a027cd7e9eb6d10202c3ef3ed7bea00c2 Signed-off-by: Tristan Shieh tristan.shieh@mediatek.com --- M src/mainboard/google/kukui/Kconfig M src/soc/mediatek/common/include/soc/wdt.h A src/soc/mediatek/common/reset.c M src/soc/mediatek/common/wdt.c M src/soc/mediatek/mt8173/Makefile.inc 5 files changed, 30 insertions(+), 12 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/21/31121/1
diff --git a/src/mainboard/google/kukui/Kconfig b/src/mainboard/google/kukui/Kconfig index 7635e5f..902fa38 100644 --- a/src/mainboard/google/kukui/Kconfig +++ b/src/mainboard/google/kukui/Kconfig @@ -37,6 +37,7 @@ select EC_GOOGLE_CHROMEEC_SPI select MAINBOARD_HAS_SPI_TPM_CR50 if VBOOT select MAINBOARD_HAS_TPM2 if VBOOT + select MISSING_BOARD_RESET
config MAINBOARD_DIR string diff --git a/src/soc/mediatek/common/include/soc/wdt.h b/src/soc/mediatek/common/include/soc/wdt.h index a15434c..b24be28 100644 --- a/src/soc/mediatek/common/include/soc/wdt.h +++ b/src/soc/mediatek/common/include/soc/wdt.h @@ -17,6 +17,7 @@ #define SOC_MEDIATEK_COMMON_WDT_H
#include <stdint.h> +#include <soc/addressmap.h>
struct mtk_wdt_regs { u32 wdt_mode; @@ -48,6 +49,8 @@ MTK_WDT_STA_HW_RST = 1 << 31 };
+static struct mtk_wdt_regs *const mtk_wdt = (void *)RGU_BASE; + int mtk_wdt_init(void);
#endif /* SOC_MEDIATEK_COMMON_WDT_H */ diff --git a/src/soc/mediatek/common/reset.c b/src/soc/mediatek/common/reset.c new file mode 100644 index 0000000..855e34f --- /dev/null +++ b/src/soc/mediatek/common/reset.c @@ -0,0 +1,23 @@ +/* + * This file is part of the coreboot project. + * + * Copyright 2019 MediaTek Inc. + * + * 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 + * the Free Software Foundation; version 2 of the License. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + */ + +#include <arch/io.h> +#include <reset.h> +#include <soc/wdt.h> + +void do_board_reset(void) +{ + write32(&mtk_wdt->wdt_swrst, MTK_WDT_SWRST_KEY); +} diff --git a/src/soc/mediatek/common/wdt.c b/src/soc/mediatek/common/wdt.c index 9964c5a..b433c98 100644 --- a/src/soc/mediatek/common/wdt.c +++ b/src/soc/mediatek/common/wdt.c @@ -15,13 +15,9 @@
#include <arch/io.h> #include <console/console.h> -#include <reset.h> -#include <soc/addressmap.h> #include <soc/wdt.h> #include <vendorcode/google/chromeos/chromeos.h>
-static struct mtk_wdt_regs *const mtk_wdt = (void *)RGU_BASE; - int mtk_wdt_init(void) { uint32_t wdt_sta; @@ -56,8 +52,3 @@
return wdt_sta; } - -void do_board_reset(void) -{ - write32(&mtk_wdt->wdt_swrst, MTK_WDT_SWRST_KEY); -} diff --git a/src/soc/mediatek/mt8173/Makefile.inc b/src/soc/mediatek/mt8173/Makefile.inc index b004c27..4ccc218 100644 --- a/src/soc/mediatek/mt8173/Makefile.inc +++ b/src/soc/mediatek/mt8173/Makefile.inc @@ -27,7 +27,7 @@
bootblock-y += ../common/gpio.c gpio.c gpio_init.c bootblock-y += ../common/pmic_wrap.c pmic_wrap.c mt6391.c -bootblock-y += ../common/wdt.c +bootblock-y += ../common/wdt.c ../common/reset.c bootblock-y += ../common/mmu_operations.c mmu_operations.c
################################################################################ @@ -39,7 +39,7 @@
verstage-y += ../common/timer.c verstage-y += timer.c -verstage-y += ../common/wdt.c +verstage-y += ../common/wdt.c ../common/reset.c verstage-$(CONFIG_SPI_FLASH) += flash_controller.c verstage-y += ../common/gpio.c gpio.c
@@ -75,7 +75,7 @@ ramstage-y += mt6311.c ramstage-y += da9212.c ramstage-y += ../common/gpio.c gpio.c -ramstage-y += ../common/wdt.c +ramstage-y += ../common/wdt.c ../common/reset.c ramstage-y += ../common/pll.c pll.c ramstage-y += rtc.c
Hung-Te Lin has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/31121 )
Change subject: mediatek: Seperate WDT reset function from WDT driver ......................................................................
Patch Set 1: Code-Review+1
Paul Menzel has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/31121 )
Change subject: mediatek: Seperate WDT reset function from WDT driver ......................................................................
Patch Set 1: Code-Review+1
(2 comments)
https://review.coreboot.org/#/c/31121/1//COMMIT_MSG Commit Message:
https://review.coreboot.org/#/c/31121/1//COMMIT_MSG@10 PS1, Line 10: funtion function
https://review.coreboot.org/#/c/31121/1//COMMIT_MSG@13 PS1, Line 13: build pass for now … to pass the build for now.
Paul Menzel has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/31121 )
Change subject: mediatek: Seperate WDT reset function from WDT driver ......................................................................
Patch Set 1:
(1 comment)
https://review.coreboot.org/#/c/31121/1//COMMIT_MSG Commit Message:
https://review.coreboot.org/#/c/31121/1//COMMIT_MSG@7 PS1, Line 7: Seperate Separate
Hello Julius Werner, You-Cheng Syu, Paul Menzel, Hung-Te Lin, build bot (Jenkins), Patrick Georgi, Martin Roth,
I'd like you to reexamine a change. Please visit
https://review.coreboot.org/c/coreboot/+/31121
to look at the new patch set (#2).
Change subject: mediatek: Separate WDT reset function from WDT driver ......................................................................
mediatek: Separate WDT reset function from WDT driver
Separate WDT reset function from WDT driver, then we can use the common WDT driver and have a board-specific reset function on different boards.
In Kukui, we plan to use GPIO HW reset, instead of WDT reset. Add config "MISSING_BOARD_RESET" in Kukui to pass the build for now.
BUG=b:80501386 BRANCH=none TEST=emerge-elm coreboot; emerge-kukui coreboot;
Change-Id: Ica07fe3a027cd7e9eb6d10202c3ef3ed7bea00c2 Signed-off-by: Tristan Shieh tristan.shieh@mediatek.com --- M src/mainboard/google/kukui/Kconfig M src/soc/mediatek/common/include/soc/wdt.h A src/soc/mediatek/common/reset.c M src/soc/mediatek/common/wdt.c M src/soc/mediatek/mt8173/Makefile.inc 5 files changed, 30 insertions(+), 12 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/21/31121/2
Tristan Hsieh has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/31121 )
Change subject: mediatek: Separate WDT reset function from WDT driver ......................................................................
Patch Set 2:
(3 comments)
https://review.coreboot.org/#/c/31121/1//COMMIT_MSG Commit Message:
https://review.coreboot.org/#/c/31121/1//COMMIT_MSG@7 PS1, Line 7: Seperate
Separate
Done
https://review.coreboot.org/#/c/31121/1//COMMIT_MSG@10 PS1, Line 10: funtion
function
Done
https://review.coreboot.org/#/c/31121/1//COMMIT_MSG@13 PS1, Line 13: build pass for now
… to pass the build for now.
Done
Julius Werner has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/31121 )
Change subject: mediatek: Separate WDT reset function from WDT driver ......................................................................
Patch Set 2: Code-Review+2
Patrick Georgi has submitted this change and it was merged. ( https://review.coreboot.org/c/coreboot/+/31121 )
Change subject: mediatek: Separate WDT reset function from WDT driver ......................................................................
mediatek: Separate WDT reset function from WDT driver
Separate WDT reset function from WDT driver, then we can use the common WDT driver and have a board-specific reset function on different boards.
In Kukui, we plan to use GPIO HW reset, instead of WDT reset. Add config "MISSING_BOARD_RESET" in Kukui to pass the build for now.
BUG=b:80501386 BRANCH=none TEST=emerge-elm coreboot; emerge-kukui coreboot;
Change-Id: Ica07fe3a027cd7e9eb6d10202c3ef3ed7bea00c2 Signed-off-by: Tristan Shieh tristan.shieh@mediatek.com Reviewed-on: https://review.coreboot.org/c/31121 Reviewed-by: Julius Werner jwerner@chromium.org Reviewed-by: Hung-Te Lin hungte@chromium.org Reviewed-by: Paul Menzel paulepanter@users.sourceforge.net Tested-by: build bot (Jenkins) no-reply@coreboot.org --- M src/mainboard/google/kukui/Kconfig M src/soc/mediatek/common/include/soc/wdt.h A src/soc/mediatek/common/reset.c M src/soc/mediatek/common/wdt.c M src/soc/mediatek/mt8173/Makefile.inc 5 files changed, 30 insertions(+), 12 deletions(-)
Approvals: build bot (Jenkins): Verified Paul Menzel: Looks good to me, but someone else must approve Julius Werner: Looks good to me, approved Hung-Te Lin: Looks good to me, but someone else must approve
diff --git a/src/mainboard/google/kukui/Kconfig b/src/mainboard/google/kukui/Kconfig index 7635e5f..902fa38 100644 --- a/src/mainboard/google/kukui/Kconfig +++ b/src/mainboard/google/kukui/Kconfig @@ -37,6 +37,7 @@ select EC_GOOGLE_CHROMEEC_SPI select MAINBOARD_HAS_SPI_TPM_CR50 if VBOOT select MAINBOARD_HAS_TPM2 if VBOOT + select MISSING_BOARD_RESET
config MAINBOARD_DIR string diff --git a/src/soc/mediatek/common/include/soc/wdt.h b/src/soc/mediatek/common/include/soc/wdt.h index a15434c..b24be28 100644 --- a/src/soc/mediatek/common/include/soc/wdt.h +++ b/src/soc/mediatek/common/include/soc/wdt.h @@ -17,6 +17,7 @@ #define SOC_MEDIATEK_COMMON_WDT_H
#include <stdint.h> +#include <soc/addressmap.h>
struct mtk_wdt_regs { u32 wdt_mode; @@ -48,6 +49,8 @@ MTK_WDT_STA_HW_RST = 1 << 31 };
+static struct mtk_wdt_regs *const mtk_wdt = (void *)RGU_BASE; + int mtk_wdt_init(void);
#endif /* SOC_MEDIATEK_COMMON_WDT_H */ diff --git a/src/soc/mediatek/common/reset.c b/src/soc/mediatek/common/reset.c new file mode 100644 index 0000000..855e34f --- /dev/null +++ b/src/soc/mediatek/common/reset.c @@ -0,0 +1,23 @@ +/* + * This file is part of the coreboot project. + * + * Copyright 2019 MediaTek Inc. + * + * 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 + * the Free Software Foundation; version 2 of the License. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + */ + +#include <arch/io.h> +#include <reset.h> +#include <soc/wdt.h> + +void do_board_reset(void) +{ + write32(&mtk_wdt->wdt_swrst, MTK_WDT_SWRST_KEY); +} diff --git a/src/soc/mediatek/common/wdt.c b/src/soc/mediatek/common/wdt.c index 9964c5a..b433c98 100644 --- a/src/soc/mediatek/common/wdt.c +++ b/src/soc/mediatek/common/wdt.c @@ -15,13 +15,9 @@
#include <arch/io.h> #include <console/console.h> -#include <reset.h> -#include <soc/addressmap.h> #include <soc/wdt.h> #include <vendorcode/google/chromeos/chromeos.h>
-static struct mtk_wdt_regs *const mtk_wdt = (void *)RGU_BASE; - int mtk_wdt_init(void) { uint32_t wdt_sta; @@ -56,8 +52,3 @@
return wdt_sta; } - -void do_board_reset(void) -{ - write32(&mtk_wdt->wdt_swrst, MTK_WDT_SWRST_KEY); -} diff --git a/src/soc/mediatek/mt8173/Makefile.inc b/src/soc/mediatek/mt8173/Makefile.inc index b004c27..4ccc218 100644 --- a/src/soc/mediatek/mt8173/Makefile.inc +++ b/src/soc/mediatek/mt8173/Makefile.inc @@ -27,7 +27,7 @@
bootblock-y += ../common/gpio.c gpio.c gpio_init.c bootblock-y += ../common/pmic_wrap.c pmic_wrap.c mt6391.c -bootblock-y += ../common/wdt.c +bootblock-y += ../common/wdt.c ../common/reset.c bootblock-y += ../common/mmu_operations.c mmu_operations.c
################################################################################ @@ -39,7 +39,7 @@
verstage-y += ../common/timer.c verstage-y += timer.c -verstage-y += ../common/wdt.c +verstage-y += ../common/wdt.c ../common/reset.c verstage-$(CONFIG_SPI_FLASH) += flash_controller.c verstage-y += ../common/gpio.c gpio.c
@@ -75,7 +75,7 @@ ramstage-y += mt6311.c ramstage-y += da9212.c ramstage-y += ../common/gpio.c gpio.c -ramstage-y += ../common/wdt.c +ramstage-y += ../common/wdt.c ../common/reset.c ramstage-y += ../common/pll.c pll.c ramstage-y += rtc.c