nand_drv.h

来自「AMLOGIC DPF source code」· C头文件 代码 · 共 164 行

H
164
字号

/*******************************************************************
 * 
 *  Copyright C 2005 by Amlogic, Inc. All Rights Reserved.
 *
 *  Description: 
 *
 *  Author: Amlogic Software
 *  Created: Thu Aug 03 17:34:00 2006
 *
 *******************************************************************/

#ifndef H_NAND_DRV_H
#define H_NAND_DRV_H

#include "includes.h"
#include <extend/interrupt.h>
#include "ioapi.h"

#include <amsysdef.h>

/* nand_operation_t --
 *
 *  structure of defining physical level operation function:
 */
typedef struct _nand_phy_operation_t {
	unsigned short	initialised_tag;
	void 			(*init_bus)();
	void 			(*init_cmd_ctl)();
	void 			(*send_cmd)(unsigned char cmd);
	void 			(*send_add)(unsigned char byte);
	void 			(*send_addr)(unsigned char *paddr,unsigned char byte_cnt);
	unsigned char  	(*get_data_byte)();
	void 			(*send_data_byte)(unsigned char byte_value);
	void 			(*term_cmd_ctl)();
	void 			(*delay_utl_rdy)();
	void 			(*get_bulk_data)(unsigned char *dest,unsigned byte_cnt);
	void 			(*send_bulk_data)(unsigned char *source,unsigned byte_cnt);
	void				(*adjust_timing)();
}nand_operation_t;

/* nand_initialize --
 *
 * PARAMETERS:
 *     major -  disk major device number
 *     minor - minor device number, not applicable
 *     arg   - initialization argument, not applicable
 *
 * RETURNS:
 *     status
 */
avfs_device_driver
nand_initialize(
    avfs_device_major_number major,
    avfs_device_minor_number minor,
    void *arg);

/* nand_open --
 *
 * PARAMETERS:
 *     major -  disk major device number
 *     minor - minor device number, not applicable
 *     arg   - open argument, not applicable
 *
 * RETURNS:
 *     status
 */
avfs_device_driver
nand_open(
    avfs_device_major_number major,
    avfs_device_minor_number minor,
    void *arg);

/* nand_close --
 *
 * PARAMETERS:
 *     major -  disk major device number
 *     minor - minor device number, not applicable
 *     arg   - close argument, not applicable
 *
 * RETURNS:
 *     status
 */
avfs_device_driver
nand_close(
    avfs_device_major_number major,
    avfs_device_minor_number minor,
    void *arg);

/* nand_ioctl --
 *
 * PARAMETERS:
 *     major -  disk major device number
 *     minor - minor device number, not applicable
 *     arg   - ioctl argument, not applicable
 *
 */
avfs_device_driver
nand_read(
    avfs_device_major_number major,
    avfs_device_minor_number minor,
    void                    * arg);
    
/* nand_write --
 *
 * PARAMETERS:
 *     major -  disk major device number
 *     minor - minor device number, not applicable
 *     arg   - ioctl argument, not applicable
 *
 */
avfs_device_driver
nand_write(
    avfs_device_major_number major,
    avfs_device_minor_number minor,
    void                    * arg);

/* nand_ioctl --
 *
 * PARAMETERS:
 *     major -  disk major device number
 *     minor - minor device number, not applicable
 *     arg   - ioctl argument, not applicable
 *
 * RETURNS:
 *     status
 */
avfs_device_driver
nand_ioctl(
 	avfs_device_major_number major,
	avfs_device_minor_number minor,
	void *arg);

/* nand_ioctl --
 *
 * PARAMETERS:
 *     dev -  device
 *     req  - command
 *     argp  - argument
 *
 * RETURNS:
 *     status
 */
int 
nand_dev_ioctl(
	dev_t dev,
	int req,
	void *argp);

/* nand_dev_register --
 *
 * PARAMETERS:
 *     argp -  argument,pointer to structure nand_operation_t
 *
 * RETURNS:
 *     status
 */
avfs_device_driver
nand_dev_register(
	void *argp);

#endif

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?