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