Skip to content

Commit

Permalink
Merge remote-tracking branch 'asoc/for-5.8' into asoc-next
Browse files Browse the repository at this point in the history
  • Loading branch information
broonie committed May 8, 2020
2 parents f364349 + 2d6201e commit 5877b88
Show file tree
Hide file tree
Showing 215 changed files with 8,804 additions and 2,231 deletions.
2 changes: 2 additions & 0 deletions Documentation/devicetree/bindings/dsp/fsl,dsp.yaml
Expand Up @@ -17,6 +17,8 @@ properties:
compatible:
enum:
- fsl,imx8qxp-dsp
- fsl,imx8qm-dsp
- fsl,imx8mp-dsp

reg:
description: Should contain register location and length
Expand Down
4 changes: 4 additions & 0 deletions Documentation/devicetree/bindings/sound/fsl,asrc.txt
Expand Up @@ -51,6 +51,10 @@ Optional properties:
will be in use as default. Otherwise, the big endian
mode will be in use for all the device registers.

- fsl,asrc-format : Defines a mutual sample format used by DPCM Back
Ends, which can replace the fsl,asrc-width.
The value is 2 (S16_LE), or 6 (S24_LE).

Example:

asrc: asrc@2034000 {
Expand Down
101 changes: 101 additions & 0 deletions Documentation/devicetree/bindings/sound/fsl,easrc.yaml
@@ -0,0 +1,101 @@
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/sound/fsl,easrc.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: NXP Asynchronous Sample Rate Converter (ASRC) Controller

maintainers:
- Shengjiu Wang <shengjiu.wang@nxp.com>

properties:
$nodename:
pattern: "^easrc@.*"

compatible:
const: fsl,imx8mn-easrc

reg:
maxItems: 1

interrupts:
maxItems: 1

clocks:
items:
- description: Peripheral clock

clock-names:
items:
- const: mem

dmas:
maxItems: 8

dma-names:
items:
- const: ctx0_rx
- const: ctx0_tx
- const: ctx1_rx
- const: ctx1_tx
- const: ctx2_rx
- const: ctx2_tx
- const: ctx3_rx
- const: ctx3_tx

firmware-name:
allOf:
- $ref: /schemas/types.yaml#/definitions/string
- const: imx/easrc/easrc-imx8mn.bin
description: The coefficient table for the filters

fsl,asrc-rate:
allOf:
- $ref: /schemas/types.yaml#/definitions/uint32
- minimum: 8000
- maximum: 192000
description: Defines a mutual sample rate used by DPCM Back Ends

fsl,asrc-format:
allOf:
- $ref: /schemas/types.yaml#/definitions/uint32
- enum: [2, 6, 10, 32, 36]
default: 2
description:
Defines a mutual sample format used by DPCM Back Ends

required:
- compatible
- reg
- interrupts
- clocks
- clock-names
- dmas
- dma-names
- firmware-name
- fsl,asrc-rate
- fsl,asrc-format

examples:
- |
#include <dt-bindings/clock/imx8mn-clock.h>
easrc: easrc@300c0000 {
compatible = "fsl,imx8mn-easrc";
reg = <0x0 0x300c0000 0x0 0x10000>;
interrupts = <0x0 122 0x4>;
clocks = <&clk IMX8MN_CLK_ASRC_ROOT>;
clock-names = "mem";
dmas = <&sdma2 16 23 0> , <&sdma2 17 23 0>,
<&sdma2 18 23 0> , <&sdma2 19 23 0>,
<&sdma2 20 23 0> , <&sdma2 21 23 0>,
<&sdma2 22 23 0> , <&sdma2 23 23 0>;
dma-names = "ctx0_rx", "ctx0_tx",
"ctx1_rx", "ctx1_tx",
"ctx2_rx", "ctx2_tx",
"ctx3_rx", "ctx3_tx";
firmware-name = "imx/easrc/easrc-imx8mn.bin";
fsl,asrc-rate = <8000>;
fsl,asrc-format = <2>;
};
Expand Up @@ -29,6 +29,7 @@ Optional properties:
- nvidia,hp-det-gpios : The GPIO that detect headphones are plugged in
- nvidia,int-mic-en-gpios : The GPIO that enables the internal microphone
- nvidia,ext-mic-en-gpios : The GPIO that enables the external microphone
- nvidia,headset : The Mic Jack represents state of the headset microphone pin

Example:

Expand Down
25 changes: 25 additions & 0 deletions Documentation/devicetree/bindings/sound/qcom,lpass-cpu.txt
Expand Up @@ -30,13 +30,29 @@ Required properties:
- reg : Must contain an address for each entry in reg-names.
- reg-names : A list which must include the following entries:
* "lpass-lpaif"
- #address-cells : Must be 1
- #size-cells : Must be 0



Optional properties:

- qcom,adsp : Phandle for the audio DSP node

By default, the driver uses up to 4 MI2S SD lines, for a total of 8 channels.
The SD lines to use can be configured by adding subnodes for each of the DAIs.

Required properties for each DAI (represented by a subnode):
- reg : Must be one of the DAI IDs
(usually part of dt-bindings header)
- qcom,playback-sd-lines: List of serial data lines to use for playback
Each SD line should be represented by a number from 0-3.
- qcom,capture-sd-lines : List of serial data lines to use for capture
Each SD line should be represented by a number from 0-3.

Note that adding a subnode changes the default to "no lines configured",
so both playback and capture lines should be configured when a subnode is added.

Example:

lpass@28100000 {
Expand All @@ -51,4 +67,13 @@ lpass@28100000 {
reg = <0x28100000 0x10000>;
reg-names = "lpass-lpaif";
qcom,adsp = <&adsp>;

#address-cells = <1>;
#size-cells = <0>;

/* Optional to set different MI2S SD lines */
dai@3 {
reg = <MI2S_QUATERNARY>;
qcom,playback-sd-lines = <0 1>;
};
};
2 changes: 1 addition & 1 deletion Documentation/devicetree/bindings/sound/qcom,q6adm.txt
Expand Up @@ -29,7 +29,7 @@ used by the apr service device.
Definition: Must be 0

= EXAMPLE
q6adm@8 {
apr-service@8 {
compatible = "qcom,q6adm";
reg = <APR_SVC_ADM>;
q6routing: routing {
Expand Down
46 changes: 23 additions & 23 deletions Documentation/devicetree/bindings/sound/qcom,q6afe.txt
Expand Up @@ -100,7 +100,7 @@ configuration of each dai. Must contain the following properties.

= EXAMPLE

q6afe@4 {
apr-service@4 {
compatible = "qcom,q6afe";
reg = <APR_SVC_AFE>;

Expand All @@ -110,12 +110,12 @@ q6afe@4 {
#address-cells = <1>;
#size-cells = <0>;

hdmi@1 {
reg = <1>;
dai@1 {
reg = <HDMI_RX>;
};

tdm@24 {
reg = <24>;
dai@24 {
reg = <PRIMARY_TDM_RX_0>;
qcom,tdm-sync-mode = <1>:
qcom,tdm-sync-src = <1>;
qcom,tdm-data-out = <0>;
Expand All @@ -125,8 +125,8 @@ q6afe@4 {

};

tdm@25 {
reg = <25>;
dai@25 {
reg = <PRIMARY_TDM_TX_0>;
qcom,tdm-sync-mode = <1>:
qcom,tdm-sync-src = <1>;
qcom,tdm-data-out = <0>;
Expand All @@ -135,43 +135,43 @@ q6afe@4 {
qcom,tdm-data-align = <0>;
};

prim-mi2s-rx@16 {
reg = <16>;
dai@16 {
reg = <PRIMARY_MI2S_RX>;
qcom,sd-lines = <0 2>;
};

prim-mi2s-tx@17 {
reg = <17>;
dai@17 {
reg = <PRIMARY_MI2S_TX>;
qcom,sd-lines = <1>;
};

sec-mi2s-rx@18 {
reg = <18>;
dai@18 {
reg = <SECONDARY_MI2S_RX>;
qcom,sd-lines = <0 3>;
};

sec-mi2s-tx@19 {
reg = <19>;
dai@19 {
reg = <SECONDARY_MI2S_TX>;
qcom,sd-lines = <1>;
};

tert-mi2s-rx@20 {
reg = <20>;
dai@20 {
reg = <TERTIARY_MI2S_RX>;
qcom,sd-lines = <1 3>;
};

tert-mi2s-tx@21 {
reg = <21>;
dai@21 {
reg = <TERTIARY_MI2S_TX>;
qcom,sd-lines = <0>;
};

quat-mi2s-rx@22 {
reg = <22>;
dai@22 {
reg = <QUATERNARY_MI2S_RX>;
qcom,sd-lines = <0>;
};

quat-mi2s-tx@23 {
reg = <23>;
dai@23 {
reg = <QUATERNARY_MI2S_TX>;
qcom,sd-lines = <1>;
};
};
Expand Down
7 changes: 5 additions & 2 deletions Documentation/devicetree/bindings/sound/qcom,q6asm.txt
Expand Up @@ -51,13 +51,16 @@ configuration of each dai. Must contain the following properties.

= EXAMPLE

q6asm@7 {
apr-service@7 {
compatible = "qcom,q6asm";
reg = <APR_SVC_ASM>;
q6asmdai: dais {
compatible = "qcom,q6asm-dais";
#address-cells = <1>;
#size-cells = <0>;
#sound-dai-cells = <1>;
mm@0 {

dai@0 {
reg = <0>;
direction = <2>;
is-compress-dai;
Expand Down
2 changes: 1 addition & 1 deletion Documentation/devicetree/bindings/sound/qcom,q6core.txt
Expand Up @@ -15,7 +15,7 @@ used by the apr service device.
example "qcom,q6core-v2.0"

= EXAMPLE
q6core@3 {
apr-service@3 {
compatible = "qcom,q6core";
reg = <APR_SVC_ADSP_CORE>;
};
17 changes: 17 additions & 0 deletions Documentation/devicetree/bindings/sound/rt1016.txt
@@ -0,0 +1,17 @@
RT1016 Stereo Class D Audio Amplifier

This device supports I2C only.

Required properties:

- compatible : "realtek,rt1016".

- reg : The I2C address of the device.


Example:

rt1016: codec@1a {
compatible = "realtek,rt1016";
reg = <0x1a>;
};

0 comments on commit 5877b88

Please sign in to comment.