Re: [PATCH linux v2 1/3] spi: dt-bindings: aspeed: Add a ranges property

From: Rob Herring
Date: Mon Oct 17 2022 - 14:51:45 EST


On Mon, Oct 17, 2022 at 11:16:22AM +0200, Cédric Le Goater wrote:
> "ranges" predefines settings for the decoding ranges of each CS.

Please explain the problem, not what the change is.

> Cc: Naresh Solanki <naresh.solanki@xxxxxxxxxxxxx>
> Cc: Chin-Ting Kuo <chin-ting_kuo@xxxxxxxxxxxxxx>
> Signed-off-by: Cédric Le Goater <clg@xxxxxxxx>
> ---
> .../devicetree/bindings/spi/aspeed,ast2600-fmc.yaml | 9 +++++++++
> 1 file changed, 9 insertions(+)
>
> diff --git a/Documentation/devicetree/bindings/spi/aspeed,ast2600-fmc.yaml b/Documentation/devicetree/bindings/spi/aspeed,ast2600-fmc.yaml
> index fa8f4ac20985..a11cbc4c4c5c 100644
> --- a/Documentation/devicetree/bindings/spi/aspeed,ast2600-fmc.yaml
> +++ b/Documentation/devicetree/bindings/spi/aspeed,ast2600-fmc.yaml
> @@ -38,6 +38,14 @@ properties:
> interrupts:
> maxItems: 1
>
> + ranges:
> + minItems: 1
> + maxItems: 5
> + description: |
> + Defines the address mapping for child devices with four integer
> + values for each chip-select line in use:
> + <cs-number> 0 <physical address of mapping> <size>
> +
> required:
> - compatible
> - reg
> @@ -58,6 +66,7 @@ examples:
> compatible = "aspeed,ast2600-fmc";
> clocks = <&syscon ASPEED_CLK_AHB>;
> interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>;
> + ranges = <0 0 0x20000000 0x2000000>, <1 0 0x22000000 0x2000000>;

By having ranges here, 'reg' in child nodes become translatable
addresses. But they are not because they are SPI chip-selects. Only
memory mapped addresses should be translatable.

Probably the ranges here should be in 'reg' of the controller.

>
> flash@0 {
> reg = < 0 >;
> --
> 2.37.3
>
>