| /linux/Documentation/devicetree/bindings/soundwire/ | 
| H A D | qcom,soundwire.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)3 ---
 4 $id: http://devicetree.org/schemas/soundwire/qcom,soundwire.yaml#
 5 $schema: http://devicetree.org/meta-schemas/core.yaml#
 7 title: Qualcomm SoundWire Controller
 10   - Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
 11   - Srinivasa Rao Mandadapu <quic_srivasam@quicinc.com>
 14   The Qualcomm SoundWire controller along with its board specific bus parameters.
 19       - enum:
 20           - qcom,soundwire-v1.3.0
 [all …]
 
 | 
| H A D | soundwire-controller.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)3 ---
 4 $id: http://devicetree.org/schemas/soundwire/soundwire-controller.yaml#
 5 $schema: http://devicetree.org/meta-schemas/core.yaml#
 7 title: SoundWire Controller Common Properties
 10   - Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
 11   - Vinod Koul <vkoul@kernel.org>
 14   SoundWire busses can be described with a node for the SoundWire controller
 15   device and a set of child nodes for each SoundWire slave on the bus.
 19     pattern: "^soundwire(@.*)?$"
 [all …]
 
 | 
| /linux/include/linux/soundwire/ | 
| H A D | sdw_amd.h | 1 /* SPDX-License-Identifier: (GPL-2.0 OR BSD-3-Clause) */3  * Copyright (C) 2023-24 Advanced Micro Devices, Inc. All rights reserved.
 10 #include <linux/soundwire/sdw.h>
 22  * is invoked. If set, a complete bus reset and re-enumeration will
 23  * be performed when the bus restarts. In-band wake interrupts are
 45  * @name: SoundWire stream name
 58  * struct amd_sdw_manager - amd manager driver context
 61  * @mmio: SoundWire registers mmio base
 63  * @amd_sdw_irq_thread: SoundWire manager irq workqueue
 71  * @instance: SoundWire manager instance
 [all …]
 
 | 
| H A D | sdw_intel.h | 1 /* SPDX-License-Identifier: (GPL-2.0 OR BSD-3-Clause) */2 /* Copyright(c) 2015-17 Intel Corporation. */
 9 #include <linux/soundwire/sdw.h>
 43 #define SDW_SHIM_SYNC_SYNCPRD_VAL_24		(24000 / SDW_CADENCE_GSYNC_KHZ - 1)
 44 #define SDW_SHIM_SYNC_SYNCPRD_VAL_24_576	(24576 / SDW_CADENCE_GSYNC_KHZ - 1)
 45 #define SDW_SHIM_SYNC_SYNCPRD_VAL_38_4		(38400 / SDW_CADENCE_GSYNC_KHZ - 1)
 46 #define SDW_SHIM_SYNC_SYNCPRD_VAL_96		(96000 / SDW_CADENCE_GSYNC_KHZ - 1)
 117  * ACE2.x definitions for SHIM registers - only accessible when the
 126 /* Read-only capabilities */
 128 #define SDW_SHIM2_LECAP_HDS		BIT(0)		/* unset -> Host mode */
 [all …]
 
 | 
| H A D | sdw.h | 1 /* SPDX-License-Identifier: (GPL-2.0 OR BSD-3-Clause) */2 /* Copyright(c) 2015-17 Intel Corporation. */
 46  * Note: The maximum row define in SoundWire spec 1.1 is 23. In order to
 88  * enum sdw_slave_status - Slave status
 106  * @SDW_CLK_PRE_DEPREPARE: pre clock stop de-prepare
 107  * @SDW_CLK_POST_DEPREPARE: post clock stop de-prepar
 [all...]
 | 
| /linux/sound/hda/core/ | 
| H A D | intel-sdw-acpi.c | 1 // SPDX-License-Identifier: (GPL-2.0 OR BSD-3-Clause)2 // Copyright(c) 2015-2021 Intel Corporation.
 16 #include <linux/soundwire/sdw_intel.h>
 27 MODULE_PARM_DESC(sdw_ctrl_addr, "Intel SoundWire Controller _ADR");
 37 		 "mipi-sdw-link-%hhu-subproperties", idx);  in is_link_enabled()
 44 				 "intel-quirk-mask",  in is_link_enabled()
 58 	struct acpi_device *adev = acpi_fetch_acpi_dev(info->handle);  in sdw_intel_scan_controller()
 67 		return -EINVAL;  in sdw_intel_scan_controller()
 72 	 * Found controller, find links supported  in sdw_intel_scan_controller()
 75 	 * hardware, but in that step we cannot assume SoundWire IP is  in sdw_intel_scan_controller()
 [all …]
 
 | 
| /linux/sound/soc/amd/acp/ | 
| H A D | Kconfig | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-3-Clause)13 	  This option enables common modules for Audio-Coprocessor i.e. ACP
 136 	  This option enables common SoundWire Machine driver module for
 140 	tristate "AMD SOF Soundwire Machine Driver Support"
 142 	depends on SOUNDWIRE
 153 	  This option enables SOF sound card support for SoundWire enabled
 154 	  AMD platforms along with ACP PDM controller.
 155 	  Say Y if you want to enable SoundWire based machine driver support
 160 	tristate "AMD Legacy(No DSP) Soundwire Machine Driver Support"
 162 	depends on SOUNDWIRE
 [all …]
 
 | 
| H A D | amd-sdw-acpi.c | 1 // SPDX-License-Identifier: (GPL-2.0-only OR BSD-3-Clause)22 #include <linux/soundwire/sdw_amd.h>
 27 	struct acpi_device *adev = acpi_fetch_acpi_dev(info->handle); in amd_sdw_scan_controller()
 33 		return -EINVAL; in amd_sdw_scan_controller()
 35 	/* Found controller, fin in amd_sdw_scan_controller()
 [all...]
 | 
| /linux/sound/soc/amd/ps/ | 
| H A D | acp63.h | 1 /* SPDX-License-Identifier: GPL-2.0+ */8 #include <linux/soundwire/sdw_amd.h>
 98 #define ACP63_SDW0_DMA_TX_IRQ_MASK(i)	(ACP_AUDIO0_TX_THRESHOLD - (2 * (i)))
 99 #define ACP63_SDW0_DMA_RX_IRQ_MASK(i)	(ACP_AUDIO0_RX_THRESHOLD - (2 * ((i) - 3)))
 108 #define ACP63_SDW1_DMA_IRQ_MASK(i)	(ACP63_P1_AUDIO_TX_THRESHOLD - (i))
 136 #define ACP_HW_OPS(acp_data, cb)	((acp_data)->hw_ops->cb)
 160 #define ACP70_SDW0_DMA_TX_IRQ_MASK(i)	(ACP_AUDIO0_TX_THRESHOLD - (2 * (i)))
 161 #define ACP70_SDW0_DMA_RX_IRQ_MASK(i)	(ACP_AUDIO0_RX_THRESHOLD - (2 * ((i) - 3)))
 174 #define ACP70_SDW1_DMA_TX_IRQ_MASK(i)	(ACP70_P1_AUDIO0_TX_THRESHOLD - (2 * (i)))
 175 #define ACP70_SDW1_DMA_RX_IRQ_MASK(i)	(ACP70_P1_AUDIO0_RX_THRESHOLD - (2 * ((i) - 3)))
 [all …]
 
 | 
| H A D | pci-ps.c | 1 // SPDX-License-Identifier: GPL-2.0-only19 #include <linux/soundwire/sdw_amd.h>
 20 #include "../mach-config.h"
 28 	if (adata->acp70_sdw0_wake_event) {  in handle_acp70_sdw_wake_event()
 29 		amd_manager = dev_get_drvdata(&adata->sdw->pdev[0]->dev);  in handle_acp70_sdw_wake_event()
 31 			pm_request_resume(amd_manager->dev);  in handle_acp70_sdw_wake_event()
 32 		adata->acp70_sdw0_wake_event = 0;  in handle_acp70_sdw_wake_event()
 35 	if (adata->acp70_sdw1_wake_event) {  in handle_acp70_sdw_wake_event()
 36 		amd_manager = dev_get_drvdata(&adata->sdw->pdev[1]->dev);  in handle_acp70_sdw_wake_event()
 38 			pm_request_resume(amd_manager->dev);  in handle_acp70_sdw_wake_event()
 [all …]
 
 | 
| /linux/drivers/soundwire/ | 
| H A D | intel_init.c | 1 // SPDX-License-Identifier: (GPL-2.0 OR BSD-3-Clause)2 // Copyright(c) 2015-17 Intel Corporation.
 17 #include <linux/soundwire/sdw_intel.h>
 45 		return ERR_PTR(-ENOMEM);  in intel_link_dev_register()
 47 	auxdev = &ldev->auxdev;  in intel_link_dev_register()
 48 	auxdev->name = name;  in intel_link_dev_register()
 49 	auxdev->dev.parent = res->parent;  in intel_link_dev_register()
 50 	auxdev->dev.fwnode = fwnode;  in intel_link_dev_register()
 51 	auxdev->dev.release = intel_link_dev_release;  in intel_link_dev_register()
 54 	auxdev->id = link_id;  in intel_link_dev_register()
 [all …]
 
 | 
| H A D | intel_auxdevice.c | 1 // SPDX-License-Identifier: (GPL-2.0 OR BSD-3-Clause)2 // Copyright(c) 2015-22 Intel Corporation.
 5  * Soundwire Intel Manager Driver
 18 #include <linux/soundwire/sdw_registers.h>
 19 #include <linux/soundwire/sdw.h>
 20 #include <linux/soundwire/sdw_intel.h>
 29  * debug/config flags for the Intel SoundWire Master.
 32  * flags reused in each byte, with master0 using the ls-byte, etc.
 42 MODULE_PARM_DESC(sdw_md_flags, "SoundWire Intel Master device flags (0x0 all off)");
 46 MODULE_PARM_DESC(sdw_mclk_divider, "SoundWire Intel mclk divider");
 [all …]
 
 | 
| H A D | intel.h | 1 /* SPDX-License-Identifier: (GPL-2.0 OR BSD-3-Clause) */2 /* Copyright(c) 2015-17 Intel Corporation. */
 10  * struct sdw_intel_link_res - Soundwire Intel link resource structure,
 11  * typically populated by the controller driver.
 12  * @hw_ops: platform-specific ops
 13  * @mmio_base: mmio base of SoundWire registers
 17  * @shim_vs: Audio vendor-specific shim pointer
 26  * @link_mask: global mask needed for power-up/down sequences
 28  * @list: used to walk-through all masters exposed by the same controller
 54  * struct sdw_intel_bpt - SoundWire Intel BPT context
 [all …]
 
 | 
| H A D | stream.c | 1 // SPDX-License-Identifier: (GPL-2.0 OR BSD-3-Clause)2 // Copyright(c) 2015-18 Intel Corporation.
 5  *  stream.c - SoundWire Bus stream operations.
 14 #include <linux/soundwire/sdw_registers.h>
 15 #include <linux/soundwire/sdw.h>
 16 #include <linux/soundwire/sdw_type.h>
 22  * Array of supported rows and columns as per MIPI SoundWire Specification 1.1
 72 	if (bus->params.next_bank) {  in _sdw_program_slave_port_params()
 73 		addr1 = SDW_DPN_OFFSETCTRL2_B1(t_params->port_num);  in _sdw_program_slave_port_params()
 74 		addr2 = SDW_DPN_BLOCKCTRL3_B1(t_params->port_num);  in _sdw_program_slave_port_params()
 [all …]
 
 | 
| H A D | qcom.c | 1 // SPDX-License-Identifier: GPL-2.019 #include <linux/soundwire/sdw.h>
 20 #include <linux/soundwire/sdw_registers.h>
 102 #define SWRM_DP_PORT_CTRL_BANK(n, m)	(0x1124 + 0x100 * (n - 1) + 0x40 * m)
 103 #define SWRM_DP_PORT_CTRL_2_BANK(n, m)	(0x1128 + 0x100 * (n - 1) + 0x40 * m)
 104 #define SWRM_DP_BLOCK_CTRL_1(n)		(0x112C + 0x100 * (n - 1))
 105 #define SWRM_DP_BLOCK_CTRL2_BANK(n, m)	(0x1130 + 0x100 * (n - 1) + 0x40 * m)
 106 #define SWRM_DP_PORT_HCTRL_BANK(n, m)	(0x1134 + 0x100 * (n - 1) + 0x40 * m)
 107 #define SWRM_DP_BLOCK_CTRL3_BANK(n, m)	(0x1138 + 0x100 * (n - 1) + 0x40 * m)
 108 #define SWRM_DP_SAMPLECTRL2_BANK(n, m)	(0x113C + 0x100 * (n - 1) + 0x40 * m)
 [all …]
 
 | 
| H A D | amd_manager.c | 1 // SPDX-License-Identifier: (GPL-2.0 OR BSD-3-Clause)3  * SoundWire AMD Manager driver
 5  * Copyright 2023-24 Advanced Micro Devices, Inc.
 16 #include <linux/soundwire/sdw.h>
 17 #include <linux/soundwire/sdw_registers.h>
 35 	writel(AMD_SDW_ENABLE, amd_manager->mmio + ACP_SW_EN);  in amd_init_sdw_manager()
 36 	ret = readl_poll_timeout(amd_manager->mmio + ACP_SW_EN_STATUS, val, val, ACP_DELAY_US,  in amd_init_sdw_manager()
 41 	/* SoundWire manager bus reset */  in amd_init_sdw_manager()
 42 	writel(AMD_SDW_BUS_RESET_REQ, amd_manager->mmio + ACP_SW_BUS_RESET_CTRL);  in amd_init_sdw_manager()
 43 	ret = readl_poll_timeout(amd_manager->mmio + ACP_SW_BUS_RESET_CTRL, val,  in amd_init_sdw_manager()
 [all …]
 
 | 
| /linux/Documentation/sound/codecs/ | 
| H A D | cs35l56.rst | 1 .. SPDX-License-Identifier: GPL-2.0-only14 The high-level summary of this document is:
 30 ---------------------------------
 41 *For systems using SoundWire*: sound/soc/codecs/cs35l56.c and associated files
 52 Firmware is distributed in the linux-firmware repository:
 53 https://gitlab.com/kernel-firmware/linux-firmware.git
 55 On most SoundWire systems the amplifier has a default minimum capability to
 62 On some SoundWire systems that have both CS42L43 and CS35L56/57 the CS35L56/57
 64 SoundWire interface. These systems can be identified by the CS42L43 showing
 65 in dmesg as a SoundWire device, but the CS35L56/57 as SPI. On these systems
 [all …]
 
 | 
| /linux/sound/soc/amd/ | 
| H A D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0-only41 	tristate "AMD Audio Coprocessor-v3.x support"
 60 	tristate "AMD Audio Coprocessor - Renoir support"
 74 	tristate "AMD Audio Coprocessor-v5.x I2S support"
 97 	tristate "AMD Audio Coprocessor-v6.x Yellow Carp support"
 113 	  using dmic. ACP IP has PDM Decoder block with DMA controller.
 128         tristate "AMD Audio Coprocessor-v6.2 RPL support"
 155 	tristate "Support for SoundWire based AMD platforms"
 161 	  This adds support for SoundWire for AMD platforms.
 162 	  Say Y if you want to enable SoundWire links with SOF.
 [all …]
 
 | 
| /linux/sound/soc/sof/intel/ | 
| H A D | hda.c | 1 // SPDX-License-Identifier: (GPL-2.0-only OR BSD-3-Clause)24 #include <linux/soundwire/sdw.h>
 25 #include <linux/soundwire/sdw_intel.h>
 26 #include <sound/intel-dsp-confi
 [all...]
 | 
| /linux/arch/arm64/boot/dts/qcom/ | 
| H A D | sdm845-wcd9340.dtsi | 1 // SPDX-License-Identifier: GPL-2.013 		#address-cells = <2>;
 14 		#size-cells = <0>;
 24 			slim-ifc-dev = <&wcd9340_ifd>;
 26 			#sound-dai-cells = <1>;
 28 			interrupts-extended = <&tlmm 54 IRQ_TYPE_LEVEL_HIGH>;
 29 			interrupt-controller;
 30 			#interrupt-cells = <1>;
 32 			clock-names = "extclk";
 35 			#clock-cells = <0>;
 [all …]
 
 | 
| /linux/sound/soc/codecs/ | 
| H A D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0-only5 # setting - SPI can't be modular so that case doesn't need to be covered.
 498 	tristate "Analog Devices AU1761 CODEC - I2C"
 504 	tristate "Analog Devices AU1761 CODEC - SPI"
 541 	tristate "Analog Devices ADAU7002 Stereo PDM-to-I2S/TDM Converter"
 547 	tristate "Analog Devices ADAU7118 8 Channel PDM-t
 [all...]
 | 
| /linux/Documentation/devicetree/bindings/sound/ | 
| H A D | qcom,wcd9335.yaml | 1 # SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause3 ---
 5 $schema: http://devicetree.org/meta-schemas/core.yaml#
 10   - Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
 13   Qualcomm WCD9335 Codec is a standalone Hi-Fi audio codec IC with in-built
 14   Soundwire controller and interrupt mux. It supports both I2S/I2C and SLIMbus
 27   clock-names:
 29       - const: mclk
 30       - const: slimbus
 35   interrupt-names:
 [all …]
 
 | 
| H A D | qcom,wcd934x.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)3 ---
 5 $schema: http://devicetree.org/meta-schemas/core.yaml#
 10   - Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
 13   Qualcomm WCD9340/WCD9341 Codec is a standalone Hi-Fi audio codec IC.
 14   It has in-built Soundwire controller, pin controller, interrupt mux and
 27   reset-gpios:
 31   slim-ifc-dev:
 38   clock-names:
 41   vdd-buck-supply:
 [all …]
 
 | 
| H A D | cirrus,cs42l43.yaml | 1 # SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause3 ---
 5 $schema: http://devicetree.org/meta-schemas/core.yaml#
 10   - patches@opensource.cirrus.com
 13   The CS42L43 is an audio CODEC with integrated MIPI SoundWire interface
 21   - $ref: dai-common.yaml#
 26       - cirrus,cs42l43
 31   vdd-p-supply:
 35   vdd-a-supply:
 39   vdd-d-supply:
 [all …]
 
 | 
| /linux/sound/soc/intel/boards/ | 
| H A D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0-only7 	 has an audio controller with a DSP and I2S or DMIC port, then
 110 	tristate "Baytrail and Baytrail-CR with RT5640 codec"
 117 	  This adds support for ASoC machine driver for Intel(R) Baytrail and Baytrail-CR
 123 	tristate "Baytrail and Baytrail-CR with RT5651 codec"
 130 	  This adds support for ASoC machine driver for Intel(R) Baytrail and Baytrail-CR
 136 	tristate "Baytrail and Baytrail-CR with WM5102 codec"
 143 	  This adds support for ASoC machine driver for Intel(R) Baytrail and Baytrail-CR
 247 	  Up boards and provides access to I2S signals on the Low-Speed
 499 	tristate "SoundWire generic machine driver"
 [all …]
 
 |