[PATCH 2/5] arm64, thunder: Add initial dts for Cavium Thunder SoC
From: Robert Richter <hidden>
Date: 2014-08-29 12:12:21
Also in:
linux-devicetree, lkml
On 28.08.14 16:01:08, Olof Johansson wrote:
On Thu, Aug 28, 2014 at 11:14 AM, Robert Richter [off-list ref] wrote:quoted
On 28.08.14 09:31:43, Olof Johansson wrote:quoted
On Thu, Aug 28, 2014 at 9:25 AM, Mark Rutland [off-list ref] wrote:quoted
On Thu, Aug 28, 2014 at 05:15:56PM +0100, Robert Richter wrote:quoted
Olof, On 30.07.14 11:14:23, Olof Johansson wrote:quoted
On Wed, Jul 30, 2014 at 8:06 AM, Robert Richter [off-list ref] wrote:quoted
From: Radha Mohan Chintakuntla <redacted> Add initial device tree nodes for Cavium Thunder SoCs with support of 48 cores and gicv3. The dts file requires further changes, esp. for pci, gicv3-its and smmu. This changes will be added later together with the device drivers. Signed-off-by: Radha Mohan Chintakuntla <redacted> Signed-off-by: Robert Richter <redacted> --- arch/arm64/boot/dts/Makefile | 1 + arch/arm64/boot/dts/thunder-88xx.dts | 387 +++++++++++++++++++++++++++++++++++ 2 files changed, 388 insertions(+) create mode 100644 arch/arm64/boot/dts/thunder-88xx.dtsdiff --git a/arch/arm64/boot/dts/Makefile b/arch/arm64/boot/dts/Makefile index c52bdb051f66..f8001a62029c 100644 --- a/arch/arm64/boot/dts/Makefile +++ b/arch/arm64/boot/dts/Makefile@@ -1,3 +1,4 @@ +dtb-$(CONFIG_ARCH_THUNDER) += thunder-88xx.dtb dtb-$(CONFIG_ARCH_VEXPRESS) += rtsm_ve-aemv8a.dtb foundation-v8.dtb dtb-$(CONFIG_ARCH_XGENE) += apm-mustang.dtbOh, and: Let's fix the mistake we made on 32-bit here (that we can't undo unless we move all dts files now, which is too much churn), and put each SoC vendor in its own subdirectory. So, please add a arch/arm64/boot/dts/cavium/ directory, add a Makefile and the dts there. We should move vexpress under arm/ and xgene under apm/ too.I was looking into this. It turned out that this would introduce more pain than it solves. The problem with introducing vendor subdirs for .dts files is that this will require also subdirs for .dtb files to avoid name conflicts. This means that dtb files are no longer in a single directory. Current build scripts and makefiles rely on this. E.g.: scripts/Makefile.lib:$(obj)/%.dtb.S: $(obj)/%.dtb Thus, the introduction of vendor subdirs is not easy to implement and may break existing workflows. Also, no other arch has vendor subdirs. A solution would be to have a naming scheme for dts files which requires the vendor in the file name, such as cavium-thunder-88xx.dtb. Though, these long names may look a bit ugly. Hmm... Any thoughts?That would make it possible to search, but the number of files in one place might become somewhat overwelming (which I believe was Olof's concern). Olof, thoughts?Yeah, on 32 bit we've got an ever-growing and very large directory today that is becoming a headache. Carving it up in directories to reduce plain directory size would come a long way. I think we would catch name conflicts quickly with the automatic builders we have today -- and it's likely that the files will have a platform prefix anyway so it shouldn't be a big issue. I think we can live with that.So you mean, having the source files with subdirectories, but the dtb files in a single obj dir?
It seems it will be easier to have also subdirs for objs.
Thinking about it a bit more, the even more obvious solution that I for some reason didn't think of at the time, is to have the dtbs_install target create the appropriate subdirectories on the install side, so that the structure is preserved. That comes a bit closer to how modules are handled as well.
Yes, dtbs_install target would be useful. Will come with a solution for this too. -Robert