dt-bindings: bus: Add binding for the Allwinner MBUS controller
authorMaxime Ripard <maxime.ripard@bootlin.com>
Mon, 1 Apr 2019 08:56:42 +0000 (10:56 +0200)
committerRob Herring <robh@kernel.org>
Wed, 10 Apr 2019 21:33:47 +0000 (16:33 -0500)
The MBUS controller drives the MBUS that other devices in the SoC will
use to perform DMA. It also has a register interface that allows to
monitor and control the bandwidth and priorities for masters on that
bus.

Signed-off-by: Maxime Ripard <maxime.ripard@bootlin.com>
Signed-off-by: Rob Herring <robh@kernel.org>
Documentation/devicetree/bindings/arm/sunxi/sunxi-mbus.txt [new file with mode: 0644]

diff --git a/Documentation/devicetree/bindings/arm/sunxi/sunxi-mbus.txt b/Documentation/devicetree/bindings/arm/sunxi/sunxi-mbus.txt
new file mode 100644 (file)
index 0000000..1464a47
--- /dev/null
@@ -0,0 +1,36 @@
+Allwinner Memory Bus (MBUS) controller
+
+The MBUS controller drives the MBUS that other devices in the SoC will
+use to perform DMA. It also has a register interface that allows to
+monitor and control the bandwidth and priorities for masters on that
+bus.
+
+Required properties:
+ - compatible: Must be one of:
+       - allwinner,sun5i-a13-mbus
+ - reg: Offset and length of the register set for the controller
+ - clocks: phandle to the clock driving the controller
+ - dma-ranges: See section 2.3.9 of the DeviceTree Specification
+ - #interconnect-cells: Must be one, with the argument being the MBUS
+   port ID
+
+Each device having to perform their DMA through the MBUS must have the
+interconnects and interconnect-names properties set to the MBUS
+controller and with "dma-mem" as the interconnect name.
+
+Example:
+
+mbus: dram-controller@1c01000 {
+       compatible = "allwinner,sun5i-a13-mbus";
+       reg = <0x01c01000 0x1000>;
+       clocks = <&ccu CLK_MBUS>;
+       dma-ranges = <0x00000000 0x40000000 0x20000000>;
+       #interconnect-cells = <1>;
+};
+
+fe0: display-frontend@1e00000 {
+       compatible = "allwinner,sun5i-a13-display-frontend";
+       ...
+       interconnects = <&mbus 19>;
+       interconnect-names = "dma-mem";
+};