Re: [PATCH 1/8] dt-bindings: stm32: add bindings for ML-AHB interconnect

From: Rob Herring
Date: Wed Mar 27 2019 - 19:07:27 EST


On Tue, Mar 05, 2019 at 03:24:02PM +0100, Fabien Dessenne wrote:
> Document the ML-AHB interconnect for stm32 SoCs.
>
> Signed-off-by: Fabien Dessenne <fabien.dessenne@xxxxxx>
> ---
> .../devicetree/bindings/arm/stm32/mlahb.txt | 30 ++++++++++++++++++++++
> 1 file changed, 30 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/arm/stm32/mlahb.txt
>
> diff --git a/Documentation/devicetree/bindings/arm/stm32/mlahb.txt b/Documentation/devicetree/bindings/arm/stm32/mlahb.txt
> new file mode 100644
> index 0000000..880cb38
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/arm/stm32/mlahb.txt
> @@ -0,0 +1,30 @@
> +ML-AHB interconnect bindings
> +
> +These bindings describe the STM32 SoCs ML-AHB interconnect bus which connects
> +a Cortex-M subsystem with dedicated memories.
> +
> +Required properties:
> +- compatible: should be "simple-bus"

A binding for simple-bus was the first thing that looked odd.

> +- ranges: describes memory addresses translation between the local CPU and the
> + remote Cortex-M processor. Each memory region, is declared with 3
> + parameters:
> + - param 1: device base address (Cortex-M processor address)
> + - param 2: physical base address (local CPU address)
> + - param 3: size of the memory region.

Given that the driver is parsing ranges itself, this looks like abuse of
ranges.

What exactly is address 0 supposed to be here? If it is the M4's view of
memory, then dma-ranges is what you want to use here.


> +
> +The Cortex-M remote processor accessed via the mlahb interconnect is described
> +by a child node.
> +
> +Example:
> +mlahb: mlahb@0 {

Note that the unit-address is wrong here as it should be 38000000.

> + compatible = "simple-bus";
> + #address-cells = <1>;
> + #size-cells = <1>;
> + ranges = <0x00000000 0x38000000 0x10000>,
> + <0x10000000 0x10000000 0x60000>,
> + <0x30000000 0x30000000 0x60000>;
> +
> + m4_rproc: m4@0 {
> + ...
> + };
> +};
> --
> 2.7.4
>