Refactor imx-NAND-init
Put board specific stuff to board-specific files. Signed-off-by: Wolfram Sang <w.sang@pengutronix.de>
This commit is contained in:
parent
c83325ff72
commit
bc4492252e
|
@ -293,3 +293,12 @@ static int imx31_console_init(void)
|
||||||
}
|
}
|
||||||
|
|
||||||
console_initcall(imx31_console_init);
|
console_initcall(imx31_console_init);
|
||||||
|
|
||||||
|
#ifdef CONFIG_NAND_IMX_BOOT
|
||||||
|
void __bare_init nand_boot(void)
|
||||||
|
{
|
||||||
|
int pagesize = (readl(IMX_CCM_BASE + CCM_RCSR) & RCSR_NFMS) ? 2048 : 512;
|
||||||
|
|
||||||
|
imx_nand_load_image((void *)TEXT_BASE, 256 * 1024, pagesize, 16384);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
|
@ -320,7 +320,16 @@ late_initcall(pcm038_power_init);
|
||||||
#ifdef CONFIG_NAND_IMX_BOOT
|
#ifdef CONFIG_NAND_IMX_BOOT
|
||||||
void __bare_init nand_boot(void)
|
void __bare_init nand_boot(void)
|
||||||
{
|
{
|
||||||
imx_nand_load_image((void *)TEXT_BASE, 256 * 1024, 512, 16384);
|
int pagesize = 512;
|
||||||
|
PCCR1 |= PCCR1_NFC_BAUDEN; /* FIXME: Really needed? Probably not */
|
||||||
|
|
||||||
|
switch ((GPCR & GPCR_BOOT_MASK) >> GPCR_BOOT_SHIFT) {
|
||||||
|
case GPCR_BOOT_8BIT_NAND_2k:
|
||||||
|
case GPCR_BOOT_16BIT_NAND_2k:
|
||||||
|
pagesize = 2048;
|
||||||
|
}
|
||||||
|
|
||||||
|
imx_nand_load_image((void *)TEXT_BASE, 256 * 1024, pagesize, 16384);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
|
@ -1108,15 +1108,8 @@ void __nand_boot_init imx_nand_load_image(void *dest, int size, int pagesize,
|
||||||
struct imx_nand_host host;
|
struct imx_nand_host host;
|
||||||
u32 tmp, page, block;
|
u32 tmp, page, block;
|
||||||
|
|
||||||
PCCR1 |= PCCR1_NFC_BAUDEN;
|
|
||||||
|
|
||||||
switch ((GPCR & GPCR_BOOT_MASK) >> GPCR_BOOT_SHIFT) {
|
|
||||||
case GPCR_BOOT_8BIT_NAND_2k:
|
|
||||||
case GPCR_BOOT_16BIT_NAND_2k:
|
|
||||||
host.pagesize_2k = 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
host.regs = (void __iomem *)IMX_NFC_BASE;
|
host.regs = (void __iomem *)IMX_NFC_BASE;
|
||||||
|
host.pagesize_2k = (pagesize == 2048);
|
||||||
|
|
||||||
send_cmd(&host, NAND_CMD_RESET);
|
send_cmd(&host, NAND_CMD_RESET);
|
||||||
|
|
||||||
|
|
|
@ -152,6 +152,8 @@
|
||||||
#define CCMR_FPM (1 << 1)
|
#define CCMR_FPM (1 << 1)
|
||||||
#define CCMR_CKIH (2 << 1)
|
#define CCMR_CKIH (2 << 1)
|
||||||
|
|
||||||
|
#define RCSR_NFMS (1 << 30)
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* ?????????????
|
* ?????????????
|
||||||
*/
|
*/
|
||||||
|
@ -166,6 +168,11 @@
|
||||||
#define IMX_ESD_BASE 0xb8001000
|
#define IMX_ESD_BASE 0xb8001000
|
||||||
#include "esdctl.h"
|
#include "esdctl.h"
|
||||||
|
|
||||||
|
/*
|
||||||
|
* NFC Registers
|
||||||
|
*/
|
||||||
|
#define IMX_NFC_BASE (0xb8000000)
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Chip Select Registers
|
* Chip Select Registers
|
||||||
*/
|
*/
|
||||||
|
|
Loading…
Reference in New Issue