source: PlatformSupport/Deprecated/pcores/user_io_board_controller_plbw_v1_01_a/src/user_io_board_controller_plbw.h

Last change on this file was 1051, checked in by murphpo, 16 years ago

Updated LCD controller with line/character offsets

File size: 6.6 KB
Line 
1///////////////////////////////////////////////////////////////-*-C-*-
2//
3// Copyright (c) 2007 Xilinx, Inc.  All rights reserved.
4//
5// Xilinx, Inc.  XILINX IS PROVIDING THIS DESIGN, CODE, OR INFORMATION
6// "AS IS" AS  A COURTESY TO YOU.  BY PROVIDING  THIS DESIGN, CODE, OR
7// INFORMATION  AS  ONE   POSSIBLE  IMPLEMENTATION  OF  THIS  FEATURE,
8// APPLICATION OR  STANDARD, XILINX  IS MAKING NO  REPRESENTATION THAT
9// THIS IMPLEMENTATION  IS FREE FROM  ANY CLAIMS OF  INFRINGEMENT, AND
10// YOU ARE  RESPONSIBLE FOR OBTAINING  ANY RIGHTS YOU MAY  REQUIRE FOR
11// YOUR  IMPLEMENTATION.   XILINX  EXPRESSLY  DISCLAIMS  ANY  WARRANTY
12// WHATSOEVER  WITH RESPECT  TO  THE ADEQUACY  OF THE  IMPLEMENTATION,
13// INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OR REPRESENTATIONS THAT
14// THIS IMPLEMENTATION  IS FREE  FROM CLAIMS OF  INFRINGEMENT, IMPLIED
15// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
16//
17//////////////////////////////////////////////////////////////////////
18
19#ifndef __XL_USER_IO_BOARD_CONTROLLER_PLBW_H__
20#define __XL_USER_IO_BOARD_CONTROLLER_PLBW_H__
21
22#include "xbasic_types.h"
23#include "xstatus.h"
24#include "xcope.h"
25
26typedef struct {
27    uint32_t version;
28    // Pointers to low-level functions
29    xc_status_t (*xc_create)(xc_iface_t **, void *);
30    xc_status_t (*xc_release)(xc_iface_t **);
31    xc_status_t (*xc_open)(xc_iface_t *);
32    xc_status_t (*xc_close)(xc_iface_t *);
33    xc_status_t (*xc_read)(xc_iface_t *, xc_r_addr_t, uint32_t *);
34    xc_status_t (*xc_write)(xc_iface_t *, xc_w_addr_t, const uint32_t);
35    xc_status_t (*xc_get_shmem)(xc_iface_t *, const char *, void **shmem);
36    // Optional parameters
37    // (empty)
38    // Memory map information
39    uint32_t Buttons_Big;
40    uint32_t Buttons_Big_n_bits;
41    uint32_t Buttons_Big_bin_pt;
42    // uint32_t Buttons_Big_attr;
43    uint32_t Buttons_Small;
44    uint32_t Buttons_Small_n_bits;
45    uint32_t Buttons_Small_bin_pt;
46    // uint32_t Buttons_Small_attr;
47    uint32_t DIP_Switch;
48    uint32_t DIP_Switch_n_bits;
49    uint32_t DIP_Switch_bin_pt;
50    // uint32_t DIP_Switch_attr;
51    uint32_t Trackball;
52    uint32_t Trackball_n_bits;
53    uint32_t Trackball_bin_pt;
54    // uint32_t Trackball_attr;
55    uint32_t Buzzer_DutyCycle;
56    uint32_t Buzzer_DutyCycle_n_bits;
57    uint32_t Buzzer_DutyCycle_bin_pt;
58    // uint32_t Buzzer_DutyCycle_attr;
59    uint32_t Buzzer_Enable;
60    uint32_t Buzzer_Enable_n_bits;
61    uint32_t Buzzer_Enable_bin_pt;
62    // uint32_t Buzzer_Enable_attr;
63    uint32_t Buzzer_Period;
64    uint32_t Buzzer_Period_n_bits;
65    uint32_t Buzzer_Period_bin_pt;
66    // uint32_t Buzzer_Period_attr;
67    uint32_t LCD_BackgroundColor;
68    uint32_t LCD_BackgroundColor_n_bits;
69    uint32_t LCD_BackgroundColor_bin_pt;
70    // uint32_t LCD_BackgroundColor_attr;
71    uint32_t LCD_CharacterOffset;
72    uint32_t LCD_CharacterOffset_n_bits;
73    uint32_t LCD_CharacterOffset_bin_pt;
74    // uint32_t LCD_CharacterOffset_attr;
75    uint32_t LCD_CharactersSelect;
76    uint32_t LCD_CharactersSelect_n_bits;
77    uint32_t LCD_CharactersSelect_bin_pt;
78    // uint32_t LCD_CharactersSelect_attr;
79    uint32_t LCD_ColSet;
80    uint32_t LCD_ColSet_n_bits;
81    uint32_t LCD_ColSet_bin_pt;
82    // uint32_t LCD_ColSet_attr;
83    uint32_t LCD_ConfigLocation;
84    uint32_t LCD_ConfigLocation_n_bits;
85    uint32_t LCD_ConfigLocation_bin_pt;
86    // uint32_t LCD_ConfigLocation_attr;
87    uint32_t LCD_DividerSelect;
88    uint32_t LCD_DividerSelect_n_bits;
89    uint32_t LCD_DividerSelect_bin_pt;
90    // uint32_t LCD_DividerSelect_attr;
91    uint32_t LCD_FirstEnd;
92    uint32_t LCD_FirstEnd_n_bits;
93    uint32_t LCD_FirstEnd_bin_pt;
94    // uint32_t LCD_FirstEnd_attr;
95    uint32_t LCD_FirstStart;
96    uint32_t LCD_FirstStart_n_bits;
97    uint32_t LCD_FirstStart_bin_pt;
98    // uint32_t LCD_FirstStart_attr;
99    uint32_t LCD_LineOffset;
100    uint32_t LCD_LineOffset_n_bits;
101    uint32_t LCD_LineOffset_bin_pt;
102    // uint32_t LCD_LineOffset_attr;
103    uint32_t LCD_RamWrite;
104    uint32_t LCD_RamWrite_n_bits;
105    uint32_t LCD_RamWrite_bin_pt;
106    // uint32_t LCD_RamWrite_attr;
107    uint32_t LCD_Reset;
108    uint32_t LCD_Reset_n_bits;
109    uint32_t LCD_Reset_bin_pt;
110    // uint32_t LCD_Reset_attr;
111    uint32_t LCD_ResetLCD;
112    uint32_t LCD_ResetLCD_n_bits;
113    uint32_t LCD_ResetLCD_bin_pt;
114    // uint32_t LCD_ResetLCD_attr;
115    uint32_t LCD_RowSet;
116    uint32_t LCD_RowSet_n_bits;
117    uint32_t LCD_RowSet_bin_pt;
118    // uint32_t LCD_RowSet_attr;
119    uint32_t LCD_SecondEnd;
120    uint32_t LCD_SecondEnd_n_bits;
121    uint32_t LCD_SecondEnd_bin_pt;
122    // uint32_t LCD_SecondEnd_attr;
123    uint32_t LCD_SecondStart;
124    uint32_t LCD_SecondStart_n_bits;
125    uint32_t LCD_SecondStart_bin_pt;
126    // uint32_t LCD_SecondStart_attr;
127    uint32_t LCD_Send;
128    uint32_t LCD_Send_n_bits;
129    uint32_t LCD_Send_bin_pt;
130    // uint32_t LCD_Send_attr;
131    uint32_t LCD_TotalCmdTransfer;
132    uint32_t LCD_TotalCmdTransfer_n_bits;
133    uint32_t LCD_TotalCmdTransfer_bin_pt;
134    // uint32_t LCD_TotalCmdTransfer_attr;
135    uint32_t LEDs;
136    uint32_t LEDs_n_bits;
137    uint32_t LEDs_bin_pt;
138    // uint32_t LEDs_attr;
139    uint32_t LCD_CharacterMap;
140    // uint32_t LCD_CharacterMap_grant;
141    // uint32_t LCD_CharacterMap_req;
142    uint32_t LCD_CharacterMap_n_bits;
143    uint32_t LCD_CharacterMap_bin_pt;
144    // uint32_t LCD_CharacterMap_attr;
145    uint32_t LCD_Characters;
146    // uint32_t LCD_Characters_grant;
147    // uint32_t LCD_Characters_req;
148    uint32_t LCD_Characters_n_bits;
149    uint32_t LCD_Characters_bin_pt;
150    // uint32_t LCD_Characters_attr;
151    uint32_t LCD_Commands;
152    // uint32_t LCD_Commands_grant;
153    // uint32_t LCD_Commands_req;
154    uint32_t LCD_Commands_n_bits;
155    uint32_t LCD_Commands_bin_pt;
156    // uint32_t LCD_Commands_attr;
157    // XPS parameters
158    Xuint16  DeviceId;
159    uint32_t  BaseAddr;
160} USER_IO_BOARD_CONTROLLER_PLBW_Config;
161
162extern USER_IO_BOARD_CONTROLLER_PLBW_Config USER_IO_BOARD_CONTROLLER_PLBW_ConfigTable[];
163
164// forward declaration of low-level functions
165xc_status_t xc_user_io_board_controller_plbw_create(xc_iface_t **iface, void *config_table);
166xc_status_t xc_user_io_board_controller_plbw_release(xc_iface_t **iface) ;
167xc_status_t xc_user_io_board_controller_plbw_open(xc_iface_t *iface);
168xc_status_t xc_user_io_board_controller_plbw_close(xc_iface_t *iface);
169xc_status_t xc_user_io_board_controller_plbw_read(xc_iface_t *iface, xc_r_addr_t addr, uint32_t *value);
170xc_status_t xc_user_io_board_controller_plbw_write(xc_iface_t *iface, xc_w_addr_t addr, const uint32_t value);
171xc_status_t xc_user_io_board_controller_plbw_getshmem(xc_iface_t *iface, const char *name, void **shmem);
172
173#endif
174
Note: See TracBrowser for help on using the repository browser.