mirror of
https://github.com/u-boot/u-boot.git
synced 2024-12-04 01:53:27 +08:00
sunxi_nand_spl: Use SYS_NAND_SELF_INIT and only do nand init when necessary
Use SYS_NAND_SELF_INIT and only setup the pinmux and clocks when we are actually using the nand. Signed-off-by: Hans de Goede <hdegoede@redhat.com> Acked-by: Ian Campbell <ijc@hellion.org.uk>
This commit is contained in:
parent
9da5fca55c
commit
f62bfa56da
@ -31,6 +31,7 @@
|
||||
#include <asm/arch/usb_phy.h>
|
||||
#include <asm/gpio.h>
|
||||
#include <asm/io.h>
|
||||
#include <nand.h>
|
||||
#include <net.h>
|
||||
|
||||
#if defined CONFIG_VIDEO_LCD_PANEL_I2C && !(defined CONFIG_SPL_BUILD)
|
||||
@ -127,6 +128,12 @@ static void nand_clock_setup(void)
|
||||
setbits_le32(&ccm->ahb_gate0, (CLK_GATE_OPEN << AHB_GATE_OFFSET_NAND0));
|
||||
setbits_le32(&ccm->nand0_clk_cfg, CCM_NAND_CTRL_ENABLE | AHB_DIV_1);
|
||||
}
|
||||
|
||||
void board_nand_init(void)
|
||||
{
|
||||
nand_pinmux_setup();
|
||||
nand_clock_setup();
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_GENERIC_MMC
|
||||
@ -453,11 +460,6 @@ void sunxi_board_init(void)
|
||||
power_failed |= axp221_set_eldo(3, CONFIG_AXP221_ELDO3_VOLT);
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_SPL_NAND_SUNXI
|
||||
nand_pinmux_setup();
|
||||
nand_clock_setup();
|
||||
#endif
|
||||
|
||||
printf("DRAM:");
|
||||
ramsize = sunxi_dram_init();
|
||||
printf(" %lu MiB\n", ramsize >> 20);
|
||||
|
@ -95,6 +95,7 @@ config SPL_NAND_DENALI
|
||||
config SPL_NAND_SUNXI
|
||||
bool "Support for NAND on Allwinner A20 in SPL"
|
||||
depends on MACH_SUN7I
|
||||
select SYS_NAND_SELF_INIT
|
||||
---help---
|
||||
Enable support for NAND. This option allows SPL to read from
|
||||
sunxi NAND using DMA transfers.
|
||||
|
@ -153,6 +153,8 @@ void nand_init(void)
|
||||
{
|
||||
uint32_t val;
|
||||
|
||||
board_nand_init();
|
||||
|
||||
val = readl(SUNXI_NFC_BASE + NFC_CTL);
|
||||
/* enable and reset CTL */
|
||||
writel(val | NFC_CTL_EN | NFC_CTL_RESET,
|
||||
|
Loading…
Reference in New Issue
Block a user