Skip to content

Commit a1c1378

Browse files
fancerarndb
authored andcommitted
dt-bindings: bus: Add Baikal-T1 APB-bus binding
Baikal-T1 CPU or DMAC MMIO requests are handled by the AMBA 3 AXI Interconnect which routes them to the AXI-APB bridge, which in turn serializes accesses and routes them to the corresponding APB slave device. This binding describes the AXI-APB bridge considered as the APB-bus. It is supposed to be compatible with "be,bt1-apb" and "simple-bus" drivers, should be equipped with EHB MMIO region and a region with no slave device mapped, interrupts line number, APB reference clock and domain reset line. Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Serge Semin <[email protected]> Reviewed-by: Rob Herring <[email protected]> Cc: Alexey Malahov <[email protected]> Cc: Paul Burton <[email protected]> Cc: Olof Johansson <[email protected]> Cc: [email protected] Cc: [email protected] Signed-off-by: Arnd Bergmann <[email protected]>
1 parent 78c43a0 commit a1c1378

File tree

1 file changed

+90
-0
lines changed

1 file changed

+90
-0
lines changed
Lines changed: 90 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,90 @@
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 <[email protected]>
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 = <0 0x1f059000 0 0x1000>,
75+
<0 0x1d000000 0 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+
...

0 commit comments

Comments
 (0)