[PATCH v4 0/5] Add QCS404 interconnect provider driver

From: Georgi Djakov
Date: Thu Jun 13 2019 - 11:18:10 EST


Add drivers to support scaling of the on-chip interconnects on QCS404-based
platforms. Also add the necessary device-tree nodes, so that the driver for
each NoC can probe and register as interconnect-provider.

v4:
- Move DT headers into the dt-bindings patch (Bjorn)
- Pick Bjorn's r-b on some patches.
- Return error if platform_device_register_data() fails (Bjorn)
- Use platform_set_drvdata() only in the child device. (Bjorn)
- Hide the smd-rpm proxy driver from config menu. (Bjorn)
- Add remove() function to zero out the rpm handle. (Bjorn)
- Move move the qcs404 driver patch later in the serie. (Bjorn)
- Insert the DT nodes after rng to keep the list sorted by address. (Bjorn)

v3: https://lore.kernel.org/lkml/20190611164157.24656-1-georgi.djakov@xxxxxxxxxx/
- Drop the patch introducing the qcom,qos DT property.
- Add two new patches to create an interconnect proxy device. This device is
part of the RPM hardware and handles the communication of the bus bandwidth
requests.
- Add a DT reg property and move the interconnect nodes under the "soc" node.

v2: https://lore.kernel.org/lkml/20190415104357.5305-1-georgi.djakov@xxxxxxxxxx/
- Use the clk_bulk API. (Bjorn)
- Move the port IDs into the provider file. (Bjorn)
- Use ARRAY_SIZE in the macro to automagically count the num_links. (Bjorn)
- Improve code readability. (Bjorn)
- Add patch [4/4] introducing a qcom,qos DT property to represent the link to
the MMIO QoS registers HW block.

v1: https://lore.kernel.org/lkml/20190405035446.31886-1-georgi.djakov@xxxxxxxxxx/

Bjorn Andersson (1):
interconnect: qcom: Add QCS404 interconnect provider driver

Georgi Djakov (4):
dt-bindings: interconnect: Add Qualcomm QCS404 DT bindings
soc: qcom: smd-rpm: Create RPM interconnect proxy child device
interconnect: qcom: Add interconnect SMD over SMD driver
arm64: dts: qcs404: Add interconnect provider DT nodes

.../bindings/interconnect/qcom,qcs404.txt | 46 ++
arch/arm64/boot/dts/qcom/qcs404.dtsi | 28 +
drivers/interconnect/qcom/Kconfig | 12 +
drivers/interconnect/qcom/Makefile | 4 +
drivers/interconnect/qcom/qcs404.c | 539 ++++++++++++++++++
drivers/interconnect/qcom/smd-rpm.c | 80 +++
drivers/interconnect/qcom/smd-rpm.h | 15 +
drivers/soc/qcom/smd-rpm.c | 17 +-
.../dt-bindings/interconnect/qcom,qcs404.h | 88 +++
9 files changed, 828 insertions(+), 1 deletion(-)
create mode 100644 Documentation/devicetree/bindings/interconnect/qcom,qcs404.txt
create mode 100644 drivers/interconnect/qcom/qcs404.c
create mode 100644 drivers/interconnect/qcom/smd-rpm.c
create mode 100644 drivers/interconnect/qcom/smd-rpm.h
create mode 100644 include/dt-bindings/interconnect/qcom,qcs404.h