Lines Matching +full:we +full:- +full:extra +full:- +full:delay
1 // SPDX-License-Identifier: GPL-2.0
8 #include <linux/delay.h>
14 #include <linux/reset-controller.h>
29 /* A full bank contains extra registers that we are not utilizing but still
46 writel_relaxed(SW_INIT_BIT(id), priv->base + off + SW_INIT_SET); in brcmstb_reset_assert()
57 writel_relaxed(SW_INIT_BIT(id), priv->base + off + SW_INIT_CLEAR); in brcmstb_reset_deassert()
58 /* Maximum reset delay after de-asserting a line and seeing block in brcmstb_reset_deassert()
73 return readl_relaxed(priv->base + off + SW_INIT_STATUS) & in brcmstb_reset_status()
85 struct device *kdev = &pdev->dev; in brcmstb_reset_probe()
91 return -ENOMEM; in brcmstb_reset_probe()
93 priv->base = devm_platform_get_and_ioremap_resource(pdev, 0, &res); in brcmstb_reset_probe()
94 if (IS_ERR(priv->base)) in brcmstb_reset_probe()
95 return PTR_ERR(priv->base); in brcmstb_reset_probe()
99 priv->rcdev.owner = THIS_MODULE; in brcmstb_reset_probe()
100 priv->rcdev.nr_resets = DIV_ROUND_DOWN_ULL(resource_size(res), in brcmstb_reset_probe()
102 priv->rcdev.ops = &brcmstb_reset_ops; in brcmstb_reset_probe()
103 priv->rcdev.of_node = kdev->of_node; in brcmstb_reset_probe()
106 return devm_reset_controller_register(kdev, &priv->rcdev); in brcmstb_reset_probe()
110 { .compatible = "brcm,brcmstb-reset" },
118 .name = "brcmstb-reset",