linux/drivers
unsik Kim 3fbed4c61a mflash: initial support
This driver supports mflash IO mode for linux.

Mflash is embedded flash drive and mainly targeted mobile and consumer
electronic devices.

Internally, mflash has nand flash and other hardware logics and supports 2
different operation (ATA, IO) modes.  ATA mode doesn't need any new driver
and currently works well under standard IDE subsystem.  Actually it's one
chip SSD.  IO mode is ATA-like custom mode for the host that doesn't have
IDE interface.

Followings are brief descriptions about IO mode.
A. IO mode based on ATA protocol and uses some custom command. (read confirm,
write confirm)
B. IO mode uses SRAM bus interface.
C. IO mode supports 4kB boot area, so host can boot from mflash.

This driver is quitely similar to a standard ATA driver, but because of
following reasons it is currently seperated with ATA layer.

1. ATA layer deals standard ATA protocol.  ATA layer have many low-
   level device specific interface, but data transfer keeps ATA rule.
   But, mflash IO mode doesn't.

2. Even though currently not used in mflash driver code, mflash has
   some custom command and modes.  (nand fusing, firmware patch, etc) If
   this feature supported in linux kernel, ATA layer more altered.

3. Currently PATA platform device driver doesn't support interrupt.
   (I'm not sure) But, mflash uses interrupt (polling mode is just for
   debug).

4. mflash is somewhat under-develop product.  Even though some company
   already using mflash their own product, I think more time is needed for
   standardization of custom command and mode.  That time (maybe October)
   I will talk to with ATA people.  If they accept integration, I will
   integrate.

Signed-off-by: unsik Kim <donari75@gmail.com>
Cc: Alan Cox <alan@lxorguk.ukuu.org.uk>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
2009-04-07 08:12:38 +02:00
..
accessibility
acpi ACPI: processor: use .notify method instead of installing handler directly 2009-04-05 02:25:07 -04:00
amba
ata
atm
auxdisplay
base Merge git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-cpumask 2009-04-05 10:33:07 -07:00
block mflash: initial support 2009-04-07 08:12:38 +02:00
bluetooth
cdrom
char rio: addition has higher precedence than ?: 2009-04-06 14:36:43 -07:00
clocksource
connector
cpufreq
cpuidle
crypto Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 2009-04-03 09:45:53 -07:00
dca
dio
dma Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/async_tx 2009-04-03 12:13:45 -07:00
edac edac: AMD8111 driver Kconfig & Makefile 2009-04-02 19:05:04 -07:00
eisa
firewire
firmware
gpio Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2009-04-03 15:24:35 -07:00
gpu Merge branch 'linus' into release 2009-04-05 02:14:15 -04:00
hid Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid 2009-04-03 15:25:44 -07:00
hwmon Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2009-04-03 15:24:35 -07:00
i2c i2c: Delete unused i2c-algo-sgi helper module 2009-04-06 18:12:25 +02:00
ide
idle
ieee1394
infiniband
input Merge git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6 2009-04-05 11:15:54 -07:00
isdn Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2009-04-03 15:24:35 -07:00
leds leds: introduce lp5521 led driver 2009-04-06 16:06:27 +01:00
lguest
macintosh
mca
md md/raid1: fix build breakage 2009-04-06 14:40:07 -07:00
media Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2009-04-03 15:24:35 -07:00
memstick
message [SCSI] mptsas: remove unneeded check 2009-04-03 09:23:10 -05:00
mfd mfd: fix da903x warning 2009-04-05 00:32:25 +02:00
misc Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2009-04-03 15:24:35 -07:00
mmc Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/drzeus/mmc 2009-04-05 10:18:21 -07:00
mtd Merge branch 'linux-next' of git://git.infradead.org/ubi-2.6 2009-04-06 15:00:00 -07:00
net Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2009-04-03 15:24:35 -07:00
nubus
of
oprofile Merge branch 'tracing-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2009-04-05 11:04:19 -07:00
parisc
parport parport: netmos 9845 & 9855 1P4S fixes 2009-04-02 19:05:04 -07:00
pci Merge git://git.infradead.org/iommu-2.6 2009-04-06 14:26:05 -07:00
pcmcia
platform Merge branch 'linus' into release 2009-04-05 02:14:15 -04:00
pnp Merge branch 'linus' into release 2009-04-05 02:14:15 -04:00
power Merge branch 'linus' into release 2009-04-05 02:14:15 -04:00
ps3
rapidio
regulator
rtc Merge git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6 2009-04-05 11:15:54 -07:00
s390 workqueue: add to_delayed_work() helper function 2009-04-02 19:04:50 -07:00
sbus
scsi Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6 2009-04-06 13:24:49 -07:00
serial 8250: Fix warning 2009-04-06 14:36:43 -07:00
sh
sn
spi spi-gpio: allow operation without CS signal 2009-04-02 19:04:51 -07:00
ssb
staging Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging-2.6 2009-04-05 11:06:45 -07:00
tc
telephony
thermal
uio
usb symbol: Remove various bits of left over junk 2009-04-06 14:36:42 -07:00
uwb
video backlight: Adds HP Jornada 700 series backlight driver 2009-04-06 16:06:55 +01:00
virtio
w1 mfd: remove DS1WM clock handling 2009-04-05 00:32:22 +02:00
watchdog
xen Merge git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-cpumask 2009-04-05 10:33:07 -07:00
zorro
Kconfig
Makefile