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:
parent
8fd1f24bff
commit
ef0299f172
|
@ -39,6 +39,17 @@ struct imx_esdctl_data {
|
||||||
void (*add_mem)(void *esdctlbase, 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
|
* v1 - found on i.MX1
|
||||||
*/
|
*/
|
||||||
|
@ -239,6 +250,9 @@ static int imx_esdctl_probe(struct device_d *dev)
|
||||||
if (!base)
|
if (!base)
|
||||||
return -ENOMEM;
|
return -ENOMEM;
|
||||||
|
|
||||||
|
if (imx_esdctl_disabled)
|
||||||
|
return 0;
|
||||||
|
|
||||||
data->add_mem(base, data);
|
data->add_mem(base, data);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
|
|
@ -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 imx51_barebox_entry(uint32_t boarddata);
|
||||||
void __naked __noreturn imx53_barebox_entry(uint32_t boarddata);
|
void __naked __noreturn imx53_barebox_entry(uint32_t boarddata);
|
||||||
void __naked __noreturn imx6_barebox_entry(uint32_t boarddata);
|
void __naked __noreturn imx6_barebox_entry(uint32_t boarddata);
|
||||||
|
void imx_esdctl_disable(void);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#endif /* __MACH_ESDCTL_V2_H */
|
#endif /* __MACH_ESDCTL_V2_H */
|
||||||
|
|
Loading…
Reference in New Issue