18c2ecf20Sopenharmony_ci# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 28c2ecf20Sopenharmony_ci# Copyright (C) 2020 BAIKAL ELECTRONICS, JSC 38c2ecf20Sopenharmony_ci%YAML 1.2 48c2ecf20Sopenharmony_ci--- 58c2ecf20Sopenharmony_ci$id: http://devicetree.org/schemas/bus/baikal,bt1-apb.yaml# 68c2ecf20Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml# 78c2ecf20Sopenharmony_ci 88c2ecf20Sopenharmony_cititle: Baikal-T1 APB-bus 98c2ecf20Sopenharmony_ci 108c2ecf20Sopenharmony_cimaintainers: 118c2ecf20Sopenharmony_ci - Serge Semin <fancer.lancer@gmail.com> 128c2ecf20Sopenharmony_ci 138c2ecf20Sopenharmony_cidescription: | 148c2ecf20Sopenharmony_ci Baikal-T1 CPU or DMAC MMIO requests are handled by the AMBA 3 AXI Interconnect 158c2ecf20Sopenharmony_ci which routes them to the AXI-APB bridge. This interface is a single master 168c2ecf20Sopenharmony_ci multiple slaves bus in turn serializing IO accesses and routing them to the 178c2ecf20Sopenharmony_ci addressed APB slave devices. In case of any APB protocol collisions, slave 188c2ecf20Sopenharmony_ci device not responding on timeout an IRQ is raised with an erroneous address 198c2ecf20Sopenharmony_ci reported to the APB terminator (APB Errors Handler Block). 208c2ecf20Sopenharmony_ci 218c2ecf20Sopenharmony_ciallOf: 228c2ecf20Sopenharmony_ci - $ref: /schemas/simple-bus.yaml# 238c2ecf20Sopenharmony_ci 248c2ecf20Sopenharmony_ciproperties: 258c2ecf20Sopenharmony_ci compatible: 268c2ecf20Sopenharmony_ci contains: 278c2ecf20Sopenharmony_ci const: baikal,bt1-apb 288c2ecf20Sopenharmony_ci 298c2ecf20Sopenharmony_ci reg: 308c2ecf20Sopenharmony_ci items: 318c2ecf20Sopenharmony_ci - description: APB EHB MMIO registers 328c2ecf20Sopenharmony_ci - description: APB MMIO region with no any device mapped 338c2ecf20Sopenharmony_ci 348c2ecf20Sopenharmony_ci reg-names: 358c2ecf20Sopenharmony_ci items: 368c2ecf20Sopenharmony_ci - const: ehb 378c2ecf20Sopenharmony_ci - const: nodev 388c2ecf20Sopenharmony_ci 398c2ecf20Sopenharmony_ci interrupts: 408c2ecf20Sopenharmony_ci maxItems: 1 418c2ecf20Sopenharmony_ci 428c2ecf20Sopenharmony_ci clocks: 438c2ecf20Sopenharmony_ci items: 448c2ecf20Sopenharmony_ci - description: APB reference clock 458c2ecf20Sopenharmony_ci 468c2ecf20Sopenharmony_ci clock-names: 478c2ecf20Sopenharmony_ci items: 488c2ecf20Sopenharmony_ci - const: pclk 498c2ecf20Sopenharmony_ci 508c2ecf20Sopenharmony_ci resets: 518c2ecf20Sopenharmony_ci items: 528c2ecf20Sopenharmony_ci - description: APB domain reset line 538c2ecf20Sopenharmony_ci 548c2ecf20Sopenharmony_ci reset-names: 558c2ecf20Sopenharmony_ci items: 568c2ecf20Sopenharmony_ci - const: prst 578c2ecf20Sopenharmony_ci 588c2ecf20Sopenharmony_ciunevaluatedProperties: false 598c2ecf20Sopenharmony_ci 608c2ecf20Sopenharmony_cirequired: 618c2ecf20Sopenharmony_ci - compatible 628c2ecf20Sopenharmony_ci - reg 638c2ecf20Sopenharmony_ci - reg-names 648c2ecf20Sopenharmony_ci - interrupts 658c2ecf20Sopenharmony_ci - clocks 668c2ecf20Sopenharmony_ci - clock-names 678c2ecf20Sopenharmony_ci 688c2ecf20Sopenharmony_ciexamples: 698c2ecf20Sopenharmony_ci - | 708c2ecf20Sopenharmony_ci #include <dt-bindings/interrupt-controller/mips-gic.h> 718c2ecf20Sopenharmony_ci 728c2ecf20Sopenharmony_ci bus@1f059000 { 738c2ecf20Sopenharmony_ci compatible = "baikal,bt1-apb", "simple-bus"; 748c2ecf20Sopenharmony_ci reg = <0x1f059000 0x1000>, 758c2ecf20Sopenharmony_ci <0x1d000000 0x2040000>; 768c2ecf20Sopenharmony_ci reg-names = "ehb", "nodev"; 778c2ecf20Sopenharmony_ci #address-cells = <1>; 788c2ecf20Sopenharmony_ci #size-cells = <1>; 798c2ecf20Sopenharmony_ci 808c2ecf20Sopenharmony_ci ranges; 818c2ecf20Sopenharmony_ci 828c2ecf20Sopenharmony_ci interrupts = <GIC_SHARED 16 IRQ_TYPE_LEVEL_HIGH>; 838c2ecf20Sopenharmony_ci 848c2ecf20Sopenharmony_ci clocks = <&ccu_sys 1>; 858c2ecf20Sopenharmony_ci clock-names = "pclk"; 868c2ecf20Sopenharmony_ci 878c2ecf20Sopenharmony_ci resets = <&ccu_sys 1>; 888c2ecf20Sopenharmony_ci reset-names = "prst"; 898c2ecf20Sopenharmony_ci }; 908c2ecf20Sopenharmony_ci... 91