Skip to content

Commit

Permalink
[ARM] 3869/1: AT91: NAND support for DK and KB9202 boards
Browse files Browse the repository at this point in the history
This patch adds support for the NAND flash on the Atmel AT91RM9200-DK
and KwikByte KB920x boards.

Signed-off-by: Andrew Victor <andrew@sanpeople.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
  • Loading branch information
Andrew Victor authored and Russell King committed Sep 28, 2006
1 parent 97f0fb6 commit cc2b28b
Show file tree
Hide file tree
Showing 2 changed files with 50 additions and 0 deletions.
25 changes: 25 additions & 0 deletions arch/arm/mach-at91rm9200/board-dk.c
Original file line number Diff line number Diff line change
Expand Up @@ -122,6 +122,29 @@ static struct spi_board_info dk_spi_devices[] = {
#endif
};

static struct mtd_partition __initdata dk_nand_partition[] = {
{
.name = "NAND Partition 1",
.offset = 0,
.size = MTDPART_SIZ_FULL,
},
};

static struct mtd_partition *nand_partitions(int size, int *num_partitions)
{
*num_partitions = ARRAY_SIZE(dk_nand_partition);
return dk_nand_partition;
}

static struct at91_nand_data __initdata dk_nand_data = {
.ale = 22,
.cle = 21,
.det_pin = AT91_PIN_PB1,
.rdy_pin = AT91_PIN_PC2,
// .enable_pin = ... not there
.partition_info = nand_partitions,
};

static void __init dk_board_init(void)
{
/* Serial */
Expand All @@ -147,6 +170,8 @@ static void __init dk_board_init(void)
at91_set_gpio_output(AT91_PIN_PB7, 1); /* this MMC card slot can optionally use SPI signaling (CS3). */
at91_add_device_mmc(&dk_mmc_data);
#endif
/* NAND */
at91_add_device_nand(&dk_nand_data);
/* VGA */
// dk_add_device_video();
}
Expand Down
25 changes: 25 additions & 0 deletions arch/arm/mach-at91rm9200/board-kb9202.c
Original file line number Diff line number Diff line change
Expand Up @@ -89,6 +89,29 @@ static struct at91_mmc_data __initdata kb9202_mmc_data = {
.wire4 = 1,
};

static struct mtd_partition __initdata kb9202_nand_partition[] = {
{
.name = "nand_fs",
.offset = 0,
.size = MTDPART_SIZ_FULL,
},
};

static struct mtd_partition *nand_partitions(int size, int *num_partitions)
{
*num_partitions = ARRAY_SIZE(kb9202_nand_partition);
return kb9202_nand_partition;
}

static struct at91_nand_data __initdata kb9202_nand_data = {
.ale = 22,
.cle = 21,
// .det_pin = ... not there
.rdy_pin = AT91_PIN_PC29,
.enable_pin = AT91_PIN_PC28,
.partition_info = nand_partitions,
};

static void __init kb9202_board_init(void)
{
/* Serial */
Expand All @@ -105,6 +128,8 @@ static void __init kb9202_board_init(void)
at91_add_device_i2c();
/* SPI */
at91_add_device_spi(NULL, 0);
/* NAND */
at91_add_device_nand(&kb9202_nand_data);
}

MACHINE_START(KB9200, "KB920x")
Expand Down

0 comments on commit cc2b28b

Please sign in to comment.