From patchwork Thu Nov 30 17:41:47 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Srinivas Kandagatla X-Patchwork-Id: 120258 Delivered-To: patch@linaro.org Received: by 10.140.22.227 with SMTP id 90csp89608qgn; Thu, 30 Nov 2017 09:45:52 -0800 (PST) X-Google-Smtp-Source: AGs4zMaEkdltXbDJ2ufVJUJkWIeCMjhggXZU22U72DFjuvs7kwtEgLzLhYz9kxKJVIpgNtE7DGVO X-Received: by 10.159.207.134 with SMTP id z6mr3185969plo.164.1512063952504; Thu, 30 Nov 2017 09:45:52 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1512063952; cv=none; d=google.com; s=arc-20160816; b=tbM/pcGJ6sXcO5c89VNKzwchSULKUhWQYutlGFlQZqbNDC6+Z+Dz/jEQ5HhiNHtbkS CfpupLjbCwBnuRiC3Uukq6uWfF+QGYYACf2kdTHhq5V6abucfYkCqNIAIc9Fs2RgmecX GGNLUU0n43PNHfuNAhw8CxBAPUdkGRLfijKxiL1uqErQDELJhwPIyDwLY91F0+EzNOfR l+oOBVOUZjMSDnVammWpNnXqcTkY5R9adEH1R5rWRD5fuDGl8GGNi7AX1dp+FqSJ3A3V QWxQUC4B8Z+dU/bOsK0FIEFWhEn3R2qO0nlJbl9OLSGVKsJXJNDQhhNv+7QKDtVWEvil oYMw== 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=4psgEbXUh2zaQf8mbRjIh3N/ScFoab3eafF9wVEPJdQ=; b=Z0ziwUeHZ5xXgQiaZp3QUsH/+UCYWgsHXPqE2gQYX82pqJ6OoBrzFki6+T4UKVLkqG Y447m5e+r1ifEa1tH8zqgGupfj2DQX3aokMULUKevyaF6LgzkLHNe/I8TKodZYsrnePB RnLQi/FpB5b/hN/2He5MuofyjdzyiZctakGv7zblfkJOJswth37AlmLBw5lOB0ZS1FQ6 4V+bZeB7WTN3/sC7QVZfH2D6nAp/DOGlgTckJAz8sRjLb6RcZw18kuXFJCFl7JyjlTd5 2jFn3K6yobu6ui487OqFGYtDZYjRaVhEAzDQKtl74HslYzSSP1UWIBw309AVLpR3H7er 2rTw== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@linaro.org header.s=google header.b=euYuzGnW; spf=pass (google.com: best guess record for domain of devicetree-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=devicetree-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 d62si3617588pfl.79.2017.11.30.09.45.52; Thu, 30 Nov 2017 09:45:52 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of devicetree-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=euYuzGnW; spf=pass (google.com: best guess record for domain of devicetree-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=devicetree-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 S1753853AbdK3Rpu (ORCPT + 6 others); Thu, 30 Nov 2017 12:45:50 -0500 Received: from mail-wm0-f50.google.com ([74.125.82.50]:45462 "EHLO mail-wm0-f50.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753721AbdK3Rps (ORCPT ); Thu, 30 Nov 2017 12:45:48 -0500 Received: by mail-wm0-f50.google.com with SMTP id 9so14554845wme.4 for ; Thu, 30 Nov 2017 09:45:48 -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=Ads9lTvtOFWSw0bi1hid4QfKsqz7eSZElYsqG/xumIU=; b=euYuzGnWGvFC98KxnILfj6oAkjyfLZbWC6qpA09mR8QGQx+SSDUcmGtMUA70ISavph CtoxI0SUCKa+/0Ap1UUxhraKBVKXlB5DclCkhmmJdboU2r9BSmMgwtJbptB+QPPyUaRN TbPTSBYy+Jupdewo2jmrOrPET+BhsZNRLCCB8= 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=Ads9lTvtOFWSw0bi1hid4QfKsqz7eSZElYsqG/xumIU=; b=DR07F4nTv6dDM39VWSwXhjrqAZznwr2a/ptiO0VsaTIX00E8u3eD0qV9CjM/ZSHyu/ gGf0QeqG58N+KcPCzEYCVPRW3PrjXfS2pKQbqLFuTpknOkgeGJ2d+CumkXndQ/3yfx5q 7Ia5cqZXNPLzTrRQN7lPPn/g0oAlvfyq1uS0/fH8VpyLKEaw5unfcG3fAXwVpC2kjwvi ow6rbEBIqtrgV+Ocx5O0FR52XVfq2mcg6b//0ZPPXnzFPK3U4GqTs7j2dTkow2xpHiCZ 5ddjck140QRpeBw3R1hlaORaA74KjT/tdlJ5hpJtr5XQIXG3Tr//cfVz6NZMXOau/vSD VzvA== X-Gm-Message-State: AJaThX4Fw/Z781ULVVj++FBt09h2WcwwbVAUwV6W7BHVy71VAQZa6Ksp WACZ30fS4D/j/QK1P5YnoebuBA== X-Received: by 10.28.63.141 with SMTP id m135mr2725729wma.72.1512063947171; Thu, 30 Nov 2017 09:45:47 -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 189sm2412189wmu.3.2017.11.30.09.45.45 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Thu, 30 Nov 2017 09:45:46 -0800 (PST) From: srinivas.kandagatla@linaro.org To: gregkh@linuxfoundation.org, broonie@kernel.org, alsa-devel@alsa-project.org Cc: sdharia@codeaurora.org, bp@suse.de, poeschel@lemonage.de, treding@nvidia.com, andreas.noever@gmail.com, alan@linux.intel.com, mathieu.poirier@linaro.org, daniel@ffwll.ch, jkosina@suse.cz, sharon.dvir1@mail.huji.ac.il, joe@perches.com, davem@davemloft.net, james.hogan@imgtec.com, michael.opdenacker@free-electrons.com, robh+dt@kernel.org, pawel.moll@arm.com, mark.rutland@arm.com, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, vinod.koul@intel.com, arnd@arndb.de, srinivas.kandagatla@linaro.org Subject: [PATCH v8 00/13] Introduce framework for SLIMbus device driver Date: Thu, 30 Nov 2017 17:41:47 +0000 Message-Id: <20171130174200.6684-1-srinivas.kandagatla@linaro.org> X-Mailer: git-send-email 2.15.0 Sender: devicetree-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: devicetree@vger.kernel.org From: Srinivas Kandagatla Thanks for everyone who reviewed v7 patchset, here is v8 with review comments addressed. 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 Qualcomm Snapdragon processor board using the controller driver, and a test slave device. v7: https://lwn.net/Articles/739150/ Changes from v7 to v8: * Fixed few warnings from kerneldoc * Few cosmetic fixes suggested by Vinod * made SLIMbus string usage more consistent with spec * made probe mandatory for slim device * replaced explicit info and value element apis with more generic api * made driver_data aligned * cleaned up qcom controller driver as suggested by Charles and Jonathan 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/slimbus/index.rst | 15 + Documentation/driver-api/slimbus/summary.rst | 108 +++ MAINTAINERS | 8 + drivers/Kconfig | 2 + drivers/Makefile | 1 + drivers/base/regmap/Kconfig | 4 + drivers/base/regmap/Makefile | 1 + drivers/base/regmap/regmap-slimbus.c | 89 +++ drivers/slimbus/Kconfig | 22 + drivers/slimbus/Makefile | 9 + drivers/slimbus/core.c | 487 +++++++++++++ drivers/slimbus/messaging.c | 336 +++++++++ drivers/slimbus/qcom-ctrl.c | 756 +++++++++++++++++++++ drivers/slimbus/sched.c | 128 ++++ drivers/slimbus/slimbus.h | 268 ++++++++ include/linux/mod_devicetable.h | 13 + include/linux/regmap.h | 18 + include/linux/slimbus.h | 171 +++++ 20 files changed, 2525 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/index.rst create mode 100644 Documentation/driver-api/slimbus/summary.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 devicetree" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Reviewed-by: Rob Herring