1# SPDX-License-Identifier: (GPL-2.0-or-later OR BSD-2-Clause) 2%YAML 1.2 3--- 4$id: http://devicetree.org/schemas/cache/qcom,llcc.yaml# 5$schema: http://devicetree.org/meta-schemas/core.yaml# 6 7title: Last Level Cache Controller 8 9maintainers: 10 - Bjorn Andersson <andersson@kernel.org> 11 12description: | 13 LLCC (Last Level Cache Controller) provides last level of cache memory in SoC, 14 that can be shared by multiple clients. Clients here are different cores in the 15 SoC, the idea is to minimize the local caches at the clients and migrate to 16 common pool of memory. Cache memory is divided into partitions called slices 17 which are assigned to clients. Clients can query the slice details, activate 18 and deactivate them. 19 20properties: 21 compatible: 22 enum: 23 - qcom,glymur-llcc 24 - qcom,ipq5424-llcc 25 - qcom,kaanapali-llcc 26 - qcom,qcs615-llcc 27 - qcom,qcs8300-llcc 28 - qcom,qdu1000-llcc 29 - qcom,sa8775p-llcc 30 - qcom,sar1130p-llcc 31 - qcom,sar2130p-llcc 32 - qcom,sc7180-llcc 33 - qcom,sc7280-llcc 34 - qcom,sc8180x-llcc 35 - qcom,sc8280xp-llcc 36 - qcom,sdm670-llcc 37 - qcom,sdm845-llcc 38 - qcom,sm6350-llcc 39 - qcom,sm7150-llcc 40 - qcom,sm8150-llcc 41 - qcom,sm8250-llcc 42 - qcom,sm8350-llcc 43 - qcom,sm8450-llcc 44 - qcom,sm8550-llcc 45 - qcom,sm8650-llcc 46 - qcom,sm8750-llcc 47 - qcom,x1e80100-llcc 48 49 reg: 50 minItems: 1 51 maxItems: 14 52 53 reg-names: 54 minItems: 1 55 maxItems: 14 56 57 interrupts: 58 maxItems: 1 59 60 nvmem-cells: 61 items: 62 - description: Reference to an nvmem node for multi channel DDR 63 64 nvmem-cell-names: 65 items: 66 - const: multi-chan-ddr 67 68required: 69 - compatible 70 - reg 71 - reg-names 72 73allOf: 74 - if: 75 properties: 76 compatible: 77 contains: 78 enum: 79 - qcom,ipq5424-llcc 80 then: 81 properties: 82 reg: 83 items: 84 - description: LLCC0 base register region 85 reg-names: 86 items: 87 - const: llcc0_base 88 89 - if: 90 properties: 91 compatible: 92 contains: 93 enum: 94 - qcom,glymur-llcc 95 then: 96 properties: 97 reg: 98 items: 99 - description: LLCC0 base register region 100 - description: LLCC1 base register region 101 - description: LLCC2 base register region 102 - description: LLCC3 base register region 103 - description: LLCC4 base register region 104 - description: LLCC5 base register region 105 - description: LLCC6 base register region 106 - description: LLCC7 base register region 107 - description: LLCC8 base register region 108 - description: LLCC9 base register region 109 - description: LLCC10 base register region 110 - description: LLCC11 base register region 111 - description: LLCC broadcast base register region 112 - description: LLCC broadcast AND register region 113 reg-names: 114 items: 115 - const: llcc0_base 116 - const: llcc1_base 117 - const: llcc2_base 118 - const: llcc3_base 119 - const: llcc4_base 120 - const: llcc5_base 121 - const: llcc6_base 122 - const: llcc7_base 123 - const: llcc8_base 124 - const: llcc9_base 125 - const: llcc10_base 126 - const: llcc11_base 127 - const: llcc_broadcast_base 128 - const: llcc_broadcast_and_base 129 130 - if: 131 properties: 132 compatible: 133 contains: 134 enum: 135 - qcom,sar1130p-llcc 136 - qcom,sar2130p-llcc 137 then: 138 properties: 139 reg: 140 items: 141 - description: LLCC0 base register region 142 - description: LLCC1 base register region 143 - description: LLCC broadcast OR register region 144 - description: LLCC broadcast AND register region 145 - description: LLCC scratchpad broadcast OR register region 146 - description: LLCC scratchpad broadcast AND register region 147 reg-names: 148 items: 149 - const: llcc0_base 150 - const: llcc1_base 151 - const: llcc_broadcast_base 152 - const: llcc_broadcast_and_base 153 - const: llcc_scratchpad_broadcast_base 154 - const: llcc_scratchpad_broadcast_and_base 155 156 - if: 157 properties: 158 compatible: 159 contains: 160 enum: 161 - qcom,qcs615-llcc 162 - qcom,sc7180-llcc 163 - qcom,sm6350-llcc 164 then: 165 properties: 166 reg: 167 items: 168 - description: LLCC0 base register region 169 - description: LLCC broadcast base register region 170 reg-names: 171 items: 172 - const: llcc0_base 173 - const: llcc_broadcast_base 174 175 - if: 176 properties: 177 compatible: 178 contains: 179 enum: 180 - qcom,sa8775p-llcc 181 then: 182 properties: 183 reg: 184 items: 185 - description: LLCC0 base register region 186 - description: LLCC1 base register region 187 - description: LLCC2 base register region 188 - description: LLCC3 base register region 189 - description: LLCC4 base register region 190 - description: LLCC5 base register region 191 - description: LLCC broadcast base register region 192 reg-names: 193 items: 194 - const: llcc0_base 195 - const: llcc1_base 196 - const: llcc2_base 197 - const: llcc3_base 198 - const: llcc4_base 199 - const: llcc5_base 200 - const: llcc_broadcast_base 201 202 - if: 203 properties: 204 compatible: 205 contains: 206 enum: 207 - qcom,sc7280-llcc 208 - qcom,sdm670-llcc 209 then: 210 properties: 211 reg: 212 items: 213 - description: LLCC0 base register region 214 - description: LLCC1 base register region 215 - description: LLCC broadcast base register region 216 reg-names: 217 items: 218 - const: llcc0_base 219 - const: llcc1_base 220 - const: llcc_broadcast_base 221 222 - if: 223 properties: 224 compatible: 225 contains: 226 enum: 227 - qcom,qdu1000-llcc 228 - qcom,sc8180x-llcc 229 - qcom,sc8280xp-llcc 230 then: 231 properties: 232 reg: 233 items: 234 - description: LLCC0 base register region 235 - description: LLCC1 base register region 236 - description: LLCC2 base register region 237 - description: LLCC3 base register region 238 - description: LLCC4 base register region 239 - description: LLCC5 base register region 240 - description: LLCC6 base register region 241 - description: LLCC7 base register region 242 - description: LLCC broadcast base register region 243 reg-names: 244 items: 245 - const: llcc0_base 246 - const: llcc1_base 247 - const: llcc2_base 248 - const: llcc3_base 249 - const: llcc4_base 250 - const: llcc5_base 251 - const: llcc6_base 252 - const: llcc7_base 253 - const: llcc_broadcast_base 254 255 - if: 256 properties: 257 compatible: 258 contains: 259 enum: 260 - qcom,x1e80100-llcc 261 then: 262 properties: 263 reg: 264 items: 265 - description: LLCC0 base register region 266 - description: LLCC1 base register region 267 - description: LLCC2 base register region 268 - description: LLCC3 base register region 269 - description: LLCC4 base register region 270 - description: LLCC5 base register region 271 - description: LLCC6 base register region 272 - description: LLCC7 base register region 273 - description: LLCC broadcast base register region 274 - description: LLCC broadcast AND register region 275 reg-names: 276 items: 277 - const: llcc0_base 278 - const: llcc1_base 279 - const: llcc2_base 280 - const: llcc3_base 281 - const: llcc4_base 282 - const: llcc5_base 283 - const: llcc6_base 284 - const: llcc7_base 285 - const: llcc_broadcast_base 286 - const: llcc_broadcast_and_base 287 288 - if: 289 properties: 290 compatible: 291 contains: 292 enum: 293 - qcom,qcs8300-llcc 294 - qcom,sdm845-llcc 295 - qcom,sm8150-llcc 296 - qcom,sm8250-llcc 297 - qcom,sm8350-llcc 298 then: 299 properties: 300 reg: 301 items: 302 - description: LLCC0 base register region 303 - description: LLCC1 base register region 304 - description: LLCC2 base register region 305 - description: LLCC3 base register region 306 - description: LLCC broadcast base register region 307 reg-names: 308 items: 309 - const: llcc0_base 310 - const: llcc1_base 311 - const: llcc2_base 312 - const: llcc3_base 313 - const: llcc_broadcast_base 314 315 - if: 316 properties: 317 compatible: 318 contains: 319 enum: 320 - qcom,kaanapali-llcc 321 - qcom,sm8450-llcc 322 - qcom,sm8550-llcc 323 - qcom,sm8650-llcc 324 - qcom,sm8750-llcc 325 then: 326 properties: 327 reg: 328 items: 329 - description: LLCC0 base register region 330 - description: LLCC1 base register region 331 - description: LLCC2 base register region 332 - description: LLCC3 base register region 333 - description: LLCC broadcast OR register region 334 - description: LLCC broadcast AND register region 335 reg-names: 336 items: 337 - const: llcc0_base 338 - const: llcc1_base 339 - const: llcc2_base 340 - const: llcc3_base 341 - const: llcc_broadcast_base 342 - const: llcc_broadcast_and_base 343 344additionalProperties: false 345 346examples: 347 - | 348 #include <dt-bindings/interrupt-controller/arm-gic.h> 349 350 soc { 351 #address-cells = <2>; 352 #size-cells = <2>; 353 354 system-cache-controller@1100000 { 355 compatible = "qcom,sdm845-llcc"; 356 reg = <0 0x01100000 0 0x50000>, <0 0x01180000 0 0x50000>, 357 <0 0x01200000 0 0x50000>, <0 0x01280000 0 0x50000>, 358 <0 0x01300000 0 0x50000>; 359 reg-names = "llcc0_base", "llcc1_base", "llcc2_base", 360 "llcc3_base", "llcc_broadcast_base"; 361 interrupts = <GIC_SPI 582 IRQ_TYPE_LEVEL_HIGH>; 362 }; 363 }; 364