Files
templates/c/parallel-nand/include/parallel_nand_port.h
T

37 lines
1.1 KiB
C

/*
* Контракт аппаратного доступа к NAND: команды, адреса, данные и ожидание готовности. Один
* octet хранится в целом типе, чтобы восемь значащих бит оставались переносимыми на C28x с
* 16-битным char.
*/
#ifndef PARALLEL_NAND_PORT_H
#define PARALLEL_NAND_PORT_H
#ifdef __cplusplus
extern "C" {
#endif
/* Один octet хранится в целом типе: это важно для C28x с 16-битным char. */
typedef unsigned short pnand_octet_t;
typedef struct {
int (*init)(void);
void (*select)(void);
void (*deselect)(void);
void (*write_command)(pnand_octet_t value);
void (*write_address)(pnand_octet_t value);
void (*write_data)(pnand_octet_t value);
pnand_octet_t (*read_data)(void);
int (*is_ready)(void);
void (*set_write_protect)(int enabled);
void (*delay_us)(unsigned long us);
/* Nonzero only when set_write_protect(0) physically releases WP#. */
int write_supported;
} parallel_nand_port_t;
#ifdef __cplusplus
}
#endif
#endif