Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752134AbdLFPnf (ORCPT ); Wed, 6 Dec 2017 10:43:35 -0500 Received: from mga06.intel.com ([134.134.136.31]:36530 "EHLO mga06.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751362AbdLFPnd (ORCPT ); Wed, 6 Dec 2017 10:43:33 -0500 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.45,368,1508828400"; d="scan'208";a="15971140" From: Vinod Koul To: Greg Kroah-Hartman Cc: LKML , ALSA , Mark , Takashi , Pierre , patches.audio@intel.com, alan@linux.intel.com, Charles Keepax , Sagar Dharia , srinivas.kandagatla@linaro.org, plai@codeaurora.org, Sudheer Papothi Subject: [PATCH v5 00/15] soundwire: Add a new SoundWire subsystem Date: Wed, 6 Dec 2017 21:16:56 +0530 Message-Id: <1512575231-4154-1-git-send-email-vinod.koul@intel.com> X-Mailer: git-send-email 2.7.4 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 5700 Lines: 129 This patch series adds a new SoundWire subsystem which implements a new MIPI bus protocol 'SoundWire'. The SoundWire protocol is a robust, scalable, low complexity, low power, low latency, two-pin (clock and data) multi-drop bus that allows for the transfer of multiple audio streams and embedded control/commands. SoundWire provides synchronization capabilities and supports both PCM and PDM, multichannel data, isochronous and asynchronous modes. This series adds SoundWire Bus, IO transfers, DisCo (Discovery and Configuration) sysfs interface, regmap and Documentation summary This patch series is also available on git://git.kernel.org/pub/scm/linux/kernel/git/vkoul/soundwire.git topic/patch_v5 v4: https://lkml.org/lkml/2017/12/1/205 v3: https://lkml.org/lkml/2017/11/30/160 v2: https://lkml.org/lkml/2017/11/10/216 v1: https://lkml.org/lkml/2017/10/18/1030 RFC: https://lkml.org/lkml/2016/10/21/395 Changes in v5: - Address comments by Pierre - add reference to mid.mipi.org in documentation - add group and master device number and don't use those for enumeration - fix unused calls in disco code and also remove superfluous initialization - remove sdw_transfer apis slave arg, make enum values integer and not bitmaps - clarify the sdw_program_device_num loop and fix interrupt handling Changes in v4: - Remove text licenses and add SPDX tags only with C99 style comments - make bus_type code as GPL v2.0 only Changes in v3: - Update the kernel-doc styles and fix included headers for files - handle dev_pm_domain_attach() for defered probe - remove OF placeholders - change regmap license to GPLv2 only Changes in v2: - move documentation into driver-api and do rst conversion - fix documentation comments - add SPDX-License-Identifier: (GPL-2.0 OR BSD-3-Clause) to all source files - rework the transfer logic and paging logic as commented on v1 - remove dummy sysfs fns - registration checks and fixes - remove slave check for regamp as that turned superfluous - remove depends SoundWire symbol - make modalias api arg const - use bitmap for tracking assigned - add counter for report present tracking todo: add the dt-bindings Sanyog Kale (4): Documentation: Add SoundWire summary soundwire: Add SoundWire MIPI defined registers soundwire: Add Slave status handling helpers soundwire: cdns: Add sdw_master_ops and IO transfer support Vinod Koul (11): soundwire: Add SoundWire bus type soundwire: Add Master registration soundwire: Add MIPI DisCo property helpers soundwire: Add IO transfer regmap: Add SoundWire bus support soundwire: Add slave status handling soundwire: Add sysfs for SoundWire DisCo properties soundwire: cdns: Add cadence library soundwire: intel: Add Intel Master driver soundwire: intel: Add Intel init module MAINTAINERS: Add SoundWire entry Documentation/driver-api/index.rst | 1 + Documentation/driver-api/soundwire/index.rst | 15 + Documentation/driver-api/soundwire/summary.rst | 207 ++++++ MAINTAINERS | 10 + drivers/Kconfig | 2 + drivers/Makefile | 1 + drivers/base/regmap/Kconfig | 4 + drivers/base/regmap/Makefile | 1 + drivers/base/regmap/regmap-sdw.c | 92 +++ drivers/soundwire/Kconfig | 37 + drivers/soundwire/Makefile | 18 + drivers/soundwire/bus.c | 967 +++++++++++++++++++++++++ drivers/soundwire/bus.h | 73 ++ drivers/soundwire/bus_type.c | 193 +++++ drivers/soundwire/cadence_master.c | 749 +++++++++++++++++++ drivers/soundwire/cadence_master.h | 48 ++ drivers/soundwire/intel.c | 347 +++++++++ drivers/soundwire/intel.h | 23 + drivers/soundwire/intel_init.c | 198 +++++ drivers/soundwire/mipi_disco.c | 370 ++++++++++ drivers/soundwire/slave.c | 115 +++ drivers/soundwire/sysfs.c | 343 +++++++++ include/linux/mod_devicetable.h | 6 + include/linux/regmap.h | 37 + include/linux/soundwire/sdw.h | 495 +++++++++++++ include/linux/soundwire/sdw_intel.h | 24 + include/linux/soundwire/sdw_registers.h | 194 +++++ include/linux/soundwire/sdw_type.h | 19 + scripts/mod/devicetable-offsets.c | 4 + scripts/mod/file2alias.c | 15 + 30 files changed, 4608 insertions(+) create mode 100644 Documentation/driver-api/soundwire/index.rst create mode 100644 Documentation/driver-api/soundwire/summary.rst create mode 100644 drivers/base/regmap/regmap-sdw.c create mode 100644 drivers/soundwire/Kconfig create mode 100644 drivers/soundwire/Makefile create mode 100644 drivers/soundwire/bus.c create mode 100644 drivers/soundwire/bus.h create mode 100644 drivers/soundwire/bus_type.c create mode 100644 drivers/soundwire/cadence_master.c create mode 100644 drivers/soundwire/cadence_master.h create mode 100644 drivers/soundwire/intel.c create mode 100644 drivers/soundwire/intel.h create mode 100644 drivers/soundwire/intel_init.c create mode 100644 drivers/soundwire/mipi_disco.c create mode 100644 drivers/soundwire/slave.c create mode 100644 drivers/soundwire/sysfs.c create mode 100644 include/linux/soundwire/sdw.h create mode 100644 include/linux/soundwire/sdw_intel.h create mode 100644 include/linux/soundwire/sdw_registers.h create mode 100644 include/linux/soundwire/sdw_type.h -- 2.7.4