| # 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/bus/baikal,bt1-axi.yaml# |
| $schema: http://devicetree.org/meta-schemas/core.yaml# |
| |
| title: Baikal-T1 AXI-bus |
| |
| maintainers: |
| - Serge Semin <fancer.lancer@gmail.com> |
| |
| description: | |
| AXI3-bus is the main communication bus of Baikal-T1 SoC connecting all |
| high-speed peripheral IP-cores with RAM controller and with MIPS P5600 |
| cores. Traffic arbitration is done by means of DW AXI Interconnect (so |
| called AXI Main Interconnect) routing IO requests from one block to |
| another: from CPU to SoC peripherals and between some SoC peripherals |
| (mostly between peripheral devices and RAM, but also between DMA and |
| some peripherals). In case of any protocol error, device not responding |
| an IRQ is raised and a faulty situation is reported to the AXI EHB |
| (Errors Handler Block) embedded on top of the DW AXI Interconnect and |
| accessible by means of the Baikal-T1 System Controller. |
| |
| allOf: |
| - $ref: /schemas/simple-bus.yaml# |
| |
| properties: |
| compatible: |
| contains: |
| const: baikal,bt1-axi |
| |
| reg: |
| minItems: 1 |
| items: |
| - description: Synopsys DesignWare AXI Interconnect QoS registers |
| - description: AXI EHB MMIO system controller registers |
| |
| reg-names: |
| minItems: 1 |
| items: |
| - const: qos |
| - const: ehb |
| |
| '#interconnect-cells': |
| const: 1 |
| |
| syscon: |
| $ref: /schemas/types.yaml#/definitions/phandle |
| description: Phandle to the Baikal-T1 System Controller DT node |
| |
| interrupts: |
| maxItems: 1 |
| |
| clocks: |
| items: |
| - description: Main Interconnect uplink reference clock |
| |
| clock-names: |
| items: |
| - const: aclk |
| |
| resets: |
| items: |
| - description: Main Interconnect reset line |
| |
| reset-names: |
| items: |
| - const: arst |
| |
| unevaluatedProperties: false |
| |
| required: |
| - compatible |
| - reg |
| - reg-names |
| - syscon |
| - interrupts |
| - clocks |
| - clock-names |
| |
| examples: |
| - | |
| #include <dt-bindings/interrupt-controller/mips-gic.h> |
| |
| bus@1f05a000 { |
| compatible = "baikal,bt1-axi", "simple-bus"; |
| reg = <0x1f05a000 0x1000>, |
| <0x1f04d110 0x8>; |
| reg-names = "qos", "ehb"; |
| #address-cells = <1>; |
| #size-cells = <1>; |
| #interconnect-cells = <1>; |
| |
| syscon = <&syscon>; |
| |
| ranges; |
| |
| interrupts = <GIC_SHARED 127 IRQ_TYPE_LEVEL_HIGH>; |
| |
| clocks = <&ccu_axi 0>; |
| clock-names = "aclk"; |
| |
| resets = <&ccu_axi 0>; |
| reset-names = "arst"; |
| }; |
| ... |