Skip to contentSkip to conversation

arm/arm64: vexpress: DT updates for v4.2

PATCH New Sudeep Holla 3 participants 11 messages Jul 1, 2015 – Jul 15, 2015

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

cover arm/arm64: vexpress: DT updates for v4.2

Hi ARM-SoC guys,

Here are couple of fixes for adding missing nodes(CCI and A7 PMUs) in TC2 device tree. The third patch is addition of support for FPGA based dual core A53 SMM platform. All the patches are posted on the list already, just putting them together. Let me know if you prefer a pull request.

Regards,
Sudeep

Kristina Martsenko (1):
arm64: dts: add device tree for ARM SMM-A53x2 on LogicTile Express

    20MG

Mark Rutland (1):
arm: dts: vexpress: describe all PMUs in TC2 dts

Sudeep Holla (1):
arm: dts: vexpress: add missing CCI PMU device node to TC2

 MAINTAINERS                                        |   1 +
 arch/arm/boot/dts/vexpress-v2p-ca15_a7.dts         |  25 ++-
 arch/arm64/boot/dts/arm/Makefile                   |   1 +
 .../boot/dts/arm/vexpress-v2f-1xv7-ca53x2.dts      | 191 +++++++++++++++++++++
 4 files changed, 216 insertions(+), 2 deletions(-)
 create mode 100644 arch/arm64/boot/dts/arm/vexpress-v2f-1xv7-ca53x2.dts
Signature · 1 line
1.9.1
#1 lore raw

PATCH 1/3 arm: dts: vexpress: describe all PMUs in TC2 dts

From: Mark Rutland <[email protected]>

The dts for the CoreTile Express A15x2 A7x3 (TC2) only describes the PMUs of the Cortex-A15 CPUs, and not the Cortex-A7 CPUs.

Now that we have a mechanism for describing disparate PMUs and their interrupts in device tree, this patch makes use of these to describe the PMUs for all CPUs in the system. For consistency, the existing A15 PMU interrupt-affinity property is reflowed across two lines.

---
 arch/arm/boot/dts/vexpress-v2p-ca15_a7.dts | 15 +++++++++++++--
 1 file changed, 13 insertions(+), 2 deletions(-)
arch/arm/boot/dts/vexpress-v2p-ca15_a7.dts +13 -2
index 107395c32d82..038e30e4332f 100644
@@ -187,11 +187,22 @@
 			     <1 10 0xf08>;
 	};
 
-	pmu {
+	pmu_a15 {
 		compatible = "arm,cortex-a15-pmu";
 		interrupts = <0 68 4>,
 			     <0 69 4>;
-		interrupt-affinity = <&cpu0>, <&cpu1>;
+		interrupt-affinity = <&cpu0>,
+				     <&cpu1>;
+	};
+
+	pmu_a7 {
+		compatible = "arm,cortex-a7-pmu";
+		interrupts = <0 128 4>,
+			     <0 129 4>,
+			     <0 130 4>;
+		interrupt-affinity = <&cpu2>,
+				     <&cpu3>,
+				     <&cpu4>;
 	};
 
 	oscclk6a: oscclk6a {
Signature · 1 line
1.9.1
#2 lore raw

PATCH 2/3 arm: dts: vexpress: add missing CCI PMU device node to TC2

In reply to Sudeep Holla

The CCI device node was added to vexpress CA15_A7(i.e. TC2) much before the CCI PMU support and binding was added. This patch adds the missing PMU node so that CCI PMUs can be used on TC2.

---
 arch/arm/boot/dts/vexpress-v2p-ca15_a7.dts | 10 ++++++++++
 1 file changed, 10 insertions(+)
arch/arm/boot/dts/vexpress-v2p-ca15_a7.dts +10 -0
index 038e30e4332f..17f63f7dfd9e 100644
@@ -150,6 +150,16 @@
 			interface-type = "ace";
 			reg = <0x5000 0x1000>;
 		};
+
+		pmu at 9000 {
+			 compatible = "arm,cci-400-pmu,r0";
+			 reg = <0x9000 0x5000>;
+			 interrupts = <0 105 4>,
+				      <0 101 4>,
+				      <0 102 4>,
+				      <0 103 4>,
+				      <0 104 4>;
+		};
 	};
 
 	memory-controller at 7ffd0000 {
Signature · 1 line
1.9.1
#3 lore raw

PATCH 3/3 arm64: dts: add device tree for ARM SMM-A53x2 on LogicTile Express 20MG

In reply to Sudeep Holla

From: Kristina Martsenko <[email protected]>

Add a DTS file for the MP2 Cortex-A53 Soft Macrocell Model implemented on a LogicTile Express 20MG (V2F-1XV7) daughterboard. This is based on the version that's currently available from the ARM DTS repository [1].

[1] git://linux-arm.org/arm-dts.git

---
 MAINTAINERS                                        |   1 +
 arch/arm64/boot/dts/arm/Makefile                   |   1 +
 .../boot/dts/arm/vexpress-v2f-1xv7-ca53x2.dts      | 191 +++++++++++++++++++++
 3 files changed, 193 insertions(+)
 create mode 100644 arch/arm64/boot/dts/arm/vexpress-v2f-1xv7-ca53x2.dts
MAINTAINERS +1 -0
index 0e6b09150aad..0556f03b829f 100644
@@ -1614,6 +1614,7 @@ M:	Lorenzo Pieralisi <[email protected]>
 L:	linux-arm-kernel at lists.infradead.org (moderated for non-subscribers)
 S:	Maintained
 F:	arch/arm/boot/dts/vexpress*
+F:	arch/arm64/boot/dts/arm/vexpress*
 F:	arch/arm/mach-vexpress/
 F:	*/*/vexpress*
 F:	*/*/*/vexpress*
arch/arm64/boot/dts/arm/Makefile +1 -0
index c5c98b91514e..bb3c07209676 100644
@@ -1,6 +1,7 @@
 dtb-$(CONFIG_ARCH_VEXPRESS) += foundation-v8.dtb
 dtb-$(CONFIG_ARCH_VEXPRESS) += juno.dtb juno-r1.dtb
 dtb-$(CONFIG_ARCH_VEXPRESS) += rtsm_ve-aemv8a.dtb
+dtb-$(CONFIG_ARCH_VEXPRESS) += vexpress-v2f-1xv7-ca53x2.dtb
 
 always		:= $(dtb-y)
 subdir-y	:= $(dts-dirs)
arch/arm64/boot/dts/arm/vexpress-v2f-1xv7-ca53x2.dts new file +191 -0

191 lines not on this page · raw message

Signature · 1 line
1.9.1
#4 lore raw

PATCH 3/3 arm64: dts: add device tree for ARM SMM-A53x2 on LogicTile Express 20MG

Quoted 5 lines · Sudeep Holla
arch/arm64/boot/dts/arm/vexpress-v2f-1xv7-ca53x2.dts new file +0 -0
new file mode 100644
index 000000000000..5b1d0181023b

[...]

arch/arm64/boot/dts/arm/vexpress-v2f-1xv7-ca53x2.dts line 189

Quoted 1 line
arch/arm64/boot/dts/arm/vexpress-v2f-1xv7-ca53x2.dts new file +1 -0
+		/include/ "../../../../arm/boot/dts/vexpress-v2m-rs1.dtsi"

Unfortunately this causes some issues for the split device tree repository[0], since things get moved around there.

This new file ends up at src/arm64/arm/vexpress-v2f-1xv7-ca53x2.dts while the include is at src/arm/vexpress-v2m-rs1.dtsi.

Any ideas how best to deal with this?

I'm willing to try and work around in the conversion scripts but while rewriting the paths to things on conversion is easy, rewriting the contents of the files themselves is much less so (or at least would be prohibitively expensive on input the size of Linux).

Cheers,
Ian.

[0]
https://git.kernel.org/cgit/linux/kernel/git/devicetree/devicetree-rebasing.git/

#5 lore raw

PATCH 3/3 arm64: dts: add device tree for ARM SMM-A53x2 on LogicTile Express 20MG

Quoted 8 lines · Ian Campbell
Quoted 5 lines · Sudeep Holla
arch/arm64/boot/dts/arm/vexpress-v2f-1xv7-ca53x2.dts new file +0 -0
new file mode 100644
index 000000000000..5b1d0181023b

[...]

Quoted 8 lines

arch/arm64/boot/dts/arm/vexpress-v2f-1xv7-ca53x2.dts line 189

Quoted 1 line
arch/arm64/boot/dts/arm/vexpress-v2f-1xv7-ca53x2.dts new file +1 -0
+		/include/ "../../../../arm/boot/dts/vexpress-v2m-rs1.dtsi"

Unfortunately this causes some issues for the split device tree repository[0], since things get moved around there.

This new file ends up at src/arm64/arm/vexpress-v2f-1xv7-ca53x2.dts while the include is at src/arm/vexpress-v2m-rs1.dtsi.

Ah sorry, wasn't aware of such a effort to move DTS files out.

Quoted 2 lines

Any ideas how best to deal with this?

Honestly no idea. We did discuss this internally with 2 options:

1. Specifying the relative path as done in this patch
2. Creating symlink, something like how kvm manages files today

I agree both are not elegant but (1) was chosen to be better of the two. We are open for any suggestions.

Regards,
Sudeep

#6 lore raw

PATCH 3/3 arm64: dts: add device tree for ARM SMM-A53x2 on LogicTile Express 20MG

Quoted 24 lines · Sudeep Holla
Quoted 8 lines · Ian Campbell
Quoted 5 lines · Sudeep Holla
arch/arm64/boot/dts/arm/vexpress-v2f-1xv7-ca53x2.dts new file +0 -0
new file mode 100644
index 000000000000..5b1d0181023b

[...]

Quoted 8 lines

arch/arm64/boot/dts/arm/vexpress-v2f-1xv7-ca53x2.dts line 189

Quoted 1 line
arch/arm64/boot/dts/arm/vexpress-v2f-1xv7-ca53x2.dts new file +1 -0
+		/include/ "../../../../arm/boot/dts/vexpress-v2m-rs1.dtsi"

Unfortunately this causes some issues for the split device tree repository[0], since things get moved around there.

This new file ends up at src/arm64/arm/vexpress-v2f-1xv7-ca53x2.dts while the include is at src/arm/vexpress-v2m-rs1.dtsi.

Ah sorry, wasn't aware of such a effort to move DTS files out.

Quoted 2 lines

Any ideas how best to deal with this?

Quoted 7 lines

Honestly no idea. We did discuss this internally with 2 options:

1. Specifying the relative path as done in this patch
2. Creating symlink, something like how kvm manages files today

I agree both are not elegant but (1) was chosen to be better of the two. We are open for any suggestions.

3. Some path for DTSI files which are not specific to a particular architecture, picked up by dtc by default (via -I in default flags)?

4. DTC_FLAGS += -I../../../../arm/boot/dts in arch/arm64/boot/dts/Makefile and using #include "vexpress....dtsi", with the split repo using a different -I in its build system (essentially codifying the relationship between arm64 and arm in the build system instead of the code).

IMHO 4 is better than 1 or 3, although still not great. Not sure about 2 myself (from the PoV of working in both contexts).

Ian.

#7 lore raw

cover arm/arm64: vexpress: DT updates for v4.2

In reply to Sudeep Holla

Hi Kevin,

Quoted 8 lines · Sudeep Holla

Hi ARM-SoC guys,

Here are couple of fixes for adding missing nodes(CCI and A7 PMUs) in TC2 device tree. The third patch is addition of support for FPGA based dual core A53 SMM platform. All the patches are posted on the list already, just putting them together. Let me know if you prefer a pull request.

I just realized that I copied this series to your Linaro email instead of kernel.org. Sorry for that, do you want me to repost ?

Regards,
Sudeep

#8 lore raw

cover arm/arm64: vexpress: DT updates for v4.2

Quoted 12 lines · Sudeep Holla

Hi Kevin,

Quoted 8 lines · Sudeep Holla

Hi ARM-SoC guys,

Here are couple of fixes for adding missing nodes(CCI and A7 PMUs) in TC2 device tree. The third patch is addition of support for FPGA based dual core A53 SMM platform. All the patches are posted on the list already, just putting them together. Let me know if you prefer a pull request.

Quoted 2 lines

I just realized that I copied this series to your Linaro email instead of kernel.org. Sorry for that, do you want me to repost ?

Not necessary.

This just came too late for the v4.2 cycle. I think the first two patches we can take as fixes for v4.2, but the 3rd one will likely need to wait for v4.3.

Kevin

#9 lore raw

cover arm/arm64: vexpress: DT updates for v4.2

Quoted 14 lines · Kevin Hilman
Quoted 12 lines · Sudeep Holla

Hi Kevin,

Quoted 8 lines · Sudeep Holla

Hi ARM-SoC guys,

Here are couple of fixes for adding missing nodes(CCI and A7 PMUs) in TC2 device tree. The third patch is addition of support for FPGA based dual core A53 SMM platform. All the patches are posted on the list already, just putting them together. Let me know if you prefer a pull request.

Quoted 8 lines
Quoted 2 lines

I just realized that I copied this series to your Linaro email instead of kernel.org. Sorry for that, do you want me to repost ?

Not necessary.

This just came too late for the v4.2 cycle. I think the first two patches we can take as fixes for v4.2, but the 3rd one will likely need to wait for v4.3.

Having a closer look, I just picked up all 3 for v4.2-rc.

Thanks,

Kevin

#10 lore raw

cover arm/arm64: vexpress: DT updates for v4.2

Quoted 15 lines · Kevin Hilman
Quoted 14 lines · Kevin Hilman
Quoted 12 lines · Sudeep Holla

Hi Kevin,

Quoted 8 lines · Sudeep Holla

Hi ARM-SoC guys,

Here are couple of fixes for adding missing nodes(CCI and A7 PMUs) in TC2 device tree. The third patch is addition of support for FPGA based dual core A53 SMM platform. All the patches are posted on the list already, just putting them together. Let me know if you prefer a pull request.

Quoted 8 lines
Quoted 8 lines
Quoted 2 lines

I just realized that I copied this series to your Linaro email instead of kernel.org. Sorry for that, do you want me to repost ?

Not necessary.

This just came too late for the v4.2 cycle. I think the first two patches we can take as fixes for v4.2, but the 3rd one will likely need to wait for v4.3.

Agreed, will try my best not to repeat that again.

Quoted 3 lines

Having a closer look, I just picked up all 3 for v4.2-rc.

Thanks.

Regards,
Sudeep