Lines Matching +full:suspend +full:- +full:to +full:- +full:idle
10 --------------------
11 - compatible:
12 Should be "ti,omap2-hsmmc", for OMAP2 controllers
13 Should be "ti,omap3-hsmmc", for OMAP3 controllers
14 Should be "ti,omap3-pre-es3-hsmmc" for OMAP3 controllers pre ES3.0
15 Should be "ti,omap4-hsmmc", for OMAP4 controllers
16 Should be "ti,am33xx-hsmmc", for AM335x controllers
17 Should be "ti,k2g-hsmmc", "ti,omap4-hsmmc" for 66AK2G controllers.
20 ---------------------------------
22 - ti,hwmods: Must be "mmc<n>", n is controller instance starting 1.
25 - power-domains:Should contain a phandle to a PM domain provider node
28 Documentation/devicetree/bindings/soc/ti/sci-pm-domain.yaml
29 - clocks: Must contain an entry for each entry in clock-names. Should
31 usage in Documentation/devicetree/bindings/clock/ti,sci-clk.yaml
32 - clock-names: Shall be "fck" for the functional clock,
37 --------------------
38 - ti,dual-volt: boolean, supports dual voltage cards
39 - <supply-name>-supply: phandle to the regulator device tree node
40 "supply-name" examples are "vmmc",
42 - ti,non-removable: non-removable slot (like eMMC)
43 - ti,needs-special-reset: Requires a special softreset sequence
44 - ti,needs-special-hs-handling: HSMMC IP needs special setting
46 - dmas: List of DMA specifiers with the controller specific
49 - dma-names: List of DMA request names. These strings correspond
51 The string naming is to be "rx" and "tx" for
59 compatible = "ti,omap4-hsmmc";
62 ti,dual-volt;
63 bus-width = <4>;
64 vmmc-supply = <&vmmc>; /* phandle to regulator node */
65 ti,non-removable;
71 compatible = "ti,omap4-hsmmc";
74 ti,dual-volt;
75 bus-width = <4>;
76 vmmc-supply = <&vmmc>; /* phandle to regulator node */
77 ti,non-removable;
80 dma-names = "tx", "rx";
86 while in suspend.
88 ------
90 ------
94 ------ ------- -----
95 | card | -- CIRQ --> | hsmmc | -- IRQ --> | CPU |
96 ------ ------- -----
98 In suspend the fclk is off and the module is dysfunctional. Even register reads
102 suspend.
104 The workaround is to reconfigure the dat1 line as a GPIO upon suspend. To make
105 this work, we need to set the named pinctrl states "default" and "idle".
106 Prepare idle to remux dat1 as a gpio, and default to remux it back as sdio
107 dat1. The MMC driver will then toggle between idle and default state during
112 2. specify pinctrl states "default" and "idle", "sleep" is optional.
113 3. specify the gpio irq used for detecting sdio irq in suspend
115 If configuration is incomplete, a warning message is emitted "falling back to
120 compatible = "ti,am33xx-hsmmc";
122 pinctrl-names = "default", "idle", "sleep"
123 pinctrl-0 = <&mmc1_pins>;
124 pinctrl-1 = <&mmc1_idle>;
125 pinctrl-2 = <&mmc1_sleep>;
127 interrupts-extended = <&intc 64 &gpio2 28 IRQ_TYPE_LEVEL_LOW>;
131 pinctrl-single,pins = <