1fac71e4eSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-or-later OR BSD-2-Clause) 2fac71e4eSEmmanuel Vadot%YAML 1.2 3fac71e4eSEmmanuel Vadot--- 4fac71e4eSEmmanuel Vadot$id: http://devicetree.org/schemas/cache/qcom,llcc.yaml# 5fac71e4eSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 6fac71e4eSEmmanuel Vadot 7fac71e4eSEmmanuel Vadottitle: Last Level Cache Controller 8fac71e4eSEmmanuel Vadot 9fac71e4eSEmmanuel Vadotmaintainers: 10fac71e4eSEmmanuel Vadot - Bjorn Andersson <andersson@kernel.org> 11fac71e4eSEmmanuel Vadot 12fac71e4eSEmmanuel Vadotdescription: | 13fac71e4eSEmmanuel Vadot LLCC (Last Level Cache Controller) provides last level of cache memory in SoC, 14fac71e4eSEmmanuel Vadot that can be shared by multiple clients. Clients here are different cores in the 15fac71e4eSEmmanuel Vadot SoC, the idea is to minimize the local caches at the clients and migrate to 16fac71e4eSEmmanuel Vadot common pool of memory. Cache memory is divided into partitions called slices 17fac71e4eSEmmanuel Vadot which are assigned to clients. Clients can query the slice details, activate 18fac71e4eSEmmanuel Vadot and deactivate them. 19fac71e4eSEmmanuel Vadot 20fac71e4eSEmmanuel Vadotproperties: 21fac71e4eSEmmanuel Vadot compatible: 22fac71e4eSEmmanuel Vadot enum: 2384943d6fSEmmanuel Vadot - qcom,qdu1000-llcc 24*0e8011faSEmmanuel Vadot - qcom,sa8775p-llcc 25fac71e4eSEmmanuel Vadot - qcom,sc7180-llcc 26fac71e4eSEmmanuel Vadot - qcom,sc7280-llcc 27fac71e4eSEmmanuel Vadot - qcom,sc8180x-llcc 28fac71e4eSEmmanuel Vadot - qcom,sc8280xp-llcc 29fac71e4eSEmmanuel Vadot - qcom,sdm845-llcc 30fac71e4eSEmmanuel Vadot - qcom,sm6350-llcc 31fac71e4eSEmmanuel Vadot - qcom,sm7150-llcc 32fac71e4eSEmmanuel Vadot - qcom,sm8150-llcc 33fac71e4eSEmmanuel Vadot - qcom,sm8250-llcc 34fac71e4eSEmmanuel Vadot - qcom,sm8350-llcc 35fac71e4eSEmmanuel Vadot - qcom,sm8450-llcc 36fac71e4eSEmmanuel Vadot - qcom,sm8550-llcc 378d13bc63SEmmanuel Vadot - qcom,sm8650-llcc 388d13bc63SEmmanuel Vadot - qcom,x1e80100-llcc 39fac71e4eSEmmanuel Vadot 40fac71e4eSEmmanuel Vadot reg: 41fac71e4eSEmmanuel Vadot minItems: 2 42fac71e4eSEmmanuel Vadot maxItems: 9 43fac71e4eSEmmanuel Vadot 44fac71e4eSEmmanuel Vadot reg-names: 45fac71e4eSEmmanuel Vadot minItems: 2 46fac71e4eSEmmanuel Vadot maxItems: 9 47fac71e4eSEmmanuel Vadot 48fac71e4eSEmmanuel Vadot interrupts: 49fac71e4eSEmmanuel Vadot maxItems: 1 50fac71e4eSEmmanuel Vadot 5184943d6fSEmmanuel Vadot nvmem-cells: 5284943d6fSEmmanuel Vadot items: 5384943d6fSEmmanuel Vadot - description: Reference to an nvmem node for multi channel DDR 5484943d6fSEmmanuel Vadot 5584943d6fSEmmanuel Vadot nvmem-cell-names: 5684943d6fSEmmanuel Vadot items: 5784943d6fSEmmanuel Vadot - const: multi-chan-ddr 5884943d6fSEmmanuel Vadot 59fac71e4eSEmmanuel Vadotrequired: 60fac71e4eSEmmanuel Vadot - compatible 61fac71e4eSEmmanuel Vadot - reg 62fac71e4eSEmmanuel Vadot - reg-names 63fac71e4eSEmmanuel Vadot 64fac71e4eSEmmanuel VadotallOf: 65fac71e4eSEmmanuel Vadot - if: 66fac71e4eSEmmanuel Vadot properties: 67fac71e4eSEmmanuel Vadot compatible: 68fac71e4eSEmmanuel Vadot contains: 69fac71e4eSEmmanuel Vadot enum: 70fac71e4eSEmmanuel Vadot - qcom,sc7180-llcc 71fac71e4eSEmmanuel Vadot - qcom,sm6350-llcc 72fac71e4eSEmmanuel Vadot then: 73fac71e4eSEmmanuel Vadot properties: 74fac71e4eSEmmanuel Vadot reg: 75fac71e4eSEmmanuel Vadot items: 76fac71e4eSEmmanuel Vadot - description: LLCC0 base register region 77fac71e4eSEmmanuel Vadot - description: LLCC broadcast base register region 78fac71e4eSEmmanuel Vadot reg-names: 79fac71e4eSEmmanuel Vadot items: 80fac71e4eSEmmanuel Vadot - const: llcc0_base 81fac71e4eSEmmanuel Vadot - const: llcc_broadcast_base 82fac71e4eSEmmanuel Vadot 83fac71e4eSEmmanuel Vadot - if: 84fac71e4eSEmmanuel Vadot properties: 85fac71e4eSEmmanuel Vadot compatible: 86fac71e4eSEmmanuel Vadot contains: 87fac71e4eSEmmanuel Vadot enum: 88*0e8011faSEmmanuel Vadot - qcom,sa8775p-llcc 89*0e8011faSEmmanuel Vadot then: 90*0e8011faSEmmanuel Vadot properties: 91*0e8011faSEmmanuel Vadot reg: 92*0e8011faSEmmanuel Vadot items: 93*0e8011faSEmmanuel Vadot - description: LLCC0 base register region 94*0e8011faSEmmanuel Vadot - description: LLCC1 base register region 95*0e8011faSEmmanuel Vadot - description: LLCC2 base register region 96*0e8011faSEmmanuel Vadot - description: LLCC3 base register region 97*0e8011faSEmmanuel Vadot - description: LLCC4 base register region 98*0e8011faSEmmanuel Vadot - description: LLCC5 base register region 99*0e8011faSEmmanuel Vadot - description: LLCC broadcast base register region 100*0e8011faSEmmanuel Vadot reg-names: 101*0e8011faSEmmanuel Vadot items: 102*0e8011faSEmmanuel Vadot - const: llcc0_base 103*0e8011faSEmmanuel Vadot - const: llcc1_base 104*0e8011faSEmmanuel Vadot - const: llcc2_base 105*0e8011faSEmmanuel Vadot - const: llcc3_base 106*0e8011faSEmmanuel Vadot - const: llcc4_base 107*0e8011faSEmmanuel Vadot - const: llcc5_base 108*0e8011faSEmmanuel Vadot - const: llcc_broadcast_base 109*0e8011faSEmmanuel Vadot 110*0e8011faSEmmanuel Vadot - if: 111*0e8011faSEmmanuel Vadot properties: 112*0e8011faSEmmanuel Vadot compatible: 113*0e8011faSEmmanuel Vadot contains: 114*0e8011faSEmmanuel Vadot enum: 115fac71e4eSEmmanuel Vadot - qcom,sc7280-llcc 116fac71e4eSEmmanuel Vadot then: 117fac71e4eSEmmanuel Vadot properties: 118fac71e4eSEmmanuel Vadot reg: 119fac71e4eSEmmanuel Vadot items: 120fac71e4eSEmmanuel Vadot - description: LLCC0 base register region 121fac71e4eSEmmanuel Vadot - description: LLCC1 base register region 122fac71e4eSEmmanuel Vadot - description: LLCC broadcast base register region 123fac71e4eSEmmanuel Vadot reg-names: 124fac71e4eSEmmanuel Vadot items: 125fac71e4eSEmmanuel Vadot - const: llcc0_base 126fac71e4eSEmmanuel Vadot - const: llcc1_base 127fac71e4eSEmmanuel Vadot - const: llcc_broadcast_base 128fac71e4eSEmmanuel Vadot 129fac71e4eSEmmanuel Vadot - if: 130fac71e4eSEmmanuel Vadot properties: 131fac71e4eSEmmanuel Vadot compatible: 132fac71e4eSEmmanuel Vadot contains: 133fac71e4eSEmmanuel Vadot enum: 1347d0873ebSEmmanuel Vadot - qcom,qdu1000-llcc 135fac71e4eSEmmanuel Vadot - qcom,sc8180x-llcc 136fac71e4eSEmmanuel Vadot - qcom,sc8280xp-llcc 1378d13bc63SEmmanuel Vadot - qcom,x1e80100-llcc 138fac71e4eSEmmanuel Vadot then: 139fac71e4eSEmmanuel Vadot properties: 140fac71e4eSEmmanuel Vadot reg: 141fac71e4eSEmmanuel Vadot items: 142fac71e4eSEmmanuel Vadot - description: LLCC0 base register region 143fac71e4eSEmmanuel Vadot - description: LLCC1 base register region 144fac71e4eSEmmanuel Vadot - description: LLCC2 base register region 145fac71e4eSEmmanuel Vadot - description: LLCC3 base register region 146fac71e4eSEmmanuel Vadot - description: LLCC4 base register region 147fac71e4eSEmmanuel Vadot - description: LLCC5 base register region 148fac71e4eSEmmanuel Vadot - description: LLCC6 base register region 149fac71e4eSEmmanuel Vadot - description: LLCC7 base register region 150fac71e4eSEmmanuel Vadot - description: LLCC broadcast base register region 151fac71e4eSEmmanuel Vadot reg-names: 152fac71e4eSEmmanuel Vadot items: 153fac71e4eSEmmanuel Vadot - const: llcc0_base 154fac71e4eSEmmanuel Vadot - const: llcc1_base 155fac71e4eSEmmanuel Vadot - const: llcc2_base 156fac71e4eSEmmanuel Vadot - const: llcc3_base 157fac71e4eSEmmanuel Vadot - const: llcc4_base 158fac71e4eSEmmanuel Vadot - const: llcc5_base 159fac71e4eSEmmanuel Vadot - const: llcc6_base 160fac71e4eSEmmanuel Vadot - const: llcc7_base 161fac71e4eSEmmanuel Vadot - const: llcc_broadcast_base 162fac71e4eSEmmanuel Vadot 163fac71e4eSEmmanuel Vadot - if: 164fac71e4eSEmmanuel Vadot properties: 165fac71e4eSEmmanuel Vadot compatible: 166fac71e4eSEmmanuel Vadot contains: 167fac71e4eSEmmanuel Vadot enum: 168fac71e4eSEmmanuel Vadot - qcom,sdm845-llcc 169fac71e4eSEmmanuel Vadot - qcom,sm8150-llcc 170fac71e4eSEmmanuel Vadot - qcom,sm8250-llcc 171fac71e4eSEmmanuel Vadot - qcom,sm8350-llcc 172fac71e4eSEmmanuel Vadot then: 173fac71e4eSEmmanuel Vadot properties: 174fac71e4eSEmmanuel Vadot reg: 175fac71e4eSEmmanuel Vadot items: 176fac71e4eSEmmanuel Vadot - description: LLCC0 base register region 177fac71e4eSEmmanuel Vadot - description: LLCC1 base register region 178fac71e4eSEmmanuel Vadot - description: LLCC2 base register region 179fac71e4eSEmmanuel Vadot - description: LLCC3 base register region 180fac71e4eSEmmanuel Vadot - description: LLCC broadcast base register region 181fac71e4eSEmmanuel Vadot reg-names: 182fac71e4eSEmmanuel Vadot items: 183fac71e4eSEmmanuel Vadot - const: llcc0_base 184fac71e4eSEmmanuel Vadot - const: llcc1_base 185fac71e4eSEmmanuel Vadot - const: llcc2_base 186fac71e4eSEmmanuel Vadot - const: llcc3_base 187fac71e4eSEmmanuel Vadot - const: llcc_broadcast_base 188fac71e4eSEmmanuel Vadot 189*0e8011faSEmmanuel Vadot - if: 190*0e8011faSEmmanuel Vadot properties: 191*0e8011faSEmmanuel Vadot compatible: 192*0e8011faSEmmanuel Vadot contains: 193*0e8011faSEmmanuel Vadot enum: 194*0e8011faSEmmanuel Vadot - qcom,sm8450-llcc 195*0e8011faSEmmanuel Vadot - qcom,sm8550-llcc 196*0e8011faSEmmanuel Vadot - qcom,sm8650-llcc 197*0e8011faSEmmanuel Vadot then: 198*0e8011faSEmmanuel Vadot properties: 199*0e8011faSEmmanuel Vadot reg: 200*0e8011faSEmmanuel Vadot items: 201*0e8011faSEmmanuel Vadot - description: LLCC0 base register region 202*0e8011faSEmmanuel Vadot - description: LLCC1 base register region 203*0e8011faSEmmanuel Vadot - description: LLCC2 base register region 204*0e8011faSEmmanuel Vadot - description: LLCC3 base register region 205*0e8011faSEmmanuel Vadot - description: LLCC broadcast OR register region 206*0e8011faSEmmanuel Vadot - description: LLCC broadcast AND register region 207*0e8011faSEmmanuel Vadot reg-names: 208*0e8011faSEmmanuel Vadot items: 209*0e8011faSEmmanuel Vadot - const: llcc0_base 210*0e8011faSEmmanuel Vadot - const: llcc1_base 211*0e8011faSEmmanuel Vadot - const: llcc2_base 212*0e8011faSEmmanuel Vadot - const: llcc3_base 213*0e8011faSEmmanuel Vadot - const: llcc_broadcast_base 214*0e8011faSEmmanuel Vadot - const: llcc_broadcast_and_base 215*0e8011faSEmmanuel Vadot 216fac71e4eSEmmanuel VadotadditionalProperties: false 217fac71e4eSEmmanuel Vadot 218fac71e4eSEmmanuel Vadotexamples: 219fac71e4eSEmmanuel Vadot - | 220fac71e4eSEmmanuel Vadot #include <dt-bindings/interrupt-controller/arm-gic.h> 221fac71e4eSEmmanuel Vadot 222fac71e4eSEmmanuel Vadot soc { 223fac71e4eSEmmanuel Vadot #address-cells = <2>; 224fac71e4eSEmmanuel Vadot #size-cells = <2>; 225fac71e4eSEmmanuel Vadot 226fac71e4eSEmmanuel Vadot system-cache-controller@1100000 { 227fac71e4eSEmmanuel Vadot compatible = "qcom,sdm845-llcc"; 228fac71e4eSEmmanuel Vadot reg = <0 0x01100000 0 0x50000>, <0 0x01180000 0 0x50000>, 229fac71e4eSEmmanuel Vadot <0 0x01200000 0 0x50000>, <0 0x01280000 0 0x50000>, 230fac71e4eSEmmanuel Vadot <0 0x01300000 0 0x50000>; 231fac71e4eSEmmanuel Vadot reg-names = "llcc0_base", "llcc1_base", "llcc2_base", 232fac71e4eSEmmanuel Vadot "llcc3_base", "llcc_broadcast_base"; 233fac71e4eSEmmanuel Vadot interrupts = <GIC_SPI 582 IRQ_TYPE_LEVEL_HIGH>; 234fac71e4eSEmmanuel Vadot }; 235fac71e4eSEmmanuel Vadot }; 236