From patchwork Fri Oct 6 15:51:29 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Srinivas Kandagatla X-Patchwork-Id: 115074 Delivered-To: patch@linaro.org Received: by 10.80.163.170 with SMTP id s39csp1519506edb; Fri, 6 Oct 2017 08:52:00 -0700 (PDT) X-Received: by 10.99.101.70 with SMTP id z67mr2338693pgb.178.1507305120258; Fri, 06 Oct 2017 08:52:00 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1507305120; cv=none; d=google.com; s=arc-20160816; b=BoAdpvSYIb+54CLa3Ly2DPBVTl8O4jcOtpqEIa7F3mVI2eS9ewfDEM7QJ5PrigPOoK 2o1buOggGWqfhxb0emcnzzPt71w53ArEj/l5PxVdHThXI6VbdYFvmVvtXhk3UtzDStIV 5uDj3OSupYC0YKDwUtrXPnkPyebLSH1o1shsI9XL+C6fMkTU+kwl5zgRP4u2wopmRsnO NhFHJ33RuT93tG3yX5Bc6C/cMJ88AUcCCo9lUjgLZjugJQSo1QGvX4rMsBHmIPZAyGW5 dIx3quNlVuvbY0wmEOoQrk3/vnE94AQZ1ZLDqFy9A31SVXjgdln/BQSuJC+uIHORHLVn 7PVg== 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=J9FXGLAe/L79CLLG3o4oUqqG3RXhw2PoXu+FxWRnCzY=; b=fwpTa41iIamFXygbdfIVdchg3NwdeWjtJRym3Pp2IPIX3Kh+NmnjHPSgkLEuLpN1zv jguZ5Qfmf5JKTK0wfRvSUvShR8Jkya4v9DPIh+tv1H0YSNg2pHiqxYdqOCmNkRNQ8o13 kyn9VeUlEQKarWlDccrDI6Nc1ccLFwUanuBK13BPkILwLLuef4WVPIMs6YGD1Z8xVlvy 5903cBHNFPembxciX2t8Dmg1FNoQEil0Bpp8nMF1u0JCq0NE7XJFXuCKc1WBpebBWGgh dgk/18WD3N16u6qNXA1CKbH7pPvvx+Fg/0tUR36Jsp9OLzqpNOgWeFrktmaFn3n+NjW7 KOuQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@linaro.org header.s=google header.b=IGhIP6pr; 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 a78si1484228pfl.63.2017.10.06.08.51.59; Fri, 06 Oct 2017 08:52:00 -0700 (PDT) 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=IGhIP6pr; 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 S1752874AbdJFPv5 (ORCPT + 11 others); Fri, 6 Oct 2017 11:51:57 -0400 Received: from mail-wm0-f49.google.com ([74.125.82.49]:54891 "EHLO mail-wm0-f49.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752626AbdJFPvy (ORCPT ); Fri, 6 Oct 2017 11:51:54 -0400 Received: by mail-wm0-f49.google.com with SMTP id i124so8734750wmf.3 for ; Fri, 06 Oct 2017 08:51:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id; bh=3bQQAPDDPJdkFkvYC1xSca4lRG96/37kbRQnPIVN45w=; b=IGhIP6prLlQiBUCl2VMkEWoH+SxLBshp6BVMpw6NAPTfgEdTjURLAkvkQ6Kmn/mZEr DP5H5B3o8m49VfNXwzsOH8ure0LuOOgfxFYnGTmJKZdF7xg31DxkXx7qJ3rDndjzu+iC boTXArWca0LRUBwc1RZ26o9/DZHUqg1GbFbrA= 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=3bQQAPDDPJdkFkvYC1xSca4lRG96/37kbRQnPIVN45w=; b=c1JSL+o5omVuTBtrpq7Pij8yXGsosLUheDMBFPKmkwloJQxE3cBNiA45XH5p6eBdw1 1iPteKvZiJd1jHJbAnnwMOcUdLwj9frzdCkpMkAaxO2EDBuU3aYcN/EFac363vjob9lJ 4w4f87gqWZdMBloCT7TogaeUgYXjoTsYqeguVItQA9GK2JP2NoTrsA+PkfGQM+2+79bx N59HVznVMKH0a7C7Ohdz1QVSFs2DIY1rDeVfc1QKxe5lq6fWc+01vpUDJQ34OE2i9nVY LrjI+2JDvfXqONEkL8ShrUPUzpFVc2nW8GFTrGoxmwDRNAa/1quNNg65UjxINpe3Ug8c Ly1g== X-Gm-Message-State: AMCzsaX4ZtsLPxn8aL4gp+FueiyGGUGtGLqHN+xaWVOWFeg8IXiMtzIy Nlx/hZdojZodfZWyeUBXbVOV+A== X-Google-Smtp-Source: AOwi7QAYQEtNfwv5Q4U/U7RZ8zYuHyoZLBG3PxZjNBHmVZqkV9Twip4cscB4iSBw7TJmDkZKkbjgkw== X-Received: by 10.28.191.215 with SMTP id o84mr2295300wmi.153.1507305112689; Fri, 06 Oct 2017 08:51:52 -0700 (PDT) Received: from localhost.localdomain (static.8.26.4.46.clients.your-server.de. [46.4.26.8]) by smtp.gmail.com with ESMTPSA id r21sm1510327wmd.26.2017.10.06.08.51.51 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Fri, 06 Oct 2017 08:51:52 -0700 (PDT) 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, gong.chen@linux.intel.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, kheitke@audience.com, linux-arm-msm@vger.kernel.org, arnd@arndb.de, Srinivas Kandagatla Subject: [Patch v6 0/7] Introduce framework for SLIMbus device drivers Date: Fri, 6 Oct 2017 17:51:29 +0200 Message-Id: <20171006155136.4682-1-srinivas.kandagatla@linaro.org> X-Mailer: git-send-email 2.11.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 It's been very long time since there was any activity on the slimbus patches, Am currently working on getting Qualcomm DSP based audio working on top of mainline. Slimbus is one of the major component for getting any analog audio on QCOM SoC's. So am taking intiative to address the review comments on the older patchset and send it. I have tested this patch on IFC6410 board with wcd9310 codec. 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. Changes from V5 to V6: * aligned slim_driver_register more like other buses, suggested by Arnd. * removed boardinfo and add_device apis for now, suggested by Arnd * Few namespace cleanups suggested by Masami * merged of apis in to first patch as suggested by Arnd. * slimbus clients "compatible" name space made much inline with USB and PCIE, suggested by Rob and Arnd. * Removed memory allocations to controller drivers, as suggested by Arnd. * Various bindings comments addressed as suggested by Mark and others. * Added regmap interface so that codecs can write more generic code. * Added MAINTAINER file. Sagar Dharia (5): slimbus: Device management on SLIMbus slimbus: Add messaging APIs to slimbus framework slimbus: qcom: Add Qualcomm Slimbus controller driver slimbus: Add support for 'clock-pause' feature slimbus: qcom: Add runtime-pm support using clock-pause feature Srinivas Kandagatla (2): regmap: add SLIMBUS support MAINTAINERS: Add SLIMbus maintainer Documentation/devicetree/bindings/slimbus/bus.txt | 57 ++ .../devicetree/bindings/slimbus/slim-qcom-ctrl.txt | 43 ++ Documentation/slimbus/summary | 109 ++++ 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 | 20 + drivers/slimbus/Makefile | 8 + drivers/slimbus/slim-core.c | 725 +++++++++++++++++++++ drivers/slimbus/slim-messaging.c | 509 +++++++++++++++ drivers/slimbus/slim-qcom-ctrl.c | 714 ++++++++++++++++++++ drivers/slimbus/slim-qcom.h | 64 ++ drivers/slimbus/slim-sched.c | 126 ++++ include/linux/mod_devicetable.h | 13 + include/linux/regmap.h | 18 + include/linux/slimbus.h | 512 +++++++++++++++ 19 files changed, 3023 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/slimbus/summary 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/slim-core.c create mode 100644 drivers/slimbus/slim-messaging.c create mode 100644 drivers/slimbus/slim-qcom-ctrl.c create mode 100644 drivers/slimbus/slim-qcom.h create mode 100644 drivers/slimbus/slim-sched.c create mode 100644 include/linux/slimbus.h -- 2.9.3 -- 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