⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cy7c67200_300_lcd.h

📁 此压缩包为杰得开发得z228的BSP的源代码,可以实现很多功能,尤其是视频解码有很好的效果.
💻 H
字号:
#ifndef __CY7C67200_300_LCDH_#define __CY7C67200_300_LCDH_/******************************************************************* * *	FILE: cy7c67200_300_lcd.h * *  DESCRIPTION: CY7C67200_300 Low-level interface header file * *  AUTHOR: ARY * *  HISTORY: *  Created 7/3/2002 ARY * *  Copyright (c) Cypress Semiconductor 2002 * *******************************************************************//** include file(s) **/#include "lcp_cmd.h"#include "lcp_data.h"#include "67300.h"#include "cy7c67200_300_common.h"/** definitions **//* Endpoint definition(s) */#define MAX_NUM_ENDPOINTS	0x8/** OTG Command defines **/#define LCD_OFFER_HNP                     0x00#define LCD_INITIATE_SRP                  0x01/* Reserved for future use - 0x02 to 0x0F *//** HCD Command defines **/#define LCD_DISABLE_OTG_VBUS              0x10#define LCD_ENABLE_OTG_VBUS               0x11#define LCD_START_SOF                     0x12#define LCD_STOP_SOF                      0x13#define LCD_CHANGE_TO_PERIPHERAL_ROLE     0x14/* Reserved for future use - 0x15 to 0x1F *//** PCD Command defines **/#define LCD_CHANGE_TO_HOST_ROLE           0x20#define LCD_REMOTE_WAKEUP                 0x21/* Reserved for future use - 0x22 to 0x2F *//** Shared Command defines */#define LCD_DATALINE_RESISTOR_TERMINATION 0x30/* Reserved for future use - 0x31 to 0x3F *//** Dataline Termination Resistor Defines **/#define DATALINE_TERMINATION_OFF	0x0#define DPLUS_PULLUP				0x1#define DMINUS_PULLUP				0x2#define DPLUS_PULLDOWN				0x4#define DMINUS_PULLDOWN				0x8/** Download start address **/#define DOWNLOAD_START_ADDRESS		0x04D4/** Structures **/struct list_head {	struct list_head *next, *prev;};typedef void (*lcd_callback_t)(unsigned short response,							   unsigned short value,							   int opt_arg,							   cy_priv_t * cy_priv_data);typedef struct lcd_lcp_entry_struct{    struct list_head list;    unsigned short command;    unsigned short arg[15];    unsigned short response;    unsigned short value;	char * buf;	int len;    lcd_callback_t funcptr;    int opt_arg;    cy_priv_t * cy_priv_data;} lcd_lcp_entry_t;typedef struct lcd_priv_data_struct{    struct list_head lcd_lcp_list;	CRITICAL_SECTION lcd_lock;	unsigned short sie1_cb_addresses[MAX_NUM_ENDPOINTS];	unsigned short sie2_cb_addresses[MAX_NUM_ENDPOINTS];} lcd_priv_data_t;typedef struct lcd_int_data_struct{    unsigned short int_num;    unsigned short reg[14];} lcd_int_data_t;/** Prototypes **/extern DWORD bCharge;unsigned short lcd_get_cb_address(unsigned short port_num,								  int endpoint,								  cy_priv_t * cy_private_data);DWORD lcd_hw_init(cy_priv_t *cy_private_data);int lcd_init(cy_priv_t * cy_private_data);int lcd_download(char * download_data,             	int download_length,             	lcd_callback_t funcptr,             	int opt_arg,             	cy_priv_t * cy_private_data);void lcd_deinit(cy_priv_t * cy_private_data);											int lcd_complete_lcp_entry(cy_priv_t * cy_private_data);int lcd_command(int command,				int command_arg,                unsigned short port_number,                lcd_callback_t funcptr,                int opt_arg,                cy_priv_t * cy_private_data);int lcd_send_data(unsigned short chip_addr,                   unsigned short port_number,                  unsigned short endpoint,                  int byte_length,                  char * data,                  lcd_callback_t funcptr,                  int opt_arg,                  cy_priv_t * cy_private_data);int lcd_recv_data(unsigned short chip_addr,                   unsigned short port_number,                  unsigned short endpoint,                  int byte_length,                  char * data,                  lcd_callback_t funcptr,                  int opt_arg,                  cy_priv_t * cy_private_data);int lcd_send_tdlist(unsigned short chip_addr,                     int port_number,                    int byte_length,                    char * data,                    cy_priv_t * cy_private_data);int lcd_get_tdstatus(unsigned short chip_addr,                      int byte_length,                     char * data,                     cy_priv_t * cy_private_data);int lcd_read_memory(unsigned short chip_addr,                    int byte_length,                    char * data,                    cy_priv_t * cy_private_data);int lcd_write_memory(unsigned short chip_addr,                      int byte_length,                     char * data,                     cy_priv_t * cy_private_data);int lcd_read_xmemory(unsigned short xmem_addr,					 unsigned short byte_length,                     char * data,					 lcd_callback_t funcptr,					 int opt_arg,                     cy_priv_t * cy_private_data);int lcd_write_xmemory(unsigned short xmem_addr, 					  unsigned short byte_length,                      char * data,					  lcd_callback_t funcptr,					  int opt_arg,                      cy_priv_t * cy_private_data);int lcd_lcp_write_reg(	unsigned short reg_addr,                  		unsigned short reg_value,                  		unsigned short flag,                  		cy_priv_t * cy_private_data);int lcd_read_reg(unsigned short reg_addr,                 unsigned short *reg_value,                 cy_priv_t * cy_private_data);int lcd_write_reg(unsigned short reg_addr,                  unsigned short reg_value,                  cy_priv_t * cy_private_data);int lcd_inplace_and_reg(unsigned short reg_addr,                        unsigned short reg_value,                        cy_priv_t * cy_private_data);int lcd_inplace_or_reg(unsigned short reg_addr,                        unsigned short reg_value,                        cy_priv_t * cy_private_data);														int lcd_exec_interrupt(lcd_int_data_t *int_data,                       lcd_callback_t funcptr,                       int opt_arg,                       cy_priv_t * cy_private_data);int lcd_download_code(unsigned short chip_addr,                      int byte_length,                      char * data,                      lcd_callback_t funcptr,                      int opt_arg,                      cy_priv_t * cy_private_data);void lcd_hpi_write_word(unsigned short chip_addr,				        unsigned short value,                        cy_priv_t * cy_private_data);void lcd_hpi_write_word1(unsigned short chip_addr,                        unsigned short value,                        cy_priv_t * cy_private_data);unsigned short lcd_hpi_read_word(unsigned short chip_addr,		                         cy_priv_t * cy_private_data);unsigned short lcd_hpi_read_word1(unsigned short chip_addr,		                         cy_priv_t * cy_private_data);void lcd_hpi_write_words(unsigned short chip_addr,				   		 unsigned short * data,				   		 int num_words,                   		 cy_priv_t * cy_private_data);void lcd_hpi_read_words(unsigned short chip_addr,				        unsigned short * data,				        int num_words,                        cy_priv_t * cy_private_data);void lcd_hpi_write_mbx(unsigned short value,                       cy_priv_t * cy_private_data);unsigned short lcd_hpi_read_mbx(cy_priv_t * cy_private_data);unsigned short lcd_hpi_read_status_reg(cy_priv_t * cy_private_data);void lcd_hpi_write_status_reg(unsigned short value,                              cy_priv_t * cy_private_data);void lcp_handle_mailbox(cy_priv_t * cy_private_data);#define LIST_HEAD_INIT(name) { &(name), &(name) }#define LIST_HEAD(name) \	struct list_head name = LIST_HEAD_INIT(name)#define INIT_LIST_HEAD(ptr) do { \	(ptr)->next = (ptr); (ptr)->prev = (ptr); \} while (0)static __inline void __list_add(struct list_head * new_entry,	struct list_head * prev,	struct list_head * next){	next->prev = new_entry;	new_entry->next = next;	new_entry->prev = prev;	prev->next = new_entry;}static __inline void list_add_tail(struct list_head *new_entry, struct list_head *head){	__list_add(new_entry, head->prev, head);}static __inline void __list_del(struct list_head * prev,				  struct list_head * next){	next->prev = prev;	prev->next = next;}static __inline void list_del(struct list_head *entry){	__list_del(entry->prev, entry->next);}static __inline int list_empty(struct list_head *head){	return head->next == head;}#define list_entry(ptr, type, member) \	((type *)((char *)(ptr)-(unsigned long)(&((type *)0)->member)))	// otg register operationunsigned long  uhc_read(ULONG offset, ULONG  uhc_base);void uhc_write(ULONG val, ULONG offset,ULONG  uhc_base);void uhc_set(ULONG val, ULONG offset,ULONG  uhc_base);void uhc_clear(ULONG val, ULONG offset, ULONG  uhc_base); #endif /* __CY7C67200_300_LCDH_ */

⌨️ 快捷键说明

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