Hello Frank,
I can understand the situation you face.
>> Isn't that enough to hold & run the entire U-Boot image?
Yes, right, 512KB RAM is supported in i.MX8MM, it is enough for size of u-boot. BUT for i.MX8MM booting flow, the 512KB can't be fully assigned to u-boot, you can see the point from reference manual. So the assumption is not feasbile.
>>In which case it should be quite possible for U-Boot to correctly configure the PMIC before it initializes the DDR4 DRAM?
DDR4 requires 1.2V, which means as soon as power on, 1.2V should supply DDR4, BUT at this time, voltage is 1.1V , not 1.2V, DDR4 is not initialized, can't be used. and software can't be loaded into DDR4 to run, which means we don't have any chance to tune 1.1V to 1.2V.
[Summary]
From above analasys, only one condition can solve the problem, that is DDR4 can be initialized at default power 1.1V. Then after u-boot startup, we can tune it to 1.2V. BUT can DDR4 be normally initialized at 1.1v supply? I can't really ensure it.
>> Suggestions for your situation
Please give up DDR4, and consider LPDD4!
PCA9450B + I.MX8MM + LPDDR4 solution can solve all problems you encountered.
Hope my answer is helpful to you.
Have a nice day!
B.R,
Weidong