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
11 such, can easily co-exist with the other PM systems.
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)
19 DAPM spans the whole machine. It covers power control within the entire
20 audio subsystem, this includes internal codec power blocks and machine
21 level power systems.
23 There are 4 power domains within DAPM
26 VREF, VMID (core codec and audio power)
29 can be set at stream time if power is not needed for sidetone, etc.
50 All DAPM power switching decisions are made automatically by consulting an audio
53 internal codec components). All audio components that effect power are called
60 Audio DAPM widgets fall into a number of types:-
87 Power or clock supply widget used by other widgets.
89 External regulator that supplies power to audio components.
127 (Widgets are defined in include/sound/soc-dapm.h)
130 There are convenience macros defined in soc-dapm.h that can be used to quickly
138 ---------------------
140 Stream Widgets relate to the stream power domain and only consist of ADCs
144 Stream widgets have the following format:-
167 -------------------
170 audio paths within the audio subsystem. They have the following form:-
196 ----------------------
210 when the Mic is inserted:-::
222 -------------------
224 The codec bias power domain has no widgets and is handled by the codecs DAPM
230 ---------------
233 corresponding soft power control. In this case it is necessary to create
234 a virtual widget - a widget with no control bits e.g.
274 So we have :-
283 Interconnections are created with a call to:-
295 -------------------------------
306 This allows the DAPM to power on and off pins that are connected (and in use)
322 order to save power. e.g. NC codecs pins will be switched OFF, unconnected
345 Please see soc-dapm.h for all other widgets that support events.
349 -----------
355 #define SND_SOC_DAPM_PRE_PMU 0x1 /* before widget power up */
356 #define SND_SOC_DAPM_POST_PMU 0x2 /* after widget power up */
357 #define SND_SOC_DAPM_PRE_PMD 0x4 /* before widget power down */
358 #define SND_SOC_DAPM_POST_PMD 0x8 /* after widget power down */