Home
last modified time | relevance | path

Searched refs:rstc (Results 1 – 25 of 65) sorted by relevance

123

/Linux-v4.19/drivers/reset/
Dcore.c63 struct reset_control *rstc[]; member
182 rstc_to_array(struct reset_control *rstc) { in rstc_to_array() argument
183 return container_of(rstc, struct reset_control_array, base); in rstc_to_array()
191 ret = reset_control_reset(resets->rstc[i]); in reset_control_array_reset()
204 ret = reset_control_assert(resets->rstc[i]); in reset_control_array_assert()
213 reset_control_deassert(resets->rstc[i]); in reset_control_array_assert()
222 ret = reset_control_deassert(resets->rstc[i]); in reset_control_array_deassert()
231 reset_control_assert(resets->rstc[i]); in reset_control_array_deassert()
235 static inline bool reset_control_is_array(struct reset_control *rstc) in reset_control_is_array() argument
237 return rstc->array; in reset_control_is_array()
[all …]
Dreset-meson-audio-arb.c15 struct reset_controller_dev rstc; member
38 container_of(rcdev, struct meson_audio_arb_data, rstc); in meson_audio_arb_update()
59 container_of(rcdev, struct meson_audio_arb_data, rstc); in meson_audio_arb_status()
130 arb->rstc.nr_resets = ARRAY_SIZE(axg_audio_arb_reset_bits); in meson_audio_arb_probe()
131 arb->rstc.ops = &meson_audio_arb_rstc_ops; in meson_audio_arb_probe()
132 arb->rstc.of_node = dev->of_node; in meson_audio_arb_probe()
147 ret = devm_reset_controller_register(dev, &arb->rstc); in meson_audio_arb_probe()
/Linux-v4.19/drivers/clk/hisilicon/
Dreset.c58 struct hisi_reset_controller *rstc = to_hisi_reset_controller(rcdev); in hisi_reset_assert() local
66 spin_lock_irqsave(&rstc->lock, flags); in hisi_reset_assert()
68 reg = readl(rstc->membase + offset); in hisi_reset_assert()
69 writel(reg | BIT(bit), rstc->membase + offset); in hisi_reset_assert()
71 spin_unlock_irqrestore(&rstc->lock, flags); in hisi_reset_assert()
79 struct hisi_reset_controller *rstc = to_hisi_reset_controller(rcdev); in hisi_reset_deassert() local
87 spin_lock_irqsave(&rstc->lock, flags); in hisi_reset_deassert()
89 reg = readl(rstc->membase + offset); in hisi_reset_deassert()
90 writel(reg & ~BIT(bit), rstc->membase + offset); in hisi_reset_deassert()
92 spin_unlock_irqrestore(&rstc->lock, flags); in hisi_reset_deassert()
[all …]
Dclk-hi3519.c43 struct hisi_reset_controller *rstc; member
163 crg->rstc = hisi_reset_init(pdev); in hi3519_clk_probe()
164 if (!crg->rstc) in hi3519_clk_probe()
169 hisi_reset_exit(crg->rstc); in hi3519_clk_probe()
181 hisi_reset_exit(crg->rstc); in hi3519_clk_remove()
Dreset.h26 void hisi_reset_exit(struct hisi_reset_controller *rstc);
33 static inline void hisi_reset_exit(struct hisi_reset_controller *rstc) in hisi_reset_exit() argument
Dcrg-hi3516cv300.c285 crg->rstc = hisi_reset_init(pdev); in hi3516cv300_crg_probe()
286 if (!crg->rstc) in hi3516cv300_crg_probe()
291 hisi_reset_exit(crg->rstc); in hi3516cv300_crg_probe()
303 hisi_reset_exit(crg->rstc); in hi3516cv300_crg_remove()
Dcrg-hi3798cv200.c368 crg->rstc = hisi_reset_init(pdev); in hi3798cv200_crg_probe()
369 if (!crg->rstc) in hi3798cv200_crg_probe()
374 hisi_reset_exit(crg->rstc); in hi3798cv200_crg_probe()
386 hisi_reset_exit(crg->rstc); in hi3798cv200_crg_remove()
/Linux-v4.19/drivers/reset/tegra/
Dreset-bpmp.c14 static struct tegra_bpmp *to_tegra_bpmp(struct reset_controller_dev *rstc) in to_tegra_bpmp() argument
16 return container_of(rstc, struct tegra_bpmp, rstc); in to_tegra_bpmp()
19 static int tegra_bpmp_reset_common(struct reset_controller_dev *rstc, in tegra_bpmp_reset_common() argument
23 struct tegra_bpmp *bpmp = to_tegra_bpmp(rstc); in tegra_bpmp_reset_common()
39 static int tegra_bpmp_reset_module(struct reset_controller_dev *rstc, in tegra_bpmp_reset_module() argument
42 return tegra_bpmp_reset_common(rstc, CMD_RESET_MODULE, id); in tegra_bpmp_reset_module()
45 static int tegra_bpmp_reset_assert(struct reset_controller_dev *rstc, in tegra_bpmp_reset_assert() argument
48 return tegra_bpmp_reset_common(rstc, CMD_RESET_ASSERT, id); in tegra_bpmp_reset_assert()
51 static int tegra_bpmp_reset_deassert(struct reset_controller_dev *rstc, in tegra_bpmp_reset_deassert() argument
54 return tegra_bpmp_reset_common(rstc, CMD_RESET_DEASSERT, id); in tegra_bpmp_reset_deassert()
[all …]
/Linux-v4.19/drivers/clk/meson/
Dmeson-aoclk.c23 struct meson_aoclk_reset_controller *rstc = in meson_aoclk_do_reset() local
26 return regmap_write(rstc->regmap, rstc->data->reset_reg, in meson_aoclk_do_reset()
27 BIT(rstc->data->reset[id])); in meson_aoclk_do_reset()
36 struct meson_aoclk_reset_controller *rstc; in meson_aoclkc_probe() local
46 rstc = devm_kzalloc(dev, sizeof(*rstc), GFP_KERNEL); in meson_aoclkc_probe()
47 if (!rstc) in meson_aoclkc_probe()
57 rstc->data = data; in meson_aoclkc_probe()
58 rstc->regmap = regmap; in meson_aoclkc_probe()
59 rstc->reset.ops = &meson_aoclk_reset_ops; in meson_aoclkc_probe()
60 rstc->reset.nr_resets = data->num_reset, in meson_aoclkc_probe()
[all …]
/Linux-v4.19/Documentation/devicetree/bindings/reset/
Dsirf,rstc.txt8 - compatible: Should be "sirf,prima2-rstc" or "sirf,marco-rstc"
15 rstc: reset-controller@88010000 {
16 compatible = "sirf,prima2-rstc";
24 The reset controller(rstc) manages various reset sources. This module provides
26 reset line on the rstc in their resets property, containing a phandle to the
27 rstc device node and a RESET_INDEX specifying which module to reset, as described
41 resets = <&rstc 6>;
/Linux-v4.19/arch/arm/mach-meson/
Dplatsmp.c166 struct reset_control *rstc; in meson8_smp_boot_secondary() local
169 rstc = meson_smp_get_core_reset(cpu); in meson8_smp_boot_secondary()
170 if (IS_ERR(rstc)) { in meson8_smp_boot_secondary()
172 return PTR_ERR(rstc); in meson8_smp_boot_secondary()
178 ret = reset_control_assert(rstc); in meson8_smp_boot_secondary()
203 ret = reset_control_deassert(rstc); in meson8_smp_boot_secondary()
214 reset_control_put(rstc); in meson8_smp_boot_secondary()
222 struct reset_control *rstc; in meson8b_smp_boot_secondary() local
226 rstc = meson_smp_get_core_reset(cpu); in meson8b_smp_boot_secondary()
227 if (IS_ERR(rstc)) { in meson8b_smp_boot_secondary()
[all …]
/Linux-v4.19/drivers/mmc/host/
Dsdhci-st.c30 struct reset_control *rstc; member
361 struct reset_control *rstc; in sdhci_st_probe() local
374 rstc = devm_reset_control_get_exclusive(&pdev->dev, NULL); in sdhci_st_probe()
375 if (IS_ERR(rstc)) in sdhci_st_probe()
376 rstc = NULL; in sdhci_st_probe()
378 reset_control_deassert(rstc); in sdhci_st_probe()
389 pdata->rstc = rstc; in sdhci_st_probe()
444 if (rstc) in sdhci_st_probe()
445 reset_control_assert(rstc); in sdhci_st_probe()
455 struct reset_control *rstc = pdata->rstc; in sdhci_st_remove() local
[all …]
/Linux-v4.19/drivers/soc/amlogic/
Dmeson-gx-pwrc-vpu.c34 struct reset_control *rstc; member
128 ret = reset_control_assert(pd->rstc); in meson_gx_pwrc_vpu_power_on()
135 ret = reset_control_deassert(pd->rstc); in meson_gx_pwrc_vpu_power_on()
166 struct reset_control *rstc; in meson_gx_pwrc_vpu_probe() local
185 rstc = devm_reset_control_array_get(&pdev->dev, false, false); in meson_gx_pwrc_vpu_probe()
186 if (IS_ERR(rstc)) { in meson_gx_pwrc_vpu_probe()
187 if (PTR_ERR(rstc) != -EPROBE_DEFER) in meson_gx_pwrc_vpu_probe()
189 return PTR_ERR(rstc); in meson_gx_pwrc_vpu_probe()
206 vpu_hdmi_pd.rstc = rstc; in meson_gx_pwrc_vpu_probe()
/Linux-v4.19/include/linux/
Dreset.h13 int reset_control_reset(struct reset_control *rstc);
14 int reset_control_assert(struct reset_control *rstc);
15 int reset_control_deassert(struct reset_control *rstc);
16 int reset_control_status(struct reset_control *rstc);
24 void reset_control_put(struct reset_control *rstc);
37 static inline int reset_control_reset(struct reset_control *rstc) in reset_control_reset() argument
42 static inline int reset_control_assert(struct reset_control *rstc) in reset_control_assert() argument
47 static inline int reset_control_deassert(struct reset_control *rstc) in reset_control_deassert() argument
52 static inline int reset_control_status(struct reset_control *rstc) in reset_control_status() argument
57 static inline void reset_control_put(struct reset_control *rstc) in reset_control_put() argument
/Linux-v4.19/drivers/pinctrl/sunxi/
Dpinctrl-sun8i-a23-r.c101 struct reset_control *rstc; in sun8i_a23_r_pinctrl_probe() local
104 rstc = devm_reset_control_get_exclusive(&pdev->dev, NULL); in sun8i_a23_r_pinctrl_probe()
105 if (IS_ERR(rstc)) { in sun8i_a23_r_pinctrl_probe()
107 return PTR_ERR(rstc); in sun8i_a23_r_pinctrl_probe()
110 ret = reset_control_deassert(rstc); in sun8i_a23_r_pinctrl_probe()
118 reset_control_assert(rstc); in sun8i_a23_r_pinctrl_probe()
Dpinctrl-sun6i-a31-r.c114 struct reset_control *rstc; in sun6i_a31_r_pinctrl_probe() local
117 rstc = devm_reset_control_get_exclusive(&pdev->dev, NULL); in sun6i_a31_r_pinctrl_probe()
118 if (IS_ERR(rstc)) { in sun6i_a31_r_pinctrl_probe()
120 return PTR_ERR(rstc); in sun6i_a31_r_pinctrl_probe()
123 ret = reset_control_deassert(rstc); in sun6i_a31_r_pinctrl_probe()
131 reset_control_assert(rstc); in sun6i_a31_r_pinctrl_probe()
/Linux-v4.19/arch/arm/mach-rockchip/
Dplatsmp.c76 struct reset_control *rstc = rockchip_get_core_reset(pd); in pmu_set_power_domain() local
79 if (IS_ERR(rstc) && read_cpuid_part() != ARM_CPU_PART_CORTEX_A9) { in pmu_set_power_domain()
82 return PTR_ERR(rstc); in pmu_set_power_domain()
90 if (!IS_ERR(rstc) && !on) in pmu_set_power_domain()
91 reset_control_assert(rstc); in pmu_set_power_domain()
112 if (!IS_ERR(rstc)) { in pmu_set_power_domain()
114 reset_control_deassert(rstc); in pmu_set_power_domain()
115 reset_control_put(rstc); in pmu_set_power_domain()
/Linux-v4.19/drivers/phy/st/
Dphy-stih407-usb.c40 struct reset_control *rstc; member
48 reset_control_deassert(phy_dev->rstc); in stih407_usb2_pico_ctrl()
108 phy_dev->rstc = devm_reset_control_get_shared(dev, "global"); in stih407_usb2_picophy_probe()
109 if (IS_ERR(phy_dev->rstc)) { in stih407_usb2_picophy_probe()
111 return PTR_ERR(phy_dev->rstc); in stih407_usb2_picophy_probe()
/Linux-v4.19/drivers/pwm/
Dpwm-hibvt.c51 struct reset_control *rstc; member
211 pwm_chip->rstc = devm_reset_control_get_exclusive(&pdev->dev, NULL); in hibvt_pwm_probe()
212 if (IS_ERR(pwm_chip->rstc)) { in hibvt_pwm_probe()
214 return PTR_ERR(pwm_chip->rstc); in hibvt_pwm_probe()
217 reset_control_assert(pwm_chip->rstc); in hibvt_pwm_probe()
219 reset_control_deassert(pwm_chip->rstc); in hibvt_pwm_probe()
243 reset_control_assert(pwm_chip->rstc); in hibvt_pwm_remove()
245 reset_control_deassert(pwm_chip->rstc); in hibvt_pwm_remove()
/Linux-v4.19/drivers/i2c/busses/
Di2c-sun6i-p2wi.c90 struct reset_control *rstc; member
261 p2wi->rstc = devm_reset_control_get_exclusive(dev, NULL); in p2wi_probe()
262 if (IS_ERR(p2wi->rstc)) { in p2wi_probe()
263 ret = PTR_ERR(p2wi->rstc); in p2wi_probe()
268 ret = reset_control_deassert(p2wi->rstc); in p2wi_probe()
312 reset_control_assert(p2wi->rstc); in p2wi_probe()
324 reset_control_assert(p2wi->rstc); in p2wi_remove()
/Linux-v4.19/drivers/clk/sunxi-ng/
Dccu-sun8i-de2.c203 struct reset_control *rstc; in sunxi_de2_clk_probe() local
233 rstc = devm_reset_control_get_exclusive(&pdev->dev, NULL); in sunxi_de2_clk_probe()
234 if (IS_ERR(rstc)) { in sunxi_de2_clk_probe()
235 ret = PTR_ERR(rstc); in sunxi_de2_clk_probe()
256 ret = reset_control_deassert(rstc); in sunxi_de2_clk_probe()
270 reset_control_assert(rstc); in sunxi_de2_clk_probe()
Dccu-sun9i-a80-de.c216 struct reset_control *rstc; in sun9i_a80_de_clk_probe() local
233 rstc = devm_reset_control_get_exclusive(&pdev->dev, NULL); in sun9i_a80_de_clk_probe()
234 if (IS_ERR(rstc)) { in sun9i_a80_de_clk_probe()
235 ret = PTR_ERR(rstc); in sun9i_a80_de_clk_probe()
250 ret = reset_control_deassert(rstc); in sun9i_a80_de_clk_probe()
265 reset_control_assert(rstc); in sun9i_a80_de_clk_probe()
/Linux-v4.19/drivers/watchdog/
Dzx2967_wdt.c197 struct reset_control *rstc; in zx2967_wdt_probe() local
232 rstc = devm_reset_control_get_exclusive(dev, NULL); in zx2967_wdt_probe()
233 if (IS_ERR(rstc)) { in zx2967_wdt_probe()
235 ret = PTR_ERR(rstc); in zx2967_wdt_probe()
239 reset_control_assert(rstc); in zx2967_wdt_probe()
240 reset_control_deassert(rstc); in zx2967_wdt_probe()
/Linux-v4.19/drivers/clocksource/
Dtimer-stm32.c290 struct reset_control *rstc; in stm32_timer_init() local
312 rstc = of_reset_control_get(node, NULL); in stm32_timer_init()
313 if (!IS_ERR(rstc)) { in stm32_timer_init()
314 reset_control_assert(rstc); in stm32_timer_init()
315 reset_control_deassert(rstc); in stm32_timer_init()
/Linux-v4.19/drivers/media/rc/
Dst_rc.c33 struct reset_control *rstc; member
172 reset_control_deassert(dev->rstc); in st_rc_hardware_init()
287 rc_dev->rstc = reset_control_get_optional_exclusive(dev, NULL); in st_rc_probe()
288 if (IS_ERR(rc_dev->rstc)) { in st_rc_probe()
289 ret = PTR_ERR(rc_dev->rstc); in st_rc_probe()
359 reset_control_assert(rc_dev->rstc); in st_rc_suspend()

123