2016-04-26 11:43:38 +00:00
|
|
|
From df7e52743b8159b2cc58fce14841135de84ec81a Mon Sep 17 00:00:00 2001
|
2016-03-21 20:42:51 +00:00
|
|
|
From: John Crispin <blogic@openwrt.org>
|
|
|
|
Date: Wed, 20 Jan 2016 10:48:35 +0100
|
2016-04-27 08:58:15 +00:00
|
|
|
Subject: [PATCH 37/90] soc: mediatek: PMIC wrap: move wdt_src into the
|
2016-03-21 20:42:51 +00:00
|
|
|
pmic_wrapper_type struct
|
|
|
|
|
|
|
|
Different SoCs will use different bitmask for the wdt_src. This patch
|
|
|
|
defines the bitmask in the pmic_wrapper_type struct. This allows us to
|
|
|
|
support new SoCs with a different bitmask to the one currently used.
|
|
|
|
|
|
|
|
Signed-off-by: John Crispin <blogic@openwrt.org>
|
|
|
|
---
|
|
|
|
drivers/soc/mediatek/mtk-pmic-wrap.c | 9 +++++----
|
|
|
|
1 file changed, 5 insertions(+), 4 deletions(-)
|
|
|
|
|
2016-04-26 11:43:38 +00:00
|
|
|
diff --git a/drivers/soc/mediatek/mtk-pmic-wrap.c b/drivers/soc/mediatek/mtk-pmic-wrap.c
|
|
|
|
index 8ce1bad..aa54df3 100644
|
2016-03-21 20:42:51 +00:00
|
|
|
--- a/drivers/soc/mediatek/mtk-pmic-wrap.c
|
|
|
|
+++ b/drivers/soc/mediatek/mtk-pmic-wrap.c
|
|
|
|
@@ -373,6 +373,7 @@ struct pmic_wrapper_type {
|
|
|
|
u32 arb_en_all;
|
|
|
|
u32 int_en_all;
|
|
|
|
u32 spi_w;
|
|
|
|
+ u32 wdt_src;
|
|
|
|
int (*init_reg_clock)(struct pmic_wrapper *wrp);
|
|
|
|
int (*init_soc_specific)(struct pmic_wrapper *wrp);
|
|
|
|
};
|
2016-04-26 11:43:38 +00:00
|
|
|
@@ -829,6 +830,7 @@ static struct pmic_wrapper_type pwrap_mt8135 = {
|
2016-03-21 20:42:51 +00:00
|
|
|
.arb_en_all = 0x1ff,
|
|
|
|
.int_en_all = ~(BIT(31) | BIT(1)),
|
|
|
|
.spi_w = PWRAP_MAN_CMD_SPI_WRITE,
|
|
|
|
+ .wdt_src = PWRAP_WDT_SRC_MASK_ALL,
|
|
|
|
.init_reg_clock = pwrap_mt8135_init_reg_clock,
|
|
|
|
.init_soc_specific = pwrap_mt8135_init_soc_specific,
|
|
|
|
};
|
2016-04-26 11:43:38 +00:00
|
|
|
@@ -839,6 +841,7 @@ static struct pmic_wrapper_type pwrap_mt8173 = {
|
2016-03-21 20:42:51 +00:00
|
|
|
.arb_en_all = 0x3f,
|
|
|
|
.int_en_all = ~(BIT(31) | BIT(1)),
|
|
|
|
.spi_w = PWRAP_MAN_CMD_SPI_WRITE,
|
|
|
|
+ .wdt_src = PWRAP_WDT_SRC_MASK_NO_STAUPD,
|
|
|
|
.init_reg_clock = pwrap_mt8173_init_reg_clock,
|
|
|
|
.init_soc_specific = pwrap_mt8173_init_soc_specific,
|
|
|
|
};
|
2016-04-26 11:43:38 +00:00
|
|
|
@@ -858,7 +861,7 @@ MODULE_DEVICE_TABLE(of, of_pwrap_match_tbl);
|
2016-03-21 20:42:51 +00:00
|
|
|
|
|
|
|
static int pwrap_probe(struct platform_device *pdev)
|
|
|
|
{
|
|
|
|
- int ret, irq, wdt_src;
|
|
|
|
+ int ret, irq;
|
|
|
|
struct pmic_wrapper *wrp;
|
|
|
|
struct device_node *np = pdev->dev.of_node;
|
|
|
|
const struct of_device_id *of_id =
|
2016-04-26 11:43:38 +00:00
|
|
|
@@ -948,9 +951,7 @@ static int pwrap_probe(struct platform_device *pdev)
|
2016-03-21 20:42:51 +00:00
|
|
|
* Since STAUPD was not used on mt8173 platform,
|
|
|
|
* so STAUPD of WDT_SRC which should be turned off
|
|
|
|
*/
|
|
|
|
- wdt_src = pwrap_is_mt8173(wrp) ?
|
|
|
|
- PWRAP_WDT_SRC_MASK_NO_STAUPD : PWRAP_WDT_SRC_MASK_ALL;
|
|
|
|
- pwrap_writel(wrp, wdt_src, PWRAP_WDT_SRC_EN);
|
|
|
|
+ pwrap_writel(wrp, wrp->master->wdt_src, PWRAP_WDT_SRC_EN);
|
|
|
|
pwrap_writel(wrp, 0x1, PWRAP_TIMER_EN);
|
|
|
|
pwrap_writel(wrp, wrp->master->int_en_all, PWRAP_INT_EN);
|
|
|
|
|
2016-04-26 11:43:38 +00:00
|
|
|
--
|
|
|
|
1.7.10.4
|
|
|
|
|