Hi Apurva! On November 30, 2023 thus sayeth Apurva Nandan: > Add J784S4 initialization files for initial SPL boot. > > Signed-off-by: Hari Nagalla <hnaga...@ti.com> > [ add firewall configurations and change the R5 MCU scratchpad ] > Signed-off-by: Manorit Chawdhry <m-chawd...@ti.com> > Signed-off-by: Dasnavis Sabiya <sabiy...@ti.com> > Signed-off-by: Apurva Nandan <a-nan...@ti.com> > --- > arch/arm/mach-k3/Kconfig | 16 +- > arch/arm/mach-k3/Makefile | 2 + > arch/arm/mach-k3/arm64-mmu.c | 52 +++ > arch/arm/mach-k3/include/mach/hardware.h | 4 + > .../mach-k3/include/mach/j784s4_hardware.h | 60 ++++ > arch/arm/mach-k3/include/mach/j784s4_spl.h | 47 +++ > arch/arm/mach-k3/include/mach/spl.h | 4 + > arch/arm/mach-k3/j784s4_fdt.c | 15 + > arch/arm/mach-k3/j784s4_init.c | 338 ++++++++++++++++++ > arch/arm/mach-k3/r5/Makefile | 1 + > 10 files changed, 532 insertions(+), 7 deletions(-) > create mode 100644 arch/arm/mach-k3/include/mach/j784s4_hardware.h > create mode 100644 arch/arm/mach-k3/include/mach/j784s4_spl.h > create mode 100644 arch/arm/mach-k3/j784s4_fdt.c > create mode 100644 arch/arm/mach-k3/j784s4_init.c >
... > + if (IS_ENABLED(CONFIG_TARGET_J784S4_R5_EVM)) { > + ret = uclass_get_device_by_name(UCLASS_MISC, "msmc", &dev); > + if (ret) > + panic("Probe of msmc failed: %d\n", ret); > + > + ret = uclass_get_device(UCLASS_RAM, 0, &dev); > + if (ret) > + panic("DRAM 0 init failed: %d\n", ret); > + > + ret = uclass_next_device_err(&dev); > + if (ret) > + panic("DRAM 1 init failed: %d\n", ret); > + > + ret = uclass_next_device_err(&dev); > + if (ret) > + panic("DRAM 2 init failed: %d\n", ret); > + > + ret = uclass_next_device_err(&dev); > + if (ret) > + panic("DRAM 3 init failed: %d\n", ret); > + } I don't know if this is is the right approach. I can see situations where people will not have all these controllers utilized or would want to artificially remove them for some reason. All of that to say I don't thing we can rely on there being 4 UCLASS_RAM devices present at all times in the device tree. ~Bryan