Commit d6b63b5b authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull sound updates from Takashi Iwai:
 "As the diffstat scatters over the tree, we've got many tree-wide small
  changes, but also got quite a few intrusive changes in the core side.
  The only ABI-visible core change is the new rawmidi framing mode
  support while others are kernel-internal, mostly code refactoring
  and/or nice improvements.

  Here are some highlights:

  Core:
   - A new framing access mode for rawmidi to get timestamps
   - Cleanup / refactoring of buffer memory management helper code
   - Support for automatic negotiation of ASoC DAI formats
   - Revival of software suspend for PCM and control core, as a
     preliminary work for PCI BAR rescan support

  ASoC:
   - Accessory detection support for several Qualcomm parts
   - Support for IEC958 control with hdmi-codec
   - Merging of Tegra machine drivers into a single driver
   - Support for AmLogic SM1 TOACODEC, Intel AlderLake-M, several NXP
     i.MX8 variants, NXP TFA1 and TDF9897, Rockchip RK817, Qualcomm
     Quinary MI2S, Texas Instruments TAS2505

  USB-audio:
   - Reduction of latency at playback start
   - Code cleanup / fixes of usx2y driver
   - Scarlett2 mixer code fixes and enhancements
   - Quirks for Ozone and Denon devices

  HD-audio:
   - A few quirks for HP and ASUS machines
   - Display power management fixes

  Others:
   - FireWire code refactoring and enhancements
   - Tree-wide trivial coding-style fixes"

* tag 'sound-5.14-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (594 commits)
  ALSA: usb-audio: scarlett2: Fix for loop increment in scarlett2_usb_get_config
  ALSA: hda/realtek: fix mute/micmute LEDs for HP ProBook 630 G8
  ALSA: hda/realtek: fix mute/micmute LEDs for HP ProBook 445 G8
  ALSA: hda/realtek: fix mute/micmute LEDs for HP ProBook 450 G8
  ALSA: hda/realtek - Add ALC285 HP init procedure
  ALSA: hda/realtek - Add type for ALC287
  ALSA: scarlett2: Fix scarlett2_*_ctl_put() return values again
  ALSA: scarlett2: Fix pad count for 18i8 Gen 3
  ALSA: hda/realtek: fix mute/micmute LEDs for HP EliteBook 830 G8 Notebook PC
  ALSA: firewire-lib: Fix 'amdtp_domain_start()' when no AMDTP_OUT_STREAM stream is found
  ASoC: qcom: lpass-cpu: mark IRQ_CLEAR register as volatile and readable
  ALSA: hda: Release codec display power during shutdown/reboot
  ALSA: hda: Release controller display power during shutdown/reboot
  ALSA: hda/realtek: Apply LED fixup for HP Dragonfly G1, too
  ASoC: fsl: remove unnecessary oom message
  ASoC: tlv320aic32x4: dt-bindings: add TAS2505 to compatible
  ASoC: tlv320aic32x4: add support for TAS2505
  ASoC: tlv320aic32x4: add type to device private data struct
  ASoC: tegra30: ahub: Use devm_platform_get_and_ioremap_resource()
  ASoC: tegra: tegra210_admaif: Use devm_platform_get_and_ioremap_resource()
  ...
parents bd31b9ef 9a7b7ec3
Loading
Loading
Loading
Loading
+188 −0
Original line number Diff line number Diff line
@@ -23,6 +23,7 @@ Optional properties:
  default output clock name
- rockchip,system-power-controller: Telling whether or not this pmic is controlling
  the system power.
- wakeup-source: Device can be used as a wakeup source.

Optional RK805 properties:
- vcc1-supply:  The input supply for DCDC_REG1
@@ -63,8 +64,18 @@ Optional RK809 properties:
- vcc9-supply:  The input supply for DCDC_REG5, SWITCH_REG2

Optional RK817 properties:
- clocks:	The input clock for the audio codec
- clock-names:	The clock name for the codec clock. Should be "mclk".
- #sound-dai-cells: Needed for the interpretation of sound dais. Should be 0.

- vcc8-supply:  The input supply for BOOST
- vcc9-supply:  The input supply for OTG_SWITCH
- codec:	The child node for the codec to hold additional properties.
		If no additional properties are required for the codec, this
		node can be omitted.

- rockchip,mic-in-differential: Telling if the microphone uses differential
				mode. Should be under the codec child node.

Optional RK818 properties:
- vcc1-supply:  The input supply for DCDC_REG1
@@ -275,3 +286,180 @@ Example:
			};
		};
	};

	rk817: pmic@20 {
		compatible = "rockchip,rk817";
		reg = <0x20>;
		interrupt-parent = <&gpio0>;
		interrupts = <RK_PB2 IRQ_TYPE_LEVEL_LOW>;
		clock-output-names = "rk808-clkout1", "xin32k";
		clock-names = "mclk";
		clocks = <&cru SCLK_I2S1_OUT>;
		pinctrl-names = "default";
		pinctrl-0 = <&pmic_int>, <&i2s1_2ch_mclk>;
		wakeup-source;
		#clock-cells = <1>;
		#sound-dai-cells = <0>;

		vcc1-supply = <&vccsys>;
		vcc2-supply = <&vccsys>;
		vcc3-supply = <&vccsys>;
		vcc4-supply = <&vccsys>;
		vcc5-supply = <&vccsys>;
		vcc6-supply = <&vccsys>;
		vcc7-supply = <&vccsys>;

		regulators {
			vdd_logic: DCDC_REG1 {
				regulator-name = "vdd_logic";
				regulator-min-microvolt = <950000>;
				regulator-max-microvolt = <1150000>;
				regulator-ramp-delay = <6001>;
				regulator-always-on;
				regulator-boot-on;

				regulator-state-mem {
					regulator-on-in-suspend;
					regulator-suspend-microvolt = <950000>;
				};
			};

			vdd_arm: DCDC_REG2 {
				regulator-name = "vdd_arm";
				regulator-min-microvolt = <950000>;
				regulator-max-microvolt = <1350000>;
				regulator-ramp-delay = <6001>;
				regulator-always-on;
				regulator-boot-on;

				regulator-state-mem {
					regulator-off-in-suspend;
					regulator-suspend-microvolt = <950000>;
				};
			};

			vcc_ddr: DCDC_REG3 {
				regulator-name = "vcc_ddr";
				regulator-always-on;
				regulator-boot-on;

				regulator-state-mem {
					regulator-on-in-suspend;
				};
			};

			vcc_3v3: DCDC_REG4 {
				regulator-name = "vcc_3v3";
				regulator-min-microvolt = <3300000>;
				regulator-max-microvolt = <3300000>;
				regulator-always-on;
				regulator-boot-on;

				regulator-state-mem {
					regulator-off-in-suspend;
					regulator-suspend-microvolt = <3300000>;
				};
			};

			vcc_1v8: LDO_REG2 {
				regulator-name = "vcc_1v8";
				regulator-min-microvolt = <1800000>;
				regulator-max-microvolt = <1800000>;
				regulator-always-on;
				regulator-boot-on;

				regulator-state-mem {
					regulator-on-in-suspend;
					regulator-suspend-microvolt = <1800000>;
				};
			};

			vdd_1v0: LDO_REG3 {
				regulator-name = "vdd_1v0";
				regulator-min-microvolt = <1000000>;
				regulator-max-microvolt = <1000000>;
				regulator-always-on;
				regulator-boot-on;

				regulator-state-mem {
					regulator-on-in-suspend;
					regulator-suspend-microvolt = <1000000>;
				};
			};

			vcc3v3_pmu: LDO_REG4 {
				regulator-name = "vcc3v3_pmu";
				regulator-min-microvolt = <3300000>;
				regulator-max-microvolt = <3300000>;
				regulator-always-on;
				regulator-boot-on;

				regulator-state-mem {
					regulator-on-in-suspend;
					regulator-suspend-microvolt = <3300000>;
				};
			};

			vccio_sd: LDO_REG5 {
				regulator-name = "vccio_sd";
				regulator-min-microvolt = <1800000>;
				regulator-max-microvolt = <3300000>;
				regulator-always-on;
				regulator-boot-on;

				regulator-state-mem {
					regulator-on-in-suspend;
					regulator-suspend-microvolt = <3300000>;
				};
			};

			vcc_sd: LDO_REG6 {
				regulator-name = "vcc_sd";
				regulator-min-microvolt = <3300000>;
				regulator-max-microvolt = <3300000>;
				regulator-boot-on;

				regulator-state-mem {
					regulator-on-in-suspend;
					regulator-suspend-microvolt = <3300000>;
				};
			};

			vcc_bl: LDO_REG7 {
				regulator-name = "vcc_bl";
				regulator-min-microvolt = <3300000>;
				regulator-max-microvolt = <3300000>;

				regulator-state-mem {
					regulator-off-in-suspend;
					regulator-suspend-microvolt = <3300000>;
				};
			};

			vcc_lcd: LDO_REG8 {
				regulator-name = "vcc_lcd";
				regulator-min-microvolt = <2800000>;
				regulator-max-microvolt = <2800000>;

				regulator-state-mem {
					regulator-off-in-suspend;
					regulator-suspend-microvolt = <2800000>;
				};
			};

			vcc_cam: LDO_REG9 {
				regulator-name = "vcc_cam";
				regulator-min-microvolt = <3000000>;
				regulator-max-microvolt = <3000000>;

				regulator-state-mem {
					regulator-off-in-suspend;
					regulator-suspend-microvolt = <3000000>;
				};
			};
		};

		rk817_codec: codec {
			rockchip,mic-in-differential;
		};
	};
+6 −2
Original line number Diff line number Diff line
@@ -12,7 +12,11 @@ maintainers:

properties:
  "#sound-dai-cells":
    const: 0
    minimum: 0
    maximum: 1
    description:
      A value of 0 is deprecated. When used, it only allows access to
      the ADC/DAC and AIF1 (the CPU DAI), not the other two AIFs/DAIs.

  compatible:
    oneOf:
@@ -50,7 +54,7 @@ additionalProperties: false
examples:
  - |
    audio-codec@1c22e00 {
      #sound-dai-cells = <0>;
      #sound-dai-cells = <1>;
      compatible = "allwinner,sun8i-a33-codec";
      reg = <0x01c22e00 0x400>;
      interrupts = <0 29 4>;
+7 −0
Original line number Diff line number Diff line
@@ -81,6 +81,13 @@ Optional properties:
  < x1 x2 x3 x4 >
  Default = < 15 8 4 1>

  - cirrus,hs-bias-sense-disable: This is boolean property. If present the
  HSBIAS sense is disabled. Configures HSBIAS output current sense through
  the external 2.21-k resistor. HSBIAS_SENSE is hardware feature to reduce
  the potential pop noise during the headset plug out slowly. But on some
  platforms ESD voltage will affect it causing test to fail, especially
  with CTIA headset type. For different hardware setups, a designer might
  want to tweak default behavior.

Example:

+1 −0
Original line number Diff line number Diff line
@@ -25,6 +25,7 @@ properties:
      - fsl,imx8mq-spdif
      - fsl,imx8mm-spdif
      - fsl,imx8mn-spdif
      - fsl,imx8ulp-spdif

  reg:
    maxItems: 1
+4 −2
Original line number Diff line number Diff line
@@ -9,8 +9,10 @@ Required properties:

  - compatible		: Compatible list, contains "fsl,vf610-sai",
			  "fsl,imx6sx-sai", "fsl,imx6ul-sai",
			  "fsl,imx7ulp-sai", "fsl,imx8mq-sai" or
			  "fsl,imx8qm-sai".
			  "fsl,imx7ulp-sai", "fsl,imx8mq-sai",
			  "fsl,imx8qm-sai", "fsl,imx8mm-sai",
			  "fsl,imx8mn-sai", "fsl,imx8mp-sai", or
			  "fsl,imx8ulp-sai".

  - reg			: Offset and length of the register set for the device.

Loading