I have a custom board with an iMX7D which uses MIPI DSI to interface with a LCD display. The MIPI DSI power configuration is taken from the SABRESD dev board which was used to do initial dev work on the display drivers which are working. My device tree is a modified version of the SABRESD with all unused devices removed.
When Linux progresses through startup, I get the console output "mxsfb 30730000.lcdif: registered mxc display driver mipi_dsi_samsung" and then the board resets and U-Boot is restarted.
I have managed to debug the Kernel and discovered that the restart occurs when the the call to "imx_mipi_regulator_notify" in arch/arm/mach-imx/gpcv2.c is executed, specifically line 777. As I understand it, this call routes the 1.8V on the VDDA_1P8_01/02 pins to the VDDA_PHY_1P8 pin and enables the MIPI PHY. At this point the LDO_1P0D regulator has already been configured and volts are present at the VDDD_1P0_CAP pin.
Scoping the VDDA_PHY_1P8 pin shows the volts begin to rise to approx 280mV. Then the volts decay slightly for approx 1ms before rising to 500mV. This pattern is repeated twice more as the volts get to approx 840mV before the restart occurs.
I have checked for shorts on neighbouring balls and have isolated the MIPI DSI clock and data outputs.
Can anyone please shed any light on what's happening?
I'm using buildroot and the kernel is linux-rel_imx_4.9.x_1.0.0_ga. My device tree and kernel config files are attached.
Thanks for any help