18c2ecf20Sopenharmony_ciTDM slot: 28c2ecf20Sopenharmony_ci 38c2ecf20Sopenharmony_ciThis specifies audio DAI's TDM slot. 48c2ecf20Sopenharmony_ci 58c2ecf20Sopenharmony_ciTDM slot properties: 68c2ecf20Sopenharmony_cidai-tdm-slot-num : Number of slots in use. 78c2ecf20Sopenharmony_cidai-tdm-slot-width : Width in bits for each slot. 88c2ecf20Sopenharmony_cidai-tdm-slot-tx-mask : Transmit direction slot mask, optional 98c2ecf20Sopenharmony_cidai-tdm-slot-rx-mask : Receive direction slot mask, optional 108c2ecf20Sopenharmony_ci 118c2ecf20Sopenharmony_ciFor instance: 128c2ecf20Sopenharmony_ci dai-tdm-slot-num = <2>; 138c2ecf20Sopenharmony_ci dai-tdm-slot-width = <8>; 148c2ecf20Sopenharmony_ci dai-tdm-slot-tx-mask = <0 1>; 158c2ecf20Sopenharmony_ci dai-tdm-slot-rx-mask = <1 0>; 168c2ecf20Sopenharmony_ci 178c2ecf20Sopenharmony_ciAnd for each specified driver, there could be one .of_xlate_tdm_slot_mask() 188c2ecf20Sopenharmony_cito specify an explicit mapping of the channels and the slots. If it's absent 198c2ecf20Sopenharmony_cithe default snd_soc_of_xlate_tdm_slot_mask() will be used to generating the 208c2ecf20Sopenharmony_citx and rx masks. 218c2ecf20Sopenharmony_ci 228c2ecf20Sopenharmony_ciFor snd_soc_of_xlate_tdm_slot_mask(), the tx and rx masks will use a 1 bit 238c2ecf20Sopenharmony_cifor an active slot as default, and the default active bits are at the LSB of 248c2ecf20Sopenharmony_cithe masks. 258c2ecf20Sopenharmony_ci 268c2ecf20Sopenharmony_ciThe explicit masks are given as array of integers, where the first 278c2ecf20Sopenharmony_cinumber presents bit-0 (LSB), second presents bit-1, etc. Any non zero 288c2ecf20Sopenharmony_cinumber is considered 1 and 0 is 0. snd_soc_of_xlate_tdm_slot_mask() 298c2ecf20Sopenharmony_cidoes not do anything, if either mask is set non zero value. 30