Home
last modified time | relevance | path

Searched refs:pwrseq (Results 1 – 25 of 357) sorted by relevance

12345678910>>...15

/linux/drivers/mmc/core/
H A Dpwrseq_simple.c28 struct mmc_pwrseq pwrseq; member
37 #define to_pwrseq_simple(p) container_of(p, struct mmc_pwrseq_simple, pwrseq)
39 static void mmc_pwrseq_simple_set_gpios_value(struct mmc_pwrseq_simple *pwrseq, in mmc_pwrseq_simple_set_gpios_value() argument
42 struct gpio_descs *reset_gpios = pwrseq->reset_gpios; in mmc_pwrseq_simple_set_gpios_value()
65 struct mmc_pwrseq_simple *pwrseq = to_pwrseq_simple(host->pwrseq); in mmc_pwrseq_simple_pre_power_on() local
67 if (!IS_ERR(pwrseq->ext_clk) && !pwrseq->clk_enabled) { in mmc_pwrseq_simple_pre_power_on()
68 clk_prepare_enable(pwrseq->ext_clk); in mmc_pwrseq_simple_pre_power_on()
69 pwrseq->clk_enabled = true; in mmc_pwrseq_simple_pre_power_on()
72 if (pwrseq->reset_ctrl) { in mmc_pwrseq_simple_pre_power_on()
73 reset_control_deassert(pwrseq->reset_ctrl); in mmc_pwrseq_simple_pre_power_on()
[all …]
H A Dpwrseq_sd8787.c28 struct mmc_pwrseq pwrseq; member
33 #define to_pwrseq_sd8787(p) container_of(p, struct mmc_pwrseq_sd8787, pwrseq)
37 struct mmc_pwrseq_sd8787 *pwrseq = to_pwrseq_sd8787(host->pwrseq); in mmc_pwrseq_sd8787_pre_power_on() local
39 gpiod_set_value_cansleep(pwrseq->reset_gpio, 1); in mmc_pwrseq_sd8787_pre_power_on()
42 gpiod_set_value_cansleep(pwrseq->pwrdn_gpio, 1); in mmc_pwrseq_sd8787_pre_power_on()
47 struct mmc_pwrseq_sd8787 *pwrseq = to_pwrseq_sd8787(host->pwrseq); in mmc_pwrseq_sd8787_power_off() local
49 gpiod_set_value_cansleep(pwrseq->pwrdn_gpio, 0); in mmc_pwrseq_sd8787_power_off()
50 gpiod_set_value_cansleep(pwrseq->reset_gpio, 0); in mmc_pwrseq_sd8787_power_off()
55 struct mmc_pwrseq_sd8787 *pwrseq = to_pwrseq_sd8787(host->pwrseq); in mmc_pwrseq_wilc1000_pre_power_on() local
58 gpiod_set_value_cansleep(pwrseq->pwrdn_gpio, 1); in mmc_pwrseq_wilc1000_pre_power_on()
[all …]
H A Dpwrseq.c37 host->pwrseq = p; in mmc_pwrseq_alloc()
46 if (!host->pwrseq) in mmc_pwrseq_alloc()
56 struct mmc_pwrseq *pwrseq = host->pwrseq; in mmc_pwrseq_pre_power_on() local
58 if (pwrseq && pwrseq->ops->pre_power_on) in mmc_pwrseq_pre_power_on()
59 pwrseq->ops->pre_power_on(host); in mmc_pwrseq_pre_power_on()
64 struct mmc_pwrseq *pwrseq = host->pwrseq; in mmc_pwrseq_post_power_on() local
66 if (pwrseq && pwrseq->ops->post_power_on) in mmc_pwrseq_post_power_on()
67 pwrseq->ops->post_power_on(host); in mmc_pwrseq_post_power_on()
72 struct mmc_pwrseq *pwrseq = host->pwrseq; in mmc_pwrseq_power_off() local
74 if (pwrseq && pwrseq->ops->power_off) in mmc_pwrseq_power_off()
[all …]
H A Dpwrseq_emmc.c25 struct mmc_pwrseq pwrseq; member
30 #define to_pwrseq_emmc(p) container_of(p, struct mmc_pwrseq_emmc, pwrseq)
34 struct mmc_pwrseq_emmc *pwrseq = to_pwrseq_emmc(host->pwrseq); in mmc_pwrseq_emmc_reset() local
36 gpiod_set_value_cansleep(pwrseq->reset_gpio, 1); in mmc_pwrseq_emmc_reset()
38 gpiod_set_value_cansleep(pwrseq->reset_gpio, 0); in mmc_pwrseq_emmc_reset()
45 struct mmc_pwrseq_emmc *pwrseq = container_of(this, in mmc_pwrseq_emmc_reset_nb() local
47 gpiod_set_value(pwrseq->reset_gpio, 1); in mmc_pwrseq_emmc_reset_nb()
49 gpiod_set_value(pwrseq->reset_gpio, 0); in mmc_pwrseq_emmc_reset_nb()
61 struct mmc_pwrseq_emmc *pwrseq; in mmc_pwrseq_emmc_probe() local
64 pwrseq = devm_kzalloc(dev, sizeof(*pwrseq), GFP_KERNEL); in mmc_pwrseq_emmc_probe()
[all …]
H A Dpwrseq.h32 int mmc_pwrseq_register(struct mmc_pwrseq *pwrseq);
33 void mmc_pwrseq_unregister(struct mmc_pwrseq *pwrseq);
44 static inline int mmc_pwrseq_register(struct mmc_pwrseq *pwrseq) in mmc_pwrseq_register() argument
48 static inline void mmc_pwrseq_unregister(struct mmc_pwrseq *pwrseq) {} in mmc_pwrseq_unregister() argument
/linux/drivers/power/sequencing/
H A Dcore.c249 static struct pwrseq_device *pwrseq_device_get(struct pwrseq_device *pwrseq) in pwrseq_device_get() argument
251 get_device(&pwrseq->dev); in pwrseq_device_get()
253 return pwrseq; in pwrseq_device_get()
256 static void pwrseq_device_put(struct pwrseq_device *pwrseq) in pwrseq_device_put() argument
258 put_device(&pwrseq->dev); in pwrseq_device_put()
270 struct pwrseq_device *pwrseq; member
281 struct pwrseq_device *pwrseq = to_pwrseq_device(dev); in pwrseq_release() local
284 list_for_each_entry_safe(target, pos, &pwrseq->targets, list) { in pwrseq_release()
289 mutex_destroy(&pwrseq->state_lock); in pwrseq_release()
290 ida_free(&pwrseq_ida, pwrseq->id); in pwrseq_release()
[all …]
H A Dpwrseq-pcie-m2.c22 struct pwrseq_device *pwrseq; member
30 static int pwrseq_pcie_m2_m_vregs_enable(struct pwrseq_device *pwrseq) in pwrseq_pcie_m2_m_vregs_enable() argument
32 struct pwrseq_pcie_m2_ctx *ctx = pwrseq_device_get_drvdata(pwrseq); in pwrseq_pcie_m2_m_vregs_enable()
37 static int pwrseq_pcie_m2_m_vregs_disable(struct pwrseq_device *pwrseq) in pwrseq_pcie_m2_m_vregs_disable() argument
39 struct pwrseq_pcie_m2_ctx *ctx = pwrseq_device_get_drvdata(pwrseq); in pwrseq_pcie_m2_m_vregs_disable()
74 static int pwrseq_pcie_m2_match(struct pwrseq_device *pwrseq, in pwrseq_pcie_m2_match() argument
77 struct pwrseq_pcie_m2_ctx *ctx = pwrseq_device_get_drvdata(pwrseq); in pwrseq_pcie_m2_match()
140 ctx->pwrseq = devm_pwrseq_device_register(dev, &config); in pwrseq_pcie_m2_probe()
141 if (IS_ERR(ctx->pwrseq)) in pwrseq_pcie_m2_probe()
142 return dev_err_probe(dev, PTR_ERR(ctx->pwrseq), in pwrseq_pcie_m2_probe()
H A Dpwrseq-thead-gpu.c29 struct pwrseq_device *pwrseq; member
40 static int pwrseq_thead_gpu_enable(struct pwrseq_device *pwrseq) in pwrseq_thead_gpu_enable() argument
42 struct pwrseq_thead_gpu_ctx *ctx = pwrseq_device_get_drvdata(pwrseq); in pwrseq_thead_gpu_enable()
79 static int pwrseq_thead_gpu_disable(struct pwrseq_device *pwrseq) in pwrseq_thead_gpu_disable() argument
81 struct pwrseq_thead_gpu_ctx *ctx = pwrseq_device_get_drvdata(pwrseq); in pwrseq_thead_gpu_disable()
117 static int pwrseq_thead_gpu_match(struct pwrseq_device *pwrseq, in pwrseq_thead_gpu_match() argument
120 struct pwrseq_thead_gpu_ctx *ctx = pwrseq_device_get_drvdata(pwrseq); in pwrseq_thead_gpu_match()
205 ctx->pwrseq = devm_pwrseq_device_register(dev, &config); in pwrseq_thead_gpu_probe()
206 if (IS_ERR(ctx->pwrseq)) in pwrseq_thead_gpu_probe()
207 return dev_err_probe(dev, PTR_ERR(ctx->pwrseq), in pwrseq_thead_gpu_probe()
/linux/drivers/pci/pwrctrl/
H A Dpci-pwrctrl-pwrseq.c18 struct pwrseq_desc *pwrseq; member
57 struct pwrseq_pwrctrl *pwrseq = container_of(pwrctrl, in pwrseq_pwrctrl_power_on() local
60 return pwrseq_power_on(pwrseq->pwrseq); in pwrseq_pwrctrl_power_on()
65 struct pwrseq_pwrctrl *pwrseq = container_of(pwrctrl, in pwrseq_pwrctrl_power_off() local
68 return pwrseq_power_off(pwrseq->pwrseq); in pwrseq_pwrctrl_power_off()
74 struct pwrseq_pwrctrl *pwrseq; in pwrseq_pwrctrl_probe() local
88 pwrseq = devm_kzalloc(dev, sizeof(*pwrseq), GFP_KERNEL); in pwrseq_pwrctrl_probe()
89 if (!pwrseq) in pwrseq_pwrctrl_probe()
92 pwrseq->pwrseq = devm_pwrseq_get(dev, pdata->target); in pwrseq_pwrctrl_probe()
93 if (IS_ERR(pwrseq->pwrseq)) in pwrseq_pwrctrl_probe()
[all …]
H A Dslot.c23 struct pwrseq_desc *pwrseq; member
32 if (slot->pwrseq) { in slot_pwrctrl_power_on()
33 pwrseq_power_on(slot->pwrseq); in slot_pwrctrl_power_on()
51 if (slot->pwrseq) { in slot_pwrctrl_power_off()
52 pwrseq_power_off(slot->pwrseq); in slot_pwrctrl_power_off()
80 slot->pwrseq = devm_pwrseq_get(dev, "pcie"); in slot_pwrctrl_probe()
81 if (IS_ERR(slot->pwrseq)) in slot_pwrctrl_probe()
82 return dev_err_probe(dev, PTR_ERR(slot->pwrseq), in slot_pwrctrl_probe()
/linux/arch/arm64/boot/dts/amlogic/
H A Dmeson-gxl-s805y-xiaomi-aquaman.dts31 emmc_pwrseq: emmc-pwrseq {
32 compatible = "mmc-pwrseq-emmc";
99 emmc_pwrseq: emmc-pwrseq {
100 compatible = "mmc-pwrseq-emmc";
111 sdio_pwrseq: sdio-pwrseq {
112 compatible = "mmc-pwrseq-simple";
204 mmc-pwrseq = <&sdio_pwrseq>;
229 mmc-pwrseq = <&emmc_pwrseq>;
H A Dmeson-gxl-s805x-p241.dts46 emmc_pwrseq: emmc-pwrseq {
47 compatible = "mmc-pwrseq-emmc";
103 emmc_pwrseq: emmc-pwrseq {
104 compatible = "mmc-pwrseq-emmc";
115 sdio_pwrseq: sdio-pwrseq {
116 compatible = "mmc-pwrseq-simple";
252 mmc-pwrseq = <&sdio_pwrseq>;
273 mmc-pwrseq = <&emmc_pwrseq>;
H A Dmeson-gxl-s905x-nexbox-a95x.dts66 emmc_pwrseq: emmc-pwrseq {
67 compatible = "mmc-pwrseq-emmc";
78 sdio_pwrseq: sdio-pwrseq {
79 compatible = "mmc-pwrseq-simple";
169 mmc-pwrseq = <&sdio_pwrseq>;
208 mmc-pwrseq = <&emmc_pwrseq>;
H A Dmeson-gxl-s905x-hwacom-amazetv.dts66 emmc_pwrseq: emmc-pwrseq {
67 compatible = "mmc-pwrseq-emmc";
78 sdio_pwrseq: sdio-pwrseq {
79 compatible = "mmc-pwrseq-simple";
153 mmc-pwrseq = <&emmc_pwrseq>;
H A Dmeson-gxl-s905x-p212.dtsi70 emmc_pwrseq: emmc-pwrseq {
71 compatible = "mmc-pwrseq-emmc";
82 sdio_pwrseq: sdio-pwrseq {
83 compatible = "mmc-pwrseq-simple";
130 mmc-pwrseq = <&sdio_pwrseq>;
173 mmc-pwrseq = <&emmc_pwrseq>;
H A Dmeson-s4-s905y4-khadas-vim1s.dts41 emmc_pwrseq: emmc-pwrseq {
42 compatible = "mmc-pwrseq-emmc";
53 sdio_pwrseq: sdio-pwrseq {
54 compatible = "mmc-pwrseq-simple";
176 mmc-pwrseq = <&emmc_pwrseq>;
240 mmc-pwrseq = <&sdio_pwrseq>;
H A Dmeson-gxl-s905w-jethome-jethub-j80.dts68 emmc_pwrseq: emmc-pwrseq {
69 compatible = "mmc-pwrseq-emmc";
80 sdio_pwrseq: sdio-pwrseq {
81 compatible = "mmc-pwrseq-simple";
145 mmc-pwrseq = <&sdio_pwrseq>;
184 mmc-pwrseq = <&emmc_pwrseq>;
H A Dmeson-gxbb-p20x.dtsi77 emmc_pwrseq: emmc-pwrseq {
78 compatible = "mmc-pwrseq-emmc";
89 sdio_pwrseq: sdio-pwrseq {
90 compatible = "mmc-pwrseq-simple";
174 mmc-pwrseq = <&sdio_pwrseq>;
220 mmc-pwrseq = <&emmc_pwrseq>;
H A Dmeson-gxm-rbox-pro.dts82 emmc_pwrseq: emmc-pwrseq {
83 compatible = "mmc-pwrseq-emmc";
94 sdio_pwrseq: sdio-pwrseq {
95 compatible = "mmc-pwrseq-simple";
214 mmc-pwrseq = <&sdio_pwrseq>;
256 mmc-pwrseq = <&emmc_pwrseq>;
H A Dmeson-sm1-ac2xx.dtsi26 emmc_pwrseq: emmc-pwrseq {
27 compatible = "mmc-pwrseq-emmc";
117 sdio_pwrseq: sdio-pwrseq {
118 compatible = "mmc-pwrseq-simple";
229 mmc-pwrseq = <&sdio_pwrseq>;
268 mmc-pwrseq = <&emmc_pwrseq>;
/linux/arch/arm/boot/dts/broadcom/
H A Dbcm283x-rpi-wifi-bt.dtsi4 wifi_pwrseq: wifi-pwrseq {
5 compatible = "mmc-pwrseq-simple";
17 mmc-pwrseq = <&wifi_pwrseq>;
/linux/arch/arm/boot/dts/allwinner/
H A Dsun7i-a20-olinuxino-lime-emmc.dts13 mmc2_pwrseq: pwrseq {
14 compatible = "mmc-pwrseq-emmc";
24 mmc-pwrseq = <&mmc2_pwrseq>;
H A Dsun7i-a20-olimex-som204-evb-emmc.dts16 mmc2_pwrseq: pwrseq-1 {
17 compatible = "mmc-pwrseq-emmc";
24 mmc-pwrseq = <&mmc2_pwrseq>;
H A Dsun7i-a20-olimex-som-evb-emmc.dts17 mmc2_pwrseq: pwrseq {
18 compatible = "mmc-pwrseq-emmc";
25 mmc-pwrseq = <&mmc2_pwrseq>;
/linux/arch/arm64/boot/dts/ti/
H A Dk3-am62-verdin-wifi.dtsi11 wifi_pwrseq: wifi-pwrseq {
12 compatible = "mmc-pwrseq-simple";
26 mmc-pwrseq = <&wifi_pwrseq>;

12345678910>>...15