[PATCH 2/9] ARM: dts: socfpga: add Enclustra Intel AA1

Lothar Rubusch l.rubusch at gmail.com
Fri Sep 27 00:53:36 CEST 2024


On Thu, Sep 26, 2024 at 3:36 AM Marek Vasut <marex at denx.de> wrote:
>
> On 9/26/24 12:49 AM, Lothar Rubusch wrote:
>
> Hi,
[...]
> > Shall I add the files to my DTS patches and ask for upstreaming of the
> > handoff files into the kernel?
>
> Are the handoff files really used by Linux for anything , or do they
> contain various clock/pinmux/DRAM settings only used by U-Boot ? If the
> later, place them into U-Boot and include them from -u-boot.dtsi file.

Similar to the other socfpga targets, the handoff files are just
relevant to u-boot. So, I'll keep them in arch/arm/dts.

My particular situation then is as follows. The .dts file just
includes several .dtsi files. I place this .dts file into
arch/arm/dts. The first includes contain the "handoff setup". Then I
include adjustments (.dtsi fragments) to the selected base-board and
boot-mode. Both  can vary that's why I really would prefer to allow
for a Kconfig option on that, in contrary to provide a set of .dts
files for all possible combinations.

Example:
$ cat ./arch/arm/dts/socfpga_arria10_mercury_aa1_pe1_sdmmc-u-boot.dts
/dts-v1/;
/* will be taken from /arch/arm/dts */
#include "socfpga_arria10_mercury_aa1_handoff.h"
#include "socfpga_arria10-handoff.dtsi"
#include "socfpga_arria10_handoff_u-boot.dtsi"

/* will be taken from /dts/upstream */
#include "../../../dts/upstream/src/arm/intel/socfpga/socfpga_arria10_mercury_aa1.dtsi"
#include "../../../dts/upstream/src/arm/intel/socfpga/socfpga_enclustra_mercury_bootmode_sdmmc.dtsi"
#include "../../../dts/upstream/src/arm/intel/socfpga/socfpga_enclustra_mercury_pe1.dtsi"

Ideally, now I like to have the first part as default device tree.
DEFAULT_DEVICE_TREE=socfpga_arria10_mercury_aa1_pe1_sdmmc-u-boot.dts
When doing so, I noticed I cannot enable CONFIG_OF_UPSTREAM anymore,
the files in arch/arm/dts won't be found anymore.
Then I have the issue how to access the generic .dtsi files used for
boot-mode or base board. These files are identical to the kernel DT
why I would prefer to use them from dts/upstream. Including them like
../../../../../... works, but... I think there must be a better way.
Ideally I like to setup some Kconfig choice for base board selection
and one for boot-mode.

1.) In the documentation control.rst I read that the u-boot.dts is
combined of several elements. Is there a way to take this base .dts,
then add a base board .dtsi by Kconfig option, and similar a
boot-mode?

2.) Is there a way to enable CONFIG_OF_UPSTREAM and use explicit DTS
from arch/arm/dts for the u-boot?

3.) What would be the best possibility to have a u-boot.dts with
handoff setup in arch/arm/dts and append .dtsi files from the general
dts/upstream - in case are there other boards are doing something
similar?


More information about the U-Boot mailing list