Hi,
recently we started replacing i.MX9352 (full-featured SoC) with i.MX9302 (low cost alternative).
We noticed that U-Boot disables imx93-lpm driver when it detects VOLT_LOW_DRIVE part:
int ft_system_setup(void *blob, struct bd_info *bd)
{
if (fixup_thermal_trips(blob, "cpu-thermal"))
printf("Failed to update cpu-thermal trip(s)");
if (is_imx9351() || is_imx9331() || is_imx9321() || is_imx9311() || is_imx9301())
disable_cpu_nodes(blob, 1);
if (is_imx9332() || is_imx9331() || is_imx9312() || is_imx9311() || is_imx9302() ||
is_imx9301())
disable_npu_nodes(blob);
if (is_imx9101()) {
disable_eqos_nodes(blob);
disable_flexcan_nodes(blob);
disable_parallel_display_nodes(blob);
}
if (is_voltage_mode(VOLT_LOW_DRIVE)) {
low_drive_freq_update(blob);
disable_lpm(blob);
}
return ft_add_optee_node(blob, bd);
}
Note the disable_lpm(blob) function call in case of VOLT_LOW_DRIVE voltage mode is detected.
However, lpddr4x_timing.c for i.MX9302 defines 3 FSP (frequency set-points)?
If we re-enable imx93-lpm driver and test with:
root@board:sys# echo 1 > /sys/devices/platform/imx93-lpm/mode
Board gets stuck and only hard-reset helps!
Question: Why is LPM not supported on i.MX9302? Are you actively working on supporting this feature?
Thanks,
BR,
Primoz
Hi
Please refer the git log
LFU-586-2 imx93: Add Low performance parts 9302/9301 support
Add support for iMX93 low performance parts 9302 and 9301 which
restrict to low drive voltage only.
The parts run A55 max speed at 900Mhz and M33 at 133Mhz, have NPU
and A55 core1 (9301) disabled.
Best Regards
Zhiming