12609a127SMaxime Ripard# SPDX-License-Identifier: GPL-2.0
22609a127SMaxime Ripard%YAML 1.2
32609a127SMaxime Ripard---
42609a127SMaxime Ripard$id: http://devicetree.org/schemas/arm/sunxi/allwinner,sun4i-a10-mbus.yaml#
52609a127SMaxime Ripard$schema: http://devicetree.org/meta-schemas/core.yaml#
62609a127SMaxime Ripard
72609a127SMaxime Ripardtitle: Allwinner Memory Bus (MBUS) controller
82609a127SMaxime Ripard
92609a127SMaxime Ripardmaintainers:
102609a127SMaxime Ripard  - Chen-Yu Tsai <wens@csie.org>
112609a127SMaxime Ripard  - Maxime Ripard <mripard@kernel.org>
122609a127SMaxime Ripard
132609a127SMaxime Riparddescription: |
142609a127SMaxime Ripard  The MBUS controller drives the MBUS that other devices in the SoC
152609a127SMaxime Ripard  will use to perform DMA. It also has a register interface that
162609a127SMaxime Ripard  allows to monitor and control the bandwidth and priorities for
172609a127SMaxime Ripard  masters on that bus.
182609a127SMaxime Ripard
192609a127SMaxime Ripard  Each device having to perform their DMA through the MBUS must have
202609a127SMaxime Ripard  the interconnects and interconnect-names properties set to the MBUS
212609a127SMaxime Ripard  controller and with "dma-mem" as the interconnect name.
222609a127SMaxime Ripard
232609a127SMaxime Ripardproperties:
242609a127SMaxime Ripard  "#interconnect-cells":
252609a127SMaxime Ripard    const: 1
262609a127SMaxime Ripard    description:
272609a127SMaxime Ripard      The content of the cell is the MBUS ID.
282609a127SMaxime Ripard
292609a127SMaxime Ripard  compatible:
302609a127SMaxime Ripard    enum:
312609a127SMaxime Ripard      - allwinner,sun5i-a13-mbus
322609a127SMaxime Ripard      - allwinner,sun8i-h3-mbus
33d7b101a3SMaxime Ripard      - allwinner,sun8i-r40-mbus
34f0df2e05SJernej Skrabec      - allwinner,sun50i-a64-mbus
35*9f193dedSSamuel Holland      - allwinner,sun50i-h5-mbus
362609a127SMaxime Ripard
372609a127SMaxime Ripard  reg:
38245578baSSamuel Holland    minItems: 1
39245578baSSamuel Holland    items:
40245578baSSamuel Holland      - description: MBUS interconnect/bandwidth limit/PMU registers
41245578baSSamuel Holland      - description: DRAM controller/PHY registers
42245578baSSamuel Holland
43245578baSSamuel Holland  reg-names:
44245578baSSamuel Holland    minItems: 1
45245578baSSamuel Holland    items:
46245578baSSamuel Holland      - const: mbus
47245578baSSamuel Holland      - const: dram
482609a127SMaxime Ripard
492609a127SMaxime Ripard  clocks:
50245578baSSamuel Holland    minItems: 1
51245578baSSamuel Holland    items:
52245578baSSamuel Holland      - description: MBUS interconnect module clock
53245578baSSamuel Holland      - description: DRAM controller/PHY module clock
54245578baSSamuel Holland      - description: Register bus clock, shared by MBUS and DRAM
55245578baSSamuel Holland
56245578baSSamuel Holland  clock-names:
57245578baSSamuel Holland    minItems: 1
58245578baSSamuel Holland    items:
59245578baSSamuel Holland      - const: mbus
60245578baSSamuel Holland      - const: dram
61245578baSSamuel Holland      - const: bus
62245578baSSamuel Holland
63245578baSSamuel Holland  interrupts:
642609a127SMaxime Ripard    maxItems: 1
65245578baSSamuel Holland    description:
66245578baSSamuel Holland      MBUS PMU activity interrupt.
672609a127SMaxime Ripard
682609a127SMaxime Ripard  dma-ranges:
692609a127SMaxime Ripard    description:
702609a127SMaxime Ripard      See section 2.3.9 of the DeviceTree Specification.
712609a127SMaxime Ripard
72f88d59fcSRob Herring  '#address-cells': true
73f88d59fcSRob Herring
74f88d59fcSRob Herring  '#size-cells': true
75f88d59fcSRob Herring
762609a127SMaxime Ripardrequired:
772609a127SMaxime Ripard  - "#interconnect-cells"
782609a127SMaxime Ripard  - compatible
792609a127SMaxime Ripard  - reg
802609a127SMaxime Ripard  - clocks
812609a127SMaxime Ripard  - dma-ranges
822609a127SMaxime Ripard
83245578baSSamuel Hollandif:
84245578baSSamuel Holland  properties:
85245578baSSamuel Holland    compatible:
86245578baSSamuel Holland      contains:
87245578baSSamuel Holland        enum:
88245578baSSamuel Holland          - allwinner,sun8i-h3-mbus
89245578baSSamuel Holland          - allwinner,sun50i-a64-mbus
90*9f193dedSSamuel Holland          - allwinner,sun50i-h5-mbus
91245578baSSamuel Holland
92245578baSSamuel Hollandthen:
93245578baSSamuel Holland  properties:
94245578baSSamuel Holland    reg:
95245578baSSamuel Holland      minItems: 2
96245578baSSamuel Holland
97245578baSSamuel Holland    reg-names:
98245578baSSamuel Holland      minItems: 2
99245578baSSamuel Holland
100245578baSSamuel Holland    clocks:
101245578baSSamuel Holland      minItems: 3
102245578baSSamuel Holland
103245578baSSamuel Holland    clock-names:
104245578baSSamuel Holland      minItems: 3
105245578baSSamuel Holland
106245578baSSamuel Holland  required:
107245578baSSamuel Holland    - reg-names
108245578baSSamuel Holland    - clock-names
109245578baSSamuel Holland
110245578baSSamuel Hollandelse:
111245578baSSamuel Holland  properties:
112245578baSSamuel Holland    reg:
113245578baSSamuel Holland      maxItems: 1
114245578baSSamuel Holland
115245578baSSamuel Holland    reg-names:
116245578baSSamuel Holland      maxItems: 1
117245578baSSamuel Holland
118245578baSSamuel Holland    clocks:
119245578baSSamuel Holland      maxItems: 1
120245578baSSamuel Holland
121245578baSSamuel Holland    clock-names:
122245578baSSamuel Holland      maxItems: 1
123245578baSSamuel Holland
1242609a127SMaxime RipardadditionalProperties: false
1252609a127SMaxime Ripard
1262609a127SMaxime Ripardexamples:
1272609a127SMaxime Ripard  - |
128245578baSSamuel Holland    #include <dt-bindings/clock/sun50i-a64-ccu.h>
129245578baSSamuel Holland    #include <dt-bindings/interrupt-controller/arm-gic.h>
1302609a127SMaxime Ripard
131245578baSSamuel Holland    dram-controller@1c01000 {
1322609a127SMaxime Ripard        compatible = "allwinner,sun5i-a13-mbus";
1332609a127SMaxime Ripard        reg = <0x01c01000 0x1000>;
1342609a127SMaxime Ripard        clocks = <&ccu CLK_MBUS>;
135f88d59fcSRob Herring        #address-cells = <1>;
136f88d59fcSRob Herring        #size-cells = <1>;
1372609a127SMaxime Ripard        dma-ranges = <0x00000000 0x40000000 0x20000000>;
1382609a127SMaxime Ripard        #interconnect-cells = <1>;
1392609a127SMaxime Ripard    };
1402609a127SMaxime Ripard
141245578baSSamuel Holland  - |
142245578baSSamuel Holland    dram-controller@1c62000 {
143245578baSSamuel Holland        compatible = "allwinner,sun50i-a64-mbus";
144245578baSSamuel Holland        reg = <0x01c62000 0x1000>,
145245578baSSamuel Holland              <0x01c63000 0x1000>;
146245578baSSamuel Holland        reg-names = "mbus", "dram";
147245578baSSamuel Holland        clocks = <&ccu CLK_MBUS>,
148245578baSSamuel Holland                 <&ccu CLK_DRAM>,
149245578baSSamuel Holland                 <&ccu CLK_BUS_DRAM>;
150245578baSSamuel Holland        clock-names = "mbus", "dram", "bus";
151245578baSSamuel Holland        interrupts = <GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>;
152245578baSSamuel Holland        #address-cells = <1>;
153245578baSSamuel Holland        #size-cells = <1>;
154245578baSSamuel Holland        dma-ranges = <0x00000000 0x40000000 0xc0000000>;
155245578baSSamuel Holland        #interconnect-cells = <1>;
156245578baSSamuel Holland    };
157245578baSSamuel Holland
1582609a127SMaxime Ripard...
159