Lines Matching +full:sun6i +full:- +full:a31 +full:- +full:ahb1 +full:- +full:reset
1 // SPDX-License-Identifier: GPL-2.0-or-later
3 * Allwinner SoCs Reset Controller driver
7 * Maxime Ripard <maxime.ripard@free-electrons.com>
16 #include <linux/reset-controller.h>
17 #include <linux/reset/reset-simple.h>
18 #include <linux/reset/sunxi.h>
32 return -ENOMEM; in sunxi_reset_init()
39 if (!request_mem_region(res.start, size, np->name)) { in sunxi_reset_init()
40 ret = -EBUSY; in sunxi_reset_init()
44 data->membase = ioremap(res.start, size); in sunxi_reset_init()
45 if (!data->membase) { in sunxi_reset_init()
46 ret = -ENOMEM; in sunxi_reset_init()
50 spin_lock_init(&data->lock); in sunxi_reset_init()
52 data->rcdev.owner = THIS_MODULE; in sunxi_reset_init()
53 data->rcdev.nr_resets = size * 8; in sunxi_reset_init()
54 data->rcdev.ops = &reset_simple_ops; in sunxi_reset_init()
55 data->rcdev.of_node = np; in sunxi_reset_init()
56 data->active_low = true; in sunxi_reset_init()
58 return reset_controller_register(&data->rcdev); in sunxi_reset_init()
66 * These are the reset controller we need to initialize early on in
70 * model are handled by the simple reset driver directly.
73 { .compatible = "allwinner,sun6i-a31-ahb1-reset", },