mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-12-27 10:01:39 -05:00
Document the RPMh Network-On-Chip Interconnect of the Kaanapali platform. Co-developed-by: Odelu Kukatla <odelu.kukatla@oss.qualcomm.com> Signed-off-by: Odelu Kukatla <odelu.kukatla@oss.qualcomm.com> Signed-off-by: Raviteja Laggyshetty <raviteja.laggyshetty@oss.qualcomm.com> Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> Link: https://lore.kernel.org/r/20251031-knp-interconnect-v4-1-568bba2cb3e5@oss.qualcomm.com Signed-off-by: Georgi Djakov <djakov@kernel.org>
125 lines
3.1 KiB
YAML
125 lines
3.1 KiB
YAML
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
|
|
%YAML 1.2
|
|
---
|
|
$id: http://devicetree.org/schemas/interconnect/qcom,kaanapali-rpmh.yaml#
|
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
|
|
|
title: Qualcomm RPMh Network-On-Chip Interconnect on Kaanapali
|
|
|
|
maintainers:
|
|
- Raviteja Laggyshetty <raviteja.laggyshetty@oss.qualcomm.com>
|
|
|
|
description: |
|
|
RPMh interconnect providers support system bandwidth requirements through
|
|
RPMh hardware accelerators known as Bus Clock Manager (BCM). The provider is
|
|
able to communicate with the BCM through the Resource State Coordinator (RSC)
|
|
associated with each execution environment. Provider nodes must point to at
|
|
least one RPMh device child node pertaining to their RSC and each provider
|
|
can map to multiple RPMh resources.
|
|
|
|
See also: include/dt-bindings/interconnect/qcom,kaanapali-rpmh.h
|
|
|
|
properties:
|
|
compatible:
|
|
enum:
|
|
- qcom,kaanapali-aggre-noc
|
|
- qcom,kaanapali-clk-virt
|
|
- qcom,kaanapali-cnoc-main
|
|
- qcom,kaanapali-cnoc-cfg
|
|
- qcom,kaanapali-gem-noc
|
|
- qcom,kaanapali-lpass-ag-noc
|
|
- qcom,kaanapali-lpass-lpiaon-noc
|
|
- qcom,kaanapali-lpass-lpicx-noc
|
|
- qcom,kaanapali-mc-virt
|
|
- qcom,kaanapali-mmss-noc
|
|
- qcom,kaanapali-nsp-noc
|
|
- qcom,kaanapali-pcie-anoc
|
|
- qcom,kaanapali-system-noc
|
|
|
|
reg:
|
|
maxItems: 1
|
|
|
|
clocks:
|
|
minItems: 2
|
|
maxItems: 3
|
|
|
|
required:
|
|
- compatible
|
|
|
|
allOf:
|
|
- $ref: qcom,rpmh-common.yaml#
|
|
- if:
|
|
properties:
|
|
compatible:
|
|
contains:
|
|
enum:
|
|
- qcom,kaanapali-clk-virt
|
|
- qcom,kaanapali-mc-virt
|
|
then:
|
|
properties:
|
|
reg: false
|
|
else:
|
|
required:
|
|
- reg
|
|
|
|
- if:
|
|
properties:
|
|
compatible:
|
|
contains:
|
|
enum:
|
|
- qcom,kaanapali-pcie-anoc
|
|
then:
|
|
properties:
|
|
clocks:
|
|
items:
|
|
- description: aggre-NOC PCIe AXI clock
|
|
- description: cfg-NOC PCIe a-NOC AHB clock
|
|
|
|
- if:
|
|
properties:
|
|
compatible:
|
|
contains:
|
|
enum:
|
|
- qcom,kaanapali-aggre-noc
|
|
then:
|
|
properties:
|
|
clocks:
|
|
items:
|
|
- description: aggre UFS PHY AXI clock
|
|
- description: aggre USB3 PRIM AXI clock
|
|
- description: RPMH CC IPA clock
|
|
|
|
- if:
|
|
properties:
|
|
compatible:
|
|
contains:
|
|
enum:
|
|
- qcom,kaanapali-aggre-noc
|
|
- qcom,kaanapali-pcie-anoc
|
|
then:
|
|
required:
|
|
- clocks
|
|
else:
|
|
properties:
|
|
clocks: false
|
|
|
|
unevaluatedProperties: false
|
|
|
|
examples:
|
|
- |
|
|
clk_virt: interconnect-0 {
|
|
compatible = "qcom,kaanapali-clk-virt";
|
|
#interconnect-cells = <2>;
|
|
qcom,bcm-voters = <&apps_bcm_voter>;
|
|
};
|
|
|
|
aggre_noc: interconnect@16e0000 {
|
|
compatible = "qcom,kaanapali-aggre-noc";
|
|
reg = <0x016e0000 0x42400>;
|
|
#interconnect-cells = <2>;
|
|
clocks = <&gcc_aggre_ufs_phy_axi_clk>,
|
|
<&gcc_aggre_usb3_prim_axi_clk>,
|
|
<&rpmhcc_ipa_clk>;
|
|
qcom,bcm-voters = <&apps_bcm_voter>;
|
|
};
|