Re: [PATCH V5 0/6] Introduce framework for SLIMbus device drivers
From: Masami Hiramatsu
Date: Fri Jun 03 2016 - 05:14:45 EST
On Wed, 27 Apr 2016 17:58:03 -0600
Sagar Dharia <sdharia@xxxxxxxxxxxxxx> wrote:
> 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.
I'm interested in this framework, especially the channel and port
parts since it is needed for device drivers on the slimbus.
Would you have any public git repository where I can review the
work-in-progress part of the framework?
> These patchsets were tested on Qualcomm Snapdragon processor board
> using the controller driver, and a test slave device.
> Changes from V4 to V5:
> * Addressed inline-code review comments from Mark Brown and Rob Herring.
> * Comments to document usage of workqueue while sending device-up/down
> notifications to slave drivers.
> * Introduced module_slimbus_driver macro for ease of registering and
> de-registering slimbus client driver.
> * Modified framework and controller remove functionality and tested
> bind/unbind for slimbus controller and slimbus device drivers.
> * Modified Device Tree compatible string to follow format from other
> discoverable buses, and clarified documentation about when node
> definition and compatible fields should be used.
> * Clock-pause initiated by the framework when controller is being
> removed to make sure there are no ongoing transfers.
> Sagar Dharia (6):
> SLIMbus: Device management on SLIMbus
> of/slimbus: OF helper for SLIMbus
> slimbus: Add messaging APIs to slimbus framework
> slim: qcom: Add Qualcomm Slimbus controller driver
> slimbus: Add support for 'clock-pause' feature
> slim: qcom: Add runtime-pm support using clock-pause feature
> Documentation/devicetree/bindings/slimbus/bus.txt | 55 ++
> .../devicetree/bindings/slimbus/slim-qcom-ctrl.txt | 45 ++
> Documentation/slimbus/summary | 109 +++
> drivers/Kconfig | 2 +
> drivers/Makefile | 1 +
> drivers/slimbus/Kconfig | 20 +
> drivers/slimbus/Makefile | 5 +
> drivers/slimbus/slim-core.c | 806 +++++++++++++++++++++
> drivers/slimbus/slim-messaging.c | 433 +++++++++++
> drivers/slimbus/slim-qcom-ctrl.c | 683 +++++++++++++++++
> drivers/slimbus/slim-qcom.h | 64 ++
> drivers/slimbus/slim-sched.c | 126 ++++
> include/linux/mod_devicetable.h | 13 +
> include/linux/slimbus.h | 685 +++++++++++++++++
> 14 files changed, 3047 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/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
Masami Hiramatsu <masami.hiramatsu@xxxxxxxxxx>