static void bcm63xx_wdt_stop(void) { if (bcm63xx_wdt_device.running) { bcm_writel(WDT_STOP_1, bcm63xx_wdt_device.regs + WDT_CTL_REG); bcm_writel(WDT_STOP_2, bcm63xx_wdt_device.regs + WDT_CTL_REG); bcm63xx_wdt_device.running = 0; } }
static void __internal_irq_unmask_32(unsigned int irq) { u32 mask; mask = bcm_readl(irq_mask_addr); mask |= (1 << irq); bcm_writel(mask, irq_mask_addr); }
static void bcm63xx_rng_cleanup(struct hwrng *rng) { struct bcm63xx_rng_priv *priv = to_rng_priv(rng); u32 val; val = bcm_readl(priv->regs + RNG_CTRL); val &= ~RNG_EN; bcm_writel(val, priv->regs + RNG_CTRL); }
static int bcm63xx_rng_init(struct hwrng *rng) { struct bcm63xx_rng_priv *priv = to_rng_priv(rng); u32 val; val = bcm_readl(priv->regs + RNG_CTRL); val |= RNG_EN; bcm_writel(val, priv->regs + RNG_CTRL); return 0; }
static void bcm63xx_wdt_hw_stop(void) { bcm_writel(WDT_STOP_1, bcm63xx_wdt_device.regs + WDT_CTL_REG); bcm_writel(WDT_STOP_2, bcm63xx_wdt_device.regs + WDT_CTL_REG); }
/* HW functions */ static void bcm63xx_wdt_hw_start(void) { bcm_writel(0xffffffff, bcm63xx_wdt_device.regs + WDT_DEFVAL_REG); bcm_writel(WDT_START_1, bcm63xx_wdt_device.regs + WDT_CTL_REG); bcm_writel(WDT_START_2, bcm63xx_wdt_device.regs + WDT_CTL_REG); }
static inline void enet_dma_writel(struct bcm_enet_priv *priv, u32 val, u32 off) { bcm_writel(val, bcm_enet_shared_base + off); }
static inline void enet_writel(struct bcm_enet_priv *priv, u32 val, u32 off) { bcm_writel(val, priv->base + off); }
static inline void bcm_uart_writel(struct uart_port *port, unsigned int value, unsigned int offset) { bcm_writel(value, port->membase + offset); }
static inline void pcmcia_writel(struct bcm63xx_pcmcia_socket *skt, u32 val, u32 off) { bcm_writel(val, skt->base + off); }
static void bcm63xx_wdt_set(int new_timeout) { new_timeout *= WDT_HZ; bcm_writel(new_timeout, bcm63xx_wdt_device.regs + WDT_DEFVAL_REG); }
static void bcm63xx_wdt_toggle(void) { bcm_writel(WDT_START_1, bcm63xx_wdt_device.regs + WDT_CTL_REG); bcm_writel(WDT_START_2, bcm63xx_wdt_device.regs + WDT_CTL_REG); }