Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

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/20200526125928.17096-3-Sergey.Semin@baikalelectronics.ru
Signed-off-by: Serge Semin <Sergey.Semin@baikalelectronics.ru>
Reviewed-by: Rob Herring <robh@kernel.org>
Cc: Alexey Malahov <Alexey.Malahov@baikalelectronics.ru>
Cc: Paul Burton <paulburton@kernel.org>
Cc: Olof Johansson <olof@lixom.net>
Cc: linux-mips@vger.kernel.org
Cc: soc@kernel.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>

authored by

Serge Semin and committed by
Arnd Bergmann
a1c13784 78c43a05

+90
+90
Documentation/devicetree/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 = <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 + ...