1<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Chapter 7. ASoC</title><meta name="generator" content="DocBook XSL Stylesheets V1.78.1"><link rel="home" href="index.html" title="The ALSA Driver API"><link rel="up" href="index.html" title="The ALSA Driver API"><link rel="prev" href="API-struct-snd-compr.html" title="struct snd_compr"><link rel="next" href="API-struct-snd-soc-jack-pin.html" title="struct snd_soc_jack_pin"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 7. ASoC</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="API-struct-snd-compr.html">Prev</a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="API-struct-snd-soc-jack-pin.html">Next</a></td></tr></table><hr></div><div class="chapter"><div class="titlepage"><div><div><h1 class="title"><a name="id-1.9"></a>Chapter 7. ASoC</h1></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl class="toc"><dt><span class="sect1"><a href="ch07.html#id-1.9.2">ASoC Core API</a></span></dt><dt><span class="sect1"><a href="ch07s02.html">ASoC DAPM API</a></span></dt><dt><span class="sect1"><a href="ch07s03.html">ASoC DMA Engine API</a></span></dt></dl></div><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id-1.9.2"></a>ASoC Core API</h2></div></div></div><div class="toc"><dl class="toc"><dt><span class="refentrytitle"><a href="API-struct-snd-soc-jack-pin.html"><span class="phrase">struct snd_soc_jack_pin</span></a></span><span class="refpurpose"> — 2 Describes a pin to update based on jack detection 3 </span></dt><dt><span class="refentrytitle"><a href="API-struct-snd-soc-jack-zone.html"><span class="phrase">struct snd_soc_jack_zone</span></a></span><span class="refpurpose"> — 4 Describes voltage zones of jack detection 5 </span></dt><dt><span class="refentrytitle"><a href="API-struct-snd-soc-jack-gpio.html"><span class="phrase">struct snd_soc_jack_gpio</span></a></span><span class="refpurpose"> — 6 Describes a gpio pin for jack detection 7 </span></dt><dt><span class="refentrytitle"><a href="API-snd-soc-component-to-codec.html"><span class="phrase">snd_soc_component_to_codec</span></a></span><span class="refpurpose"> — 8 Casts a component to the CODEC it is embedded in 9 </span></dt><dt><span class="refentrytitle"><a href="API-snd-soc-component-to-platform.html"><span class="phrase">snd_soc_component_to_platform</span></a></span><span class="refpurpose"> — 10 Casts a component to the platform it is embedded in 11 </span></dt><dt><span class="refentrytitle"><a href="API-snd-soc-dapm-to-component.html"><span class="phrase">snd_soc_dapm_to_component</span></a></span><span class="refpurpose"> — 12 Casts a DAPM context to the component it is embedded in 13 </span></dt><dt><span class="refentrytitle"><a href="API-snd-soc-dapm-to-codec.html"><span class="phrase">snd_soc_dapm_to_codec</span></a></span><span class="refpurpose"> — 14 Casts a DAPM context to the CODEC it is embedded in 15 </span></dt><dt><span class="refentrytitle"><a href="API-snd-soc-dapm-to-platform.html"><span class="phrase">snd_soc_dapm_to_platform</span></a></span><span class="refpurpose"> — 16 Casts a DAPM context to the platform it is embedded in 17 </span></dt><dt><span class="refentrytitle"><a href="API-snd-soc-component-get-dapm.html"><span class="phrase">snd_soc_component_get_dapm</span></a></span><span class="refpurpose"> — 18 Returns the DAPM context associated with a component 19 </span></dt><dt><span class="refentrytitle"><a href="API-snd-soc-codec-get-dapm.html"><span class="phrase">snd_soc_codec_get_dapm</span></a></span><span class="refpurpose"> — 20 Returns the DAPM context for the CODEC 21 </span></dt><dt><span class="refentrytitle"><a href="API-snd-soc-codec-init-bias-level.html"><span class="phrase">snd_soc_codec_init_bias_level</span></a></span><span class="refpurpose"> — 22 Initialize CODEC DAPM bias level 23 </span></dt><dt><span class="refentrytitle"><a href="API-snd-soc-codec-get-bias-level.html"><span class="phrase">snd_soc_codec_get_bias_level</span></a></span><span class="refpurpose"> — 24 Get current CODEC DAPM bias level 25 </span></dt><dt><span class="refentrytitle"><a href="API-snd-soc-codec-force-bias-level.html"><span class="phrase">snd_soc_codec_force_bias_level</span></a></span><span class="refpurpose"> — 26 Set the CODEC DAPM bias level 27 </span></dt><dt><span class="refentrytitle"><a href="API-snd-soc-dapm-kcontrol-codec.html"><span class="phrase">snd_soc_dapm_kcontrol_codec</span></a></span><span class="refpurpose"> — 28 Returns the codec associated to a kcontrol 29 </span></dt><dt><span class="refentrytitle"><a href="API-snd-soc-cache-sync.html"><span class="phrase">snd_soc_cache_sync</span></a></span><span class="refpurpose"> — 30 Sync the register cache with the hardware 31 </span></dt><dt><span class="refentrytitle"><a href="API-snd-soc-codec-init-regmap.html"><span class="phrase">snd_soc_codec_init_regmap</span></a></span><span class="refpurpose"> — 32 Initialize regmap instance for the CODEC 33 </span></dt><dt><span class="refentrytitle"><a href="API-snd-soc-codec-exit-regmap.html"><span class="phrase">snd_soc_codec_exit_regmap</span></a></span><span class="refpurpose"> — 34 De-initialize regmap instance for the CODEC 35 </span></dt><dt><span class="refentrytitle"><a href="API-snd-soc-kcontrol-component.html"><span class="phrase">snd_soc_kcontrol_component</span></a></span><span class="refpurpose"> — 36 Returns the component that registered the control 37 </span></dt><dt><span class="refentrytitle"><a href="API-snd-soc-kcontrol-codec.html"><span class="phrase">snd_soc_kcontrol_codec</span></a></span><span class="refpurpose"> — 38 Returns the CODEC that registered the control 39 </span></dt><dt><span class="refentrytitle"><a href="API-snd-soc-kcontrol-platform.html"><span class="phrase">snd_soc_kcontrol_platform</span></a></span><span class="refpurpose"> — 40 Returns the platform that registered the control 41 </span></dt><dt><span class="refentrytitle"><a href="API-snd-soc-runtime-set-dai-fmt.html"><span class="phrase">snd_soc_runtime_set_dai_fmt</span></a></span><span class="refpurpose"> — 42 Change DAI link format for a ASoC runtime 43 </span></dt><dt><span class="refentrytitle"><a href="API-snd-soc-cnew.html"><span class="phrase">snd_soc_cnew</span></a></span><span class="refpurpose"> — 44 create new control 45 </span></dt><dt><span class="refentrytitle"><a href="API-snd-soc-add-component-controls.html"><span class="phrase">snd_soc_add_component_controls</span></a></span><span class="refpurpose"> — 46 Add an array of controls to a component. 47 </span></dt><dt><span class="refentrytitle"><a href="API-snd-soc-add-codec-controls.html"><span class="phrase">snd_soc_add_codec_controls</span></a></span><span class="refpurpose"> — 48 add an array of controls to a codec. Convenience function to add a list of controls. Many codecs were duplicating this code. 49 </span></dt><dt><span class="refentrytitle"><a href="API-snd-soc-add-platform-controls.html"><span class="phrase">snd_soc_add_platform_controls</span></a></span><span class="refpurpose"> — 50 add an array of controls to a platform. Convenience function to add a list of controls. 51 </span></dt><dt><span class="refentrytitle"><a href="API-snd-soc-add-card-controls.html"><span class="phrase">snd_soc_add_card_controls</span></a></span><span class="refpurpose"> — 52 add an array of controls to a SoC card. Convenience function to add a list of controls. 53 </span></dt><dt><span class="refentrytitle"><a href="API-snd-soc-add-dai-controls.html"><span class="phrase">snd_soc_add_dai_controls</span></a></span><span class="refpurpose"> — 54 add an array of controls to a DAI. Convienience function to add a list of controls. 55 </span></dt><dt><span class="refentrytitle"><a href="API-snd-soc-dai-set-sysclk.html"><span class="phrase">snd_soc_dai_set_sysclk</span></a></span><span class="refpurpose"> — 56 configure DAI system or master clock. 57 </span></dt><dt><span class="refentrytitle"><a href="API-snd-soc-codec-set-sysclk.html"><span class="phrase">snd_soc_codec_set_sysclk</span></a></span><span class="refpurpose"> — 58 configure CODEC system or master clock. 59 </span></dt><dt><span class="refentrytitle"><a href="API-snd-soc-dai-set-clkdiv.html"><span class="phrase">snd_soc_dai_set_clkdiv</span></a></span><span class="refpurpose"> — 60 configure DAI clock dividers. 61 </span></dt><dt><span class="refentrytitle"><a href="API-snd-soc-dai-set-pll.html"><span class="phrase">snd_soc_dai_set_pll</span></a></span><span class="refpurpose"> — 62 configure DAI PLL. 63 </span></dt><dt><span class="refentrytitle"><a href="API-snd-soc-dai-set-bclk-ratio.html"><span class="phrase">snd_soc_dai_set_bclk_ratio</span></a></span><span class="refpurpose"> — 64 configure BCLK to sample rate ratio. 65 </span></dt><dt><span class="refentrytitle"><a href="API-snd-soc-dai-set-fmt.html"><span class="phrase">snd_soc_dai_set_fmt</span></a></span><span class="refpurpose"> — 66 configure DAI hardware audio format. 67 </span></dt><dt><span class="refentrytitle"><a href="API-snd-soc-dai-set-tdm-slot.html"><span class="phrase">snd_soc_dai_set_tdm_slot</span></a></span><span class="refpurpose"> — 68 Configures a DAI for TDM operation 69 </span></dt><dt><span class="refentrytitle"><a href="API-snd-soc-dai-set-channel-map.html"><span class="phrase">snd_soc_dai_set_channel_map</span></a></span><span class="refpurpose"> — 70 configure DAI audio channel map 71 </span></dt><dt><span class="refentrytitle"><a href="API-snd-soc-dai-set-tristate.html"><span class="phrase">snd_soc_dai_set_tristate</span></a></span><span class="refpurpose"> — 72 configure DAI system or master clock. 73 </span></dt><dt><span class="refentrytitle"><a href="API-snd-soc-dai-digital-mute.html"><span class="phrase">snd_soc_dai_digital_mute</span></a></span><span class="refpurpose"> — 74 configure DAI system or master clock. 75 </span></dt><dt><span class="refentrytitle"><a href="API-snd-soc-register-card.html"><span class="phrase">snd_soc_register_card</span></a></span><span class="refpurpose"> — 76 Register a card with the ASoC core 77 </span></dt><dt><span class="refentrytitle"><a href="API-snd-soc-unregister-card.html"><span class="phrase">snd_soc_unregister_card</span></a></span><span class="refpurpose"> — 78 Unregister a card with the ASoC core 79 </span></dt><dt><span class="refentrytitle"><a href="API-snd-soc-component-init-regmap.html"><span class="phrase">snd_soc_component_init_regmap</span></a></span><span class="refpurpose"> — 80 Initialize regmap instance for the component 81 </span></dt><dt><span class="refentrytitle"><a href="API-snd-soc-component-exit-regmap.html"><span class="phrase">snd_soc_component_exit_regmap</span></a></span><span class="refpurpose"> — 82 De-initialize regmap instance for the component 83 </span></dt><dt><span class="refentrytitle"><a href="API-snd-soc-unregister-component.html"><span class="phrase">snd_soc_unregister_component</span></a></span><span class="refpurpose"> — 84 Unregister a component from the ASoC core 85 </span></dt><dt><span class="refentrytitle"><a href="API-snd-soc-add-platform.html"><span class="phrase">snd_soc_add_platform</span></a></span><span class="refpurpose"> — 86 Add a platform to the ASoC core 87 </span></dt><dt><span class="refentrytitle"><a href="API-snd-soc-register-platform.html"><span class="phrase">snd_soc_register_platform</span></a></span><span class="refpurpose"> — 88 Register a platform with the ASoC core 89 </span></dt><dt><span class="refentrytitle"><a href="API-snd-soc-remove-platform.html"><span class="phrase">snd_soc_remove_platform</span></a></span><span class="refpurpose"> — 90 Remove a platform from the ASoC core 91 </span></dt><dt><span class="refentrytitle"><a href="API-snd-soc-unregister-platform.html"><span class="phrase">snd_soc_unregister_platform</span></a></span><span class="refpurpose"> — 92 Unregister a platform from the ASoC core 93 </span></dt><dt><span class="refentrytitle"><a href="API-snd-soc-register-codec.html"><span class="phrase">snd_soc_register_codec</span></a></span><span class="refpurpose"> — 94 Register a codec with the ASoC core 95 </span></dt><dt><span class="refentrytitle"><a href="API-snd-soc-unregister-codec.html"><span class="phrase">snd_soc_unregister_codec</span></a></span><span class="refpurpose"> — 96 Unregister a codec from the ASoC core 97 </span></dt><dt><span class="refentrytitle"><a href="API-devm-snd-soc-register-component.html"><span class="phrase">devm_snd_soc_register_component</span></a></span><span class="refpurpose"> — 98 resource managed component registration 99 </span></dt><dt><span class="refentrytitle"><a href="API-devm-snd-soc-register-platform.html"><span class="phrase">devm_snd_soc_register_platform</span></a></span><span class="refpurpose"> — 100 resource managed platform registration 101 </span></dt><dt><span class="refentrytitle"><a href="API-devm-snd-soc-register-card.html"><span class="phrase">devm_snd_soc_register_card</span></a></span><span class="refpurpose"> — 102 resource managed card registration 103 </span></dt><dt><span class="refentrytitle"><a href="API-devm-snd-dmaengine-pcm-register.html"><span class="phrase">devm_snd_dmaengine_pcm_register</span></a></span><span class="refpurpose"> — 104 resource managed dmaengine PCM registration 105 </span></dt><dt><span class="refentrytitle"><a href="API-snd-soc-component-read.html"><span class="phrase">snd_soc_component_read</span></a></span><span class="refpurpose"> — 106 Read register value 107 </span></dt><dt><span class="refentrytitle"><a href="API-snd-soc-component-write.html"><span class="phrase">snd_soc_component_write</span></a></span><span class="refpurpose"> — 108 Write register value 109 </span></dt><dt><span class="refentrytitle"><a href="API-snd-soc-component-update-bits.html"><span class="phrase">snd_soc_component_update_bits</span></a></span><span class="refpurpose"> — 110 Perform read/modify/write cycle 111 </span></dt><dt><span class="refentrytitle"><a href="API-snd-soc-component-update-bits-async.html"><span class="phrase">snd_soc_component_update_bits_async</span></a></span><span class="refpurpose"> — 112 Perform asynchronous read/modify/write cycle 113 </span></dt><dt><span class="refentrytitle"><a href="API-snd-soc-component-async-complete.html"><span class="phrase">snd_soc_component_async_complete</span></a></span><span class="refpurpose"> — 114 Ensure asynchronous I/O has completed 115 </span></dt><dt><span class="refentrytitle"><a href="API-snd-soc-component-test-bits.html"><span class="phrase">snd_soc_component_test_bits</span></a></span><span class="refpurpose"> — 116 Test register for change 117 </span></dt><dt><span class="refentrytitle"><a href="API-snd-soc-update-bits.html"><span class="phrase">snd_soc_update_bits</span></a></span><span class="refpurpose"> — 118 update codec register bits 119 </span></dt><dt><span class="refentrytitle"><a href="API-snd-soc-test-bits.html"><span class="phrase">snd_soc_test_bits</span></a></span><span class="refpurpose"> — 120 test register for change 121 </span></dt><dt><span class="refentrytitle"><a href="API-snd-soc-set-runtime-hwparams.html"><span class="phrase">snd_soc_set_runtime_hwparams</span></a></span><span class="refpurpose"> — 122 set the runtime hardware parameters 123 </span></dt><dt><span class="refentrytitle"><a href="API-snd-soc-info-enum-double.html"><span class="phrase">snd_soc_info_enum_double</span></a></span><span class="refpurpose"> — 124 enumerated double mixer info callback 125 </span></dt><dt><span class="refentrytitle"><a href="API-snd-soc-get-enum-double.html"><span class="phrase">snd_soc_get_enum_double</span></a></span><span class="refpurpose"> — 126 enumerated double mixer get callback 127 </span></dt><dt><span class="refentrytitle"><a href="API-snd-soc-put-enum-double.html"><span class="phrase">snd_soc_put_enum_double</span></a></span><span class="refpurpose"> — 128 enumerated double mixer put callback 129 </span></dt><dt><span class="refentrytitle"><a href="API-snd-soc-info-volsw.html"><span class="phrase">snd_soc_info_volsw</span></a></span><span class="refpurpose"> — 130 single mixer info callback 131 </span></dt><dt><span class="refentrytitle"><a href="API-snd-soc-info-volsw-sx.html"><span class="phrase">snd_soc_info_volsw_sx</span></a></span><span class="refpurpose"> — 132 Mixer info callback for SX TLV controls 133 </span></dt><dt><span class="refentrytitle"><a href="API-snd-soc-get-volsw.html"><span class="phrase">snd_soc_get_volsw</span></a></span><span class="refpurpose"> — 134 single mixer get callback 135 </span></dt><dt><span class="refentrytitle"><a href="API-snd-soc-put-volsw.html"><span class="phrase">snd_soc_put_volsw</span></a></span><span class="refpurpose"> — 136 single mixer put callback 137 </span></dt><dt><span class="refentrytitle"><a href="API-snd-soc-get-volsw-sx.html"><span class="phrase">snd_soc_get_volsw_sx</span></a></span><span class="refpurpose"> — 138 single mixer get callback 139 </span></dt><dt><span class="refentrytitle"><a href="API-snd-soc-put-volsw-sx.html"><span class="phrase">snd_soc_put_volsw_sx</span></a></span><span class="refpurpose"> — 140 double mixer set callback 141 </span></dt><dt><span class="refentrytitle"><a href="API-snd-soc-info-volsw-range.html"><span class="phrase">snd_soc_info_volsw_range</span></a></span><span class="refpurpose"> — 142 single mixer info callback with range. 143 </span></dt><dt><span class="refentrytitle"><a href="API-snd-soc-put-volsw-range.html"><span class="phrase">snd_soc_put_volsw_range</span></a></span><span class="refpurpose"> — 144 single mixer put value callback with range. 145 </span></dt><dt><span class="refentrytitle"><a href="API-snd-soc-get-volsw-range.html"><span class="phrase">snd_soc_get_volsw_range</span></a></span><span class="refpurpose"> — 146 single mixer get callback with range 147 </span></dt><dt><span class="refentrytitle"><a href="API-snd-soc-limit-volume.html"><span class="phrase">snd_soc_limit_volume</span></a></span><span class="refpurpose"> — 148 Set new limit to an existing volume control. 149 </span></dt><dt><span class="refentrytitle"><a href="API-snd-soc-info-xr-sx.html"><span class="phrase">snd_soc_info_xr_sx</span></a></span><span class="refpurpose"> — 150 signed multi register info callback 151 </span></dt><dt><span class="refentrytitle"><a href="API-snd-soc-get-xr-sx.html"><span class="phrase">snd_soc_get_xr_sx</span></a></span><span class="refpurpose"> — 152 signed multi register get callback 153 </span></dt><dt><span class="refentrytitle"><a href="API-snd-soc-put-xr-sx.html"><span class="phrase">snd_soc_put_xr_sx</span></a></span><span class="refpurpose"> — 154 signed multi register get callback 155 </span></dt><dt><span class="refentrytitle"><a href="API-snd-soc-get-strobe.html"><span class="phrase">snd_soc_get_strobe</span></a></span><span class="refpurpose"> — 156 strobe get callback 157 </span></dt><dt><span class="refentrytitle"><a href="API-snd-soc-put-strobe.html"><span class="phrase">snd_soc_put_strobe</span></a></span><span class="refpurpose"> — 158 strobe put callback 159 </span></dt><dt><span class="refentrytitle"><a href="API-snd-soc-new-compress.html"><span class="phrase">snd_soc_new_compress</span></a></span><span class="refpurpose"> — 160 create a new compress. 161 </span></dt></dl></div></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="API-struct-snd-compr.html">Prev</a> </td><td width="20%" align="center"> </td><td width="40%" align="right"> <a accesskey="n" href="API-struct-snd-soc-jack-pin.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top"><span class="phrase">struct snd_compr</span> </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> <span class="phrase">struct snd_soc_jack_pin</span></td></tr></table></div></body></html> 162