mail archive of the barebox mailing list
 help / color / mirror / Atom feed
* imx8: 'struct dram_timing_info' incompatibilities
@ 2024-04-29 16:32 Enrico Scholz
  2024-04-29 17:41 ` Ahmad Fatoum
  0 siblings, 1 reply; 2+ messages in thread
From: Enrico Scholz @ 2024-04-29 16:32 UTC (permalink / raw)
  To: barebox

Hi,

commit e6234f90 ("ddr: Initial i.MX9 support") adds unconditionally
fields to the dram timing info object (include/soc/imx/ddr.h):

|  struct dram_timing_info {
|       ...
| +	/* fsp config */
| +	struct dram_fsp_cfg *fsp_cfg;
| +	unsigned int fsp_cfg_num;


However, the iMX8 ATF ([1]) does not have this field and DRAM related
SMC calls like

|	arm_smccc_smc(FSL_SIP_DDR_DVFS, 0x11, i, 0, 0, 0, 0, 0, &res);

in the NXP busfreq-imx8mq.c driver will fail [2].


Am I missing something here or should the dram_timing_info table somehow
translated between these architectures (e.g. in dram_config_save())?



Enrico

Footnotes:
[1]  https://github.com/nxp-imx/imx-atf/blob/lf_v2.8/plat/imx/imx8m/include/dram.h

[2]  typical message: "imx_busfreq: probe of busfreq failed with error -22"



^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: imx8: 'struct dram_timing_info' incompatibilities
  2024-04-29 16:32 imx8: 'struct dram_timing_info' incompatibilities Enrico Scholz
@ 2024-04-29 17:41 ` Ahmad Fatoum
  0 siblings, 0 replies; 2+ messages in thread
From: Ahmad Fatoum @ 2024-04-29 17:41 UTC (permalink / raw)
  To: Enrico Scholz, barebox

Hello Enrico,

On 29.04.24 18:32, Enrico Scholz wrote:
> Hi,
> 
> commit e6234f90 ("ddr: Initial i.MX9 support") adds unconditionally
> fields to the dram timing info object (include/soc/imx/ddr.h):
> 
> |  struct dram_timing_info {
> |       ...
> | +	/* fsp config */
> | +	struct dram_fsp_cfg *fsp_cfg;
> | +	unsigned int fsp_cfg_num;
> 
> 
> However, the iMX8 ATF ([1]) does not have this field and DRAM related
> SMC calls like
> 
> |	arm_smccc_smc(FSL_SIP_DDR_DVFS, 0x11, i, 0, 0, 0, 0, 0, &res);
> 
> in the NXP busfreq-imx8mq.c driver will fail [2].
> 
> 
> Am I missing something here or should the dram_timing_info table somehow
> translated between these architectures (e.g. in dram_config_save())?

No, you are right. See the patch I shortly before:
https://lore.barebox.org/barebox/20240429141610.3556452-1-a.fatoum@pengutronix.de/T/#u

Cheers,
Ahmad

> 
> 
> 
> Enrico
> 
> Footnotes:
> [1]  https://github.com/nxp-imx/imx-atf/blob/lf_v2.8/plat/imx/imx8m/include/dram.h
> 
> [2]  typical message: "imx_busfreq: probe of busfreq failed with error -22"
> 
> 

-- 
Pengutronix e.K.                           |                             |
Steuerwalder Str. 21                       | http://www.pengutronix.de/  |
31137 Hildesheim, Germany                  | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |




^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2024-04-29 17:42 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-04-29 16:32 imx8: 'struct dram_timing_info' incompatibilities Enrico Scholz
2024-04-29 17:41 ` Ahmad Fatoum

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox