1# 2# Intel DMIC DAI 3# 4# All attributes defined herein are namespaced by alsatplg to "dmic.attribute_name" 5# 6# Usage: this component can be used by declaring in the "dais" field of 7# a parent object. i.e. 8# 9# For Capture 10# Object.DMIC."M.capture" { 11# name "dmic16k" 12# id 2 13# Object.Base.hw_config."0" { 14# id 0 15# } 16# Object.Base.pdm_config."0" { 17# ctrl_id 0 18# } 19# } 20# 21# 22# Where M is DAI index in the firmware 23 24Class.Dai."DMIC" { 25 26 # 27 # instance ID of DMIC DAI object 28 # 29 DefineAttribute."instance" {} 30 31 # 32 # Argument used to construct DAI widget 33 # 34 # DAI Index 35 DefineAttribute."dai_index" { 36 token_ref "sof_tkn_dai.word" 37 } 38 39 DefineAttribute."direction" { 40 type "string" 41 } 42 43 DefineAttribute."dai_type" { 44 type "string" 45 token_ref "sof_tkn_dai.string" 46 } 47 48 # Backend DAI Link ID matching with the machine driver 49 DefineAttribute.id {} 50 51 DefineAttribute.default_hw_config_id {} 52 53 DefineAttribute.name { 54 type "string" 55 } 56 57 DefineAttribute.driver_version { 58 token_ref "sof_tkn_intel_dmic.word" 59 } 60 61 DefineAttribute.clk_min { 62 token_ref "sof_tkn_intel_dmic.word" 63 } 64 65 DefineAttribute.clk_max { 66 token_ref "sof_tkn_intel_dmic.word" 67 } 68 69 DefineAttribute.duty_min { 70 token_ref "sof_tkn_intel_dmic.word" 71 } 72 73 DefineAttribute.duty_max { 74 token_ref "sof_tkn_intel_dmic.word" 75 } 76 77 DefineAttribute.num_pdm_active { 78 token_ref "sof_tkn_intel_dmic.word" 79 } 80 81 DefineAttribute.sample_rate { 82 token_ref "sof_tkn_intel_dmic.word" 83 } 84 85 DefineAttribute.fifo_word_length { 86 token_ref "sof_tkn_intel_dmic.word" 87 } 88 89 DefineAttribute.unmute_ramp_time_ms { 90 token_ref "sof_tkn_intel_dmic.word" 91 } 92 93 # platform clock frequency 94 DefineAttribute.io_clk {} 95 96 attributes { 97 !constructor [ 98 "name" 99 ] 100 !mandatory [ 101 "num_pdm_active" 102 "dai_index" 103 ] 104 !immutable [ 105 "dai_type" 106 "direction" 107 ] 108 unique "instance" 109 } 110 111 dai_type "DMIC" 112 default_hw_config_id 0 113 clk_min 2400000 114 clk_max 4800000 115 duty_min 40 116 duty_max 60 117 sample_rate 48000 118 fifo_word_length 32 119 unmute_ramp_time_ms 400 120 driver_version 1 121 direction "capture" 122} 123