| Qualcomm Technologies, Inc. Audio devices for ALSA sound SoC |
| |
| * msm-pcm |
| |
| Required properties: |
| |
| - compatible : "qcom,msm-pcm-dsp" |
| |
| - qcom,msm-pcm-dsp-id : device node id |
| |
| * msm-pcm-low-latency |
| |
| Required properties: |
| |
| - compatible : "qcom,msm-pcm-dsp" |
| |
| - qcom,msm-pcm-dsp-id : device node id |
| |
| Optional properties: |
| |
| - qcom,msm-pcm-low-latency : Flag indicating whether |
| the device node is of type low latency. |
| |
| - qcom,latency-level : Flag indicating whether the device node |
| is of type regular low latency or ultra |
| low latency. |
| regular : regular low latency stream |
| ultra : ultra low latency stream |
| ull-pp : ultra low latency stream with post-processing capability |
| |
| * msm-pcm-dsp-noirq |
| |
| Required properties: |
| |
| - compatible : "qcom,msm-pcm-dsp-noirq"; |
| |
| Optional properties: |
| |
| - qcom,msm-pcm-low-latency : Flag indicating whether |
| the device node is of type low latency. |
| |
| - qcom,latency-level : Flag indicating whether the device node |
| is of type low latency or ultra low latency |
| ultra : ultra low latency stream |
| ull-pp : ultra low latency stream with post-processing capability |
| * msm-pcm-routing |
| |
| Required properties: |
| |
| - compatible : "qcom,msm-pcm-routing" |
| |
| * msm-pcm-lpa |
| |
| Required properties: |
| |
| - compatible : "qcom,msm-pcm-lpa" |
| |
| * msm-compr-dsp |
| |
| Required properties: |
| |
| - compatible : "qcom,msm-compr-dsp" |
| |
| * msm-compress-dsp |
| |
| Required properties: |
| |
| - compatible : "qcom,msm-compress-dsp" |
| |
| Optional properties: |
| - qcom,adsp-version: |
| This property can be used to specify the ADSP version/name. |
| Based on ADSP version, we decide if we have to use older |
| ADSP APIs or newer. Right now we are adding "MDSP 1.2" for |
| 8909 purpose. If the ADSP version is anything other than this |
| we use new ADSP APIs. |
| |
| * msm-voip-dsp |
| |
| Required properties: |
| |
| - compatible : "qcom,msm-voip-dsp" |
| |
| * msm-pcm-voice |
| |
| Required properties: |
| |
| - compatible : "qcom,msm-pcm-voice" |
| - qcom,destroy-cvd : Flag indicating whether to destroy cvd at |
| the end of call for low memory targets |
| |
| * msm-voice-host-pcm |
| |
| Required properties: |
| |
| - compatible : "qcom,msm-voice-host-pcm" |
| |
| * msm-voice-svc |
| |
| Required properties: |
| |
| - compatible : "qcom,msm-voice-svc" |
| |
| * msm-stub-codec |
| |
| Required properties: |
| |
| - compatible : "qcom,msm-stub-codec" |
| |
| * msm-hdmi-dba-codec-rx |
| |
| Required properties: |
| |
| - compatible : "qcom,msm-hdmi-dba-codec-rx" |
| - qcom,dba-bridge-chip: String info to indicate which bridge-chip |
| is used for HDMI using DBA. |
| |
| * msm-dai-fe |
| |
| Required properties: |
| |
| - compatible : "qcom,msm-dai-fe" |
| |
| * msm-pcm-afe |
| |
| Required properties: |
| |
| - compatible : "qcom,msm-pcm-afe" |
| |
| * msm-pcm-dtmf |
| |
| Required properties: |
| |
| - compatible : "qcom,msm-pcm-dtmf" |
| - qcom,msm-pcm-dtmf : Enable DTMF driver in Audio. DTMF driver is |
| used for generation and detection of DTMF tones, when user is in |
| active voice call. APR commands are sent from DTMF driver to ADSP. |
| |
| * msm-dai-stub |
| |
| [First Level Nodes] |
| |
| Required properties: |
| |
| - compatible : "msm-dai-stub" |
| |
| [Second Level Nodes] |
| |
| Required properties: |
| |
| - compatible : "qcom,msm-dai-stub-dev" |
| - qcom,msm-dai-stub-dev-id : Stub dai port ID value is from 0 to 3. |
| This enables stub CPU dai in Audio. The stub dai is used when |
| there is no real backend in Audio. |
| |
| * msm-dai-q6-spdif |
| |
| Optional properties: |
| |
| - compatible : "msm-dai-q6-spdif" |
| |
| * msm-dai-q6-hdmi |
| |
| Required properties: |
| - compatible : "msm-dai-q6-hdmi" |
| - qcom,msm-dai-q6-dev-id : The hdmi multi channel port ID. |
| It is passed onto the dsp from the apps to form an audio |
| path to the HDMI device. Currently the only supported value |
| is 8, which indicates the rx path used for audio playback |
| on HDMI device. |
| |
| * msm-lsm-client |
| |
| Required properties: |
| |
| - compatible : "qcom,msm-lsm-client" |
| |
| * msm-pcm-loopback |
| |
| Required properties: |
| |
| - compatible : "qcom,msm-pcm-loopback" |
| |
| Optional properties: |
| |
| - qcom,msm-pcm-loopback-low-latency : Flag indicating whether |
| the device node is of type low latency. |
| |
| * msm-transcode-loopback |
| |
| Required properties: |
| |
| - compatible : "qcom,msm-transcode-loopback" |
| |
| * msm-dai-q6 |
| |
| [First Level Nodes] |
| |
| Required properties: |
| |
| - compatible : "msm-dai-q6" |
| |
| Optional properties: |
| |
| - qcom,ext-spk-amp-supply : External speaker amplifier power supply. |
| - qcom,ext-spk-amp-gpio : External speaker amplifier enable signal. |
| |
| [Second Level Nodes] |
| |
| Required properties: |
| |
| - compatible : "qcom,msm-dai-q6-dev" |
| - qcom,msm-dai-q6-dev-id : The slimbus multi channel port ID |
| Value is from 16384 to 16397. |
| BT SCO port ID value from 12288 to 12289. |
| RT Proxy port ID values from 224 to 225 and 240 to |
| 241. |
| FM Rx and TX port ID values from 12292 to 12293. |
| incall record Rx and TX port ID values from 32771 to 32772. |
| inCall Music Delivery port ID is 32773. |
| incall Music 2 Delivery port ID is 32770. |
| |
| Optional properties: |
| |
| - qcom,msm-dai-q6-slim-dev-id : The Slimbus HW device (instance) ID associated |
| with Slimbus ports. |
| 0 - Slimbus HW device ID 0 (first instance) |
| 1 - Slimbus HW device ID 1 (second instance) |
| |
| * msm_dai_cdc_dma |
| |
| [First Level Nodes] |
| |
| Required properties: |
| |
| - compatible : "qcom,msm-dai-cdc-dma" |
| |
| [Second Level Nodes] |
| |
| Required properties: |
| |
| - compatible : "qcom,msm-dai-cdc-dma-dev" |
| - qcom,msm-dai-cdc-dma-dev-id : WSA codec dma port ID |
| Value is from 45056 to 45061. |
| VA codec dma port ID Value is from 45089 to 45091. |
| RX and TX codec dma port ID values from 45120 |
| to 45135. |
| |
| Optional properties: |
| |
| - qcom,msm-dai-is-island-supported: Defines whether this dai supported in |
| island mode or not. |
| 0 - Unsupported |
| 1 - Supported |
| |
| - qcom,msm-dai-cdc-dma-dev-id: Indicate how data is packed within |
| codec DMA. |
| 0 - MSB |
| 1 - LSB |
| * msm-auxpcm |
| |
| Required properties: |
| |
| - compatible : "qcom,msm-auxpcm-dev" |
| |
| - qcom,msm-cpudai-auxpcm-mode: mode information. The first value is |
| for 8khz mode, the second is for |
| 16khz |
| 0 - for PCM |
| |
| - qcom,msm-cpudai-auxpcm-sync: sync information. The first value is |
| for 8khz mode, the second is for |
| 16khz |
| |
| - qcom,msm-cpudai-auxpcm-frame: No.of bytes per frame. The first |
| value is for 8khz mode, the second |
| is for 16khz |
| 5 - 256BPF |
| 4 - 128BPF |
| |
| - qcom,msm-cpudai-auxpcm-quant: Type of quantization. The first |
| value is for 8khz mode, the second |
| is for 16khz |
| 2 - Linear quantization |
| |
| - qcom,msm-cpudai-auxpcm-num-slots: Number of slots per mode in the |
| msm-cpudai-auxpcm-slot-mapping |
| array. |
| The first value is for 8khz mode, the |
| second is for 16khz. Max number of |
| slots supported by DSP is 4, anything |
| above 4 will be truncated to 4 when |
| sent to DSP. |
| |
| - qcom,msm-cpudai-auxpcm-slot-mapping: Array of slot numbers for multi |
| slot scenario. The first array |
| is for 8khz mode, the second is |
| for 16khz. The size of the array |
| is determined by the value in |
| qcom,msm-cpudai-auxpcm-num-slots |
| |
| - qcom,msm-cpudai-auxpcm-data: Data field - 0. The first value is |
| for 8khz mode, the second is for |
| 16khz |
| |
| - qcom,msm-cpudai-auxpcm-pcm-clk-rate: Clock rate for pcm - 2048000. The |
| first value is for 8khz mode, the |
| second is for 16KHz mode. When clock |
| rate is set to zero, then external |
| clock is assumed. |
| |
| - qcom,msm-auxpcm-interface: name of AUXPCM interface "primary" |
| indicates primary AUXPCM interface |
| "secondary" indicates secondary |
| AUXPCM interface |
| Optional properties: |
| |
| - pinctrl-names: Pinctrl state names for each pin |
| group configuration. |
| - pinctrl-x: Defines pinctrl state for each pin |
| group |
| - qcom,msm-cpudai-afe-clk-ver: Indicates version of AFE clock |
| interface to be used for enabling |
| PCM clock. If not defined, selects |
| default AFE clock interface. |
| - qcom,msm-dai-is-island-supported: Defines whether this dai supported in |
| island mode or not. |
| 0 - Unsupported |
| 1 - Supported |
| |
| * msm-pcm-hostless |
| |
| Required properties: |
| |
| - compatible : "qcom,msm-pcm-hostless" |
| |
| * msm-audio-apr |
| |
| Required properties: |
| |
| - compatible : "qcom,msm-audio-apr" |
| This device is added to represent APR module. |
| |
| - qcom,subsys-name: This value provides the subsystem name where codec |
| is present. It can be "apr_modem" or "apr_adsp". This |
| property enable apr driver to receive subsystem up/down |
| notification from modem/adsp. |
| |
| * Bolero codec |
| |
| Required properties: |
| |
| - compatible : "qcom,bolero-codec" |
| This device is added to represent bolero codec. |
| |
| Optional properties: |
| - qcom,bolero-version: Provides info relating to bolero version. |
| |
| * LPASS digital codec |
| |
| Required properties: |
| |
| - compatible : "qcom,lpass-cdc" |
| This device is added to represent LPASS digital codec. |
| |
| Optional properties: |
| - qcom,lpass-cdc-version: Provides info relating to LPASS codec version. |
| |
| * msm-ocmem-audio |
| |
| Required properties: |
| |
| - compatible : "qcom,msm-ocmem-audio" |
| |
| - qcom,msm_bus,name: Client name |
| |
| - qcom,msm_bus,num_cases: Total number of use cases |
| |
| - qcom,msm_bus,active_only: Context flag for requests in active |
| or dual (active & sleep) contex |
| |
| - qcom,msm_bus,num_paths: Total number of master-slave pairs |
| |
| - qcom,msm_bus,vectors: Arrays of unsigned integers |
| representing: |
| master-id, slave-id, arbitrated |
| bandwidth, |
| instantaneous bandwidth |
| * wcd9xxx_intc |
| |
| Required properties: |
| |
| - compatible : "qcom,wcd9xxx-irq" |
| |
| - interrupt-controller : Mark this device node as an |
| interrupt controller |
| |
| - #interrupt-cells : Should be 1 |
| |
| - interrupt-parent : Parent interrupt controller |
| |
| - qcom,gpio-connect Gpio that connects to parent |
| interrupt controller |
| |
| * audio-ext-clk-up |
| |
| Required properties: |
| |
| - compatible : "qcom,audio-ref-clk" |
| |
| - qcom,codec-ext-clk-src: Clock source type like PMIC, LPASS |
| requested to enable reference |
| or external clock. |
| |
| Optional properties: |
| |
| - qcom,codec-lpass-ext-clk-freq: Property used to specify frequency. |
| |
| - qcom,codec-lpass-clk-id: Property used to specify LPASS clock |
| ID value. |
| |
| - clock-names: Name of the PMIC clock that needs |
| to be enabled for audio ref clock. |
| This clock is set as parent. |
| |
| - clocks: phandle reference to the parent |
| clock. |
| |
| - qcom,mclk-clk-reg: Indicate the register address for mclk. |
| |
| - qcom,use-pinctrl: Indicates pinctrl required or not for this |
| clock node. |
| |
| * audio_slimslave |
| |
| Required properties: |
| |
| - compatible : "qcom,audio-slimslave" |
| |
| - elemental-addr: slimbus slave enumeration address. |
| |
| * msm-cpe-lsm |
| |
| Required properties: |
| |
| - compatible : "qcom,msm-cpe-lsm" |
| - qcom,msm-cpe-lsm-id : lsm afe port ID. CPE lsm driver uses |
| this property to find out the input afe port ID. Currently |
| only supported values are 1 and 3. |
| |
| * wcd_us_euro_gpio |
| |
| Required properties: |
| |
| - compatible : "qcom,msm-cdc-pinctrl" |
| |
| Optional properties: |
| - qcom,lpi-gpios : This boolean property is added if GPIOs are under |
| LPI TLMM. |
| - qcom,chip-wakeup-reg : This lists registers related to control interrupt mask |
| for respective LPI TLMM GPIOs. |
| - qcom,chip-wakeup-maskbit : This gives info on maskbit for given list of registers. |
| - qcom,chip-wakeup-default-val : This gives info on default value to be updated |
| for given chip regs. |
| |
| * msm-dai-slim |
| |
| Required properties: |
| |
| - compatible : "qcom,msm-dai-slim" |
| |
| - elemental-addr: slimbus slave enumeration address. |
| |
| * wcd_gpio_ctrl |
| |
| Required properties: |
| |
| - compatible : "qcom,msm-cdc-pinctrl" |
| |
| - qcom,cdc-rst-n-gpio : TLMM GPIO number |
| |
| - pinctrl-names: Pinctrl state names for each pin |
| group configuration. |
| - pinctrl-x: Defines pinctrl state for each pin |
| group. |
| * msm_cdc_pinctrl |
| |
| Required properties: |
| |
| - compatible : "qcom,msm-cdc-pinctrl" |
| |
| - pinctrl-names: Pinctrl state names for each pin |
| group configuration. |
| - pinctrl-x: Defines pinctrl state for each pin |
| group. |
| |
| * wcd_dsp_glink |
| |
| Required properties: |
| |
| - compatible : "qcom,wcd-dsp-glink" |
| - qcom,wdsp-channels: List of wdsp supported channel names. |
| |
| * msm_ext_disp_audio_codec_rx |
| |
| Required properties: |
| |
| - compatible : "qcom,msm-ext-disp-audio-codec-rx" |
| |
| Example: |
| |
| qcom,msm-pcm { |
| compatible = "qcom,msm-pcm-dsp"; |
| qcom,msm-pcm-dsp-id = <0>; |
| }; |
| |
| qcom,msm-pcm-low-latency { |
| compatible = "qcom,msm-pcm-dsp"; |
| qcom,msm-pcm-dsp-id = <1>; |
| qcom,msm-pcm-low-latency; |
| }; |
| |
| qcom,msm-pcm-loopback-low-latency { |
| compatible = "qcom,msm-pcm-loopback"; |
| qcom,msm-pcm-loopback-low-latency; |
| }; |
| |
| qcom,msm-pcm-routing { |
| compatible = "qcom,msm-pcm-routing"; |
| }; |
| |
| qcom,msm-pcm-lpa { |
| compatible = "qcom,msm-pcm-lpa"; |
| }; |
| |
| qcom,msm-compr-dsp { |
| compatible = "qcom,msm-compr-dsp"; |
| }; |
| |
| qcom,msm-compress-dsp { |
| compatible = "qcom,msm-compress-dsp"; |
| }; |
| |
| qcom,msm-voip-dsp { |
| compatible = "qcom,msm-voip-dsp"; |
| }; |
| |
| qcom,msm-pcm-voice { |
| compatible = "qcom,msm-pcm-voice"; |
| qcom,destroy-cvd; |
| }; |
| |
| qcom,msm-voice-host-pcm { |
| compatible = "qcom,msm-voice-host-pcm"; |
| }; |
| |
| qcom,msm-stub-codec { |
| compatible = "qcom,msm-stub-codec"; |
| }; |
| |
| qcom,msm-dai-fe { |
| compatible = "qcom,msm-dai-fe"; |
| }; |
| |
| qcom,msm-pcm-dtmf { |
| compatible = "qcom,msm-pcm-dtmf"; |
| }; |
| |
| qcom,msm-dai-stub { |
| compatible = "qcom,msm-dai-stub"; |
| }; |
| |
| qcom,msm-dai-q6-spdif { |
| compatible = "qcom,msm-dai-q6-spdif"; |
| }; |
| |
| qcom,msm-dai-q6-hdmi { |
| compatible = "qcom,msm-dai-q6-hdmi"; |
| qcom,msm-dai-q6-dev-id = <8>; |
| }; |
| |
| dai_dp: qcom,msm-dai-q6-dp { |
| compatible = "qcom,msm-dai-q6-hdmi"; |
| qcom,msm-dai-q6-dev-id = <24608>; |
| }; |
| |
| qcom,msm-dai-q6 { |
| compatible = "qcom,msm-dai-q6"; |
| qcom,msm-dai-q6-sb-0-rx { |
| compatible = "qcom,msm-dai-q6-dev"; |
| qcom,msm-dai-q6-dev-id = <16384>; |
| qcom,msm-dai-q6-slim-dev-id = <0>; |
| }; |
| |
| qcom,msm-dai-q6-sb-0-tx { |
| compatible = "qcom,msm-dai-q6-dev"; |
| qcom,msm-dai-q6-dev-id = <16385>; |
| }; |
| |
| qcom,msm-dai-q6-sb-1-rx { |
| compatible = "qcom,msm-dai-q6-dev"; |
| qcom,msm-dai-q6-dev-id = <16386>; |
| }; |
| |
| qcom,msm-dai-q6-sb-1-tx { |
| compatible = "qcom,msm-dai-q6-dev"; |
| qcom,msm-dai-q6-dev-id = <16387>; |
| }; |
| |
| qcom,msm-dai-q6-sb-3-rx { |
| compatible = "qcom,msm-dai-q6-dev"; |
| qcom,msm-dai-q6-dev-id = <16390>; |
| }; |
| |
| qcom,msm-dai-q6-sb-3-tx { |
| compatible = "qcom,msm-dai-q6-dev"; |
| qcom,msm-dai-q6-dev-id = <16391>; |
| }; |
| |
| qcom,msm-dai-q6-sb-4-rx { |
| compatible = "qcom,msm-dai-q6-dev"; |
| qcom,msm-dai-q6-dev-id = <16392>; |
| }; |
| |
| qcom,msm-dai-q6-sb-4-tx { |
| compatible = "qcom,msm-dai-q6-dev"; |
| qcom,msm-dai-q6-dev-id = <16393>; |
| }; |
| |
| qcom,msm-dai-q6-sb-5-tx { |
| compatible = "qcom,msm-dai-q6-dev"; |
| qcom,msm-dai-q6-dev-id = <16395>; |
| }; |
| |
| qcom,msm-dai-q6-sb-6-rx { |
| compatible = "qcom,msm-dai-q6-dev"; |
| qcom,msm-dai-q6-dev-id = <16396>; |
| }; |
| |
| qcom,msm-dai-q6-sb-6-tx { |
| compatible = "qcom,msm-dai-q6-dev"; |
| qcom,msm-dai-q6-dev-id = <16397>; |
| }; |
| |
| qcom,msm-dai-q6-bt-sco-rx { |
| compatible = "qcom,msm-dai-q6-dev"; |
| qcom,msm-dai-q6-dev-id = <12288>; |
| }; |
| |
| qcom,msm-dai-q6-bt-sco-tx { |
| compatible = "qcom,msm-dai-q6-dev"; |
| qcom,msm-dai-q6-dev-id = <12289>; |
| }; |
| |
| qcom,msm-dai-q6-int-fm-rx { |
| compatible = "qcom,msm-dai-q6-dev"; |
| qcom,msm-dai-q6-dev-id = <12292>; |
| }; |
| |
| qcom,msm-dai-q6-int-fm-tx { |
| compatible = "qcom,msm-dai-q6-dev"; |
| qcom,msm-dai-q6-dev-id = <12293>; |
| }; |
| |
| qcom,msm-dai-q6-be-afe-pcm-rx { |
| compatible = "qcom,msm-dai-q6-dev"; |
| qcom,msm-dai-q6-dev-id = <224>; |
| }; |
| |
| qcom,msm-dai-q6-be-afe-pcm-tx { |
| compatible = "qcom,msm-dai-q6-dev"; |
| qcom,msm-dai-q6-dev-id = <225>; |
| }; |
| |
| qcom,msm-dai-q6-afe-proxy-rx { |
| compatible = "qcom,msm-dai-q6-dev"; |
| qcom,msm-dai-q6-dev-id = <241>; |
| }; |
| |
| qcom,msm-dai-q6-afe-proxy-tx { |
| compatible = "qcom,msm-dai-q6-dev"; |
| qcom,msm-dai-q6-dev-id = <240>; |
| }; |
| |
| qcom,msm-dai-q6-incall-record-rx { |
| compatible = "qcom,msm-dai-q6-dev"; |
| qcom,msm-dai-q6-dev-id = <32771>; |
| }; |
| |
| qcom,msm-dai-q6-incall-record-tx { |
| compatible = "qcom,msm-dai-q6-dev"; |
| qcom,msm-dai-q6-dev-id = <32772>; |
| }; |
| |
| qcom,msm-dai-q6-incall-music-rx { |
| compatible = "qcom,msm-dai-q6-dev"; |
| qcom,msm-dai-q6-dev-id = <32773>; |
| }; |
| |
| qcom,msm-dai-q6-incall-music-2-rx { |
| compatible = "qcom,msm-dai-q6-dev"; |
| qcom,msm-dai-q6-dev-id = <32770>; |
| }; |
| }; |
| |
| qcom,msm-pri-auxpcm { |
| qcom,msm-cpudai-auxpcm-mode = <1>, <1>; |
| qcom,msm-cpudai-auxpcm-sync = <1>, <1>; |
| qcom,msm-cpudai-auxpcm-frame = <5>, <4>; |
| qcom,msm-cpudai-auxpcm-quant = <2>, <2>; |
| qcom,msm-cpudai-auxpcm-num-slots = <4>, <4>; |
| qcom,msm-cpudai-auxpcm-slot-mapping = <1 0 0 0>, <1 3 0 0>; |
| qcom,msm-cpudai-auxpcm-data = <0>, <0>; |
| qcom,msm-cpudai-auxpcm-pcm-clk-rate = <2048000>, <2048000>; |
| qcom,msm-auxpcm-interface = "primary"; |
| compatible = "qcom,msm-auxpcm-dev"; |
| pinctrl-names = "default", "idle"; |
| pinctrl-0 = <&pri_aux_pcm_active &pri_aux_pcm_din_active>; |
| pinctrl-1 = <&pri_aux_pcm_sleep &pri_aux_pcm_din_sleep>; |
| }; |
| |
| qcom,msm-pcm-hostless { |
| compatible = "qcom,msm-pcm-hostless"; |
| }; |
| |
| audio_apr: qcom,msm-audio-apr { |
| compatible = "qcom,msm-audio-apr"; |
| qcom,subsys-name = "apr_adsp"; |
| q6core { |
| compatible = "qcom,q6core-audio"; |
| bolero: bolero-cdc { |
| compatible = "qcom,bolero-codec"; |
| }; |
| }; |
| }; |
| |
| qcom,msm-ocmem-audio { |
| compatible = "qcom,msm-ocmem-audio"; |
| qcom,msm_bus,name = "audio-ocmem"; |
| qcom,msm_bus,num_cases = <2>; |
| qcom,msm_bus,active_only = <0>; |
| qcom,msm_bus,num_paths = <1>; |
| qcom,msm_bus,vectors = |
| <11 604 0 0>, |
| <11 604 32505856 325058560>; |
| }; |
| |
| wcd9xxx_intc: wcd9xxx-irq { |
| compatible = "qcom,wcd9xxx-irq"; |
| interrupt-controller; |
| #interrupt-cells = <1>; |
| interrupt-parent = <&msmgpio>; |
| interrupts = <72 0>; |
| interrupt-names = "cdc-int"; |
| }; |
| |
| clock_audio: audio_ext_clk { |
| compatible = "qcom,audio-ref-clk"; |
| qcom,codec-ext-clk-src = <2>; |
| qcom,codec-lpass-ext-clk-freq = <19200000>; |
| qcom,codec-lpass-clk-id = <1>; |
| clock-names = "osr_clk"; |
| clocks = <&clock_rpm clk_div_clk1>; |
| #clock-cells = <1>; |
| pinctrl-names = "sleep", "active"; |
| pinctrl-0 = <&spkr_i2s_clk_sleep>; |
| pinctrl-1 = <&spkr_i2s_clk_active>; |
| }; |
| |
| audio_slimslave { |
| compatible = "qcom,audio-slimslave"; |
| elemental-addr = [ff ff ff ff 17 02]; |
| }; |
| |
| msm_dai_slim { |
| compatible = "qcom,msm_dai_slim"; |
| elemental-addr = [ff ff ff fe 17 02]; |
| }; |
| |
| wcd_gpio_ctrl { |
| compatible = "qcom,msm-cdc-pinctrl"; |
| qcom,cdc-rst-n-gpio = <&tlmm 64 0>; |
| pinctrl-names = "aud_active", "aud_sleep"; |
| pinctrl-0 = <&cdc_reset_active>; |
| pinctrl-1 = <&cdc_reset_sleep>; |
| }; |
| |
| msm_cdc_pinctrl { |
| compatible = "qcom,msm-cdc-pinctrl"; |
| pinctrl-names = "aud_active", "aud_sleep"; |
| pinctrl-0 = <&cdc_reset_active>; |
| pinctrl-1 = <&cdc_reset_sleep>; |
| }; |
| |
| wcd_dsp_glink { |
| compatible = "qcom,wcd-dsp-glink"; |
| }; |
| |
| msm_ext_disp_audio_codec_rx { |
| compatible = "qcom,msm-ext-disp-audio-codec-rx"; |
| }; |
| |
| * msm-dai-mi2s |
| |
| [First Level Nodes] |
| |
| Required properties: |
| |
| - compatible : "msm-dai-mi2s" |
| |
| [Second Level Nodes] |
| |
| Required properties: |
| |
| - compatible : "qcom,msm-dai-q6-mi2s" |
| - qcom,msm-dai-q6-mi2s-dev-id: MSM or MDM can use Slimbus or I2S interface to |
| transfer data to (WCD9XXX) codec. |
| If slimbus interface is used then "msm-dai-q6" |
| needs to be filled with correct data for |
| slimbus interface. |
| The sections "msm-dai-mi2s" is used by MDM or |
| MSM to use I2S interface with codec. |
| This section is used by CPU driver in ASOC MSM |
| to configure MI2S interface. MSM internally |
| has multiple MI2S namely Primary, Secondary, |
| Tertiary and Quaternary MI2S. |
| They are represented with id 0, 1, 2, 3 |
| respectively. |
| The field "qcom,msm-dai-q6-mi2s-dev-id" |
| represents which of the MI2S block is used. |
| These MI2S are connected to I2S interface. |
| |
| - qcom,msm-mi2s-rx-lines: Each MI2S interface in MSM has one or more SD |
| lines. These lines are used for data transfer |
| between codec and MSM. |
| This element in indicates which output RX lines |
| are used in the MI2S interface. |
| |
| - qcom,msm-mi2s-tx-lines: Each MI2S interface in MSM has one or more SD |
| lines. These lines are used for data transfer |
| between codec and MSM. |
| This element in indicates which input TX lines |
| are used in the MI2S interface. |
| |
| Optional properties: |
| |
| - pinctrl-names: Pinctrl state names for each pin group |
| configuration. |
| - pinctrl-x: Defines pinctrl state for each pin group |
| - qcom,msm-dai-is-island-supported: Defines whether this dai supported in |
| island mode or not. |
| 0 - Unsupported |
| 1 - Supported |
| |
| Example: |
| |
| qcom,msm-dai-mi2s { |
| compatible = "qcom,msm-dai-mi2s"; |
| qcom,msm-dai-q6-mi2s-prim { |
| compatible = "qcom,msm-dai-q6-mi2s"; |
| qcom,msm-dai-q6-mi2s-dev-id = <0>; |
| qcom,msm-mi2s-rx-lines = <2>; |
| qcom,msm-mi2s-tx-lines = <1>; |
| pinctrl-names = "default", "idle"; |
| pinctrl-0 = <&tert_mi2s_active &tert_mi2s_sd0_active>; |
| pinctrl-1 = <&tert_mi2s_sleep &tert_mi2s_sd0_sleep>; |
| }; |
| }; |
| |
| * msm-dai-spdif |
| |
| [First Level Nodes] |
| |
| Required properties: |
| |
| - compatible : "msm-dai-spdif" |
| |
| [Second Level Nodes] |
| |
| Required properties: |
| |
| - compatible : "qcom,msm-dai-q6-spdif" |
| - qcom,msm-dai-q6-dev-id: The SPDIF port ID |
| Value is from 20480 to 20483. |
| |
| Example: |
| |
| qcom,msm-dai-spdif { |
| compatible = "qcom,msm-dai-spdif"; |
| qcom,msm-dai-q6-spdif-pri-rx { |
| compatible = "qcom,msm-dai-q6-spdif"; |
| qcom,msm-dai-q6-dev-id = <20480>; |
| }; |
| }; |
| |
| * msm-adsp-loader |
| |
| Required properties: |
| - compatible : "qcom,adsp-loader" |
| - qcom,rproc-handle: |
| remoteproc handler is used to load ADSP image at boot. |
| - qcom,adsp-state: |
| It is possible that some MSM use PIL to load the ADSP image. While |
| other MSM may use SBL to load the ADSP image at boot. Audio APR needs |
| state of ADSP to register and enable APR to be used for sending commands |
| to ADSP. so adsp-state represents the state of ADSP to ADSP loader. |
| Value of 0 indicates ADSP loader needs to use PIL and value of 2 means |
| ADSP image is already loaded by SBL. |
| |
| Example: |
| |
| qcom,msm-adsp-loader { |
| status = "ok"; |
| compatible = "qcom,adsp-loader"; |
| qcom,rproc-handle = <&adsp_pas>; |
| qcom,adsp-state = <0>; |
| }; |
| |
| * msm-adsp_notify |
| |
| Required properties: |
| - compatible : "qcom,adsp_notify" |
| - qcom,rproc-handle: |
| remoteproc handler is used to get subsystem domain name. |
| |
| Example: |
| |
| adsp_notify: qcom,msm-adsp-notify { |
| status = "ok"; |
| compatible = "qcom,adsp-notify"; |
| qcom,rproc-handle = <&adsp_pas>; |
| }; |
| |
| * msm-audio-ion |
| |
| Required properties: |
| - compatible : "qcom,msm-audio-ion" |
| |
| Optional properties: |
| - qcom,smmu-version: |
| version ID to provide info regarding smmu version |
| used in chipset. If ARM SMMU HW - use id value as 1, |
| If QSMMU HW - use id value as 2. |
| |
| - qcom,smmu-sid-mask: |
| Mask for the Stream ID part of SMMU SID. |
| |
| - qcom,smmu-enabled: |
| It is possible that some MSM have SMMU in ADSP. While other MSM use |
| no SMMU. Audio lib introduce wrapper for ION APIs. The wrapper needs |
| presence of SMMU in ADSP to handle ION APIs differently. |
| Presence of this property means ADSP has SMMU in it. |
| - iommus: |
| A phandle parsed by smmu driver. Number of entries will vary across |
| targets. |
| |
| Example: |
| |
| qcom,msm-audio-ion { |
| compatible = "qcom,msm-audio-ion; |
| qcom,smmu-enabled; |
| }; |
| |
| * msm-audio-ion-cma |
| |
| Required properties: |
| - compatible : "qcom,msm-audio-ion-cma" |
| |
| Example: |
| qcom,msm-audio-ion-cma { |
| compatible = "qcom,msm-audio-ion-cma"; |
| }; |
| |
| * msm-dai-tdm |
| |
| [First Level Nodes] |
| |
| Required properties: |
| |
| - compatible : "qcom,msm-dai-tdm" |
| - qcom,msm-cpudai-tdm-group-id: ID of the group device. TDM interface |
| supports up to 8 groups: |
| Primary RX: 37120 |
| Primary TX: 37121 |
| Secondary RX: 37136 |
| Secondary TX: 37137 |
| Tertiary RX: 37152 |
| Tertiary TX: 37153 |
| Quaternary RX: 37168 |
| Quaternary TX: 37169 |
| |
| - qcom,msm-cpudai-tdm-group-num-ports: Number of ports in |
| msm-cpudai-tdm-group-port-id array. |
| Max number of ports supported by DSP is 8. |
| |
| - qcom,msm-cpudai-tdm-group-port-id: Array of TDM port IDs of the group. |
| The size of the array is determined by |
| the value in msm-cpudai-tdm-group-num-ports. |
| Each group supports up to 8 ports: |
| Primary RX: 36864, 36866, 36868, 36870, |
| 36872, 36874, 36876, 36878 |
| Primary TX: 36865, 36867, 36869, 36871, |
| 36873, 36875, 36877, 36879 |
| Secondary RX: 36880, 36882, 36884, 36886, |
| 36888, 36890, 36892, 36894 |
| Secondary TX: 36881, 36883, 36885, 36887, |
| 36889, 36891, 36893, 36895 |
| Tertiary RX: 36896, 36898, 36900, 36902, |
| 36904, 36906, 36908, 36910 |
| Tertiary TX: 36897, 36899, 36901, 36903, |
| 36905, 36907, 36909, 36911 |
| Quaternary RX: 36912, 36914, 36916, 36918, |
| 36920, 36922, 36924, 36926 |
| Quaternary TX: 36913, 36915, 36917, 36919, |
| 36921, 36923, 36925, 36927 |
| |
| - qcom,msm-cpudai-tdm-clk-rate: Clock rate for tdm - 12288000. |
| When clock rate is set to zero, |
| then external clock is assumed. |
| |
| - qcom,msm-cpudai-tdm-clk-internal: Clock Source. |
| 0 - EBIT clock from clk tree |
| 1 - IBIT clock from clk tree |
| |
| - qcom,msm-cpudai-tdm-sync-mode: Synchronization setting. |
| 0 - Short sync bit mode |
| 1 - Long sync mode |
| 2 - Short sync slot mode |
| |
| - qcom,msm-cpudai-tdm-sync-src: Synchronization source. |
| 0 - External source |
| 1 - Internal source |
| |
| - qcom,msm-cpudai-tdm-data-out: Data out signal to drive with other masters. |
| 0 - Disable |
| 1 - Enable |
| |
| - qcom,msm-cpudai-tdm-invert-sync: Invert the sync. |
| 0 - Normal |
| 1 - Invert |
| |
| - qcom,msm-cpudai-tdm-data-delay: Number of bit clock to delay data |
| with respect to sync edge. |
| 0 - 0 bit clock cycle |
| 1 - 1 bit clock cycle |
| 2 - 2 bit clock cycle |
| |
| [Second Level Nodes] |
| |
| Required properties: |
| |
| - compatible : "qcom,msm-dai-q6-tdm" |
| - qcom,msm-dai-q6-mi2s-dev-id: TDM port ID. |
| |
| - qcom,msm-cpudai-tdm-data-align: Indicate how data is packed |
| within the slot. For example, 32 slot width in case of |
| sample bit width is 24. |
| 0 - MSB |
| 1 - LSB |
| |
| Optional properties: |
| |
| - qcom,msm-cpudai-tdm-header-start-offset: TDM Custom header start offset |
| in bytes from this sub-frame. The bytes is counted from 0. |
| 0 is mapped to the 1st byte in or out of |
| the digital serial data line this sub-frame belong to. |
| Supported value: 0, 4, 8. |
| |
| - qcom,msm-cpudai-tdm-header-width: Header width per frame followed. |
| 2 bytes for MOST/TDM case. |
| Supported value: 2. |
| |
| - qcom,msm-cpudai-tdm-header-num-frame-repeat: Number of header followed. |
| Supported value: 8. |
| |
| - pinctrl-names: Pinctrl state names for each pin group |
| configuration. |
| |
| - pinctrl-x: Defines pinctrl state for each pin group. |
| |
| - qcom,msm-dai-is-island-supported: Defines whether this dai supported in |
| island mode or not. |
| 0 - Unsupported |
| 1 - Supported |
| |
| Example: |
| |
| qcom,msm-dai-tdm-quat-rx { |
| compatible = "qcom,msm-dai-tdm"; |
| qcom,msm-cpudai-tdm-group-id = <37168>; |
| qcom,msm-cpudai-tdm-group-num-ports = <1>; |
| qcom,msm-cpudai-tdm-group-port-id = <36912>; |
| qcom,msm-cpudai-tdm-clk-rate = <12288000>; |
| qcom,msm-cpudai-tdm-clk-internal = <1>; |
| qcom,msm-cpudai-tdm-sync-mode = <0>; |
| qcom,msm-cpudai-tdm-sync-src = <1>; |
| qcom,msm-cpudai-tdm-data-out = <0>; |
| qcom,msm-cpudai-tdm-invert-sync = <0>; |
| qcom,msm-cpudai-tdm-data-delay = <0>; |
| pinctrl-names = "default", "sleep"; |
| pinctrl-0 = <&quat_tdm_active &quat_tdm_dout_active>; |
| pinctrl-1 = <&quat_tdm_sleep &quat_tdm_dout_sleep>; |
| dai_quat_tdm_rx_0: qcom,msm-dai-q6-tdm-quat-rx-0 { |
| compatible = "qcom,msm-dai-q6-tdm"; |
| qcom,msm-cpudai-tdm-dev-id = <36912>; |
| qcom,msm-cpudai-tdm-data-align = <0>; |
| qcom,msm-cpudai-tdm-header-start-offset = <0>; |
| qcom,msm-cpudai-tdm-header-width = <2>; |
| qcom,msm-cpudai-tdm-header-num-frame-repeat = <8>; |
| }; |
| }; |
| |
| * MSMSTUB ASoC Machine driver |
| |
| Required properties: |
| - compatible : "qcom,sm8150-asoc-snd-stub" for SM8150 target. |
| - compatible : "qcom,kona-asoc-snd-stub" for Kona target. |
| - qcom,model : The user-visible name of this sound card. |
| - qcom,tasha-mclk-clk-freq : MCLK frequency value for tasha codec |
| - asoc-platform: This is phandle list containing the references to platform device |
| nodes that are used as part of the sound card dai-links. |
| - asoc-platform-names: This property contains list of platform names. The order of |
| the platform names should match to that of the phandle order |
| given in "asoc-platform". |
| - asoc-cpu: This is phandle list containing the references to cpu dai device nodes |
| that are used as part of the sound card dai-links. |
| - asoc-cpu-names: This property contains list of cpu dai names. The order of the |
| cpu dai names should match to that of the phandle order given |
| in "asoc-cpu". The cpu names are in the form of "%s.%d" form, |
| where the id (%d) field represents the back-end AFE port id that |
| this CPU dai is associated with. |
| - asoc-codec: This is phandle list containing the references to codec dai device |
| nodes that are used as part of the sound card dai-links. |
| - asoc-codec-names: This property contains list of codec dai names. The order of the |
| codec dai names should match to that of the phandle order given |
| in "asoc-codec". |
| Optional properties: |
| - qcom,wsa-max-devs : Maximum number of WSA881x devices present in the target |
| |
| Example: |
| |
| sound_stub { |
| compatible = "qcom,sm8150-asoc-snd-stub"; |
| qcom,model = "sm8150-stub-snd-card"; |
| |
| qcom,tasha-mclk-clk-freq = <9600000>; |
| asoc-platform = <&pcm0>; |
| asoc-platform-names = "msm-pcm-dsp.0"; |
| asoc-cpu = <&sb_0_rx>, <&sb_0_tx>; |
| asoc-cpu-names = "msm-dai-q6-dev.16384", "msm-dai-q6-dev.16385"; |
| asoc-codec = <&stub_codec>; |
| asoc-codec-names = "msm-stub-codec.1"; |
| qcom,wsa-max-devs = <0>; |
| }; |
| |
| * WCD DSP manager driver |
| |
| Required properties: |
| - compatible : "qcom,wcd-dsp-mgr" |
| - qcom,wdsp-components : This is phandle list containing the references to the |
| components of the manager driver. Manager driver will |
| register to component framework with these phandles. |
| - qcom,img-filename : String property to provide the dsp image file name that is |
| to be read from file system and downloaded to dsp memory |
| Optional properties: |
| - qcom,wdsp-cmpnt-dev-name : Property that manager driver will parse, but defined |
| in the child's DT entry that is given to manager driver |
| with phandle. This property will be used by the manager |
| driver in case the manager driver cannot match child's |
| of_node pointer to registered phandle. |
| |
| Example: |
| |
| qcom,wcd-dsp-mgr { |
| compatible = "qcom,wcd-dsp-mgr"; |
| qcom,wdsp-components = <&wcd934x_cdc 0>, |
| <&wcd_spi_0 1>, |
| <&glink_spi 2>; |
| qcom,img-filename = "cpe_9340"; |
| }; |
| |
| Example of child node that would have qcom,wdsp-cmpnt-dev-name property |
| |
| wcd934x_cdc: tavil_codec { |
| qcom,wdsp-cmpnt-dev-name = "tavil_codec"; |
| }; |
| |
| * msm-mdf |
| |
| Required properties: |
| - compatible : "qcom,msm-mdf" |
| |
| Optional subnodes: |
| - qcom,msm_mdf_cb : Child nodes representing the compute context banks. |
| |
| Subnode Required properties: |
| - compatible : "qcom,msm-mdf-cb" |
| - label: Label describing the subsystem this context bank belongs to. |
| |
| Subnode Optional properties: |
| - qcom,smmu-enabled: |
| It is possible that some MSM subsystems have SMMU, while other MSM |
| subsystems do not. MDF platform driver needs to handle SMMU APIs |
| differently according to the availability of SMMU. |
| Presence of this property means the subsystem has SMMU in it. |
| - iommus : A list of phandle and IOMMU specifier pairs that describe the |
| IOMMU master interfaces of the device. |
| |
| Example: |
| qcom,msm-mdf { |
| compatible = "qcom,msm-mdf"; |
| |
| qcom,msm_mdf_cb1 { |
| compatible = "qcom,msm-mdf-cb"; |
| label = "adsp"; |
| qcom,smmu-enabled; |
| }; |
| qcom,msm_mdf_cb2 { |
| compatible = "qcom,msm-mdf-cb"; |
| label = "dsps"; |
| }; |
| qcom,msm_mdf_cb3 { |
| compatible = "qcom,msm-mdf-cb"; |
| label = "modem"; |
| }; |
| }; |
| |
| * msm-mdf-mem |
| |
| Required properties: |
| - compatible : "qcom,msm-mdf-mem-region" |
| - qcom,msm-mdf-mem-data-size: indicates the size of memory |
| for MDF purpose |
| - memory-region : CMA region which is owned by this device. |
| |
| Example: |
| qcom,msm-mdf-mem { |
| compatible = "qcom,msm-mdf-mem-region"; |
| memory-region = <&mdf_mem>; |
| }; |
| |
| * SM8150 ASoC Machine driver |
| |
| Required properties: |
| - compatible : "qcom,sm8150-asoc-snd-pahu-aqt" for pahu codec and |
| "qcom,sm8150-asoc-snd-tavil" for tavil codec. |
| - qcom,model : The user-visible name of this sound card. |
| - qcom,pahu-ext-clk-freq : External CLK frequency value for pahu codec |
| - qcom,audio-routing : A list of the connections between audio components. |
| - asoc-platform: This is phandle list containing the references to platform device |
| nodes that are used as part of the sound card dai-links. |
| - asoc-platform-names: This property contains list of platform names. The order of |
| the platform names should match to that of the phandle order |
| given in "asoc-platform". |
| - asoc-cpu: This is phandle list containing the references to cpu dai device nodes |
| that are used as part of the sound card dai-links. |
| - asoc-cpu-names: This property contains list of cpu dai names. The order of the |
| cpu dai names should match to that of the phandle order given |
| in "asoc-cpu". The cpu names are in the form of "%s.%d" form, |
| where the id (%d) field represents the back-end AFE port id that |
| this CPU dai is associated with. |
| - asoc-codec: This is phandle list containing the references to codec dai device |
| nodes that are used as part of the sound card dai-links. |
| - asoc-codec-names: This property contains list of codec dai names. The order of the |
| codec dai names should match to that of the phandle order given |
| in "asoc-codec". |
| Optional properties: |
| - clock-names : clock name defined for external clock. |
| - clocks : external clock defined for codec clock. |
| - qcom,wsa-max-devs : Maximum number of WSA881x devices present in the target |
| - qcom,wsa-devs : List of phandles for all possible WSA881x devices supported for the target |
| - qcom,wsa-aux-dev-prefix : Name prefix with Left/Right configuration for WSA881x device |
| - qcom,wcn-btfm : Property to specify if WCN BT/FM chip is used for the target |
| |
| Example: |
| |
| sound-pahu { |
| compatible = "qcom,sm8150-asoc-snd-pahu-aqt"; |
| qcom,model = "sm8150-pahu-aqt-snd-card"; |
| qcom,ext-disp-audio-rx; |
| qcom,wcn-btfm; |
| qcom,mi2s-audio-intf; |
| qcom,auxpcm-audio-intf; |
| qcom,msm-mi2s-master = <1>, <1>, <1>, <1>; |
| |
| reg = <0x1711a000 0x4>, |
| <0x1711b000 0x4>, |
| <0x1711c000 0x4>, |
| <0x1711d000 0x4>; |
| reg-names = "lpaif_pri_mode_muxsel", |
| "lpaif_sec_mode_muxsel", |
| "lpaif_tert_mode_muxsel", |
| "lpaif_quat_mode_muxsel"; |
| |
| qcom,audio-routing = |
| "MADINPUT", "MCLK", |
| "AMIC2", "MIC BIAS2", |
| "AMIC3", "MIC BIAS2", |
| "AMIC4", "MIC BIAS2", |
| "AMIC5", "MIC BIAS3", |
| "MIC BIAS3", "Handset Mic", |
| "DMIC0", "MIC BIAS1", |
| "MIC BIAS1", "Digital Mic0", |
| "DMIC1", "MIC BIAS1", |
| "MIC BIAS1", "Digital Mic1", |
| "DMIC2", "MIC BIAS3", |
| "MIC BIAS3", "Digital Mic2", |
| "DMIC3", "MIC BIAS3", |
| "MIC BIAS3", "Digital Mic3", |
| "DMIC4", "MIC BIAS4", |
| "MIC BIAS4", "Digital Mic4", |
| "DMIC5", "MIC BIAS4", |
| "MIC BIAS4", "Digital Mic5", |
| "SpkrLeft IN", "SPK1 OUT", |
| "SpkrRight IN", "SPK2 OUT"; |
| |
| qcom,pahu-ext-clk-freq = <19200000>; |
| asoc-platform = <&pcm0>, <&pcm1>, <&pcm2>, <&voip>, <&voice>, |
| <&loopback>, <&compress>, <&hostless>, |
| <&afe>, <&lsm>, <&routing>, <&cpe>, <&compr>, |
| <&pcm_noirq>; |
| asoc-platform-names = "msm-pcm-dsp.0", "msm-pcm-dsp.1", |
| "msm-pcm-dsp.2", "msm-voip-dsp", |
| "msm-pcm-voice", "msm-pcm-loopback", |
| "msm-compress-dsp", "msm-pcm-hostless", |
| "msm-pcm-afe", "msm-lsm-client", |
| "msm-pcm-routing", "msm-cpe-lsm", |
| "msm-compr-dsp", "msm-pcm-dsp-noirq"; |
| asoc-cpu = <&dai_hdmi>, <&dai_dp>, |
| <&dai_mi2s0>, <&dai_mi2s1>, |
| <&dai_mi2s2>, <&dai_mi2s3>, |
| <&dai_pri_auxpcm>, <&dai_sec_auxpcm>, |
| <&dai_tert_auxpcm>, <&dai_quat_auxpcm>, |
| <&sb_0_rx>, <&sb_0_tx>, <&sb_1_rx>, <&sb_1_tx>, |
| <&sb_2_rx>, <&sb_2_tx>, <&sb_3_rx>, <&sb_3_tx>, |
| <&sb_4_rx>, <&sb_4_tx>, <&sb_5_tx>, |
| <&afe_pcm_rx>, <&afe_pcm_tx>, <&afe_proxy_rx>, |
| <&afe_proxy_tx>, <&incall_record_rx>, |
| <&incall_record_tx>, <&incall_music_rx>, |
| <&incall_music_2_rx>, <&sb_5_rx>, <&sb_6_rx>, |
| <&sb_7_rx>, <&sb_7_tx>, <&sb_8_tx>, |
| <&usb_audio_rx>, <&usb_audio_tx>, |
| <&dai_pri_tdm_rx_0>, <&dai_pri_tdm_tx_0>, |
| <&dai_sec_tdm_rx_0>, <&dai_sec_tdm_tx_0>, |
| <&dai_tert_tdm_rx_0>, <&dai_tert_tdm_tx_0>, |
| <&dai_quat_tdm_rx_0>, <&dai_quat_tdm_tx_0>; |
| asoc-cpu-names = "msm-dai-q6-hdmi.8", "msm-dai-q6-dp.24608", |
| "msm-dai-q6-mi2s.0", "msm-dai-q6-mi2s.1", |
| "msm-dai-q6-mi2s.2", "msm-dai-q6-mi2s.3", |
| "msm-dai-q6-auxpcm.1", "msm-dai-q6-auxpcm.2", |
| "msm-dai-q6-auxpcm.3", "msm-dai-q6-auxpcm.4", |
| "msm-dai-q6-dev.16384", "msm-dai-q6-dev.16385", |
| "msm-dai-q6-dev.16386", "msm-dai-q6-dev.16387", |
| "msm-dai-q6-dev.16388", "msm-dai-q6-dev.16389", |
| "msm-dai-q6-dev.16390", "msm-dai-q6-dev.16391", |
| "msm-dai-q6-dev.16392", "msm-dai-q6-dev.16393", |
| "msm-dai-q6-dev.16395", "msm-dai-q6-dev.224", |
| "msm-dai-q6-dev.225", "msm-dai-q6-dev.241", |
| "msm-dai-q6-dev.240", "msm-dai-q6-dev.32771", |
| "msm-dai-q6-dev.32772", "msm-dai-q6-dev.32773", |
| "msm-dai-q6-dev.32770", "msm-dai-q6-dev.16394", |
| "msm-dai-q6-dev.16396", "msm-dai-q6-dev.16398", |
| "msm-dai-q6-dev.16399", "msm-dai-q6-dev.16401", |
| "msm-dai-q6-dev.28672", "msm-dai-q6-dev.28673", |
| "msm-dai-q6-tdm.36864", "msm-dai-q6-tdm.36865", |
| "msm-dai-q6-tdm.36880", "msm-dai-q6-tdm.36881", |
| "msm-dai-q6-tdm.36896", "msm-dai-q6-tdm.36897", |
| "msm-dai-q6-tdm.36912", "msm-dai-q6-tdm.36913"; |
| asoc-codec = <&stub_codec>, <&ext_disp_audio_codec>; |
| asoc-codec-names = "msm-stub-codec.1", |
| "msm-ext-disp-audio-codec-rx"; |
| qcom,wsa-max-devs = <2>; |
| qcom,wsa-devs = <&wsa881x_0211>, <&wsa881x_0212>, |
| <&wsa881x_0213>, <&wsa881x_0214>; |
| qcom,wsa-aux-dev-prefix = "SpkrLeft", "SpkrRight", |
| "SpkrLeft", "SpkrRight"; |
| }; |
| |
| |
| * QCS405 ASoC Machine driver |
| |
| Required properties: |
| - compatible : "qcom,qcs405-asoc-snd". |
| - qcom,model : The user-visible name of this sound card. |
| - qcom,audio-routing : A list of the connections between audio components. |
| - asoc-platform: This is phandle list containing the references to platform device |
| nodes that are used as part of the sound card dai-links. |
| - asoc-platform-names: This property contains list of platform names. The order of |
| the platform names should match to that of the phandle order |
| given in "asoc-platform". |
| - asoc-cpu: This is phandle list containing the references to cpu dai device nodes |
| that are used as part of the sound card dai-links. |
| - asoc-cpu-names: This property contains list of cpu dai names. The order of the |
| cpu dai names should match to that of the phandle order given |
| in "asoc-cpu". The cpu names are in the form of "%s.%d" form, |
| where the id (%d) field represents the back-end AFE port id that |
| this CPU dai is associated with. |
| - asoc-codec: This is phandle list containing the references to codec dai device |
| nodes that are used as part of the sound card dai-links. |
| - asoc-codec-names: This property contains list of codec dai names. The order of the |
| codec dai names should match to that of the phandle order given |
| in "asoc-codec". |
| Optional properties: |
| - clock-names : clock name defined for external clock. |
| - clocks : external clock defined for codec clock. |
| - qcom,wsa-max-devs : Maximum number of WSA881x devices present in the target |
| - qcom,wsa-devs : List of phandles for all possible WSA881x devices supported for the target |
| - qcom,wsa-aux-dev-prefix : Name prefix with Left/Right configuration for WSA881x device |
| - qcom,wcn-btfm : Property to specify if WCN BT/FM chip is used for the target |
| - qcom,wsa_bolero_codec : Property to specify if WSA macro in Bolero codec is used for this target |
| - qcom,va_bolero_codec : Property to specify if VA macro in Bolero codec is used for this target |
| - qcom,tasha_codec : Property to specify if Tasha codec is used for this target |
| - qcom,cdc-dmic-gpios : phandle for Digital mic clk and data gpios. |
| - qcom,csra-codec : Property to specify if CSRA66x0 is used for this target |
| - qcom,csra-max-devs : Maximum number of CSRA66x0 devices present in the target |
| - qcom,csra-devs : List of phandles of all possible CSRA66x0 devices supported for the target |
| - qcom,csra-aux-dev-prefix : Name prefix in multi-channel configuration for CSRA66x0 device |
| Example: |
| |
| qcs405_snd { |
| compatible = "qcom,qcs405-asoc-snd"; |
| qcom,wsa_bolero_codec = <1>; |
| qcom,va_bolero_codec = <1>; |
| qcom,tasha_codec = <1>; |
| qcom,ext-disp-audio-rx = <1>; |
| qcom,wcn-btfm = <1>; |
| qcom,mi2s-audio-intf = <1>; |
| qcom,auxpcm-audio-intf = <1>; |
| qcom,msm-mi2s-master = <1>, <1>, <1>, <1>; |
| |
| qcom,audio-routing = |
| "MADINPUT", "MCLK", |
| "AMIC2", "MIC BIAS2", |
| "AMIC3", "MIC BIAS2", |
| "AMIC4", "MIC BIAS2", |
| "AMIC5", "MIC BIAS3", |
| "MIC BIAS3", "Handset Mic", |
| "DMIC0", "MIC BIAS1", |
| "MIC BIAS1", "Digital Mic0", |
| "DMIC1", "MIC BIAS1", |
| "MIC BIAS1", "Digital Mic1", |
| "DMIC2", "MIC BIAS3", |
| "MIC BIAS3", "Digital Mic2", |
| "DMIC3", "MIC BIAS3", |
| "MIC BIAS3", "Digital Mic3", |
| "DMIC4", "MIC BIAS4", |
| "MIC BIAS4", "Digital Mic4", |
| "DMIC5", "MIC BIAS4", |
| "MIC BIAS4", "Digital Mic5", |
| "SpkrLeft IN", "SPK1 OUT", |
| "SpkrRight IN", "SPK2 OUT"; |
| |
| asoc-platform = <&pcm0>, <&pcm1>, <&pcm2>, <&voip>, <&voice>, |
| <&loopback>, <&compress>, <&hostless>, |
| <&afe>, <&lsm>, <&routing>, <&cpe>, <&compr>, |
| <&pcm_noirq>; |
| asoc-platform-names = "msm-pcm-dsp.0", "msm-pcm-dsp.1", |
| "msm-pcm-dsp.2", "msm-voip-dsp", |
| "msm-pcm-voice", "msm-pcm-loopback", |
| "msm-compress-dsp", "msm-pcm-hostless", |
| "msm-pcm-afe", "msm-lsm-client", |
| "msm-pcm-routing", "msm-cpe-lsm", |
| "msm-compr-dsp", "msm-pcm-dsp-noirq"; |
| asoc-cpu = <&dai_hdmi>, <&dai_dp>, |
| <&dai_mi2s0>, <&dai_mi2s1>, |
| <&dai_mi2s2>, <&dai_mi2s3>, |
| <&dai_pri_auxpcm>, <&dai_sec_auxpcm>, |
| <&dai_tert_auxpcm>, <&dai_quat_auxpcm>, |
| <&sb_0_rx>, <&sb_0_tx>, <&sb_1_rx>, <&sb_1_tx>, |
| <&sb_2_rx>, <&sb_2_tx>, <&sb_3_rx>, <&sb_3_tx>, |
| <&sb_4_rx>, <&sb_4_tx>, <&sb_5_tx>, |
| <&afe_pcm_rx>, <&afe_pcm_tx>, <&afe_proxy_rx>, |
| <&afe_proxy_tx>, <&incall_record_rx>, |
| <&incall_record_tx>, <&incall_music_rx>, |
| <&incall_music_2_rx>, <&sb_5_rx>, <&sb_6_rx>, |
| <&sb_7_rx>, <&sb_7_tx>, <&sb_8_tx>, |
| <&usb_audio_rx>, <&usb_audio_tx>, |
| <&dai_pri_tdm_rx_0>, <&dai_pri_tdm_tx_0>, |
| <&dai_sec_tdm_rx_0>, <&dai_sec_tdm_tx_0>, |
| <&dai_tert_tdm_rx_0>, <&dai_tert_tdm_tx_0>, |
| <&dai_quat_tdm_rx_0>, <&dai_quat_tdm_tx_0>, |
| <&wsa_cdc_dma_0_rx>, <&wsa_cdc_dma_0_tx>, |
| <&wsa_cdc_dma_1_rx>, <&wsa_cdc_dma_1_tx>, |
| <&wsa_cdc_dma_2_tx>, <&va_cdc_dma_0_tx>, |
| <&va_cdc_dma_1_tx>; |
| asoc-cpu-names = "msm-dai-q6-hdmi.8", "msm-dai-q6-dp.24608", |
| "msm-dai-q6-mi2s.0", "msm-dai-q6-mi2s.1", |
| "msm-dai-q6-mi2s.2", "msm-dai-q6-mi2s.3", |
| "msm-dai-q6-auxpcm.1", "msm-dai-q6-auxpcm.2", |
| "msm-dai-q6-auxpcm.3", "msm-dai-q6-auxpcm.4", |
| "msm-dai-q6-dev.16384", "msm-dai-q6-dev.16385", |
| "msm-dai-q6-dev.16386", "msm-dai-q6-dev.16387", |
| "msm-dai-q6-dev.16388", "msm-dai-q6-dev.16389", |
| "msm-dai-q6-dev.16390", "msm-dai-q6-dev.16391", |
| "msm-dai-q6-dev.16392", "msm-dai-q6-dev.16393", |
| "msm-dai-q6-dev.16395", "msm-dai-q6-dev.224", |
| "msm-dai-q6-dev.225", "msm-dai-q6-dev.241", |
| "msm-dai-q6-dev.240", "msm-dai-q6-dev.32771", |
| "msm-dai-q6-dev.32772", "msm-dai-q6-dev.32773", |
| "msm-dai-q6-dev.32770", "msm-dai-q6-dev.16394", |
| "msm-dai-q6-dev.16396", "msm-dai-q6-dev.16398", |
| "msm-dai-q6-dev.16399", "msm-dai-q6-dev.16401", |
| "msm-dai-q6-dev.28672", "msm-dai-q6-dev.28673", |
| "msm-dai-q6-tdm.36864", "msm-dai-q6-tdm.36865", |
| "msm-dai-q6-tdm.36880", "msm-dai-q6-tdm.36881", |
| "msm-dai-q6-tdm.36896", "msm-dai-q6-tdm.36897", |
| "msm-dai-q6-tdm.36912", "msm-dai-q6-tdm.36913", |
| "msm-dai-q6-cdc-dma-dev.45056", |
| "msm-dai-q6-cdc-dma-dev.45057", |
| "msm-dai-q6-cdc-dma-dev.45058", |
| "msm-dai-q6-cdc-dma-dev.45059", |
| "msm-dai-q6-cdc-dma-dev.45061", |
| "msm-dai-q6-cdc-dma-dev.45089", |
| "msm-dai-q6-cdc-dma-dev.45091"; |
| asoc-codec = <&stub_codec>, <&ext_disp_audio_codec>, |
| <&bolero>;; |
| asoc-codec-names = "msm-stub-codec.1", |
| "msm-ext-disp-audio-codec-rx", |
| "bolero_codec"; |
| qcom,wsa-max-devs = <2>; |
| qcom,wsa-devs = <&wsa881x_0211>, <&wsa881x_0212>, |
| <&wsa881x_0213>, <&wsa881x_0214>; |
| qcom,wsa-aux-dev-prefix = "SpkrLeft", "SpkrRight", |
| "SpkrLeft", "SpkrRight"; |
| qcom,cdc-dmic-gpios = <&cdc_dmic12_gpios>, <&cdc_dmic34_gpios>, |
| <&cdc_dmic56_gpios>, <&cdc_dmic78_gpios>; |
| }; |
| |
| * SM6150 ASoC Machine driver |
| |
| Required properties: |
| - compatible : "qcom,sm6150-asoc-snd". |
| - qcom,model : The user-visible name of this sound card. |
| - qcom,audio-routing : A list of the connections between audio components. |
| - asoc-platform: This is phandle list containing the references to platform device |
| nodes that are used as part of the sound card dai-links. |
| - asoc-platform-names: This property contains list of platform names. The order of |
| the platform names should match to that of the phandle order |
| given in "asoc-platform". |
| - asoc-cpu: This is phandle list containing the references to cpu dai device nodes |
| that are used as part of the sound card dai-links. |
| - asoc-cpu-names: This property contains list of cpu dai names. The order of the |
| cpu dai names should match to that of the phandle order given |
| in "asoc-cpu". The cpu names are in the form of "%s.%d" form, |
| where the id (%d) field represents the back-end AFE port id that |
| this CPU dai is associated with. |
| - asoc-codec: This is phandle list containing the references to codec dai device |
| nodes that are used as part of the sound card dai-links. |
| - asoc-codec-names: This property contains list of codec dai names. The order of the |
| codec dai names should match to that of the phandle order given |
| in "asoc-codec". |
| - qcom,codec-aux-devs: This is phandle list containing the references to Auxilary |
| codec devices. |
| |
| Optional properties: |
| - qcom,msm-mi2s-master: This property is used to inform machine driver |
| if MSM is the clock master of mi2s. 1 means master and 0 means slave. The |
| first entry is primary mi2s; the second entry is secondary mi2s, and so on. |
| - qcom,msm-mbhc-hphl-swh: This property is used to distinguish headset HPHL |
| switch type on target typically the switch type will be normally open or |
| normally close, value for this property 0 for normally close and 1 for |
| normally open. |
| - qcom,msm-mbhc-gnd-swh: This property is used to distinguish headset GND |
| switch type on target typically the switch type will be normally open or |
| normally close, value for this property 0 for normally close and 1 for |
| normally open. |
| - qcom,wsa-max-devs : Maximum number of WSA881x devices present in the target |
| - qcom,wsa-devs : List of phandles for all possible WSA881x devices supported for the target |
| - qcom,wsa-aux-dev-prefix : Name prefix with Left/Right configuration for WSA881x device |
| - qcom,ext-disp-audio-rx: Property to specify if Audio over Display port is supported for the target |
| - qcom,wcn-btfm : Property to specify if WCN BT/FM chip is used for the target |
| - qcom,mi2s-audio-intf: Property to specify if MI2S interface is used for the target |
| - qcom,auxpcm-audio-intf: Property to specify if Aux PCM interface is used for the target |
| - qcom,tavil_codec : Property to specify if Tavil codec is used for this target |
| - qcom,cdc-dmic-gpios : phandle for Digital mic clk and data gpios. |
| - qcom,msm_audio_ssr_devs: List the snd event framework clients |
| |
| Example: |
| sm6150_snd: sound { |
| status = "okay"; |
| compatible = "qcom,sm6150-asoc-snd"; |
| qcom,ext-disp-audio-rx = <1>; |
| qcom,wcn-btfm = <1>; |
| qcom,mi2s-audio-intf = <1>; |
| qcom,auxpcm-audio-intf = <1>; |
| |
| asoc-platform = <&pcm0>, <&pcm1>, <&pcm2>, <&voip>, <&voice>, |
| <&loopback>, <&compress>, <&hostless>, |
| <&afe>, <&lsm>, <&routing>, <&compr>, |
| <&pcm_noirq>; |
| asoc-platform-names = "msm-pcm-dsp.0", "msm-pcm-dsp.1", |
| "msm-pcm-dsp.2", "msm-voip-dsp", |
| "msm-pcm-voice", "msm-pcm-loopback", |
| "msm-compress-dsp", "msm-pcm-hostless", |
| "msm-pcm-afe", "msm-lsm-client", |
| "msm-pcm-routing", "msm-compr-dsp", |
| "msm-pcm-dsp-noirq"; |
| asoc-cpu = <&dai_dp>, |
| <&dai_mi2s0>, <&dai_mi2s1>, |
| <&dai_mi2s2>, <&dai_mi2s3>, |
| <&dai_mi2s4>, <&dai_pri_auxpcm>, |
| <&dai_sec_auxpcm>, <&dai_tert_auxpcm>, |
| <&dai_quat_auxpcm>, <&dai_quin_auxpcm>, |
| <&afe_pcm_rx>, <&afe_pcm_tx>, <&afe_proxy_rx>, |
| <&afe_proxy_tx>, <&incall_record_rx>, |
| <&incall_record_tx>, <&incall_music_rx>, |
| <&incall_music_2_rx>, |
| <&sb_7_rx>, <&sb_7_tx>, <&sb_8_tx>, <&sb_8_rx>, |
| <&usb_audio_rx>, <&usb_audio_tx>, |
| <&dai_pri_tdm_rx_0>, <&dai_pri_tdm_tx_0>, |
| <&dai_sec_tdm_rx_0>, <&dai_sec_tdm_tx_0>, |
| <&dai_tert_tdm_rx_0>, <&dai_tert_tdm_tx_0>, |
| <&dai_quat_tdm_rx_0>, <&dai_quat_tdm_tx_0>, |
| <&dai_quin_tdm_rx_0>, <&dai_quin_tdm_tx_0>, |
| <&wsa_cdc_dma_0_rx>, <&wsa_cdc_dma_0_tx>, |
| <&wsa_cdc_dma_1_rx>, <&wsa_cdc_dma_1_tx>, |
| <&wsa_cdc_dma_2_tx>, |
| <&va_cdc_dma_0_tx>, <&va_cdc_dma_1_tx>, |
| <&rx_cdc_dma_0_rx>, <&tx_cdc_dma_0_tx>, |
| <&rx_cdc_dma_1_rx>, <&tx_cdc_dma_1_tx>, |
| <&rx_cdc_dma_2_rx>, <&tx_cdc_dma_2_tx>, |
| <&rx_cdc_dma_3_rx>, <&tx_cdc_dma_3_tx>, |
| <&rx_cdc_dma_4_rx>, <&tx_cdc_dma_4_tx>, |
| <&rx_cdc_dma_5_rx>, <&tx_cdc_dma_5_tx>, |
| <&tx_cdc_dma_6_tx>, <&tx_cdc_dma_7_tx>; |
| asoc-cpu-names = "msm-dai-q6-dp.24608", |
| "msm-dai-q6-mi2s.0", "msm-dai-q6-mi2s.1", |
| "msm-dai-q6-mi2s.2", "msm-dai-q6-mi2s.3", |
| "msm-dai-q6-mi2s.4", "msm-dai-q6-auxpcm.1", |
| "msm-dai-q6-auxpcm.2", "msm-dai-q6-auxpcm.3", |
| "msm-dai-q6-auxpcm.4", "msm-dai-q6-auxpcm.5", |
| "msm-dai-q6-dev.224", |
| "msm-dai-q6-dev.225", "msm-dai-q6-dev.241", |
| "msm-dai-q6-dev.240", "msm-dai-q6-dev.32771", |
| "msm-dai-q6-dev.32772", "msm-dai-q6-dev.32773", |
| "msm-dai-q6-dev.32770", "msm-dai-q6-dev.16398", |
| "msm-dai-q6-dev.16399", "msm-dai-q6-dev.16401", |
| "msm-dai-q6-dev.16400", |
| "msm-dai-q6-dev.28672", "msm-dai-q6-dev.28673", |
| "msm-dai-q6-tdm.36864", "msm-dai-q6-tdm.36865", |
| "msm-dai-q6-tdm.36880", "msm-dai-q6-tdm.36881", |
| "msm-dai-q6-tdm.36896", "msm-dai-q6-tdm.36897", |
| "msm-dai-q6-tdm.36912", "msm-dai-q6-tdm.36913", |
| "msm-dai-q6-tdm.36928", "msm-dai-q6-tdm.36929", |
| "msm-dai-cdc-dma-dev.45056", |
| "msm-dai-cdc-dma-dev.45057", |
| "msm-dai-cdc-dma-dev.45058", |
| "msm-dai-cdc-dma-dev.45059", |
| "msm-dai-cdc-dma-dev.45061", |
| "msm-dai-cdc-dma-dev.45089", |
| "msm-dai-cdc-dma-dev.45091", |
| "msm-dai-cdc-dma-dev.45120", |
| "msm-dai-cdc-dma-dev.45121", |
| "msm-dai-cdc-dma-dev.45122", |
| "msm-dai-cdc-dma-dev.45123", |
| "msm-dai-cdc-dma-dev.45124", |
| "msm-dai-cdc-dma-dev.45125", |
| "msm-dai-cdc-dma-dev.45126", |
| "msm-dai-cdc-dma-dev.45127", |
| "msm-dai-cdc-dma-dev.45128", |
| "msm-dai-cdc-dma-dev.45129", |
| "msm-dai-cdc-dma-dev.45130", |
| "msm-dai-cdc-dma-dev.45131", |
| "msm-dai-cdc-dma-dev.45133", |
| "msm-dai-cdc-dma-dev.45135"; |
| qcom,msm-mi2s-master = <1>, <1>, <1>, <1>, <1>; |
| qcom,msm-mbhc-hphl-swh = <1>; |
| qcom,msm-mbhc-gnd-swh = <1>; |
| qcom,cdc-dmic-gpios = <&cdc_dmic12_gpios>, <&cdc_dmic34_gpios>; |
| asoc-codec = <&stub_codec>, <&bolero>, |
| <&ext_disp_audio_codec>; |
| asoc-codec-names = "msm-stub-codec.1", "bolero-codec", |
| "msm-ext-disp-audio-codec-rx"; |
| qcom,wsa-max-devs = <2>; |
| qcom,wsa-devs = <&wsa881x_0211>, <&wsa881x_0212>, |
| <&wsa881x_0213>, <&wsa881x_0214>; |
| qcom,wsa-aux-dev-prefix = "SpkrLeft", "SpkrRight", |
| "SpkrLeft", "SpkrRight"; |
| qcom,codec-aux-devs = <&wcd937x_codec>; |
| qcom,msm_audio_ssr_devs = <&audio_apr>, <&q6core>; |
| }; |
| }; |
| |
| * SA8155 ASoC Machine driver |
| |
| Required properties: |
| - compatible : "qcom,sa8155-asoc-snd-auto" for auto adp codec and |
| "qcom,sa8155-asoc-snd-auto-custom" for auto custom codec. |
| - qcom,model : The user-visible name of this sound card. |
| - asoc-platform: This is phandle list containing the references to platform device |
| nodes that are used as part of the sound card dai-links. |
| - asoc-platform-names: This property contains list of platform names. The order of |
| the platform names should match to that of the phandle order |
| given in "asoc-platform". |
| - asoc-cpu: This is phandle list containing the references to cpu dai device nodes |
| that are used as part of the sound card dai-links. |
| - asoc-cpu-names: This property contains list of cpu dai names. The order of the |
| cpu dai names should match to that of the phandle order given |
| in "asoc-cpu". The cpu names are in the form of "%s.%d" form, |
| where the id (%d) field represents the back-end AFE port id that |
| this CPU dai is associated with. |
| - asoc-codec: This is phandle list containing the references to codec dai device |
| nodes that are used as part of the sound card dai-links. |
| - asoc-codec-names: This property contains list of codec dai names. The order of the |
| codec dai names should match to that of the phandle order given |
| in "asoc-codec". |
| Optional properties: |
| - qcom,mi2s-audio-intf : Property to specify if MI2S interface is used for the target |
| - qcom,auxpcm-audio-intf : Property to specify if AUX PCM interface is used for the target |
| - qcom,msm-mi2s-master : List of master/slave configuration for MI2S interfaces |
| |
| Example: |
| |
| sound-adp-star { |
| compatible = "qcom,sa8155-asoc-snd-adp-star"; |
| qcom,model = "sa8155-adp-star-snd-card"; |
| qcom,mi2s-audio-intf; |
| qcom,auxpcm-audio-intf; |
| qcom,msm-mi2s-master = <1>, <1>, <1>, <1>, <1>; |
| |
| asoc-platform = <&pcm0>, <&pcm1>, <&pcm2>, <&voip>, <&voice>, |
| <&loopback>, <&compress>, <&hostless>, |
| <&afe>, <&lsm>, <&routing>, <&compr>, |
| <&pcm_noirq>, <&loopback1>, <&pcm_dtmf>; |
| asoc-platform-names = "msm-pcm-dsp.0", "msm-pcm-dsp.1", |
| "msm-pcm-dsp.2", "msm-voip-dsp", |
| "msm-pcm-voice", "msm-pcm-loopback", |
| "msm-compress-dsp", "msm-pcm-hostless", |
| "msm-pcm-afe", "msm-lsm-client", |
| "msm-pcm-routing", "msm-compr-dsp", |
| "msm-pcm-dsp-noirq", "msm-pcm-loopback.1", |
| "msm-pcm-dtmf"; |
| asoc-cpu = <&dai_hdmi>, <&dai_dp>, |
| <&dai_mi2s0>, <&dai_mi2s1>, |
| <&dai_mi2s2>, <&dai_mi2s3>, |
| <&dai_mi2s4>, <&dai_pri_auxpcm>, |
| <&dai_sec_auxpcm>, <&dai_tert_auxpcm>, |
| <&dai_quat_auxpcm>, <&dai_quin_auxpcm>, |
| <&afe_pcm_rx>, <&afe_pcm_tx>, <&afe_proxy_rx>, |
| <&afe_proxy_tx>, <&incall_record_rx>, |
| <&incall_record_tx>, <&incall_music_rx>, |
| <&incall_music_2_rx>, |
| <&usb_audio_rx>, <&usb_audio_tx>, |
| <&dai_pri_tdm_rx_0>, <&dai_pri_tdm_rx_1>, |
| <&dai_pri_tdm_rx_2>, <&dai_pri_tdm_rx_3>, |
| <&dai_pri_tdm_tx_0>, <&dai_pri_tdm_tx_1>, |
| <&dai_pri_tdm_tx_2>, <&dai_pri_tdm_tx_3>, |
| <&dai_sec_tdm_rx_0>, <&dai_sec_tdm_rx_1>, |
| <&dai_sec_tdm_rx_2>, <&dai_sec_tdm_rx_3>, |
| <&dai_sec_tdm_tx_0>, <&dai_sec_tdm_tx_1>, |
| <&dai_sec_tdm_tx_2>, <&dai_sec_tdm_tx_3>, |
| <&dai_tert_tdm_rx_0>, <&dai_tert_tdm_rx_1>, |
| <&dai_tert_tdm_rx_2>, <&dai_tert_tdm_rx_3>, |
| <&dai_tert_tdm_rx_4>, <&dai_tert_tdm_tx_0>, |
| <&dai_tert_tdm_tx_1>, <&dai_tert_tdm_tx_2>, |
| <&dai_tert_tdm_tx_3>, <&dai_quat_tdm_rx_0>, |
| <&dai_quat_tdm_rx_1>, <&dai_quat_tdm_rx_2>, |
| <&dai_quat_tdm_rx_3>, <&dai_quat_tdm_tx_0>, |
| <&dai_quat_tdm_tx_1>, <&dai_quat_tdm_tx_2>, |
| <&dai_quat_tdm_tx_3>, <&dai_quin_tdm_rx_0>, |
| <&dai_quin_tdm_rx_1>, <&dai_quin_tdm_rx_2>, |
| <&dai_quin_tdm_rx_3>, <&dai_quin_tdm_tx_0>, |
| <&dai_quin_tdm_tx_1>, <&dai_quin_tdm_tx_2>, |
| <&dai_quin_tdm_tx_3>; |
| asoc-cpu-names = "msm-dai-q6-hdmi.8", "msm-dai-q6-dp.24608", |
| "msm-dai-q6-mi2s.0", "msm-dai-q6-mi2s.1", |
| "msm-dai-q6-mi2s.2", "msm-dai-q6-mi2s.3", |
| "msm-dai-q6-mi2s.4", "msm-dai-q6-auxpcm.1", |
| "msm-dai-q6-auxpcm.2", "msm-dai-q6-auxpcm.3", |
| "msm-dai-q6-auxpcm.4", "msm-dai-q6-auxpcm.5", |
| "msm-dai-q6-dev.224", "msm-dai-q6-dev.225", |
| "msm-dai-q6-dev.241", "msm-dai-q6-dev.240", |
| "msm-dai-q6-dev.32771", "msm-dai-q6-dev.32772", |
| "msm-dai-q6-dev.32773", "msm-dai-q6-dev.32770", |
| "msm-dai-q6-dev.28672", "msm-dai-q6-dev.28673", |
| "msm-dai-q6-tdm.36864", "msm-dai-q6-tdm.36866", |
| "msm-dai-q6-tdm.36868", "msm-dai-q6-tdm.36870", |
| "msm-dai-q6-tdm.36865", "msm-dai-q6-tdm.36867", |
| "msm-dai-q6-tdm.36869", "msm-dai-q6-tdm.36871", |
| "msm-dai-q6-tdm.36880", "msm-dai-q6-tdm.36882", |
| "msm-dai-q6-tdm.36884", "msm-dai-q6-tdm.36886", |
| "msm-dai-q6-tdm.36881", "msm-dai-q6-tdm.36883", |
| "msm-dai-q6-tdm.36885", "msm-dai-q6-tdm.36887", |
| "msm-dai-q6-tdm.36896", "msm-dai-q6-tdm.36898", |
| "msm-dai-q6-tdm.36900", "msm-dai-q6-tdm.36902", |
| "msm-dai-q6-tdm.36904", "msm-dai-q6-tdm.36897", |
| "msm-dai-q6-tdm.36899", "msm-dai-q6-tdm.36901", |
| "msm-dai-q6-tdm.36903", "msm-dai-q6-tdm.36912", |
| "msm-dai-q6-tdm.36914", "msm-dai-q6-tdm.36916", |
| "msm-dai-q6-tdm.36918", "msm-dai-q6-tdm.36913", |
| "msm-dai-q6-tdm.36915", "msm-dai-q6-tdm.36917", |
| "msm-dai-q6-tdm.36919", "msm-dai-q6-tdm.36928", |
| "msm-dai-q6-tdm.36930", "msm-dai-q6-tdm.36932", |
| "msm-dai-q6-tdm.36934", "msm-dai-q6-tdm.36929", |
| "msm-dai-q6-tdm.36931", "msm-dai-q6-tdm.36933", |
| "msm-dai-q6-tdm.36935"; |
| asoc-codec = <&stub_codec>; |
| asoc-codec-names = "msm-stub-codec.1"; |
| }; |
| |
| * SPF SA8155 ASoC Machine driver |
| |
| Required properties: |
| - compatible : "qcom,sa8155-asoc-snd-adp-star" for auto adp codec. |
| - qcom,model : The user-visible name of this sound card. |
| - asoc-codec: This is phandle list containing the references to codec dai device |
| nodes that are used as part of the sound card dai-links. |
| - asoc-codec-names: This property contains list of codec dai names. The order of the |
| codec dai names should match to that of the phandle order given |
| in "asoc-codec". |
| |
| Optional properties: |
| - qcom,mi2s-audio-intf : Property to specify if MI2S interface is used for the target |
| - qcom,auxpcm-audio-intf : Property to specify if AUX PCM interface is used for the target |
| - qcom,msm-mi2s-master : List of master/slave configuration for MI2S interfaces |
| |
| Example: |
| |
| spf_snd_8155: spf-sound-adp-star { |
| compatible = "qcom,sa8155-asoc-snd-adp-star"; |
| qcom,model = "sa8155-adp-star-snd-card"; |
| asoc-codec = <&stub_codec>; |
| asoc-codec-names = "msm-stub-codec.1"; |
| }; |
| |
| * BENGAL ASoC Machine driver |
| |
| Required properties: |
| - compatible : "qcom,bengal-asoc-snd". |
| - qcom,model : The user-visible name of this sound card. |
| - qcom,audio-routing : A list of the connections between audio components. |
| - asoc-platform: This is phandle list containing the references to platform device |
| nodes that are used as part of the sound card dai-links. |
| - asoc-platform-names: This property contains list of platform names. The order of |
| the platform names should match to that of the phandle order |
| given in "asoc-platform". |
| - asoc-cpu: This is phandle list containing the references to cpu dai device nodes |
| that are used as part of the sound card dai-links. |
| - asoc-cpu-names: This property contains list of cpu dai names. The order of the |
| cpu dai names should match to that of the phandle order given |
| in "asoc-cpu". The cpu names are in the form of "%s.%d" form, |
| where the id (%d) field represents the back-end AFE port id that |
| this CPU dai is associated with. |
| - asoc-codec: This is phandle list containing the references to codec dai device |
| nodes that are used as part of the sound card dai-links. |
| - asoc-codec-names: This property contains list of codec dai names. The order of the |
| codec dai names should match to that of the phandle order given |
| in "asoc-codec". |
| - qcom,codec-aux-devs: This is phandle list containing the references to Auxilary |
| codec devices. |
| |
| Optional properties: |
| - qcom,msm-mi2s-master: This property is used to inform machine driver |
| if MSM is the clock master of mi2s. 1 means master and 0 means slave. The |
| first entry is primary mi2s; the second entry is secondary mi2s, and so on. |
| - qcom,msm-mbhc-hphl-swh: This property is used to distinguish headset HPHL |
| switch type on target typically the switch type will be normally open or |
| normally close, value for this property 0 for normally close and 1 for |
| normally open. |
| - qcom,msm-mbhc-gnd-swh: This property is used to distinguish headset GND |
| switch type on target typically the switch type will be normally open or |
| normally close, value for this property 0 for normally close and 1 for |
| normally open. |
| - qcom,wsa-max-devs : Maximum number of WSA881x devices present in the target |
| - qcom,wsa-devs : List of phandles for all possible WSA881x devices supported for the target |
| - qcom,wsa-aux-dev-prefix : Name prefix with Left/Right configuration for WSA881x device |
| - qcom,ext-disp-audio-rx: Property to specify if Audio over Display port is supported for the target |
| - qcom,wcn-btfm : Property to specify if WCN BT/FM chip is used for the target |
| - qcom,mi2s-audio-intf: Property to specify if MI2S interface is used for the target |
| - qcom,auxpcm-audio-intf: Property to specify if Aux PCM interface is used for the target |
| - qcom,cdc-dmic-gpios : phandle for Digital mic clk and data gpios. |
| - qcom,msm_audio_ssr_devs: List the snd event framework clients |
| - qcom,afe-rxtx-lb: AFE RX to TX loopback. |
| - qcom,tlmm-gpio: TLMM gpio number for corresponding LPASS gpio |
| - qcom,va-bolero-codec: Property to specify VA macro supported. |
| - qcom,rxtx-bolero-codec: Property to specify RX-TX macros supported. |
| - qcom,wsa-bolero-codec: Property to specify WSA macro supported. |
| |
| Example: |
| bengal_snd: sound { |
| status = "okay"; |
| compatible = "qcom,bengal-asoc-snd"; |
| qcom,wcn-btfm = <1>; |
| qcom,mi2s-audio-intf = <1>; |
| qcom,auxpcm-audio-intf = <1>; |
| qcom,afe-rxtx-lb = <1>; |
| qcom,va-bolero-codec = <1>; |
| qcom,rxtx-bolero-codec = <1>; |
| |
| asoc-platform = <&pcm0>, <&pcm1>, <&pcm2>, <&voip>, <&voice>, |
| <&loopback>, <&compress>, <&hostless>, |
| <&afe>, <&lsm>, <&routing>, <&compr>, |
| <&pcm_noirq>; |
| asoc-platform-names = "msm-pcm-dsp.0", "msm-pcm-dsp.1", |
| "msm-pcm-dsp.2", "msm-voip-dsp", |
| "msm-pcm-voice", "msm-pcm-loopback", |
| "msm-compress-dsp", "msm-pcm-hostless", |
| "msm-pcm-afe", "msm-lsm-client", |
| "msm-pcm-routing", "msm-compr-dsp", |
| "msm-pcm-dsp-noirq"; |
| asoc-cpu = <&dai_mi2s0>, <&dai_mi2s1>, |
| <&dai_mi2s2>, <&dai_mi2s3>, |
| <&dai_mi2s4>, <&dai_pri_auxpcm>, |
| <&dai_sec_auxpcm>, <&dai_tert_auxpcm>, |
| <&dai_quat_auxpcm>, <&dai_quin_auxpcm>, |
| <&afe_pcm_rx>, <&afe_pcm_tx>, <&afe_proxy_rx>, |
| <&afe_proxy_tx>, <&incall_record_rx>, |
| <&incall_record_tx>, <&incall_music_rx>, |
| <&incall_music_2_rx>, |
| <&usb_audio_rx>, <&usb_audio_tx>, |
| <&dai_pri_tdm_rx_0>, <&dai_pri_tdm_tx_0>, |
| <&dai_sec_tdm_rx_0>, <&dai_sec_tdm_tx_0>, |
| <&dai_tert_tdm_rx_0>, <&dai_tert_tdm_tx_0>, |
| <&dai_quat_tdm_rx_0>, <&dai_quat_tdm_tx_0>, |
| <&dai_quin_tdm_rx_0>, <&dai_quin_tdm_tx_0>, |
| <&wsa_cdc_dma_0_rx>, <&wsa_cdc_dma_0_tx>, |
| <&wsa_cdc_dma_1_rx>, <&wsa_cdc_dma_1_tx>, |
| <&wsa_cdc_dma_2_tx>, |
| <&va_cdc_dma_0_tx>, <&va_cdc_dma_1_tx>, |
| <&rx_cdc_dma_0_rx>, <&tx_cdc_dma_0_tx>, |
| <&rx_cdc_dma_1_rx>, <&tx_cdc_dma_1_tx>, |
| <&rx_cdc_dma_2_rx>, <&tx_cdc_dma_2_tx>, |
| <&rx_cdc_dma_3_rx>, <&tx_cdc_dma_3_tx>, |
| <&rx_cdc_dma_4_rx>, <&tx_cdc_dma_4_tx>, |
| <&rx_cdc_dma_5_rx>, <&tx_cdc_dma_5_tx>, |
| <&tx_cdc_dma_6_tx>, <&tx_cdc_dma_7_tx>; |
| asoc-cpu-names = "msm-dai-q6-mi2s.0", "msm-dai-q6-mi2s.1", |
| "msm-dai-q6-mi2s.2", "msm-dai-q6-mi2s.3", |
| "msm-dai-q6-mi2s.4", "msm-dai-q6-auxpcm.1", |
| "msm-dai-q6-auxpcm.2", "msm-dai-q6-auxpcm.3", |
| "msm-dai-q6-auxpcm.4", "msm-dai-q6-auxpcm.5", |
| "msm-dai-q6-dev.224", |
| "msm-dai-q6-dev.225", "msm-dai-q6-dev.241", |
| "msm-dai-q6-dev.240", "msm-dai-q6-dev.32771", |
| "msm-dai-q6-dev.32772", "msm-dai-q6-dev.32773", |
| "msm-dai-q6-dev.32770", "msm-dai-q6-dev.16398", |
| "msm-dai-q6-dev.16399", "msm-dai-q6-dev.16401", |
| "msm-dai-q6-dev.16400", |
| "msm-dai-q6-dev.28672", "msm-dai-q6-dev.28673", |
| "msm-dai-q6-tdm.36864", "msm-dai-q6-tdm.36865", |
| "msm-dai-q6-tdm.36880", "msm-dai-q6-tdm.36881", |
| "msm-dai-q6-tdm.36896", "msm-dai-q6-tdm.36897", |
| "msm-dai-q6-tdm.36912", "msm-dai-q6-tdm.36913", |
| "msm-dai-q6-tdm.36928", "msm-dai-q6-tdm.36929", |
| "msm-dai-cdc-dma-dev.45056", |
| "msm-dai-cdc-dma-dev.45057", |
| "msm-dai-cdc-dma-dev.45058", |
| "msm-dai-cdc-dma-dev.45059", |
| "msm-dai-cdc-dma-dev.45061", |
| "msm-dai-cdc-dma-dev.45089", |
| "msm-dai-cdc-dma-dev.45091", |
| "msm-dai-cdc-dma-dev.45120", |
| "msm-dai-cdc-dma-dev.45121", |
| "msm-dai-cdc-dma-dev.45122", |
| "msm-dai-cdc-dma-dev.45123", |
| "msm-dai-cdc-dma-dev.45124", |
| "msm-dai-cdc-dma-dev.45125", |
| "msm-dai-cdc-dma-dev.45126", |
| "msm-dai-cdc-dma-dev.45127", |
| "msm-dai-cdc-dma-dev.45128", |
| "msm-dai-cdc-dma-dev.45129", |
| "msm-dai-cdc-dma-dev.45130", |
| "msm-dai-cdc-dma-dev.45131", |
| "msm-dai-cdc-dma-dev.45133", |
| "msm-dai-cdc-dma-dev.45135"; |
| qcom,msm-mi2s-master = <1>, <1>, <1>, <1>; |
| qcom,msm-mbhc-hphl-swh = <1>; |
| qcom,msm-mbhc-gnd-swh = <1>; |
| qcom,cdc-dmic-gpios = <&cdc_dmic12_gpios>, <&cdc_dmic34_gpios>; |
| asoc-codec = <&stub_codec>, <&bolero>; |
| asoc-codec-names = "msm-stub-codec.1", "bolero-codec"; |
| qcom,wsa-max-devs = <1>; |
| qcom,wsa-devs = <&wsa881x_i2c_f>; |
| qcom,wsa-aux-dev-prefix = "SpkrMono"; |
| qcom,codec-aux-devs = <&wcd937x_codec>; |
| qcom,msm_audio_ssr_devs = <&audio_apr>, <&q6core>; |
| }; |
| |
| * KONA ASoC Machine driver |
| |
| Required properties: |
| - compatible : "qcom,kona-asoc-snd". |
| - qcom,model : The user-visible name of this sound card. |
| - qcom,audio-routing : A list of the connections between audio components. |
| - asoc-platform: This is phandle list containing the references to platform device |
| nodes that are used as part of the sound card dai-links. |
| - asoc-platform-names: This property contains list of platform names. The order of |
| the platform names should match to that of the phandle order |
| given in "asoc-platform". |
| - asoc-cpu: This is phandle list containing the references to cpu dai device nodes |
| that are used as part of the sound card dai-links. |
| - asoc-cpu-names: This property contains list of cpu dai names. The order of the |
| cpu dai names should match to that of the phandle order given |
| in "asoc-cpu". The cpu names are in the form of "%s.%d" form, |
| where the id (%d) field represents the back-end AFE port id that |
| this CPU dai is associated with. |
| - asoc-codec: This is phandle list containing the references to codec dai device |
| nodes that are used as part of the sound card dai-links. |
| - asoc-codec-names: This property contains list of codec dai names. The order of the |
| codec dai names should match to that of the phandle order given |
| in "asoc-codec". |
| - qcom,codec-aux-devs: This is phandle list containing the references to Auxilary |
| codec devices. |
| |
| Optional properties: |
| - qcom,msm-mi2s-master: This property is used to inform machine driver |
| if MSM is the clock master of mi2s. 1 means master and 0 means slave. The |
| first entry is primary mi2s; the second entry is secondary mi2s, and so on. |
| - qcom,msm-mbhc-hphl-swh: This property is used to distinguish headset HPHL |
| switch type on target typically the switch type will be normally open or |
| normally close, value for this property 0 for normally close and 1 for |
| normally open. |
| - qcom,msm-mbhc-gnd-swh: This property is used to distinguish headset GND |
| switch type on target typically the switch type will be normally open or |
| normally close, value for this property 0 for normally close and 1 for |
| normally open. |
| - qcom,wsa-max-devs : Maximum number of WSA881x devices present in the target |
| - qcom,wsa-devs : List of phandles for all possible WSA881x devices supported for the target |
| - qcom,wsa-aux-dev-prefix : Name prefix with Left/Right configuration for WSA881x device |
| - qcom,ext-disp-audio-rx: Property to specify if Audio over Display port is supported for the target |
| - qcom,wcn-btfm : Property to specify if WCN BT/FM chip is used for the target |
| - qcom,mi2s-audio-intf: Property to specify if MI2S interface is used for the target |
| - qcom,auxpcm-audio-intf: Property to specify if Aux PCM interface is used for the target |
| - qcom,cdc-dmic-gpios : phandle for Digital mic clk and data gpios. |
| - qcom,msm_audio_ssr_devs: List the snd event framework clients |
| - qcom,afe-rxtx-lb: AFE RX to TX loopback. |
| - qcom,tlmm-gpio: TLMM gpio number for corresponding LPASS gpio |
| |
| Example: |
| kona_snd: sound { |
| status = "okay"; |
| compatible = "qcom,kona-asoc-snd"; |
| qcom,ext-disp-audio-rx = <1>; |
| qcom,wcn-btfm = <1>; |
| qcom,mi2s-audio-intf = <1>; |
| qcom,auxpcm-audio-intf = <1>; |
| qcom,afe-rxtx-lb = <1>; |
| |
| asoc-platform = <&pcm0>, <&pcm1>, <&pcm2>, <&voip>, <&voice>, |
| <&loopback>, <&compress>, <&hostless>, |
| <&afe>, <&lsm>, <&routing>, <&compr>, |
| <&pcm_noirq>; |
| asoc-platform-names = "msm-pcm-dsp.0", "msm-pcm-dsp.1", |
| "msm-pcm-dsp.2", "msm-voip-dsp", |
| "msm-pcm-voice", "msm-pcm-loopback", |
| "msm-compress-dsp", "msm-pcm-hostless", |
| "msm-pcm-afe", "msm-lsm-client", |
| "msm-pcm-routing", "msm-compr-dsp", |
| "msm-pcm-dsp-noirq"; |
| asoc-cpu = <&dai_dp>, |
| <&dai_mi2s0>, <&dai_mi2s1>, |
| <&dai_mi2s2>, <&dai_mi2s3>, |
| <&dai_mi2s4>, <&dai_pri_auxpcm>, |
| <&dai_sec_auxpcm>, <&dai_tert_auxpcm>, |
| <&dai_quat_auxpcm>, <&dai_quin_auxpcm>, |
| <&afe_pcm_rx>, <&afe_pcm_tx>, <&afe_proxy_rx>, |
| <&afe_proxy_tx>, <&incall_record_rx>, |
| <&incall_record_tx>, <&incall_music_rx>, |
| <&incall_music_2_rx>, |
| <&usb_audio_rx>, <&usb_audio_tx>, |
| <&dai_pri_tdm_rx_0>, <&dai_pri_tdm_tx_0>, |
| <&dai_sec_tdm_rx_0>, <&dai_sec_tdm_tx_0>, |
| <&dai_tert_tdm_rx_0>, <&dai_tert_tdm_tx_0>, |
| <&dai_quat_tdm_rx_0>, <&dai_quat_tdm_tx_0>, |
| <&dai_quin_tdm_rx_0>, <&dai_quin_tdm_tx_0>, |
| <&wsa_cdc_dma_0_rx>, <&wsa_cdc_dma_0_tx>, |
| <&wsa_cdc_dma_1_rx>, <&wsa_cdc_dma_1_tx>, |
| <&wsa_cdc_dma_2_tx>, |
| <&va_cdc_dma_0_tx>, <&va_cdc_dma_1_tx>, |
| <&rx_cdc_dma_0_rx>, <&tx_cdc_dma_0_tx>, |
| <&rx_cdc_dma_1_rx>, <&tx_cdc_dma_1_tx>, |
| <&rx_cdc_dma_2_rx>, <&tx_cdc_dma_2_tx>, |
| <&rx_cdc_dma_3_rx>, <&tx_cdc_dma_3_tx>, |
| <&rx_cdc_dma_4_rx>, <&tx_cdc_dma_4_tx>, |
| <&rx_cdc_dma_5_rx>, <&tx_cdc_dma_5_tx>, |
| <&tx_cdc_dma_6_tx>, <&tx_cdc_dma_7_tx>; |
| asoc-cpu-names = "msm-dai-q6-dp.24608", |
| "msm-dai-q6-mi2s.0", "msm-dai-q6-mi2s.1", |
| "msm-dai-q6-mi2s.2", "msm-dai-q6-mi2s.3", |
| "msm-dai-q6-mi2s.4", "msm-dai-q6-auxpcm.1", |
| "msm-dai-q6-auxpcm.2", "msm-dai-q6-auxpcm.3", |
| "msm-dai-q6-auxpcm.4", "msm-dai-q6-auxpcm.5", |
| "msm-dai-q6-dev.224", |
| "msm-dai-q6-dev.225", "msm-dai-q6-dev.241", |
| "msm-dai-q6-dev.240", "msm-dai-q6-dev.32771", |
| "msm-dai-q6-dev.32772", "msm-dai-q6-dev.32773", |
| "msm-dai-q6-dev.32770", "msm-dai-q6-dev.16398", |
| "msm-dai-q6-dev.16399", "msm-dai-q6-dev.16401", |
| "msm-dai-q6-dev.16400", |
| "msm-dai-q6-dev.28672", "msm-dai-q6-dev.28673", |
| "msm-dai-q6-tdm.36864", "msm-dai-q6-tdm.36865", |
| "msm-dai-q6-tdm.36880", "msm-dai-q6-tdm.36881", |
| "msm-dai-q6-tdm.36896", "msm-dai-q6-tdm.36897", |
| "msm-dai-q6-tdm.36912", "msm-dai-q6-tdm.36913", |
| "msm-dai-q6-tdm.36928", "msm-dai-q6-tdm.36929", |
| "msm-dai-cdc-dma-dev.45056", |
| "msm-dai-cdc-dma-dev.45057", |
| "msm-dai-cdc-dma-dev.45058", |
| "msm-dai-cdc-dma-dev.45059", |
| "msm-dai-cdc-dma-dev.45061", |
| "msm-dai-cdc-dma-dev.45089", |
| "msm-dai-cdc-dma-dev.45091", |
| "msm-dai-cdc-dma-dev.45120", |
| "msm-dai-cdc-dma-dev.45121", |
| "msm-dai-cdc-dma-dev.45122", |
| "msm-dai-cdc-dma-dev.45123", |
| "msm-dai-cdc-dma-dev.45124", |
| "msm-dai-cdc-dma-dev.45125", |
| "msm-dai-cdc-dma-dev.45126", |
| "msm-dai-cdc-dma-dev.45127", |
| "msm-dai-cdc-dma-dev.45128", |
| "msm-dai-cdc-dma-dev.45129", |
| "msm-dai-cdc-dma-dev.45130", |
| "msm-dai-cdc-dma-dev.45131", |
| "msm-dai-cdc-dma-dev.45133", |
| "msm-dai-cdc-dma-dev.45135"; |
| qcom,msm-mi2s-master = <1>, <1>, <1>, <1>, <1>; |
| qcom,msm-mbhc-hphl-swh = <1>; |
| qcom,msm-mbhc-gnd-swh = <1>; |
| qcom,cdc-dmic-gpios = <&cdc_dmic12_gpios>, <&cdc_dmic34_gpios>; |
| asoc-codec = <&stub_codec>, <&bolero>, |
| <&ext_disp_audio_codec>; |
| asoc-codec-names = "msm-stub-codec.1", "bolero-codec", |
| "msm-ext-disp-audio-codec-rx"; |
| qcom,wsa-max-devs = <2>; |
| qcom,wsa-devs = <&wsa881x_0211>, <&wsa881x_0212>, |
| <&wsa881x_0213>, <&wsa881x_0214>; |
| qcom,wsa-aux-dev-prefix = "SpkrLeft", "SpkrRight", |
| "SpkrLeft", "SpkrRight"; |
| qcom,codec-aux-devs = <&wcd937x_codec>; |
| qcom,msm_audio_ssr_devs = <&audio_apr>, <&q6core>; |
| }; |
| |
| * voice-mhi-audio |
| |
| Required properties: |
| - compatible : "qcom,voice-mhi-audio" |
| - memory-region : CMA region owned by this device |
| |
| Optional properties: |
| - voice_mhi_voting : Property that defines whether voting is needed or not for this device |
| |
| Example: |
| |
| qcom,voice-mhi-audio { |
| compatible = "qcom,voice-mhi-audio"; |
| memory-region = <&mailbox_mem>; |
| voice_mhi_voting; |
| }; |
| |
| }; |
| |
| * LAHAINA ASoC Machine driver |
| |
| Required properties: |
| - compatible : "qcom,lahaina-asoc-snd". |
| - qcom,model : The user-visible name of this sound card. |
| - qcom,audio-routing : A list of the connections between audio components. |
| - asoc-platform: This is phandle list containing the references to platform device |
| nodes that are used as part of the sound card dai-links. |
| - asoc-platform-names: This property contains list of platform names. The order of |
| the platform names should match to that of the phandle order |
| given in "asoc-platform". |
| - asoc-cpu: This is phandle list containing the references to cpu dai device nodes |
| that are used as part of the sound card dai-links. |
| - asoc-cpu-names: This property contains list of cpu dai names. The order of the |
| cpu dai names should match to that of the phandle order given |
| in "asoc-cpu". The cpu names are in the form of "%s.%d" form, |
| where the id (%d) field represents the back-end AFE port id that |
| this CPU dai is associated with. |
| - asoc-codec: This is phandle list containing the references to codec dai device |
| nodes that are used as part of the sound card dai-links. |
| - asoc-codec-names: This property contains list of codec dai names. The order of the |
| codec dai names should match to that of the phandle order given |
| in "asoc-codec". |
| - qcom,codec-aux-devs: This is phandle list containing the references to Auxilary |
| codec devices. |
| |
| Optional properties: |
| - qcom,msm-mi2s-master: This property is used to inform machine driver |
| if MSM is the clock master of mi2s. 1 means master and 0 means slave. The |
| first entry is primary mi2s; the second entry is secondary mi2s, and so on. |
| - qcom,msm-mbhc-hphl-swh: This property is used to distinguish headset HPHL |
| switch type on target typically the switch type will be normally open or |
| normally close, value for this property 0 for normally close and 1 for |
| normally open. |
| - qcom,msm-mbhc-gnd-swh: This property is used to distinguish headset GND |
| switch type on target typically the switch type will be normally open or |
| normally close, value for this property 0 for normally close and 1 for |
| normally open. |
| - qcom,wsa-max-devs : Maximum number of WSA881x devices present in the target |
| - qcom,wsa-devs : List of phandles for all possible WSA881x devices supported for the target |
| - qcom,wsa-aux-dev-prefix : Name prefix with Left/Right configuration for WSA881x device |
| - qcom,ext-disp-audio-rx: Property to specify if Audio over Display port is supported for the target |
| - qcom,wcn-btfm : Property to specify if WCN BT/FM chip is used for the target |
| - qcom,mi2s-audio-intf: Property to specify if MI2S interface is used for the target |
| - qcom,auxpcm-audio-intf: Property to specify if Aux PCM interface is used for the target |
| - qcom,cdc-dmic-gpios : phandle for Digital mic clk and data gpios. |
| - qcom,msm_audio_ssr_devs: List the snd event framework clients |
| - qcom,afe-rxtx-lb: AFE RX to TX loopback. |
| - qcom,tlmm-gpio: TLMM gpio number for corresponding LPASS gpio |
| - qcom,wcd-disabled : Property to specify if wcd codec is disabled for the target |
| |
| Example: |
| lahaina_snd: sound { |
| compatible = "qcom,lahaina-asoc-snd"; |
| qcom,mi2s-audio-intf = <1>; |
| qcom,auxpcm-audio-intf = <1>; |
| qcom,wcn-bt = <0>; |
| qcom,ext-disp-audio-rx = <0>; |
| qcom,afe-rxtx-lb = <0>; |
| qcom,wcd-disabled = <0>; |
| |
| clock-names = "lpass_audio_hw_vote"; |
| clocks = <&lpass_audio_hw_vote 0>; |
| |
| asoc-platform = <&pcm0>, <&pcm1>, <&pcm2>, <&voip>, <&voice>, |
| <&loopback>, <&compress>, <&hostless>, |
| <&afe>, <&lsm>, <&routing>, <&compr>, |
| <&pcm_noirq>; |
| asoc-platform-names = "msm-pcm-dsp.0", "msm-pcm-dsp.1", |
| "msm-pcm-dsp.2", "msm-voip-dsp", |
| "msm-pcm-voice", "msm-pcm-loopback", |
| "msm-compress-dsp", "msm-pcm-hostless", |
| "msm-pcm-afe", "msm-lsm-client", |
| "msm-pcm-routing", "msm-compr-dsp", |
| "msm-pcm-dsp-noirq"; |
| asoc-cpu = <&dai_dp>, <&dai_dp1>, |
| <&dai_mi2s0>, <&dai_mi2s1>, |
| <&dai_mi2s2>, <&dai_mi2s3>, |
| <&dai_mi2s4>, <&dai_mi2s5>, <&dai_pri_auxpcm>, |
| <&dai_sec_auxpcm>, <&dai_tert_auxpcm>, |
| <&dai_quat_auxpcm>, <&dai_quin_auxpcm>, |
| <&dai_sen_auxpcm>, |
| <&afe_pcm_rx>, <&afe_pcm_tx>, <&afe_proxy_rx>, |
| <&afe_proxy_tx>, <&incall_record_rx>, |
| <&incall_record_tx>, <&incall_music_rx>, |
| <&incall_music_2_rx>, |
| <&usb_audio_rx>, <&usb_audio_tx>, |
| <&sb_7_rx>, <&sb_7_tx>, |
| <&dai_pri_tdm_rx_0>, <&dai_pri_tdm_tx_0>, |
| <&dai_sec_tdm_rx_0>, <&dai_sec_tdm_tx_0>, |
| <&dai_tert_tdm_rx_0>, <&dai_tert_tdm_tx_0>, |
| <&dai_quat_tdm_rx_0>, <&dai_quat_tdm_tx_0>, |
| <&dai_quin_tdm_rx_0>, <&dai_quin_tdm_tx_0>, |
| <&dai_sen_tdm_rx_0>, <&dai_sen_tdm_tx_0>, |
| <&wsa_cdc_dma_0_rx>, <&wsa_cdc_dma_0_tx>, |
| <&wsa_cdc_dma_1_rx>, <&wsa_cdc_dma_1_tx>, |
| <&wsa_cdc_dma_2_tx>, |
| <&va_cdc_dma_0_tx>, <&va_cdc_dma_1_tx>, |
| <&va_cdc_dma_2_tx>, |
| <&rx_cdc_dma_0_rx>, <&tx_cdc_dma_0_tx>, |
| <&rx_cdc_dma_1_rx>, <&tx_cdc_dma_1_tx>, |
| <&rx_cdc_dma_2_rx>, <&tx_cdc_dma_2_tx>, |
| <&rx_cdc_dma_3_rx>, <&tx_cdc_dma_3_tx>, |
| <&rx_cdc_dma_4_rx>, <&tx_cdc_dma_4_tx>, |
| <&rx_cdc_dma_5_rx>, <&tx_cdc_dma_5_tx>, |
| <&rx_cdc_dma_6_rx>, <&rx_cdc_dma_7_rx>, |
| <&afe_loopback_tx>; |
| asoc-cpu-names = "msm-dai-q6-dp.0", "msm-dai-q6-dp.1", |
| "msm-dai-q6-mi2s.0", "msm-dai-q6-mi2s.1", |
| "msm-dai-q6-mi2s.2", "msm-dai-q6-mi2s.3", |
| "msm-dai-q6-mi2s.4", "msm-dai-q6-mi2s.5", |
| "msm-dai-q6-auxpcm.1", |
| "msm-dai-q6-auxpcm.2", "msm-dai-q6-auxpcm.3", |
| "msm-dai-q6-auxpcm.4", "msm-dai-q6-auxpcm.5", |
| "msm-dai-q6-auxpcm.6", "msm-dai-q6-dev.224", |
| "msm-dai-q6-dev.225", "msm-dai-q6-dev.241", |
| "msm-dai-q6-dev.240", "msm-dai-q6-dev.32771", |
| "msm-dai-q6-dev.32772", "msm-dai-q6-dev.32773", |
| "msm-dai-q6-dev.32770", |
| "msm-dai-q6-dev.28672", "msm-dai-q6-dev.28673", |
| "msm-dai-q6-dev.16398", "msm-dai-q6-dev.16399", |
| "msm-dai-q6-tdm.36864", "msm-dai-q6-tdm.36865", |
| "msm-dai-q6-tdm.36880", "msm-dai-q6-tdm.36881", |
| "msm-dai-q6-tdm.36896", "msm-dai-q6-tdm.36897", |
| "msm-dai-q6-tdm.36912", "msm-dai-q6-tdm.36913", |
| "msm-dai-q6-tdm.36928", "msm-dai-q6-tdm.36929", |
| "msm-dai-q6-tdm.36944", "msm-dai-q6-tdm.36945", |
| "msm-dai-cdc-dma-dev.45056", |
| "msm-dai-cdc-dma-dev.45057", |
| "msm-dai-cdc-dma-dev.45058", |
| "msm-dai-cdc-dma-dev.45059", |
| "msm-dai-cdc-dma-dev.45061", |
| "msm-dai-cdc-dma-dev.45089", |
| "msm-dai-cdc-dma-dev.45091", |
| "msm-dai-cdc-dma-dev.45093", |
| "msm-dai-cdc-dma-dev.45104", |
| "msm-dai-cdc-dma-dev.45105", |
| "msm-dai-cdc-dma-dev.45106", |
| "msm-dai-cdc-dma-dev.45107", |
| "msm-dai-cdc-dma-dev.45108", |
| "msm-dai-cdc-dma-dev.45109", |
| "msm-dai-cdc-dma-dev.45110", |
| "msm-dai-cdc-dma-dev.45111", |
| "msm-dai-cdc-dma-dev.45112", |
| "msm-dai-cdc-dma-dev.45113", |
| "msm-dai-cdc-dma-dev.45114", |
| "msm-dai-cdc-dma-dev.45115", |
| "msm-dai-cdc-dma-dev.45116", |
| "msm-dai-cdc-dma-dev.45118", |
| "msm-dai-q6-dev.24577"; |
| fsa4480-i2c-handle = <&fsa4480>; |
| }; |
| }; |
| |
| * HOLI ASoC Machine driver |
| |
| Required properties: |
| - compatible : "qcom,holi-asoc-snd". |
| - qcom,model : The user-visible name of this sound card. |
| - qcom,audio-routing : A list of the connections between audio components. |
| - asoc-platform: This is phandle list containing the references to platform device |
| nodes that are used as part of the sound card dai-links. |
| - asoc-platform-names: This property contains list of platform names. The order of |
| the platform names should match to that of the phandle order |
| given in "asoc-platform". |
| - asoc-cpu: This is phandle list containing the references to cpu dai device nodes |
| that are used as part of the sound card dai-links. |
| - asoc-cpu-names: This property contains list of cpu dai names. The order of the |
| cpu dai names should match to that of the phandle order given |
| in "asoc-cpu". The cpu names are in the form of "%s.%d" form, |
| where the id (%d) field represents the back-end AFE port id that |
| this CPU dai is associated with. |
| - asoc-codec: This is phandle list containing the references to codec dai device |
| nodes that are used as part of the sound card dai-links. |
| - asoc-codec-names: This property contains list of codec dai names. The order of the |
| codec dai names should match to that of the phandle order given |
| in "asoc-codec". |
| - qcom,codec-aux-devs: This is phandle list containing the references to Auxilary |
| codec devices. |
| |
| Optional properties: |
| - qcom,msm-mi2s-master: This property is used to inform machine driver |
| if MSM is the clock master of mi2s. 1 means master and 0 means slave. The |
| first entry is primary mi2s; the second entry is secondary mi2s, and so on. |
| - qcom,msm-mbhc-hphl-swh: This property is used to distinguish headset HPHL |
| switch type on target typically the switch type will be normally open or |
| normally close, value for this property 0 for normally close and 1 for |
| normally open. |
| - qcom,msm-mbhc-gnd-swh: This property is used to distinguish headset GND |
| switch type on target typically the switch type will be normally open or |
| normally close, value for this property 0 for normally close and 1 for |
| normally open. |
| - qcom,wsa-max-devs : Maximum number of WSA881x devices present in the target |
| - qcom,wsa-devs : List of phandles for all possible WSA881x devices supported for the target |
| - qcom,wsa-aux-dev-prefix : Name prefix with Left/Right configuration for WSA881x device |
| - qcom,ext-disp-audio-rx: Property to specify if Audio over Display port is supported for the target |
| - qcom,wcn-btfm : Property to specify if WCN BT/FM chip is used for the target |
| - qcom,mi2s-audio-intf: Property to specify if MI2S interface is used for the target |
| - qcom,auxpcm-audio-intf: Property to specify if Aux PCM interface is used for the target |
| - qcom,cdc-dmic-gpios : phandle for Digital mic clk and data gpios. |
| - qcom,msm_audio_ssr_devs: List the snd event framework clients |
| - qcom,afe-rxtx-lb: AFE RX to TX loopback. |
| - qcom,tlmm-gpio: TLMM gpio number for corresponding LPASS gpio |
| |
| Example: |
| holi_snd: sound { |
| compatible = "qcom,holi-asoc-snd"; |
| qcom,mi2s-audio-intf = <1>; |
| qcom,auxpcm-audio-intf = <1>; |
| qcom,wcn-bt = <0>; |
| qcom,afe-rxtx-lb = <0>; |
| qcom,is-wcd937x-codec = <1>; |
| |
| clock-names = "lpass_audio_hw_vote"; |
| clocks = <&lpass_audio_hw_vote 0>; |
| |
| asoc-platform = <&pcm0>, <&pcm1>, <&pcm2>, <&voip>, <&voice>, |
| <&loopback>, <&compress>, <&hostless>, |
| <&afe>, <&lsm>, <&routing>, <&compr>, |
| <&pcm_noirq>; |
| asoc-platform-names = "msm-pcm-dsp.0", "msm-pcm-dsp.1", |
| "msm-pcm-dsp.2", "msm-voip-dsp", |
| "msm-pcm-voice", "msm-pcm-loopback", |
| "msm-compress-dsp", "msm-pcm-hostless", |
| "msm-pcm-afe", "msm-lsm-client", |
| "msm-pcm-routing", "msm-compr-dsp", |
| "msm-pcm-dsp-noirq"; |
| asoc-cpu = <&dai_mi2s0>, <&dai_mi2s1>, |
| <&dai_mi2s2>, <&dai_mi2s3>, |
| <&dai_pri_auxpcm>, |
| <&dai_sec_auxpcm>, <&dai_tert_auxpcm>, |
| <&dai_quat_auxpcm>, |
| <&afe_pcm_rx>, <&afe_pcm_tx>, <&afe_proxy_rx>, |
| <&afe_proxy_tx>, <&incall_record_rx>, |
| <&incall_record_tx>, <&incall_music_rx>, |
| <&incall_music_2_rx>, |
| <&afe_proxy_tx_1>, |
| <&proxy_rx>, <&proxy_tx>, |
| <&usb_audio_rx>, <&usb_audio_tx>, |
| <&sb_7_rx>, <&sb_7_tx>, |
| <&dai_pri_tdm_rx_0>, <&dai_pri_tdm_tx_0>, |
| <&dai_sec_tdm_rx_0>, <&dai_sec_tdm_tx_0>, |
| <&dai_tert_tdm_rx_0>, <&dai_tert_tdm_tx_0>, |
| <&dai_quat_tdm_rx_0>, <&dai_quat_tdm_tx_0>, |
| <&va_cdc_dma_0_tx>, <&va_cdc_dma_1_tx>, |
| <&va_cdc_dma_2_tx>, |
| <&rx_cdc_dma_0_rx>, <&tx_cdc_dma_0_tx>, |
| <&rx_cdc_dma_1_rx>, <&tx_cdc_dma_1_tx>, |
| <&rx_cdc_dma_2_rx>, <&tx_cdc_dma_2_tx>, |
| <&rx_cdc_dma_3_rx>, <&tx_cdc_dma_3_tx>, |
| <&rx_cdc_dma_4_rx>, <&tx_cdc_dma_4_tx>, |
| <&rx_cdc_dma_5_rx>, <&tx_cdc_dma_5_tx>, |
| <&rx_cdc_dma_7_rx>,<&afe_loopback_tx>; |
| asoc-cpu-names = "msm-dai-q6-mi2s.0", "msm-dai-q6-mi2s.1", |
| "msm-dai-q6-mi2s.2", "msm-dai-q6-mi2s.3", |
| "msm-dai-q6-auxpcm.1", |
| "msm-dai-q6-auxpcm.2", "msm-dai-q6-auxpcm.3", |
| "msm-dai-q6-auxpcm.4", |
| "msm-dai-q6-dev.224", |
| "msm-dai-q6-dev.225", "msm-dai-q6-dev.241", |
| "msm-dai-q6-dev.240", "msm-dai-q6-dev.32771", |
| "msm-dai-q6-dev.32772", "msm-dai-q6-dev.32773", |
| "msm-dai-q6-dev.32770", |
| "msm-dai-q6-dev.242", |
| "msm-dai-q6-dev.8194", "msm-dai-q6-dev.8195", |
| "msm-dai-q6-dev.28672", "msm-dai-q6-dev.28673", |
| "msm-dai-q6-dev.16398", "msm-dai-q6-dev.16399", |
| "msm-dai-q6-tdm.36864", "msm-dai-q6-tdm.36865", |
| "msm-dai-q6-tdm.36880", "msm-dai-q6-tdm.36881", |
| "msm-dai-q6-tdm.36896", "msm-dai-q6-tdm.36897", |
| "msm-dai-q6-tdm.36912", "msm-dai-q6-tdm.36913", |
| "msm-dai-cdc-dma-dev.45089", |
| "msm-dai-cdc-dma-dev.45091", |
| "msm-dai-cdc-dma-dev.45093", |
| "msm-dai-cdc-dma-dev.45104", |
| "msm-dai-cdc-dma-dev.45105", |
| "msm-dai-cdc-dma-dev.45106", |
| "msm-dai-cdc-dma-dev.45107", |
| "msm-dai-cdc-dma-dev.45108", |
| "msm-dai-cdc-dma-dev.45109", |
| "msm-dai-cdc-dma-dev.45110", |
| "msm-dai-cdc-dma-dev.45111", |
| "msm-dai-cdc-dma-dev.45112", |
| "msm-dai-cdc-dma-dev.45113", |
| "msm-dai-cdc-dma-dev.45114", |
| "msm-dai-cdc-dma-dev.45115", |
| "msm-dai-cdc-dma-dev.45118", |
| "msm-dai-q6-dev.24577"; |
| }; |
| }; |
| |
| |
| * Waipio ASoC Machine driver |
| |
| Required properties: |
| - compatible : "qcom,waipio-asoc-snd". |
| - compatible : "qcom,waipio-asoc-snd-stub" for waipio rumi target. |
| - qcom,model : The user-visible name of this sound card. |
| - qcom,audio-routing : A list of the connections between audio components. |
| - asoc-platform: This is phandle list containing the references to platform device |
| nodes that are used as part of the sound card dai-links. |
| - asoc-platform-names: This property contains list of platform names. The order of |
| the platform names should match to that of the phandle order |
| given in "asoc-platform". |
| - asoc-cpu: This is phandle list containing the references to cpu dai device nodes |
| that are used as part of the sound card dai-links. |
| - asoc-cpu-names: This property contains list of cpu dai names. The order of the |
| cpu dai names should match to that of the phandle order given |
| in "asoc-cpu". The cpu names are in the form of "%s.%d" form, |
| where the id (%d) field represents the back-end AFE port id that |
| this CPU dai is associated with. |
| - asoc-codec: This is phandle list containing the references to codec dai device |
| nodes that are used as part of the sound card dai-links. |
| - asoc-codec-names: This property contains list of codec dai names. The order of the |
| codec dai names should match to that of the phandle order given |
| in "asoc-codec". |
| - qcom,codec-aux-devs: This is phandle list containing the references to Auxilary |
| codec devices. |
| |
| Optional properties: |
| - qcom,msm-mi2s-master: This property is used to inform machine driver |
| if MSM is the clock master of mi2s. 1 means master and 0 means slave. The |
| first entry is primary mi2s; the second entry is secondary mi2s, and so on. |
| - qcom,tdm-clk-attribute: This property is used to set the clock attribute for tdm. |
| The first entry is primary tdm; the second entry is secondary tdm, and so on. |
| - qcom,mi2s-clk-attribute: This property is used to set the clock attribute for mi2s. |
| The first entry is primary mi2s; the second entry is secondary mi2s, and so on. |
| - qcom,msm-mbhc-hphl-swh: This property is used to distinguish headset HPHL |
| switch type on target typically the switch type will be normally open or |
| normally close, value for this property 0 for normally close and 1 for |
| normally open. |
| - qcom,msm-mbhc-gnd-swh: This property is used to distinguish headset GND |
| switch type on target typically the switch type will be normally open or |
| normally close, value for this property 0 for normally close and 1 for |
| normally open. |
| - qcom,wsa-max-devs : Maximum number of WSA881x devices present in the target |
| - qcom,wsa-devs : List of phandles for all possible WSA881x devices supported for the target |
| - qcom,wsa-aux-dev-prefix : Name prefix with Left/Right configuration for WSA881x device |
| - qcom,ext-disp-audio-rx: Property to specify if Audio over Display port is supported for the target |
| - qcom,wcn-btfm : Property to specify if WCN BT/FM chip is used for the target |
| - qcom,mi2s-audio-intf: Property to specify if MI2S interface is used for the target |
| - qcom,auxpcm-audio-intf: Property to specify if Aux PCM interface is used for the target |
| - qcom,cdc-dmic-gpios : phandle for Digital mic clk and data gpios. |
| - qcom,msm_audio_ssr_devs: List the snd event framework clients |
| - qcom,afe-rxtx-lb: AFE RX to TX loopback. |
| - qcom,tlmm-gpio: TLMM gpio number for corresponding LPASS gpio |
| |
| Example: |
| waipio_snd: sound { |
| compatible = "qcom,waipio-asoc-snd"; |
| qcom,mi2s-audio-intf = <1>; |
| qcom,auxpcm-audio-intf = <1>; |
| qcom,tdm-clk-attribute = <0x1>, <0x1>, <0x1>, <0x1>, <0x1>, <0x1>; |
| qcom,mi2s-clk-attribute = <0x1>, <0x1>, <0x1>, <0x1>, <0x1>, <0x1>; |
| qcom,wcn-bt = <0>; |
| qcom,ext-disp-audio-rx = <0>; |
| qcom,afe-rxtx-lb = <0>; |
| |
| clock-names = "lpass_audio_hw_vote"; |
| clocks = <&lpass_audio_hw_vote 0>; |
| |
| asoc-platform = <&pcm0>, <&pcm1>, <&pcm2>, <&voip>, <&voice>, |
| <&loopback>, <&compress>, <&hostless>, |
| <&afe>, <&lsm>, <&routing>, <&compr>, |
| <&pcm_noirq>; |
| asoc-platform-names = "msm-pcm-dsp.0", "msm-pcm-dsp.1", |
| "msm-pcm-dsp.2", "msm-voip-dsp", |
| "msm-pcm-voice", "msm-pcm-loopback", |
| "msm-compress-dsp", "msm-pcm-hostless", |
| "msm-pcm-afe", "msm-lsm-client", |
| "msm-pcm-routing", "msm-compr-dsp", |
| "msm-pcm-dsp-noirq"; |
| asoc-cpu = <&dai_dp>, <&dai_dp1>, |
| <&dai_mi2s0>, <&dai_mi2s1>, |
| <&dai_mi2s2>, <&dai_mi2s3>, |
| <&dai_mi2s4>, <&dai_mi2s5>, <&dai_pri_auxpcm>, |
| <&dai_sec_auxpcm>, <&dai_tert_auxpcm>, |
| <&dai_quat_auxpcm>, <&dai_quin_auxpcm>, |
| <&dai_sen_auxpcm>, |
| <&afe_pcm_rx>, <&afe_pcm_tx>, <&afe_proxy_rx>, |
| <&afe_proxy_tx>, <&incall_record_rx>, |
| <&incall_record_tx>, <&incall_music_rx>, |
| <&incall_music_2_rx>, |
| <&usb_audio_rx>, <&usb_audio_tx>, |
| <&sb_7_rx>, <&sb_7_tx>, |
| <&dai_pri_tdm_rx_0>, <&dai_pri_tdm_tx_0>, |
| <&dai_sec_tdm_rx_0>, <&dai_sec_tdm_tx_0>, |
| <&dai_tert_tdm_rx_0>, <&dai_tert_tdm_tx_0>, |
| <&dai_quat_tdm_rx_0>, <&dai_quat_tdm_tx_0>, |
| <&dai_quin_tdm_rx_0>, <&dai_quin_tdm_tx_0>, |
| <&dai_sen_tdm_rx_0>, <&dai_sen_tdm_tx_0>, |
| <&wsa_cdc_dma_0_rx>, <&wsa_cdc_dma_0_tx>, |
| <&wsa_cdc_dma_1_rx>, <&wsa_cdc_dma_1_tx>, |
| <&wsa_cdc_dma_2_tx>, |
| <&va_cdc_dma_0_tx>, <&va_cdc_dma_1_tx>, |
| <&va_cdc_dma_2_tx>, |
| <&rx_cdc_dma_0_rx>, <&tx_cdc_dma_0_tx>, |
| <&rx_cdc_dma_1_rx>, <&tx_cdc_dma_1_tx>, |
| <&rx_cdc_dma_2_rx>, <&tx_cdc_dma_2_tx>, |
| <&rx_cdc_dma_3_rx>, <&tx_cdc_dma_3_tx>, |
| <&rx_cdc_dma_4_rx>, <&tx_cdc_dma_4_tx>, |
| <&rx_cdc_dma_5_rx>, <&tx_cdc_dma_5_tx>, |
| <&rx_cdc_dma_6_rx>, <&rx_cdc_dma_7_rx>, |
| <&afe_loopback_tx>; |
| asoc-cpu-names = "msm-dai-q6-dp.0", "msm-dai-q6-dp.1", |
| "msm-dai-q6-mi2s.0", "msm-dai-q6-mi2s.1", |
| "msm-dai-q6-mi2s.2", "msm-dai-q6-mi2s.3", |
| "msm-dai-q6-mi2s.4", "msm-dai-q6-mi2s.5", |
| "msm-dai-q6-auxpcm.1", |
| "msm-dai-q6-auxpcm.2", "msm-dai-q6-auxpcm.3", |
| "msm-dai-q6-auxpcm.4", "msm-dai-q6-auxpcm.5", |
| "msm-dai-q6-auxpcm.6", "msm-dai-q6-dev.224", |
| "msm-dai-q6-dev.225", "msm-dai-q6-dev.241", |
| "msm-dai-q6-dev.240", "msm-dai-q6-dev.32771", |
| "msm-dai-q6-dev.32772", "msm-dai-q6-dev.32773", |
| "msm-dai-q6-dev.32770", |
| "msm-dai-q6-dev.28672", "msm-dai-q6-dev.28673", |
| "msm-dai-q6-dev.16398", "msm-dai-q6-dev.16399", |
| "msm-dai-q6-tdm.36864", "msm-dai-q6-tdm.36865", |
| "msm-dai-q6-tdm.36880", "msm-dai-q6-tdm.36881", |
| "msm-dai-q6-tdm.36896", "msm-dai-q6-tdm.36897", |
| "msm-dai-q6-tdm.36912", "msm-dai-q6-tdm.36913", |
| "msm-dai-q6-tdm.36928", "msm-dai-q6-tdm.36929", |
| "msm-dai-q6-tdm.36944", "msm-dai-q6-tdm.36945", |
| "msm-dai-cdc-dma-dev.45056", |
| "msm-dai-cdc-dma-dev.45057", |
| "msm-dai-cdc-dma-dev.45058", |
| "msm-dai-cdc-dma-dev.45059", |
| "msm-dai-cdc-dma-dev.45061", |
| "msm-dai-cdc-dma-dev.45089", |
| "msm-dai-cdc-dma-dev.45091", |
| "msm-dai-cdc-dma-dev.45093", |
| "msm-dai-cdc-dma-dev.45104", |
| "msm-dai-cdc-dma-dev.45105", |
| "msm-dai-cdc-dma-dev.45106", |
| "msm-dai-cdc-dma-dev.45107", |
| "msm-dai-cdc-dma-dev.45108", |
| "msm-dai-cdc-dma-dev.45109", |
| "msm-dai-cdc-dma-dev.45110", |
| "msm-dai-cdc-dma-dev.45111", |
| "msm-dai-cdc-dma-dev.45112", |
| "msm-dai-cdc-dma-dev.45113", |
| "msm-dai-cdc-dma-dev.45114", |
| "msm-dai-cdc-dma-dev.45115", |
| "msm-dai-cdc-dma-dev.45116", |
| "msm-dai-cdc-dma-dev.45118", |
| "msm-dai-q6-dev.24577"; |
| fsa4480-i2c-handle = <&fsa4480>; |
| }; |
| }; |
| |
| |
| * Kalama ASoC Machine driver |
| |
| Required properties: |
| - compatible : "qcom,kalama-asoc-snd". |
| - compatible : "qcom,kalama-asoc-snd-stub" for kalama rumi target. |
| - qcom,model : The user-visible name of this sound card. |
| - qcom,audio-routing : A list of the connections between audio components. |
| - asoc-codec: This is phandle list containing the references to codec dai device |
| nodes that are used as part of the sound card dai-links. |
| - asoc-codec-names: This property contains list of codec dai names. The order of the |
| codec dai names should match to that of the phandle order given |
| in "asoc-codec". |
| |
| Optional properties: |
| - asoc-platform: This is phandle list containing the references to platform device |
| nodes that are used as part of the sound card dai-links. |
| - asoc-platform-names: This property contains list of platform names. The order of |
| the platform names should match to that of the phandle order |
| given in "asoc-platform". |
| - asoc-cpu: This is phandle list containing the references to cpu dai device nodes |
| that are used as part of the sound card dai-links. |
| - asoc-cpu-names: This property contains list of cpu dai names. The order of the |
| cpu dai names should match to that of the phandle order given |
| in "asoc-cpu". The cpu names are in the form of "%s.%d" form, |
| where the id (%d) field represents the back-end AFE port id that |
| this CPU dai is associated with. |
| - qcom,msm-mi2s-master: This property is used to inform machine driver |
| if MSM is the clock master of mi2s. 1 means master and 0 means slave. The |
| first entry is primary mi2s; the second entry is secondary mi2s, and so on. |
| - qcom,tdm-clk-attribute: This property is used to set the clock attribute for tdm. |
| The first entry is primary tdm; the second entry is secondary tdm, and so on. |
| - qcom,mi2s-clk-attribute: This property is used to set the clock attribute for mi2s. |
| The first entry is primary mi2s; the second entry is secondary mi2s, and so on. |
| - qcom,msm-mbhc-hphl-swh: This property is used to distinguish headset HPHL |
| switch type on target typically the switch type will be normally open or |
| normally close, value for this property 0 for normally close and 1 for |
| normally open. |
| - qcom,msm-mbhc-gnd-swh: This property is used to distinguish headset GND |
| switch type on target typically the switch type will be normally open or |
| normally close, value for this property 0 for normally close and 1 for |
| normally open. |
| - qcom,codec-aux-devs: This is phandle list containing the references to Auxilary |
| codec devices. |
| - qcom,wsa-max-devs : Maximum number of WSA881x devices present in the target |
| - qcom,wsa-devs : List of phandles for all possible WSA881x devices supported for the target |
| - qcom,wsa-aux-dev-prefix : Name prefix with Left/Right configuration for WSA881x device |
| - qcom,ext-disp-audio-rx: Property to specify if Audio over Display port is supported for the target |
| - qcom,wcn-btfm : Property to specify if WCN BT/FM chip is used for the target |
| - qcom,mi2s-audio-intf: Property to specify if MI2S interface is used for the target |
| - qcom,auxpcm-audio-intf: Property to specify if Aux PCM interface is used for the target |
| - qcom,cdc-dmic-gpios : phandle for Digital mic clk and data gpios. |
| - qcom,msm_audio_ssr_devs: List the snd event framework clients |
| - qcom,afe-rxtx-lb: AFE RX to TX loopback. |
| - qcom,tlmm-gpio: TLMM gpio number for corresponding LPASS gpio |
| |
| Example: |
| kalama_snd: sound { |
| compatible = "qcom,kalama-asoc-snd"; |
| qcom,mi2s-audio-intf = <1>; |
| qcom,auxpcm-audio-intf = <1>; |
| qcom,tdm-clk-attribute = <0x1>, <0x1>, <0x1>, <0x1>, <0x1>, <0x1>; |
| qcom,mi2s-clk-attribute = <0x1>, <0x1>, <0x1>, <0x1>, <0x1>, <0x1>; |
| qcom,wcn-bt = <0>; |
| qcom,ext-disp-audio-rx = <0>; |
| qcom,afe-rxtx-lb = <0>; |
| |
| clock-names = "lpass_audio_hw_vote"; |
| clocks = <&lpass_audio_hw_vote 0>; |
| |
| asoc-codec = <&stub_codec>, <&lpass_cdc>, |
| <&wcd938x_codec>, <&swr_haptics>, |
| <&wsa884x_0220>, <&wsa884x_0221>; |
| asoc-codec-names = "msm-stub-codec.1", "lpass-cdc", |
| "wcd938x_codec", "swr-haptics", |
| "wsa-codec1", "wsa-codec2"; |
| }; |
| }; |
| |
| Required properties: |
| - compatible : "qcom,spf-core-platform" |
| |
| Required properties: |
| - compatible : "qcom,audio-pkt-core-platform" |
| |
| Required properties: |
| - compatible : "qcom,swr-wcd" |
| |
| Required properties: |
| - compatible : "qcom,tavil-i2c" |
| |
| Required properties: |
| - compatible : "qcom,wcd-pinctrl" |
| |
| Required properties: |
| - compatible : "qcom,gpr" |
| |
| Required properties: |
| - compatible : "qcom,spf_core" |
| |
| Required properties: |
| - compatible : "qcom,audio-pkt" |
| |
| Required properties: |
| - compatible : "qcom,audio_prm" |
| |
| * SPF SA8255 ASoC Machine driver |
| |
| Required properties: |
| - compatible : "qcom,sa8255-asoc-snd-adp-star" for auto adp codec. |
| - qcom,model : The user-visible name of this sound card. |
| - asoc-codec: This is phandle list containing the references to codec dai device |
| nodes that are used as part of the sound card dai-links. |
| - asoc-codec-names: This property contains list of codec dai names. The order of the |
| codec dai names should match to that of the phandle order given |
| in "asoc-codec". |
| |
| Optional properties: |
| - qcom,mi2s-audio-intf : Property to specify if MI2S interface is used for the target |
| - qcom,auxpcm-audio-intf : Property to specify if AUX PCM interface is used for the target |
| - qcom,msm-mi2s-master : List of master/slave configuration for MI2S interfaces |
| |
| Example: |
| |
| spf_snd_8255: spf-sound-adp-star { |
| compatible = "qcom,sa8255-asoc-snd-adp-star"; |
| qcom,model = "sa8255-adp-star-snd-card"; |
| asoc-codec = <&stub_codec>; |
| asoc-codec-names = "msm-stub-codec.1"; |
| }; |
| |
| * SPF SA8295 GVM ASoC Machine driver |
| |
| Required properties: |
| - compatible : "qcom,gvm-auto-spf-asoc-snd-adp-star" for auto adp codec. |
| - qcom,model : The user-visible name of this sound card. |
| - asoc-codec: This is phandle list containing the references to codec dai device |
| nodes that are used as part of the sound card dai-links. |
| - asoc-codec-names: This property contains list of codec dai names. The order of the |
| codec dai names should match to that of the phandle order given |
| in "asoc-codec". |
| |
| Example: |
| |
| snd_8295_ar: sound-adp-star { |
| compatible = "qcom,gvm-auto-spf-asoc-snd-adp-star"; |
| qcom,model = "gvmauto8295-adp-star-snd-card"; |
| asoc-codec = <&stub_codec>; |
| asoc-codec-names = "msm-stub-codec.1"; |
| }; |
| |
| * SPF SA8255 GVM ASoC Machine driver |
| |
| Required properties: |
| - compatible : "qcom,gvm-auto-spf-asoc-snd-adp-star" for auto adp codec. |
| - qcom,model : The user-visible name of this sound card. |
| - asoc-codec: This is phandle list containing the references to codec dai device |
| nodes that are used as part of the sound card dai-links. |
| - asoc-codec-names: This property contains list of codec dai names. The order of the |
| codec dai names should match to that of the phandle order given |
| in "asoc-codec". |
| |
| Example: |
| |
| snd_8255_ar: sound-adp-star { |
| compatible = "qcom,gvm-auto-spf-asoc-snd-adp-star"; |
| qcom,model = "gvmauto8255-adp-star-snd-card"; |
| asoc-codec = <&stub_codec>; |
| asoc-codec-names = "msm-stub-codec.1"; |
| }; |