diff mbox

[1/2] Documentation: bindings: Add DT bindings for ARM's FVP models.

Message ID 1466424796-13769-1-git-send-email-tixy@linaro.org (mailing list archive)
State New, archived
Headers show

Commit Message

Jon Medhurst (Tixy) June 20, 2016, 12:13 p.m. UTC
List the required properties used to describe ARM's FVP models.

Signed-off-by: Jon Medhurst <tixy@linaro.org>
---
 Documentation/devicetree/bindings/arm/arm-boards | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

Comments

Rob Herring (Arm) June 21, 2016, 1:22 p.m. UTC | #1
On Mon, Jun 20, 2016 at 01:13:15PM +0100, Jon Medhurst wrote:
> List the required properties used to describe ARM's FVP models.
> 
> Signed-off-by: Jon Medhurst <tixy@linaro.org>
> ---
>  Documentation/devicetree/bindings/arm/arm-boards | 21 +++++++++++++++++++++
>  1 file changed, 21 insertions(+)
> 
> diff --git a/Documentation/devicetree/bindings/arm/arm-boards b/Documentation/devicetree/bindings/arm/arm-boards
> index ab318a5..4639a9b 100644
> --- a/Documentation/devicetree/bindings/arm/arm-boards
> +++ b/Documentation/devicetree/bindings/arm/arm-boards
> @@ -234,3 +234,24 @@ Example:
>  	};
>  
>  };
> +
> +ARM Fixed Virtual Platforms (FVP)
> +---------------------------------
> +FVPs are simulated platforms produced by ARM to aid software development without
> +the requirement for actual hardware. They come in several families, each of
> +which (usually) contain variants for different configurations of simulated
> +hardware. These are documented in the Fixed Virtual Platforms FVP Reference
> +Guide (reference number ARM DUI0837H).
> +
> +Required properties (in root node):
> +- compatible value:
> +	compatible = "arm,<family>,<variant>", "arm,<family>";
> +  where <family> is one of:
> +  - "fvp-base" for the Base FVP
> +  - "fvp-ve" for the VE FVP
> +  and <variant> is the part of the model's executable filename with the family
> +  name omitted, converted to lower case, and with non-alphanumeric characters
> +  replaced with '-'. E.g. the Base FVP that has two AEMv8 CPU clusters has an
> +  executable file called FVP_Base_AEMv8A-AEMv8A, so the compatible value for

Naming conventions of the exe aren't going to change?

> +  this would be:
> +	compatible = "arm,fvp-base,aemv8a-aemv8a", "arm,fvp-base";
> -- 
> 2.1.4
> 
> 
> _______________________________________________
> linux-arm-kernel mailing list
> linux-arm-kernel@lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
Jon Medhurst (Tixy) June 21, 2016, 1:38 p.m. UTC | #2
On Tue, 2016-06-21 at 08:22 -0500, Rob Herring wrote:
> > +Required properties (in root node):
> > +- compatible value:
> > +     compatible = "arm,<family>,<variant>", "arm,<family>";
> > +  where <family> is one of:
> > +  - "fvp-base" for the Base FVP
> > +  - "fvp-ve" for the VE FVP
> > +  and <variant> is the part of the model's executable filename with
> the family
> > +  name omitted, converted to lower case, and with non-alphanumeric
> characters
> > +  replaced with '-'. E.g. the Base FVP that has two AEMv8 CPU
> clusters has an
> > +  executable file called FVP_Base_AEMv8A-AEMv8A, so the compatible
> value for
> 
> Naming conventions of the exe aren't going to change?

Almost certainly will at some point, as will the very name Fixed Virtual
Platform, what 'families' ARM produce and their naming, and the
configuration of the 'hardware' compiled into the models.

These are software models, so can be changed easily at the whim of
marketing, or current perceived requirements from engineers and
managers. So generally, it's a moving target, that doesn't fit nicely
into the needs producing device-trees.
Rob Herring (Arm) June 21, 2016, 9:33 p.m. UTC | #3
On Tue, Jun 21, 2016 at 02:38:32PM +0100, Jon Medhurst (Tixy) wrote:
> On Tue, 2016-06-21 at 08:22 -0500, Rob Herring wrote:
> > > +Required properties (in root node):
> > > +- compatible value:
> > > +     compatible = "arm,<family>,<variant>", "arm,<family>";
> > > +  where <family> is one of:
> > > +  - "fvp-base" for the Base FVP
> > > +  - "fvp-ve" for the VE FVP
> > > +  and <variant> is the part of the model's executable filename with
> > the family
> > > +  name omitted, converted to lower case, and with non-alphanumeric
> > characters
> > > +  replaced with '-'. E.g. the Base FVP that has two AEMv8 CPU
> > clusters has an
> > > +  executable file called FVP_Base_AEMv8A-AEMv8A, so the compatible
> > value for
> > 
> > Naming conventions of the exe aren't going to change?
> 
> Almost certainly will at some point, as will the very name Fixed Virtual
> Platform, what 'families' ARM produce and their naming, and the
> configuration of the 'hardware' compiled into the models.
> 
> These are software models, so can be changed easily at the whim of
> marketing, or current perceived requirements from engineers and
> managers. So generally, it's a moving target, that doesn't fit nicely
> into the needs producing device-trees.

Then do we even need to specify something so specific? The kernel 
probably doesn't even care. Are you going to upstream new strings 
everytime there's a new one (that's public)?

We've had models supported upstream for a long time. What's changed now?

Rob
Jon Medhurst (Tixy) June 22, 2016, 8:43 a.m. UTC | #4
On Tue, 2016-06-21 at 16:33 -0500, Rob Herring wrote:
> On Tue, Jun 21, 2016 at 02:38:32PM +0100, Jon Medhurst (Tixy) wrote:
> > On Tue, 2016-06-21 at 08:22 -0500, Rob Herring wrote:
> > > > +Required properties (in root node):
> > > > +- compatible value:
> > > > +     compatible = "arm,<family>,<variant>", "arm,<family>";
> > > > +  where <family> is one of:
> > > > +  - "fvp-base" for the Base FVP
> > > > +  - "fvp-ve" for the VE FVP
> > > > +  and <variant> is the part of the model's executable filename with
> > > the family
> > > > +  name omitted, converted to lower case, and with non-alphanumeric
> > > characters
> > > > +  replaced with '-'. E.g. the Base FVP that has two AEMv8 CPU
> > > clusters has an
> > > > +  executable file called FVP_Base_AEMv8A-AEMv8A, so the compatible
> > > value for
> > > 
> > > Naming conventions of the exe aren't going to change?
> > 
> > Almost certainly will at some point, as will the very name Fixed Virtual
> > Platform, what 'families' ARM produce and their naming, and the
> > configuration of the 'hardware' compiled into the models.
> > 
> > These are software models, so can be changed easily at the whim of
> > marketing, or current perceived requirements from engineers and
> > managers. So generally, it's a moving target, that doesn't fit nicely
> > into the needs producing device-trees.
> 
> Then do we even need to specify something so specific? The kernel 
> probably doesn't even care.

Well, it would certainly be easier if we could just use a simple
'arm,fvp' for compatible and model name and not worry about the 100 or
so current variants. (Some are 32-bit, some 64-bit with just about every
current ARM CPU represented, plus various peripheral sets with regard to
display, iommu, dma, etc.


>  Are you going to upstream new strings 
> everytime there's a new one (that's public)?

I've only been asked to upstream a device-tree for the one that ARM
targets in its 'platform release' [1]. Note, all 100+ models are equally
'public' in the sense that they are available to people are pay (like
real hardware supported by Linux).

[1] https://community.arm.com/docs/DOC-10803)

> 
> We've had models supported upstream for a long time. What's changed now?

ARM's software releases are targeting a different model.
diff mbox

Patch

diff --git a/Documentation/devicetree/bindings/arm/arm-boards b/Documentation/devicetree/bindings/arm/arm-boards
index ab318a5..4639a9b 100644
--- a/Documentation/devicetree/bindings/arm/arm-boards
+++ b/Documentation/devicetree/bindings/arm/arm-boards
@@ -234,3 +234,24 @@  Example:
 	};
 
 };
+
+ARM Fixed Virtual Platforms (FVP)
+---------------------------------
+FVPs are simulated platforms produced by ARM to aid software development without
+the requirement for actual hardware. They come in several families, each of
+which (usually) contain variants for different configurations of simulated
+hardware. These are documented in the Fixed Virtual Platforms FVP Reference
+Guide (reference number ARM DUI0837H).
+
+Required properties (in root node):
+- compatible value:
+	compatible = "arm,<family>,<variant>", "arm,<family>";
+  where <family> is one of:
+  - "fvp-base" for the Base FVP
+  - "fvp-ve" for the VE FVP
+  and <variant> is the part of the model's executable filename with the family
+  name omitted, converted to lower case, and with non-alphanumeric characters
+  replaced with '-'. E.g. the Base FVP that has two AEMv8 CPU clusters has an
+  executable file called FVP_Base_AEMv8A-AEMv8A, so the compatible value for
+  this would be:
+	compatible = "arm,fvp-base,aemv8a-aemv8a", "arm,fvp-base";