# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/memory-controllers/canaan,k210-sram.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Canaan K210 SRAM memory controller

description:
  The Canaan K210 SRAM memory controller is responsible for the system's 8 MiB
  of SRAM. The controller is initialised by the bootloader, which configures
  its clocks, before OS bringup.

maintainers:
  - Conor Dooley <conor@kernel.org>

properties:
  compatible:
    enum:
      - canaan,k210-sram

  clocks:
    minItems: 1
    items:
      - description: sram0 clock
      - description: sram1 clock
      - description: aisram clock

  clock-names:
    minItems: 1
    items:
      - const: sram0
      - const: sram1
      - const: aisram

required:
  - compatible
  - clocks
  - clock-names

additionalProperties: false

examples:
  - |
    #include <dt-bindings/clock/k210-clk.h>
    memory-controller {
        compatible = "canaan,k210-sram";
        clocks = <&sysclk K210_CLK_SRAM0>,
                 <&sysclk K210_CLK_SRAM1>,
                 <&sysclk K210_CLK_AI>;
        clock-names = "sram0", "sram1", "aisram";
    };
