qcom-audio-dev.txt 22 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721
  1. Qualcomm audio devices for ALSA sound SoC
  2. * msm-pcm
  3. Required properties:
  4. - compatible : "qti,msm-pcm-dsp"
  5. - qti,msm-pcm-dsp-id : device node id
  6. * msm-pcm-low-latency
  7. Required properties:
  8. - compatible : "qti,msm-pcm-dsp"
  9. - qti,msm-pcm-dsp-id : device node id
  10. Optional properties
  11. - qti,msm-pcm-low-latency : Flag indicating whether
  12. the device node is of type low latency.
  13. - qti,latency-level : Flag indicating whether the device node
  14. is of type regular low latency or ultra
  15. low latency.
  16. regular : regular low latency stream
  17. ultra : ultra low latency stream
  18. * msm-pcm-routing
  19. Required properties:
  20. - compatible : "qcom,msm-pcm-routing"
  21. * msm-pcm-lpa
  22. Required properties:
  23. - compatible : "qcom,msm-pcm-lpa"
  24. * msm-compr-dsp
  25. Required properties:
  26. - compatible : "qcom,msm-compr-dsp"
  27. * msm-voip-dsp
  28. Required properties:
  29. - compatible : "qcom,msm-voip-dsp"
  30. * msm-pcm-voice
  31. Required properties:
  32. - compatible : "qcom,msm-pcm-voice"
  33. * msm-stub-codec
  34. Required properties:
  35. - compatible : "qcom,msm-stub-codec"
  36. * msm-dai-fe
  37. Required properties:
  38. - compatible : "qcom,msm-dai-fe"
  39. * msm-pcm-afe
  40. Required properties:
  41. - compatible : "qcom,msm-pcm-afe"
  42. * msm-pcm-dtmf
  43. Required properties:
  44. - compatible : "qcom,msm-pcm-dtmf"
  45. - qcom,msm-pcm-dtmf : Enable DTMF driver in Audio. DTMF driver is
  46. used for generation and detection of DTMF tones, when user is in
  47. active voice call. APR commands are sent from DTMF driver to ADSP.
  48. * msm-dai-stub
  49. Required properties:
  50. - compatible : "qcom,msm-dai-stub"
  51. - qcom,msm-dai-stub : This enables stub CPU dai in Audio.
  52. The stub dai is used when there is no real backend in Audio.
  53. * msm-dai-q6-hdmi
  54. Required properties:
  55. - compatible : "msm-dai-q6-hdmi"
  56. - qcom,msm-dai-q6-dev-id : The hdmi multi channel port ID.
  57. It is passed onto the dsp from the apps to form an audio
  58. path to the HDMI device. Currently the only supported value
  59. is 8, which indicates the rx path used for audio playback
  60. on HDMI device.
  61. * msm-lsm-client
  62. Required properties:
  63. - compatible : "qcom,msm-lsm-client"
  64. * msm-pcm-loopback
  65. Required properties:
  66. - compatible : "qti,msm-pcm-loopback"
  67. * msm-dai-q6
  68. [First Level Nodes]
  69. Required properties:
  70. - compatible : "msm-dai-q6"
  71. Optional properties:
  72. - qcom,ext-spk-amp-supply : External speaker amplifier power supply.
  73. - qcom,ext-spk-amp-gpio : External speaker amplifier enable signal.
  74. [Second Level Nodes]
  75. Required properties:
  76. - compatible : "qcom,msm-dai-q6-dev"
  77. - qcom,msm-dai-q6-dev-id : The slimbus multi channel port ID
  78. Value is from 16384 to 16393
  79. BT SCO port ID value from 12288 to 12289
  80. RT Proxy port ID values from 224 to 225 and 240 to
  81. 241
  82. FM Rx and TX port ID values from 12292 to 12293
  83. incall record Rx and TX port ID values from 32771 to 32772
  84. inCall Music Delivery port ID is 32773
  85. incall Music 2 Delivery port ID is 32770
  86. * msm-auxpcm
  87. Required properties:
  88. - compatible : "qcom,msm-auxpcm-dev"
  89. - qcom,msm-cpudai-auxpcm-mode: mode information. The first value is
  90. for 8khz mode, the second is for
  91. 16khz
  92. 0 - for PCM
  93. - qcom,msm-cpudai-auxpcm-sync: sync information. The first value is
  94. for 8khz mode, the second is for
  95. 16khz
  96. - qcom,msm-cpudai-auxpcm-frame: No.of bytes per frame. The first
  97. value is for 8khz mode, the second
  98. is for 16khz
  99. 5 - 256BPF
  100. 4 - 128BPF
  101. - qcom,msm-cpudai-auxpcm-quant: Type of quantization. The first
  102. value is for 8khz mode, the second
  103. is for 16khz
  104. 2 - Linear quantization
  105. - qcom,msm-cpudai-auxpcm-slot: Slot number for multichannel scenario
  106. The first value is for 8khz mode the
  107. second is for 16khz
  108. Value is 1
  109. - qcom,msm-cpudai-auxpcm-data: Data field - 0. The first value is
  110. for 8khz mode, the second is for
  111. 16khz
  112. - qcom,msm-cpudai-auxpcm-pcm-clk-rate: Clock rate for pcm - 2048000. The
  113. first value is for 8khz mode, the
  114. second is for auxpcm
  115. - qcom,msm-auxpcm-interface: name of AUXPCM interface "primary"
  116. indicates primary AUXPCM interface
  117. "secondary" indicates secondary
  118. AUXPCM interface
  119. * msm-pcm-hostless
  120. Required properties:
  121. - compatible : "qcom,msm-pcm-hostless"
  122. * msm-ocmem-audio
  123. Required properties:
  124. - compatible : "qcom,msm-ocmem-audio"
  125. - qcom,msm_bus,name: Client name
  126. - qcom,msm_bus,num_cases: Total number of use cases
  127. - qcom,msm_bus,active_only: Context flag for requests in active
  128. or dual (active & sleep) contex
  129. - qcom,msm_bus,num_paths: Total number of master-slave pairs
  130. - qcom,msm_bus,vectors: Arrays of unsigned integers
  131. representing:
  132. master-id, slave-id, arbitrated
  133. bandwidth,
  134. instantaneous bandwidth
  135. * wcd9xxx_intc
  136. Required properties:
  137. - compatible : "qcom,wcd9xxx-irq"
  138. - interrupt-controller : Mark this device node as an
  139. interrupt controller
  140. - #interrupt-cells : Should be 1
  141. - interrupt-parent : Parent interrupt controller
  142. - interrupts : Interrupt number on the parent
  143. interrupt controller
  144. - interrupt-names : Name of interrupt on the parent
  145. interrupt controller
  146. Example:
  147. qti,msm-pcm {
  148. compatible = "qti,msm-pcm-dsp";
  149. qti,msm-pcm-dsp-id = <0>;
  150. };
  151. qti,msm-pcm-low-latency {
  152. compatible = "qti,msm-pcm-dsp";
  153. qti,msm-pcm-dsp-id = <1>;
  154. qti,msm-pcm-low-latency;
  155. };
  156. qcom,msm-pcm-routing {
  157. compatible = "qcom,msm-pcm-routing";
  158. };
  159. qcom,msm-pcm-lpa {
  160. compatible = "qcom,msm-pcm-lpa";
  161. };
  162. qcom,msm-compr-dsp {
  163. compatible = "qcom,msm-compr-dsp";
  164. };
  165. qcom,msm-voip-dsp {
  166. compatible = "qcom,msm-voip-dsp";
  167. };
  168. qcom,msm-stub-codec {
  169. compatible = "qcom,msm-stub-codec";
  170. };
  171. qcom,msm-dai-fe {
  172. compatible = "qcom,msm-dai-fe";
  173. };
  174. qcom,msm-pcm-dtmf {
  175. compatible = "qcom,msm-pcm-dtmf";
  176. };
  177. qcom,msm-dai-stub {
  178. compatible = "qcom,msm-dai-stub";
  179. };
  180. qcom,msm-dai-q6-hdmi {
  181. compatible = "qcom,msm-dai-q6-hdmi";
  182. qcom,msm-dai-q6-dev-id = <8>;
  183. };
  184. qcom,msm-dai-q6 {
  185. compatible = "qcom,msm-dai-q6";
  186. qcom,msm-dai-q6-sb-0-rx {
  187. compatible = "qcom,msm-dai-q6-dev";
  188. qcom,msm-dai-q6-dev-id = <16384>;
  189. };
  190. qcom,msm-dai-q6-sb-0-tx {
  191. compatible = "qcom,msm-dai-q6-dev";
  192. qcom,msm-dai-q6-dev-id = <16385>;
  193. };
  194. qcom,msm-dai-q6-sb-1-rx {
  195. compatible = "qcom,msm-dai-q6-dev";
  196. qcom,msm-dai-q6-dev-id = <16386>;
  197. };
  198. qcom,msm-dai-q6-sb-1-tx {
  199. compatible = "qcom,msm-dai-q6-dev";
  200. qcom,msm-dai-q6-dev-id = <16387>;
  201. };
  202. qcom,msm-dai-q6-sb-3-rx {
  203. compatible = "qcom,msm-dai-q6-dev";
  204. qcom,msm-dai-q6-dev-id = <16390>;
  205. };
  206. qcom,msm-dai-q6-sb-3-tx {
  207. compatible = "qcom,msm-dai-q6-dev";
  208. qcom,msm-dai-q6-dev-id = <16391>;
  209. };
  210. qcom,msm-dai-q6-sb-4-rx {
  211. compatible = "qcom,msm-dai-q6-dev";
  212. qcom,msm-dai-q6-dev-id = <16392>;
  213. };
  214. qcom,msm-dai-q6-sb-4-tx {
  215. compatible = "qcom,msm-dai-q6-dev";
  216. qcom,msm-dai-q6-dev-id = <16393>;
  217. };
  218. qcom,msm-dai-q6-bt-sco-rx {
  219. compatible = "qcom,msm-dai-q6-dev";
  220. qcom,msm-dai-q6-dev-id = <12288>;
  221. };
  222. qcom,msm-dai-q6-bt-sco-tx {
  223. compatible = "qcom,msm-dai-q6-dev";
  224. qcom,msm-dai-q6-dev-id = <12289>;
  225. };
  226. qcom,msm-dai-q6-int-fm-rx {
  227. compatible = "qcom,msm-dai-q6-dev";
  228. qcom,msm-dai-q6-dev-id = <12292>;
  229. };
  230. qcom,msm-dai-q6-int-fm-tx {
  231. compatible = "qcom,msm-dai-q6-dev";
  232. qcom,msm-dai-q6-dev-id = <12293>;
  233. };
  234. qcom,msm-dai-q6-be-afe-pcm-rx {
  235. compatible = "qcom,msm-dai-q6-dev";
  236. qcom,msm-dai-q6-dev-id = <224>;
  237. };
  238. qcom,msm-dai-q6-be-afe-pcm-tx {
  239. compatible = "qcom,msm-dai-q6-dev";
  240. qcom,msm-dai-q6-dev-id = <225>;
  241. };
  242. qcom,msm-dai-q6-afe-proxy-rx {
  243. compatible = "qcom,msm-dai-q6-dev";
  244. qcom,msm-dai-q6-dev-id = <241>;
  245. };
  246. qcom,msm-dai-q6-afe-proxy-tx {
  247. compatible = "qcom,msm-dai-q6-dev";
  248. qcom,msm-dai-q6-dev-id = <240>;
  249. };
  250. qcom,msm-dai-q6-incall-record-rx {
  251. compatible = "qcom,msm-dai-q6-dev";
  252. qcom,msm-dai-q6-dev-id = <32771>;
  253. };
  254. qcom,msm-dai-q6-incall-record-tx {
  255. compatible = "qcom,msm-dai-q6-dev";
  256. qcom,msm-dai-q6-dev-id = <32772>;
  257. };
  258. qcom,msm-dai-q6-incall-music-rx {
  259. compatible = "qcom,msm-dai-q6-dev";
  260. qcom,msm-dai-q6-dev-id = <32773>;
  261. };
  262. qcom,msm-dai-q6-incall-music-2-rx {
  263. compatible = "qcom,msm-dai-q6-dev";
  264. qcom,msm-dai-q6-dev-id = <32770>;
  265. };
  266. };
  267. qcom,msm-pri-auxpcm {
  268. qcom,msm-cpudai-auxpcm-mode = <1>, <1>;
  269. qcom,msm-cpudai-auxpcm-sync = <1>, <1>;
  270. qcom,msm-cpudai-auxpcm-frame = <5>, <4>;
  271. qcom,msm-cpudai-auxpcm-quant = <2>, <2>;
  272. qcom,msm-cpudai-auxpcm-slot = <1>, <1>;
  273. qcom,msm-cpudai-auxpcm-data = <0>, <0>;
  274. qcom,msm-cpudai-auxpcm-pcm-clk-rate = <2048000>, <2048000>;
  275. qcom,msm-auxpcm-interface = "primary";
  276. compatible = "qcom,msm-auxpcm-dev";
  277. };
  278. qcom,msm-pcm-hostless {
  279. compatible = "qcom,msm-pcm-hostless";
  280. };
  281. qcom,msm-ocmem-audio {
  282. compatible = "qcom,msm-ocmem-audio";
  283. qcom,msm_bus,name = "audio-ocmem";
  284. qcom,msm_bus,num_cases = <2>;
  285. qcom,msm_bus,active_only = <0>;
  286. qcom,msm_bus,num_paths = <1>;
  287. qcom,msm_bus,vectors =
  288. <11 604 0 0>,
  289. <11 604 32505856 325058560>;
  290. };
  291. wcd9xxx_intc: wcd9xxx-irq {
  292. compatible = "qcom,wcd9xxx-irq";
  293. interrupt-controller;
  294. #interrupt-cells = <1>;
  295. interrupt-parent = <&msmgpio>;
  296. interrupts = <72 0>;
  297. interrupt-names = "cdc-int";
  298. };
  299. * MSM8974 ASoC Machine driver
  300. Required properties:
  301. - compatible : "qcom,msm8974-audio-taiko"
  302. - qcom,model : The user-visible name of this sound card.
  303. - reg : Offset and length of the register region(s) for MI2S/PCM MUX
  304. - reg-names : Register region name(s) referenced in reg above
  305. Required register resource entries are:
  306. "lpaif_pri_mode_muxsel": Physical address of MUX to select between
  307. Primary PCM and Primary MI2S
  308. "lpaif_sec_mode_muxsel": Physical address of MUX to select between
  309. Secondary PCM and Secondary MI2S
  310. "lpaif_tert_mode_muxsel": Physical address of MUX to select between
  311. Primary PCM and Tertiary MI2S
  312. "lpaif_quat_mode_muxsel": Physical address of MUX to select between
  313. Secondary PCM and Quarternary MI2S
  314. - qcom,audio-routing : A list of the connections between audio components.
  315. Each entry is a pair of strings, the first being the connection's sink,
  316. the second being the connection's source.
  317. - qcom,cdc-mclk-gpios : GPIO on which mclk signal is comming.
  318. - qcom,taiko-mclk-clk-freq : Taiko mclk Freq in Hz. currently only 9600000Hz
  319. is supported.
  320. - qcom,prim-auxpcm-gpio-clk : GPIO on which Primary AUXPCM clk signal is coming.
  321. - qcom,prim-auxpcm-gpio-sync : GPIO on which Primary AUXPCM SYNC signal is coming.
  322. - qcom,prim-auxpcm-gpio-din : GPIO on which Primary AUXPCM DIN signal is coming.
  323. - qcom,prim-auxpcm-gpio-dout : GPIO on which Primary AUXPCM DOUT signal is coming.
  324. - qcom,prim-auxpcm-gpio-set : set of GPIO lines used for Primary AUXPCM port
  325. Possible Values:
  326. prim-gpio-prim : Primary AUXPCM shares GPIOs with Primary MI2S
  327. prim-gpio-tert : Primary AUXPCM shares GPIOs with Tertiary MI2S
  328. - qcom,sec-auxpcm-gpio-clk : GPIO on which Secondary AUXPCM clk signal is coming.
  329. - qcom,sec-auxpcm-gpio-sync : GPIO on which Secondary AUXPCM SYNC signal is coming.
  330. - qcom,sec-auxpcm-gpio-din : GPIO on which Secondary AUXPCM DIN signal is coming.
  331. - qcom,sec-auxpcm-gpio-dout : GPIO on which Secondary AUXPCM DOUT signal is coming.
  332. - qcom,us-euro-gpios : GPIO on which gnd/mic swap signal is coming.
  333. Optional properties:
  334. - qcom,hdmi-audio-rx: specifies if HDMI audio support is enabled or not.
  335. - qcom,ext-ult-spk-amp-gpio : GPIO for enabling of speaker path amplifier.
  336. - qcom,ext-ult-lo-amp-gpio: GPIO to enable external ultrasound lineout
  337. amplifier.
  338. - qcom,headset-jack-type-NO: Adjust GPIO level based on the headset jack type.
  339. - qcom,tapan-codec-9302: Indicates that this device node is for WCD9302 audio
  340. codec.
  341. - qcom,mbhc-bias-internal: Flag to indicate if internal micbias should be used
  342. for headset detection.
  343. - qcom,mbhc-audio-jack-type : String to indicate the jack type on the hardware.
  344. Possible Values:
  345. 4-pole-jack : Jack on the hardware is 4-pole.
  346. 5-pole-jack : Jack on the hardware is 5-pole.
  347. 6-pole-jack : Jack on the hardware is 6-pole.
  348. * APQ8074 ASoC Machine driver
  349. Required properties:
  350. - compatible : "qcom,apq8074-audio-taiko"
  351. Example:
  352. sound {
  353. compatible = "qcom,msm8974-audio-taiko";
  354. qcom,model = "msm8974-taiko-snd-card";
  355. qcom,audio-routing =
  356. "RX_BIAS", "MCLK",
  357. "LDO_H", "MCLK",
  358. "HEADPHONE", "LDO_H",
  359. "Ext Spk Bottom Pos", "LINEOUT1",
  360. "Ext Spk Bottom Neg", "LINEOUT3",
  361. "Ext Spk Top Pos", "LINEOUT2",
  362. "Ext Spk Top Neg", "LINEOUT4",
  363. "AMIC1", "MIC BIAS1 Internal1",
  364. "MIC BIAS1 Internal1", "Handset Mic",
  365. "AMIC2", "MIC BIAS2 External",
  366. "MIC BIAS2 External", "Headset Mic",
  367. "AMIC3", "MIC BIAS3 Internal1",
  368. "MIC BIAS3 Internal1", "ANCRight Headset Mic",
  369. "AMIC4", "MIC BIAS1 Internal2",
  370. "MIC BIAS1 Internal2", "ANCLeft Headset Mic",
  371. "DMIC1", "MIC BIAS1 External",
  372. "MIC BIAS1 External", "Digital Mic1",
  373. "DMIC2", "MIC BIAS1 External",
  374. "MIC BIAS1 External", "Digital Mic2",
  375. "DMIC3", "MIC BIAS3 External",
  376. "MIC BIAS3 External", "Digital Mic3",
  377. "DMIC4", "MIC BIAS3 External",
  378. "MIC BIAS3 External", "Digital Mic4",
  379. "DMIC5", "MIC BIAS4 External",
  380. "MIC BIAS4 External", "Digital Mic5",
  381. "DMIC6", "MIC BIAS4 External",
  382. "MIC BIAS4 External", "Digital Mic6";
  383. qcom,cdc-mclk-gpios = <&pm8941_gpios 15 0>;
  384. qcom,taiko-mclk-clk-freq = <9600000>;
  385. qcom,us-euro-gpios = <&pm8941_gpios 20 0>;
  386. qcom,hdmi-audio-rx;
  387. qcom,ext-ult-lo-amp-gpio = <&pm8941_gpios 6 0>;
  388. qcom,prim-auxpcm-gpio-clk = <&msmgpio 65 0>;
  389. qcom,prim-auxpcm-gpio-sync = <&msmgpio 66 0>;
  390. qcom,prim-auxpcm-gpio-din = <&msmgpio 67 0>;
  391. qcom,prim-auxpcm-gpio-dout = <&msmgpio 68 0>;
  392. qcom,prim-auxpcm-gpio-set = "prim-gpio-prim";
  393. qcom,sec-auxpcm-gpio-clk = <&msmgpio 79 0>;
  394. qcom,sec-auxpcm-gpio-sync = <&msmgpio 80 0>;
  395. qcom,sec-auxpcm-gpio-din = <&msmgpio 81 0>;
  396. qcom,sec-auxpcm-gpio-dout = <&msmgpio 82 0>;
  397. qcom,mbhc-audio-jack-type = "4-pole-jack";
  398. };
  399. * msm-dai-mi2s
  400. [First Level Nodes]
  401. Required properties:
  402. - compatible : "msm-dai-mi2s"
  403. [Second Level Nodes]
  404. Required properties:
  405. - compatible : "qcom,msm-dai-q6-mi2s"
  406. - qcom,msm-dai-q6-mi2s-dev-id: MSM or MDM can use Slimbus or I2S interface to
  407. transfer data to (WCD9XXX) codec.
  408. If slimbus interface is used then "msm-dai-q6"
  409. needs to be filled with correct data for
  410. slimbus interface.
  411. The sections "msm-dai-mi2s" is used by MDM or
  412. MSM to use I2S interface with codec.
  413. This section is used by CPU driver in ASOC MSM
  414. to configure MI2S interface. MSM internally
  415. has multiple MI2S namely Primary, Secondary,
  416. Tertiary and Quaternary MI2S.
  417. They are represented with id 0, 1, 2, 3
  418. respectively.
  419. The field "qcom,msm-dai-q6-mi2s-dev-id"
  420. represents which of the MI2S block is used.
  421. These MI2S are connected to I2S interface.
  422. - qcom,msm-mi2s-rx-lines: Each MI2S interface in MSM has one or more SD
  423. lines. These lines are used for data transfer
  424. between codec and MSM.
  425. This element in indicates which output RX lines
  426. are used in the MI2S interface.
  427. - qcom,msm-mi2s-tx-lines: Each MI2S interface in MSM has one or more SD
  428. lines. These lines are used for data transfer
  429. between codec and MSM.
  430. This element in indicates which input TX lines
  431. are used in the MI2S interface.
  432. Example:
  433. qcom,msm-dai-mi2s {
  434. compatible = "qcom,msm-dai-mi2s";
  435. qcom,msm-dai-q6-mi2s-prim {
  436. compatible = "qcom,msm-dai-q6-mi2s";
  437. qcom,msm-dai-q6-mi2s-dev-id = <0>;
  438. qcom,msm-mi2s-rx-lines = <2>;
  439. qcom,msm-mi2s-tx-lines = <1>;
  440. };
  441. };
  442. * MSM9625 ASoC Machine driver
  443. Required properties:
  444. - compatible : "qcom,mdm9625-audio-taiko"
  445. - qcom,model : The user-visible name of this sound card.
  446. - qcom,audio-routing : A list of the connections between audio components.
  447. Each entry is a pair of strings, the first being the connection's sink,
  448. the second being the connection's source.
  449. - qcom,taiko-mclk-clk-freq : Master clock value given to codec. Some WCD9XXX
  450. codec can run at different mclk values. Mclk value can be 9.6MHz or 12.288MHz.
  451. This element represents the value for MCLK provided to codec.
  452. - prim-i2s-gpio-ws : Specifies gpio assigned for primary WS I2S pin.
  453. - prim-i2s-gpio-din : Specifies gpio assigned for primary DIN I2S pin.
  454. - prim-i2s-gpio-dout : Specifies gpio assigned for primary DOUT I2S pin.
  455. - prim-i2s-gpio-sclk : Specifies gpio assigned for primary SCLK I2S pin.
  456. - prim-i2s-gpio-mclk : Specifies gpio assigned for MCLK I2S pin.
  457. Example:
  458. sound {
  459. compatible = "qcom,mdm9625-audio-taiko";
  460. qcom,model = "mdm9625-taiko-i2s-snd-card";
  461. qcom,audio-routing =
  462. "RX_BIAS", "MCLK",
  463. "LDO_H", "MCLK",
  464. "Ext Spk Bottom Pos", "LINEOUT1",
  465. "Ext Spk Bottom Neg", "LINEOUT3",
  466. "Ext Spk Top Pos", "LINEOUT2",
  467. "Ext Spk Top Neg", "LINEOUT4",
  468. "AMIC1", "MIC BIAS1 External",
  469. "MIC BIAS1 External", "Handset Mic",
  470. "AMIC2", "MIC BIAS2 External",
  471. "MIC BIAS2 External", "Headset Mic",
  472. "AMIC3", "MIC BIAS3 Internal1",
  473. "MIC BIAS3 Internal1", "ANCRight Headset Mic",
  474. "AMIC4", "MIC BIAS1 Internal2",
  475. "MIC BIAS1 Internal2", "ANCLeft Headset Mic",
  476. "DMIC1", "MIC BIAS1 External",
  477. "MIC BIAS1 External", "Digital Mic1",
  478. "DMIC2", "MIC BIAS1 External",
  479. "MIC BIAS1 External", "Digital Mic2",
  480. "DMIC3", "MIC BIAS3 External",
  481. "MIC BIAS3 External", "Digital Mic3",
  482. "DMIC4", "MIC BIAS3 External",
  483. "MIC BIAS3 External", "Digital Mic4",
  484. "DMIC5", "MIC BIAS4 External",
  485. "MIC BIAS4 External", "Digital Mic5",
  486. "DMIC6", "MIC BIAS4 External",
  487. "MIC BIAS4 External", "Digital Mic6";
  488. qcom,taiko-mclk-clk-freq = <12288000>;
  489. prim-i2s-gpio-ws = <&msmgpio 12 0>;
  490. prim-i2s-gpio-din = <&msmgpio 13 0>;
  491. prim-i2s-gpio-dout = <&msmgpio 14 0>;
  492. prim-i2s-gpio-sclk = <&msmgpio 15 0>;
  493. prim-i2s-gpio-mclk = <&msmgpio 71 0>;
  494. };
  495. * msm-adsp-loader
  496. Required properties:
  497. - compatible : "qcom,adsp-loader"
  498. - qcom,adsp-state:
  499. It is possible that some MSM use PIL to load the ADSP image. While
  500. other MSM may use SBL to load the ADSP image at boot. Audio APR needs
  501. state of ADSP to register and enable APR to be used for sending commands
  502. to ADSP. so adsp-state represents the state of ADSP to ADSP loader.
  503. Value of 0 indicates ADSP loader needs to use PIL and value of 2 means
  504. ADSP image is already loaded by SBL.
  505. Example:
  506. qcom,msm-adsp-loader {
  507. compatible = "qcom,adsp-loader";
  508. qcom,adsp-state = <2>;
  509. };
  510. * msm-audio-ion
  511. Required properties:
  512. - compatible : "qcom,msm-audio-ion"
  513. Optional properties:
  514. - qcom,smmu-enabled:
  515. It is possible that some MSM have SMMU in ADSP. While other MSM use
  516. no SMMU. Audio lib introduce wrapper for ION APIs. The wrapper needs
  517. presence of SMMU in ADSP to handle ION APIs differently.
  518. Presence of this property means ADSP has SMMU in it.
  519. Example:
  520. qcom,msm-audio-ion {
  521. compatible = "qcom,msm-audio-ion;
  522. qcom,smmu-enabled;
  523. };
  524. * MSM8226 ASoC Machine driver
  525. Required properties:
  526. - compatible : "qcom,msm8226-audio-tapan"
  527. - qcom,model : The user-visible name of this sound card.
  528. - qcom,tapan-mclk-clk-freq : Tapan mclk Freq in Hz. currently only 9600000Hz
  529. is supported.
  530. - qcom,prim-auxpcm-gpio-clk : GPIO on which Primary AUXPCM clk signal is coming.
  531. - qcom,prim-auxpcm-gpio-sync : GPIO on which Primary AUXPCM SYNC signal is coming.
  532. - qcom,prim-auxpcm-gpio-din : GPIO on which Primary AUXPCM DIN signal is coming.
  533. - qcom,prim-auxpcm-gpio-dout : GPIO on which Primary AUXPCM DOUT signal is coming.
  534. - qcom,prim-auxpcm-gpio-set : set of GPIO lines used for Primary AUXPCM port
  535. Possible Values:
  536. prim-gpio-prim : Primary AUXPCM shares GPIOs with Primary MI2S
  537. prim-gpio-tert : Primary AUXPCM shares GPIOs with Tertiary MI2S
  538. Optional Properties:
  539. - qcom,cdc-us-euro-gpios : GPIO on which gnd/mic swap signal is coming.
  540. - qcom,cdc-lineout-spkr-gpios : GPIO which controls external PAs to enable Lineout1/2 speaker
  541. - qcom,cdc-vdd-spkr-gpios : GPIO which controls PA for VDD speaker
  542. - qcom,headset-jack-type-NC: Set if the headset jack type is NC (Normally Closed)
  543. Example:
  544. sound {
  545. compatible = "qcom,msm8226-audio-tapan";
  546. qcom,model = "msm8226-tapan-snd-card";
  547. qcom,tapan-mclk-clk-freq = <9600000>;
  548. qcom,prim-auxpcm-gpio-clk = <&msmgpio 63 0>;
  549. qcom,prim-auxpcm-gpio-sync = <&msmgpio 64 0>;
  550. qcom,prim-auxpcm-gpio-din = <&msmgpio 65 0>;
  551. qcom,prim-auxpcm-gpio-dout = <&msmgpio 66 0>;
  552. qcom,prim-auxpcm-gpio-set = "prim-gpio-prim";
  553. qcom,cdc-us-euro-gpios = <&msmgpio 69 0>;
  554. qcom,cdc-lineout-spkr-gpios = <&pm8226_gpios 2 0>;
  555. qcom,cdc-vdd-spkr-gpios = <&pm8226_gpios 3 0>;
  556. };