From patchwork Mon Dec 11 23:42:54 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Srinivas Kandagatla X-Patchwork-Id: 121474 Delivered-To: patch@linaro.org Received: by 10.140.22.227 with SMTP id 90csp3430655qgn; Mon, 11 Dec 2017 15:45:19 -0800 (PST) X-Google-Smtp-Source: ACJfBosHKnpNDtl8LtxXCvGMH9zDwtZi+ZmCQBwk+ScGNtHrSHEMENpOcRja74EUJ2iwk+bjJAgt X-Received: by 10.159.207.132 with SMTP id z4mr267130plo.440.1513035918962; Mon, 11 Dec 2017 15:45:18 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1513035918; cv=none; d=google.com; s=arc-20160816; b=VBxXU322IU+DAlqU2Wp4XJ+Uz7O6NVuub+lsRM44y46pjJL7HbVthz1iLJ8iEHgMoY v6iDLpglmivpyGoXWW5nRxj5mpYZxMyodlzU6ZB3TFRCbpKxAKX2MG7UNC6ESuiLcLD6 yUc2G5s2U5yAOkn5sgbfntdurOnI1ZOPB0W99iKIQuTRctcYMgNgubqwqV/5ozMaSh/8 0rfbdb3843B/FcITCrQoBL9OQoIZiHxu8mTzSLkEtAJpZymML+BUYn+ozHawuav4Vay0 sg8zD1IilzjJWcLTGh/mvK+gc+ncYKRahLx9m5pa9OPXbwmKwzOk5D7qwX4mog6U9Tmz Nm9g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:message-id:date:subject:cc:to:from :dkim-signature:arc-authentication-results; bh=rZCYq5VYCZmxl1xwHKzEcpDvv13FgsFCLEv1Y1Yq6rk=; b=r/QEOYntDfVK1WvqzsngoK3OzOGqaLYmxGaDh4IKMAii7goUkoNy67eVn5yeHD+s0p lsiXf4yTIv6PGAIf02vNO36Bus9XvIP3AkZaWz5XVyn/UX/WSBgU+mVnKDb6wpshFdof EGX8jZ41qkszMDAeoI8eQETUtD/ofnp2uxFdsVNkioNRBMKWF+00uuI/3wueSICTT+ZW DmjCG4Pr7gmeKP0oL5HaTHObwzChTIqGqYS/SA7zPPe6V9+KxCaRtgO3ROqHMyP0r+o8 eFl9a8Hdfq34DVyA0OvX+wypNxYcagjGMzJ15T48C5NSm+pbwc6W4r+0UAp4UUb5SWxD ZTeQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@linaro.org header.s=google header.b=XRE2740u; spf=pass (google.com: best guess record for domain of linux-arm-msm-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-arm-msm-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id n5si10493670pgp.656.2017.12.11.15.45.18; Mon, 11 Dec 2017 15:45:18 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-arm-msm-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=neutral (body hash did not verify) header.i=@linaro.org header.s=google header.b=XRE2740u; spf=pass (google.com: best guess record for domain of linux-arm-msm-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-arm-msm-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751609AbdLKXpR (ORCPT + 10 others); Mon, 11 Dec 2017 18:45:17 -0500 Received: from mail-wm0-f51.google.com ([74.125.82.51]:40696 "EHLO mail-wm0-f51.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751434AbdLKXpP (ORCPT ); Mon, 11 Dec 2017 18:45:15 -0500 Received: by mail-wm0-f51.google.com with SMTP id f206so17173776wmf.5 for ; Mon, 11 Dec 2017 15:45:15 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id; bh=oNcGpGyB+bIHaeiTg2v/g1665z4RMWSAku0RQhnsM+A=; b=XRE2740u6vZP26AwS3YoNp7IDh6cNB+FmP3jgzil2qHwnbbzQIVb/3Phc86fpMKdXj r5j/j5i8NG/OudSTVVONieBIzQBBJl4vJsE+PsK497Nx4IMhb2DJ3hMjifrU8AWugza4 YnOXDvn9FxNxOJDrEnf0c7XyjbaEgAMT2c4NQ= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=oNcGpGyB+bIHaeiTg2v/g1665z4RMWSAku0RQhnsM+A=; b=XC3M+O0FZVLto4aprgFtGXVzLMUCZnBsun+ITEw4SB4knzwWfa7NBcufEwclW36dqy 6Zvln/dEV7Tx5bd5oR2J6FPUITeFb4hAIqpFm6JGpWldEek9vtQtpOcegh6VEUXuwyEQ G6YlH3ojWbwzqJ7vIN8EdQkxqA8d7CZozmvy+TtWoKTcT83QSHYyFM2tUfUPhOtBGeXY PXoixWMvSiBaAj3PF8bqHa839ct0tBX61BGoh9buvbqmMvbJhS3Hv2AminT7ALT3djf+ gvEtmVGgfBxVJ23GnLepZx22VHtptVR6/VHL8jFL/1bwKo23V9PX4JYO1N1kZhztnZel sDdg== X-Gm-Message-State: AKGB3mJF/7bGHxT8SjbwU8EvwATsAOREmOM3KWbSy7NuRLz1DxQiPsHs 5ixMWgYT6OSYcHdgwfJIRSlQgw== X-Received: by 10.28.6.148 with SMTP id 142mr36008wmg.26.1513035914441; Mon, 11 Dec 2017 15:45:14 -0800 (PST) Received: from localhost.localdomain (cpc90716-aztw32-2-0-cust92.18-1.cable.virginm.net. [86.26.100.93]) by smtp.gmail.com with ESMTPSA id k69sm10673615wmg.8.2017.12.11.15.45.13 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Mon, 11 Dec 2017 15:45:13 -0800 (PST) From: srinivas.kandagatla@linaro.org To: Mark Brown , Greg Kroah-Hartman , alsa-devel@alsa-project.org Cc: sdharia@codeaurora.org, Rob Herring , Mark Rutland , Jonathan Corbet , pombredanne@nexb.com, j.neuschaefer@gmx.net, linux-arm-msm@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-doc@vger.kernel.org, Srinivas Kandagatla Subject: [PATCH v10 00/13] Introduce framework for SLIMbus device driver Date: Mon, 11 Dec 2017 23:42:54 +0000 Message-Id: <20171211234307.14465-1-srinivas.kandagatla@linaro.org> X-Mailer: git-send-email 2.15.0 Sender: linux-arm-msm-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-arm-msm@vger.kernel.org From: Srinivas Kandagatla SLIMbus (Serial Low Power Interchip Media Bus) is a specification developed by MIPI (Mobile Industry Processor Interface) alliance. SLIMbus is a 2-wire implementation, which is used to communicate with peripheral components like audio-codec. SLIMbus uses Time-Division-Multiplexing to accommodate multiple data channels, and control channel. Control channel has messages to do device-enumeration, messages to send/receive control-data to/from SLIMbus devices, messages for port/channel management, and messages to do bandwidth allocation. Framework is introduced to support multiple instances of the bus (1 controller per bus), and multiple slave devices per controller. SPI and I2C frameworks, and comments from last time when I submitted the patches were referred-to while working on this framework. These patchsets introduce device-management, OF helpers, and messaging APIs, controller driver for Qualcomm's SLIMbus controller, and clock-pause feature for entering/exiting low-power mode for SLIMbus. Framework patches to do channel, port and bandwidth management are work-in-progress and will be sent out once these initial patches are accepted. These patchsets were tested on IFC6410 board with Qualcomm APQ8064 processor using the controller driver, and a WCD9310 codec. v9: https://lkml.org/lkml/2017/12/7/289 Changes from v9 to v10: * Added kernel-doc reference into slimbus driver api doc suggested by Jonathan Corbet Sagar Dharia (9): Documentation: Add SLIMbus summary dt-bindings: Add SLIMbus bindings slimbus: Add SLIMbus bus type slimbus: core: Add slim controllers support slimbus: Add messaging APIs to slimbus framework slimbus: Add support for 'clock-pause' feature dt-bindings: Add qcom slimbus controller bindings slimbus: qcom: Add Qualcomm Slimbus controller driver slimbus: qcom: Add runtime-pm support using clock-pause Srinivas Kandagatla (4): slimbus: core: add support to device tree helper regmap: add SLIMbus support slimbus: core: add common defines required for controllers MAINTAINERS: Add SLIMbus maintainer Documentation/devicetree/bindings/slimbus/bus.txt | 50 ++ .../devicetree/bindings/slimbus/slim-qcom-ctrl.txt | 39 ++ Documentation/driver-api/index.rst | 1 + Documentation/driver-api/slimbus.rst | 127 ++++ MAINTAINERS | 8 + drivers/Kconfig | 2 + drivers/Makefile | 1 + drivers/base/regmap/Kconfig | 4 + drivers/base/regmap/Makefile | 1 + drivers/base/regmap/regmap-slimbus.c | 80 +++ drivers/slimbus/Kconfig | 23 + drivers/slimbus/Makefile | 10 + drivers/slimbus/core.c | 480 +++++++++++++ drivers/slimbus/messaging.c | 330 +++++++++ drivers/slimbus/qcom-ctrl.c | 750 +++++++++++++++++++++ drivers/slimbus/sched.c | 121 ++++ drivers/slimbus/slimbus.h | 261 +++++++ include/linux/mod_devicetable.h | 13 + include/linux/regmap.h | 18 + include/linux/slimbus.h | 164 +++++ 20 files changed, 2483 insertions(+) create mode 100644 Documentation/devicetree/bindings/slimbus/bus.txt create mode 100644 Documentation/devicetree/bindings/slimbus/slim-qcom-ctrl.txt create mode 100644 Documentation/driver-api/slimbus.rst create mode 100644 drivers/base/regmap/regmap-slimbus.c create mode 100644 drivers/slimbus/Kconfig create mode 100644 drivers/slimbus/Makefile create mode 100644 drivers/slimbus/core.c create mode 100644 drivers/slimbus/messaging.c create mode 100644 drivers/slimbus/qcom-ctrl.c create mode 100644 drivers/slimbus/sched.c create mode 100644 drivers/slimbus/slimbus.h create mode 100644 include/linux/slimbus.h -- 2.15.0 -- To unsubscribe from this list: send the line "unsubscribe linux-arm-msm" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html