/linux/drivers/mmc/core/ |
H A 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 …]
|
H 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/drivers/power/sequencing/ |
H A D | core.c | 20 #include <linux/pwrseq/consumer.h> 21 #include <linux/pwrseq/provider.h> 45 * Descriptor - a handle passed by the pwrseq core to every consumer that 59 * Protects the device list on the pwrseq bus from concurrent modifications 249 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() 264 * @pwrseq: Reference to the power sequencing device. [all …]
|
H A D | pwrseq-qcom-wcn.c | 16 #include <linux/pwrseq/provider.h> 29 struct pwrseq_device *pwrseq; member 55 static int pwrseq_qcom_wcn_vregs_enable(struct pwrseq_device *pwrseq) in pwrseq_qcom_wcn_vregs_enable() argument 57 struct pwrseq_qcom_wcn_ctx *ctx = pwrseq_device_get_drvdata(pwrseq); in pwrseq_qcom_wcn_vregs_enable() 62 static int pwrseq_qcom_wcn_vregs_disable(struct pwrseq_device *pwrseq) in pwrseq_qcom_wcn_vregs_disable() argument 64 struct pwrseq_qcom_wcn_ctx *ctx = pwrseq_device_get_drvdata(pwrseq); in pwrseq_qcom_wcn_vregs_disable() 75 static int pwrseq_qcom_wcn_clk_enable(struct pwrseq_device *pwrseq) in pwrseq_qcom_wcn_clk_enable() argument 77 struct pwrseq_qcom_wcn_ctx *ctx = pwrseq_device_get_drvdata(pwrseq); in pwrseq_qcom_wcn_clk_enable() 82 static int pwrseq_qcom_wcn_clk_disable(struct pwrseq_device *pwrseq) in pwrseq_qcom_wcn_clk_disable() argument 84 struct pwrseq_qcom_wcn_ctx *ctx = pwrseq_device_get_drvdata(pwrseq); in pwrseq_qcom_wcn_clk_disable() [all …]
|
H A D | Makefile | 3 obj-$(CONFIG_POWER_SEQUENCING) += pwrseq-core.o 4 pwrseq-core-y := core.o 6 obj-$(CONFIG_POWER_SEQUENCING_QCOM_WCN) += pwrseq-qcom-wcn.o
|
/linux/Documentation/devicetree/bindings/mmc/ |
H 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 38 pwrseq { 39 compatible = "mmc-pwrseq-sd8787";
|
H A 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";
|
H A 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";
|
/linux/Documentation/devicetree/bindings/net/wireless/ |
H A 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>;
|
/linux/arch/arm64/boot/dts/amlogic/ |
H A 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"; 253 mmc-pwrseq = <&sdio_pwrseq>; 274 mmc-pwrseq = <&emmc_pwrseq>;
|
H 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>;
|
H 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"; 132 mmc-pwrseq = <&sdio_pwrseq>; 176 mmc-pwrseq = <&emmc_pwrseq>;
|
H 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>;
|
H 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>;
|
H 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>;
|
H A D | meson-gxm-rbox-pro.dts | 82 emmc_pwrseq: emmc-pwrseq { 83 compatible = "mmc-pwrseq-emmc"; 94 sdio_pwrseq: sdio-pwrseq { 95 compatible = "mmc-pwrseq-simple"; 217 mmc-pwrseq = <&sdio_pwrseq>; 259 mmc-pwrseq = <&emmc_pwrseq>;
|
H A D | meson-gxbb-wetek.dtsi | 81 emmc_pwrseq: emmc-pwrseq { 82 compatible = "mmc-pwrseq-emmc"; 93 sdio_pwrseq: sdio-pwrseq { 94 compatible = "mmc-pwrseq-simple"; 216 mmc-pwrseq = <&sdio_pwrseq>; 260 mmc-pwrseq = <&emmc_pwrseq>;
|
H A D | meson-sm1-ac2xx.dtsi | 26 emmc_pwrseq: emmc-pwrseq { 27 compatible = "mmc-pwrseq-emmc"; 117 sdio_pwrseq: sdio-pwrseq { 118 compatible = "mmc-pwrseq-simple"; 247 mmc-pwrseq = <&sdio_pwrseq>; 286 mmc-pwrseq = <&emmc_pwrseq>;
|
H A D | meson-gx-p23x-q20x.dtsi | 81 emmc_pwrseq: emmc-pwrseq { 82 compatible = "mmc-pwrseq-emmc"; 93 sdio_pwrseq: sdio-pwrseq { 94 compatible = "mmc-pwrseq-simple"; 271 mmc-pwrseq = <&sdio_pwrseq>; 310 mmc-pwrseq = <&emmc_pwrseq>;
|
H A D | meson-gxbb-nexbox-a95x.dts | 102 emmc_pwrseq: emmc-pwrseq { 103 compatible = "mmc-pwrseq-emmc"; 114 sdio_pwrseq: sdio-pwrseq { 115 compatible = "mmc-pwrseq-simple"; 267 mmc-pwrseq = <&sdio_pwrseq>; 306 mmc-pwrseq = <&emmc_pwrseq>;
|
/linux/arch/arm/boot/dts/broadcom/ |
H A D | bcm283x-rpi-wifi-bt.dtsi | 4 wifi_pwrseq: wifi-pwrseq { 5 compatible = "mmc-pwrseq-simple"; 17 mmc-pwrseq = <&wifi_pwrseq>;
|
/linux/arch/arm/boot/dts/allwinner/ |
H A D | sun7i-a20-olinuxino-lime-emmc.dts | 13 mmc2_pwrseq: pwrseq { 14 compatible = "mmc-pwrseq-emmc"; 24 mmc-pwrseq = <&mmc2_pwrseq>;
|
H A D | sun7i-a20-olimex-som-evb-emmc.dts | 17 mmc2_pwrseq: pwrseq { 18 compatible = "mmc-pwrseq-emmc"; 25 mmc-pwrseq = <&mmc2_pwrseq>;
|
H A D | sun7i-a20-olimex-som204-evb-emmc.dts | 16 mmc2_pwrseq: pwrseq-1 { 17 compatible = "mmc-pwrseq-emmc"; 24 mmc-pwrseq = <&mmc2_pwrseq>;
|
/linux/arch/arm64/boot/dts/ti/ |
H A D | k3-am62-verdin-wifi.dtsi | 11 wifi_pwrseq: wifi-pwrseq { 12 compatible = "mmc-pwrseq-simple"; 26 mmc-pwrseq = <&wifi_pwrseq>;
|