[PATCH V2 0/6] Introduce framework for SLIMbus device drivers

2015-06-16 Thread Sagar Dharia
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, 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 soon.

These patchsets were tested on Qualcomm Snapdragon processor board
using a controller driver.


Changes from V1 to V2:
* Addressed inline-code review comments from Joe and Mark Brown.
* Added initial binding document for slimbus
* Added initial version of Qualcomm controller driver and initial
  binding document for it.
* Added clock-pause feature for entering/exiting low power mode
* Added runtime-pm to Qualcomm controller driver

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  |   34 +
 .../devicetree/bindings/slimbus/slim-qcom-ctrl.txt |   45 +
 drivers/Kconfig|2 +
 drivers/Makefile   |1 +
 drivers/slimbus/Kconfig|   19 +
 drivers/slimbus/Makefile   |6 +
 drivers/slimbus/slim-qcom-ctrl.c   |  852 ++
 drivers/slimbus/slim-qcom.c|   96 ++
 drivers/slimbus/slim-qcom.h|   90 ++
 drivers/slimbus/slimbus.c  | 1174 
 include/linux/mod_devicetable.h|   13 +
 include/linux/slimbus.h|  589 ++
 12 files changed, 2921 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/slimbus/bus.txt
 create mode 100644 Documentation/devicetree/bindings/slimbus/slim-qcom-ctrl.txt
 create mode 100644 drivers/slimbus/Kconfig
 create mode 100644 drivers/slimbus/Makefile
 create mode 100644 drivers/slimbus/slim-qcom-ctrl.c
 create mode 100644 drivers/slimbus/slim-qcom.c
 create mode 100644 drivers/slimbus/slim-qcom.h
 create mode 100644 drivers/slimbus/slimbus.c
 create mode 100644 include/linux/slimbus.h

-- 
1.8.2.1

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH V2 0/6] Introduce framework for SLIMbus device drivers

2015-06-16 Thread Sagar Dharia
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, 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 soon.

These patchsets were tested on Qualcomm Snapdragon processor board
using a controller driver.


Changes from V1 to V2:
* Addressed inline-code review comments from Joe and Mark Brown.
* Added initial binding document for slimbus
* Added initial version of Qualcomm controller driver and initial
  binding document for it.
* Added clock-pause feature for entering/exiting low power mode
* Added runtime-pm to Qualcomm controller driver

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  |   34 +
 .../devicetree/bindings/slimbus/slim-qcom-ctrl.txt |   45 +
 drivers/Kconfig|2 +
 drivers/Makefile   |1 +
 drivers/slimbus/Kconfig|   19 +
 drivers/slimbus/Makefile   |6 +
 drivers/slimbus/slim-qcom-ctrl.c   |  852 ++
 drivers/slimbus/slim-qcom.c|   96 ++
 drivers/slimbus/slim-qcom.h|   90 ++
 drivers/slimbus/slimbus.c  | 1174 
 include/linux/mod_devicetable.h|   13 +
 include/linux/slimbus.h|  589 ++
 12 files changed, 2921 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/slimbus/bus.txt
 create mode 100644 Documentation/devicetree/bindings/slimbus/slim-qcom-ctrl.txt
 create mode 100644 drivers/slimbus/Kconfig
 create mode 100644 drivers/slimbus/Makefile
 create mode 100644 drivers/slimbus/slim-qcom-ctrl.c
 create mode 100644 drivers/slimbus/slim-qcom.c
 create mode 100644 drivers/slimbus/slim-qcom.h
 create mode 100644 drivers/slimbus/slimbus.c
 create mode 100644 include/linux/slimbus.h

-- 
1.8.2.1

--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/