| /kernel/linux/linux-5.10/drivers/reset/ |
| D | core.c | 57 * @rstc: array of reset controls 62 struct reset_control *rstc[]; member 194 rstc_to_array(struct reset_control *rstc) { in rstc_to_array() argument 195 return container_of(rstc, struct reset_control_array, base); in rstc_to_array() 203 ret = reset_control_reset(resets->rstc[i]); in reset_control_array_reset() 216 ret = reset_control_assert(resets->rstc[i]); in reset_control_array_assert() 225 reset_control_deassert(resets->rstc[i]); in reset_control_array_assert() 234 ret = reset_control_deassert(resets->rstc[i]); in reset_control_array_deassert() 243 reset_control_assert(resets->rstc[i]); in reset_control_array_deassert() 253 err = reset_control_acquire(resets->rstc[i]); in reset_control_array_acquire() [all …]
|
| D | reset-meson-audio-arb.c | 15 struct reset_controller_dev rstc; member 64 container_of(rcdev, struct meson_audio_arb_data, rstc); in meson_audio_arb_update() 85 container_of(rcdev, struct meson_audio_arb_data, rstc); in meson_audio_arb_status() 167 arb->rstc.nr_resets = data->reset_num; in meson_audio_arb_probe() 168 arb->rstc.ops = &meson_audio_arb_rstc_ops; in meson_audio_arb_probe() 169 arb->rstc.of_node = dev->of_node; in meson_audio_arb_probe() 170 arb->rstc.owner = THIS_MODULE; in meson_audio_arb_probe() 185 ret = devm_reset_controller_register(dev, &arb->rstc); in meson_audio_arb_probe()
|
| /kernel/linux/linux-6.6/drivers/reset/ |
| D | core.c | 58 * @rstc: array of reset controls 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() [all …]
|
| 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()
|
| 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()
|
| /kernel/linux/linux-6.6/drivers/clk/hisilicon/ |
| 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 …]
|
| /kernel/linux/linux-5.10/drivers/clk/hisilicon/ |
| 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 …]
|
| /kernel/linux/linux-5.10/drivers/reset/tegra/ |
| 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 …]
|
| /kernel/linux/linux-6.6/drivers/reset/tegra/ |
| 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 …]
|
| /kernel/linux/linux-6.6/drivers/clk/meson/ |
| 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 …]
|
| /kernel/linux/linux-5.10/drivers/clk/meson/ |
| D | meson-aoclk.c | 23 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 47 rstc = devm_kzalloc(dev, sizeof(*rstc), GFP_KERNEL); in meson_aoclkc_probe() 48 if (!rstc) in meson_aoclkc_probe() 60 rstc->data = data; in meson_aoclkc_probe() 61 rstc->regmap = regmap; in meson_aoclkc_probe() 62 rstc->reset.ops = &meson_aoclk_reset_ops; in meson_aoclkc_probe() 63 rstc->reset.nr_resets = data->num_reset; in meson_aoclkc_probe() [all …]
|
| /kernel/linux/linux-6.6/Documentation/devicetree/bindings/reset/ |
| D | atmel,at91sam9260-reset.yaml | 21 - atmel,at91sam9260-rstc 22 - atmel,at91sam9g45-rstc 23 - atmel,sama5d3-rstc 24 - microchip,sam9x60-rstc 25 - microchip,sama7g5-rstc 27 - const: atmel,sama5d3-rstc 28 - const: atmel,at91sam9g45-rstc 53 - microchip,sama7g5-rstc 65 compatible = "atmel,at91sam9260-rstc";
|
| /kernel/linux/linux-5.10/Documentation/devicetree/bindings/reset/ |
| D | sirf,rstc.txt | 8 - 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>;
|
| /kernel/linux/linux-5.10/drivers/mmc/host/ |
| D | sdhci-st.c | 21 struct reset_control *rstc; member 352 struct reset_control *rstc; in sdhci_st_probe() local 365 rstc = devm_reset_control_get_exclusive(&pdev->dev, NULL); in sdhci_st_probe() 366 if (IS_ERR(rstc)) in sdhci_st_probe() 367 rstc = NULL; in sdhci_st_probe() 369 reset_control_deassert(rstc); in sdhci_st_probe() 380 pdata->rstc = rstc; in sdhci_st_probe() 435 if (rstc) in sdhci_st_probe() 436 reset_control_assert(rstc); in sdhci_st_probe() 446 struct reset_control *rstc = pdata->rstc; in sdhci_st_remove() local [all …]
|
| /kernel/linux/linux-6.6/arch/arm/boot/dts/sunplus/ |
| 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 …]
|
| /kernel/linux/linux-6.6/arch/arm/mach-meson/ |
| 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 …]
|
| /kernel/linux/linux-5.10/arch/arm/mach-meson/ |
| 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 …]
|
| /kernel/linux/linux-5.10/drivers/soc/amlogic/ |
| 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() 275 struct reset_control *rstc; in meson_gx_pwrc_vpu_probe() local 306 rstc = devm_reset_control_array_get(&pdev->dev, false, false); in meson_gx_pwrc_vpu_probe() 307 if (IS_ERR(rstc)) { in meson_gx_pwrc_vpu_probe() 308 if (PTR_ERR(rstc) != -EPROBE_DEFER) in meson_gx_pwrc_vpu_probe() 310 return PTR_ERR(rstc); in meson_gx_pwrc_vpu_probe() [all …]
|
| /kernel/linux/linux-6.6/drivers/mmc/host/ |
| 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 …]
|
| /kernel/linux/linux-6.6/drivers/pmdomain/amlogic/ |
| 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()
|
| /kernel/linux/linux-5.10/include/linux/ |
| D | reset.h | 15 int reset_control_reset(struct reset_control *rstc); 16 int reset_control_assert(struct reset_control *rstc); 17 int reset_control_deassert(struct reset_control *rstc); 18 int reset_control_status(struct reset_control *rstc); 19 int reset_control_acquire(struct reset_control *rstc); 20 void reset_control_release(struct reset_control *rstc); 28 void reset_control_put(struct reset_control *rstc); 44 static inline int reset_control_reset(struct reset_control *rstc) in reset_control_reset() argument 49 static inline int reset_control_assert(struct reset_control *rstc) in reset_control_assert() argument 54 static inline int reset_control_deassert(struct reset_control *rstc) in reset_control_deassert() argument [all …]
|
| /kernel/linux/linux-6.6/drivers/clocksource/ |
| 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()
|
| /kernel/linux/linux-6.6/drivers/pci/controller/dwc/ |
| 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 …]
|
| /kernel/linux/linux-6.6/drivers/pwm/ |
| 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()
|
| /kernel/linux/linux-5.10/drivers/pwm/ |
| D | pwm-hibvt.c | 39 struct reset_control *rstc; member 226 pwm_chip->rstc = devm_reset_control_get_exclusive(&pdev->dev, NULL); in hibvt_pwm_probe() 227 if (IS_ERR(pwm_chip->rstc)) { in hibvt_pwm_probe() 229 return PTR_ERR(pwm_chip->rstc); in hibvt_pwm_probe() 232 reset_control_assert(pwm_chip->rstc); in hibvt_pwm_probe() 234 reset_control_deassert(pwm_chip->rstc); in hibvt_pwm_probe() 258 reset_control_assert(pwm_chip->rstc); in hibvt_pwm_remove() 260 reset_control_deassert(pwm_chip->rstc); in hibvt_pwm_remove()
|