Commit 2313fca7 authored by Serge Semin's avatar Serge Semin Committed by Arnd Bergmann
Browse files

dt-bindings: memory: Add Baikal-T1 L2-cache Control Block binding

There is a single register provided by the SoC system controller,
which can be used to tune the L2-cache RAM up. It only provides a way
to change the L2-RAM access latencies. So aside from "be,bt1-l2-ctl"
compatible string the device node can be optionally equipped with the
properties of Tag/Data/WS latencies.

Link: https://lore.kernel.org/r/20200526125928.17096-4-Sergey.Semin@baikalelectronics.ru


Signed-off-by: default avatarSerge Semin <Sergey.Semin@baikalelectronics.ru>
Cc: Alexey Malahov <Alexey.Malahov@baikalelectronics.ru>
Cc: Paul Burton <paulburton@kernel.org>
Cc: Olof Johansson <olof@lixom.net>
Cc: linux-mips@vger.kernel.org
Cc: soc@kernel.org
Reviewed-by: default avatarRob Herring <robh@kernel.org>
Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
parent 83ca8b3e
Loading
Loading
Loading
Loading
+63 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
# Copyright (C) 2020 BAIKAL ELECTRONICS, JSC
%YAML 1.2
---
$id: http://devicetree.org/schemas/memory-controllers/baikal,bt1-l2-ctl.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Baikal-T1 L2-cache Control Block

maintainers:
  - Serge Semin <fancer.lancer@gmail.com>

description: |
  By means of the System Controller Baikal-T1 SoC exposes a few settings to
  tune the MIPS P5600 CM2 L2 cache performance up. In particular it's possible
  to change the Tag, Data and Way-select RAM access latencies. Baikal-T1
  L2-cache controller block is responsible for the tuning. Its DT node is
  supposed to be a child of the system controller.

properties:
  compatible:
    const: baikal,bt1-l2-ctl

  reg:
    maxItems: 1

  baikal,l2-ws-latency:
    $ref: /schemas/types.yaml#/definitions/uint32
    description: Cycles of latency for Way-select RAM accesses
    default: 0
    minimum: 0
    maximum: 3

  baikal,l2-tag-latency:
    $ref: /schemas/types.yaml#/definitions/uint32
    description: Cycles of latency for Tag RAM accesses
    default: 0
    minimum: 0
    maximum: 3

  baikal,l2-data-latency:
    $ref: /schemas/types.yaml#/definitions/uint32
    description: Cycles of latency for Data RAM accesses
    default: 1
    minimum: 0
    maximum: 3

additionalProperties: false

required:
  - compatible

examples:
  - |
    l2@1f04d028 {
      compatible = "baikal,bt1-l2-ctl";
      reg = <0x1f04d028 0x004>;

      baikal,l2-ws-latency = <1>;
      baikal,l2-tag-latency = <1>;
      baikal,l2-data-latency = <2>;
    };
...