| /kernel/linux/linux-6.6/drivers/mmc/core/ |
| D | pwrseq_simple.c | 23 #include "pwrseq.h" 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() [all …]
|
| D | pwrseq.c | 16 #include "pwrseq.h" 26 np = of_parse_phandle(host->parent->of_node, "mmc-pwrseq", 0); in mmc_pwrseq_alloc() 37 host->pwrseq = p; in mmc_pwrseq_alloc() 46 if (!host->pwrseq) in mmc_pwrseq_alloc() 49 dev_info(host->parent, "allocated mmc-pwrseq\n"); 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() [all …]
|
| D | pwrseq_sd8787.c | 25 #include "pwrseq.h" 28 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 [all …]
|
| D | pwrseq_emmc.c | 22 #include "pwrseq.h" 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 [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
|
| /kernel/linux/linux-5.10/drivers/mmc/core/ |
| D | pwrseq_simple.c | 23 #include "pwrseq.h" 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() [all …]
|
| D | pwrseq.c | 16 #include "pwrseq.h" 26 np = of_parse_phandle(host->parent->of_node, "mmc-pwrseq", 0); in mmc_pwrseq_alloc() 37 host->pwrseq = p; in mmc_pwrseq_alloc() 46 if (!host->pwrseq) in mmc_pwrseq_alloc() 49 dev_info(host->parent, "allocated mmc-pwrseq\n"); 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() [all …]
|
| D | pwrseq_sd8787.c | 24 #include "pwrseq.h" 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() 58 { .compatible = "mmc-pwrseq-sd8787",}, [all …]
|
| D | pwrseq_emmc.c | 22 #include "pwrseq.h" 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 [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
|
| /kernel/linux/linux-6.6/Documentation/devicetree/bindings/mmc/ |
| D | mmc-pwrseq-sd8787.yaml | 4 $id: http://devicetree.org/schemas/mmc/mmc-pwrseq-sd8787.yaml# 15 - mmc-pwrseq-sd8787 16 - mmc-pwrseq-wilc1000 38 pwrseq { 39 compatible = "mmc-pwrseq-sd8787";
|
| D | mmc-pwrseq-emmc.yaml | 4 $id: http://devicetree.org/schemas/mmc/mmc-pwrseq-emmc.yaml# 25 const: mmc-pwrseq-emmc 44 pwrseq { 45 compatible = "mmc-pwrseq-emmc";
|
| D | mmc-pwrseq-simple.yaml | 4 $id: http://devicetree.org/schemas/mmc/mmc-pwrseq-simple.yaml# 19 const: mmc-pwrseq-simple 58 pwrseq { 59 compatible = "mmc-pwrseq-simple";
|
| /kernel/linux/linux-5.10/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"; 171 mmc-pwrseq = <&sdio_pwrseq>; 192 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"; 154 mmc-pwrseq = <&sdio_pwrseq>; 196 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"; 171 mmc-pwrseq = <&sdio_pwrseq>; 210 mmc-pwrseq = <&emmc_pwrseq>;
|
| 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>;
|
| 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>;
|
| /kernel/linux/linux-6.6/Documentation/devicetree/bindings/net/wireless/ |
| D | silabs,wfx.yaml | 25 It is recommended to declare a mmc-pwrseq on SDIO host above WFx. Without 26 it, you may encounter issues during reboot. The mmc-pwrseq should be 27 compatible with mmc-pwrseq-simple. Please consult 28 Documentation/devicetree/bindings/mmc/mmc-pwrseq-simple.yaml for more 60 For SDIO, the reset gpio should declared using a mmc-pwrseq. 113 compatible = "mmc-pwrseq-simple"; 120 mmc-pwrseq = <&wfx_pwrseq>;
|
| /kernel/linux/linux-5.10/drivers/staging/wfx/Documentation/devicetree/bindings/net/wireless/ |
| 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>;
|
| /kernel/linux/linux-6.6/arch/arm64/boot/dts/amlogic/ |
| D | meson-gxl-s805x-p241.dts | 46 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"; 249 mmc-pwrseq = <&sdio_pwrseq>; 270 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"; 171 mmc-pwrseq = <&sdio_pwrseq>; 210 mmc-pwrseq = <&emmc_pwrseq>;
|
| 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"; 132 mmc-pwrseq = <&sdio_pwrseq>; 176 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-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>;
|