mbox series

[v4,0/2] Add SDM630/636/660 interconnect driver

Message ID 20201017133718.31327-1-kholk11@gmail.com (mailing list archive)
Headers show
Series Add SDM630/636/660 interconnect driver | expand

Message

AngeloGioacchino Del Regno Oct. 17, 2020, 1:37 p.m. UTC
From: AngeloGioacchino Del Regno <kholk11@gmail.com>

This patch series adds the SDM660 interconnect provider driver in
order to stop some timeouts and achieve some decent performance by
avoiding to be NoC limited.
It's also providing some power consumption improvement, but I have
only measured that as less heat, which is quite important when
working on thermally constrained devices like smartphones.

Please note that this driver's yaml binding is referring to a MMCC
clock, so this series does depend on the SDM660 MMCC driver that I
have sent separately.
The multimedia clock is required only for the Multimedia NoC (mnoc).

This patch series has been tested against the following devices:
 - Sony Xperia XA2 Ultra (SDM630 Nile Discovery)
 - Sony Xperia 10        (SDM630 Ganges Kirin)
 - Sony Xperia 10 Plus   (SDM636 Ganges Mermaid)

Changes in v2:
 - Added missing qcom,mmcc-sdm660.h dt-binding include in the
   interconnect/qcom,sdm660.yaml binding, as pointed out by
   Rob Herring

Changes in v3:
 - Moved the dt-bindings/interconnect/qcom,sdm660.h header
   to dt-bindings commit.

Changes in v4:
 - Fixed code style issues and removed unused defines as per
   Georgi Djakov's review
 - Fixed the SDCC2 RPM master/slave IDs
 - Added an exception to stop writing LIMITCMDS to M_BKE_HEALTH_3
   as it doesn't exist there (it seems to be harmless to write
   that there, but it's incorrect to)
 - Tested again on the aforementioned devices

AngeloGioacchino Del Regno (2):
  dt-bindings: interconnect: Add bindings for Qualcomm SDM660 NoC
  interconnect: qcom: Add SDM660 interconnect provider driver

 .../bindings/interconnect/qcom,sdm660.yaml    | 147 +++
 drivers/interconnect/qcom/Kconfig             |   9 +
 drivers/interconnect/qcom/Makefile            |   2 +
 drivers/interconnect/qcom/sdm660.c            | 922 ++++++++++++++++++
 .../dt-bindings/interconnect/qcom,sdm660.h    | 116 +++
 5 files changed, 1196 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/interconnect/qcom,sdm660.yaml
 create mode 100644 drivers/interconnect/qcom/sdm660.c
 create mode 100644 include/dt-bindings/interconnect/qcom,sdm660.h