Block: Remove MG DISK support
authorMarek Vasut <marex@denx.de>
Sun, 4 Mar 2012 15:11:32 +0000 (15:11 +0000)
committerWolfgang Denk <wd@denx.de>
Thu, 21 Jun 2012 18:53:09 +0000 (20:53 +0200)
This driver is unused and obsolete.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Wolfgang Denk <wd@denx.de>
Cc: unsik Kim <donari75@gmail.com>
18 files changed:
common/Makefile
common/cmd_mgdisk.c [deleted file]
common/cmd_nvedit.c
common/env_mgdisk.c [deleted file]
disk/part.c
disk/part_amiga.c
disk/part_dos.c
disk/part_efi.c
disk/part_iso.c
disk/part_mac.c
doc/README.mflash [deleted file]
drivers/block/Makefile
drivers/block/mg_disk.c [deleted file]
drivers/block/mg_disk_prv.h [deleted file]
fs/fat/fat.c
include/config_cmd_all.h
include/environment.h
include/mg_disk.h [deleted file]

index 6e23baaf6144274193a892bce44d57fbbd5cbb3c..31175e34d3baf93756dd481dbce9016005c9707e 100644 (file)
@@ -52,7 +52,6 @@ COBJS-$(CONFIG_ENV_IS_IN_EEPROM) += env_embedded.o
 XCOBJS-$(CONFIG_ENV_IS_IN_FLASH) += env_embedded.o
 COBJS-$(CONFIG_ENV_IS_IN_NVRAM) += env_embedded.o
 COBJS-$(CONFIG_ENV_IS_IN_FLASH) += env_flash.o
-COBJS-$(CONFIG_ENV_IS_IN_MG_DISK) += env_mgdisk.o
 COBJS-$(CONFIG_ENV_IS_IN_MMC) += env_mmc.o
 COBJS-$(CONFIG_ENV_IS_IN_FAT) += env_fat.o
 COBJS-$(CONFIG_ENV_IS_IN_NAND) += env_nand.o
@@ -115,7 +114,6 @@ COBJS-$(CONFIG_ID_EEPROM) += cmd_mac.o
 COBJS-$(CONFIG_CMD_MD5SUM) += cmd_md5sum.o
 COBJS-$(CONFIG_CMD_MEMORY) += cmd_mem.o
 COBJS-$(CONFIG_CMD_MFSL) += cmd_mfsl.o
-COBJS-$(CONFIG_CMD_MG_DISK) += cmd_mgdisk.o
 COBJS-$(CONFIG_MII) += miiphyutil.o
 COBJS-$(CONFIG_CMD_MII) += miiphyutil.o
 COBJS-$(CONFIG_PHYLIB) += miiphyutil.o
diff --git a/common/cmd_mgdisk.c b/common/cmd_mgdisk.c
deleted file mode 100644 (file)
index 3bd2429..0000000
+++ /dev/null
@@ -1,71 +0,0 @@
-/*
- * (C) Copyright 2009 mGine co.
- * unsik Kim <donari75@gmail.com>
- *
- * See file CREDITS for list of people who contributed to this
- * project.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of
- * the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
- * MA 02111-1307 USA
- */
-
-#include <common.h>
-#include <command.h>
-
-#include <mg_disk.h>
-
-int do_mg_disk_cmd (cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
-{
-       u32 from, to, size;
-
-       switch (argc) {
-       case 2:
-               if (!strcmp(argv[1], "init"))
-                       mg_disk_init();
-               else
-                       return 1;
-               break;
-       case 5:
-               from = simple_strtoul(argv[2], NULL, 0);
-               to = simple_strtoul(argv[3], NULL, 0);
-               size = simple_strtoul(argv[4], NULL, 0);
-
-               if (!strcmp(argv[1], "read"))
-                       mg_disk_read(from, (u8 *)to, size);
-               else if (!strcmp(argv[1], "write"))
-                       mg_disk_write(to, (u8 *)from, size);
-               else if (!strcmp(argv[1], "readsec"))
-                       mg_disk_read_sects((void *)to, from, size);
-               else if (!strcmp(argv[1], "writesec"))
-                       mg_disk_write_sects((void *)from, to, size);
-               else
-                       return 1;
-               break;
-       default:
-               return CMD_RET_USAGE;
-       }
-       return 0;
-}
-
-U_BOOT_CMD(
-       mgd,    5,      0,      do_mg_disk_cmd,
-       "mgine m[g]flash command\n",
-       ": mgine mflash IO mode (disk) command\n"
-       "    - initialize : mgd init\n"
-       "    - random read : mgd read [from] [to] [size]\n"
-       "    - random write : mgd write [from] [to] [size]\n"
-       "    - sector read : mgd readsec [sector] [to] [counts]\n"
-       "    - sector write : mgd writesec [from] [sector] [counts]"
-);
index 271200266c806da241404d585bbc7de8bf37b965..fd05e725d7648740e3d3c0b07c170484011da440 100644 (file)
@@ -59,7 +59,6 @@ DECLARE_GLOBAL_DATA_PTR;
 #if    !defined(CONFIG_ENV_IS_IN_EEPROM)       && \
        !defined(CONFIG_ENV_IS_IN_FLASH)        && \
        !defined(CONFIG_ENV_IS_IN_DATAFLASH)    && \
-       !defined(CONFIG_ENV_IS_IN_MG_DISK)      && \
        !defined(CONFIG_ENV_IS_IN_MMC)          && \
        !defined(CONFIG_ENV_IS_IN_FAT)          && \
        !defined(CONFIG_ENV_IS_IN_NAND)         && \
@@ -69,7 +68,7 @@ DECLARE_GLOBAL_DATA_PTR;
        !defined(CONFIG_ENV_IS_IN_REMOTE)       && \
        !defined(CONFIG_ENV_IS_NOWHERE)
 # error Define one of CONFIG_ENV_IS_IN_{EEPROM|FLASH|DATAFLASH|ONENAND|\
-SPI_FLASH|MG_DISK|NVRAM|MMC|FAT|REMOTE} or CONFIG_ENV_IS_NOWHERE
+SPI_FLASH|NVRAM|MMC|FAT|REMOTE} or CONFIG_ENV_IS_NOWHERE
 #endif
 
 #define XMK_STR(x)     #x
diff --git a/common/env_mgdisk.c b/common/env_mgdisk.c
deleted file mode 100644 (file)
index d00e141..0000000
+++ /dev/null
@@ -1,76 +0,0 @@
-/*
- * (C) Copyright 2009 mGine co.
- * unsik Kim <donari75@gmail.com>
- *
- * See file CREDITS for list of people who contributed to this
- * project.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of
- * the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
- * MA 02111-1307 USA
- */
-
-#include <common.h>
-#include <command.h>
-#include <environment.h>
-#include <linux/stddef.h>
-#include <mg_disk.h>
-
-char *env_name_spec = "MG_DISK";
-
-env_t *env_ptr;
-
-DECLARE_GLOBAL_DATA_PTR;
-
-void env_relocate_spec(void)
-{
-       char buf[CONFIG_ENV_SIZE];
-       unsigned int err, rc;
-
-       err = mg_disk_init();
-       if (err) {
-               set_default_env("!mg_disk_init error");
-               return;
-       }
-
-       err = mg_disk_read(CONFIG_ENV_ADDR, buf, CONFIG_ENV_SIZE);
-       if (err) {
-               set_default_env("!mg_disk_read error");
-               return;
-       }
-
-       env_import(buf, 1);
-}
-
-int saveenv(void)
-{
-       unsigned int err;
-
-       env_ptr->crc = crc32(0, env_ptr->data, ENV_SIZE);
-       err = mg_disk_write(CONFIG_ENV_ADDR, (u_char *)env_ptr,
-                       CONFIG_ENV_SIZE);
-       if (err)
-               puts("*** Warning - mg_disk_write error\n\n");
-
-       return err;
-}
-
-int env_init(void)
-{
-       /* use default */
-       gd->env_addr = (ulong)&default_environment[0];
-       gd->env_valid = 1;
-
-       return 0;
-}
index 8ca5d4bdfc7a7203dede5d7b6bc6f8a226ca0b5a..76f393900a50b452b9f7afa59a43f3e896fa90cc 100644 (file)
@@ -35,7 +35,6 @@
 #endif
 
 #if (defined(CONFIG_CMD_IDE) || \
-     defined(CONFIG_CMD_MG_DISK) || \
      defined(CONFIG_CMD_SATA) || \
      defined(CONFIG_CMD_SCSI) || \
      defined(CONFIG_CMD_USB) || \
@@ -65,9 +64,6 @@ static const struct block_drvr block_drvr[] = {
 #endif
 #if defined(CONFIG_SYSTEMACE)
        { .name = "ace", .get_dev = systemace_get_dev, },
-#endif
-#if defined(CONFIG_CMD_MG_DISK)
-       { .name = "mgd", .get_dev = mg_disk_get_dev, },
 #endif
        { },
 };
@@ -108,7 +104,6 @@ block_dev_desc_t *get_dev(char* ifname, int dev)
 #endif
 
 #if (defined(CONFIG_CMD_IDE) || \
-     defined(CONFIG_CMD_MG_DISK) || \
      defined(CONFIG_CMD_SATA) || \
      defined(CONFIG_CMD_SCSI) || \
      defined(CONFIG_CMD_USB) || \
@@ -244,7 +239,6 @@ void dev_print (block_dev_desc_t *dev_desc)
 #endif
 
 #if (defined(CONFIG_CMD_IDE) || \
-     defined(CONFIG_CMD_MG_DISK) || \
      defined(CONFIG_CMD_SATA) || \
      defined(CONFIG_CMD_SCSI) || \
      defined(CONFIG_CMD_USB) || \
index 50efe39b1b28ad6a532dfbbecfc0b36c24fbcd46..dc7d46256dd64a59f7979cd2051340203ce3bed5 100644 (file)
@@ -27,7 +27,6 @@
 #include "part_amiga.h"
 
 #if defined(CONFIG_CMD_IDE) || \
-    defined(CONFIG_CMD_MG_DISK) || \
     defined(CONFIG_CMD_SCSI) || \
     defined(CONFIG_CMD_USB) || \
     defined(CONFIG_MMC) || \
index c028aaf1b15fc55f050dd5ae5d19e9c228d281e8..a43dd9c02291d0ddefb5d1db3741ac5378871823 100644 (file)
@@ -36,7 +36,6 @@
 #include "part_dos.h"
 
 #if defined(CONFIG_CMD_IDE) || \
-    defined(CONFIG_CMD_MG_DISK) || \
     defined(CONFIG_CMD_SATA) || \
     defined(CONFIG_CMD_SCSI) || \
     defined(CONFIG_CMD_USB) || \
index b6cda57ff592667230e1d7c09dd64e991146701e..02927a0d9da5a84e47817947b693eb7ff8e2c58a 100644 (file)
@@ -38,7 +38,6 @@
 #include <linux/ctype.h>
 
 #if defined(CONFIG_CMD_IDE) || \
-    defined(CONFIG_CMD_MG_DISK) || \
     defined(CONFIG_CMD_SATA) || \
     defined(CONFIG_CMD_SCSI) || \
     defined(CONFIG_CMD_USB) || \
index 990da956cf52224949c9ddf951aefa945439fe12..4401790af2f8e12c2e4f4e02b0d89681c983e050 100644 (file)
@@ -26,7 +26,6 @@
 #include "part_iso.h"
 
 #if defined(CONFIG_CMD_IDE) || \
-    defined(CONFIG_CMD_MG_DISK) || \
     defined(CONFIG_CMD_SCSI) || \
     defined(CONFIG_CMD_SATA) || \
     defined(CONFIG_CMD_USB) || \
index bebe415d6290e8b90f4f066e5402985bc7682312..c1afc8c20aca1e99b1771e3732cd1c97925f9d5d 100644 (file)
@@ -35,7 +35,6 @@
 #include "part_mac.h"
 
 #if defined(CONFIG_CMD_IDE) || \
-    defined(CONFIG_CMD_MG_DISK) || \
     defined(CONFIG_CMD_SCSI) || \
     defined(CONFIG_CMD_SATA) || \
     defined(CONFIG_CMD_USB) || \
diff --git a/doc/README.mflash b/doc/README.mflash
deleted file mode 100644 (file)
index 50133b4..0000000
+++ /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
index b9c20475c26e86ee34e77eec96073c585292df62..f1ebdcc6d2eb65e481517ad04ebdc74c1309a2fc 100644 (file)
@@ -31,7 +31,6 @@ COBJS-$(CONFIG_DWC_AHSATA) += dwc_ahsata.o
 COBJS-$(CONFIG_FSL_SATA) += fsl_sata.o
 COBJS-$(CONFIG_IDE_FTIDE020) += ftide020.o
 COBJS-$(CONFIG_LIBATA) += libata.o
-COBJS-$(CONFIG_CMD_MG_DISK) += mg_disk.o
 COBJS-$(CONFIG_MVSATA_IDE) += mvsata_ide.o
 COBJS-$(CONFIG_MX51_PATA) += mxc_ata.o
 COBJS-$(CONFIG_PATA_BFIN) += pata_bfin.o
diff --git a/drivers/block/mg_disk.c b/drivers/block/mg_disk.c
deleted file mode 100644 (file)
index 4407006..0000000
+++ /dev/null
@@ -1,586 +0,0 @@
-/*
- * (C) Copyright 2009 mGine co.
- * unsik Kim <donari75@gmail.com>
- *
- * See file CREDITS for list of people who contributed to this
- * project.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of
- * the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
- * MA 02111-1307 USA
- */
-
-#include <common.h>
-#include <malloc.h>
-#include <part.h>
-#include <ata.h>
-#include <asm/io.h>
-#include "mg_disk_prv.h"
-
-#ifndef CONFIG_MG_DISK_RES
-#define CONFIG_MG_DISK_RES     0
-#endif
-
-#define MG_RES_SEC ((CONFIG_MG_DISK_RES) << 1)
-
-static struct mg_host host;
-
-static inline u32 mg_base(void)
-{
-       return host.drv_data->base;
-}
-
-static block_dev_desc_t mg_disk_dev = {
-       .if_type = IF_TYPE_ATAPI,
-       .part_type = PART_TYPE_UNKNOWN,
-       .type = DEV_TYPE_HARDDISK,
-       .blksz = MG_SECTOR_SIZE,
-       .priv = &host };
-
-static void mg_dump_status (const char *msg, unsigned int stat, unsigned err)
-{
-       char *name = MG_DEV_NAME;
-
-       printf("%s: %s: status=0x%02x { ", name, msg, stat & 0xff);
-       if (stat & MG_REG_STATUS_BIT_BUSY)
-               printf("Busy ");
-       if (stat & MG_REG_STATUS_BIT_READY)
-               printf("DriveReady ");
-       if (stat & MG_REG_STATUS_BIT_WRITE_FAULT)
-               printf("WriteFault ");
-       if (stat & MG_REG_STATUS_BIT_SEEK_DONE)
-               printf("SeekComplete ");
-       if (stat & MG_REG_STATUS_BIT_DATA_REQ)
-               printf("DataRequest ");
-       if (stat & MG_REG_STATUS_BIT_CORRECTED_ERROR)
-               printf("CorrectedError ");
-       if (stat & MG_REG_STATUS_BIT_ERROR)
-               printf("Error ");
-       printf("}\n");
-
-       if ((stat & MG_REG_STATUS_BIT_ERROR)) {
-               printf("%s: %s: error=0x%02x { ", name, msg, err & 0xff);
-               if (err & MG_REG_ERR_BBK)
-                       printf("BadSector ");
-               if (err & MG_REG_ERR_UNC)
-                       printf("UncorrectableError ");
-               if (err & MG_REG_ERR_IDNF)
-                       printf("SectorIdNotFound ");
-               if (err & MG_REG_ERR_ABRT)
-                       printf("DriveStatusError ");
-               if (err & MG_REG_ERR_AMNF)
-                       printf("AddrMarkNotFound ");
-               printf("}\n");
-       }
-}
-
-static unsigned int mg_wait (u32 expect, u32 msec)
-{
-       u8 status;
-       u32 from, cur, err;
-
-       err = MG_ERR_NONE;
-#ifdef CONFIG_SYS_LOW_RES_TIMER
-       reset_timer();
-#endif
-       from = get_timer(0);
-
-       status = readb(mg_base() + MG_REG_STATUS);
-       do {
-               cur = get_timer(from);
-               if (status & MG_REG_STATUS_BIT_BUSY) {
-                       if (expect == MG_REG_STATUS_BIT_BUSY)
-                               break;
-               } else {
-                       /* Check the error condition! */
-                       if (status & MG_REG_STATUS_BIT_ERROR) {
-                               err = readb(mg_base() + MG_REG_ERROR);
-                               mg_dump_status("mg_wait", status, err);
-                               break;
-                       }
-
-                       if (expect == MG_STAT_READY)
-                               if (MG_READY_OK(status))
-                                       break;
-
-                       if (expect == MG_REG_STATUS_BIT_DATA_REQ)
-                               if (status & MG_REG_STATUS_BIT_DATA_REQ)
-                                       break;
-               }
-               status = readb(mg_base() + MG_REG_STATUS);
-       } while (cur < msec);
-
-       if (cur >= msec)
-               err = MG_ERR_TIMEOUT;
-
-       return err;
-}
-
-static int mg_get_disk_id (void)
-{
-       u16 id[(MG_SECTOR_SIZE / sizeof(u16))];
-       hd_driveid_t *iop = (hd_driveid_t *)id;
-       u32 i, err, res;
-
-       writeb(MG_CMD_ID, mg_base() + MG_REG_COMMAND);
-       err = mg_wait(MG_REG_STATUS_BIT_DATA_REQ, 3000);
-       if (err)
-               return err;
-
-       for(i = 0; i < (MG_SECTOR_SIZE / sizeof(u16)); i++)
-               id[i] = readw(mg_base() + MG_BUFF_OFFSET + i * 2);
-
-       writeb(MG_CMD_RD_CONF, mg_base() + MG_REG_COMMAND);
-       err = mg_wait(MG_STAT_READY, 3000);
-       if (err)
-               return err;
-
-       ata_swap_buf_le16(id, MG_SECTOR_SIZE / sizeof(u16));
-
-       if((iop->field_valid & 1) == 0)
-               return MG_ERR_TRANSLATION;
-
-       ata_id_c_string(id, (unsigned char *)mg_disk_dev.revision,
-                       ATA_ID_FW_REV, sizeof(mg_disk_dev.revision));
-       ata_id_c_string(id, (unsigned char *)mg_disk_dev.vendor,
-                       ATA_ID_PROD, sizeof(mg_disk_dev.vendor));
-       ata_id_c_string(id, (unsigned char *)mg_disk_dev.product,
-                       ATA_ID_SERNO, sizeof(mg_disk_dev.product));
-
-#ifdef __BIG_ENDIAN
-       iop->lba_capacity = (iop->lba_capacity << 16) |
-               (iop->lba_capacity >> 16);
-#endif /* __BIG_ENDIAN */
-
-       if (MG_RES_SEC) {
-               MG_DBG("MG_RES_SEC=%d\n", MG_RES_SEC);
-               iop->cyls = (iop->lba_capacity - MG_RES_SEC) /
-                       iop->sectors / iop->heads;
-               res = iop->lba_capacity -
-                       iop->cyls * iop->heads * iop->sectors;
-               iop->lba_capacity -= res;
-               printf("mg_disk: %d sectors reserved\n", res);
-       }
-
-       mg_disk_dev.lba = iop->lba_capacity;
-       return MG_ERR_NONE;
-}
-
-static int mg_disk_reset (void)
-{
-       struct mg_drv_data *prv_data = host.drv_data;
-       s32 err;
-       u8 init_status;
-
-       /* hdd rst low */
-       prv_data->mg_hdrst_pin(0);
-       err = mg_wait(MG_REG_STATUS_BIT_BUSY, 300);
-       if(err)
-               return err;
-
-       /* hdd rst high */
-       prv_data->mg_hdrst_pin(1);
-       err = mg_wait(MG_STAT_READY, 3000);
-       if(err)
-               return err;
-
-       /* soft reset on */
-       writeb(MG_REG_CTRL_RESET | MG_REG_CTRL_INTR_DISABLE,
-               mg_base() + MG_REG_DRV_CTRL);
-       err = mg_wait(MG_REG_STATUS_BIT_BUSY, 3000);
-       if(err)
-               return err;
-
-       /* soft reset off */
-       writeb(MG_REG_CTRL_INTR_DISABLE, mg_base() + MG_REG_DRV_CTRL);
-       err = mg_wait(MG_STAT_READY, 3000);
-       if(err)
-               return err;
-
-       init_status = readb(mg_base() + MG_REG_STATUS) & 0xf;
-
-       if (init_status == 0xf)
-               return MG_ERR_INIT_STAT;
-
-       return err;
-}
-
-
-static unsigned int mg_out(unsigned int sect_num,
-                       unsigned int sect_cnt,
-                       unsigned int cmd)
-{
-       u32 err = MG_ERR_NONE;
-
-       err = mg_wait(MG_STAT_READY, 3000);
-       if (err)
-               return err;
-
-       writeb((u8)sect_cnt, mg_base() + MG_REG_SECT_CNT);
-       writeb((u8)sect_num, mg_base() + MG_REG_SECT_NUM);
-       writeb((u8)(sect_num >> 8), mg_base() + MG_REG_CYL_LOW);
-       writeb((u8)(sect_num >> 16), mg_base() + MG_REG_CYL_HIGH);
-       writeb((u8)((sect_num >> 24) | MG_REG_HEAD_LBA_MODE),
-               mg_base() + MG_REG_DRV_HEAD);
-       writeb(cmd, mg_base() + MG_REG_COMMAND);
-
-       return err;
-}
-
-static unsigned int mg_do_read_sects(void *buff, u32 sect_num, u32 sect_cnt)
-{
-       u32 i, j, err;
-       u8 *buff_ptr = buff;
-       union mg_uniwb uniwb;
-
-       err = mg_out(sect_num, sect_cnt, MG_CMD_RD);
-       if (err)
-               return err;
-
-       for (i = 0; i < sect_cnt; i++) {
-               err = mg_wait(MG_REG_STATUS_BIT_DATA_REQ, 3000);
-               if (err)
-                       return err;
-
-               if ((u32)buff_ptr & 1) {
-                       for (j = 0; j < MG_SECTOR_SIZE >> 1; j++) {
-                               uniwb.w = readw(mg_base() + MG_BUFF_OFFSET
-                                               + (j << 1));
-                               *buff_ptr++ = uniwb.b[0];
-                               *buff_ptr++ = uniwb.b[1];
-                       }
-               } else {
-                       for(j = 0; j < MG_SECTOR_SIZE >> 1; j++) {
-                               *(u16 *)buff_ptr = readw(mg_base() +
-                                               MG_BUFF_OFFSET + (j << 1));
-                               buff_ptr += 2;
-                       }
-               }
-               writeb(MG_CMD_RD_CONF, mg_base() + MG_REG_COMMAND);
-
-               MG_DBG("%u (0x%8.8x) sector read", sect_num + i,
-                       (sect_num + i) * MG_SECTOR_SIZE);
-       }
-
-       return err;
-}
-
-unsigned int mg_disk_read_sects(void *buff, u32 sect_num, u32 sect_cnt)
-{
-       u32 quotient, residue, i, err;
-       u8 *buff_ptr = buff;
-
-       quotient = sect_cnt >> 8;
-       residue = sect_cnt % 256;
-
-       for (i = 0; i < quotient; i++) {
-               MG_DBG("sect num : %u buff : 0x%8.8x", sect_num, (u32)buff_ptr);
-               err = mg_do_read_sects(buff_ptr, sect_num, 256);
-               if (err)
-                       return err;
-               sect_num += 256;
-               buff_ptr += 256 * MG_SECTOR_SIZE;
-       }
-
-       if (residue) {
-               MG_DBG("sect num : %u buff : %8.8x", sect_num, (u32)buff_ptr);
-               err = mg_do_read_sects(buff_ptr, sect_num, residue);
-       }
-
-       return err;
-}
-
-unsigned long mg_block_read (int dev, unsigned long start,
-               lbaint_t blkcnt, void *buffer)
-{
-       start += MG_RES_SEC;
-       if (! mg_disk_read_sects(buffer, start, blkcnt))
-               return blkcnt;
-       else
-               return 0;
-}
-
-unsigned int mg_disk_read (u32 addr, u8 *buff, u32 len)
-{
-       u8 *sect_buff, *buff_ptr = buff;
-       u32 cur_addr, next_sec_addr, end_addr, cnt, sect_num;
-       u32 err = MG_ERR_NONE;
-
-       /* TODO : sanity chk */
-       cnt = 0;
-       cur_addr = addr;
-       end_addr = addr + len;
-
-       sect_buff = malloc(MG_SECTOR_SIZE);
-
-       if (cur_addr & MG_SECTOR_SIZE_MASK) {
-               next_sec_addr = (cur_addr + MG_SECTOR_SIZE) &
-                               ~MG_SECTOR_SIZE_MASK;
-               sect_num = cur_addr >> MG_SECTOR_SIZE_SHIFT;
-               err = mg_disk_read_sects(sect_buff, sect_num, 1);
-               if (err)
-                       goto mg_read_exit;
-
-               if (end_addr < next_sec_addr) {
-                       memcpy(buff_ptr,
-                               sect_buff + (cur_addr & MG_SECTOR_SIZE_MASK),
-                               end_addr - cur_addr);
-                       MG_DBG("copies %u byte from sector offset 0x%8.8x",
-                               end_addr - cur_addr, cur_addr);
-                       cur_addr = end_addr;
-               } else {
-                       memcpy(buff_ptr,
-                               sect_buff + (cur_addr & MG_SECTOR_SIZE_MASK),
-                               next_sec_addr - cur_addr);
-                       MG_DBG("copies %u byte from sector offset 0x%8.8x",
-                               next_sec_addr - cur_addr, cur_addr);
-                       buff_ptr += (next_sec_addr - cur_addr);
-                       cur_addr = next_sec_addr;
-               }
-       }
-
-       if (cur_addr < end_addr) {
-               sect_num = cur_addr >> MG_SECTOR_SIZE_SHIFT;
-               cnt = ((end_addr & ~MG_SECTOR_SIZE_MASK) - cur_addr) >>
-                       MG_SECTOR_SIZE_SHIFT;
-
-               if (cnt)
-                       err = mg_disk_read_sects(buff_ptr, sect_num, cnt);
-               if (err)
-                       goto mg_read_exit;
-
-               buff_ptr += cnt * MG_SECTOR_SIZE;
-               cur_addr += cnt * MG_SECTOR_SIZE;
-
-               if (cur_addr < end_addr) {
-                       sect_num = cur_addr >> MG_SECTOR_SIZE_SHIFT;
-                       err = mg_disk_read_sects(sect_buff, sect_num, 1);
-                       if (err)
-                               goto mg_read_exit;
-                       memcpy(buff_ptr, sect_buff, end_addr - cur_addr);
-                       MG_DBG("copies %u byte", end_addr - cur_addr);
-               }
-       }
-
-mg_read_exit:
-       free(sect_buff);
-
-       return err;
-}
-static int mg_do_write_sects(void *buff, u32 sect_num, u32 sect_cnt)
-{
-       u32 i, j, err;
-       u8 *buff_ptr = buff;
-       union mg_uniwb uniwb;
-
-       err = mg_out(sect_num, sect_cnt, MG_CMD_WR);
-       if (err)
-               return err;
-
-       for (i = 0; i < sect_cnt; i++) {
-               err = mg_wait(MG_REG_STATUS_BIT_DATA_REQ, 3000);
-               if (err)
-                       return err;
-
-               if ((u32)buff_ptr & 1) {
-                       uniwb.b[0] = *buff_ptr++;
-                       uniwb.b[1] = *buff_ptr++;
-                       writew(uniwb.w, mg_base() + MG_BUFF_OFFSET + (j << 1));
-               } else {
-                       for(j = 0; j < MG_SECTOR_SIZE >> 1; j++) {
-                               writew(*(u16 *)buff_ptr,
-                                               mg_base() + MG_BUFF_OFFSET +
-                                               (j << 1));
-                               buff_ptr += 2;
-                       }
-               }
-               writeb(MG_CMD_WR_CONF, mg_base() + MG_REG_COMMAND);
-
-               MG_DBG("%u (0x%8.8x) sector write",
-                       sect_num + i, (sect_num + i) * MG_SECTOR_SIZE);
-       }
-
-       return err;
-}
-
-unsigned int mg_disk_write_sects(void *buff, u32 sect_num, u32 sect_cnt)
-{
-       u32 quotient, residue, i;
-       u32 err = MG_ERR_NONE;
-       u8 *buff_ptr = buff;
-
-       quotient = sect_cnt >> 8;
-       residue = sect_cnt % 256;
-
-       for (i = 0; i < quotient; i++) {
-               MG_DBG("sect num : %u buff : %8.8x", sect_num, (u32)buff_ptr);
-               err = mg_do_write_sects(buff_ptr, sect_num, 256);
-               if (err)
-                       return err;
-               sect_num += 256;
-               buff_ptr += 256 * MG_SECTOR_SIZE;
-       }
-
-       if (residue) {
-               MG_DBG("sect num : %u buff : %8.8x", sect_num, (u32)buff_ptr);
-               err = mg_do_write_sects(buff_ptr, sect_num, residue);
-       }
-
-       return err;
-}
-
-unsigned long mg_block_write (int dev, unsigned long start,
-               lbaint_t blkcnt, const void *buffer)
-{
-       start += MG_RES_SEC;
-       if (!mg_disk_write_sects((void *)buffer, start, blkcnt))
-               return blkcnt;
-       else
-               return 0;
-}
-
-unsigned int mg_disk_write(u32 addr, u8 *buff, u32 len)
-{
-       u8 *sect_buff, *buff_ptr = buff;
-       u32 cur_addr, next_sec_addr, end_addr, cnt, sect_num;
-       u32 err = MG_ERR_NONE;
-
-       /* TODO : sanity chk */
-       cnt = 0;
-       cur_addr = addr;
-       end_addr = addr + len;
-
-       sect_buff = malloc(MG_SECTOR_SIZE);
-
-       if (cur_addr & MG_SECTOR_SIZE_MASK) {
-
-               next_sec_addr = (cur_addr + MG_SECTOR_SIZE) &
-                               ~MG_SECTOR_SIZE_MASK;
-               sect_num = cur_addr >> MG_SECTOR_SIZE_SHIFT;
-               err = mg_disk_read_sects(sect_buff, sect_num, 1);
-               if (err)
-                       goto mg_write_exit;
-
-               if (end_addr < next_sec_addr) {
-                       memcpy(sect_buff + (cur_addr & MG_SECTOR_SIZE_MASK),
-                               buff_ptr, end_addr - cur_addr);
-                       MG_DBG("copies %u byte to sector offset 0x%8.8x",
-                               end_addr - cur_addr, cur_addr);
-                       cur_addr = end_addr;
-               } else {
-                       memcpy(sect_buff + (cur_addr & MG_SECTOR_SIZE_MASK),
-                               buff_ptr, next_sec_addr - cur_addr);
-                       MG_DBG("copies %u byte to sector offset 0x%8.8x",
-                               next_sec_addr - cur_addr, cur_addr);
-                       buff_ptr += (next_sec_addr - cur_addr);
-                       cur_addr = next_sec_addr;
-               }
-
-               err = mg_disk_write_sects(sect_buff, sect_num, 1);
-               if (err)
-                       goto mg_write_exit;
-       }
-
-       if (cur_addr < end_addr) {
-
-               sect_num = cur_addr >> MG_SECTOR_SIZE_SHIFT;
-               cnt = ((end_addr & ~MG_SECTOR_SIZE_MASK) - cur_addr) >>
-                       MG_SECTOR_SIZE_SHIFT;
-
-               if (cnt)
-                       err = mg_disk_write_sects(buff_ptr, sect_num, cnt);
-               if (err)
-                       goto mg_write_exit;
-
-               buff_ptr += cnt * MG_SECTOR_SIZE;
-               cur_addr += cnt * MG_SECTOR_SIZE;
-
-               if (cur_addr < end_addr) {
-                       sect_num = cur_addr >> MG_SECTOR_SIZE_SHIFT;
-                       err = mg_disk_read_sects(sect_buff, sect_num, 1);
-                       if (err)
-                               goto mg_write_exit;
-                       memcpy(sect_buff, buff_ptr, end_addr - cur_addr);
-                       MG_DBG("copies %u byte", end_addr - cur_addr);
-                       err = mg_disk_write_sects(sect_buff, sect_num, 1);
-               }
-
-       }
-
-mg_write_exit:
-       free(sect_buff);
-
-       return err;
-}
-
-#ifdef CONFIG_PARTITIONS
-block_dev_desc_t *mg_disk_get_dev(int dev)
-{
-       return ((block_dev_desc_t *) & mg_disk_dev);
-}
-#endif
-
-/* must override this function */
-struct mg_drv_data * __attribute__((weak)) mg_get_drv_data (void)
-{
-       puts ("### WARNING ### port mg_get_drv_data function\n");
-       return NULL;
-}
-
-unsigned int mg_disk_init (void)
-{
-       struct mg_drv_data *prv_data;
-       u32 err = MG_ERR_NONE;
-
-       prv_data = mg_get_drv_data();
-       if (! prv_data) {
-               printf("%s:%d fail (no driver_data)\n", __func__, __LINE__);
-               err = MG_ERR_NO_DRV_DATA;
-               return err;
-       }
-
-       ((struct mg_host *)mg_disk_dev.priv)->drv_data = prv_data;
-
-       /* init ctrl pin */
-       if (prv_data->mg_ctrl_pin_init)
-               prv_data->mg_ctrl_pin_init();
-
-       if (! prv_data->mg_hdrst_pin) {
-               err = MG_ERR_CTRL_RST;
-               return err;
-       }
-
-       /* disk reset */
-       err = mg_disk_reset();
-       if (err) {
-               printf("%s:%d fail (err code : %d)\n", __func__, __LINE__, err);
-               return err;
-       }
-
-       /* get disk id */
-       err = mg_get_disk_id();
-       if (err) {
-               printf("%s:%d fail (err code : %d)\n", __func__, __LINE__, err);
-               return err;
-       }
-
-       mg_disk_dev.block_read = mg_block_read;
-       mg_disk_dev.block_write = mg_block_write;
-
-       init_part(&mg_disk_dev);
-
-       dev_print(&mg_disk_dev);
-
-       return err;
-}
diff --git a/drivers/block/mg_disk_prv.h b/drivers/block/mg_disk_prv.h
deleted file mode 100644 (file)
index 43e90ea..0000000
+++ /dev/null
@@ -1,144 +0,0 @@
-/*
- * (C) Copyright 2009 mGine co.
- * unsik Kim <donari75@gmail.com>
- *
- * See file CREDITS for list of people who contributed to this
- * project.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of
- * the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
- * MA 02111-1307 USA
- */
-
-#ifndef __MG_DISK_PRV_H__
-#define __MG_DISK_PRV_H__
-
-#include <mg_disk.h>
-
-/* name for block device */
-#define MG_DISK_NAME "mgd"
-/* name for platform device */
-#define MG_DEV_NAME "mg_disk"
-
-#define MG_DISK_MAJ 240
-#define MG_DISK_MAX_PART 16
-#define MG_SECTOR_SIZE 512
-#define MG_SECTOR_SIZE_MASK (512 - 1)
-#define MG_SECTOR_SIZE_SHIFT (9)
-#define MG_MAX_SECTS 256
-
-/* Register offsets */
-#define MG_BUFF_OFFSET                 0x8000
-#define MG_STORAGE_BUFFER_SIZE         0x200
-#define MG_REG_OFFSET                  0xC000
-#define MG_REG_FEATURE                 (MG_REG_OFFSET + 2)     /* write case */
-#define MG_REG_ERROR                   (MG_REG_OFFSET + 2)     /* read case */
-#define MG_REG_SECT_CNT                        (MG_REG_OFFSET + 4)
-#define MG_REG_SECT_NUM                        (MG_REG_OFFSET + 6)
-#define MG_REG_CYL_LOW                 (MG_REG_OFFSET + 8)
-#define MG_REG_CYL_HIGH                        (MG_REG_OFFSET + 0xA)
-#define MG_REG_DRV_HEAD                        (MG_REG_OFFSET + 0xC)
-#define MG_REG_COMMAND                 (MG_REG_OFFSET + 0xE)   /* write case */
-#define MG_REG_STATUS                  (MG_REG_OFFSET + 0xE)   /* read  case */
-#define MG_REG_DRV_CTRL                        (MG_REG_OFFSET + 0x10)
-#define MG_REG_BURST_CTRL              (MG_REG_OFFSET + 0x12)
-
-/* "Drive Select/Head Register" bit values */
-#define MG_REG_HEAD_MUST_BE_ON         0xA0 /* These 2 bits are always on */
-#define MG_REG_HEAD_DRIVE_MASTER       (0x00 | MG_REG_HEAD_MUST_BE_ON)
-#define MG_REG_HEAD_DRIVE_SLAVE                (0x10 | MG_REG_HEAD_MUST_BE_ON)
-#define MG_REG_HEAD_LBA_MODE           (0x40 | MG_REG_HEAD_MUST_BE_ON)
-
-
-/* "Device Control Register" bit values */
-#define MG_REG_CTRL_INTR_ENABLE                        0x0
-#define MG_REG_CTRL_INTR_DISABLE               (0x1 << 1)
-#define MG_REG_CTRL_RESET                      (0x1 << 2)
-#define MG_REG_CTRL_INTR_POLA_ACTIVE_HIGH      0x0
-#define MG_REG_CTRL_INTR_POLA_ACTIVE_LOW       (0x1 << 4)
-#define MG_REG_CTRL_DPD_POLA_ACTIVE_LOW                0x0
-#define MG_REG_CTRL_DPD_POLA_ACTIVE_HIGH       (0x1 << 5)
-#define MG_REG_CTRL_DPD_DISABLE                        0x0
-#define MG_REG_CTRL_DPD_ENABLE                 (0x1 << 6)
-
-/* Status register bit */
- /* error bit in status register */
-#define MG_REG_STATUS_BIT_ERROR                        0x01
- /* corrected error in status register */
-#define MG_REG_STATUS_BIT_CORRECTED_ERROR      0x04
- /* data request bit in status register */
-#define MG_REG_STATUS_BIT_DATA_REQ             0x08
- /* DSC - Drive Seek Complete */
-#define MG_REG_STATUS_BIT_SEEK_DONE            0x10
- /* DWF - Drive Write Fault */
-#define MG_REG_STATUS_BIT_WRITE_FAULT          0x20
-#define MG_REG_STATUS_BIT_READY                        0x40
-#define MG_REG_STATUS_BIT_BUSY                 0x80
-
-/* handy status */
-#define MG_STAT_READY  (MG_REG_STATUS_BIT_READY | MG_REG_STATUS_BIT_SEEK_DONE)
-#define MG_READY_OK(s) (((s) & (MG_STAT_READY | \
-                               (MG_REG_STATUS_BIT_BUSY | \
-                                MG_REG_STATUS_BIT_WRITE_FAULT | \
-                                MG_REG_STATUS_BIT_ERROR))) == MG_STAT_READY)
-
-/* Error register */
-#define MG_REG_ERR_AMNF                0x01
-#define MG_REG_ERR_ABRT                0x04
-#define MG_REG_ERR_IDNF                0x10
-#define MG_REG_ERR_UNC         0x40
-#define MG_REG_ERR_BBK         0x80
-
-/* error code for others */
-#define MG_ERR_NONE            0
-#define MG_ERR_TIMEOUT         0x100
-#define MG_ERR_INIT_STAT       0x101
-#define MG_ERR_TRANSLATION     0x102
-#define MG_ERR_CTRL_RST                0x103
-#define MG_ERR_NO_DRV_DATA     0x104
-
-#define MG_MAX_ERRORS  16      /* Max read/write errors/sector */
-#define MG_RESET_FREQ  4       /* Reset controller every 4th retry */
-
-/* command */
-#define MG_CMD_RD      0x20
-#define MG_CMD_WR      0x30
-#define MG_CMD_SLEEP   0x99
-#define MG_CMD_WAKEUP  0xC3
-#define MG_CMD_ID      0xEC
-#define MG_CMD_WR_CONF 0x3C
-#define MG_CMD_RD_CONF 0x40
-
-union mg_uniwb{
-       u16 w;
-       u8 b[2];
-};
-
-/* main structure for mflash driver */
-struct mg_host {
-       struct mg_drv_data *drv_data;
-       /* for future use */
-};
-
-/*
- * Debugging macro and defines
- */
-#undef DO_MG_DEBUG
-#ifdef DO_MG_DEBUG
-# define MG_DBG(fmt, args...) printf("%s:%d "fmt"\n", __func__, __LINE__,##args)
-#else /* CONFIG_MG_DEBUG */
-# define MG_DBG(fmt, args...) do { } while(0)
-#endif /* CONFIG_MG_DEBUG */
-
-#endif
index a3085b51d99851b4db746368196d08ef664b0bdb..bc46cc5d20030c4ee49c3e73ef365b89cfe56cde 100644 (file)
@@ -70,7 +70,6 @@ int fat_register_device (block_dev_desc_t * dev_desc, int part_no)
        cur_dev = NULL;
 
 #if (defined(CONFIG_CMD_IDE) || \
-     defined(CONFIG_CMD_MG_DISK) || \
      defined(CONFIG_CMD_SATA) || \
      defined(CONFIG_CMD_SCSI) || \
      defined(CONFIG_CMD_USB) || \
@@ -1128,7 +1127,6 @@ int file_fat_detectfs (void)
        }
 
 #if defined(CONFIG_CMD_IDE) || \
-    defined(CONFIG_CMD_MG_DISK) || \
     defined(CONFIG_CMD_SATA) || \
     defined(CONFIG_CMD_SCSI) || \
     defined(CONFIG_CMD_USB) || \
index 55f4f7a30b2a8a3227c021cf2ece323c1dda4f37..73c0558202144110281d5605a40b13811178562a 100644 (file)
@@ -55,7 +55,6 @@
 #define CONFIG_CMD_LOADS       /* loads                        */
 #define CONFIG_CMD_MEMORY      /* md mm nm mw cp cmp crc base loop mtest */
 #define CONFIG_CMD_MFSL                /* FSL support for Microblaze   */
-#define CONFIG_CMD_MG_DISK     /* mGine m(g)flash IO node support */
 #define CONFIG_CMD_MII         /* MII support                  */
 #define CONFIG_CMD_MISC                /* Misc functions like sleep etc*/
 #define CONFIG_CMD_MMC         /* MMC support                  */
index 1ef44f3cc6d7076935aad1736bcf19f853a17491..ae3f7b6aedf7a74a82f6429ad58b733f4e027347 100644 (file)
@@ -96,15 +96,6 @@ extern unsigned long nand_env_oob_offset;
 # endif
 #endif /* CONFIG_ENV_IS_IN_NAND */
 
-#if defined(CONFIG_ENV_IS_IN_MG_DISK)
-# ifndef CONFIG_ENV_ADDR
-#  error "Need to define CONFIG_ENV_ADDR when using CONFIG_ENV_IS_IN_MG_DISK"
-# endif
-# ifndef CONFIG_ENV_SIZE
-#  error "Need to define CONFIG_ENV_SIZE when using CONFIG_ENV_IS_IN_MG_DISK"
-# endif
-#endif /* CONFIG_ENV_IS_IN_MG_DISK */
-
 /* Embedded env is only supported for some flash types */
 #ifdef CONFIG_ENV_IS_EMBEDDED
 # if   !defined(CONFIG_ENV_IS_IN_FLASH)        && \
diff --git a/include/mg_disk.h b/include/mg_disk.h
deleted file mode 100644 (file)
index bd767a1..0000000
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * (C) Copyright 2009 mGine co.
- * unsik Kim <donari75@gmail.com>
- *
- * See file CREDITS for list of people who contributed to this
- * project.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of
- * the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
- * MA 02111-1307 USA
- */
-
-#ifndef MG_DISK_H_
-#define MG_DISK_H_
-
-#include <asm/types.h>
-
-/* private driver data */
-struct mg_drv_data {
-       /* base address of mflash */
-       u32 base;
-       /* Initialize hard reset, write protect, deep power down pins.
-        * Set these pins to GPIO and output high
-        */
-       void (*mg_ctrl_pin_init) (void);
-       /* Set hard reset pin for given level
-        * level : logical level of hard reset pin (0 or 1)
-        */
-       void (*mg_hdrst_pin) (u8 level);
-};
-
-struct mg_drv_data* mg_get_drv_data (void);
-
-unsigned int mg_disk_init (void);
-unsigned int mg_disk_read (u32 addr, u8 *buff, u32 len);
-unsigned int mg_disk_write(u32 addr, u8 *buff, u32 len);
-unsigned int mg_disk_write_sects(void *buff, u32 sect_num, u32 sect_cnt);
-unsigned int mg_disk_read_sects(void *buff, u32 sect_num, u32 sect_cnt);
-
-#endif /*MG_DISK_H_*/