Lines Matching +full:master +full:- +full:level
1 /* SPDX-License-Identifier: GPL-2.0-only */
16 /* PMB Master controller register */
30 /* Perform the low-level PMB master operation, shared between reads and
33 static inline int __bpcm_do_op(void __iomem *master, unsigned int addr, in __bpcm_do_op() argument
40 writel(cmd, master + PMB_CTRL); in __bpcm_do_op()
42 cmd = readl(master + PMB_CTRL); in __bpcm_do_op()
47 return -EIO; in __bpcm_do_op()
50 return -ETIMEDOUT; in __bpcm_do_op()
53 } while (timeout-- > 0); in __bpcm_do_op()
55 return -ETIMEDOUT; in __bpcm_do_op()
58 static inline int bpcm_rd(void __iomem *master, unsigned int addr, in bpcm_rd() argument
63 ret = __bpcm_do_op(master, addr, off >> 2, PMC_PMBM_READ); in bpcm_rd()
64 *val = readl(master + PMB_RD_DATA); in bpcm_rd()
69 static inline int bpcm_wr(void __iomem *master, unsigned int addr, in bpcm_wr() argument
74 writel(val, master + PMB_WR_DATA); in bpcm_wr()
75 ret = __bpcm_do_op(master, addr, off >> 2, PMC_PMBM_WRITE); in bpcm_wr()