18c2ecf20Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0
28c2ecf20Sopenharmony_ci%YAML 1.2
38c2ecf20Sopenharmony_ci---
48c2ecf20Sopenharmony_ci$id: http://devicetree.org/schemas/arm/sunxi/allwinner,sun4i-a10-mbus.yaml#
58c2ecf20Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml#
68c2ecf20Sopenharmony_ci
78c2ecf20Sopenharmony_cititle: Allwinner Memory Bus (MBUS) controller
88c2ecf20Sopenharmony_ci
98c2ecf20Sopenharmony_cimaintainers:
108c2ecf20Sopenharmony_ci  - Chen-Yu Tsai <wens@csie.org>
118c2ecf20Sopenharmony_ci  - Maxime Ripard <mripard@kernel.org>
128c2ecf20Sopenharmony_ci
138c2ecf20Sopenharmony_cidescription: |
148c2ecf20Sopenharmony_ci  The MBUS controller drives the MBUS that other devices in the SoC
158c2ecf20Sopenharmony_ci  will use to perform DMA. It also has a register interface that
168c2ecf20Sopenharmony_ci  allows to monitor and control the bandwidth and priorities for
178c2ecf20Sopenharmony_ci  masters on that bus.
188c2ecf20Sopenharmony_ci
198c2ecf20Sopenharmony_ci  Each device having to perform their DMA through the MBUS must have
208c2ecf20Sopenharmony_ci  the interconnects and interconnect-names properties set to the MBUS
218c2ecf20Sopenharmony_ci  controller and with "dma-mem" as the interconnect name.
228c2ecf20Sopenharmony_ci
238c2ecf20Sopenharmony_ciproperties:
248c2ecf20Sopenharmony_ci  "#interconnect-cells":
258c2ecf20Sopenharmony_ci    const: 1
268c2ecf20Sopenharmony_ci    description:
278c2ecf20Sopenharmony_ci      The content of the cell is the MBUS ID.
288c2ecf20Sopenharmony_ci
298c2ecf20Sopenharmony_ci  compatible:
308c2ecf20Sopenharmony_ci    enum:
318c2ecf20Sopenharmony_ci      - allwinner,sun5i-a13-mbus
328c2ecf20Sopenharmony_ci      - allwinner,sun8i-h3-mbus
338c2ecf20Sopenharmony_ci      - allwinner,sun50i-a64-mbus
348c2ecf20Sopenharmony_ci
358c2ecf20Sopenharmony_ci  reg:
368c2ecf20Sopenharmony_ci    maxItems: 1
378c2ecf20Sopenharmony_ci
388c2ecf20Sopenharmony_ci  clocks:
398c2ecf20Sopenharmony_ci    maxItems: 1
408c2ecf20Sopenharmony_ci
418c2ecf20Sopenharmony_ci  dma-ranges:
428c2ecf20Sopenharmony_ci    description:
438c2ecf20Sopenharmony_ci      See section 2.3.9 of the DeviceTree Specification.
448c2ecf20Sopenharmony_ci
458c2ecf20Sopenharmony_ci  '#address-cells': true
468c2ecf20Sopenharmony_ci
478c2ecf20Sopenharmony_ci  '#size-cells': true
488c2ecf20Sopenharmony_ci
498c2ecf20Sopenharmony_cirequired:
508c2ecf20Sopenharmony_ci  - "#interconnect-cells"
518c2ecf20Sopenharmony_ci  - compatible
528c2ecf20Sopenharmony_ci  - reg
538c2ecf20Sopenharmony_ci  - clocks
548c2ecf20Sopenharmony_ci  - dma-ranges
558c2ecf20Sopenharmony_ci
568c2ecf20Sopenharmony_ciadditionalProperties: false
578c2ecf20Sopenharmony_ci
588c2ecf20Sopenharmony_ciexamples:
598c2ecf20Sopenharmony_ci  - |
608c2ecf20Sopenharmony_ci    #include <dt-bindings/clock/sun5i-ccu.h>
618c2ecf20Sopenharmony_ci
628c2ecf20Sopenharmony_ci    mbus: dram-controller@1c01000 {
638c2ecf20Sopenharmony_ci        compatible = "allwinner,sun5i-a13-mbus";
648c2ecf20Sopenharmony_ci        reg = <0x01c01000 0x1000>;
658c2ecf20Sopenharmony_ci        clocks = <&ccu CLK_MBUS>;
668c2ecf20Sopenharmony_ci        #address-cells = <1>;
678c2ecf20Sopenharmony_ci        #size-cells = <1>;
688c2ecf20Sopenharmony_ci        dma-ranges = <0x00000000 0x40000000 0x20000000>;
698c2ecf20Sopenharmony_ci        #interconnect-cells = <1>;
708c2ecf20Sopenharmony_ci    };
718c2ecf20Sopenharmony_ci
728c2ecf20Sopenharmony_ci...
73