Lines Matching defs:acp_base
23 static int acp63_power_on(void __iomem *acp_base)
27 val = readl(acp_base + ACP_PGFSM_STATUS);
33 writel(ACP_PGFSM_CNTL_POWER_ON_MASK, acp_base + ACP_PGFSM_CONTROL);
35 return readl_poll_timeout(acp_base + ACP_PGFSM_STATUS, val, !val, DELAY_US, ACP_TIMEOUT);
38 static int acp63_reset(void __iomem *acp_base)
43 writel(1, acp_base + ACP_SOFT_RESET);
45 ret = readl_poll_timeout(acp_base + ACP_SOFT_RESET, val,
51 writel(0, acp_base + ACP_SOFT_RESET);
53 return readl_poll_timeout(acp_base + ACP_SOFT_RESET, val, !val, DELAY_US, ACP_TIMEOUT);
56 static void acp63_enable_interrupts(void __iomem *acp_base)
58 writel(1, acp_base + ACP_EXTERNAL_INTR_ENB);
59 writel(ACP_ERROR_IRQ, acp_base + ACP_EXTERNAL_INTR_CNTL);
62 static void acp63_disable_interrupts(void __iomem *acp_base)
64 writel(ACP_EXT_INTR_STAT_CLEAR_MASK, acp_base + ACP_EXTERNAL_INTR_STAT);
65 writel(0, acp_base + ACP_EXTERNAL_INTR_CNTL);
66 writel(0, acp_base + ACP_EXTERNAL_INTR_ENB);
69 static int acp63_init(void __iomem *acp_base, struct device *dev)
73 ret = acp63_power_on(acp_base);
78 writel(0x01, acp_base + ACP_CONTROL);
79 ret = acp63_reset(acp_base);
84 acp63_enable_interrupts(acp_base);
88 static int acp63_deinit(void __iomem *acp_base, struct device *dev)
92 acp63_disable_interrupts(acp_base);
93 ret = acp63_reset(acp_base);
98 writel(0, acp_base + ACP_CONTROL);