Lines Matching +full:dynamic +full:- +full:power +full:- +full:switching

2 Dynamic Audio Power Management for Portable Devices
8 Dynamic Audio Power Management (DAPM) is designed to allow portable
9 Linux devices to use the minimum amount of power within the audio
10 subsystem at all times. It is independent of other kernel power
11 management frameworks and, as such, can easily co-exist with them.
14 all power switching is done within the ASoC core. No code changes or
15 recompiling are required for user space applications. DAPM makes power
16 switching decisions based upon any audio stream (capture/playback)
22 software when in use and disabled to save power when not in use
26 All DAPM power switching decisions are made automatically by consulting an
32 The graph for the STM32MP1-DK1 sound card is shown in picture:
34 .. kernel-figure:: dapm-graph.svg
39 `tools/sound/dapm-graph` utility.
41 DAPM power domains
44 There are 4 power domains within DAPM:
47 VREF, VMID (core codec and audio power)
50 can be set at stream time if power is not needed for sidetone, etc.
102 Power or clock supply widget used by other widgets.
104 External regulator that supplies power to audio components.
142 (Widgets are defined in include/sound/soc-dapm.h)
145 There are convenience macros defined in soc-dapm.h that can be used to quickly
153 ---------------------
155 Stream Widgets relate to the stream power domain and only consist of ADCs
182 -------------------
211 ----------------------
237 -------------------
239 The codec bias power domain has no widgets and is handled by the codec DAPM
245 ---------------
248 corresponding soft power control. In this case it is necessary to create
249 a virtual widget - a widget with no control bits e.g.
296 separate widgets and routes arrays implementing the case-specific features
348 -------------------------------
359 This allows the DAPM to power on and off pins that are connected (and in use)
375 order to save power. e.g. NC codecs pins will be switched OFF, unconnected
384 is a power supply needing to enable a GPIO::
399 SND_SOC_DAPM_SUPPLY("Speaker Power", SND_SOC_NOPM, 0, 0,
404 See soc-dapm.h for all other widgets that support events.
408 -----------
413 #define SND_SOC_DAPM_PRE_PMU 0x1 /* before widget power up */
414 #define SND_SOC_DAPM_POST_PMU 0x2 /* after widget power up */
415 #define SND_SOC_DAPM_PRE_PMD 0x4 /* before widget power down */
416 #define SND_SOC_DAPM_POST_PMD 0x8 /* after widget power down */