Tom Rini | 53633a8 | 2024-02-29 12:33:36 -0500 | [diff] [blame] | 1 | * Qualcomm Technologies APQ8096 ASoC sound card driver |
| 2 | |
| 3 | This binding describes the APQ8096 sound card, which uses qdsp for audio. |
| 4 | |
| 5 | - compatible: |
| 6 | Usage: required |
| 7 | Value type: <stringlist> |
| 8 | Definition: must be "qcom,apq8096-sndcard" |
| 9 | |
| 10 | - audio-routing: |
| 11 | Usage: Optional |
| 12 | Value type: <stringlist> |
| 13 | Definition: A list of the connections between audio components. |
| 14 | Each entry is a pair of strings, the first being the |
| 15 | connection's sink, the second being the connection's |
| 16 | source. Valid names could be power supplies, MicBias |
| 17 | of codec and the jacks on the board: |
| 18 | Valid names include: |
| 19 | |
| 20 | Board Connectors: |
| 21 | "Headphone Left" |
| 22 | "Headphone Right" |
| 23 | "Earphone" |
| 24 | "Line Out1" |
| 25 | "Line Out2" |
| 26 | "Line Out3" |
| 27 | "Line Out4" |
| 28 | "Analog Mic1" |
| 29 | "Analog Mic2" |
| 30 | "Analog Mic3" |
| 31 | "Analog Mic4" |
| 32 | "Analog Mic5" |
| 33 | "Analog Mic6" |
| 34 | "Digital Mic2" |
| 35 | "Digital Mic3" |
| 36 | |
| 37 | Audio pins and MicBias on WCD9335 Codec: |
| 38 | "MIC_BIAS1" |
| 39 | "MIC_BIAS2" |
| 40 | "MIC_BIAS3" |
| 41 | "MIC_BIAS4" |
| 42 | "AMIC1" |
| 43 | "AMIC2" |
| 44 | "AMIC3" |
| 45 | "AMIC4" |
| 46 | "AMIC5" |
| 47 | "AMIC6" |
| 48 | "AMIC6" |
| 49 | "DMIC1" |
| 50 | "DMIC2" |
| 51 | "DMIC3" |
| 52 | |
| 53 | - model: |
| 54 | Usage: required |
| 55 | Value type: <stringlist> |
| 56 | Definition: The user-visible name of this sound card. |
| 57 | |
| 58 | - aux-devs |
| 59 | Usage: optional |
| 60 | Value type: <array of phandles> |
| 61 | Definition: A list of phandles for auxiliary devices (e.g. analog |
| 62 | amplifiers) that do not appear directly within the DAI |
| 63 | links. Should be connected to another audio component |
| 64 | using "audio-routing". |
| 65 | |
| 66 | = dailinks |
| 67 | Each subnode of sndcard represents either a dailink, and subnodes of each |
| 68 | dailinks would be cpu/codec/platform dais. |
| 69 | |
| 70 | - link-name: |
| 71 | Usage: required |
| 72 | Value type: <string> |
| 73 | Definition: User friendly name for dai link |
| 74 | |
| 75 | = CPU, PLATFORM, CODEC dais subnodes |
| 76 | - cpu: |
| 77 | Usage: required |
| 78 | Value type: <subnode> |
| 79 | Definition: cpu dai sub-node |
| 80 | |
| 81 | - codec: |
| 82 | Usage: Optional |
| 83 | Value type: <subnode> |
| 84 | Definition: codec dai sub-node |
| 85 | |
| 86 | - platform: |
| 87 | Usage: Optional |
| 88 | Value type: <subnode> |
| 89 | Definition: platform dai sub-node |
| 90 | |
| 91 | - sound-dai: |
| 92 | Usage: required |
| 93 | Value type: <phandle with arguments> |
| 94 | Definition: dai phandle/s and port of CPU/CODEC/PLATFORM node. |
| 95 | |
| 96 | Obsolete: |
| 97 | qcom,model: String for soundcard name (Use model instead) |
| 98 | qcom,audio-routing: A list of the connections between audio components. |
| 99 | (Use audio-routing instead) |
| 100 | |
| 101 | Example: |
| 102 | |
| 103 | audio { |
| 104 | compatible = "qcom,apq8096-sndcard"; |
| 105 | model = "DB820c"; |
| 106 | |
| 107 | mm1-dai-link { |
| 108 | link-name = "MultiMedia1"; |
| 109 | cpu { |
| 110 | sound-dai = <&q6asmdai MSM_FRONTEND_DAI_MULTIMEDIA1>; |
| 111 | }; |
| 112 | }; |
| 113 | |
| 114 | hdmi-dai-link { |
| 115 | link-name = "HDMI Playback"; |
| 116 | cpu { |
| 117 | sound-dai = <&q6afe HDMI_RX>; |
| 118 | }; |
| 119 | |
| 120 | platform { |
| 121 | sound-dai = <&q6adm>; |
| 122 | }; |
| 123 | |
| 124 | codec { |
| 125 | sound-dai = <&hdmi 0>; |
| 126 | }; |
| 127 | }; |
| 128 | }; |