]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - Bindings/bus/baikal,bt1-apb.yaml
Import DTS from Linux 5.8
[FreeBSD/FreeBSD.git] / Bindings / bus / baikal,bt1-apb.yaml
1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2 # Copyright (C) 2020 BAIKAL ELECTRONICS, JSC
3 %YAML 1.2
4 ---
5 $id: http://devicetree.org/schemas/bus/baikal,bt1-apb.yaml#
6 $schema: http://devicetree.org/meta-schemas/core.yaml#
7
8 title: Baikal-T1 APB-bus
9
10 maintainers:
11   - Serge Semin <fancer.lancer@gmail.com>
12
13 description: |
14   Baikal-T1 CPU or DMAC MMIO requests are handled by the AMBA 3 AXI Interconnect
15   which routes them to the AXI-APB bridge. This interface is a single master
16   multiple slaves bus in turn serializing IO accesses and routing them to the
17   addressed APB slave devices. In case of any APB protocol collisions, slave
18   device not responding on timeout an IRQ is raised with an erroneous address
19   reported to the APB terminator (APB Errors Handler Block).
20
21 allOf:
22  - $ref: /schemas/simple-bus.yaml#
23
24 properties:
25   compatible:
26     contains:
27       const: baikal,bt1-apb
28
29   reg:
30     items:
31       - description: APB EHB MMIO registers
32       - description: APB MMIO region with no any device mapped
33
34   reg-names:
35     items:
36       - const: ehb
37       - const: nodev
38
39   interrupts:
40     maxItems: 1
41
42   clocks:
43     items:
44       - description: APB reference clock
45
46   clock-names:
47     items:
48       - const: pclk
49
50   resets:
51     items:
52       - description: APB domain reset line
53
54   reset-names:
55     items:
56       - const: prst
57
58 unevaluatedProperties: false
59
60 required:
61   - compatible
62   - reg
63   - reg-names
64   - interrupts
65   - clocks
66   - clock-names
67
68 examples:
69   - |
70     #include <dt-bindings/interrupt-controller/mips-gic.h>
71
72     bus@1f059000 {
73       compatible = "baikal,bt1-apb", "simple-bus";
74       reg = <0x1f059000 0x1000>,
75             <0x1d000000 0x2040000>;
76       reg-names = "ehb", "nodev";
77       #address-cells = <1>;
78       #size-cells = <1>;
79
80       ranges;
81
82       interrupts = <GIC_SHARED 16 IRQ_TYPE_LEVEL_HIGH>;
83
84       clocks = <&ccu_sys 1>;
85       clock-names = "pclk";
86
87       resets = <&ccu_sys 1>;
88       reset-names = "prst";
89     };
90 ...