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

Commit d5ce2b65 authored by Sukumar Ghorai's avatar Sukumar Ghorai Committed by Tony Lindgren
Browse files

omap3630: nand: fix device size to work in polled mode



zoom3 and 3630-sdp having the x16 nand device.
This patch configure gpmc as x16 and select the currect function in driver
for polled mode (without prefetch enable) transfer.

Signed-off-by: default avatarSukumar Ghorai <s-ghorai@ti.com>
Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
parent df7ffd31
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -812,7 +812,7 @@ static void __init omap_3430sdp_init(void)
	omap_serial_init();
	usb_musb_init(&musb_board_data);
	board_smc91x_init();
	board_flash_init(sdp_flash_partitions, chip_sel_3430);
	board_flash_init(sdp_flash_partitions, chip_sel_3430, 0);
	sdp3430_display_init();
	enable_board_wakeup_source();
	usb_ehci_init(&ehci_pdata);
+2 −1
Original line number Diff line number Diff line
@@ -11,6 +11,7 @@
#include <linux/platform_device.h>
#include <linux/input.h>
#include <linux/gpio.h>
#include <linux/mtd/nand.h>

#include <asm/mach-types.h>
#include <asm/mach/arch.h>
@@ -208,7 +209,7 @@ static void __init omap_sdp_init(void)
	zoom_peripherals_init();
	zoom_display_init();
	board_smc91x_init();
	board_flash_init(sdp_flash_partitions, chip_sel_sdp);
	board_flash_init(sdp_flash_partitions, chip_sel_sdp, NAND_BUSWIDTH_16);
	enable_board_wakeup_source();
	usb_ehci_init(&ehci_pdata);
}
+6 −4
Original line number Diff line number Diff line
@@ -139,11 +139,13 @@ static struct omap_nand_platform_data board_nand_data = {
};

void
__init board_nand_init(struct mtd_partition *nand_parts, u8 nr_parts, u8 cs)
__init board_nand_init(struct mtd_partition *nand_parts,
			u8 nr_parts, u8 cs, int nand_type)
{
	board_nand_data.cs		= cs;
	board_nand_data.parts		= nand_parts;
	board_nand_data.nr_parts	= nr_parts;
	board_nand_data.devsize		= nand_type;

	gpmc_nand_init(&board_nand_data);
}
@@ -194,7 +196,7 @@ static u8 get_gpmc0_type(void)
 * @return - void.
 */
void board_flash_init(struct flash_partitions partition_info[],
					char chip_sel_board[][GPMC_CS_NUM])
			char chip_sel_board[][GPMC_CS_NUM], int nand_type)
{
	u8		cs = 0;
	u8		norcs = GPMC_CS_NUM + 1;
@@ -250,5 +252,5 @@ void board_flash_init(struct flash_partitions partition_info[],
				"in GPMC\n");
	else
		board_nand_init(partition_info[2].parts,
				partition_info[2].nr_parts, nandcs);
			partition_info[2].nr_parts, nandcs, nand_type);
}
+2 −2
Original line number Diff line number Diff line
@@ -25,6 +25,6 @@ struct flash_partitions {
};

extern void board_flash_init(struct flash_partitions [],
				char chip_sel[][GPMC_CS_NUM]);
				char chip_sel[][GPMC_CS_NUM], int nand_type);
extern void board_nand_init(struct mtd_partition *nand_parts,
					u8 nr_parts, u8 cs);
					u8 nr_parts, u8 cs, int nand_type);
+1 −1
Original line number Diff line number Diff line
@@ -433,7 +433,7 @@ static void __init omap_ldp_init(void)
	omap_serial_init();
	usb_musb_init(&musb_board_data);
	board_nand_init(ldp_nand_partitions,
		ARRAY_SIZE(ldp_nand_partitions), ZOOM_NAND_CS);
		ARRAY_SIZE(ldp_nand_partitions), ZOOM_NAND_CS, 0);

	omap2_hsmmc_init(mmc);
	/* link regulators to MMC adapters */
Loading