lkml.org 
[lkml]   [2016]   [Apr]   [27]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    Subject[PATCH V5 0/6] Introduce framework for SLIMbus device drivers
    Date
    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 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

    --
    1.8.2.1

    \
     
     \ /
      Last update: 2016-04-28 02:21    [W:2.464 / U:1.316 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site