[Bug 297785] arm: AM335x device trees cannot be built on stable/15; three fixes need MFC from main

[email protected]
Newsgroups gmane.os.freebsd.devel.arm
Message-ID <[email protected]/bugzilla/>
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=297785

            Bug ID: 297785
           Summary: arm: AM335x device trees cannot be built on stable/15;
                    three fixes need MFC from main
           Product: Base System
           Version: 15.1-STABLE
          Hardware: Any
                OS: Any
            Status: New
          Severity: Affects Some People
          Priority: ---
         Component: arm
          Assignee: [email protected]
          Reporter: [email protected]

DESCRIPTION

sys/modules/dtb/am335x fails to build on stable/15, releng/15.0 and
releng/15.1:

    make[4]: don't know how to make am335x-bone.dts. Stop
    make[4]: stopped making "all" in /usr/src/sys/modules/dtb/am335x

The imported Linux device tree moved its sources into vendor subdirectories, so
the files now live at sys/contrib/device-tree/src/arm/ti/omap/am335x-*.dts,
while the stable/15 Makefile still lists them by bare filename.

Consequence: no AM335x DTB can be built on any 15.x branch.  This affects
BeagleBone Black, BeagleBone Green, BeagleBone Blue and PocketBeagle equally,
and is independent of any driver work.

The difference is visible directly in sys/modules/dtb/am335x/Makefile.
On main:

    DTS=        \
        ti/omap/am335x-bone.dts \
        ti/omap/am335x-boneblack.dts \
        ...

On stable/15, releng/15.1 and releng/15.0:

    DTS=        \
        am335x-bone.dts \
        am335x-boneblack.dts \
        ...


THE THREE COMMITS

All three fixes already exist in main and appear never to have been merged
back:

    8f0b21089483  Update path for TI Am335x device trees   2025-12-05  D53890
    95d8576d8cc7  make_dtb.sh: add include path            2025-12-11  D53887
    9c5b56aa03cc  sys/dts/arm/ufs.dts: fix compile error   2025-12-05  D53894

All three are by Oskar Holmlund ([email protected]), approved by manu (mentor).

All three are required:

  - The first alone leaves ufw.dts failing in the preprocessor.
  - The second alone does not help ufw.dts, because that file lives in
    sys/dts/arm rather than beside the relocated .dtsi.
  - The third changes #include "am33xx.dtsi" to
    #include "ti/omap/am33xx.dtsi".  Note its commit subject says ufs.dts
    but it actually modifies sys/dts/arm/ufw.dts; the typo makes it hard to
    find by search, which may be why it was missed.


STILL UNMERGED

Confirmed against stable/15 at 79f020ffcad2 (2026-08-22): none of the three
subjects appear in the stable/15 log, and git cherry reports all three as not
upstream.  They have been in main for roughly eight months.  releng/15.0 and
releng/15.1 carry the same unfixed Makefile.


14.x IS NOT AFFECTED

stable/14 has not imported the relocated device tree.  There,
am335x-bone.dts is still at sys/contrib/device-tree/src/arm/am335x-bone.dts,
so the bare filenames in its Makefile are correct and the module builds.  The
same holds for releng/14.5 and releng/14.4.  No MFC to any 14.x branch is
needed or wanted; only the 15.x branches carry the mismatch.


STEPS TO REPRODUCE

    git checkout stable/15
    make TARGET=arm TARGET_ARCH=armv7 buildkernel \
        KERNCONF=<any config including the am335x dtb module>


VERIFICATION PERFORMED

The three commits were cherry-picked onto stable/15 at 6b25004d1d18.  They
applied with no conflicts, and all eight DTBs then build:

    am335x-bone.dtb                am335x-boneblack.dtb
    am335x-boneblack-wireless.dtb  am335x-boneblue.dtb
    am335x-bonegreen.dtb           am335x-bonegreen-wireless.dtb
    am335x-pocketbeagle.dtb        ufw.dtb

Tested while bringing FreeBSD 15.1-STABLE up on a BeagleBone Black Rev B3,
where these were a prerequisite for booting at all.  That port reaches
multi-user with no device attach failures and survived six consecutive reboot
soak cycles.


REQUESTED ACTION

MFC 8f0b21089483, 95d8576d8cc7 and 9c5b56aa03cc to stable/15.

That is the only branch being requested.  releng/15.0 and releng/15.1 are
affected but are frozen release branches; they would pick this up through a
future release cut from stable/15 rather than by MFC.  No 14.x branch needs
it, per the section above.

No new code is proposed in this PR.

-- 
You are receiving this mail because:
You are the assignee for the bug.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.