Message ID | 1431537092-19597-6-git-send-email-Liviu.Dudau@arm.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Wed, 2015-05-13 at 18:11 +0100, Liviu Dudau wrote: > This board is based on Juno r0 with updated Cortex A5x revisions > and board errata fixes. It also contains coherent ThinLinks ports > on the expansion slot that allow for an AXI master on the daughter > card to participate in a coherency domain. > > Support for SoC PCIe host bridge will be added as a separate series. > > Signed-off-by: Liviu Dudau <Liviu.Dudau@arm.com> > --- > arch/arm64/boot/dts/arm/Makefile | 2 +- > arch/arm64/boot/dts/arm/juno-r1.dts | 123 ++++++++++++++++++++++++++++++++++++ > 2 files changed, 124 insertions(+), 1 deletion(-) > create mode 100644 arch/arm64/boot/dts/arm/juno-r1.dts > > diff --git a/arch/arm64/boot/dts/arm/Makefile b/arch/arm64/boot/dts/arm/Makefile > index 301a0da..c5c98b9 100644 > --- a/arch/arm64/boot/dts/arm/Makefile > +++ b/arch/arm64/boot/dts/arm/Makefile > @@ -1,5 +1,5 @@ > dtb-$(CONFIG_ARCH_VEXPRESS) += foundation-v8.dtb > -dtb-$(CONFIG_ARCH_VEXPRESS) += juno.dtb > +dtb-$(CONFIG_ARCH_VEXPRESS) += juno.dtb juno-r1.dtb > dtb-$(CONFIG_ARCH_VEXPRESS) += rtsm_ve-aemv8a.dtb > > always := $(dtb-y) > diff --git a/arch/arm64/boot/dts/arm/juno-r1.dts b/arch/arm64/boot/dts/arm/juno-r1.dts > new file mode 100644 > index 0000000..f6bc073 > --- /dev/null > +++ b/arch/arm64/boot/dts/arm/juno-r1.dts > @@ -0,0 +1,123 @@ > +/* > + * ARM Ltd. Juno Platform > + * > + * Copyright (c) 2015 ARM Ltd. > + * > + * This file is licensed under a dual GPLv2 or BSD license. > + */ > + > +/dts-v1/; > + > +#include <dt-bindings/interrupt-controller/arm-gic.h> > + > +/ { > + model = "ARM Juno development board (r1)"; > + compatible = "arm,juno", "arm,vexpress"; Is there scope for adding "arm,juno-r1" to the front of that list? Reason I ask, is that I can't help but think [1] that userside code (like Android) which wants to select device-specific configuration, should use something like the devices compatible string rather than what they currently propose [2]. [1] https://lists.linaro.org/pipermail/linaro-android/2015-April/002743.html [2] https://lists.linaro.org/pipermail/linaro-android/2015-April/002742.html
On Thu, May 14, 2015 at 03:07:31PM +0100, Jon Medhurst (Tixy) wrote: > On Wed, 2015-05-13 at 18:11 +0100, Liviu Dudau wrote: > > This board is based on Juno r0 with updated Cortex A5x revisions > > and board errata fixes. It also contains coherent ThinLinks ports > > on the expansion slot that allow for an AXI master on the daughter > > card to participate in a coherency domain. > > > > Support for SoC PCIe host bridge will be added as a separate series. > > > > Signed-off-by: Liviu Dudau <Liviu.Dudau@arm.com> > > --- > > arch/arm64/boot/dts/arm/Makefile | 2 +- > > arch/arm64/boot/dts/arm/juno-r1.dts | 123 ++++++++++++++++++++++++++++++++++++ > > 2 files changed, 124 insertions(+), 1 deletion(-) > > create mode 100644 arch/arm64/boot/dts/arm/juno-r1.dts > > > > diff --git a/arch/arm64/boot/dts/arm/Makefile b/arch/arm64/boot/dts/arm/Makefile > > index 301a0da..c5c98b9 100644 > > --- a/arch/arm64/boot/dts/arm/Makefile > > +++ b/arch/arm64/boot/dts/arm/Makefile > > @@ -1,5 +1,5 @@ > > dtb-$(CONFIG_ARCH_VEXPRESS) += foundation-v8.dtb > > -dtb-$(CONFIG_ARCH_VEXPRESS) += juno.dtb > > +dtb-$(CONFIG_ARCH_VEXPRESS) += juno.dtb juno-r1.dtb > > dtb-$(CONFIG_ARCH_VEXPRESS) += rtsm_ve-aemv8a.dtb > > > > always := $(dtb-y) > > diff --git a/arch/arm64/boot/dts/arm/juno-r1.dts b/arch/arm64/boot/dts/arm/juno-r1.dts > > new file mode 100644 > > index 0000000..f6bc073 > > --- /dev/null > > +++ b/arch/arm64/boot/dts/arm/juno-r1.dts > > @@ -0,0 +1,123 @@ > > +/* > > + * ARM Ltd. Juno Platform > > + * > > + * Copyright (c) 2015 ARM Ltd. > > + * > > + * This file is licensed under a dual GPLv2 or BSD license. > > + */ > > + > > +/dts-v1/; > > + > > +#include <dt-bindings/interrupt-controller/arm-gic.h> > > + > > +/ { > > + model = "ARM Juno development board (r1)"; > > + compatible = "arm,juno", "arm,vexpress"; > > Is there scope for adding "arm,juno-r1" to the front of that list? > Reason I ask, is that I can't help but think [1] that userside code > (like Android) which wants to select device-specific configuration, > should use something like the devices compatible string rather than what > they currently propose [2]. Sure, I can do that for the next revision of the patch. Best regards, Liviu > > [1] https://lists.linaro.org/pipermail/linaro-android/2015-April/002743.html > [2] https://lists.linaro.org/pipermail/linaro-android/2015-April/002742.html > > -- > Tixy >
On Thu, May 14, 2015 at 03:07:31PM +0100, Jon Medhurst (Tixy) wrote: > On Wed, 2015-05-13 at 18:11 +0100, Liviu Dudau wrote: > > This board is based on Juno r0 with updated Cortex A5x revisions > > and board errata fixes. It also contains coherent ThinLinks ports > > on the expansion slot that allow for an AXI master on the daughter > > card to participate in a coherency domain. > > > > Support for SoC PCIe host bridge will be added as a separate series. > > > > Signed-off-by: Liviu Dudau <Liviu.Dudau@arm.com> > > --- > > arch/arm64/boot/dts/arm/Makefile | 2 +- > > arch/arm64/boot/dts/arm/juno-r1.dts | 123 ++++++++++++++++++++++++++++++++++++ > > 2 files changed, 124 insertions(+), 1 deletion(-) > > create mode 100644 arch/arm64/boot/dts/arm/juno-r1.dts > > > > diff --git a/arch/arm64/boot/dts/arm/Makefile b/arch/arm64/boot/dts/arm/Makefile > > index 301a0da..c5c98b9 100644 > > --- a/arch/arm64/boot/dts/arm/Makefile > > +++ b/arch/arm64/boot/dts/arm/Makefile > > @@ -1,5 +1,5 @@ > > dtb-$(CONFIG_ARCH_VEXPRESS) += foundation-v8.dtb > > -dtb-$(CONFIG_ARCH_VEXPRESS) += juno.dtb > > +dtb-$(CONFIG_ARCH_VEXPRESS) += juno.dtb juno-r1.dtb > > dtb-$(CONFIG_ARCH_VEXPRESS) += rtsm_ve-aemv8a.dtb > > > > always := $(dtb-y) > > diff --git a/arch/arm64/boot/dts/arm/juno-r1.dts b/arch/arm64/boot/dts/arm/juno-r1.dts > > new file mode 100644 > > index 0000000..f6bc073 > > --- /dev/null > > +++ b/arch/arm64/boot/dts/arm/juno-r1.dts > > @@ -0,0 +1,123 @@ > > +/* > > + * ARM Ltd. Juno Platform > > + * > > + * Copyright (c) 2015 ARM Ltd. > > + * > > + * This file is licensed under a dual GPLv2 or BSD license. > > + */ > > + > > +/dts-v1/; > > + > > +#include <dt-bindings/interrupt-controller/arm-gic.h> > > + > > +/ { > > + model = "ARM Juno development board (r1)"; > > + compatible = "arm,juno", "arm,vexpress"; > > Is there scope for adding "arm,juno-r1" to the front of that list? > Reason I ask, is that I can't help but think [1] that userside code > (like Android) which wants to select device-specific configuration, > should use something like the devices compatible string rather than what > they currently propose [2]. > [1] https://lists.linaro.org/pipermail/linaro-android/2015-April/002743.html > [2] https://lists.linaro.org/pipermail/linaro-android/2015-April/002742.html Ideally, userspace shouldn't need to know what specific device they're running on (though obviously there will always be cases...). To that end, it would be interesting to know what this data would be used for. If it's just a string for some "About device" menu, the model string should be ok. I'm a bit lost with the suggestion in [2]. It doesn't seem to have anything to do with firmware, though perhaps I'm missing something? What information are they trying to get at? Thanks, Mark.
On Thu, 2015-05-14 at 15:18 +0100, Mark Rutland wrote: > On Thu, May 14, 2015 at 03:07:31PM +0100, Jon Medhurst (Tixy) wrote: > > On Wed, 2015-05-13 at 18:11 +0100, Liviu Dudau wrote: > > > This board is based on Juno r0 with updated Cortex A5x revisions > > > and board errata fixes. It also contains coherent ThinLinks ports > > > on the expansion slot that allow for an AXI master on the daughter > > > card to participate in a coherency domain. > > > > > > Support for SoC PCIe host bridge will be added as a separate series. > > > > > > Signed-off-by: Liviu Dudau <Liviu.Dudau@arm.com> > > > --- > > > arch/arm64/boot/dts/arm/Makefile | 2 +- > > > arch/arm64/boot/dts/arm/juno-r1.dts | 123 ++++++++++++++++++++++++++++++++++++ > > > 2 files changed, 124 insertions(+), 1 deletion(-) > > > create mode 100644 arch/arm64/boot/dts/arm/juno-r1.dts > > > > > > diff --git a/arch/arm64/boot/dts/arm/Makefile b/arch/arm64/boot/dts/arm/Makefile > > > index 301a0da..c5c98b9 100644 > > > --- a/arch/arm64/boot/dts/arm/Makefile > > > +++ b/arch/arm64/boot/dts/arm/Makefile > > > @@ -1,5 +1,5 @@ > > > dtb-$(CONFIG_ARCH_VEXPRESS) += foundation-v8.dtb > > > -dtb-$(CONFIG_ARCH_VEXPRESS) += juno.dtb > > > +dtb-$(CONFIG_ARCH_VEXPRESS) += juno.dtb juno-r1.dtb > > > dtb-$(CONFIG_ARCH_VEXPRESS) += rtsm_ve-aemv8a.dtb > > > > > > always := $(dtb-y) > > > diff --git a/arch/arm64/boot/dts/arm/juno-r1.dts b/arch/arm64/boot/dts/arm/juno-r1.dts > > > new file mode 100644 > > > index 0000000..f6bc073 > > > --- /dev/null > > > +++ b/arch/arm64/boot/dts/arm/juno-r1.dts > > > @@ -0,0 +1,123 @@ > > > +/* > > > + * ARM Ltd. Juno Platform > > > + * > > > + * Copyright (c) 2015 ARM Ltd. > > > + * > > > + * This file is licensed under a dual GPLv2 or BSD license. > > > + */ > > > + > > > +/dts-v1/; > > > + > > > +#include <dt-bindings/interrupt-controller/arm-gic.h> > > > + > > > +/ { > > > + model = "ARM Juno development board (r1)"; > > > + compatible = "arm,juno", "arm,vexpress"; > > > > Is there scope for adding "arm,juno-r1" to the front of that list? > > Reason I ask, is that I can't help but think [1] that userside code > > (like Android) which wants to select device-specific configuration, > > should use something like the devices compatible string rather than what > > they currently propose [2]. > > > [1] https://lists.linaro.org/pipermail/linaro-android/2015-April/002743.html > > [2] https://lists.linaro.org/pipermail/linaro-android/2015-April/002742.html > > Ideally, userspace shouldn't need to know what specific device they're > running on (though obviously there will always be cases...). To that > end, it would be interesting to know what this data would be used for. > If it's just a string for some "About device" menu, the model string > should be ok. The 'hardware name' is used to selected the correct init scripts, fstab, userside graphics/audio drivers for the device. > I'm a bit lost with the suggestion in [2]. It doesn't seem to have > anything to do with firmware, though perhaps I'm missing something? That was my reaction. Before they were parsing /proc/cpuinfo to get the device name. But that information got removed.
diff --git a/arch/arm64/boot/dts/arm/Makefile b/arch/arm64/boot/dts/arm/Makefile index 301a0da..c5c98b9 100644 --- a/arch/arm64/boot/dts/arm/Makefile +++ b/arch/arm64/boot/dts/arm/Makefile @@ -1,5 +1,5 @@ dtb-$(CONFIG_ARCH_VEXPRESS) += foundation-v8.dtb -dtb-$(CONFIG_ARCH_VEXPRESS) += juno.dtb +dtb-$(CONFIG_ARCH_VEXPRESS) += juno.dtb juno-r1.dtb dtb-$(CONFIG_ARCH_VEXPRESS) += rtsm_ve-aemv8a.dtb always := $(dtb-y) diff --git a/arch/arm64/boot/dts/arm/juno-r1.dts b/arch/arm64/boot/dts/arm/juno-r1.dts new file mode 100644 index 0000000..f6bc073 --- /dev/null +++ b/arch/arm64/boot/dts/arm/juno-r1.dts @@ -0,0 +1,123 @@ +/* + * ARM Ltd. Juno Platform + * + * Copyright (c) 2015 ARM Ltd. + * + * This file is licensed under a dual GPLv2 or BSD license. + */ + +/dts-v1/; + +#include <dt-bindings/interrupt-controller/arm-gic.h> + +/ { + model = "ARM Juno development board (r1)"; + compatible = "arm,juno", "arm,vexpress"; + interrupt-parent = <&gic>; + #address-cells = <2>; + #size-cells = <2>; + + aliases { + serial0 = &soc_uart0; + }; + + chosen { + stdout-path = "serial0:115200n8"; + }; + + psci { + compatible = "arm,psci-0.2"; + method = "smc"; + }; + + cpus { + #address-cells = <2>; + #size-cells = <0>; + + A57_0: cpu@0 { + compatible = "arm,cortex-a57","arm,armv8"; + reg = <0x0 0x0>; + device_type = "cpu"; + enable-method = "psci"; + next-level-cache = <&A57_L2>; + }; + + A57_1: cpu@1 { + compatible = "arm,cortex-a57","arm,armv8"; + reg = <0x0 0x1>; + device_type = "cpu"; + enable-method = "psci"; + next-level-cache = <&A57_L2>; + }; + + A53_0: cpu@100 { + compatible = "arm,cortex-a53","arm,armv8"; + reg = <0x0 0x100>; + device_type = "cpu"; + enable-method = "psci"; + next-level-cache = <&A53_L2>; + }; + + A53_1: cpu@101 { + compatible = "arm,cortex-a53","arm,armv8"; + reg = <0x0 0x101>; + device_type = "cpu"; + enable-method = "psci"; + next-level-cache = <&A53_L2>; + }; + + A53_2: cpu@102 { + compatible = "arm,cortex-a53","arm,armv8"; + reg = <0x0 0x102>; + device_type = "cpu"; + enable-method = "psci"; + next-level-cache = <&A53_L2>; + }; + + A53_3: cpu@103 { + compatible = "arm,cortex-a53","arm,armv8"; + reg = <0x0 0x103>; + device_type = "cpu"; + enable-method = "psci"; + next-level-cache = <&A53_L2>; + }; + + A57_L2: l2-cache0 { + compatible = "cache"; + }; + + A53_L2: l2-cache1 { + compatible = "cache"; + }; + }; + + memory@80000000 { + device_type = "memory"; + /* last 16MB of the first memory area is reserved for secure world use by firmware */ + reg = <0x00000000 0x80000000 0x0 0x7f000000>, + <0x00000008 0x80000000 0x1 0x80000000>; + }; + + pmu { + compatible = "arm,armv8-pmuv3"; + interrupts = <GIC_SPI 02 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SPI 06 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SPI 18 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SPI 22 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>; + interrupt-affinity = <&A57_0>, + <&A57_1>, + <&A53_0>, + <&A53_1>, + <&A53_2>, + <&A53_3>; + }; + + #include "juno-base.dtsi" + +}; + +&memtimer { + status = "okay"; +};
This board is based on Juno r0 with updated Cortex A5x revisions and board errata fixes. It also contains coherent ThinLinks ports on the expansion slot that allow for an AXI master on the daughter card to participate in a coherency domain. Support for SoC PCIe host bridge will be added as a separate series. Signed-off-by: Liviu Dudau <Liviu.Dudau@arm.com> --- arch/arm64/boot/dts/arm/Makefile | 2 +- arch/arm64/boot/dts/arm/juno-r1.dts | 123 ++++++++++++++++++++++++++++++++++++ 2 files changed, 124 insertions(+), 1 deletion(-) create mode 100644 arch/arm64/boot/dts/arm/juno-r1.dts