€•E.Œsphinx.addnodes”Œdocument”“”)”}”(Œ rawsource”Œ”Œchildren”]”(Œ translations”Œ LanguagesNode”“”)”}”(hhh]”(hŒ pending_xref”“”)”}”(hhh]”Œdocutils.nodes”ŒText”“”ŒChinese (Simplified)”…””}”Œparent”hsbaŒ attributes”}”(Œids”]”Œclasses”]”Œnames”]”Œdupnames”]”Œbackrefs”]”Œ refdomain”Œstd”Œreftype”Œdoc”Œ reftarget”Œ!/translations/zh_CN/sound/soc/dai”Œmodname”NŒ classname”NŒ refexplicit”ˆuŒtagname”hhh ubh)”}”(hhh]”hŒChinese (Traditional)”…””}”hh2sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ!/translations/zh_TW/sound/soc/dai”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒItalian”…””}”hhFsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ!/translations/it_IT/sound/soc/dai”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒJapanese”…””}”hhZsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ!/translations/ja_JP/sound/soc/dai”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒKorean”…””}”hhnsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ!/translations/ko_KR/sound/soc/dai”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒSpanish”…””}”hh‚sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ!/translations/sp_SP/sound/soc/dai”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubeh}”(h]”h ]”h"]”h$]”h&]”Œcurrent_language”ŒEnglish”uh1h hhŒ _document”hŒsource”NŒline”NubhŒsection”“”)”}”(hhh]”(hŒtitle”“”)”}”(hŒ"ASoC Digital Audio Interface (DAI)”h]”hŒ"ASoC Digital Audio Interface (DAI)”…””}”(hh¨hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h¦hh£hžhhŸŒ;/var/lib/git/docbuild/linux/Documentation/sound/soc/dai.rst”h KubhŒ paragraph”“”)”}”(hŒ™ASoC currently supports the three main Digital Audio Interfaces (DAI) found on SoC controllers and portable audio CODECs today, namely AC97, I2S and PCM.”h]”hŒ™ASoC currently supports the three main Digital Audio Interfaces (DAI) found on SoC controllers and portable audio CODECs today, namely AC97, I2S and PCM.”…””}”(hh¹hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h·hŸh¶h Khh£hžhubh¢)”}”(hhh]”(h§)”}”(hŒAC97”h]”hŒAC97”…””}”(hhÊhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h¦hhÇhžhhŸh¶h K ubh¸)”}”(hX¸AC97 is a five wire interface commonly found on many PC sound cards. It is now also popular in many portable devices. This DAI has a RESET line and time multiplexes its data on its SDATA_OUT (playback) and SDATA_IN (capture) lines. The bit clock (BCLK) is always driven by the CODEC (usually 12.288MHz) and the frame (FRAME) (usually 48kHz) is always driven by the controller. Each AC97 frame is 21uS long and is divided into 13 time slots.”h]”hX¸AC97 is a five wire interface commonly found on many PC sound cards. It is now also popular in many portable devices. This DAI has a RESET line and time multiplexes its data on its SDATA_OUT (playback) and SDATA_IN (capture) lines. The bit clock (BCLK) is always driven by the CODEC (usually 12.288MHz) and the frame (FRAME) (usually 48kHz) is always driven by the controller. Each AC97 frame is 21uS long and is divided into 13 time slots.”…””}”(hhØhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h·hŸh¶h K hhÇhžhubh¸)”}”(hŒVThe AC97 specification can be found at : https://www.intel.com/p/en_US/business/design”h]”(hŒ)The AC97 specification can be found at : ”…””}”(hhæhžhhŸNh NubhŒ reference”“”)”}”(hŒ-https://www.intel.com/p/en_US/business/design”h]”hŒ-https://www.intel.com/p/en_US/business/design”…””}”(hhðhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”Œrefuri”hòuh1hîhhæubeh}”(h]”h ]”h"]”h$]”h&]”uh1h·hŸh¶h KhhÇhžhubeh}”(h]”Œac97”ah ]”h"]”Œac97”ah$]”h&]”uh1h¡hh£hžhhŸh¶h K ubh¢)”}”(hhh]”(h§)”}”(hŒI2S”h]”hŒI2S”…””}”(hjhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h¦hj hžhhŸh¶h Kubh¸)”}”(hX-I2S is a common 4 wire DAI used in HiFi, STB and portable devices. The Tx and Rx lines are used for audio transmission, while the bit clock (BCLK) and left/right clock (LRC) synchronise the link. I2S is flexible in that either the controller or CODEC can drive (master) the BCLK and LRC clock lines. Bit clock usually varies depending on the sample rate and the master system clock (SYSCLK). LRCLK is the same as the sample rate. A few devices support separate ADC and DAC LRCLKs, this allows for simultaneous capture and playback at different sample rates.”h]”hX-I2S is a common 4 wire DAI used in HiFi, STB and portable devices. The Tx and Rx lines are used for audio transmission, while the bit clock (BCLK) and left/right clock (LRC) synchronise the link. I2S is flexible in that either the controller or CODEC can drive (master) the BCLK and LRC clock lines. Bit clock usually varies depending on the sample rate and the master system clock (SYSCLK). LRCLK is the same as the sample rate. A few devices support separate ADC and DAC LRCLKs, this allows for simultaneous capture and playback at different sample rates.”…””}”(hjhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h·hŸh¶h Khj hžhubh¸)”}”(hŒ+I2S has several different operating modes:-”h]”hŒ+I2S has several different operating modes:-”…””}”(hj,hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h·hŸh¶h K#hj hžhubhŒdefinition_list”“”)”}”(hhh]”(hŒdefinition_list_item”“”)”}”(hŒSI2S MSB is transmitted on the falling edge of the first BCLK after LRC transition. ”h]”(hŒterm”“”)”}”(hŒI2S”h]”hŒI2S”…””}”(hjGhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jEhŸh¶h K'hjAubhŒ definition”“”)”}”(hhh]”h¸)”}”(hŒNMSB is transmitted on the falling edge of the first BCLK after LRC transition.”h]”hŒNMSB is transmitted on the falling edge of the first BCLK after LRC transition.”…””}”(hjZhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h·hŸh¶h K&hjWubah}”(h]”h ]”h"]”h$]”h&]”uh1jUhjAubeh}”(h]”h ]”h"]”h$]”h&]”uh1j?hŸh¶h K'hj<ubj@)”}”(hŒ8Left Justified MSB is transmitted on transition of LRC. ”h]”(jF)”}”(hŒLeft Justified”h]”hŒLeft Justified”…””}”(hjxhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jEhŸh¶h K*hjtubjV)”}”(hhh]”h¸)”}”(hŒ(MSB is transmitted on transition of LRC.”h]”hŒ(MSB is transmitted on transition of LRC.”…””}”(hj‰hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h·hŸh¶h K*hj†ubah}”(h]”h ]”h"]”h$]”h&]”uh1jUhjtubeh}”(h]”h ]”h"]”h$]”h&]”uh1j?hŸh¶h K*hj<hžhubj@)”}”(hŒLRight Justified MSB is transmitted sample size BCLKs before LRC transition. ”h]”(jF)”}”(hŒRight Justified”h]”hŒRight Justified”…””}”(hj§hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jEhŸh¶h K-hj£ubjV)”}”(hhh]”h¸)”}”(hŒ;MSB is transmitted sample size BCLKs before LRC transition.”h]”hŒ;MSB is transmitted sample size BCLKs before LRC transition.”…””}”(hj¸hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h·hŸh¶h K-hjµubah}”(h]”h ]”h"]”h$]”h&]”uh1jUhj£ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j?hŸh¶h K-hj<hžhubeh}”(h]”h ]”h"]”h$]”h&]”uh1j:hj hžhhŸh¶h Nubeh}”(h]”Œi2s”ah ]”h"]”Œi2s”ah$]”h&]”uh1h¡hh£hžhhŸh¶h Kubh¢)”}”(hhh]”(h§)”}”(hŒPCM”h]”hŒPCM”…””}”(hjãhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h¦hjàhžhhŸh¶h K0ubh¸)”}”(hXñPCM is another 4 wire interface, very similar to I2S, which can support a more flexible protocol. It has bit clock (BCLK) and sync (SYNC) lines that are used to synchronise the link while the Tx and Rx lines are used to transmit and receive the audio data. Bit clock usually varies depending on sample rate while sync runs at the sample rate. PCM also supports Time Division Multiplexing (TDM) in that several devices can use the bus simultaneously (this is sometimes referred to as network mode).”h]”hXñPCM is another 4 wire interface, very similar to I2S, which can support a more flexible protocol. It has bit clock (BCLK) and sync (SYNC) lines that are used to synchronise the link while the Tx and Rx lines are used to transmit and receive the audio data. Bit clock usually varies depending on sample rate while sync runs at the sample rate. PCM also supports Time Division Multiplexing (TDM) in that several devices can use the bus simultaneously (this is sometimes referred to as network mode).”…””}”(hjñhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h·hŸh¶h K2hjàhžhubh¸)”}”(hŒCommon PCM operating modes:-”h]”hŒCommon PCM operating modes:-”…””}”(hjÿhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h·hŸh¶h K:hjàhžhubj;)”}”(hhh]”(j@)”}”(hŒJMode A MSB is transmitted on falling edge of first BCLK after FRAME/SYNC. ”h]”(jF)”}”(hŒMode A”h]”hŒMode A”…””}”(hjhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jEhŸh¶h K=hjubjV)”}”(hhh]”h¸)”}”(hŒBMSB is transmitted on falling edge of first BCLK after FRAME/SYNC.”h]”hŒBMSB is transmitted on falling edge of first BCLK after FRAME/SYNC.”…””}”(hj%hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h·hŸh¶h K=hj"ubah}”(h]”h ]”h"]”h$]”h&]”uh1jUhjubeh}”(h]”h ]”h"]”h$]”h&]”uh1j?hŸh¶h K=hj ubj@)”}”(hŒ7Mode B MSB is transmitted on rising edge of FRAME/SYNC.”h]”(jF)”}”(hŒMode B”h]”hŒMode B”…””}”(hjChžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jEhŸh¶h K?hj?ubjV)”}”(hhh]”h¸)”}”(hŒ0MSB is transmitted on rising edge of FRAME/SYNC.”h]”hŒ0MSB is transmitted on rising edge of FRAME/SYNC.”…””}”(hjThžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h·hŸh¶h K@hjQubah}”(h]”h ]”h"]”h$]”h&]”uh1jUhj?ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j?hŸh¶h K?hj hžhubeh}”(h]”h ]”h"]”h$]”h&]”uh1j:hjàhžhhŸh¶h Nubeh}”(h]”Œpcm”ah ]”h"]”Œpcm”ah$]”h&]”uh1h¡hh£hžhhŸh¶h K0ubeh}”(h]”Œ asoc-digital-audio-interface-dai”ah ]”h"]”Œ"asoc digital audio interface (dai)”ah$]”h&]”uh1h¡hhhžhhŸh¶h Kubeh}”(h]”h ]”h"]”h$]”h&]”Œsource”h¶uh1hŒcurrent_source”NŒ current_line”NŒsettings”Œdocutils.frontend”ŒValues”“”)”}”(h¦NŒ generator”NŒ datestamp”NŒ source_link”NŒ source_url”NŒ toc_backlinks”Œentry”Œfootnote_backlinks”KŒ sectnum_xform”KŒstrip_comments”NŒstrip_elements_with_classes”NŒ strip_classes”NŒ report_level”KŒ halt_level”KŒexit_status_level”KŒdebug”NŒwarning_stream”NŒ traceback”ˆŒinput_encoding”Œ utf-8-sig”Œinput_encoding_error_handler”Œstrict”Œoutput_encoding”Œutf-8”Œoutput_encoding_error_handler”j§Œerror_encoding”Œutf-8”Œerror_encoding_error_handler”Œbackslashreplace”Œ language_code”Œen”Œrecord_dependencies”NŒconfig”NŒ id_prefix”hŒauto_id_prefix”Œid”Œ dump_settings”NŒdump_internals”NŒdump_transforms”NŒdump_pseudo_xml”NŒexpose_internals”NŒstrict_visitor”NŒ_disable_config”NŒ_source”h¶Œ _destination”NŒ _config_files”]”Œ7/var/lib/git/docbuild/linux/Documentation/docutils.conf”aŒfile_insertion_enabled”ˆŒ raw_enabled”KŒline_length_limit”M'Œpep_references”NŒ pep_base_url”Œhttps://peps.python.org/”Œpep_file_url_template”Œpep-%04d”Œrfc_references”NŒ rfc_base_url”Œ&https://datatracker.ietf.org/doc/html/”Œ tab_width”KŒtrim_footnote_reference_space”‰Œsyntax_highlight”Œlong”Œ smart_quotes”ˆŒsmartquotes_locales”]”Œcharacter_level_inline_markup”‰Œdoctitle_xform”‰Œ docinfo_xform”KŒsectsubtitle_xform”‰Œ image_loading”Œlink”Œembed_stylesheet”‰Œcloak_email_addresses”ˆŒsection_self_link”‰Œenv”NubŒreporter”NŒindirect_targets”]”Œsubstitution_defs”}”Œsubstitution_names”}”Œrefnames”}”Œrefids”}”Œnameids”}”(jj~j jjÝjÚjyjvuŒ nametypes”}”(j‰j ‰j݉jy‰uh}”(j~h£jhÇjÚj jvjàuŒ footnote_refs”}”Œ citation_refs”}”Œ autofootnotes”]”Œautofootnote_refs”]”Œsymbol_footnotes”]”Œsymbol_footnote_refs”]”Œ footnotes”]”Œ citations”]”Œautofootnote_start”KŒsymbol_footnote_start”KŒ id_counter”Œ collections”ŒCounter”“”}”…”R”Œparse_messages”]”Œtransform_messages”]”Œ transformer”NŒ include_log”]”Œ decoration”Nhžhub.