[oe-commits] org.oe.dev linux-rp: cleaned Tosa patches (my fault)

hrw commit openembedded-commits at lists.openembedded.org
Wed Oct 31 10:52:17 UTC 2007


linux-rp: cleaned Tosa patches (my fault)

Author: hrw at openembedded.org
Branch: org.openembedded.dev
Revision: 6aff048ce0e2244277e9b1398c4a400bdd758e30
ViewMTN: http://monotone.openembedded.org/revision/info/6aff048ce0e2244277e9b1398c4a400bdd758e30
Files:
1
packages/linux/linux-rp-2.6.22/wm97xx-lcdnoise-r0.patch
packages/linux/linux-rp-2.6.23/wm97xx-lcdnoise-r0.patch
packages/linux/linux-rp-2.6.23/sharpsl-pm-postresume-r1.patch
packages/linux/linux-rp-2.6.23/tmio-fb-r6-fix-r0.patch
packages/linux/linux-rp-2.6.23/tmio-nand-r8.patch
packages/linux/linux-rp-2.6.23/tmio-tc6393-r8.patch
packages/linux/linux-rp-2.6.23/tosa-bluetooth-r8.patch
packages/linux/linux-rp-2.6.23/tosa-keyboard-r19.patch
packages/linux/linux-rp-2.6.23/tosa-lcdnoise-r1-fix-r0.patch
packages/linux/linux-rp-2.6.23/tosa-lcdnoise-r1.patch
packages/linux/linux-rp-2.6.23/tosa-power-r18-fix-r0.patch
packages/linux/linux-rp-2.6.23/tosa-power-r18.patch
packages/linux/linux-rp-2.6.23/tosa-pxaac97-r6-fix-r0.patch
packages/linux/linux-rp-2.6.23/tosa-tmio-lcd-r10-fix-r0.patch
packages/linux/linux-rp-2.6.23/tosa-tmio-lcd-r10.patch
packages/linux/linux-rp-2.6.23/wm9712-reset-loop-r2.patch
packages/linux/linux-rp-2.6.23/wm9712-suspend-cold-res-r2.patch
packages/linux/linux-rp-2.6.23/wm97xx-lg13-r0-fix-r0.patch
packages/linux/linux-rp-2.6.23/wm97xx-lg13-r0.patch
Diffs:

#
# mt diff -r687111600530ee99526d6b99064442ca4a509483 -r6aff048ce0e2244277e9b1398c4a400bdd758e30
#
# 
# 
# delete "packages/linux/linux-rp-2.6.22/wm97xx-lcdnoise-r0.patch"
# 
# delete "packages/linux/linux-rp-2.6.23/wm97xx-lcdnoise-r0.patch"
# 
# patch "packages/linux/linux-rp-2.6.23/sharpsl-pm-postresume-r1.patch"
#  from [6a76a147a723c84ea6857b3de318f1178bc8066c]
#    to [bce11bf58c99c586b9c78700361fb4ca135be6cf]
# 
# patch "packages/linux/linux-rp-2.6.23/tmio-fb-r6-fix-r0.patch"
#  from [65ccd2da4cf3179bb870e7b0828a74b5219feaa9]
#    to [e5106d8a14de068a6fd8883dd0a8f425a3125f97]
# 
# patch "packages/linux/linux-rp-2.6.23/tmio-nand-r8.patch"
#  from [70e070eec847b8a121859a85d2d2919277bcf68a]
#    to [596e1bff5e1ef5701935799a0f3ec262c59e2e8d]
# 
# patch "packages/linux/linux-rp-2.6.23/tmio-tc6393-r8.patch"
#  from [c221b3a71e979487c282653861c9d4122d8d9b8d]
#    to [98be5af39813e8a304deb78cf4799b0df03c7354]
# 
# patch "packages/linux/linux-rp-2.6.23/tosa-bluetooth-r8.patch"
#  from [ffca1d2bfcc7ff240a1c8aec4446df3438fd4b55]
#    to [85681f1f7cdac4ae12bc81b5b93465ab4d22dd38]
# 
# patch "packages/linux/linux-rp-2.6.23/tosa-keyboard-r19.patch"
#  from [f576ef92dfa107007178e163641e72b9d1764a7e]
#    to [d0ca4e3ed3b7becf99fdc4a8fe9d273c613ebd70]
# 
# patch "packages/linux/linux-rp-2.6.23/tosa-lcdnoise-r1-fix-r0.patch"
#  from [ab2e14df52d1b1138f009d68f2e421e61a724b07]
#    to [ed9053b082cf5aa3c7579d85423aeee17cc3763f]
# 
# patch "packages/linux/linux-rp-2.6.23/tosa-lcdnoise-r1.patch"
#  from [c5fac8724d07f0d6e2daa5dc8cc8fcfd80e7b2a3]
#    to [6e0d9b1cbe6206c60347d7d6b464e18194a8e14d]
# 
# patch "packages/linux/linux-rp-2.6.23/tosa-power-r18-fix-r0.patch"
#  from [7a2c0729a7771f4eeb399b1fc312bfffd2176867]
#    to [89fc3dab3d4bd9d7350ad4f9b54557c82b950a3a]
# 
# patch "packages/linux/linux-rp-2.6.23/tosa-power-r18.patch"
#  from [a2a856927a7312a9d142661b7929ec219a7fa0ba]
#    to [a9579dca243c8ac99cea922090e713f2ea430d82]
# 
# patch "packages/linux/linux-rp-2.6.23/tosa-pxaac97-r6-fix-r0.patch"
#  from [9d3c52d7e173fad800cd2296c485505bb61d9cf0]
#    to [5b6e40ad29348d4ccb245bad26377d1837e34b2c]
# 
# patch "packages/linux/linux-rp-2.6.23/tosa-tmio-lcd-r10-fix-r0.patch"
#  from [29ff73030ac73879a489b37cbb0d91a84de3c9e6]
#    to [ca5a051c981dd10129b7637f8d942ed4ff70097b]
# 
# patch "packages/linux/linux-rp-2.6.23/tosa-tmio-lcd-r10.patch"
#  from [61a22778e277cc5c39eddb3ea7acb242f7b0c02e]
#    to [e38459494c2132306b38b4a56ae9f4285dc02edf]
# 
# patch "packages/linux/linux-rp-2.6.23/wm9712-reset-loop-r2.patch"
#  from [56896e4394314ee47e2377cac39ac6a7242993da]
#    to [0b290ba982b52016fc8aecf9c473eef02fca6ce9]
# 
# patch "packages/linux/linux-rp-2.6.23/wm9712-suspend-cold-res-r2.patch"
#  from [c328dcc9a78d6f15c6dd13cac159af8fa88b861a]
#    to [c8b1b11be47892cd758db47d7dfdc1b7c8c19fbf]
# 
# patch "packages/linux/linux-rp-2.6.23/wm97xx-lg13-r0-fix-r0.patch"
#  from [d886290352c04ebd99c91a97aed2826f7d5f3a34]
#    to [5d0565f13c2925b533cb84b84d260b2e6c3f9aae]
# 
# patch "packages/linux/linux-rp-2.6.23/wm97xx-lg13-r0.patch"
#  from [3eb49bbe5f83379ae2ccebe21a634a1a9f3bf8cb]
#    to [e11aa53cf75e92e53ff92abe09a829f819261cc8]
# 
============================================================
--- packages/linux/linux-rp-2.6.23/sharpsl-pm-postresume-r1.patch	6a76a147a723c84ea6857b3de318f1178bc8066c
+++ packages/linux/linux-rp-2.6.23/sharpsl-pm-postresume-r1.patch	bce11bf58c99c586b9c78700361fb4ca135be6cf
@@ -28,33 +28,3 @@ Index: git/arch/arm/common/sharpsl_pm.c
  	dev_dbg(sharpsl_pm.dev, "SharpSL resuming...\n");
  
  	return 0;
- arch/arm/common/sharpsl_pm.c          |    3 +++
- include/asm-arm/hardware/sharpsl_pm.h |    1 +
- 2 files changed, 4 insertions(+)
-
-Index: git/include/asm-arm/hardware/sharpsl_pm.h
-===================================================================
---- git.orig/include/asm-arm/hardware/sharpsl_pm.h	2006-10-31 16:09:33.000000000 +0000
-+++ git/include/asm-arm/hardware/sharpsl_pm.h	2006-11-07 22:08:41.000000000 +0000
-@@ -26,6 +26,7 @@ struct sharpsl_charger_machinfo {
- 	void (*presuspend)(void);
- 	void (*postsuspend)(void);
- 	void (*earlyresume)(void);
-+	void (*postresume)(void);
- 	unsigned long (*read_devdata)(int);
- #define SHARPSL_BATT_VOLT       1
- #define SHARPSL_BATT_TEMP       2
-Index: git/arch/arm/common/sharpsl_pm.c
-===================================================================
---- git.orig/arch/arm/common/sharpsl_pm.c	2006-11-07 22:03:48.000000000 +0000
-+++ git/arch/arm/common/sharpsl_pm.c	2006-11-07 22:04:20.000000000 +0000
-@@ -584,6 +584,9 @@ static int corgi_pxa_pm_enter(suspend_st
- 	if (sharpsl_pm.machinfo->earlyresume)
- 		sharpsl_pm.machinfo->earlyresume();
- 
-+	if (sharpsl_pm.machinfo->postresume)
-+		sharpsl_pm.machinfo->postresume();
-+	
- 	dev_dbg(sharpsl_pm.dev, "SharpSL resuming...\n");
- 
- 	return 0;
============================================================
--- packages/linux/linux-rp-2.6.23/tmio-fb-r6-fix-r0.patch	65ccd2da4cf3179bb870e7b0828a74b5219feaa9
+++ packages/linux/linux-rp-2.6.23/tmio-fb-r6-fix-r0.patch	e5106d8a14de068a6fd8883dd0a8f425a3125f97
@@ -43,48 +43,3 @@ 1.4.4.4
 -- 
 1.4.4.4
 
-From 302745ce6f3bab7b1a97de32339405ae3fd8eacb Mon Sep 17 00:00:00 2001
-From: Dmitry Baryshkov <dbaryshkov at gmail.com>
-Date: Fri, 19 Oct 2007 00:05:54 +0400
-Subject: [PATCH] tmio-fb-r6.patch fixes
-
----
- drivers/video/tmiofb.c |    8 ++++----
- 1 files changed, 4 insertions(+), 4 deletions(-)
-
-diff --git a/drivers/video/tmiofb.c b/drivers/video/tmiofb.c
-index 10b0105..72eb76c 100644
---- a/drivers/video/tmiofb.c
-+++ b/drivers/video/tmiofb.c
-@@ -463,8 +463,8 @@ static int tmiofb_vblank (struct fb_info *fbi, struct fb_vblank *vblank)
- #define FBIO_TMIO_ACC_WRITE	0x7C639300
- #define FBIO_TMIO_ACC_SYNC	0x7C639301
- 
--static int tmiofb_ioctl (struct inode *inode, struct file *file,
--		unsigned int cmd, unsigned long arg, struct fb_info *fbi)
-+static int tmiofb_ioctl (struct fb_info *fbi,
-+		unsigned int cmd, unsigned long arg)
- {
- 	switch (cmd) {
- 		case FBIOGET_VBLANK: {
-@@ -677,7 +677,7 @@ static struct fb_ops tmiofb_ops_acc = {
-  * 	2000		0002	display start
-  * 	2000		0004	line number match (0x1ff mask???)
-  */
--static irqreturn_t tmiofb_irq (int irq, void *__fbi, struct pt_regs *r)
-+static irqreturn_t tmiofb_irq (int irq, void *__fbi)
- {
- 	struct fb_info*			fbi	= __fbi;
- 	struct tmiofb_par*		par	= fbi->par;
-@@ -762,7 +762,7 @@ static int __init tmiofb_probe (struct device *dev)
- 	}
- 	fbi->screen_base = par->sram;
- 
--	retval = request_irq (irq->start, &tmiofb_irq, SA_INTERRUPT,
-+	retval = request_irq (irq->start, &tmiofb_irq, IRQF_DISABLED,
- 							TMIO_NAME_LCD, fbi);
- 	if (retval)
- 		goto err_request_irq;
--- 
-1.4.4.4
-
============================================================
--- packages/linux/linux-rp-2.6.23/tmio-nand-r8.patch	70e070eec847b8a121859a85d2d2919277bcf68a
+++ packages/linux/linux-rp-2.6.23/tmio-nand-r8.patch	596e1bff5e1ef5701935799a0f3ec262c59e2e8d
@@ -592,597 +592,3 @@ index 0000000..d196553
 +MODULE_LICENSE ("GPL");
 +MODULE_AUTHOR ("Dirk Opfer, Chris Humbert");
 +MODULE_DESCRIPTION ("NAND flash driver on Toshiba Mobile IO controller");
- drivers/mtd/nand/Kconfig  |    7 +
- drivers/mtd/nand/Makefile |    1 +
- drivers/mtd/nand/tmio.c   |  554 +++++++++++++++++++++++++++++++++++++++++++++
- 3 files changed, 562 insertions(+), 0 deletions(-)
-
-diff --git a/drivers/mtd/nand/Kconfig b/drivers/mtd/nand/Kconfig
-index f1d60b6..b9c8796 100644
---- a/drivers/mtd/nand/Kconfig
-+++ b/drivers/mtd/nand/Kconfig
-@@ -69,6 +69,13 @@ config MTD_NAND_AMS_DELTA
- 	help
- 	  Support for NAND flash on Amstrad E3 (Delta).
- 
-+config MTD_NAND_TMIO
-+	tristate "NAND Flash device on Toshiba Mobile IO Controller"
-+	depends on MTD_NAND && TOSHIBA_TC6393XB
-+	help
-+	  Support for NAND flash connected to a Toshiba Mobile IO
-+	  Controller in some PDAs, including the Sharp SL6000x.
-+
- config MTD_NAND_TOTO
- 	tristate "NAND Flash device on TOTO board"
- 	depends on ARCH_OMAP && BROKEN
-diff --git a/drivers/mtd/nand/Makefile b/drivers/mtd/nand/Makefile
-index edba1db..64f24e1 100644
---- a/drivers/mtd/nand/Makefile
-+++ b/drivers/mtd/nand/Makefile
-@@ -27,5 +27,6 @@ obj-$(CONFIG_MTD_NAND_AT91)		+= at91_nand.o
- obj-$(CONFIG_MTD_NAND_CM_X270)		+= cmx270_nand.o
- obj-$(CONFIG_MTD_NAND_BASLER_EXCITE)	+= excite_nandflash.o
- obj-$(CONFIG_MTD_NAND_PLATFORM)		+= plat_nand.o
-+obj-$(CONFIG_MTD_NAND_TMIO)		+= tmio.o
- 
- nand-objs := nand_base.o nand_bbt.o
-diff --git a/drivers/mtd/nand/tmio.c b/drivers/mtd/nand/tmio.c
-new file mode 100644
-index 0000000..d196553
---- /dev/null
-+++ b/drivers/mtd/nand/tmio.c
-@@ -0,0 +1,554 @@
-+/*
-+ * A device driver for NAND flash connected to a Toshiba Mobile IO
-+ * controller. This is known to work with the following variants:
-+ *	TC6393XB revision 3
-+ *
-+ * Maintainer: Chris Humbert <mahadri+mtd at drigon.com>
-+ *
-+ * Copyright (C) 2005 Chris Humbert
-+ * Copyright (C) 2005 Dirk Opfer
-+ * Copyright (C) 2004 SHARP
-+ * Copyright (C) 2002 Lineo Japan, Inc.
-+ * Copyright (C) Ian Molton and Sebastian Carlier
-+ *
-+ * Based on Sharp's NAND driver, sharp_sl_tc6393.c
-+ *
-+ * This program is free software; you can redistribute it and/or modify
-+ * it under the terms of the GNU General Public License version 2 as
-+ * published by the Free Software Foundation.
-+ */
-+
-+#include <linux/module.h>
-+#include <linux/types.h>
-+#include <linux/delay.h>
-+#include <linux/wait.h>
-+#include <linux/ioport.h>
-+#include <linux/mtd/mtd.h>
-+#include <linux/mtd/nand.h>
-+#include <linux/mtd/nand_ecc.h>
-+#include <linux/mtd/partitions.h>
-+#include <asm/io.h>
-+#include <asm/hardware/tmio.h>
-+
-+#include <linux/interrupt.h>
-+
-+#define mtd_printk(level, mtd, format, arg...)	\
-+	printk (level "%s: " format, mtd->name, ## arg)
-+#define mtd_warn(mtd, format, arg...)		\
-+	mtd_printk (KERN_WARNING, mtd, format, ## arg)
-+
-+/*--------------------------------------------------------------------------*/
-+
-+/* tmio_nfcr.mode Register Command List */
-+#define FCR_MODE_DATA		0x94	// Data Data_Mode
-+#define FCR_MODE_COMMAND	0x95	// Data Command_Mode
-+#define FCR_MODE_ADDRESS	0x96	// Data Address_Mode
-+
-+#define FCR_MODE_HWECC_CALC	0xB4	// HW-ECC Data
-+#define FCR_MODE_HWECC_RESULT	0xD4	// HW-ECC Calculation Result Read_Mode
-+#define FCR_MODE_HWECC_RESET	0xF4	// HW-ECC Reset
-+
-+#define FCR_MODE_POWER_ON	0x0C	// Power Supply ON  to SSFDC card
-+#define FCR_MODE_POWER_OFF	0x08	// Power Supply OFF to SSFDC card
-+
-+#define FCR_MODE_LED_OFF	0x00	// LED OFF
-+#define FCR_MODE_LED_ON		0x04	// LED ON
-+
-+#define FCR_MODE_EJECT_ON	0x68	// Ejection Demand from Penguin is Advanced
-+#define FCR_MODE_EJECT_OFF	0x08	// Ejection Demand from Penguin is Not Advanced
-+
-+#define FCR_MODE_LOCK		0x6C	// Operates By Lock_Mode. Ejection Switch is Invalid
-+#define FCR_MODE_UNLOCK		0x0C	// Operates By UnLock_Mode.Ejection Switch is Effective
-+
-+#define FCR_MODE_CONTROLLER_ID	0x40	// Controller ID Read
-+#define FCR_MODE_STANDBY	0x00	// SSFDC card Changes Standby State
-+
-+#define FCR_MODE_WE		0x80
-+#define FCR_MODE_ECC1		0x40
-+#define FCR_MODE_ECC0		0x20
-+#define FCR_MODE_CE		0x10
-+#define FCR_MODE_PCNT1		0x08
-+#define FCR_MODE_PCNT0		0x04
-+#define FCR_MODE_ALE		0x02
-+#define FCR_MODE_CLE		0x01
-+
-+#define FCR_STATUS_BUSY		0x80
-+
-+/*
-+ * NAND Flash Host Controller Configuration Register
-+ */
-+struct tmio_nfhccr {
-+	u8 x00[4];
-+	u16	command;	/* 0x04 Command				*/
-+	u8 x01[0x0a];
-+	u16	base[2];	/* 0x10 NAND Flash Control Reg Base Addr*/
-+	u8 x02[0x29];
-+	u8	intp;		/* 0x3d Interrupt Pin			*/
-+	u8 x03[0x0a];
-+	u8	inte;		/* 0x48 Interrupt Enable		*/
-+	u8 x04;
-+	u8	ec;		/* 0x4a Event Control			*/
-+	u8 x05;
-+	u8	icc;		/* 0x4c Internal Clock Control		*/
-+	u8 x06[0x0e];
-+	u8	eccc;		/* 0x5b ECC Control			*/
-+	u8 x07[4];
-+	u8	nftc;		/* 0x60 NAND Flash Transaction Control	*/
-+	u8	nfm;		/* 0x61 NAND Flash Monitor		*/
-+	u8	nfpsc;		/* 0x62 NAND Flash Power Supply Control	*/
-+	u8	nfdc;		/* 0x63 NAND Flash Detect Control	*/
-+	u8 x08[0x9c];
-+} __attribute__ ((packed));
-+
-+/*
-+ * NAND Flash Control Register
-+ */
-+struct tmio_nfcr {
-+union {
-+	u8	u8;		/* 0x00 Data Register			*/
-+	u16	u16;
-+	u32	u32;
-+} __attribute__ ((packed));
-+	u8	mode;		/* 0x04 Mode Register			*/
-+	u8	status;		/* 0x05 Status Register			*/
-+	u8	isr;		/* 0x06 Interrupt Status Register	*/
-+	u8	imr;		/* 0x07 Interrupt Mask Register		*/
-+} __attribute__ ((packed));
-+
-+struct tmio_nand {
-+	struct mtd_info			mtd;
-+	struct nand_chip		chip;
-+
-+	struct tmio_nfhccr __iomem *	ccr;
-+	struct tmio_nfcr __iomem *	fcr;
-+
-+	unsigned int			irq;
-+
-+	/* for tmio_nand_read_byte */
-+	u8				read;
-+	unsigned			read_good:1;
-+};
-+
-+#define mtd_to_tmio(m)			container_of(m, struct tmio_nand, mtd)
-+
-+/*--------------------------------------------------------------------------*/
-+
-+static void tmio_nand_hwcontrol(struct mtd_info *mtd, int cmd,
-+				   unsigned int ctrl)
-+{
-+	struct tmio_nand *tmio = mtd_to_tmio (mtd);
-+	struct tmio_nfcr __iomem *fcr = tmio->fcr;
-+	struct nand_chip *chip = mtd->priv;
-+
-+	if (ctrl & NAND_CTRL_CHANGE) {
-+		u8 mode;
-+
-+		if (ctrl & NAND_NCE) {
-+			mode = FCR_MODE_DATA;
-+
-+			if (ctrl & NAND_CLE)
-+				mode |=  FCR_MODE_CLE;
-+			else
-+				mode &= ~FCR_MODE_CLE;
-+
-+			if (ctrl & NAND_ALE)
-+				mode |=  FCR_MODE_ALE;
-+			else
-+				mode &= ~FCR_MODE_ALE;
-+		} else {
-+			mode = FCR_MODE_STANDBY;
-+		}
-+
-+		iowrite8 (mode, &fcr->mode);
-+		tmio->read_good = 0;
-+	}
-+
-+	if (cmd != NAND_CMD_NONE)
-+		writeb(cmd, chip->IO_ADDR_W);
-+}
-+
-+static int tmio_nand_dev_ready (struct mtd_info* mtd)
-+{
-+	struct tmio_nand*		tmio	= mtd_to_tmio (mtd);
-+	struct tmio_nfcr __iomem *	fcr	= tmio->fcr;
-+
-+	return !(ioread8 (&fcr->status) & FCR_STATUS_BUSY);
-+}
-+
-+static irqreturn_t tmio_irq (int irq, void *__tmio)
-+{
-+	struct tmio_nand*		tmio	= __tmio;
-+	struct nand_chip*		this	= &tmio->chip;
-+	struct tmio_nfcr __iomem *	fcr	= tmio->fcr;
-+
-+	/* disable RDYREQ interrupt */
-+	iowrite8 (0x00,	&fcr->imr);
-+
-+	if (unlikely (!waitqueue_active (&this->controller->wq)))
-+		printk (KERN_WARNING TMIO_NAME_NAND ": spurious interrupt\n");
-+
-+	wake_up (&this->controller->wq);
-+	return IRQ_HANDLED;
-+}
-+
-+/*
-+ * The TMIO core has a RDYREQ interrupt on the posedge of #SMRB.
-+ * This interrupt is normally disabled, but for long operations like
-+ * erase and write, we enable it to wake us up.  The irq handler
-+ * disables the interrupt.
-+ */
-+static int
-+tmio_nand_wait (struct mtd_info *mtd, struct nand_chip *this)
-+{
-+	struct tmio_nand*		tmio	= mtd_to_tmio (mtd);
-+	struct tmio_nfcr __iomem *	fcr	= tmio->fcr;
-+	long				timeout;
-+
-+	/* enable RDYREQ interrupt */
-+	iowrite8 (0x0f,	&fcr->isr);
-+	iowrite8 (0x81,	&fcr->imr);
-+
-+	timeout = wait_event_timeout (this->controller->wq, tmio_nand_dev_ready (mtd),
-+			msecs_to_jiffies (this->state == FL_ERASING ? 400 : 20));
-+
-+	if (unlikely (!tmio_nand_dev_ready (mtd))) {
-+		iowrite8 (0x00,	&fcr->imr);
-+		mtd_warn (mtd, "still busy with %s after %d ms\n",
-+				this->state == FL_ERASING ? "erase" : "program",
-+				this->state == FL_ERASING ? 400 : 20);
-+
-+	} else if (unlikely (!timeout)) {
-+		iowrite8 (0x00,	&fcr->imr);
-+		mtd_warn (mtd, "timeout waiting for interrupt\n");
-+	}
-+
-+	this->cmdfunc (mtd, NAND_CMD_STATUS, -1, -1);
-+	return this->read_byte (mtd);
-+}
-+
-+/*
-+ * The TMIO controller combines two 8-bit data bytes into one 16-bit
-+ * word. This function separates them so nand_base.c works as expected,
-+ * especially its NAND_CMD_READID routines.
-+ *
-+ * To prevent stale data from being read, tmio_nand_hwcontrol() clears
-+ * tmio->read_good.
-+ */
-+static u_char tmio_nand_read_byte (struct mtd_info *mtd)
-+{
-+	struct tmio_nand*		tmio	= mtd_to_tmio (mtd);
-+	struct tmio_nfcr __iomem *	fcr	= tmio->fcr;
-+	unsigned int			data;
-+
-+	if (tmio->read_good--)
-+		return tmio->read;
-+
-+	data		= ioread16 (&fcr->u16);
-+	tmio->read	= data >> 8;
-+	return data;
-+}
-+
-+/*
-+ * The TMIO controller converts an 8-bit NAND interface to a 16-bit
-+ * bus interface, so all data reads and writes must be 16-bit wide.
-+ * Thus, we implement 16-bit versions of the read, write, and verify
-+ * buffer functions.
-+ */
-+static void
-+tmio_nand_write_buf (struct mtd_info *mtd, const u_char *buf, int len)
-+{
-+	struct tmio_nand*		tmio	= mtd_to_tmio (mtd);
-+	struct tmio_nfcr __iomem *	fcr	=%s
>>> DIFF TRUNCATED @ 16K






More information about the Openembedded-commits mailing list