Lines Matching +full:ar7100 +full:- +full:reset

1 // SPDX-License-Identifier: GPL-2.0-or-later
3 * AR71xx Reset Controller Driver
13 #include <linux/reset-controller.h>
33 spin_lock_irqsave(&ath79_reset->lock, flags); in ath79_reset_update()
34 val = readl(ath79_reset->base); in ath79_reset_update()
39 writel(val, ath79_reset->base); in ath79_reset_update()
40 spin_unlock_irqrestore(&ath79_reset->lock, flags); in ath79_reset_update()
64 val = readl(ath79_reset->base); in ath79_reset_status()
81 ath79_reset_assert(&ath79_reset->rcdev, FULL_CHIP_RESET); in ath79_reset_restart_handler()
91 ath79_reset = devm_kzalloc(&pdev->dev, in ath79_reset_probe()
94 return -ENOMEM; in ath79_reset_probe()
96 ath79_reset->base = devm_platform_ioremap_resource(pdev, 0); in ath79_reset_probe()
97 if (IS_ERR(ath79_reset->base)) in ath79_reset_probe()
98 return PTR_ERR(ath79_reset->base); in ath79_reset_probe()
100 spin_lock_init(&ath79_reset->lock); in ath79_reset_probe()
101 ath79_reset->rcdev.ops = &ath79_reset_ops; in ath79_reset_probe()
102 ath79_reset->rcdev.owner = THIS_MODULE; in ath79_reset_probe()
103 ath79_reset->rcdev.of_node = pdev->dev.of_node; in ath79_reset_probe()
104 ath79_reset->rcdev.of_reset_n_cells = 1; in ath79_reset_probe()
105 ath79_reset->rcdev.nr_resets = 32; in ath79_reset_probe()
107 err = devm_reset_controller_register(&pdev->dev, &ath79_reset->rcdev); in ath79_reset_probe()
111 ath79_reset->restart_nb.notifier_call = ath79_reset_restart_handler; in ath79_reset_probe()
112 ath79_reset->restart_nb.priority = 128; in ath79_reset_probe()
114 err = register_restart_handler(&ath79_reset->restart_nb); in ath79_reset_probe()
116 dev_warn(&pdev->dev, "Failed to register restart handler\n"); in ath79_reset_probe()
122 { .compatible = "qca,ar7100-reset", },
129 .name = "ath79-reset",