summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPiotr Zierhoffer <pzierhoffer@antmicro.com>2015-07-23 14:33:03 +0200
committerHans de Goede <hdegoede@redhat.com>2015-08-08 16:26:19 +0200
commit960caeba8f76baffc7201b7535de964f406d48b3 (patch)
treef1f311e73084936d724ad03310eb1b224d69cf57
parentaeb4b0d3b35c9eb361bcffee9c48e9bd8debd5b9 (diff)
downloadtalos-obmc-uboot-960caeba8f76baffc7201b7535de964f406d48b3.tar.gz
talos-obmc-uboot-960caeba8f76baffc7201b7535de964f406d48b3.zip
sunxi: nand: Add board configuration options
When SPL_NAND_SUNXI option is selected in config, set some configuration options for sunxi NAND. This commit also introduces the configurable options in Kconfig. Signed-off-by: Peter Gielda <pgielda@antmicro.com> Signed-off-by: Tomasz Gorochowik <tgorochowik@antmicro.com> Signed-off-by: Mateusz Holenko <mholenko@antmicro.com> Signed-off-by: Piotr Zierhoffer <pzierhoffer@antmicro.com> Signed-off-by: Karol Gugala <kgugala@antmicro.com> Acked-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Hans de Goede <hdegoede@redhat.com>
-rw-r--r--drivers/mtd/nand/Kconfig40
-rw-r--r--include/configs/sunxi-common.h10
2 files changed, 50 insertions, 0 deletions
diff --git a/drivers/mtd/nand/Kconfig b/drivers/mtd/nand/Kconfig
index 3024357de7..41ebfea3ce 100644
--- a/drivers/mtd/nand/Kconfig
+++ b/drivers/mtd/nand/Kconfig
@@ -85,6 +85,46 @@ config SPL_NAND_DENALI
This is a small implementation of the Denali NAND controller
for use on SPL.
+config SPL_NAND_SUNXI
+ bool "Support for NAND on Allwinner A20 in SPL"
+ depends on MACH_SUN7I
+ ---help---
+ Enable support for NAND. This option allows SPL to read from
+ sunxi NAND using DMA transfers.
+ Depending on the NAND chip, values like ECC strength and page sizes
+ have to be configured.
+
+config NAND_SUNXI_SPL_SYNDROME_PARTITIONS_END
+ hex "Size of syndrome partitions in sunxi NAND"
+ default 0x400000
+ depends on SPL_NAND_SUNXI
+ ---help---
+ End address for boot partitions on NAND. Those partitions have a
+ different random seed that has to match the sunxi BROM setting.
+
+config NAND_SUNXI_SPL_ECC_STRENGTH
+ int "ECC Strength for sunxi NAND"
+ default 40
+ depends on SPL_NAND_SUNXI
+ ---help---
+ ECC strength used by the sunxi NAND SPL driver. This is specific to the
+ chosen NAND chip and has to match the value used by the sunxi BROM.
+
+config NAND_SUNXI_SPL_ECC_PAGE_SIZE
+ hex "ECC page size for sunxi NAND"
+ default 0x400
+ depends on SPL_NAND_SUNXI
+ ---help---
+ ECC page size used by the sunxi NAND SPL driver for syndrome partitions.
+ This setting has to match the value used by the sunxi BROM.
+
+config NAND_SUNXI_SPL_PAGE_SIZE
+ hex "Page size for sunxi NAND"
+ default 0x2000
+ depends on SPL_NAND_SUNXI
+ ---help---
+ Page size of the NAND flash used by the sunxi NAND SPL driver. This is
+ specific to the chosen NAND chip.
endif
endmenu
diff --git a/include/configs/sunxi-common.h b/include/configs/sunxi-common.h
index edcacd5c14..71b2368952 100644
--- a/include/configs/sunxi-common.h
+++ b/include/configs/sunxi-common.h
@@ -139,6 +139,16 @@
#define CONFIG_INITRD_TAG
#define CONFIG_SERIAL_TAG
+#if defined(CONFIG_SPL_NAND_SUNXI)
+#define CONFIG_SPL_NAND_DRIVERS
+#define CONFIG_SPL_NAND_SUPPORT
+
+#define CONFIG_SYS_NAND_SPL_KERNEL_OFFS 0x280000
+#define CONFIG_SYS_NAND_U_BOOT_OFFS 0x008000
+
+#endif
+
+
/* mmc config */
#if !defined(CONFIG_UART0_PORT_F)
#define CONFIG_MMC
OpenPOWER on IntegriCloud