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

dt-bindings: bus: Add binding for the Allwinner 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.

Signed-off-by: Maxime Ripard <maxime.ripard@bootlin.com>
Signed-off-by: Rob Herring <robh@kernel.org>

authored by

Maxime Ripard and committed by
Rob Herring
e5ffa40c c43a4469

+36
+36
Documentation/devicetree/bindings/arm/sunxi/sunxi-mbus.txt
··· 1 + Allwinner Memory Bus (MBUS) controller 2 + 3 + The MBUS controller drives the MBUS that other devices in the SoC will 4 + use to perform DMA. It also has a register interface that allows to 5 + monitor and control the bandwidth and priorities for masters on that 6 + bus. 7 + 8 + Required properties: 9 + - compatible: Must be one of: 10 + - allwinner,sun5i-a13-mbus 11 + - reg: Offset and length of the register set for the controller 12 + - clocks: phandle to the clock driving the controller 13 + - dma-ranges: See section 2.3.9 of the DeviceTree Specification 14 + - #interconnect-cells: Must be one, with the argument being the MBUS 15 + port ID 16 + 17 + Each device having to perform their DMA through the MBUS must have the 18 + interconnects and interconnect-names properties set to the MBUS 19 + controller and with "dma-mem" as the interconnect name. 20 + 21 + Example: 22 + 23 + mbus: dram-controller@1c01000 { 24 + compatible = "allwinner,sun5i-a13-mbus"; 25 + reg = <0x01c01000 0x1000>; 26 + clocks = <&ccu CLK_MBUS>; 27 + dma-ranges = <0x00000000 0x40000000 0x20000000>; 28 + #interconnect-cells = <1>; 29 + }; 30 + 31 + fe0: display-frontend@1e00000 { 32 + compatible = "allwinner,sun5i-a13-display-frontend"; 33 + ... 34 + interconnects = <&mbus 19>; 35 + interconnect-names = "dma-mem"; 36 + };