18c2ecf20Sopenharmony_ci# SPDX-License-Identifier: (GPL-2.0-or-later OR BSD-2-Clause) 28c2ecf20Sopenharmony_ci%YAML 1.2 38c2ecf20Sopenharmony_ci--- 48c2ecf20Sopenharmony_ci$id: http://devicetree.org/schemas/arm/msm/qcom,llcc.yaml# 58c2ecf20Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml# 68c2ecf20Sopenharmony_ci 78c2ecf20Sopenharmony_cititle: Last Level Cache Controller 88c2ecf20Sopenharmony_ci 98c2ecf20Sopenharmony_cimaintainers: 108c2ecf20Sopenharmony_ci - Rishabh Bhatnagar <rishabhb@codeaurora.org> 118c2ecf20Sopenharmony_ci - Sai Prakash Ranjan <saiprakash.ranjan@codeaurora.org> 128c2ecf20Sopenharmony_ci 138c2ecf20Sopenharmony_cidescription: | 148c2ecf20Sopenharmony_ci LLCC (Last Level Cache Controller) provides last level of cache memory in SoC, 158c2ecf20Sopenharmony_ci that can be shared by multiple clients. Clients here are different cores in the 168c2ecf20Sopenharmony_ci SoC, the idea is to minimize the local caches at the clients and migrate to 178c2ecf20Sopenharmony_ci common pool of memory. Cache memory is divided into partitions called slices 188c2ecf20Sopenharmony_ci which are assigned to clients. Clients can query the slice details, activate 198c2ecf20Sopenharmony_ci and deactivate them. 208c2ecf20Sopenharmony_ci 218c2ecf20Sopenharmony_ciproperties: 228c2ecf20Sopenharmony_ci compatible: 238c2ecf20Sopenharmony_ci enum: 248c2ecf20Sopenharmony_ci - qcom,sc7180-llcc 258c2ecf20Sopenharmony_ci - qcom,sdm845-llcc 268c2ecf20Sopenharmony_ci 278c2ecf20Sopenharmony_ci reg: 288c2ecf20Sopenharmony_ci items: 298c2ecf20Sopenharmony_ci - description: LLCC base register region 308c2ecf20Sopenharmony_ci - description: LLCC broadcast base register region 318c2ecf20Sopenharmony_ci 328c2ecf20Sopenharmony_ci reg-names: 338c2ecf20Sopenharmony_ci items: 348c2ecf20Sopenharmony_ci - const: llcc_base 358c2ecf20Sopenharmony_ci - const: llcc_broadcast_base 368c2ecf20Sopenharmony_ci 378c2ecf20Sopenharmony_ci interrupts: 388c2ecf20Sopenharmony_ci maxItems: 1 398c2ecf20Sopenharmony_ci 408c2ecf20Sopenharmony_cirequired: 418c2ecf20Sopenharmony_ci - compatible 428c2ecf20Sopenharmony_ci - reg 438c2ecf20Sopenharmony_ci - reg-names 448c2ecf20Sopenharmony_ci - interrupts 458c2ecf20Sopenharmony_ci 468c2ecf20Sopenharmony_ciadditionalProperties: false 478c2ecf20Sopenharmony_ci 488c2ecf20Sopenharmony_ciexamples: 498c2ecf20Sopenharmony_ci - | 508c2ecf20Sopenharmony_ci #include <dt-bindings/interrupt-controller/arm-gic.h> 518c2ecf20Sopenharmony_ci 528c2ecf20Sopenharmony_ci system-cache-controller@1100000 { 538c2ecf20Sopenharmony_ci compatible = "qcom,sdm845-llcc"; 548c2ecf20Sopenharmony_ci reg = <0x1100000 0x200000>, <0x1300000 0x50000> ; 558c2ecf20Sopenharmony_ci reg-names = "llcc_base", "llcc_broadcast_base"; 568c2ecf20Sopenharmony_ci interrupts = <GIC_SPI 582 IRQ_TYPE_LEVEL_HIGH>; 578c2ecf20Sopenharmony_ci }; 58