Skip to content

Commit

Permalink
Merge tag 'sound-5.12-rc1' of git://git.kernel.org/pub/scm/linux/kern…
Browse files Browse the repository at this point in the history
…el/git/tiwai/sound

Pull sound updates from Takashi Iwai:
 "A relatively calm release at this time, and no massive code changes
  are found in the stats, while a wide range of code refactoring and
  cleanup have been done.

  Note that this update includes the tree-wide trivial changes for
  dropping the return value from ISA remove callbacks, too.

  Below lists up some highlight:

  ALSA Core:
   - Support for the software jack injection via debugfs
   - Fixes for sync_stop PCM operations

  HD-audio and USB-audio:
   - A few usual HD-audio device quirks
   - Updates for Tegra HD-audio
   - More quirks for Pioneer and other USB-audio devices
   - Stricter state checks at USB-audio disconnection

  ASoC:
   - Continued code refactoring, cleanup and fixes in ASoC core API
   - A KUnit testsuite for the topology code
   - Lots of ASoC Intel driver Realtek codec updates, quirk additions
     and fixes
   - Support for Ingenic JZ4760(B), Intel AlderLake-P, DT configured
     nVidia cards, Qualcomm lpass-rx-macro and lpass-tx-macro
   - Removal of obsolete SIRF prima/atlas, Txx9 and ZTE zx drivers

  Others:
   - Drop return value from ISA driver remove callback
   - Cleanup with DIV_ROUND_UP() macro
   - FireWire updates, HDSP output loopback support"

* tag 'sound-5.12-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (322 commits)
  ALSA: hda: intel-dsp-config: add Alder Lake support
  ASoC: soc-pcm: fix hw param limits calculation for multi-DAI
  ASoC: Intel: bytcr_rt5640: Add quirk for the Acer One S1002 tablet
  ASoC: Intel: bytcr_rt5651: Add quirk for the Jumper EZpad 7 tablet
  ASoC: Intel: bytcr_rt5640: Add quirk for the Voyo Winpad A15 tablet
  ASoC: Intel: bytcr_rt5640: Add quirk for the Estar Beauty HD MID 7316R tablet
  ASoC: soc-pcm: fix hwparams min/max init for dpcm
  ALSA: hda/realtek: Quirk for HP Spectre x360 14 amp setup
  ALSA: usb-audio: Add implicit fb quirk for BOSS GP-10
  ALSA: hda: Add another CometLake-H PCI ID
  ASoC: soc-pcm: add soc_pcm_hw_update_format()
  ASoC: soc-pcm: add soc_pcm_hw_update_chan()
  ASoC: soc-pcm: add soc_pcm_hw_update_rate()
  ASoC: wm_adsp: Remove unused control callback structure
  ASoC: SOF: relax ABI checks and avoid unnecessary warnings
  ASoC: codecs: lpass-tx-macro: add dapm widgets and route
  ASoC: codecs: lpass-tx-macro: add support for lpass tx macro
  ASoC: qcom: dt-bindings: add bindings for lpass tx macro codec
  ASoC: codecs: lpass-rx-macro: add iir widgets
  ASoC: codecs: lpass-rx-macro: add dapm widgets and route
  ...
  • Loading branch information
torvalds committed Feb 21, 2021
2 parents de16175 + c4294d7 commit 10e2ec8
Show file tree
Hide file tree
Showing 470 changed files with 12,539 additions and 6,644 deletions.
3 changes: 0 additions & 3 deletions Documentation/devicetree/bindings/sound/audio-graph-port.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -71,9 +71,6 @@ properties:
description: CPU to Codec rate channels.
$ref: /schemas/types.yaml#/definitions/uint32

required:
- remote-endpoint

ports:
description: multi OF-Graph subnode
type: object
Expand Down
11 changes: 8 additions & 3 deletions Documentation/devicetree/bindings/sound/ingenic,codec.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -15,9 +15,14 @@ properties:

compatible:
oneOf:
- const: ingenic,jz4770-codec
- const: ingenic,jz4725b-codec
- const: ingenic,jz4740-codec
- enum:
- ingenic,jz4770-codec
- ingenic,jz4760-codec
- ingenic,jz4725b-codec
- ingenic,jz4740-codec
- items:
- const: ingenic,jz4760b-codec
- const: ingenic,jz4760-codec

reg:
maxItems: 1
Expand Down
13 changes: 13 additions & 0 deletions Documentation/devicetree/bindings/sound/intel,keembay-i2s.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ properties:
enum:
- intel,keembay-i2s
- intel,keembay-tdm
- intel,keembay-hdmi-i2s

"#sound-dai-cells":
const: 0
Expand Down Expand Up @@ -45,6 +46,16 @@ properties:
- const: osc
- const: apb_clk

dmas:
items:
- description: DMA TX channel
- description: DMA RX channel

dma-names:
items:
- const: tx
- const: rx

required:
- compatible
- "#sound-dai-cells"
Expand All @@ -70,4 +81,6 @@ examples:
interrupts = <GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>;
clock-names = "osc", "apb_clk";
clocks = <&scmi_clk KEEM_BAY_PSS_AUX_I2S3>, <&scmi_clk KEEM_BAY_PSS_I2S3>;
dmas = <&axi_dma0 29 &axi_dma0 33>;
dma-names = "tx", "rx";
};
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,10 @@ properties:
$ref: "/schemas/types.yaml#/definitions/phandle"
description: The phandle of MT8192 ASoC platform.

mediatek,hdmi-codec:
$ref: "/schemas/types.yaml#/definitions/phandle"
description: The phandle of HDMI codec.

additionalProperties: false

required:
Expand All @@ -35,6 +39,7 @@ examples:
sound: mt8192-sound {
compatible = "mediatek,mt8192_mt6359_rt1015_rt5682";
mediatek,platform = <&afe>;
mediatek,hdmi-codec = <&anx_bridge_dp>;
pinctrl-names = "aud_clk_mosi_off",
"aud_clk_mosi_on";
pinctrl-0 = <&aud_clk_mosi_off>;
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,190 @@
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/sound/nvidia,tegra-audio-graph-card.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Audio Graph based Tegra sound card driver

description: |
This is based on generic audio graph card driver along with additional
customizations for Tegra platforms. It uses the same bindings with
additional standard clock DT bindings required for Tegra.
maintainers:
- Jon Hunter <[email protected]>
- Sameer Pujar <[email protected]>

allOf:
- $ref: audio-graph.yaml#

properties:
compatible:
enum:
- nvidia,tegra210-audio-graph-card
- nvidia,tegra186-audio-graph-card

clocks:
minItems: 2

clock-names:
minItems: 2
items:
- const: pll_a
- const: plla_out0

assigned-clocks:
minItems: 1
maxItems: 3

assigned-clock-parents:
minItems: 1
maxItems: 3

assigned-clock-rates:
minItems: 1
maxItems: 3

iommus:
maxItems: 1

required:
- clocks
- clock-names
- assigned-clocks
- assigned-clock-parents

unevaluatedProperties: false

examples:
- |
#include<dt-bindings/clock/tegra210-car.h>
tegra_sound {
compatible = "nvidia,tegra210-audio-graph-card";
clocks = <&tegra_car TEGRA210_CLK_PLL_A>,
<&tegra_car TEGRA210_CLK_PLL_A_OUT0>;
clock-names = "pll_a", "plla_out0";
assigned-clocks = <&tegra_car TEGRA210_CLK_PLL_A>,
<&tegra_car TEGRA210_CLK_PLL_A_OUT0>,
<&tegra_car TEGRA210_CLK_EXTERN1>;
assigned-clock-parents = <0>, <0>, <&tegra_car TEGRA210_CLK_PLL_A_OUT0>;
assigned-clock-rates = <368640000>, <49152000>, <12288000>;
dais = /* FE */
<&admaif1_port>,
/* Router */
<&xbar_i2s1_port>,
/* I/O DAP Ports */
<&i2s1_port>;
label = "jetson-tx1-ape";
};
// The ports are defined for AHUB and its child devices.
ahub@702d0800 {
compatible = "nvidia,tegra210-ahub";
reg = <0x702d0800 0x800>;
clocks = <&tegra_car TEGRA210_CLK_D_AUDIO>;
clock-names = "ahub";
assigned-clocks = <&tegra_car TEGRA210_CLK_D_AUDIO>;
assigned-clock-parents = <&tegra_car TEGRA210_CLK_PLL_A_OUT0>;
#address-cells = <1>;
#size-cells = <1>;
ranges = <0x702d0000 0x702d0000 0x0000e400>;
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0x0>;
xbar_admaif1_ep: endpoint {
remote-endpoint = <&admaif1_ep>;
};
};
// ...
xbar_i2s1_port: port@a {
reg = <0xa>;
xbar_i2s1_ep: endpoint {
remote-endpoint = <&i2s1_cif_ep>;
};
};
};
admaif@702d0000 {
compatible = "nvidia,tegra210-admaif";
reg = <0x702d0000 0x800>;
dmas = <&adma 1>, <&adma 1>,
<&adma 2>, <&adma 2>,
<&adma 3>, <&adma 3>,
<&adma 4>, <&adma 4>,
<&adma 5>, <&adma 5>,
<&adma 6>, <&adma 6>,
<&adma 7>, <&adma 7>,
<&adma 8>, <&adma 8>,
<&adma 9>, <&adma 9>,
<&adma 10>, <&adma 10>;
dma-names = "rx1", "tx1",
"rx2", "tx2",
"rx3", "tx3",
"rx4", "tx4",
"rx5", "tx5",
"rx6", "tx6",
"rx7", "tx7",
"rx8", "tx8",
"rx9", "tx9",
"rx10", "tx10";
ports {
#address-cells = <1>;
#size-cells = <0>;
admaif1_port: port@0 {
reg = <0x0>;
admaif1_ep: endpoint {
remote-endpoint = <&xbar_admaif1_ep>;
};
};
// More ADMAIF ports to follow
};
};
i2s@702d1000 {
compatible = "nvidia,tegra210-i2s";
clocks = <&tegra_car TEGRA210_CLK_I2S0>;
clock-names = "i2s";
assigned-clocks = <&tegra_car TEGRA210_CLK_I2S0>;
assigned-clock-parents = <&tegra_car TEGRA210_CLK_PLL_A_OUT0>;
assigned-clock-rates = <1536000>;
reg = <0x702d1000 0x100>;
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0x0>;
i2s1_cif_ep: endpoint {
remote-endpoint = <&xbar_i2s1_ep>;
};
};
i2s1_port: port@1 {
reg = <0x1>;
i2s1_dap: endpoint {
dai-format = "i2s";
};
};
};
};
};
...
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,9 @@ maintainers:
- Jon Hunter <[email protected]>
- Sameer Pujar <[email protected]>

allOf:
- $ref: audio-graph-port.yaml#

properties:
$nodename:
pattern: "^dspk@[0-9a-f]*$"
Expand Down Expand Up @@ -55,6 +58,19 @@ properties:
The name can be "DSPK1" or "DSPKx", where x depends on the maximum
available instances on a Tegra SoC.

ports:
type: object
properties:
port@0:
description: |
DSPK ACIF (Audio Client Interface) port connected to the
corresponding AHUB (Audio Hub) ACIF port.
port@1:
description: |
DSPK DAP (Digital Audio Port) interface which can be connected
to external audio codec for playback.
required:
- compatible
- reg
Expand All @@ -64,7 +80,7 @@ required:
- assigned-clock-parents
- sound-name-prefix

additionalProperties: false
unevaluatedProperties: false

examples:
- |
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,9 @@ maintainers:
- Jon Hunter <[email protected]>
- Sameer Pujar <[email protected]>

allOf:
- $ref: audio-graph-port.yaml#

properties:
$nodename:
pattern: "^admaif@[0-9a-f]*$"
Expand All @@ -37,6 +40,14 @@ properties:

dma-names: true

ports:
description: |
Contains list of ACIF (Audio CIF) port nodes for ADMAIF channels.
The number of port nodes depends on the number of ADMAIF channels
that SoC may have. These are interfaced with respective ACIF ports
in AHUB (Audio Hub). Each port is capable of data transfers in
both directions.
if:
properties:
compatible:
Expand Down Expand Up @@ -81,7 +92,7 @@ required:
- dmas
- dma-names

additionalProperties: false
unevaluatedProperties: false

examples:
- |
Expand Down
13 changes: 11 additions & 2 deletions Documentation/devicetree/bindings/sound/nvidia,tegra210-ahub.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,9 @@ maintainers:
- Jon Hunter <[email protected]>
- Sameer Pujar <[email protected]>

allOf:
- $ref: audio-graph-port.yaml#

properties:
$nodename:
pattern: "^ahub@[0-9a-f]*$"
Expand Down Expand Up @@ -56,6 +59,13 @@ properties:

ranges: true

ports:
description: |
Contains list of ACIF (Audio CIF) port nodes for AHUB (Audio Hub).
These are connected to ACIF interfaces of AHUB clients. Thus the
number of port nodes depend on the number of clients that AHUB may
have depending on the SoC revision.
required:
- compatible
- reg
Expand All @@ -67,8 +77,7 @@ required:
- "#size-cells"
- ranges

additionalProperties:
type: object
unevaluatedProperties: false

examples:
- |
Expand Down
Loading

0 comments on commit 10e2ec8

Please sign in to comment.