/openbmc/linux/drivers/reset/ |
H A D | core.c | 63 struct reset_control *rstc[]; member 195 rstc_to_array(struct reset_control *rstc) { in rstc_to_array() argument 196 return container_of(rstc, struct reset_control_array, base); in rstc_to_array() 204 ret = reset_control_reset(resets->rstc[i]); in reset_control_array_reset() 214 struct reset_control *rstc; in reset_control_array_rearm() local 218 rstc = resets->rstc[i]; in reset_control_array_rearm() 220 if (!rstc) in reset_control_array_rearm() 223 if (WARN_ON(IS_ERR(rstc))) in reset_control_array_rearm() 226 if (rstc->shared) { in reset_control_array_rearm() 227 if (WARN_ON(atomic_read(&rstc->deassert_count) != 0)) in reset_control_array_rearm() [all …]
|
H A D | reset-meson-audio-arb.c | 16 struct reset_controller_dev rstc; member 65 container_of(rcdev, struct meson_audio_arb_data, rstc); in meson_audio_arb_update() 86 container_of(rcdev, struct meson_audio_arb_data, rstc); in meson_audio_arb_status() 165 arb->rstc.nr_resets = data->reset_num; in meson_audio_arb_probe() 166 arb->rstc.ops = &meson_audio_arb_rstc_ops; in meson_audio_arb_probe() 167 arb->rstc.of_node = dev->of_node; in meson_audio_arb_probe() 168 arb->rstc.owner = THIS_MODULE; in meson_audio_arb_probe() 183 ret = devm_reset_controller_register(dev, &arb->rstc); in meson_audio_arb_probe()
|
H A D | reset-rzg2l-usbphy-ctrl.c | 33 struct reset_control *rstc; member 119 priv->rstc = devm_reset_control_get_exclusive(&pdev->dev, NULL); in rzg2l_usbphy_ctrl_probe() 120 if (IS_ERR(priv->rstc)) in rzg2l_usbphy_ctrl_probe() 121 return dev_err_probe(dev, PTR_ERR(priv->rstc), in rzg2l_usbphy_ctrl_probe() 124 error = reset_control_deassert(priv->rstc); in rzg2l_usbphy_ctrl_probe() 145 reset_control_assert(priv->rstc); in rzg2l_usbphy_ctrl_probe() 165 reset_control_assert(priv->rstc); in rzg2l_usbphy_ctrl_remove()
|
/openbmc/linux/drivers/clk/hisilicon/ |
H A D | reset.c | 46 struct hisi_reset_controller *rstc = to_hisi_reset_controller(rcdev); in hisi_reset_assert() local 54 spin_lock_irqsave(&rstc->lock, flags); in hisi_reset_assert() 56 reg = readl(rstc->membase + offset); in hisi_reset_assert() 57 writel(reg | BIT(bit), rstc->membase + offset); in hisi_reset_assert() 59 spin_unlock_irqrestore(&rstc->lock, flags); in hisi_reset_assert() 67 struct hisi_reset_controller *rstc = to_hisi_reset_controller(rcdev); in hisi_reset_deassert() local 75 spin_lock_irqsave(&rstc->lock, flags); in hisi_reset_deassert() 77 reg = readl(rstc->membase + offset); in hisi_reset_deassert() 78 writel(reg & ~BIT(bit), rstc->membase + offset); in hisi_reset_deassert() 80 spin_unlock_irqrestore(&rstc->lock, flags); in hisi_reset_deassert() [all …]
|
H A D | clk-hi3519.c | 31 struct hisi_reset_controller *rstc; member 151 crg->rstc = hisi_reset_init(pdev); in hi3519_clk_probe() 152 if (!crg->rstc) in hi3519_clk_probe() 157 hisi_reset_exit(crg->rstc); in hi3519_clk_probe() 169 hisi_reset_exit(crg->rstc); in hi3519_clk_remove()
|
/openbmc/linux/drivers/reset/tegra/ |
H A D | reset-bpmp.c | 11 static struct tegra_bpmp *to_tegra_bpmp(struct reset_controller_dev *rstc) in to_tegra_bpmp() argument 13 return container_of(rstc, struct tegra_bpmp, rstc); in to_tegra_bpmp() 16 static int tegra_bpmp_reset_common(struct reset_controller_dev *rstc, in tegra_bpmp_reset_common() argument 20 struct tegra_bpmp *bpmp = to_tegra_bpmp(rstc); in tegra_bpmp_reset_common() 43 static int tegra_bpmp_reset_module(struct reset_controller_dev *rstc, in tegra_bpmp_reset_module() argument 46 return tegra_bpmp_reset_common(rstc, CMD_RESET_MODULE, id); in tegra_bpmp_reset_module() 49 static int tegra_bpmp_reset_assert(struct reset_controller_dev *rstc, in tegra_bpmp_reset_assert() argument 52 return tegra_bpmp_reset_common(rstc, CMD_RESET_ASSERT, id); in tegra_bpmp_reset_assert() 55 static int tegra_bpmp_reset_deassert(struct reset_controller_dev *rstc, in tegra_bpmp_reset_deassert() argument 58 return tegra_bpmp_reset_common(rstc, CMD_RESET_DEASSERT, id); in tegra_bpmp_reset_deassert() [all …]
|
/openbmc/linux/drivers/clk/meson/ |
H A D | meson-aoclk.c | 25 struct meson_aoclk_reset_controller *rstc = in meson_aoclk_do_reset() local 28 return regmap_write(rstc->regmap, rstc->data->reset_reg, in meson_aoclk_do_reset() 29 BIT(rstc->data->reset[id])); in meson_aoclk_do_reset() 38 struct meson_aoclk_reset_controller *rstc; in meson_aoclkc_probe() local 49 rstc = devm_kzalloc(dev, sizeof(*rstc), GFP_KERNEL); in meson_aoclkc_probe() 50 if (!rstc) in meson_aoclkc_probe() 62 rstc->data = data; in meson_aoclkc_probe() 63 rstc->regmap = regmap; in meson_aoclkc_probe() 64 rstc->reset.ops = &meson_aoclk_reset_ops; in meson_aoclkc_probe() 65 rstc->reset.nr_resets = data->num_reset; in meson_aoclkc_probe() [all …]
|
/openbmc/u-boot/arch/arm/mach-bcm283x/ |
H A D | reset.c | 37 uint32_t rstc, timeout; in reset_cpu() local 45 rstc = readl(&wdog_regs->rstc); in reset_cpu() 46 rstc &= ~BCM2835_WDOG_RSTC_WRCFG_MASK; in reset_cpu() 47 rstc |= BCM2835_WDOG_RSTC_WRCFG_FULL_RESET; in reset_cpu() 50 writel(BCM2835_WDOG_PASSWORD | rstc, &wdog_regs->rstc); in reset_cpu()
|
/openbmc/u-boot/arch/arm/mach-at91/ |
H A D | phy.c | 26 at91_rstc_t *rstc = (at91_rstc_t *)ATMEL_BASE_RSTC; in at91_phy_reset() local 28 erstl = readl(&rstc->mr) & AT91_RSTC_MR_ERSTL_MASK; in at91_phy_reset() 37 AT91_RSTC_MR_URSTEN, &rstc->mr); in at91_phy_reset() 39 writel(AT91_RSTC_KEY | AT91_RSTC_CR_EXTRST, &rstc->cr); in at91_phy_reset() 42 while (!(readl(&rstc->sr) & AT91_RSTC_SR_NRSTL)) { in at91_phy_reset() 55 writel(AT91_RSTC_KEY | erstl | AT91_RSTC_MR_URSTEN, &rstc->mr); in at91_phy_reset()
|
/openbmc/linux/arch/arm/mach-meson/ |
H A D | platsmp.c | 158 struct reset_control *rstc; in meson8_smp_boot_secondary() local 161 rstc = meson_smp_get_core_reset(cpu); in meson8_smp_boot_secondary() 162 if (IS_ERR(rstc)) { in meson8_smp_boot_secondary() 164 return PTR_ERR(rstc); in meson8_smp_boot_secondary() 170 ret = reset_control_assert(rstc); in meson8_smp_boot_secondary() 195 ret = reset_control_deassert(rstc); in meson8_smp_boot_secondary() 206 reset_control_put(rstc); in meson8_smp_boot_secondary() 214 struct reset_control *rstc; in meson8b_smp_boot_secondary() local 218 rstc = meson_smp_get_core_reset(cpu); in meson8b_smp_boot_secondary() 219 if (IS_ERR(rstc)) { in meson8b_smp_boot_secondary() [all …]
|
/openbmc/linux/include/linux/ |
H A D | reset.h | 25 struct reset_control *rstc; member 30 int reset_control_reset(struct reset_control *rstc); 31 int reset_control_rearm(struct reset_control *rstc); 32 int reset_control_assert(struct reset_control *rstc); 33 int reset_control_deassert(struct reset_control *rstc); 34 int reset_control_status(struct reset_control *rstc); 35 int reset_control_acquire(struct reset_control *rstc); 36 void reset_control_release(struct reset_control *rstc); 50 void reset_control_put(struct reset_control *rstc); 74 static inline int reset_control_reset(struct reset_control *rstc) in reset_control_reset() argument [all …]
|
/openbmc/linux/drivers/mmc/host/ |
H A D | sdhci-st.c | 21 struct reset_control *rstc; member 351 struct reset_control *rstc; in sdhci_st_probe() local 364 rstc = devm_reset_control_get_optional_exclusive(&pdev->dev, NULL); in sdhci_st_probe() 365 if (IS_ERR(rstc)) in sdhci_st_probe() 366 return PTR_ERR(rstc); in sdhci_st_probe() 367 reset_control_deassert(rstc); in sdhci_st_probe() 378 pdata->rstc = rstc; in sdhci_st_probe() 429 reset_control_assert(rstc); in sdhci_st_probe() 439 struct reset_control *rstc = pdata->rstc; in sdhci_st_remove() local 447 reset_control_assert(rstc); in sdhci_st_remove() [all …]
|
/openbmc/linux/arch/arm/boot/dts/sunplus/ |
H A D | sunplus-sp7021.dtsi | 57 resets = <&rstc RST_OTPRX>; 85 resets = <&rstc RST_GPIO>; 172 rstc: reset@54 { label 183 resets = <&rstc RST_RTC>; 196 resets = <&rstc RST_SPI_COMBO_0>; 213 resets = <&rstc RST_SPI_COMBO_1>; 226 resets = <&rstc RST_SPI_COMBO_2>; 239 resets = <&rstc RST_SPI_COMBO_3>; 248 resets = <&rstc RST_UA0>; 258 resets = <&rstc RST_UA1>; [all …]
|
/openbmc/linux/drivers/pmdomain/amlogic/ |
H A D | meson-gx-pwrc-vpu.c | 36 struct reset_control *rstc; member 173 ret = reset_control_assert(pd->rstc); in meson_gx_pwrc_vpu_power_on() 180 ret = reset_control_deassert(pd->rstc); in meson_gx_pwrc_vpu_power_on() 227 ret = reset_control_assert(pd->rstc); in meson_g12a_pwrc_vpu_power_on() 234 ret = reset_control_deassert(pd->rstc); in meson_g12a_pwrc_vpu_power_on() 276 struct reset_control *rstc; in meson_gx_pwrc_vpu_probe() local 309 rstc = devm_reset_control_array_get_exclusive(&pdev->dev); in meson_gx_pwrc_vpu_probe() 310 if (IS_ERR(rstc)) in meson_gx_pwrc_vpu_probe() 311 return dev_err_probe(&pdev->dev, PTR_ERR(rstc), in meson_gx_pwrc_vpu_probe() 328 vpu_pd->rstc = rstc; in meson_gx_pwrc_vpu_probe()
|
/openbmc/linux/arch/arm/mach-rockchip/ |
H A D | platsmp.c | 67 struct reset_control *rstc = rockchip_get_core_reset(pd); in pmu_set_power_domain() local 70 if (IS_ERR(rstc) && read_cpuid_part() != ARM_CPU_PART_CORTEX_A9) { in pmu_set_power_domain() 73 return PTR_ERR(rstc); in pmu_set_power_domain() 81 if (!IS_ERR(rstc) && !on) in pmu_set_power_domain() 82 reset_control_assert(rstc); in pmu_set_power_domain() 103 if (!IS_ERR(rstc)) { in pmu_set_power_domain() 105 reset_control_deassert(rstc); in pmu_set_power_domain() 106 reset_control_put(rstc); in pmu_set_power_domain()
|
/openbmc/linux/drivers/pci/controller/dwc/ |
H A D | pcie-bt1.c | 358 if (!btpci->dw.app_rsts[bt1_pcie_app_rsts[i]].rstc) { in bt1_pcie_get_resources() 365 if (!btpci->dw.core_rsts[bt1_pcie_core_rsts[i]].rstc) { in bt1_pcie_get_resources() 421 ret = reset_control_deassert(pci->core_rsts[DW_PCIE_PWR_RST].rstc); in bt1_pcie_cold_start_bus() 427 ret = reset_control_deassert(pci->core_rsts[DW_PCIE_HOT_RST].rstc); in bt1_pcie_cold_start_bus() 442 ret = reset_control_deassert(pci->core_rsts[DW_PCIE_PHY_RST].rstc); in bt1_pcie_cold_start_bus() 471 ret = reset_control_deassert(pci->core_rsts[DW_PCIE_PIPE_RST].rstc); in bt1_pcie_cold_start_bus() 477 ret = reset_control_deassert(pci->core_rsts[DW_PCIE_CORE_RST].rstc); in bt1_pcie_cold_start_bus() 491 ret = reset_control_deassert(pci->core_rsts[DW_PCIE_STICKY_RST].rstc); in bt1_pcie_cold_start_bus() 497 ret = reset_control_deassert(pci->core_rsts[DW_PCIE_NON_STICKY_RST].rstc); in bt1_pcie_cold_start_bus() 512 reset_control_assert(pci->core_rsts[DW_PCIE_STICKY_RST].rstc); in bt1_pcie_cold_start_bus() [all …]
|
/openbmc/linux/drivers/clocksource/ |
H A D | renesas-ostm.c | 164 struct reset_control *rstc; in ostm_init() local 172 rstc = of_reset_control_get_optional_exclusive(np, NULL); in ostm_init() 173 if (IS_ERR(rstc)) { in ostm_init() 174 ret = PTR_ERR(rstc); in ostm_init() 178 reset_control_deassert(rstc); in ostm_init() 218 reset_control_assert(rstc); in ostm_init() 219 reset_control_put(rstc); in ostm_init()
|
H A D | dw_apb_timer_of.c | 22 struct reset_control *rstc; in timer_get_base_and_rate() local 34 rstc = of_reset_control_get(np, NULL); in timer_get_base_and_rate() 35 if (!IS_ERR(rstc)) { in timer_get_base_and_rate() 36 reset_control_assert(rstc); in timer_get_base_and_rate() 37 reset_control_deassert(rstc); in timer_get_base_and_rate()
|
/openbmc/linux/drivers/i2c/busses/ |
H A D | i2c-sun6i-p2wi.c | 90 struct reset_control *rstc; member 256 p2wi->rstc = devm_reset_control_get_exclusive(dev, NULL); in p2wi_probe() 257 if (IS_ERR(p2wi->rstc)) { in p2wi_probe() 259 p2wi->rstc); in p2wi_probe() 260 return PTR_ERR(p2wi->rstc); in p2wi_probe() 263 ret = reset_control_deassert(p2wi->rstc); in p2wi_probe() 307 reset_control_assert(p2wi->rstc); in p2wi_probe() 316 reset_control_assert(p2wi->rstc); in p2wi_remove()
|
/openbmc/linux/drivers/watchdog/ |
H A D | rzg2l_wdt.c | 54 struct reset_control *rstc; member 108 ret = reset_control_deassert(priv->rstc); in rzg2l_wdt_start() 131 ret = reset_control_assert(priv->rstc); in rzg2l_wdt_stop() 188 ret = reset_control_deassert(priv->rstc); in rzg2l_wdt_restart() 199 ret = reset_control_reset(priv->rstc); in rzg2l_wdt_restart() 286 priv->rstc = devm_reset_control_get_exclusive(&pdev->dev, NULL); in rzg2l_wdt_probe() 287 if (IS_ERR(priv->rstc)) in rzg2l_wdt_probe() 288 return dev_err_probe(&pdev->dev, PTR_ERR(priv->rstc), in rzg2l_wdt_probe()
|
H A D | sunplus_wdt.c | 48 struct reset_control *rstc; member 172 priv->rstc = devm_reset_control_get_shared(dev, NULL); in sp_wdt_probe() 173 if (IS_ERR(priv->rstc)) in sp_wdt_probe() 174 return dev_err_probe(dev, PTR_ERR(priv->rstc), "Failed to get reset\n"); in sp_wdt_probe() 176 reset_control_deassert(priv->rstc); in sp_wdt_probe() 178 ret = devm_add_action_or_reset(dev, sp_reset_control_assert, priv->rstc); in sp_wdt_probe()
|
/openbmc/linux/drivers/phy/st/ |
H A D | phy-stih407-usb.c | 36 struct reset_control *rstc; member 44 reset_control_deassert(phy_dev->rstc); in stih407_usb2_pico_ctrl() 104 phy_dev->rstc = devm_reset_control_get_shared(dev, "global"); in stih407_usb2_picophy_probe() 105 if (IS_ERR(phy_dev->rstc)) { in stih407_usb2_picophy_probe() 107 return PTR_ERR(phy_dev->rstc); in stih407_usb2_picophy_probe()
|
/openbmc/linux/drivers/pwm/ |
H A D | pwm-hibvt.c | 39 struct reset_control *rstc; member 222 pwm_chip->rstc = devm_reset_control_get_exclusive(&pdev->dev, NULL); in hibvt_pwm_probe() 223 if (IS_ERR(pwm_chip->rstc)) { in hibvt_pwm_probe() 225 return PTR_ERR(pwm_chip->rstc); in hibvt_pwm_probe() 228 reset_control_assert(pwm_chip->rstc); in hibvt_pwm_probe() 230 reset_control_deassert(pwm_chip->rstc); in hibvt_pwm_probe() 256 reset_control_assert(pwm_chip->rstc); in hibvt_pwm_remove() 258 reset_control_deassert(pwm_chip->rstc); in hibvt_pwm_remove()
|
/openbmc/linux/drivers/thermal/ |
H A D | rzg2l_thermal.c | 61 struct reset_control *rstc; member 150 reset_control_assert(priv->rstc); in rzg2l_thermal_reset_assert_pm_disable_put() 179 priv->rstc = devm_reset_control_get_exclusive(dev, NULL); in rzg2l_thermal_probe() 180 if (IS_ERR(priv->rstc)) in rzg2l_thermal_probe() 181 return dev_err_probe(dev, PTR_ERR(priv->rstc), in rzg2l_thermal_probe() 184 ret = reset_control_deassert(priv->rstc); in rzg2l_thermal_probe()
|
/openbmc/linux/drivers/staging/media/sunxi/cedrus/ |
H A D | cedrus_hw.c | 166 reset_control_reset(dev->rstc); in cedrus_watchdog() 179 reset_control_assert(dev->rstc); in cedrus_hw_suspend() 189 ret = reset_control_reset(dev->rstc); in cedrus_hw_resume() 224 reset_control_assert(dev->rstc); in cedrus_hw_resume() 290 dev->rstc = devm_reset_control_get(dev->dev, NULL); in cedrus_hw_probe() 291 if (IS_ERR(dev->rstc)) { in cedrus_hw_probe() 294 ret = PTR_ERR(dev->rstc); in cedrus_hw_probe()
|