/linux/drivers/mmc/core/ |
A D | pwrseq_simple.c | 63 struct mmc_pwrseq_simple *pwrseq = to_pwrseq_simple(host->pwrseq); in mmc_pwrseq_simple_pre_power_on() local 65 if (!IS_ERR(pwrseq->ext_clk) && !pwrseq->clk_enabled) { in mmc_pwrseq_simple_pre_power_on() 75 struct mmc_pwrseq_simple *pwrseq = to_pwrseq_simple(host->pwrseq); in mmc_pwrseq_simple_post_power_on() local 93 if (!IS_ERR(pwrseq->ext_clk) && pwrseq->clk_enabled) { in mmc_pwrseq_simple_power_off() 116 pwrseq = devm_kzalloc(dev, sizeof(*pwrseq), GFP_KERNEL); in mmc_pwrseq_simple_probe() 117 if (!pwrseq) in mmc_pwrseq_simple_probe() 137 pwrseq->pwrseq.dev = dev; in mmc_pwrseq_simple_probe() 138 pwrseq->pwrseq.ops = &mmc_pwrseq_simple_ops; in mmc_pwrseq_simple_probe() 139 pwrseq->pwrseq.owner = THIS_MODULE; in mmc_pwrseq_simple_probe() 142 return mmc_pwrseq_register(&pwrseq->pwrseq); in mmc_pwrseq_simple_probe() [all …]
|
A D | pwrseq.c | 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() 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() 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() 80 struct mmc_pwrseq *pwrseq = host->pwrseq; in mmc_pwrseq_reset() local 82 if (pwrseq && pwrseq->ops->reset) in mmc_pwrseq_reset() 88 struct mmc_pwrseq *pwrseq = host->pwrseq; in mmc_pwrseq_free() local 90 if (pwrseq) { in mmc_pwrseq_free() [all …]
|
A D | pwrseq_sd8787.c | 28 struct mmc_pwrseq pwrseq; member 38 struct mmc_pwrseq_sd8787 *pwrseq = to_pwrseq_sd8787(host->pwrseq); in mmc_pwrseq_sd8787_pre_power_on() local 48 struct mmc_pwrseq_sd8787 *pwrseq = to_pwrseq_sd8787(host->pwrseq); in mmc_pwrseq_sd8787_power_off() local 75 pwrseq = devm_kzalloc(dev, sizeof(*pwrseq), GFP_KERNEL); in mmc_pwrseq_sd8787_probe() 76 if (!pwrseq) in mmc_pwrseq_sd8787_probe() 83 if (IS_ERR(pwrseq->pwrdn_gpio)) in mmc_pwrseq_sd8787_probe() 90 pwrseq->pwrseq.dev = dev; in mmc_pwrseq_sd8787_probe() 91 pwrseq->pwrseq.ops = &mmc_pwrseq_sd8787_ops; in mmc_pwrseq_sd8787_probe() 92 pwrseq->pwrseq.owner = THIS_MODULE; in mmc_pwrseq_sd8787_probe() 95 return mmc_pwrseq_register(&pwrseq->pwrseq); in mmc_pwrseq_sd8787_probe() [all …]
|
A D | pwrseq_emmc.c | 25 struct mmc_pwrseq pwrseq; member 34 struct mmc_pwrseq_emmc *pwrseq = to_pwrseq_emmc(host->pwrseq); in mmc_pwrseq_emmc_reset() local 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() 65 if (!pwrseq) in mmc_pwrseq_emmc_probe() 69 if (IS_ERR(pwrseq->reset_gpio)) in mmc_pwrseq_emmc_probe() 85 pwrseq->pwrseq.ops = &mmc_pwrseq_emmc_ops; in mmc_pwrseq_emmc_probe() 86 pwrseq->pwrseq.dev = dev; in mmc_pwrseq_emmc_probe() 87 pwrseq->pwrseq.owner = THIS_MODULE; in mmc_pwrseq_emmc_probe() 90 return mmc_pwrseq_register(&pwrseq->pwrseq); in mmc_pwrseq_emmc_probe() [all …]
|
A D | pwrseq.h | 32 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/arch/arm64/boot/dts/amlogic/ |
A D | meson-gxl-s805x-p241.dts | 38 emmc_pwrseq: emmc-pwrseq { 39 compatible = "mmc-pwrseq-emmc"; 87 emmc_pwrseq: emmc-pwrseq { 88 compatible = "mmc-pwrseq-emmc"; 99 sdio_pwrseq: sdio-pwrseq { 100 compatible = "mmc-pwrseq-simple"; 171 mmc-pwrseq = <&sdio_pwrseq>; 192 mmc-pwrseq = <&emmc_pwrseq>;
|
A D | meson-gxl-s905x-nexbox-a95x.dts | 66 emmc_pwrseq: emmc-pwrseq { 67 compatible = "mmc-pwrseq-emmc"; 78 sdio_pwrseq: sdio-pwrseq { 79 compatible = "mmc-pwrseq-simple"; 171 mmc-pwrseq = <&sdio_pwrseq>; 210 mmc-pwrseq = <&emmc_pwrseq>;
|
A D | meson-gxl-s905x-hwacom-amazetv.dts | 66 emmc_pwrseq: emmc-pwrseq { 67 compatible = "mmc-pwrseq-emmc"; 78 sdio_pwrseq: sdio-pwrseq { 79 compatible = "mmc-pwrseq-simple"; 155 mmc-pwrseq = <&emmc_pwrseq>;
|
A D | meson-gxl-s905x-p212.dtsi | 70 emmc_pwrseq: emmc-pwrseq { 71 compatible = "mmc-pwrseq-emmc"; 82 sdio_pwrseq: sdio-pwrseq { 83 compatible = "mmc-pwrseq-simple"; 124 mmc-pwrseq = <&sdio_pwrseq>; 163 mmc-pwrseq = <&emmc_pwrseq>;
|
A D | meson-gxbb-p20x.dtsi | 77 emmc_pwrseq: emmc-pwrseq { 78 compatible = "mmc-pwrseq-emmc"; 89 sdio_pwrseq: sdio-pwrseq { 90 compatible = "mmc-pwrseq-simple"; 176 mmc-pwrseq = <&sdio_pwrseq>; 223 mmc-pwrseq = <&emmc_pwrseq>;
|
A D | meson-gxl-s905w-jethome-jethub-j80.dts | 68 emmc_pwrseq: emmc-pwrseq { 69 compatible = "mmc-pwrseq-emmc"; 80 sdio_pwrseq: sdio-pwrseq { 81 compatible = "mmc-pwrseq-simple"; 147 mmc-pwrseq = <&sdio_pwrseq>; 186 mmc-pwrseq = <&emmc_pwrseq>;
|
A D | meson-gxm-rbox-pro.dts | 83 emmc_pwrseq: emmc-pwrseq { 84 compatible = "mmc-pwrseq-emmc"; 95 sdio_pwrseq: sdio-pwrseq { 96 compatible = "mmc-pwrseq-simple"; 215 mmc-pwrseq = <&sdio_pwrseq>; 257 mmc-pwrseq = <&emmc_pwrseq>;
|
A D | meson-gxbb-wetek.dtsi | 76 emmc_pwrseq: emmc-pwrseq { 77 compatible = "mmc-pwrseq-emmc"; 88 sdio_pwrseq: sdio-pwrseq { 89 compatible = "mmc-pwrseq-simple"; 210 mmc-pwrseq = <&sdio_pwrseq>; 254 mmc-pwrseq = <&emmc_pwrseq>;
|
A D | meson-gxbb-nexbox-a95x.dts | 104 emmc_pwrseq: emmc-pwrseq { 105 compatible = "mmc-pwrseq-emmc"; 116 sdio_pwrseq: sdio-pwrseq { 117 compatible = "mmc-pwrseq-simple"; 266 mmc-pwrseq = <&sdio_pwrseq>; 305 mmc-pwrseq = <&emmc_pwrseq>;
|
A D | meson-gx-p23x-q20x.dtsi | 82 emmc_pwrseq: emmc-pwrseq { 83 compatible = "mmc-pwrseq-emmc"; 94 sdio_pwrseq: sdio-pwrseq { 95 compatible = "mmc-pwrseq-simple"; 270 mmc-pwrseq = <&sdio_pwrseq>; 309 mmc-pwrseq = <&emmc_pwrseq>;
|
A D | meson-axg-jethome-jethub-j100.dts | 41 emmc_pwrseq: emmc-pwrseq { 42 compatible = "mmc-pwrseq-emmc"; 99 sdio_pwrseq: sdio-pwrseq { 100 compatible = "mmc-pwrseq-simple"; 256 mmc-pwrseq = <&sdio_pwrseq>; 282 mmc-pwrseq = <&emmc_pwrseq>;
|
A D | meson-gxbb-vega-s95.dtsi | 79 emmc_pwrseq: emmc-pwrseq { 80 compatible = "mmc-pwrseq-emmc"; 102 sdio_pwrseq: sdio-pwrseq { 103 compatible = "mmc-pwrseq-simple"; 251 mmc-pwrseq = <&sdio_pwrseq>; 295 mmc-pwrseq = <&emmc_pwrseq>;
|
/linux/Documentation/devicetree/bindings/mmc/ |
A D | mmc-pwrseq-sd8787.yaml | 4 $id: http://devicetree.org/schemas/mmc/mmc-pwrseq-sd8787.yaml# 15 - mmc-pwrseq-sd8787 16 - mmc-pwrseq-wilc1000 39 compatible = "mmc-pwrseq-sd8787";
|
A D | mmc-pwrseq-emmc.yaml | 4 $id: http://devicetree.org/schemas/mmc/mmc-pwrseq-emmc.yaml# 25 const: mmc-pwrseq-emmc 45 compatible = "mmc-pwrseq-emmc";
|
/linux/drivers/staging/wfx/Documentation/devicetree/bindings/net/wireless/ |
A D | silabs,wfx.yaml | 24 In addition, it is recommended to declare a mmc-pwrseq on SDIO host above 25 WFx. Without it, you may encounter issues with warm boot. The mmc-pwrseq 26 should be compatible with mmc-pwrseq-simple. Please consult 27 Documentation/devicetree/bindings/mmc/mmc-pwrseq-simple.yaml for more 65 For SDIO, the reset gpio should declared using a mmc-pwrseq. 106 compatible = "mmc-pwrseq-simple"; 113 mmc-pwrseq = <&wfx_pwrseq>;
|
/linux/arch/arm/boot/dts/ |
A D | bcm283x-rpi-wifi-bt.dtsi | 4 wifi_pwrseq: wifi-pwrseq { 5 compatible = "mmc-pwrseq-simple"; 17 mmc-pwrseq = <&wifi_pwrseq>;
|
A D | sun7i-a20-olinuxino-lime-emmc.dts | 13 mmc2_pwrseq: pwrseq { 14 compatible = "mmc-pwrseq-emmc"; 24 mmc-pwrseq = <&mmc2_pwrseq>;
|
A D | imx6ull-colibri-wifi.dtsi | 14 wifi_pwrseq: sdio-pwrseq { 15 compatible = "mmc-pwrseq-simple"; 47 mmc-pwrseq = <&wifi_pwrseq>;
|
/linux/arch/arm64/boot/dts/allwinner/ |
A D | sun50i-a64-pinephone-1.2.dts | 12 wifi_pwrseq: wifi-pwrseq { 13 compatible = "mmc-pwrseq-simple"; 48 mmc-pwrseq = <&wifi_pwrseq>;
|
/linux/arch/arm64/boot/dts/rockchip/ |
A D | rk3368-r88.dts | 28 emmc_pwrseq: emmc-pwrseq { 29 compatible = "mmc-pwrseq-emmc"; 66 sdio_pwrseq: sdio-pwrseq { 67 compatible = "mmc-pwrseq-simple"; 157 mmc-pwrseq = <&emmc_pwrseq>; 221 mmc-pwrseq = <&sdio_pwrseq>;
|