Message ID | 1459786850-29409-1-git-send-email-brian.starkey@arm.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Mon, Apr 04, 2016 at 05:20:50PM +0100, Brian Starkey wrote: > The VExpress and Juno development platforms have an external expansion > bus which can be used for additional hardware (e.g. LogicTile Express > daughterboards). > Add this bus to all VExpress CoreTile and Juno device-trees. > > On VExpress, the bus is described for a CoreTile located on site 1. s/located on/occupying/ You're trying to say that the CPU for which one of these DTs apply is running on SITE1 so the expansion bus described here is available on SITE2. > > Signed-off-by: Brian Starkey <brian.starkey@arm.com> Otherwise, looks good to me. With that change: Acked-by: Liviu Dudau <Liviu.Dudau@arm.com> Best regards, Liviu > --- > arch/arm/boot/dts/vexpress-v2p-ca15-tc1.dts | 13 +++++++++++++ > arch/arm/boot/dts/vexpress-v2p-ca15_a7.dts | 13 +++++++++++++ > arch/arm/boot/dts/vexpress-v2p-ca5s.dts | 13 +++++++++++++ > arch/arm/boot/dts/vexpress-v2p-ca9.dts | 13 +++++++++++++ > arch/arm64/boot/dts/arm/juno-base.dtsi | 10 ++++++++++ > 5 files changed, 62 insertions(+) > > diff --git a/arch/arm/boot/dts/vexpress-v2p-ca15-tc1.dts b/arch/arm/boot/dts/vexpress-v2p-ca15-tc1.dts > index 9420053..ec7539b 100644 > --- a/arch/arm/boot/dts/vexpress-v2p-ca15-tc1.dts > +++ b/arch/arm/boot/dts/vexpress-v2p-ca15-tc1.dts > @@ -280,4 +280,17 @@ > > /include/ "vexpress-v2m-rs1.dtsi" > }; > + > + site2: hsb@40000000 { > + compatible = "simple-bus"; > + #address-cells = <1>; > + #size-cells = <1>; > + ranges = <0 0 0x40000000 0x3fef0000>; > + #interrupt-cells = <1>; > + interrupt-map-mask = <0 3>; > + interrupt-map = <0 0 &gic 0 36 4>, > + <0 1 &gic 0 37 4>, > + <0 2 &gic 0 38 4>, > + <0 3 &gic 0 39 4>; > + }; > }; > diff --git a/arch/arm/boot/dts/vexpress-v2p-ca15_a7.dts b/arch/arm/boot/dts/vexpress-v2p-ca15_a7.dts > index 17f63f7..a339b0c 100644 > --- a/arch/arm/boot/dts/vexpress-v2p-ca15_a7.dts > +++ b/arch/arm/boot/dts/vexpress-v2p-ca15_a7.dts > @@ -638,4 +638,17 @@ > > /include/ "vexpress-v2m-rs1.dtsi" > }; > + > + site2: hsb@40000000 { > + compatible = "simple-bus"; > + #address-cells = <1>; > + #size-cells = <1>; > + ranges = <0 0 0x40000000 0x3fef0000>; > + #interrupt-cells = <1>; > + interrupt-map-mask = <0 3>; > + interrupt-map = <0 0 &gic 0 36 4>, > + <0 1 &gic 0 37 4>, > + <0 2 &gic 0 38 4>, > + <0 3 &gic 0 39 4>; > + }; > }; > diff --git a/arch/arm/boot/dts/vexpress-v2p-ca5s.dts b/arch/arm/boot/dts/vexpress-v2p-ca5s.dts > index d2709b7..76a9ccb 100644 > --- a/arch/arm/boot/dts/vexpress-v2p-ca5s.dts > +++ b/arch/arm/boot/dts/vexpress-v2p-ca5s.dts > @@ -250,4 +250,17 @@ > > /include/ "vexpress-v2m-rs1.dtsi" > }; > + > + site2: hsb@40000000 { > + compatible = "simple-bus"; > + #address-cells = <1>; > + #size-cells = <1>; > + ranges = <0 0x40000000 0x40000000>; > + #interrupt-cells = <1>; > + interrupt-map-mask = <0 3>; > + interrupt-map = <0 0 &gic 0 36 4>, > + <0 1 &gic 0 37 4>, > + <0 2 &gic 0 38 4>, > + <0 3 &gic 0 39 4>; > + }; > }; > diff --git a/arch/arm/boot/dts/vexpress-v2p-ca9.dts b/arch/arm/boot/dts/vexpress-v2p-ca9.dts > index d949fac..edac212 100644 > --- a/arch/arm/boot/dts/vexpress-v2p-ca9.dts > +++ b/arch/arm/boot/dts/vexpress-v2p-ca9.dts > @@ -359,4 +359,17 @@ > > /include/ "vexpress-v2m.dtsi" > }; > + > + site2: hsb@e0000000 { > + compatible = "simple-bus"; > + #address-cells = <1>; > + #size-cells = <1>; > + ranges = <0 0xe0000000 0x20000000>; > + #interrupt-cells = <1>; > + interrupt-map-mask = <0 3>; > + interrupt-map = <0 0 &gic 0 36 4>, > + <0 1 &gic 0 37 4>, > + <0 2 &gic 0 38 4>, > + <0 3 &gic 0 39 4>; > + }; > }; > diff --git a/arch/arm64/boot/dts/arm/juno-base.dtsi b/arch/arm64/boot/dts/arm/juno-base.dtsi > index 68ccc39..dee2386 100644 > --- a/arch/arm64/boot/dts/arm/juno-base.dtsi > +++ b/arch/arm64/boot/dts/arm/juno-base.dtsi > @@ -272,3 +272,13 @@ > > /include/ "juno-motherboard.dtsi" > }; > + > + site2: tlx@60000000 { > + compatible = "simple-bus"; > + #address-cells = <1>; > + #size-cells = <1>; > + ranges = <0 0 0x60000000 0x10000000>; > + #interrupt-cells = <1>; > + interrupt-map-mask = <0 0>; > + interrupt-map = <0 0 &gic 0 0 0 168 IRQ_TYPE_LEVEL_HIGH>; > + }; > -- > 1.7.9.5 >
On 04/04/16 17:20, Brian Starkey wrote: > The VExpress and Juno development platforms have an external expansion > bus which can be used for additional hardware (e.g. LogicTile Express > daughterboards). How do you plan to add those additional hardware on the expansion bus ? IIUC having them in DT and running on a system without the tile connected will cause aborts, hence you are just adding bus definition. Is there any use in having just the bus definition in DT. If you are planning to add devices using overlays, can't the bus definition also be added then ? I am fine with the patch as such, just wanted to know the information.
Hi Sudeep, On Mon, Apr 04, 2016 at 06:05:11PM +0100, Sudeep Holla wrote: >How do you plan to add those additional hardware on the expansion bus ? > >IIUC having them in DT and running on a system without the tile >connected will cause aborts, hence you are just adding bus definition. > >Is there any use in having just the bus definition in DT. If you are >planning to add devices using overlays, can't the bus definition also >be added then ? Did you mean "then" as "when I submit the overlay patches" or "add the bus in the overlay"? I wasn't sure the overlays would get accepted into mainline as they describe proprietary FPGA bitfiles which aren't going to be publicly available. We should be able to upstream them if that's not an issue. I'm still interested in getting the bus definition upstream so that we have a basis for defining our bitfile overlays in our kernel tree(s). Previously there's been no example or convention leading us to hack the DTs together in various ways: https://git.linaro.org/landing-teams/working/arm/kernel.git/commit/14ebf51be6ead99b3861d779bdcf3cee18ab81d6 https://git.linaro.org/landing-teams/working/arm/kernel.git/commit/8e3f902e202f48e2b424c0f049f3894ac83c4c65 As for adding it via overlays; as we use the same bitfile on multiple platforms, we'd need to maintain and apply a bunch of overlays: one per-platform for the bus, and one per bitfile for the devices. It seemed better to get the bus definition (which is fixed) into the base platform definitions, then we only need overlays to describe the devices which are unique to a bitfile. Having the bus definition also serves to document the interrupt lines and address ranges on the different platforms. > >I am fine with the patch as such, just wanted to know the information. > Thanks for having a look, Brian >-- >Regards, >Sudeep > >_______________________________________________ >linux-arm-kernel mailing list >linux-arm-kernel@lists.infradead.org >http://lists.infradead.org/mailman/listinfo/linux-arm-kernel >
diff --git a/arch/arm/boot/dts/vexpress-v2p-ca15-tc1.dts b/arch/arm/boot/dts/vexpress-v2p-ca15-tc1.dts index 9420053..ec7539b 100644 --- a/arch/arm/boot/dts/vexpress-v2p-ca15-tc1.dts +++ b/arch/arm/boot/dts/vexpress-v2p-ca15-tc1.dts @@ -280,4 +280,17 @@ /include/ "vexpress-v2m-rs1.dtsi" }; + + site2: hsb@40000000 { + compatible = "simple-bus"; + #address-cells = <1>; + #size-cells = <1>; + ranges = <0 0 0x40000000 0x3fef0000>; + #interrupt-cells = <1>; + interrupt-map-mask = <0 3>; + interrupt-map = <0 0 &gic 0 36 4>, + <0 1 &gic 0 37 4>, + <0 2 &gic 0 38 4>, + <0 3 &gic 0 39 4>; + }; }; diff --git a/arch/arm/boot/dts/vexpress-v2p-ca15_a7.dts b/arch/arm/boot/dts/vexpress-v2p-ca15_a7.dts index 17f63f7..a339b0c 100644 --- a/arch/arm/boot/dts/vexpress-v2p-ca15_a7.dts +++ b/arch/arm/boot/dts/vexpress-v2p-ca15_a7.dts @@ -638,4 +638,17 @@ /include/ "vexpress-v2m-rs1.dtsi" }; + + site2: hsb@40000000 { + compatible = "simple-bus"; + #address-cells = <1>; + #size-cells = <1>; + ranges = <0 0 0x40000000 0x3fef0000>; + #interrupt-cells = <1>; + interrupt-map-mask = <0 3>; + interrupt-map = <0 0 &gic 0 36 4>, + <0 1 &gic 0 37 4>, + <0 2 &gic 0 38 4>, + <0 3 &gic 0 39 4>; + }; }; diff --git a/arch/arm/boot/dts/vexpress-v2p-ca5s.dts b/arch/arm/boot/dts/vexpress-v2p-ca5s.dts index d2709b7..76a9ccb 100644 --- a/arch/arm/boot/dts/vexpress-v2p-ca5s.dts +++ b/arch/arm/boot/dts/vexpress-v2p-ca5s.dts @@ -250,4 +250,17 @@ /include/ "vexpress-v2m-rs1.dtsi" }; + + site2: hsb@40000000 { + compatible = "simple-bus"; + #address-cells = <1>; + #size-cells = <1>; + ranges = <0 0x40000000 0x40000000>; + #interrupt-cells = <1>; + interrupt-map-mask = <0 3>; + interrupt-map = <0 0 &gic 0 36 4>, + <0 1 &gic 0 37 4>, + <0 2 &gic 0 38 4>, + <0 3 &gic 0 39 4>; + }; }; diff --git a/arch/arm/boot/dts/vexpress-v2p-ca9.dts b/arch/arm/boot/dts/vexpress-v2p-ca9.dts index d949fac..edac212 100644 --- a/arch/arm/boot/dts/vexpress-v2p-ca9.dts +++ b/arch/arm/boot/dts/vexpress-v2p-ca9.dts @@ -359,4 +359,17 @@ /include/ "vexpress-v2m.dtsi" }; + + site2: hsb@e0000000 { + compatible = "simple-bus"; + #address-cells = <1>; + #size-cells = <1>; + ranges = <0 0xe0000000 0x20000000>; + #interrupt-cells = <1>; + interrupt-map-mask = <0 3>; + interrupt-map = <0 0 &gic 0 36 4>, + <0 1 &gic 0 37 4>, + <0 2 &gic 0 38 4>, + <0 3 &gic 0 39 4>; + }; }; diff --git a/arch/arm64/boot/dts/arm/juno-base.dtsi b/arch/arm64/boot/dts/arm/juno-base.dtsi index 68ccc39..dee2386 100644 --- a/arch/arm64/boot/dts/arm/juno-base.dtsi +++ b/arch/arm64/boot/dts/arm/juno-base.dtsi @@ -272,3 +272,13 @@ /include/ "juno-motherboard.dtsi" }; + + site2: tlx@60000000 { + compatible = "simple-bus"; + #address-cells = <1>; + #size-cells = <1>; + ranges = <0 0 0x60000000 0x10000000>; + #interrupt-cells = <1>; + interrupt-map-mask = <0 0>; + interrupt-map = <0 0 &gic 0 0 0 168 IRQ_TYPE_LEVEL_HIGH>; + };
The VExpress and Juno development platforms have an external expansion bus which can be used for additional hardware (e.g. LogicTile Express daughterboards). Add this bus to all VExpress CoreTile and Juno device-trees. On VExpress, the bus is described for a CoreTile located on site 1. Signed-off-by: Brian Starkey <brian.starkey@arm.com> --- arch/arm/boot/dts/vexpress-v2p-ca15-tc1.dts | 13 +++++++++++++ arch/arm/boot/dts/vexpress-v2p-ca15_a7.dts | 13 +++++++++++++ arch/arm/boot/dts/vexpress-v2p-ca5s.dts | 13 +++++++++++++ arch/arm/boot/dts/vexpress-v2p-ca9.dts | 13 +++++++++++++ arch/arm64/boot/dts/arm/juno-base.dtsi | 10 ++++++++++ 5 files changed, 62 insertions(+)