On Thu, Dec 28, 2023 at 03:09:12PM +0000, Simon Glass wrote: > Hi Tom, Sumit, > > On Thu, Dec 28, 2023 at 2:03 PM Tom Rini <tr...@konsulko.com> wrote: > > > > On Thu, Dec 28, 2023 at 01:37:26PM +0000, Simon Glass wrote: > > > Hi Sumit, > > > > > > On Thu, Dec 28, 2023 at 11:58 AM Sumit Garg <sumit.g...@linaro.org> wrote: > > > > > > > > Allow platform owners to mirror devicetree files from devitree-rebasing > > > > directory into dts/arch/$(ARCH) (special case for dts/arch/arm64). Then > > > > build then along with any *-u-boot.dtsi file present in arch/$(ARCH)/dts > > > > directory. Also add a new Makefile for arm64. > > > > > > > > This will help easy migration for platforms which currently are > > > > compliant > > > > with upstream Linux kernel devicetree files. > > > > > > > > Signed-off-by: Sumit Garg <sumit.g...@linaro.org> > > > > --- > > > > > > > > Changes in v3: > > > > -------------- > > > > - Minor commit message update > > > > > > > > Changes in v2: > > > > -------------- > > > > - s/DEVICE_TREE_LOC/dt_dir/ and s/U-boot/U-Boot/ > > > > > > > > dts/Kconfig | 11 +++++++++++ > > > > dts/Makefile | 17 ++++++++++++++--- > > > > dts/arch/arm64/Makefile | 14 ++++++++++++++ > > > > 3 files changed, 39 insertions(+), 3 deletions(-) > > > > create mode 100644 dts/arch/arm64/Makefile > > > > > > > > diff --git a/dts/Kconfig b/dts/Kconfig > > > > index 00c0aeff893..e58c1c6f2ab 100644 > > > > --- a/dts/Kconfig > > > > +++ b/dts/Kconfig > > > > @@ -85,6 +85,17 @@ config OF_LIVE > > > > enables a live tree which is available after relocation, > > > > and can be adjusted as needed. > > > > > > > > +config OF_UPSTREAM > > > > + bool "Enable use of devicetree imported from Linux kernel > > > > release" > > > > + help > > > > + Traditionally, U-Boot platforms used to have their custom > > > > devicetree > > > > + files or copy devicetree files from Linux kernel which are > > > > hard to > > > > + maintain and can usually get out-of-sync from Linux kernel. > > > > This > > > > + option enables platforms to migrate to devicetree-rebasing > > > > repo where > > > > + a regular sync will be maintained every major Linux kernel > > > > release > > > > + cycle. However, platforms can still have some custom u-boot > > > > specific > > > > + bits maintained as part of *-u-boot.dtsi files. > > > > > > My only other suggestion here is to mention that this should be set in > > > Kconfig, for the SoC as a whole. So I believe that means that it > > > should be hidden, with no string for the 'bool': > > > > > > bool # Enable use of devicetree imported from Linux kernel release > > > > I think we can just keep prompting for it now, to make the transition > > easier, before this option just goes away in time, hopefully. > > > > > Also, this doesn't seem to work for me. Before this series I get these > > > files when building firefly-rk3399: > > > > > > rk3399-eaidk-610.dtb rk3399-khadas-edge-v.dtb > > > rk3399-orangepi.dtb rk3399-rock-pi-4a.dtb > > > rk3399-evb.dtb rk3399-leez-p710.dtb > > > rk3399-pinebook-pro.dtb rk3399-rock-pi-4c.dtb > > > rk3399-ficus.dtb rk3399-nanopc-t4.dtb > > > rk3399-pinephone-pro.dtb rk3399-rockpro64.dtb > > > rk3399-firefly.dtb rk3399-nanopi-m4-2gb.dtb > > > rk3399pro-rock-pi-n10.dtb rk3399-roc-pc.dtb > > > rk3399-gru-bob.dtb rk3399-nanopi-m4b.dtb > > > rk3399-puma-haikou.dtb rk3399-roc-pc-mezzanine.dtb > > > rk3399-gru-kevin.dtb rk3399-nanopi-m4.dtb > > > rk3399-rock-4c-plus.dtb > > > rk3399-khadas-edge-captain.dtb rk3399-nanopi-neo4.dtb > > > rk3399-rock-4se.dtb > > > rk3399-khadas-edge.dtb rk3399-nanopi-r4s.dtb > > > rk3399-rock960.dtb > > > > > > Afterwards I get this: > > > > > > make[3]: *** No rule to make target > > > 'dts/arch/arm64/rk3399-firefly.dtb', needed by 'dtbs'. Stop. > > > > > > So I set this manually for that one board: > > > > > > CONFIG_DEFAULT_DEVICE_TREE="rockchip/rk3399-firefly" > > > > > > and get: > > > > > > make[3]: *** No rule to make target > > > 'dts/arch/arm64/rockchip/rk3399-firefly.dtb', needed by 'dtbs'. Stop. > > > > > > I am not sure how to fix this, nor how this can be made to build all > > > the DTs for rk3399, as it does today. > > > > Looking at the patch for amlogic boards, you need to make the link to > > devicetree-rebasing inside dts/... > > OK, let me give up on rk3399 for now...that doesn't seem to work even > with the link. > > Using odroid-c2 with -next I see: > > $ ls /tmp/b/odroid-c2/arch/arm/dts/ > meson-a1-ad401.dtb meson-g12b-odroid-n2l.dtb > meson-gxl-s905x-libretech-cc.dtb > meson-axg-jethome-jethub-j100.dtb meson-g12b-odroid-n2-plus.dtb > meson-gxl-s905x-libretech-cc-v2.dtb > meson-axg-s400.dtb meson-g12b-radxa-zero2.dtb > meson-gxl-s905x-p212.dtb > meson-g12a-radxa-zero.dtb meson-gxbb-kii-pro.dtb > meson-gxm-gt1-ultimate.dtb > meson-g12a-sei510.dtb meson-gxbb-nanopi-k2.dtb > meson-gxm-khadas-vim2.dtb > meson-g12a-u200.dtb meson-gxbb-odroidc2.dtb > meson-gxm-s912-libretech-pc.dtb > meson-g12b-a311d-bananapi-m2s.dtb meson-gxbb-p200.dtb > meson-gxm-wetek-core2.dtb > meson-g12b-a311d-khadas-vim3.dtb meson-gxbb-p201.dtb > meson-sm1-bananapi-m2-pro.dtb > meson-g12b-bananapi-cm4-cm4io.dtb meson-gxbb-wetek-hub.dtb > meson-sm1-bananapi-m5.dtb > meson-g12b-gsking-x.dtb meson-gxbb-wetek-play2.dtb > meson-sm1-khadas-vim3l.dtb > meson-g12b-gtking.dtb meson-gxl-s805x-libretech-ac.dtb > meson-sm1-odroid-c4.dtb > meson-g12b-gtking-pro.dtb meson-gxl-s905d-libretech-pc.dtb > meson-sm1-odroid-hc4.dtb > meson-g12b-odroid-go-ultra.dtb > meson-gxl-s905w-jethome-jethub-j80.dtb meson-sm1-sei610.dtb > meson-g12b-odroid-n2.dtb meson-gxl-s905x-khadas-vim.dtb > $ > With this series (sort of, since I am really not sure how to > cherry-pick the commits from the PR) I see nothing: > > $ ls /tmp/b/odroid-c2/arch/arm/dts/ > $ > > This shows some of the files: > > $ find /tmp/b/odroid-c2/ -name "*.dtb" > /tmp/b/odroid-c2/dts/dt.dtb > /tmp/b/odroid-c2/dts/arch/arm64/amlogic/meson-gxbb-odroidc2.dtb > /tmp/b/odroid-c2/dts/arch/arm64/amlogic/meson-gxbb-nanopi-k2.dtb > /tmp/b/odroid-c2/dts/arch/arm64/amlogic/meson-gxbb-wetek-play2.dtb > /tmp/b/odroid-c2/dts/arch/arm64/amlogic/meson-gxbb-kii-pro.dtb > /tmp/b/odroid-c2/dts/arch/arm64/amlogic/meson-gxbb-p200.dtb > /tmp/b/odroid-c2/dts/arch/arm64/amlogic/meson-gxbb-p201.dtb > /tmp/b/odroid-c2/dts/arch/arm64/amlogic/meson-gxbb-wetek-hub.dtb > /tmp/b/odroid-c2/u-boot.dtb > > but where are the rest? Also, is it possible to put the output .dtb > files into the same directory? Otherwise we may have some pain with > binman.
What do you mean by same directory? But maybe also, what's an example of a board you think might end up having problems? Converting that in a follow-up series is likely a good idea, to highlight and address these issues sooner rather than later. -- Tom
signature.asc
Description: PGP signature