xref: /freebsd/sys/contrib/device-tree/Bindings/cache/andestech,ax45mp-cache.yaml (revision aa1a8ff2d6dbc51ef058f46f3db5a8bb77967145)
1*aa1a8ff2SEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2*aa1a8ff2SEmmanuel Vadot# Copyright (C) 2023 Renesas Electronics Corp.
3*aa1a8ff2SEmmanuel Vadot%YAML 1.2
4*aa1a8ff2SEmmanuel Vadot---
5*aa1a8ff2SEmmanuel Vadot$id: http://devicetree.org/schemas/cache/andestech,ax45mp-cache.yaml#
6*aa1a8ff2SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
7*aa1a8ff2SEmmanuel Vadot
8*aa1a8ff2SEmmanuel Vadottitle: Andestech AX45MP L2 Cache Controller
9*aa1a8ff2SEmmanuel Vadot
10*aa1a8ff2SEmmanuel Vadotmaintainers:
11*aa1a8ff2SEmmanuel Vadot  - Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
12*aa1a8ff2SEmmanuel Vadot
13*aa1a8ff2SEmmanuel Vadotdescription:
14*aa1a8ff2SEmmanuel Vadot  A level-2 cache (L2C) is used to improve the system performance by providing
15*aa1a8ff2SEmmanuel Vadot  a large amount of cache line entries and reasonable access delays. The L2C
16*aa1a8ff2SEmmanuel Vadot  is shared between cores, and a non-inclusive non-exclusive policy is used.
17*aa1a8ff2SEmmanuel Vadot
18*aa1a8ff2SEmmanuel Vadotselect:
19*aa1a8ff2SEmmanuel Vadot  properties:
20*aa1a8ff2SEmmanuel Vadot    compatible:
21*aa1a8ff2SEmmanuel Vadot      contains:
22*aa1a8ff2SEmmanuel Vadot        enum:
23*aa1a8ff2SEmmanuel Vadot          - andestech,ax45mp-cache
24*aa1a8ff2SEmmanuel Vadot
25*aa1a8ff2SEmmanuel Vadot  required:
26*aa1a8ff2SEmmanuel Vadot    - compatible
27*aa1a8ff2SEmmanuel Vadot
28*aa1a8ff2SEmmanuel Vadotproperties:
29*aa1a8ff2SEmmanuel Vadot  compatible:
30*aa1a8ff2SEmmanuel Vadot    items:
31*aa1a8ff2SEmmanuel Vadot      - const: andestech,ax45mp-cache
32*aa1a8ff2SEmmanuel Vadot      - const: cache
33*aa1a8ff2SEmmanuel Vadot
34*aa1a8ff2SEmmanuel Vadot  reg:
35*aa1a8ff2SEmmanuel Vadot    maxItems: 1
36*aa1a8ff2SEmmanuel Vadot
37*aa1a8ff2SEmmanuel Vadot  interrupts:
38*aa1a8ff2SEmmanuel Vadot    maxItems: 1
39*aa1a8ff2SEmmanuel Vadot
40*aa1a8ff2SEmmanuel Vadot  cache-line-size:
41*aa1a8ff2SEmmanuel Vadot    const: 64
42*aa1a8ff2SEmmanuel Vadot
43*aa1a8ff2SEmmanuel Vadot  cache-level:
44*aa1a8ff2SEmmanuel Vadot    const: 2
45*aa1a8ff2SEmmanuel Vadot
46*aa1a8ff2SEmmanuel Vadot  cache-sets:
47*aa1a8ff2SEmmanuel Vadot    const: 1024
48*aa1a8ff2SEmmanuel Vadot
49*aa1a8ff2SEmmanuel Vadot  cache-size:
50*aa1a8ff2SEmmanuel Vadot    enum: [131072, 262144, 524288, 1048576, 2097152]
51*aa1a8ff2SEmmanuel Vadot
52*aa1a8ff2SEmmanuel Vadot  cache-unified: true
53*aa1a8ff2SEmmanuel Vadot
54*aa1a8ff2SEmmanuel Vadot  next-level-cache: true
55*aa1a8ff2SEmmanuel Vadot
56*aa1a8ff2SEmmanuel VadotadditionalProperties: false
57*aa1a8ff2SEmmanuel Vadot
58*aa1a8ff2SEmmanuel Vadotrequired:
59*aa1a8ff2SEmmanuel Vadot  - compatible
60*aa1a8ff2SEmmanuel Vadot  - reg
61*aa1a8ff2SEmmanuel Vadot  - interrupts
62*aa1a8ff2SEmmanuel Vadot  - cache-line-size
63*aa1a8ff2SEmmanuel Vadot  - cache-level
64*aa1a8ff2SEmmanuel Vadot  - cache-sets
65*aa1a8ff2SEmmanuel Vadot  - cache-size
66*aa1a8ff2SEmmanuel Vadot  - cache-unified
67*aa1a8ff2SEmmanuel Vadot
68*aa1a8ff2SEmmanuel Vadotexamples:
69*aa1a8ff2SEmmanuel Vadot  - |
70*aa1a8ff2SEmmanuel Vadot    #include <dt-bindings/interrupt-controller/irq.h>
71*aa1a8ff2SEmmanuel Vadot
72*aa1a8ff2SEmmanuel Vadot    cache-controller@13400000 {
73*aa1a8ff2SEmmanuel Vadot        compatible = "andestech,ax45mp-cache", "cache";
74*aa1a8ff2SEmmanuel Vadot        reg = <0x13400000 0x100000>;
75*aa1a8ff2SEmmanuel Vadot        interrupts = <508 IRQ_TYPE_LEVEL_HIGH>;
76*aa1a8ff2SEmmanuel Vadot        cache-line-size = <64>;
77*aa1a8ff2SEmmanuel Vadot        cache-level = <2>;
78*aa1a8ff2SEmmanuel Vadot        cache-sets = <1024>;
79*aa1a8ff2SEmmanuel Vadot        cache-size = <262144>;
80*aa1a8ff2SEmmanuel Vadot        cache-unified;
81*aa1a8ff2SEmmanuel Vadot    };
82