sunxi/nand: Add support to the SPL for loading u-boot from internal NAND memory
This commit adds support to the sunxi SPL to load u-boot from the internal NAND. Note this only adds support to access the boot partitions to load u-boot, full NAND support to load the kernel, etc. from the nand data partition will come later. Signed-off-by: Roy Spliet <r.spliet@ultimaker.com> Reviewed-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Hans de Goede <hdegoede@redhat.com>
This commit is contained in:
committed by
Hans de Goede
parent
d0f4200392
commit
f76eba38b3
@@ -18,6 +18,7 @@
|
||||
#endif
|
||||
|
||||
#define CONFIG_SUNXI_USB_PHYS 3
|
||||
#define CONFIG_NAND_SUNXI_GPC_PORTS {16, 17, 18, 19, 20, 21, 22, 24}
|
||||
|
||||
/*
|
||||
* Include common sunxi configuration where most the settings are
|
||||
|
||||
@@ -19,6 +19,9 @@
|
||||
|
||||
#define CONFIG_SUNXI_USB_PHYS 2
|
||||
|
||||
/* \todo A13 only defines port 19, whereas A10s requires each of these */
|
||||
#define CONFIG_NAND_SUNXI_GPC_PORTS {16, 17, 18, 19}
|
||||
|
||||
/*
|
||||
* Include common sunxi configuration where most the settings are
|
||||
*/
|
||||
|
||||
@@ -22,6 +22,8 @@
|
||||
|
||||
#define CONFIG_SUNXI_USB_PHYS 3
|
||||
|
||||
#define CONFIG_NAND_SUNXI_GPC_PORTS {24, 25, 26}
|
||||
|
||||
/*
|
||||
* Include common sunxi configuration where most the settings are
|
||||
*/
|
||||
|
||||
@@ -24,6 +24,8 @@
|
||||
#define CONFIG_ARMV7_SECURE_BASE SUNXI_SRAM_B_BASE
|
||||
#define CONFIG_TIMER_CLK_FREQ 24000000
|
||||
|
||||
#define CONFIG_NAND_SUNXI_GPC_PORTS {16, 17, 18, 19, 20, 21, 22, 24}
|
||||
|
||||
/*
|
||||
* Include common sunxi configuration where most the settings are
|
||||
*/
|
||||
|
||||
@@ -20,6 +20,12 @@
|
||||
|
||||
#define CONFIG_SUNXI_USB_PHYS 2
|
||||
|
||||
#if defined(CONFIG_MACH_SUN8I_A23)
|
||||
#define CONFIG_NAND_SUNXI_GPC_PORTS {16, 17, 18}
|
||||
#elif defined(CONFIG_MACH_SUN8I_A33)
|
||||
#define CONFIG_NAND_SUNXI_GPC_PORTS {16}
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Include common sunxi configuration where most the settings are
|
||||
*/
|
||||
|
||||
@@ -148,8 +148,10 @@
|
||||
#define CONFIG_CMD_MMC
|
||||
#define CONFIG_MMC_SUNXI
|
||||
#define CONFIG_MMC_SUNXI_SLOT 0
|
||||
#if !defined(CONFIG_SPL_NAND_SUPPORT)
|
||||
#define CONFIG_ENV_IS_IN_MMC
|
||||
#define CONFIG_SYS_MMC_ENV_DEV 0 /* first detected MMC controller */
|
||||
#endif /* CONFIG_SPL_NAND_SUPPORT */
|
||||
#endif
|
||||
|
||||
/* 4MB of malloc() pool */
|
||||
@@ -355,6 +357,24 @@ extern int soft_i2c_gpio_scl;
|
||||
#define CONFIG_ENV_IS_NOWHERE
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_SPL_NAND_SUPPORT
|
||||
#define CONFIG_NAND
|
||||
#define CONFIG_SYS_NAND_SELF_INIT
|
||||
#define CONFIG_NAND_SUNXI
|
||||
#define CONFIG_CMD_SPL_WRITE_SIZE 0x000400
|
||||
#define CONFIG_SYS_NAND_U_BOOT_OFFS 0x008000
|
||||
|
||||
/* \todo Make these parameterisable in kernel config ? */
|
||||
#define CONFIG_NAND_SUNXI_PAGE_SIZE 8192
|
||||
#define CONFIG_NAND_SUNXI_ECC_STEP 1024
|
||||
#define CONFIG_NAND_SUNXI_ECC_STRENGTH 40
|
||||
#define CONFIG_NAND_SUNXI_ADDR_CYCLES 5
|
||||
|
||||
#ifndef CONFIG_NAND_SUNXI_GPC_PORTS
|
||||
#error "No NAND GPC ports defined, NAND unsupported"
|
||||
#endif
|
||||
#endif /* CONFIG_SPL_NAND_SUPPORT */
|
||||
|
||||
#define CONFIG_MISC_INIT_R
|
||||
#define CONFIG_SYS_CONSOLE_IS_IN_ENV
|
||||
|
||||
|
||||
Reference in New Issue
Block a user