Lines Matching +full:reset +full:- +full:deassert +full:- +full:us
1 // SPDX-License-Identifier: GPL-2.0-only
8 #include <linux/clk-provider.h>
13 #include <linux/reset-controller.h>
30 /* Handlers for SoC-specific reset lines */
102 * access after disabling clock. Since the reset driver has no in tegra_clk_rst_assert()
103 * knowledge of which reset IDs represent which devices, simply do in tegra_clk_rst_assert()
116 return -EINVAL; in tegra_clk_rst_assert()
130 return -EINVAL; in tegra_clk_rst_deassert()
195 * All non-boot peripherals will be in reset state on resume. in tegra_clk_periph_resume()
196 * Wait for 5us of reset propagation delay before de-asserting in tegra_clk_periph_resume()
213 return -ENOMEM; in tegra_clk_periph_ctx_init()
257 for (; dup_list->clk_id < clk_max; dup_list++) { in tegra_init_dup_clks()
258 clk = clks[dup_list->clk_id]; in tegra_init_dup_clks()
259 dup_list->lookup.clk = clk; in tegra_init_dup_clks()
260 clkdev_add(&dup_list->lookup); in tegra_init_dup_clks()
269 for (; tbl->clk_id < clk_max; tbl++) { in tegra_init_from_table()
270 clk = clks[tbl->clk_id]; in tegra_init_from_table()
273 __func__, PTR_ERR(clk), tbl->clk_id); in tegra_init_from_table()
279 if (tbl->parent_id < clk_max) { in tegra_init_from_table()
280 struct clk *parent = clks[tbl->parent_id]; in tegra_init_from_table()
289 if (tbl->rate) in tegra_init_from_table()
290 if (clk_set_rate(clk, tbl->rate)) { in tegra_init_from_table()
292 __func__, tbl->rate, in tegra_init_from_table()
297 if (tbl->state) in tegra_init_from_table()
308 .deassert = tegra_clk_rst_deassert,
309 .reset = tegra_clk_rst_reset,
330 clks[i] = ERR_PTR(-EINVAL); in tegra_add_of_provider()
344 int (*deassert)(unsigned long)) in tegra_init_special_resets()
348 special_reset_deassert = deassert; in tegra_init_special_resets()
356 clk_register_clkdev(clks[dev_clks->dt_id], dev_clks->con_id, in tegra_register_devclks()
357 dev_clks->dev_id); in tegra_register_devclks()
362 "tegra-clk-debug"); in tegra_register_devclks()