xref: /freebsd/sys/contrib/device-tree/Bindings/cache/baikal,bt1-l2-ctl.yaml (revision fac71e4e09885bb2afa3d984a0c239a52e1a7418)
1*fac71e4eSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2*fac71e4eSEmmanuel Vadot# Copyright (C) 2020 BAIKAL ELECTRONICS, JSC
3*fac71e4eSEmmanuel Vadot%YAML 1.2
4*fac71e4eSEmmanuel Vadot---
5*fac71e4eSEmmanuel Vadot$id: http://devicetree.org/schemas/cache/baikal,bt1-l2-ctl.yaml#
6*fac71e4eSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
7*fac71e4eSEmmanuel Vadot
8*fac71e4eSEmmanuel Vadottitle: Baikal-T1 L2-cache Control Block
9*fac71e4eSEmmanuel Vadot
10*fac71e4eSEmmanuel Vadotmaintainers:
11*fac71e4eSEmmanuel Vadot  - Serge Semin <fancer.lancer@gmail.com>
12*fac71e4eSEmmanuel Vadot
13*fac71e4eSEmmanuel Vadotdescription: |
14*fac71e4eSEmmanuel Vadot  By means of the System Controller Baikal-T1 SoC exposes a few settings to
15*fac71e4eSEmmanuel Vadot  tune the MIPS P5600 CM2 L2 cache performance up. In particular it's possible
16*fac71e4eSEmmanuel Vadot  to change the Tag, Data and Way-select RAM access latencies. Baikal-T1
17*fac71e4eSEmmanuel Vadot  L2-cache controller block is responsible for the tuning. Its DT node is
18*fac71e4eSEmmanuel Vadot  supposed to be a child of the system controller.
19*fac71e4eSEmmanuel Vadot
20*fac71e4eSEmmanuel Vadotproperties:
21*fac71e4eSEmmanuel Vadot  compatible:
22*fac71e4eSEmmanuel Vadot    const: baikal,bt1-l2-ctl
23*fac71e4eSEmmanuel Vadot
24*fac71e4eSEmmanuel Vadot  reg:
25*fac71e4eSEmmanuel Vadot    maxItems: 1
26*fac71e4eSEmmanuel Vadot
27*fac71e4eSEmmanuel Vadot  baikal,l2-ws-latency:
28*fac71e4eSEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint32
29*fac71e4eSEmmanuel Vadot    description: Cycles of latency for Way-select RAM accesses
30*fac71e4eSEmmanuel Vadot    default: 0
31*fac71e4eSEmmanuel Vadot    minimum: 0
32*fac71e4eSEmmanuel Vadot    maximum: 3
33*fac71e4eSEmmanuel Vadot
34*fac71e4eSEmmanuel Vadot  baikal,l2-tag-latency:
35*fac71e4eSEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint32
36*fac71e4eSEmmanuel Vadot    description: Cycles of latency for Tag RAM accesses
37*fac71e4eSEmmanuel Vadot    default: 0
38*fac71e4eSEmmanuel Vadot    minimum: 0
39*fac71e4eSEmmanuel Vadot    maximum: 3
40*fac71e4eSEmmanuel Vadot
41*fac71e4eSEmmanuel Vadot  baikal,l2-data-latency:
42*fac71e4eSEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint32
43*fac71e4eSEmmanuel Vadot    description: Cycles of latency for Data RAM accesses
44*fac71e4eSEmmanuel Vadot    default: 1
45*fac71e4eSEmmanuel Vadot    minimum: 0
46*fac71e4eSEmmanuel Vadot    maximum: 3
47*fac71e4eSEmmanuel Vadot
48*fac71e4eSEmmanuel VadotadditionalProperties: false
49*fac71e4eSEmmanuel Vadot
50*fac71e4eSEmmanuel Vadotrequired:
51*fac71e4eSEmmanuel Vadot  - compatible
52*fac71e4eSEmmanuel Vadot
53*fac71e4eSEmmanuel Vadotexamples:
54*fac71e4eSEmmanuel Vadot  - |
55*fac71e4eSEmmanuel Vadot    l2@1f04d028 {
56*fac71e4eSEmmanuel Vadot      compatible = "baikal,bt1-l2-ctl";
57*fac71e4eSEmmanuel Vadot      reg = <0x1f04d028 0x004>;
58*fac71e4eSEmmanuel Vadot
59*fac71e4eSEmmanuel Vadot      baikal,l2-ws-latency = <1>;
60*fac71e4eSEmmanuel Vadot      baikal,l2-tag-latency = <1>;
61*fac71e4eSEmmanuel Vadot      baikal,l2-data-latency = <2>;
62*fac71e4eSEmmanuel Vadot    };
63*fac71e4eSEmmanuel Vadot...
64