summaryrefslogtreecommitdiff
path: root/doc/README.mflash
diff options
context:
space:
mode:
Diffstat (limited to 'doc/README.mflash')
-rw-r--r--doc/README.mflash94
1 files changed, 0 insertions, 94 deletions
diff --git a/doc/README.mflash b/doc/README.mflash
deleted file mode 100644
index 50133b4..0000000
--- a/doc/README.mflash
+++ /dev/null
@@ -1,94 +0,0 @@
-
-This document describes m[g]flash support in u-boot.
-
-Contents
- 1. Overview
- 2. Porting mflash driver
- 3. Mflash command
- 4. Misc.
-
-1. Overview
-Mflash and gflash are embedded flash drive. The only difference is mflash is
-MCP(Multi Chip Package) device. These two device operate exactly same way.
-So the rest mflash repersents mflash and gflash altogether.
-
-2. Porting mflash driver
-
-2-1. Board configuration
-* Mflash driver support
-#define CONFIG_CMD_MG_DISK
-#define CONFIG_LIBATA
-
-* Environment variable support (optional)
-#define CONFIG_ENV_IS_IN_MG_DISK
-Also CONFIG_ENV_ADDR and CONFIG_ENV_SIZE should be defined.
-CONFIG_ENV_ADDR is byte offset starting from 0.
-
-Following example sets environment variable location to 0x80000 (1024'th
-sector) and size of 0x400 (1024 byte)
-#define CONFIG_ENV_ADDR 0x80000
-#define CONFIG_ENV_SIZE 0x400
-
-* Reserved size config (optional)
-If you want to use some reserved area for bootloader, environment variable or
-whatever, use CONFIG_MG_DISK_RES. The unit is KB. Mflash's block operation
-method use this value as start offset. So any u-boot's partition table parser
-and file system command work consistently. You can access this area by using
-mflash command.
-
-Following example sets 10MB of reserved area.
-#define CONFIG_MG_DISK_RES 10240
-
-2-2. Porting mg_get_drv_data function
-Mflash is active device and need some gpio control for proper operation.
-This board dependency resolved by using mg_get_drv_data function.
-Port this function at your board init file. See include/mg_disk.h
-
-Here is some pseudo example.
-
-static void custom_hdrst_pin (u8 level)
-{
- if (level)
- /* set hard reset pin to high */
- else
- /* set hard reset pin to low */
-}
-
-static void custom_ctrl_pin_init (void)
-{
- /* Set hard reset, write protect, deep power down pins
- * to gpio.
- * Set these pins to output high
- */
-}
-
-struct mg_drv_data* mg_get_drv_data (void)
-{
- static struct mg_drv_data prv;
-
- prv.base = /* base address of mflash */
- prv.mg_ctrl_pin_init = custom_ctrl_pin_init;
- prv.mg_hdrst_pin = custom_hdrst_pin;
-
- return &prv;
-}
-
-3. Mflash command
-
-* initialize : mgd init
-* random read : mgd read [from] [to] [size]
- ex) read 256 bytes from 0x300000 of mflash to 0xA0100000 of host memory
- mgd read 0x300000 0xA0100000 256
-* random write : mgd write [from] [to] [size]
-* sector read : mgd readsec [sector] [to] [count]
- ex) read 10 sectors starts from 400 sector to 0xA0100000
- mgd readsec 400 0xA0100000 10
-* sector write : mgd writesec [from] [sector] [count]
-
-4. Misc.
-Mflash's device interface name for block driver is "mgd".
-Here is ext2 file system access example.
-
- mgd init
- ext2ls mgd 0:1 /boot
- ext2load mgd 0:1 0xa0010000 /boot/uImage 1954156