Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 53740df1 authored by Daniel Mack's avatar Daniel Mack Committed by Eric Miao
Browse files

[ARM] pxa/colibri: add NAND config for Colibri PXA3xx boards



NAND feature will be enabled when the appropriate config option is set.

Signed-off-by: default avatarDaniel Mack <daniel@caiaq.de>
Signed-off-by: default avatarEric Miao <eric.y.miao@gmail.com>
parent 0d95c1fa
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -172,6 +172,7 @@ void __init colibri_pxa300_init(void)
{
	colibri_pxa300_init_eth();
	colibri_pxa300_init_ohci();
	colibri_pxa3xx_init_nand();
	colibri_pxa300_init_lcd();
	colibri_pxa3xx_init_lcd(mfp_to_gpio(GPIO39_GPIO));
	colibri_pxa310_init_ac97();
+1 −0
Original line number Diff line number Diff line
@@ -168,6 +168,7 @@ void __init colibri_pxa320_init(void)
{
	colibri_pxa320_init_eth();
	colibri_pxa320_init_ohci();
	colibri_pxa3xx_init_nand();
	colibri_pxa320_init_lcd();
	colibri_pxa3xx_init_lcd(mfp_to_gpio(GPIO49_GPIO));
	colibri_pxa320_init_ac97();
+41 −0
Original line number Diff line number Diff line
@@ -25,6 +25,7 @@
#include <mach/colibri.h>
#include <mach/mmc.h>
#include <mach/pxafb.h>
#include <mach/pxa3xx_nand.h>

#include "generic.h"
#include "devices.h"
@@ -157,3 +158,43 @@ void __init colibri_pxa3xx_init_lcd(int bl_pin)
}
#endif

#if defined(CONFIG_MTD_NAND_PXA3xx) || defined(CONFIG_MTD_NAND_PXA3xx_MODULE)
static struct mtd_partition colibri_nand_partitions[] = {
	{
		.name        = "bootloader",
		.offset      = 0,
		.size        = SZ_512K,
		.mask_flags  = MTD_WRITEABLE, /* force read-only */
	},
	{
		.name        = "kernel",
		.offset      = MTDPART_OFS_APPEND,
		.size        = SZ_4M,
		.mask_flags  = MTD_WRITEABLE, /* force read-only */
	},
	{
		.name        = "reserved",
		.offset      = MTDPART_OFS_APPEND,
		.size        = SZ_1M,
		.mask_flags  = MTD_WRITEABLE, /* force read-only */
	},
	{
		.name        = "fs",
		.offset      = MTDPART_OFS_APPEND,
		.size        = MTDPART_SIZ_FULL,
	},
};

static struct pxa3xx_nand_platform_data colibri_nand_info = {
	.enable_arbiter	= 1,
	.keep_config	= 1,
	.parts		= colibri_nand_partitions,
	.nr_parts	= ARRAY_SIZE(colibri_nand_partitions),
};

void __init colibri_pxa3xx_init_nand(void)
{
	pxa3xx_set_nand_info(&colibri_nand_info);
}
#endif
+6 −0
Original line number Diff line number Diff line
@@ -23,6 +23,12 @@ static inline void colibri_pxa3xx_init_lcd(int bl_pin) {}
extern void colibri_pxa3xx_init_eth(struct ax_plat_data *plat_data);
#endif

#if defined(CONFIG_MTD_NAND_PXA3xx) || defined(CONFIG_MTD_NAND_PXA3xx_MODULE)
extern void colibri_pxa3xx_init_nand(void);
#else
static inline void colibri_pxa3xx_init_nand(void) {}
#endif

/* physical memory regions */
#define COLIBRI_SDRAM_BASE	0xa0000000      /* SDRAM region */