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