Commit 177bf862 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull sound updates from Takashi Iwai:
 "This includes lots of file shuffling due to HD-audio code
  reorganization and many trivial changes, but otherwise there shouldn't
  be much surprise from the functionality POV. The PR includes the PM
  changes as prerequisite, too. Some highlights below:

  Core:
   - Performance optimizations in PCM core code
   - Refactoring of ASoC Kconfig menus to be hopefully more consistant
     and easier to navigate.
   - Refactoring of ASoC DAPM code, mainly hiding functionality that
     doesn't need to be exposed to drivers

  HD-audio reorganization:
   - All code are moved under sound/hda with a bit more understandable
     tree structure, as well as file renames
   - The huge Realtek driver code is split to several parts, a common
     helper module with driver modules per probe entry
   - HDMI and Cirrus codec drivers also split

  ASoC:
   - Further work on the generic handling for SoundWire SDCA devices
   - Support for AMD ACP7.2 and SoundWire on ACP 7.1, Fairphone 4 & 5,
     various Intel systems, Qualcomm QCS8275, Richtek RTQ9124 and TI
     TAS5753

  HD-audio and USB-audio:
   - TAS2781 driver cleanup and TAS2770 support
   - EQ enablement in CA0132 driver
   - USB audio quirk code cleanups

  Others:
   - Cleanups of PM autosuspend call patterns with the update from the
     PM tree
   - Lots of strcpy() -> strscpy() conversions for fixed size arrays"

* tag 'sound-6.17-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (385 commits)
  ALSA: hda: Add TAS2770 support
  ASoC: qcom: sm8250: Add Fairphone 4 soundcard compatible
  ASoC: dt-bindings: qcom,sm8250: Add Fairphone 4 sound card
  ASoC: dt-bindings: qcom,q6afe: Document q6usb subnode
  ASoC: SDCA: Fix implicit cast from le16
  ASoC: SDCA: Shrink detected_mode_handler() stack frame
  ASoC: SDCA: Check devm_mutex_init() return value
  ASoC: SDCA: add route by the number of input pins in MU entity
  ALSA: hda/realtek: Add support for ASUS Commercial laptops using CS35L41 HDA
  ASoC: Intel: sof_rt5682: Add HDMI-In capture with rt5682 support for PTL.
  ASoC: codec: tlv320aic32x4: Fix reset GPIO check
  ASoC: dt-bindings: qcom,lpass-va-macro: Define clock-names in top-level
  ASoC: SDCA: Add hw_params() helper function
  ASoC: SDCA: Add a helper to get the SoundWire port number
  ASoC: SDCA: Add helper to add DAI constraints
  ASoC: soc-dai: Add private data to snd_soc_dai
  ASoC: SDCA: Move SDCA search functions and export
  ASoC: SDCA: Remove overly chatty input pin list warning
  ASoC: SDCA: Allow read-only controls to be deferrable
  ASoC: SDCA: Update memory allocations to zero initialise
  ...
parents e30fc090 bca53a17
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -41,6 +41,10 @@ properties:
    description: This pin is connected to the chip's RESET pin.
    maxItems: 1

  port:
    $ref: audio-graph-port.yaml#
    unevaluatedProperties: false

required:
  - compatible
  - reg
+81 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/sound/fsl,mxs-audio-sgtl5000.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Freescale MXS audio complex with SGTL5000 codec

maintainers:
  - Frank Li <Frank.Li@nxp.com>

properties:
  compatible:
    items:
      - enum:
          - bluegiga,apx4devkit-sgtl5000
          - denx,m28evk-sgtl5000
          - fsl,imx28-evk-sgtl5000
          - fsl,imx28-mbmx28lc-sgtl5000
          - fsl,imx28-tx28-sgtl5000
      - const: fsl,mxs-audio-sgtl5000

  model:
    $ref: /schemas/types.yaml#/definitions/string
    description: The user-visible name of this sound complex

  saif-controllers:
    $ref: /schemas/types.yaml#/definitions/phandle-array
    description: The phandle list of the MXS SAIF controller

  audio-codec:
    $ref: /schemas/types.yaml#/definitions/phandle
    description: The phandle of the SGTL5000 audio codec

  audio-routing:
    $ref: /schemas/types.yaml#/definitions/non-unique-string-array
    description: |
      A list of the connections between audio components.
      Each entry is a pair of strings, the first being the
      connection's sink, the second being the connection's
      source. Valid names could be power supplies, SGTL5000
      pins, and the jacks on the board:

      Power supplies:
        * Mic Bias

      SGTL5000 pins:
        * MIC_IN
        * LINE_IN
        * HP_OUT
        * LINE_OUT

      Board connectors:
        * Mic Jack
        * Line In Jack
        * Headphone Jack
        * Line Out Jack
        * Ext Spk

required:
  - compatible
  - saif-controllers
  - audio-codec

allOf:
  - $ref: dai-common.yaml#

unevaluatedProperties: false

examples:
  - |
    sound {
        compatible = "fsl,imx28-evk-sgtl5000", "fsl,mxs-audio-sgtl5000";
        model = "imx28-evk-sgtl5000";
        saif-controllers = <&saif0 &saif1>;
        audio-codec = <&sgtl5000>;
        audio-routing =
            "MIC_IN", "Mic Jack",
            "Mic Jack", "Mic Bias",
            "Headphone Jack", "HP_OUT";
    };
+98 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/sound/mediatek,mt8173-afe-pcm.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Mediatek AFE PCM controller for MT8173

maintainers:
  - Trevor Wu <trevor.wu@mediatek.com>

properties:
  compatible:
    const: mediatek,mt8173-afe-pcm

  reg:
    maxItems: 1

  interrupts:
    maxItems: 1

  clocks:
    items:
      - description: audio infra sys clock
      - description: audio top mux
      - description: audio intbus mux
      - description: apll1 clock
      - description: apll2 clock
      - description: i2s0 mclk mux
      - description: i2s1 mclk mux
      - description: i2s2 mclk mux
      - description: i2s3 mclk mux
      - description: i2s3 bclk mux

  clock-names:
    items:
      - const: infra_sys_audio_clk
      - const: top_pdn_audio
      - const: top_pdn_aud_intbus
      - const: bck0
      - const: bck1
      - const: i2s0_m
      - const: i2s1_m
      - const: i2s2_m
      - const: i2s3_m
      - const: i2s3_b

  power-domains:
    maxItems: 1

  memory-region:
    description: memory region for audio DMA buffers
    maxItems: 1

required:
  - compatible
  - reg
  - interrupts
  - clocks
  - clock-names
  - power-domains

additionalProperties: false

examples:
  - |
    #include <dt-bindings/clock/mt8173-clk.h>
    #include <dt-bindings/interrupt-controller/arm-gic.h>
    #include <dt-bindings/interrupt-controller/irq.h>
    #include <dt-bindings/power/mt8173-power.h>

    mt8173-afe-pcm@11220000 {
        compatible = "mediatek,mt8173-afe-pcm";
        reg = <0x11220000 0x1000>;
        interrupts = <GIC_SPI 134 IRQ_TYPE_EDGE_FALLING>;
        power-domains = <&spm MT8173_POWER_DOMAIN_AUDIO>;
        clocks = <&infracfg CLK_INFRA_AUDIO>,
                 <&topckgen CLK_TOP_AUDIO_SEL>,
                 <&topckgen CLK_TOP_AUD_INTBUS_SEL>,
                 <&topckgen CLK_TOP_APLL1_DIV0>,
                 <&topckgen CLK_TOP_APLL2_DIV0>,
                 <&topckgen CLK_TOP_I2S0_M_SEL>,
                 <&topckgen CLK_TOP_I2S1_M_SEL>,
                 <&topckgen CLK_TOP_I2S2_M_SEL>,
                 <&topckgen CLK_TOP_I2S3_M_SEL>,
                 <&topckgen CLK_TOP_I2S3_B_SEL>;
         clock-names = "infra_sys_audio_clk",
                       "top_pdn_audio",
                       "top_pdn_aud_intbus",
                       "bck0",
                       "bck1",
                       "i2s0_m",
                       "i2s1_m",
                       "i2s2_m",
                       "i2s3_m",
                       "i2s3_b";
          memory-region = <&afe_dma_mem>;
    };
+5 −0
Original line number Diff line number Diff line
@@ -25,6 +25,10 @@ properties:
  reset-names:
    const: audiosys

  memory-region:
    description: memory region for audio DMA buffers
    maxItems: 1

  mediatek,apmixedsys:
    $ref: /schemas/types.yaml#/definitions/phandle
    description: The phandle of the mediatek apmixedsys controller
@@ -170,6 +174,7 @@ examples:
                      "top_apll12_div_tdm",
                      "top_mux_audio_h",
                      "top_clk26m_clk";
        memory-region = <&afe_dma_mem>;
    };

...
+5 −0
Original line number Diff line number Diff line
@@ -23,6 +23,10 @@ properties:
  reset-names:
    const: audiosys

  memory-region:
    description: memory region for audio DMA buffers
    maxItems: 1

  mediatek,apmixedsys:
    $ref: /schemas/types.yaml#/definitions/phandle
    description: The phandle of the mediatek apmixedsys controller
@@ -95,6 +99,7 @@ examples:
                      "aud_dac_predis_clk",
                      "aud_infra_clk",
                      "aud_infra_26m_clk";
        memory-region = <&afe_dma_mem>;
    };

...
Loading