cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

qcom,rpm.yaml (5949B)


      1# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
      2%YAML 1.2
      3---
      4$id: http://devicetree.org/schemas/interconnect/qcom,rpm.yaml#
      5$schema: http://devicetree.org/meta-schemas/core.yaml#
      6
      7title: Qualcomm RPM Network-On-Chip Interconnect
      8
      9maintainers:
     10  - Georgi Djakov <georgi.djakov@linaro.org>
     11
     12description: |
     13  RPM interconnect providers support system bandwidth requirements through
     14  RPM processor. The provider is able to communicate with the RPM through
     15  the RPM shared memory device.
     16
     17properties:
     18  reg:
     19    maxItems: 1
     20
     21  compatible:
     22    enum:
     23      - qcom,msm8916-bimc
     24      - qcom,msm8916-pcnoc
     25      - qcom,msm8916-snoc
     26      - qcom,msm8939-bimc
     27      - qcom,msm8939-pcnoc
     28      - qcom,msm8939-snoc
     29      - qcom,msm8996-a0noc
     30      - qcom,msm8996-a1noc
     31      - qcom,msm8996-a2noc
     32      - qcom,msm8996-bimc
     33      - qcom,msm8996-cnoc
     34      - qcom,msm8996-mnoc
     35      - qcom,msm8996-pnoc
     36      - qcom,msm8996-snoc
     37      - qcom,qcs404-bimc
     38      - qcom,qcs404-pcnoc
     39      - qcom,qcs404-snoc
     40      - qcom,sdm660-a2noc
     41      - qcom,sdm660-bimc
     42      - qcom,sdm660-cnoc
     43      - qcom,sdm660-gnoc
     44      - qcom,sdm660-mnoc
     45      - qcom,sdm660-snoc
     46
     47  '#interconnect-cells':
     48    const: 1
     49
     50  clocks:
     51    minItems: 2
     52    maxItems: 7
     53
     54  clock-names:
     55    minItems: 2
     56    maxItems: 7
     57
     58  power-domains:
     59    maxItems: 1
     60
     61required:
     62  - compatible
     63  - reg
     64  - '#interconnect-cells'
     65  - clock-names
     66  - clocks
     67
     68additionalProperties: false
     69
     70allOf:
     71  - if:
     72      properties:
     73        compatible:
     74          contains:
     75            enum:
     76              - qcom,msm8916-bimc
     77              - qcom,msm8916-pcnoc
     78              - qcom,msm8916-snoc
     79              - qcom,msm8939-bimc
     80              - qcom,msm8939-pcnoc
     81              - qcom,msm8939-snoc
     82              - qcom,msm8996-a1noc
     83              - qcom,msm8996-a2noc
     84              - qcom,msm8996-bimc
     85              - qcom,msm8996-cnoc
     86              - qcom,msm8996-pnoc
     87              - qcom,msm8996-snoc
     88              - qcom,qcs404-bimc
     89              - qcom,qcs404-pcnoc
     90              - qcom,qcs404-snoc
     91              - qcom,sdm660-bimc
     92              - qcom,sdm660-cnoc
     93              - qcom,sdm660-gnoc
     94              - qcom,sdm660-snoc
     95
     96    then:
     97      properties:
     98        clock-names:
     99          items:
    100            - const: bus
    101            - const: bus_a
    102
    103        clocks:
    104          items:
    105            - description: Bus Clock
    106            - description: Bus A Clock
    107
    108      # Child node's properties
    109      patternProperties:
    110        '^interconnect-[a-z0-9]+$':
    111          type: object
    112          description:
    113            snoc-mm is a child of snoc, sharing snoc's register address space.
    114
    115          properties:
    116            compatible:
    117              enum:
    118                - qcom,msm8939-snoc-mm
    119
    120            '#interconnect-cells':
    121              const: 1
    122
    123            clock-names:
    124              items:
    125                - const: bus
    126                - const: bus_a
    127
    128            clocks:
    129              items:
    130                - description: Bus Clock
    131                - description: Bus A Clock
    132
    133          required:
    134            - compatible
    135            - '#interconnect-cells'
    136            - clock-names
    137            - clocks
    138
    139  - if:
    140      properties:
    141        compatible:
    142          contains:
    143            enum:
    144              - qcom,msm8996-mnoc
    145              - qcom,sdm660-mnoc
    146
    147    then:
    148      properties:
    149        clock-names:
    150          items:
    151            - const: bus
    152            - const: bus_a
    153            - const: iface
    154
    155        clocks:
    156          items:
    157            - description: Bus Clock.
    158            - description: Bus A Clock.
    159            - description: CPU-NoC High-performance Bus Clock.
    160
    161  - if:
    162      properties:
    163        compatible:
    164          contains:
    165            enum:
    166              - qcom,msm8996-a0noc
    167
    168    then:
    169      properties:
    170        clock-names:
    171          items:
    172            - const: aggre0_snoc_axi
    173            - const: aggre0_cnoc_ahb
    174            - const: aggre0_noc_mpu_cfg
    175
    176        clocks:
    177          items:
    178            - description: Aggregate0 System NoC AXI Clock.
    179            - description: Aggregate0 Config NoC AHB Clock.
    180            - description: Aggregate0 NoC MPU Clock.
    181
    182      required:
    183        - power-domains
    184
    185  - if:
    186      properties:
    187        compatible:
    188          contains:
    189            enum:
    190              - qcom,sdm660-a2noc
    191
    192    then:
    193      properties:
    194        clock-names:
    195          items:
    196            - const: bus
    197            - const: bus_a
    198            - const: ipa
    199            - const: ufs_axi
    200            - const: aggre2_ufs_axi
    201            - const: aggre2_usb3_axi
    202            - const: cfg_noc_usb2_axi
    203
    204        clocks:
    205          items:
    206            - description: Bus Clock.
    207            - description: Bus A Clock.
    208            - description: IPA Clock.
    209            - description: UFS AXI Clock.
    210            - description: Aggregate2 UFS AXI Clock.
    211            - description: Aggregate2 USB3 AXI Clock.
    212            - description: Config NoC USB2 AXI Clock.
    213
    214examples:
    215  - |
    216      #include <dt-bindings/clock/qcom,rpmcc.h>
    217
    218      bimc: interconnect@400000 {
    219              compatible = "qcom,msm8916-bimc";
    220              reg = <0x00400000 0x62000>;
    221              #interconnect-cells = <1>;
    222              clock-names = "bus", "bus_a";
    223              clocks = <&rpmcc RPM_SMD_BIMC_CLK>,
    224                       <&rpmcc RPM_SMD_BIMC_A_CLK>;
    225      };
    226
    227      pcnoc: interconnect@500000 {
    228              compatible = "qcom,msm8916-pcnoc";
    229              reg = <0x00500000 0x11000>;
    230              #interconnect-cells = <1>;
    231              clock-names = "bus", "bus_a";
    232              clocks = <&rpmcc RPM_SMD_PCNOC_CLK>,
    233                       <&rpmcc RPM_SMD_PCNOC_A_CLK>;
    234      };
    235
    236      snoc: interconnect@580000 {
    237              compatible = "qcom,msm8916-snoc";
    238              reg = <0x00580000 0x14000>;
    239              #interconnect-cells = <1>;
    240              clock-names = "bus", "bus_a";
    241              clocks = <&rpmcc RPM_SMD_SNOC_CLK>,
    242                       <&rpmcc RPM_SMD_SNOC_A_CLK>;
    243      };