18c2ecf20Sopenharmony_ci# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 28c2ecf20Sopenharmony_ci# Copyright (C) 2020 SiFive, Inc. 38c2ecf20Sopenharmony_ci%YAML 1.2 48c2ecf20Sopenharmony_ci--- 58c2ecf20Sopenharmony_ci$id: http://devicetree.org/schemas/riscv/sifive-l2-cache.yaml# 68c2ecf20Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml# 78c2ecf20Sopenharmony_ci 88c2ecf20Sopenharmony_cititle: SiFive L2 Cache Controller 98c2ecf20Sopenharmony_ci 108c2ecf20Sopenharmony_cimaintainers: 118c2ecf20Sopenharmony_ci - Sagar Kadam <sagar.kadam@sifive.com> 128c2ecf20Sopenharmony_ci - Yash Shah <yash.shah@sifive.com> 138c2ecf20Sopenharmony_ci - Paul Walmsley <paul.walmsley@sifive.com> 148c2ecf20Sopenharmony_ci 158c2ecf20Sopenharmony_cidescription: 168c2ecf20Sopenharmony_ci The SiFive Level 2 Cache Controller is used to provide access to fast copies 178c2ecf20Sopenharmony_ci of memory for masters in a Core Complex. The Level 2 Cache Controller also 188c2ecf20Sopenharmony_ci acts as directory-based coherency manager. 198c2ecf20Sopenharmony_ci All the properties in ePAPR/DeviceTree specification applies for this platform. 208c2ecf20Sopenharmony_ci 218c2ecf20Sopenharmony_ciallOf: 228c2ecf20Sopenharmony_ci - $ref: /schemas/cache-controller.yaml# 238c2ecf20Sopenharmony_ci 248c2ecf20Sopenharmony_ciselect: 258c2ecf20Sopenharmony_ci properties: 268c2ecf20Sopenharmony_ci compatible: 278c2ecf20Sopenharmony_ci contains: 288c2ecf20Sopenharmony_ci enum: 298c2ecf20Sopenharmony_ci - sifive,fu540-c000-ccache 308c2ecf20Sopenharmony_ci 318c2ecf20Sopenharmony_ci required: 328c2ecf20Sopenharmony_ci - compatible 338c2ecf20Sopenharmony_ci 348c2ecf20Sopenharmony_ciproperties: 358c2ecf20Sopenharmony_ci compatible: 368c2ecf20Sopenharmony_ci items: 378c2ecf20Sopenharmony_ci - const: sifive,fu540-c000-ccache 388c2ecf20Sopenharmony_ci - const: cache 398c2ecf20Sopenharmony_ci 408c2ecf20Sopenharmony_ci cache-block-size: 418c2ecf20Sopenharmony_ci const: 64 428c2ecf20Sopenharmony_ci 438c2ecf20Sopenharmony_ci cache-level: 448c2ecf20Sopenharmony_ci const: 2 458c2ecf20Sopenharmony_ci 468c2ecf20Sopenharmony_ci cache-sets: 478c2ecf20Sopenharmony_ci const: 1024 488c2ecf20Sopenharmony_ci 498c2ecf20Sopenharmony_ci cache-size: 508c2ecf20Sopenharmony_ci const: 2097152 518c2ecf20Sopenharmony_ci 528c2ecf20Sopenharmony_ci cache-unified: true 538c2ecf20Sopenharmony_ci 548c2ecf20Sopenharmony_ci interrupts: 558c2ecf20Sopenharmony_ci description: | 568c2ecf20Sopenharmony_ci Must contain entries for DirError, DataError and DataFail signals. 578c2ecf20Sopenharmony_ci minItems: 3 588c2ecf20Sopenharmony_ci maxItems: 3 598c2ecf20Sopenharmony_ci 608c2ecf20Sopenharmony_ci reg: 618c2ecf20Sopenharmony_ci maxItems: 1 628c2ecf20Sopenharmony_ci 638c2ecf20Sopenharmony_ci next-level-cache: true 648c2ecf20Sopenharmony_ci 658c2ecf20Sopenharmony_ci memory-region: 668c2ecf20Sopenharmony_ci description: | 678c2ecf20Sopenharmony_ci The reference to the reserved-memory for the L2 Loosely Integrated Memory region. 688c2ecf20Sopenharmony_ci The reserved memory node should be defined as per the bindings in reserved-memory.txt. 698c2ecf20Sopenharmony_ci 708c2ecf20Sopenharmony_ciadditionalProperties: false 718c2ecf20Sopenharmony_ci 728c2ecf20Sopenharmony_cirequired: 738c2ecf20Sopenharmony_ci - compatible 748c2ecf20Sopenharmony_ci - cache-block-size 758c2ecf20Sopenharmony_ci - cache-level 768c2ecf20Sopenharmony_ci - cache-sets 778c2ecf20Sopenharmony_ci - cache-size 788c2ecf20Sopenharmony_ci - cache-unified 798c2ecf20Sopenharmony_ci - interrupts 808c2ecf20Sopenharmony_ci - reg 818c2ecf20Sopenharmony_ci 828c2ecf20Sopenharmony_ciexamples: 838c2ecf20Sopenharmony_ci - | 848c2ecf20Sopenharmony_ci cache-controller@2010000 { 858c2ecf20Sopenharmony_ci compatible = "sifive,fu540-c000-ccache", "cache"; 868c2ecf20Sopenharmony_ci cache-block-size = <64>; 878c2ecf20Sopenharmony_ci cache-level = <2>; 888c2ecf20Sopenharmony_ci cache-sets = <1024>; 898c2ecf20Sopenharmony_ci cache-size = <2097152>; 908c2ecf20Sopenharmony_ci cache-unified; 918c2ecf20Sopenharmony_ci reg = <0x2010000 0x1000>; 928c2ecf20Sopenharmony_ci interrupt-parent = <&plic0>; 938c2ecf20Sopenharmony_ci interrupts = <1>, 948c2ecf20Sopenharmony_ci <2>, 958c2ecf20Sopenharmony_ci <3>; 968c2ecf20Sopenharmony_ci next-level-cache = <&L25>; 978c2ecf20Sopenharmony_ci memory-region = <&l2_lim>; 988c2ecf20Sopenharmony_ci }; 99