| /Linux-v5.4/drivers/mmc/core/ |
| D | pwrseq_simple.c | 26 struct mmc_pwrseq pwrseq; member 34 #define to_pwrseq_simple(p) container_of(p, struct mmc_pwrseq_simple, pwrseq) 36 static void mmc_pwrseq_simple_set_gpios_value(struct mmc_pwrseq_simple *pwrseq, in mmc_pwrseq_simple_set_gpios_value() argument 39 struct gpio_descs *reset_gpios = pwrseq->reset_gpios; in mmc_pwrseq_simple_set_gpios_value() 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() 66 clk_prepare_enable(pwrseq->ext_clk); in mmc_pwrseq_simple_pre_power_on() 67 pwrseq->clk_enabled = true; in mmc_pwrseq_simple_pre_power_on() 70 mmc_pwrseq_simple_set_gpios_value(pwrseq, 1); 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 [all …]
|
| D | pwrseq.c | 37 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 …]
|
| D | pwrseq_sd8787.c | 27 struct mmc_pwrseq pwrseq; member 32 #define to_pwrseq_sd8787(p) container_of(p, struct mmc_pwrseq_sd8787, pwrseq) 36 struct mmc_pwrseq_sd8787 *pwrseq = to_pwrseq_sd8787(host->pwrseq); in mmc_pwrseq_sd8787_pre_power_on() local 38 gpiod_set_value_cansleep(pwrseq->reset_gpio, 1); in mmc_pwrseq_sd8787_pre_power_on() 41 gpiod_set_value_cansleep(pwrseq->pwrdn_gpio, 1); in mmc_pwrseq_sd8787_pre_power_on() 46 struct mmc_pwrseq_sd8787 *pwrseq = to_pwrseq_sd8787(host->pwrseq); in mmc_pwrseq_sd8787_power_off() local 48 gpiod_set_value_cansleep(pwrseq->pwrdn_gpio, 0); in mmc_pwrseq_sd8787_power_off() 49 gpiod_set_value_cansleep(pwrseq->reset_gpio, 0); in mmc_pwrseq_sd8787_power_off() 65 struct mmc_pwrseq_sd8787 *pwrseq; in mmc_pwrseq_sd8787_probe() local 68 pwrseq = devm_kzalloc(dev, sizeof(*pwrseq), GFP_KERNEL); in mmc_pwrseq_sd8787_probe() [all …]
|
| D | pwrseq_emmc.c | 25 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 …]
|
| 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-v5.4/arch/arm64/boot/dts/amlogic/ |
| 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"; 168 mmc-pwrseq = <&sdio_pwrseq>; 189 mmc-pwrseq = <&emmc_pwrseq>;
|
| 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"; 168 mmc-pwrseq = <&sdio_pwrseq>; 207 mmc-pwrseq = <&emmc_pwrseq>;
|
| D | meson-gxl-s905x-p212.dtsi | 71 emmc_pwrseq: emmc-pwrseq { 72 compatible = "mmc-pwrseq-emmc"; 83 sdio_pwrseq: sdio-pwrseq { 84 compatible = "mmc-pwrseq-simple"; 122 mmc-pwrseq = <&sdio_pwrseq>; 161 mmc-pwrseq = <&emmc_pwrseq>;
|
| D | meson-gxm-rbox-pro.dts | 75 emmc_pwrseq: emmc-pwrseq { 76 compatible = "mmc-pwrseq-emmc"; 87 sdio_pwrseq: sdio-pwrseq { 88 compatible = "mmc-pwrseq-simple"; 151 mmc-pwrseq = <&sdio_pwrseq>; 193 mmc-pwrseq = <&emmc_pwrseq>;
|
| 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>;
|
| D | meson-gx-p23x-q20x.dtsi | 66 emmc_pwrseq: emmc-pwrseq { 67 compatible = "mmc-pwrseq-emmc"; 78 sdio_pwrseq: sdio-pwrseq { 79 compatible = "mmc-pwrseq-simple"; 172 mmc-pwrseq = <&sdio_pwrseq>; 211 mmc-pwrseq = <&emmc_pwrseq>;
|
| 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"; 173 mmc-pwrseq = <&sdio_pwrseq>; 220 mmc-pwrseq = <&emmc_pwrseq>;
|
| D | meson-gxbb-vega-s95.dtsi | 71 emmc_pwrseq: emmc-pwrseq { 72 compatible = "mmc-pwrseq-emmc"; 94 sdio_pwrseq: sdio-pwrseq { 95 compatible = "mmc-pwrseq-simple"; 186 mmc-pwrseq = <&sdio_pwrseq>; 230 mmc-pwrseq = <&emmc_pwrseq>;
|
| 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"; 203 mmc-pwrseq = <&sdio_pwrseq>; 247 mmc-pwrseq = <&emmc_pwrseq>;
|
| D | meson-gxbb-nexbox-a95x.dts | 103 emmc_pwrseq: emmc-pwrseq { 104 compatible = "mmc-pwrseq-emmc"; 115 sdio_pwrseq: sdio-pwrseq { 116 compatible = "mmc-pwrseq-simple"; 223 mmc-pwrseq = <&sdio_pwrseq>; 262 mmc-pwrseq = <&emmc_pwrseq>;
|
| D | meson-khadas-vim3.dtsi | 56 emmc_pwrseq: emmc-pwrseq { 57 compatible = "mmc-pwrseq-emmc"; 72 sdio_pwrseq: sdio-pwrseq { 73 compatible = "mmc-pwrseq-simple"; 277 mmc-pwrseq = <&sdio_pwrseq>; 319 mmc-pwrseq = <&emmc_pwrseq>;
|
| D | meson-sm1-sei610.dts | 26 emmc_pwrseq: emmc-pwrseq { 27 compatible = "mmc-pwrseq-emmc"; 175 sdio_pwrseq: sdio-pwrseq { 176 compatible = "mmc-pwrseq-simple"; 308 mmc-pwrseq = <&sdio_pwrseq>; 351 mmc-pwrseq = <&emmc_pwrseq>;
|
| /Linux-v5.4/arch/arm/boot/dts/ |
| D | imx6ull-colibri-wifi.dtsi | 14 wifi_pwrseq: sdio-pwrseq { 15 compatible = "mmc-pwrseq-simple"; 46 mmc-pwrseq = <&wifi_pwrseq>;
|
| D | s5pv210-galaxys.dts | 16 nand_pwrseq: nand-pwrseq { 17 compatible = "mmc-pwrseq-simple"; 66 mmc-pwrseq = <&nand_pwrseq>;
|
| D | sun7i-a20-olimex-som204-evb-emmc.dts | 17 compatible = "mmc-pwrseq-emmc"; 24 mmc-pwrseq = <&mmc2_pwrseq>;
|
| D | sun7i-a20-olimex-som-evb-emmc.dts | 18 compatible = "mmc-pwrseq-emmc"; 25 mmc-pwrseq = <&mmc2_pwrseq>;
|
| D | bcm2835-rpi-zero-w.dts | 31 wifi_pwrseq: wifi-pwrseq { 32 compatible = "mmc-pwrseq-simple"; 117 mmc-pwrseq = <&wifi_pwrseq>;
|
| /Linux-v5.4/Documentation/devicetree/bindings/mmc/ |
| D | mmc-pwrseq-sd8787.txt | 4 - compatible: must be "mmc-pwrseq-sd8787". 13 compatible = "mmc-pwrseq-sd8787";
|
| /Linux-v5.4/arch/arm64/boot/dts/rockchip/ |
| D | rk3368-r88.dts | 23 emmc_pwrseq: emmc-pwrseq { 24 compatible = "mmc-pwrseq-emmc"; 61 sdio_pwrseq: sdio-pwrseq { 62 compatible = "mmc-pwrseq-simple"; 152 mmc-pwrseq = <&emmc_pwrseq>; 216 mmc-pwrseq = <&sdio_pwrseq>;
|
| D | px30-evb.dts | 63 sdio_pwrseq: sdio-pwrseq { 64 compatible = "mmc-pwrseq-simple"; 157 sdio-pwrseq { 194 mmc-pwrseq = <&sdio_pwrseq>;
|