broadwell.conf 5.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391
  1. # Dynamic Firmware Configuration for Broadwell
  2. # TLV
  3. SectionTLV."hsw_vol_tlv" {
  4. Comment "TLV used by both global and stream volumes"
  5. scale {
  6. min "-9000"
  7. step "300"
  8. mute "1"
  9. }
  10. }
  11. # Controls
  12. SectionControlMixer."Master Playback Volume" {
  13. Comment "Global DSP volume"
  14. # control belongs to this index group
  15. index "1"
  16. # Channel register and shift for Front Left/Right
  17. channel."FL" {
  18. reg "0"
  19. shift "0"
  20. }
  21. channel."FR" {
  22. reg "0"
  23. shift "8"
  24. }
  25. # max control value and whether value is inverted
  26. max "31"
  27. invert "false"
  28. # control uses bespoke driver get/put/info ID 0
  29. ops."ctl" {
  30. info "volsw"
  31. get "256"
  32. put "256"
  33. }
  34. # uses TLV data above
  35. tlv "hsw_vol_tlv"
  36. }
  37. SectionControlMixer."Media0 Playback Volume" {
  38. Comment "Offload 0 volume"
  39. # control belongs to this index group
  40. index "1"
  41. # Channel register and shift for Front Left/Right
  42. channel."FL" {
  43. reg "1"
  44. shift "0"
  45. }
  46. channel."FR" {
  47. reg "1"
  48. shift "8"
  49. }
  50. # max control value and whether value is inverted
  51. max "31"
  52. invert "false"
  53. # control uses bespoke driver get/put/info ID 0
  54. ops."ctl" {
  55. info "volsw"
  56. get "257"
  57. put "257"
  58. }
  59. # uses TLV data above
  60. tlv "hsw_vol_tlv"
  61. }
  62. SectionControlMixer."Media1 Playback Volume" {
  63. Comment "Offload 1 volume"
  64. # control belongs to this index group
  65. index "1"
  66. # Channel register and shift for Front Left/Right
  67. channel."FL" {
  68. reg "2"
  69. shift "0"
  70. }
  71. channel."FR" {
  72. reg "2"
  73. shift "8"
  74. }
  75. # max control value and whether value is inverted
  76. max "31"
  77. invert "false"
  78. # control uses bespoke driver get/put/info ID 0
  79. ops."ctl" {
  80. info "volsw"
  81. get "257"
  82. put "257"
  83. }
  84. # uses TLV data above
  85. tlv "hsw_vol_tlv"
  86. }
  87. SectionControlMixer."Mic Capture Volume" {
  88. Comment "Mic Capture volume"
  89. # control belongs to this index group
  90. index "1"
  91. # Channel register and shift for Front Left/Right
  92. channel."FL" {
  93. reg "0"
  94. shift "0"
  95. }
  96. channel."FR" {
  97. reg "0"
  98. shift "8"
  99. }
  100. # max control value and whether value is inverted
  101. max "31"
  102. invert "false"
  103. # control uses bespoke driver get/put/info ID 0
  104. ops."ctl" {
  105. info "volsw"
  106. get "257"
  107. put "257"
  108. }
  109. # uses TLV data above
  110. tlv "hsw_vol_tlv"
  111. }
  112. SectionWidget."SSP0 CODEC IN" {
  113. index "1"
  114. type "aif_in"
  115. no_pm "true"
  116. shift "0"
  117. invert "0"
  118. }
  119. SectionWidget."SSP0 CODEC OUT" {
  120. index "1"
  121. type "aif_out"
  122. no_pm "true"
  123. shift "0"
  124. invert "0"
  125. }
  126. SectionWidget."SSP1 BT IN" {
  127. index "1"
  128. type "aif_in"
  129. no_pm "true"
  130. shift "0"
  131. invert "0"
  132. }
  133. SectionWidget."SSP1 BT OUT" {
  134. index "1"
  135. type "aif_out"
  136. no_pm "true"
  137. shift "0"
  138. invert "0"
  139. }
  140. SectionWidget."Playback VMixer" {
  141. index "1"
  142. type "mixer"
  143. no_pm "true"
  144. shift "0"
  145. invert "0"
  146. }
  147. # PCM Configurations supported by FW
  148. SectionPCMConfig."PCM 48k Stereo 24bit" {
  149. config."playback" {
  150. format "S24_LE"
  151. rate "48000"
  152. channels "2"
  153. tdm_slot "0xf"
  154. }
  155. config."capture" {
  156. format "S24_LE"
  157. rate "48000"
  158. channels "2"
  159. tdm_slot "0xf"
  160. }
  161. }
  162. SectionPCMConfig."PCM 48k Stereo 16bit" {
  163. config."playback" {
  164. format "S16_LE"
  165. rate "48000"
  166. channels "2"
  167. tdm_slot "0xf"
  168. }
  169. config."capture" {
  170. format "S16_LE"
  171. rate "48000"
  172. channels "2"
  173. tdm_slot "0xf"
  174. }
  175. }
  176. SectionPCMConfig."PCM 48k 2P/4C 16bit" {
  177. config."playback" {
  178. format "S16_LE"
  179. rate "48000"
  180. channels "2"
  181. tdm_slot "0xf"
  182. }
  183. config."capture" {
  184. format "S16_LE"
  185. rate "48000"
  186. channels "4"
  187. tdm_slot "0xf"
  188. }
  189. }
  190. # PCM capabilities supported by FW
  191. SectionPCMCapabilities."System Playback" {
  192. formats "S24_LE,S16_LE"
  193. rate_min "48000"
  194. rate_max "48000"
  195. channels_min "2"
  196. channels_max "2"
  197. }
  198. SectionPCMCapabilities."Analog Capture" {
  199. formats "S24_LE,S16_LE"
  200. rate_min "48000"
  201. rate_max "48000"
  202. channels_min "2"
  203. channels_max "4"
  204. }
  205. SectionPCMCapabilities."Loopback Capture" {
  206. formats "S24_LE,S16_LE"
  207. rate_min "48000"
  208. rate_max "48000"
  209. channels_min "2"
  210. channels_max "2"
  211. }
  212. SectionPCMCapabilities."Offload0 Playback" {
  213. formats "S24_LE,S16_LE"
  214. rate_min "8000"
  215. rate_max "192000"
  216. channels_min "2"
  217. channels_max "2"
  218. }
  219. SectionPCMCapabilities."Offload1 Playback" {
  220. formats "S24_LE,S16_LE"
  221. rate_min "8000"
  222. rate_max "192000"
  223. channels_min "2"
  224. channels_max "2"
  225. }
  226. # PCM devices exported by Firmware
  227. SectionPCM."System Playback/Capture" {
  228. index "1"
  229. # used for binding to the PCM
  230. id "0"
  231. dai."System Pin" {
  232. id "0"
  233. }
  234. pcm."playback" {
  235. capabilities "System Playback"
  236. configs [
  237. "PCM 48k Stereo 24bit"
  238. "PCM 48k Stereo 16bit"
  239. ]
  240. }
  241. pcm."capture" {
  242. capabilities "Analog Capture"
  243. configs [
  244. "PCM 48k Stereo 24bit"
  245. "PCM 48k Stereo 16bit"
  246. "PCM 48k 2P/4C 16bit"
  247. ]
  248. }
  249. }
  250. SectionPCM."Offload0 Playback" {
  251. index "1"
  252. # used for binding to the PCM
  253. id "1"
  254. dai."Offload0 Pin" {
  255. id "1"
  256. }
  257. pcm."playback" {
  258. capabilities "Offload0 Playback"
  259. configs [
  260. "PCM 48k Stereo 24bit"
  261. "PCM 48k Stereo 16bit"
  262. ]
  263. }
  264. }
  265. SectionPCM."Offload1 Playback" {
  266. index "1"
  267. # used for binding to the PCM
  268. id "2"
  269. dai."Offload1 Pin" {
  270. id "2"
  271. }
  272. pcm."playback" {
  273. capabilities "Offload1 Playback"
  274. configs [
  275. "PCM 48k Stereo 24bit"
  276. "PCM 48k Stereo 16bit"
  277. ]
  278. }
  279. }
  280. SectionPCM."Loopback PCM" {
  281. index "1"
  282. # used for binding to the PCM
  283. id "3"
  284. dai."Loopback Pin" {
  285. id "3"
  286. }
  287. pcm."capture" {
  288. capabilities "Loopback Capture"
  289. configs [
  290. "PCM 48k Stereo 24bit"
  291. "PCM 48k Stereo 16bit"
  292. ]
  293. }
  294. }
  295. SectionGraph."dsp" {
  296. index "1"
  297. lines [
  298. "Playback VMixer, , System Playback"
  299. "Playback VMixer, , Offload0 Playback"
  300. "Playback VMixer, , Offload1 Playback"
  301. "SSP0 CODEC OUT, , Playback VMixer"
  302. "Loopback Capture, , Playback VMixer"
  303. "Analog Capture, , SSP0 CODEC IN"
  304. ]
  305. }