9
0
Fork 0

ARM: i.MX: Allow disabling SDRAM autodetection

Some boards setup more memory than they actually have. The real memory
size can then be detected later for example by reading a board id.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
This commit is contained in:
Sascha Hauer 2013-04-26 23:48:35 +02:00
parent 8fd1f24bff
commit ef0299f172
2 changed files with 15 additions and 0 deletions

View File

@ -39,6 +39,17 @@ struct imx_esdctl_data {
void (*add_mem)(void *esdctlbase, struct imx_esdctl_data *);
};
static int imx_esdctl_disabled;
/*
* Boards can disable SDRAM detection if it doesn't work for them. In
* this case arm_add_mem_device has to be called by board code.
*/
void imx_esdctl_disable(void)
{
imx_esdctl_disabled = 1;
}
/*
* v1 - found on i.MX1
*/
@ -239,6 +250,9 @@ static int imx_esdctl_probe(struct device_d *dev)
if (!base)
return -ENOMEM;
if (imx_esdctl_disabled)
return 0;
data->add_mem(base, data);
return 0;

View File

@ -136,6 +136,7 @@ void __naked __noreturn imx35_barebox_entry(uint32_t boarddata);
void __naked __noreturn imx51_barebox_entry(uint32_t boarddata);
void __naked __noreturn imx53_barebox_entry(uint32_t boarddata);
void __naked __noreturn imx6_barebox_entry(uint32_t boarddata);
void imx_esdctl_disable(void);
#endif
#endif /* __MACH_ESDCTL_V2_H */