Subject: [PATCH 2/5] arm64, thunder: Add initial dts for Cavium Thunder SoC

From: [email-masked] (Robert Richter)
Date: Thu, 28 Aug 2014 18:15:56 +0200

Olof,

On 30.07.14 11:14:23, Olof Johansson wrote:
> On Wed, Jul 30, 2014 at 8:06 AM, Robert Richter <[email-masked]> wrote:
> > From: Radha Mohan Chintakuntla <[email-masked]>
> >
> > 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 <[email-masked]>
> > Signed-off-by: Robert Richter <[email-masked]>
> > ---
> >  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.dts
> >
> > diff --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.dtb
> 
> Oh, 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?

Thanks,

-Robert