lkml.org 
[lkml]   [2020]   [May]   [7]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH v2 2/4] dt-bindings: bus: Add Baikal-T1 APB-bus binding
    Date
    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.

    Signed-off-by: Serge Semin <Sergey.Semin@baikalelectronics.ru>
    Cc: Alexey Malahov <Alexey.Malahov@baikalelectronics.ru>
    Cc: Paul Burton <paulburton@kernel.org>
    Cc: Ralf Baechle <ralf@linux-mips.org>
    Cc: Tony Lindgren <tony@atomide.com>
    Cc: Tero Kristo <t-kristo@ti.com>
    Cc: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
    Cc: Jeffrey Hugo <jhugo@codeaurora.org>
    Cc: Linus Walleij <linus.walleij@linaro.org>
    Cc: Olof Johansson <olof@lixom.net>
    Cc: linux-mips@vger.kernel.org
    Cc: soc@kernel.org

    ---

    Rob, I had to remove your Reviewed-by tag, since new changes had been
    introduced.

    Changelog v2:
    - Move driver to the bus subsystem.
    - Don't use a multi-arg clock phandle reference in the examples dt-bindings
    property. Thus redundant include statement can be removed.
    - Use dual GPL/BSD license.
    - Use single lined copyright header.
    - Lowercase the unit-address.
    - Convert a dedicated EHB block binding to the Baikal-T1 APB-bus one.
    - Add APB reference clock and reset support.
    - Replace "additionalProperties: false" property with
    "unevaluatedProperties: false".
    - Add reg-names property.
    ---
    .../bindings/bus/baikal,bt1-apb.yaml | 90 +++++++++++++++++++
    1 file changed, 90 insertions(+)
    create mode 100644 Documentation/devicetree/bindings/bus/baikal,bt1-apb.yaml

    diff --git a/Documentation/devicetree/bindings/bus/baikal,bt1-apb.yaml b/Documentation/devicetree/bindings/bus/baikal,bt1-apb.yaml
    new file mode 100644
    index 000000000000..d6a3b71ea835
    --- /dev/null
    +++ b/Documentation/devicetree/bindings/bus/baikal,bt1-apb.yaml
    @@ -0,0 +1,90 @@
    +# 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-apb.yaml#
    +$schema: http://devicetree.org/meta-schemas/core.yaml#
    +
    +title: Baikal-T1 APB-bus
    +
    +maintainers:
    + - Serge Semin <fancer.lancer@gmail.com>
    +
    +description: |
    + Baikal-T1 CPU or DMAC MMIO requests are handled by the AMBA 3 AXI Interconnect
    + which routes them to the AXI-APB bridge. This interface is a single master
    + multiple slaves bus in turn serializing IO accesses and routing them to the
    + addressed APB slave devices. In case of any APB protocol collisions, slave
    + device not responding on timeout an IRQ is raised with an erroneous address
    + reported to the APB terminator (APB Errors Handler Block).
    +
    +allOf:
    + - $ref: /schemas/simple-bus.yaml#
    +
    +properties:
    + compatible:
    + contains:
    + const: baikal,bt1-apb
    +
    + reg:
    + items:
    + - description: APB EHB MMIO registers
    + - description: APB MMIO region with no any device mapped
    +
    + reg-names:
    + items:
    + - const: ehb
    + - const: nodev
    +
    + interrupts:
    + maxItems: 1
    +
    + clocks:
    + items:
    + - description: APB reference clock
    +
    + clock-names:
    + items:
    + - const: pclk
    +
    + resets:
    + items:
    + - description: APB domain reset line
    +
    + reset-names:
    + items:
    + - const: prst
    +
    +unevaluatedProperties: false
    +
    +required:
    + - compatible
    + - reg
    + - reg-names
    + - interrupts
    + - clocks
    + - clock-names
    +
    +examples:
    + - |
    + #include <dt-bindings/interrupt-controller/mips-gic.h>
    +
    + bus@1f059000 {
    + compatible = "baikal,bt1-apb", "simple-bus";
    + reg = <0 0x1f059000 0 0x1000>,
    + <0 0x1d000000 0 0x2040000>;
    + reg-names = "ehb", "nodev";
    + #address-cells = <1>;
    + #size-cells = <1>;
    +
    + ranges;
    +
    + interrupts = <GIC_SHARED 16 IRQ_TYPE_LEVEL_HIGH>;
    +
    + clocks = <&ccu_sys 1>;
    + clock-names = "pclk";
    +
    + resets = <&ccu_sys 1>;
    + reset-names = "prst";
    + };
    +...
    --
    2.25.1
    \
     
     \ /
      Last update: 2020-05-08 00:42    [W:3.612 / U:0.004 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site