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