Short version: I want to start converting m68k (including nommu) to use DT for booting so I can add few cool boards I have (e.g. dual 040/060 VME board..). I need ideas, help etc. Maybe if someone converted an m68k machine they are using to DT alongside me this would have some hope of actually happening? All of my WIP in-progress very messy code etc is here: https://github.com/fifteenhex/m68kjunk Longer version: As of today I have: - Modern (2024.07) u-boot fork that works on 000/030/040 real hardware/QEMU that supports booting a Linux ELF image. For nommu a FDT blob address is passed via a regiser, for mmu the normal bootinfo is created and the FDT is passed via a bootinfo tag. nommu never used bootinfo and doesn't need to. - A Linux branch for nommu that removes most of the current DragonBall code, makes it into a devicetree based machine and adds a bunch of drivers etc. This works in a fork of QEMU I have and on the real hardware. The DragonBall even has a working 1bpp framebuffer. The nommu branch also works on 010 and better. - A Linux branch for mmu that uses the crappy patches in this series and some other bits to start moving the MVME147 board over to using DT. - A buildroot fork that can build a 000 nommu userland etc. A patch to add support for building for 030 is already in buildroot, I plan to send one for 060 later. - A bunch of DragonBall machines, an MVME147 030 machine, an Eltec E27 dual socket VME board with one 040 at the moment but I have 060s to go in it once I work out the need jumper changes, some other 060 VME boards, Amigas... What I'm thinking: - We initially add passing of an FDT via bootinfo for mmu - Add support for a generic machine that can boot almost anything so I can bring up my new (to Linux) machines. - I will migrate MVME147 to device tree. - Some like minded person migrates a machine they have to device tree. :) - Maybe embed a FDT for machines that'll never get a bootloader that supports this and use the machine type to select the embedded FDT and move all of that stuff over without needing to mess with bootloaders. Issues I have: - The head.S code is real confusing, I'm not sure how I make this support a generic machine right now. - The head.S code sometimes gets stuck setting up the mmu on my MVME147 when the kernel binary layout changes. I thought for a long time my new code was wrong but then discovered just making the kernel bigger by adding some printk()s also caused it. Sorry for the wall of text. Cheers, Daniel Daniel Palmer (3): m68k: bootinfo: Add tag for FDT address m68k: bootinfo: Add generic machine type m68k: Add dt support (proof of concept) arch/m68k/Kconfig | 2 + arch/m68k/include/uapi/asm/bootinfo.h | 4 ++ arch/m68k/kernel/setup_mm.c | 63 ++++++++++++++++++++++++++- 3 files changed, 68 insertions(+), 1 deletion(-) -- 2.45.2