xref: /freebsd/sys/contrib/device-tree/Bindings/arm/msm/qcom,llcc.yaml (revision 5def4c47d4bd90b209b9b4a4ba9faec15846d8fd)
1# SPDX-License-Identifier: (GPL-2.0-or-later OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/arm/msm/qcom,llcc.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Last Level Cache Controller
8
9maintainers:
10  - Rishabh Bhatnagar <rishabhb@codeaurora.org>
11  - Sai Prakash Ranjan <saiprakash.ranjan@codeaurora.org>
12
13description: |
14  LLCC (Last Level Cache Controller) provides last level of cache memory in SoC,
15  that can be shared by multiple clients. Clients here are different cores in the
16  SoC, the idea is to minimize the local caches at the clients and migrate to
17  common pool of memory. Cache memory is divided into partitions called slices
18  which are assigned to clients. Clients can query the slice details, activate
19  and deactivate them.
20
21properties:
22  compatible:
23    enum:
24      - qcom,sc7180-llcc
25      - qcom,sdm845-llcc
26      - qcom,sm8150-llcc
27      - qcom,sm8250-llcc
28
29  reg:
30    items:
31      - description: LLCC base register region
32      - description: LLCC broadcast base register region
33
34  reg-names:
35    items:
36      - const: llcc_base
37      - const: llcc_broadcast_base
38
39  interrupts:
40    maxItems: 1
41
42required:
43  - compatible
44  - reg
45  - reg-names
46  - interrupts
47
48additionalProperties: false
49
50examples:
51  - |
52    #include <dt-bindings/interrupt-controller/arm-gic.h>
53
54    system-cache-controller@1100000 {
55      compatible = "qcom,sdm845-llcc";
56      reg = <0x1100000 0x200000>, <0x1300000 0x50000> ;
57      reg-names = "llcc_base", "llcc_broadcast_base";
58      interrupts = <GIC_SPI 582 IRQ_TYPE_LEVEL_HIGH>;
59    };
60