diff options
Diffstat (limited to 'include')
| -rw-r--r-- | include/config_cmd_all.h | 1 | ||||
| -rw-r--r-- | include/environment.h | 12 | ||||
| -rw-r--r-- | include/mg_disk.h | 51 | ||||
| -rw-r--r-- | include/part.h | 1 | 
4 files changed, 65 insertions, 0 deletions
| diff --git a/include/config_cmd_all.h b/include/config_cmd_all.h index c5e0d268e..c747b4baa 100644 --- a/include/config_cmd_all.h +++ b/include/config_cmd_all.h @@ -84,5 +84,6 @@  #define CONFIG_CMD_VFD		/* VFD support (TRAB)		*/  #define CONFIG_CMD_XIMG		/* Load part of Multi Image	*/  #define CONFIG_CMD_AT91_SPIMUX	/* AT91 MMC/SPI Mux Support     */ +#define CONFIG_CMD_MG_DISK	/* mGine m(g)flash IO node support */  #endif	/* _CONFIG_CMD_ALL_H */ diff --git a/include/environment.h b/include/environment.h index ea6b4d12e..507e8326a 100644 --- a/include/environment.h +++ b/include/environment.h @@ -84,6 +84,18 @@  # 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 +# ifdef CONFIG_ENV_IS_EMBEDDED +#  error "CONFIG_ENV_IS_EMBEDDED not supported when using CONFIG_ENV_IS_IN_MG_DISK" +# endif +#endif /* CONFIG_ENV_IS_IN_MG_DISK */ +  #ifdef USE_HOSTCC  # include <stdint.h>  #else diff --git a/include/mg_disk.h b/include/mg_disk.h new file mode 100644 index 000000000..bd767a115 --- /dev/null +++ b/include/mg_disk.h @@ -0,0 +1,51 @@ +/* + * (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_*/ diff --git a/include/part.h b/include/part.h index 980fd0435..3cdae0214 100644 --- a/include/part.h +++ b/include/part.h @@ -100,6 +100,7 @@ block_dev_desc_t* scsi_get_dev(int dev);  block_dev_desc_t* usb_stor_get_dev(int dev);  block_dev_desc_t* mmc_get_dev(int dev);  block_dev_desc_t* systemace_get_dev(int dev); +block_dev_desc_t* mg_disk_get_dev(int dev);  /* disk/part.c */  int get_partition_info (block_dev_desc_t * dev_desc, int part, disk_partition_t *info); |