[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <1571278852-8023-1-git-send-email-daidavid1@codeaurora.org>
Date: Wed, 16 Oct 2019 19:20:48 -0700
From: David Dai <daidavid1@...eaurora.org>
To: georgi.djakov@...aro.org, bjorn.andersson@...aro.org,
robh+dt@...nel.org
Cc: David Dai <daidavid1@...eaurora.org>, evgreen@...gle.com,
sboyd@...nel.org, ilina@...eaurora.org, seansw@....qualcomm.com,
elder@...aro.org, linux-kernel@...r.kernel.org,
devicetree@...r.kernel.org, linux-arm-msm@...r.kernel.org,
linux-pm@...r.kernel.org
Subject: [RFC PATCH 0/4] Redefine interconnect provider DT nodes for SDM845
While there are no current consumers of the SDM845 interconnect device in
devicetree, take this opportunity to redefine the interconnect device nodes
as the previous definitions of using a single child node under the apps_rsc
device did not accurately capture the description of the hardware.
The Network-On-Chip (NoC) interconnect devices should be represented in a
manner akin to QCS404 platforms[1] where there is a separation of NoC devices
and its RPM/RPMh counterparts.
The bcm-voter devices are representing the RPMh devices that the interconnect
providers need to communicate with and there can be more than one instance of
the Bus Clock Manager (BCM) which can live under different instances of Resource
State Coordinators (RSC). There are display use cases where consumers may need
to target a different bcm-voter (Some display specific RSC) than the default,
and there needs to be a way to represent this connection in devicetree.
This patches series extends the original discussion involving the SDM845
interconnect bindings[2] by adding accompanying driver implementations
using the split NoC devices. The first patch also updates existing
sdm845 binding documentation to DT schema format using json-schema.
[1]: https://lkml.org/lkml/2019/6/13/143
[2]: https://lkml.org/lkml/2019/7/19/1063
David Dai (4):
dt-bindings: interconnect: Update Qualcomm SDM845 DT bindings
arm64: dts: sdm845: Redefine interconnect provider DT nodes
interconnect: qcom: Refactor icc rpmh support
interconnect: qcom: sdm845: Split qnodes into their respective NoCs
.../bindings/interconnect/qcom,bcm-voter.yaml | 45 ++
.../bindings/interconnect/qcom,sdm845.txt | 24 -
.../bindings/interconnect/qcom,sdm845.yaml | 108 +++
arch/arm64/boot/dts/qcom/sdm845.dtsi | 60 +-
drivers/interconnect/qcom/Kconfig | 8 +
drivers/interconnect/qcom/Makefile | 4 +
drivers/interconnect/qcom/bcm-voter.c | 355 ++++++++++
drivers/interconnect/qcom/bcm-voter.h | 28 +
drivers/interconnect/qcom/icc-rpmh.c | 154 +++++
drivers/interconnect/qcom/icc-rpmh.h | 150 +++++
drivers/interconnect/qcom/sdm845.c | 727 ++++++---------------
11 files changed, 1115 insertions(+), 548 deletions(-)
create mode 100644 Documentation/devicetree/bindings/interconnect/qcom,bcm-voter.yaml
delete mode 100644 Documentation/devicetree/bindings/interconnect/qcom,sdm845.txt
create mode 100644 Documentation/devicetree/bindings/interconnect/qcom,sdm845.yaml
create mode 100644 drivers/interconnect/qcom/bcm-voter.c
create mode 100644 drivers/interconnect/qcom/bcm-voter.h
create mode 100644 drivers/interconnect/qcom/icc-rpmh.c
create mode 100644 drivers/interconnect/qcom/icc-rpmh.h
--
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
a Linux Foundation Collaborative Project
Powered by blists - more mailing lists