All of lore.kernel.org
 help / color / mirror / Atom feed
* Sharing *.dtsi between Linux architectures?
@ 2013-07-12 19:58 ` Stephen Warren
  0 siblings, 0 replies; 8+ messages in thread
From: Stephen Warren @ 2013-07-12 19:58 UTC (permalink / raw)
  To: Rob Herring; +Cc: devicetree-discuss, ARM kernel mailing list

Is there a (possibly just proposed) mechanism in place to allow *.dts
from multiple Linux architectures to share common *.dtsi files?

As an example, consider two SoCs that are identical except for the CPU
complex. One uses an ARMv7 CPU (DTs in arch/arm/boot/dts/) and the other
uses some ARMv8 CPU (DTs in arch/am64/boot/dts/). It'd be useful to
define all the SoC components in some common .dtsi file to avoid
duplication, and have both arch/arm/boot/dts/tegraXXX.dtsi and
arch/arm64/boot/dts/tegraYYY.dtsi include that and add the relevant
CPU-related nodes.

I could imagine creating one of the following paths for this purpose:

arch/common/dts/
include/dt-common/
include/dtsi/

... or perhaps re-using the existing:

include/dt-bindings/

... although my original intent for that last location was just to house
header files that define constants that are part of binding definitions,
rather than actual structural content.

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Sharing *.dtsi between Linux architectures?
@ 2013-07-12 19:58 ` Stephen Warren
  0 siblings, 0 replies; 8+ messages in thread
From: Stephen Warren @ 2013-07-12 19:58 UTC (permalink / raw)
  To: linux-arm-kernel

Is there a (possibly just proposed) mechanism in place to allow *.dts
from multiple Linux architectures to share common *.dtsi files?

As an example, consider two SoCs that are identical except for the CPU
complex. One uses an ARMv7 CPU (DTs in arch/arm/boot/dts/) and the other
uses some ARMv8 CPU (DTs in arch/am64/boot/dts/). It'd be useful to
define all the SoC components in some common .dtsi file to avoid
duplication, and have both arch/arm/boot/dts/tegraXXX.dtsi and
arch/arm64/boot/dts/tegraYYY.dtsi include that and add the relevant
CPU-related nodes.

I could imagine creating one of the following paths for this purpose:

arch/common/dts/
include/dt-common/
include/dtsi/

... or perhaps re-using the existing:

include/dt-bindings/

... although my original intent for that last location was just to house
header files that define constants that are part of binding definitions,
rather than actual structural content.

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Sharing *.dtsi between Linux architectures?
  2013-07-12 19:58 ` Stephen Warren
@ 2013-07-12 20:17     ` Rob Herring
  -1 siblings, 0 replies; 8+ messages in thread
From: Rob Herring @ 2013-07-12 20:17 UTC (permalink / raw)
  To: Stephen Warren; +Cc: devicetree-discuss, ARM kernel mailing list

On 07/12/2013 02:58 PM, Stephen Warren wrote:
> Is there a (possibly just proposed) mechanism in place to allow *.dts
> from multiple Linux architectures to share common *.dtsi files?

Nothing proposed yet. There was some discussion at Connect (which I
missed part of). We're certainly going to start to have that issue
between arm and arm64 as well as probably FSL powerpc and arm.

I would like to move all dts files out of arch. I think we should think
about how we construct a separate dts repository and then move the
kernel structure in that direction (it's still believed there is too
much interdependency to have separate repo yet). I don't think cpu
architecture is the right top level structure for dts files. Probably
something by vendor and/or SOC family is more appropriate. Then you have
to figure out how to handle board vs. chip vendors.

> As an example, consider two SoCs that are identical except for the CPU
> complex. One uses an ARMv7 CPU (DTs in arch/arm/boot/dts/) and the other
> uses some ARMv8 CPU (DTs in arch/am64/boot/dts/). It'd be useful to
> define all the SoC components in some common .dtsi file to avoid
> duplication, and have both arch/arm/boot/dts/tegraXXX.dtsi and
> arch/arm64/boot/dts/tegraYYY.dtsi include that and add the relevant
> CPU-related nodes.
> 
> I could imagine creating one of the following paths for this purpose:
> 
> arch/common/dts/
> include/dt-common/
> include/dtsi/
> 
> ... or perhaps re-using the existing:
> 
> include/dt-bindings/
> 
> ... although my original intent for that last location was just to house
> header files that define constants that are part of binding definitions,
> rather than actual structural content.

I think we should stick with defines there.

Rob

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Sharing *.dtsi between Linux architectures?
@ 2013-07-12 20:17     ` Rob Herring
  0 siblings, 0 replies; 8+ messages in thread
From: Rob Herring @ 2013-07-12 20:17 UTC (permalink / raw)
  To: linux-arm-kernel

On 07/12/2013 02:58 PM, Stephen Warren wrote:
> Is there a (possibly just proposed) mechanism in place to allow *.dts
> from multiple Linux architectures to share common *.dtsi files?

Nothing proposed yet. There was some discussion at Connect (which I
missed part of). We're certainly going to start to have that issue
between arm and arm64 as well as probably FSL powerpc and arm.

I would like to move all dts files out of arch. I think we should think
about how we construct a separate dts repository and then move the
kernel structure in that direction (it's still believed there is too
much interdependency to have separate repo yet). I don't think cpu
architecture is the right top level structure for dts files. Probably
something by vendor and/or SOC family is more appropriate. Then you have
to figure out how to handle board vs. chip vendors.

> As an example, consider two SoCs that are identical except for the CPU
> complex. One uses an ARMv7 CPU (DTs in arch/arm/boot/dts/) and the other
> uses some ARMv8 CPU (DTs in arch/am64/boot/dts/). It'd be useful to
> define all the SoC components in some common .dtsi file to avoid
> duplication, and have both arch/arm/boot/dts/tegraXXX.dtsi and
> arch/arm64/boot/dts/tegraYYY.dtsi include that and add the relevant
> CPU-related nodes.
> 
> I could imagine creating one of the following paths for this purpose:
> 
> arch/common/dts/
> include/dt-common/
> include/dtsi/
> 
> ... or perhaps re-using the existing:
> 
> include/dt-bindings/
> 
> ... although my original intent for that last location was just to house
> header files that define constants that are part of binding definitions,
> rather than actual structural content.

I think we should stick with defines there.

Rob

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Sharing *.dtsi between Linux architectures?
  2013-07-12 20:17     ` Rob Herring
@ 2013-07-12 20:23       ` Jean-Christophe PLAGNIOL-VILLARD
  -1 siblings, 0 replies; 8+ messages in thread
From: Jean-Christophe PLAGNIOL-VILLARD @ 2013-07-12 20:23 UTC (permalink / raw)
  To: Rob Herring
  Cc: devicetree-discuss, Jean-Christophe PLAGNIOL-VILLARD,
	ARM kernel mailing list, Stephen Warren


On Jul 13, 2013, at 4:17 AM, Rob Herring <robherring2@gmail.com> wrote:

> On 07/12/2013 02:58 PM, Stephen Warren wrote:
>> Is there a (possibly just proposed) mechanism in place to allow *.dts
>> from multiple Linux architectures to share common *.dtsi files?
> 
> Nothing proposed yet. There was some discussion at Connect (which I
> missed part of). We're certainly going to start to have that issue
> between arm and arm64 as well as probably FSL powerpc and arm.
> 
> I would like to move all dts files out of arch. I think we should think
> about how we construct a separate dts repository and then move the
> kernel structure in that direction (it's still believed there is too
> much interdependency to have separate repo yet). I don't think cpu
> architecture is the right top level structure for dts files. Probably
> something by vendor and/or SOC family is more appropriate. Then you have
> to figure out how to handle board vs. chip vendors.
> 
>> As an example, consider two SoCs that are identical except for the CPU
>> complex. One uses an ARMv7 CPU (DTs in arch/arm/boot/dts/) and the other
>> uses some ARMv8 CPU (DTs in arch/am64/boot/dts/). It'd be useful to
>> define all the SoC components in some common .dtsi file to avoid
>> duplication, and have both arch/arm/boot/dts/tegraXXX.dtsi and
>> arch/arm64/boot/dts/tegraYYY.dtsi include that and add the relevant
>> CPU-related nodes.
>> 
>> I could imagine creating one of the following paths for this purpose:
>> 
>> arch/common/dts/
>> include/dt-common/
>> include/dtsi/
>> 
>> ... or perhaps re-using the existing:
>> 
>> include/dt-bindings/
>> 
>> ... although my original intent for that last location was just to house
>> header files that define constants that are part of binding definitions,
>> rather than actual structural content.
> 
> I think we should stick with defines there.

I think it's to do it how move the dt simple in dt directory at the root of
the kernel tree

this will simplify the move to out of tree

and include/dt-bindings/ to dt/include/dt-bindings/ and just handle the include
via a -i in the Makefile

Best Regards,
J.
> 
> Rob
> 
> 
> _______________________________________________
> linux-arm-kernel mailing list
> linux-arm-kernel@lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Sharing *.dtsi between Linux architectures?
@ 2013-07-12 20:23       ` Jean-Christophe PLAGNIOL-VILLARD
  0 siblings, 0 replies; 8+ messages in thread
From: Jean-Christophe PLAGNIOL-VILLARD @ 2013-07-12 20:23 UTC (permalink / raw)
  To: linux-arm-kernel


On Jul 13, 2013, at 4:17 AM, Rob Herring <robherring2@gmail.com> wrote:

> On 07/12/2013 02:58 PM, Stephen Warren wrote:
>> Is there a (possibly just proposed) mechanism in place to allow *.dts
>> from multiple Linux architectures to share common *.dtsi files?
> 
> Nothing proposed yet. There was some discussion at Connect (which I
> missed part of). We're certainly going to start to have that issue
> between arm and arm64 as well as probably FSL powerpc and arm.
> 
> I would like to move all dts files out of arch. I think we should think
> about how we construct a separate dts repository and then move the
> kernel structure in that direction (it's still believed there is too
> much interdependency to have separate repo yet). I don't think cpu
> architecture is the right top level structure for dts files. Probably
> something by vendor and/or SOC family is more appropriate. Then you have
> to figure out how to handle board vs. chip vendors.
> 
>> As an example, consider two SoCs that are identical except for the CPU
>> complex. One uses an ARMv7 CPU (DTs in arch/arm/boot/dts/) and the other
>> uses some ARMv8 CPU (DTs in arch/am64/boot/dts/). It'd be useful to
>> define all the SoC components in some common .dtsi file to avoid
>> duplication, and have both arch/arm/boot/dts/tegraXXX.dtsi and
>> arch/arm64/boot/dts/tegraYYY.dtsi include that and add the relevant
>> CPU-related nodes.
>> 
>> I could imagine creating one of the following paths for this purpose:
>> 
>> arch/common/dts/
>> include/dt-common/
>> include/dtsi/
>> 
>> ... or perhaps re-using the existing:
>> 
>> include/dt-bindings/
>> 
>> ... although my original intent for that last location was just to house
>> header files that define constants that are part of binding definitions,
>> rather than actual structural content.
> 
> I think we should stick with defines there.

I think it's to do it how move the dt simple in dt directory at the root of
the kernel tree

this will simplify the move to out of tree

and include/dt-bindings/ to dt/include/dt-bindings/ and just handle the include
via a -i in the Makefile

Best Regards,
J.
> 
> Rob
> 
> 
> _______________________________________________
> linux-arm-kernel mailing list
> linux-arm-kernel at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Sharing *.dtsi between Linux architectures?
  2013-07-12 19:58 ` Stephen Warren
@ 2013-07-12 22:26     ` Russell King - ARM Linux
  -1 siblings, 0 replies; 8+ messages in thread
From: Russell King - ARM Linux @ 2013-07-12 22:26 UTC (permalink / raw)
  To: Stephen Warren; +Cc: devicetree-discuss, ARM kernel mailing list, Rob Herring

On Fri, Jul 12, 2013 at 01:58:35PM -0600, Stephen Warren wrote:
> Is there a (possibly just proposed) mechanism in place to allow *.dts
> from multiple Linux architectures to share common *.dtsi files?

Don't forget that the long term goal is to move these files out of the
kernel source, which means that they'll be a separately managed project,
possibly with a different file structure.

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Sharing *.dtsi between Linux architectures?
@ 2013-07-12 22:26     ` Russell King - ARM Linux
  0 siblings, 0 replies; 8+ messages in thread
From: Russell King - ARM Linux @ 2013-07-12 22:26 UTC (permalink / raw)
  To: linux-arm-kernel

On Fri, Jul 12, 2013 at 01:58:35PM -0600, Stephen Warren wrote:
> Is there a (possibly just proposed) mechanism in place to allow *.dts
> from multiple Linux architectures to share common *.dtsi files?

Don't forget that the long term goal is to move these files out of the
kernel source, which means that they'll be a separately managed project,
possibly with a different file structure.

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2013-07-12 22:26 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-07-12 19:58 Sharing *.dtsi between Linux architectures? Stephen Warren
2013-07-12 19:58 ` Stephen Warren
     [not found] ` <51E05FEB.1090308-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2013-07-12 20:17   ` Rob Herring
2013-07-12 20:17     ` Rob Herring
2013-07-12 20:23     ` Jean-Christophe PLAGNIOL-VILLARD
2013-07-12 20:23       ` Jean-Christophe PLAGNIOL-VILLARD
2013-07-12 22:26   ` Russell King - ARM Linux
2013-07-12 22:26     ` Russell King - ARM Linux

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.