soc: mediatek: PMIC wrap: WRAP_INT_EN needs a different bitmask for MT2701/7623
authorJohn Crispin <blogic@openwrt.org>
Fri, 19 Feb 2016 08:44:09 +0000 (09:44 +0100)
committerMatthias Brugger <matthias.bgg@gmail.com>
Wed, 20 Apr 2016 11:03:02 +0000 (13:03 +0200)
MT2701 and MT7623 use a different bitmask for PWRAP_INT_EN.

Signed-off-by: John Crispin <blogic@openwrt.org>
Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com>
drivers/soc/mediatek/mtk-pmic-wrap.c

index 22c89e96a7315ed66eee266958ce56be4301d8e3..9df11354616084f61301f319f2592337663ed18e 100644 (file)
@@ -371,6 +371,7 @@ struct pmic_wrapper_type {
        int *regs;
        enum pwrap_type type;
        u32 arb_en_all;
+       u32 int_en_all;
        int (*init_reg_clock)(struct pmic_wrapper *wrp);
        int (*init_soc_specific)(struct pmic_wrapper *wrp);
 };
@@ -825,6 +826,7 @@ static struct pmic_wrapper_type pwrap_mt8135 = {
        .regs = mt8135_regs,
        .type = PWRAP_MT8135,
        .arb_en_all = 0x1ff,
+       .int_en_all = ~(BIT(31) | BIT(1)),
        .init_reg_clock = pwrap_mt8135_init_reg_clock,
        .init_soc_specific = pwrap_mt8135_init_soc_specific,
 };
@@ -833,6 +835,7 @@ static struct pmic_wrapper_type pwrap_mt8173 = {
        .regs = mt8173_regs,
        .type = PWRAP_MT8173,
        .arb_en_all = 0x3f,
+       .int_en_all = ~(BIT(31) | BIT(1)),
        .init_reg_clock = pwrap_mt8173_init_reg_clock,
        .init_soc_specific = pwrap_mt8173_init_soc_specific,
 };
@@ -946,7 +949,7 @@ static int pwrap_probe(struct platform_device *pdev)
                        PWRAP_WDT_SRC_MASK_NO_STAUPD : PWRAP_WDT_SRC_MASK_ALL;
        pwrap_writel(wrp, wdt_src, PWRAP_WDT_SRC_EN);
        pwrap_writel(wrp, 0x1, PWRAP_TIMER_EN);
-       pwrap_writel(wrp, ~((1 << 31) | (1 << 1)), PWRAP_INT_EN);
+       pwrap_writel(wrp, wrp->master->int_en_all, PWRAP_INT_EN);
 
        irq = platform_get_irq(pdev, 0);
        ret = devm_request_irq(wrp->dev, irq, pwrap_interrupt, IRQF_TRIGGER_HIGH,