xref: /linux/Documentation/devicetree/bindings/cache/starfive,jh8100-starlink-cache.yaml (revision a3a02a52bcfcbcc4a637d4b68bf1bc391c9fad02)
1# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/cache/starfive,jh8100-starlink-cache.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: StarFive StarLink Cache Controller
8
9maintainers:
10  - Joshua Yeong <joshua.yeong@starfivetech.com>
11
12description:
13  StarFive's StarLink Cache Controller manages the L3 cache shared between
14  clusters of CPU cores. The cache driver enables RISC-V non-standard cache
15  management as an alternative to instructions in the RISC-V Zicbom extension.
16
17allOf:
18  - $ref: /schemas/cache-controller.yaml#
19
20# We need a select here so we don't match all nodes with 'cache'
21select:
22  properties:
23    compatible:
24      contains:
25        enum:
26          - starfive,jh8100-starlink-cache
27
28  required:
29    - compatible
30
31properties:
32  compatible:
33    items:
34      - const: starfive,jh8100-starlink-cache
35      - const: cache
36
37  reg:
38    maxItems: 1
39
40unevaluatedProperties: false
41
42required:
43  - compatible
44  - reg
45  - cache-block-size
46  - cache-level
47  - cache-sets
48  - cache-size
49  - cache-unified
50
51examples:
52  - |
53      soc {
54        #address-cells = <2>;
55        #size-cells = <2>;
56
57        cache-controller@15000000 {
58          compatible = "starfive,jh8100-starlink-cache", "cache";
59          reg = <0x0 0x15000000 0x0 0x278>;
60          cache-block-size = <64>;
61          cache-level = <3>;
62          cache-sets = <8192>;
63          cache-size = <0x400000>;
64          cache-unified;
65        };
66      };
67