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 *);
|
||||
};
|
||||
|
||||
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;
|
||||
|
|
|
@ -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 */
|
||||
|
|
Loading…
Reference in New Issue