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

dt-bindings: interconnect: Convert Allwinner MBUS controller to a schema

The older Allwinner SoCs have an MBUS controller that is used by Linux,
with a matching Device Tree binding.

Now that we have the DT validation in place, let's convert the device tree
bindings for that controller over to a YAML schemas.

Signed-off-by: Maxime Ripard <maxime@cerno.tech>
Signed-off-by: Rob Herring <robh@kernel.org>

authored by

Maxime Ripard and committed by
Rob Herring
2609a127 f78ed3c5

+65 -37
+65
Documentation/devicetree/bindings/arm/sunxi/allwinner,sun4i-a10-mbus.yaml
··· 1 + # SPDX-License-Identifier: GPL-2.0 2 + %YAML 1.2 3 + --- 4 + $id: http://devicetree.org/schemas/arm/sunxi/allwinner,sun4i-a10-mbus.yaml# 5 + $schema: http://devicetree.org/meta-schemas/core.yaml# 6 + 7 + title: Allwinner Memory Bus (MBUS) controller 8 + 9 + maintainers: 10 + - Chen-Yu Tsai <wens@csie.org> 11 + - Maxime Ripard <mripard@kernel.org> 12 + 13 + description: | 14 + The MBUS controller drives the MBUS that other devices in the SoC 15 + will use to perform DMA. It also has a register interface that 16 + allows to monitor and control the bandwidth and priorities for 17 + masters on that bus. 18 + 19 + Each device having to perform their DMA through the MBUS must have 20 + the interconnects and interconnect-names properties set to the MBUS 21 + controller and with "dma-mem" as the interconnect name. 22 + 23 + properties: 24 + "#interconnect-cells": 25 + const: 1 26 + description: 27 + The content of the cell is the MBUS ID. 28 + 29 + compatible: 30 + enum: 31 + - allwinner,sun5i-a13-mbus 32 + - allwinner,sun8i-h3-mbus 33 + 34 + reg: 35 + maxItems: 1 36 + 37 + clocks: 38 + maxItems: 1 39 + 40 + dma-ranges: 41 + description: 42 + See section 2.3.9 of the DeviceTree Specification. 43 + 44 + required: 45 + - "#interconnect-cells" 46 + - compatible 47 + - reg 48 + - clocks 49 + - dma-ranges 50 + 51 + additionalProperties: false 52 + 53 + examples: 54 + - | 55 + #include <dt-bindings/clock/sun5i-ccu.h> 56 + 57 + mbus: dram-controller@1c01000 { 58 + compatible = "allwinner,sun5i-a13-mbus"; 59 + reg = <0x01c01000 0x1000>; 60 + clocks = <&ccu CLK_MBUS>; 61 + dma-ranges = <0x00000000 0x40000000 0x20000000>; 62 + #interconnect-cells = <1>; 63 + }; 64 + 65 + ...
-37
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 - - allwinner,sun8i-h3-mbus 12 - - reg: Offset and length of the register set for the controller 13 - - clocks: phandle to the clock driving the controller 14 - - dma-ranges: See section 2.3.9 of the DeviceTree Specification 15 - - #interconnect-cells: Must be one, with the argument being the MBUS 16 - port ID 17 - 18 - Each device having to perform their DMA through the MBUS must have the 19 - interconnects and interconnect-names properties set to the MBUS 20 - controller and with "dma-mem" as the interconnect name. 21 - 22 - Example: 23 - 24 - mbus: dram-controller@1c01000 { 25 - compatible = "allwinner,sun5i-a13-mbus"; 26 - reg = <0x01c01000 0x1000>; 27 - clocks = <&ccu CLK_MBUS>; 28 - dma-ranges = <0x00000000 0x40000000 0x20000000>; 29 - #interconnect-cells = <1>; 30 - }; 31 - 32 - fe0: display-frontend@1e00000 { 33 - compatible = "allwinner,sun5i-a13-display-frontend"; 34 - ... 35 - interconnects = <&mbus 19>; 36 - interconnect-names = "dma-mem"; 37 - };