Back to home page

OSCL-LXR

 
 

    


0001 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
0002 # Copyright (C) 2020 BAIKAL ELECTRONICS, JSC
0003 %YAML 1.2
0004 ---
0005 $id: http://devicetree.org/schemas/bus/baikal,bt1-axi.yaml#
0006 $schema: http://devicetree.org/meta-schemas/core.yaml#
0007 
0008 title: Baikal-T1 AXI-bus
0009 
0010 maintainers:
0011   - Serge Semin <fancer.lancer@gmail.com>
0012 
0013 description: |
0014   AXI3-bus is the main communication bus of Baikal-T1 SoC connecting all
0015   high-speed peripheral IP-cores with RAM controller and with MIPS P5600
0016   cores. Traffic arbitration is done by means of DW AXI Interconnect (so
0017   called AXI Main Interconnect) routing IO requests from one block to
0018   another: from CPU to SoC peripherals and between some SoC peripherals
0019   (mostly between peripheral devices and RAM, but also between DMA and
0020   some peripherals). In case of any protocol error, device not responding
0021   an IRQ is raised and a faulty situation is reported to the AXI EHB
0022   (Errors Handler Block) embedded on top of the DW AXI Interconnect and
0023   accessible by means of the Baikal-T1 System Controller.
0024 
0025 allOf:
0026   - $ref: /schemas/simple-bus.yaml#
0027 
0028 properties:
0029   compatible:
0030     contains:
0031       const: baikal,bt1-axi
0032 
0033   reg:
0034     minItems: 1
0035     items:
0036       - description: Synopsys DesignWare AXI Interconnect QoS registers
0037       - description: AXI EHB MMIO system controller registers
0038 
0039   reg-names:
0040     minItems: 1
0041     items:
0042       - const: qos
0043       - const: ehb
0044 
0045   '#interconnect-cells':
0046     const: 1
0047 
0048   syscon:
0049     $ref: /schemas/types.yaml#/definitions/phandle
0050     description: Phandle to the Baikal-T1 System Controller DT node
0051 
0052   interrupts:
0053     maxItems: 1
0054 
0055   clocks:
0056     items:
0057       - description: Main Interconnect uplink reference clock
0058 
0059   clock-names:
0060     items:
0061       - const: aclk
0062 
0063   resets:
0064     items:
0065       - description: Main Interconnect reset line
0066 
0067   reset-names:
0068     items:
0069       - const: arst
0070 
0071 unevaluatedProperties: false
0072 
0073 required:
0074   - compatible
0075   - reg
0076   - reg-names
0077   - syscon
0078   - interrupts
0079   - clocks
0080   - clock-names
0081 
0082 examples:
0083   - |
0084     #include <dt-bindings/interrupt-controller/mips-gic.h>
0085 
0086     bus@1f05a000 {
0087       compatible = "baikal,bt1-axi", "simple-bus";
0088       reg = <0x1f05a000 0x1000>,
0089             <0x1f04d110 0x8>;
0090       reg-names = "qos", "ehb";
0091       #address-cells = <1>;
0092       #size-cells = <1>;
0093       #interconnect-cells = <1>;
0094 
0095       syscon = <&syscon>;
0096 
0097       ranges;
0098 
0099       interrupts = <GIC_SHARED 127 IRQ_TYPE_LEVEL_HIGH>;
0100 
0101       clocks = <&ccu_axi 0>;
0102       clock-names = "aclk";
0103 
0104       resets = <&ccu_axi 0>;
0105       reset-names = "arst";
0106     };
0107 ...