1 /*
2 * evmskAM335x_diag.h
3 *
4 * This file contains the main() and other functions.
5 *
6 * Copyright (C) 2013 Texas Instruments Incorporated - http://www.ti.com/
7 *
8 *
9 * Redistribution and use in source and binary forms, with or without
10 * modification, are permitted provided that the following conditions
11 * are met:
12 *
13 * Redistributions of source code must retain the above copyright
14 * notice, this list of conditions and the following disclaimer.
15 *
16 * Redistributions in binary form must reproduce the above copyright
17 * notice, this list of conditions and the following disclaimer in the
18 * documentation and/or other materials provided with the
19 * distribution.
20 *
21 * Neither the name of Texas Instruments Incorporated nor the names of
22 * its contributors may be used to endorse or promote products derived
23 * from this software without specific prior written permission.
24 *
25 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
26 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
27 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
28 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
29 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
30 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
31 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
32 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
33 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
34 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
35 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
36 *
37 */
39 #ifndef EVMSKAM335X_DIAG_H_
40 #define EVMSKAM335X_DIAG_H_
42 /*****************************************************************************
43 ** Macro definitions
44 *****************************************************************************/
46 //#define CAPTOUCH /* To be enabled for the capacitive touchscreen board */
48 #ifdef CAPTOUCH
49 #define VERSION "3.3a"
50 #else
51 #define VERSION "3.3"
52 #endif
54 #define BOARD_HEADER "AA5533EE"
55 #define BOARD_NAME "A335X_SK"
56 #define BOARD_VERSION "1.2B"
58 #define HW_FLOW
61 #define CLKOUT1_SEL_MODE 0x03
63 #define GPIO_INSTANCE_PIN_NUMBER_0 (0x00)
64 #define GPIO_INSTANCE_PIN_NUMBER_1 (0x01)
65 #define GPIO_INSTANCE_PIN_NUMBER_2 (2u)
66 #define GPIO_INSTANCE_PIN_NUMBER_3 (3u)
67 #define GPIO_INSTANCE_PIN_NUMBER_4 (4u)
68 #define GPIO_INSTANCE_PIN_NUMBER_5 (5u)
69 #define GPIO_INSTANCE_PIN_NUMBER_6 (6u)
70 #define GPIO_INSTANCE_PIN_NUMBER_7 (7u)
71 #define GPIO_INSTANCE_PIN_NUMBER_28 (0x1C)
72 #define GPIO_INSTANCE_PIN_NUMBER_29 (0x1D)
73 #define GPIO_INSTANCE_PIN_NUMBER_30 (0x1E)
75 /* Wrapper Definitions related to GPIO Keypad Pins */
76 #define GPIO_BASE_ADD_KEYPAD_SW1_2_4 (SOC_GPIO_2_REGS)
77 #define GPIO_SW1_PIN_NUM (3u)
78 #define GPIO_SW2_PIN_NUM (2u)
79 #define GPIO_SW4_PIN_NUM (5u)
81 #define GPIO_BASE_ADD_KEYPAD_SW3 (SOC_GPIO_0_REGS)
82 #define GPIO_SW3_PIN_NUM (30u)
85 #define GPIO_SYS_INT_NUM_SW1_2_4 (SYS_INT_GPIOINT2A)
86 #define GPIO_SYS_INT_NUM_SW3 (SYS_INT_GPIOINT0A)
89 #define UART_CONSOLE_BASE (SOC_UART_0_REGS)
91 #define HSMMCSD_0_CARD_DETECT_PINNUM (6u)
93 #define ESC 0x1B
95 #define USER_KEY_1 1
96 #define USER_KEY_2 2
97 #define USER_KEY_3 4
98 #define USER_KEY_4 8
100 #define LED_ON 1
101 #define LED_OFF 0
103 #define LED_1 1
104 #define LED_2 2
105 #define LED_3 3
106 #define LED_4 4
108 /* LCD brightnes values*/
109 #define FRAMEBUFFERSIZE 130560 /*SK3358 LCD - 480*272 pixels*/
110 #define LOWBACKLIGHT 3000
111 #define MIDBACKLIGHT 1500
112 #define MAXBACKLIGHT 750
114 #define LCD_WIDTH 480
115 #define LCD_HEIGHT 272
116 /*
117 *====================
118 * Typedefs
119 *====================
120 */
121 typedef unsigned char UINT8;
122 typedef unsigned short UINT16;
123 typedef unsigned int UINT32;
124 typedef char INT8;
125 typedef short INT16;
126 typedef int INT32;
127 typedef int STATUS;
130 #define FAIL_DIAG -1
131 #define SUCCESS_DIAG 0
134 /* Global variables */
135 #if 0
136 extern volatile unsigned int tCount;
137 extern volatile unsigned int rCount;
138 extern volatile unsigned int flag; // = 1;
139 extern volatile unsigned int numOfBytes;
141 extern volatile unsigned char dataToSlave[100]; //increased from 2 to 100
142 extern volatile unsigned char dataFromSlave[50];
143 #endif
144 extern volatile unsigned char gKey; //keypad value
146 extern unsigned int frameBuf[FRAMEBUFFERSIZE];
149 /*****************************************************************************
150 ** FUNCTION PROTOTYPES
151 *****************************************************************************/
153 /* GPIO APIs for LED, Keypad, VTT*/
154 extern unsigned int GPIO0Pin6PinMuxSetup(void);
155 extern unsigned int GPIO0Pin7PinMuxSetup(void);
156 extern unsigned int GPIO1Pin30PinMuxSetup(void);
157 extern void GPIO2ModuleClkConfig(void);
158 extern unsigned int GPIO2PinMuxSetup(unsigned int pinNo);
159 extern unsigned int GPIO1PinMuxSetup(unsigned int pinNo);
160 extern unsigned int GPIO0Pin30PinMuxSetup(void);
161 extern void GPIOINTCConfigure(void);
163 extern void Clear_Leds(void);
164 extern void UserLedOnOff(unsigned int ledno,unsigned int onoff);
165 extern void UserLedtest(void);
166 extern int Checkforkeypress(unsigned char testno);
168 extern void configWakeGpio(void);
169 extern void enableGpioWake(void);
170 extern void disableGpioWake(void);
173 /*LCD, PWM-Ecap APIs*/
174 extern void PWMSSTBClkEnable(unsigned int);
175 extern void PWMSSModuleClkConfig(unsigned int instanceNum);
177 extern int Lcdtest(void);
178 extern void EcapInit(void);
179 extern void EcapBkLightEnable(void);
180 extern void EcapBkLightDisable(void);
181 extern void EcapBkLightDim(void);
182 extern void EnableBackLight(void);
183 extern void DisableBackLight(void);
184 extern void EcapBkLightVary(unsigned int value);
185 extern void LCDCEraseBuffer(void);
186 extern void LCDCDrawBorder(void);
187 extern void SetUpLCD(void);
188 extern void LCDFBConfig(void);
189 extern void SquareBoxDraw(UINT16 x, UINT16 y, UINT16 size, UINT8 r, UINT8 g, UINT8 b);
191 extern void Raster0Init(void);
192 extern void Raster0EOFIntEnable(void);
193 extern void Raster0EOFIntDisable(void);
194 extern int Lcdtest_gradient(void);
195 extern void ClearLCD(void);
197 extern void Delay(volatile unsigned int count);
200 /*Audio APIs*/
201 extern void ToneLoopInit(void);
202 extern void ToneLoopStart(void);
203 extern void ToneLoopdeInit(void);
204 extern void AudioCodecInit(void);
206 extern INT16 LPDDRTest(void);
208 extern void Clkout1_Setup(void);
210 extern void E2prominit(void);
211 extern int E2promtest(void);
213 extern int Accelerometer_id_test(void);
214 extern int Accelerometer_full_test(void);
216 extern int Pmic_test(void);
218 extern int usb_dev_msc_test(void);
219 extern int usb_host_msc_test(void);
220 extern int usb_host_msc_init(void);
221 extern int usb_dev_msc_init(void);
223 extern int hs_mmcsd_test(unsigned char idMemF);
225 extern INT16 DELAYMicroSeconds(UINT32 duration);
226 extern INT16 DELAYMilliSeconds(UINT32 duration);
227 extern INT16 EMACChipConfigure(unsigned int);
229 extern INT16 EMACPinSetup(unsigned int);
230 extern void EMACClockSetup(unsigned int);
232 /* Touchscreen APIs */
233 #ifdef CAPTOUCH
234 extern int Cap_touch_test(void);
235 #endif
236 extern int tsc_test(void);
237 extern void StepEnable(void);
238 extern void StepDisable(void);
239 extern void enableTSWakeup(void);
240 extern void disableTSWakeup(void);
241 extern void configTSWakeup(void);
246 #endif /* EVMSKAM335X_DIAG_H_ */