162306a36Sopenharmony_ci# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
262306a36Sopenharmony_ci# Copyright (C) 2020 BAIKAL ELECTRONICS, JSC
362306a36Sopenharmony_ci%YAML 1.2
462306a36Sopenharmony_ci---
562306a36Sopenharmony_ci$id: http://devicetree.org/schemas/cache/baikal,bt1-l2-ctl.yaml#
662306a36Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml#
762306a36Sopenharmony_ci
862306a36Sopenharmony_cititle: Baikal-T1 L2-cache Control Block
962306a36Sopenharmony_ci
1062306a36Sopenharmony_cimaintainers:
1162306a36Sopenharmony_ci  - Serge Semin <fancer.lancer@gmail.com>
1262306a36Sopenharmony_ci
1362306a36Sopenharmony_cidescription: |
1462306a36Sopenharmony_ci  By means of the System Controller Baikal-T1 SoC exposes a few settings to
1562306a36Sopenharmony_ci  tune the MIPS P5600 CM2 L2 cache performance up. In particular it's possible
1662306a36Sopenharmony_ci  to change the Tag, Data and Way-select RAM access latencies. Baikal-T1
1762306a36Sopenharmony_ci  L2-cache controller block is responsible for the tuning. Its DT node is
1862306a36Sopenharmony_ci  supposed to be a child of the system controller.
1962306a36Sopenharmony_ci
2062306a36Sopenharmony_ciproperties:
2162306a36Sopenharmony_ci  compatible:
2262306a36Sopenharmony_ci    const: baikal,bt1-l2-ctl
2362306a36Sopenharmony_ci
2462306a36Sopenharmony_ci  reg:
2562306a36Sopenharmony_ci    maxItems: 1
2662306a36Sopenharmony_ci
2762306a36Sopenharmony_ci  baikal,l2-ws-latency:
2862306a36Sopenharmony_ci    $ref: /schemas/types.yaml#/definitions/uint32
2962306a36Sopenharmony_ci    description: Cycles of latency for Way-select RAM accesses
3062306a36Sopenharmony_ci    default: 0
3162306a36Sopenharmony_ci    minimum: 0
3262306a36Sopenharmony_ci    maximum: 3
3362306a36Sopenharmony_ci
3462306a36Sopenharmony_ci  baikal,l2-tag-latency:
3562306a36Sopenharmony_ci    $ref: /schemas/types.yaml#/definitions/uint32
3662306a36Sopenharmony_ci    description: Cycles of latency for Tag RAM accesses
3762306a36Sopenharmony_ci    default: 0
3862306a36Sopenharmony_ci    minimum: 0
3962306a36Sopenharmony_ci    maximum: 3
4062306a36Sopenharmony_ci
4162306a36Sopenharmony_ci  baikal,l2-data-latency:
4262306a36Sopenharmony_ci    $ref: /schemas/types.yaml#/definitions/uint32
4362306a36Sopenharmony_ci    description: Cycles of latency for Data RAM accesses
4462306a36Sopenharmony_ci    default: 1
4562306a36Sopenharmony_ci    minimum: 0
4662306a36Sopenharmony_ci    maximum: 3
4762306a36Sopenharmony_ci
4862306a36Sopenharmony_ciadditionalProperties: false
4962306a36Sopenharmony_ci
5062306a36Sopenharmony_cirequired:
5162306a36Sopenharmony_ci  - compatible
5262306a36Sopenharmony_ci
5362306a36Sopenharmony_ciexamples:
5462306a36Sopenharmony_ci  - |
5562306a36Sopenharmony_ci    l2@1f04d028 {
5662306a36Sopenharmony_ci      compatible = "baikal,bt1-l2-ctl";
5762306a36Sopenharmony_ci      reg = <0x1f04d028 0x004>;
5862306a36Sopenharmony_ci
5962306a36Sopenharmony_ci      baikal,l2-ws-latency = <1>;
6062306a36Sopenharmony_ci      baikal,l2-tag-latency = <1>;
6162306a36Sopenharmony_ci      baikal,l2-data-latency = <2>;
6262306a36Sopenharmony_ci    };
6362306a36Sopenharmony_ci...
64