1 //*****************************************************************************
\r
3 // pdc.h - Stellaris development board Peripheral Device Controller definitions
\r
6 // Copyright (c) 2005,2006 Luminary Micro, Inc. All rights reserved.
\r
8 // Software License Agreement
\r
10 // Luminary Micro, Inc. (LMI) is supplying this software for use solely and
\r
11 // exclusively on LMI's Stellaris Family of microcontroller products.
\r
13 // The software is owned by LMI and/or its suppliers, and is protected under
\r
14 // applicable copyright laws. All rights are reserved. Any use in violation
\r
15 // of the foregoing restrictions may subject the user to criminal sanctions
\r
16 // under applicable laws, as well as to civil liability for the breach of the
\r
17 // terms and conditions of this license.
\r
19 // THIS SOFTWARE IS PROVIDED "AS IS". NO WARRANTIES, WHETHER EXPRESS, IMPLIED
\r
20 // OR STATUTORY, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF
\r
21 // MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE APPLY TO THIS SOFTWARE.
\r
22 // LMI SHALL NOT, IN ANY CIRCUMSTANCES, BE LIABLE FOR SPECIAL, INCIDENTAL, OR
\r
23 // CONSEQUENTIAL DAMAGES, FOR ANY REASON WHATSOEVER.
\r
25 // This is part of revision 635 of the Stellaris Driver Library.
\r
27 //*****************************************************************************
\r
37 //*****************************************************************************
\r
39 // The registers within the peripheral device controller.
\r
41 //*****************************************************************************
\r
42 #define PDC_VER 0x0 // Version register
\r
43 #define PDC_CSR 0x1 // Command/Status register
\r
44 #define PDC_DSW 0x4 // DIP Switch register
\r
45 #define PDC_LED 0x5 // LED register
\r
46 #define PDC_LCD_CSR 0x6 // LCD Command/Status register
\r
47 #define PDC_LCD_RAM 0x7 // LCD RAM register
\r
48 #define PDC_GPXDAT 0x8 // GPIO X Data register
\r
49 #define PDC_GPXDIR 0x9 // GPIO X Direction register
\r
50 #define PDC_GPYDAT 0xA // GPIO Y Data register
\r
51 #define PDC_GPYDIR 0xB // GPIO Y Direction register
\r
52 #define PDC_GPZDAT 0xC // GPIO Z Data register
\r
53 #define PDC_GPZDIR 0xD // GPIO Z Direction register
\r
55 //*****************************************************************************
\r
57 // Flags indicating a read or write to the peripheral device controller.
\r
59 //*****************************************************************************
\r
60 #define PDC_RD 0x80 // PDC read command
\r
61 #define PDC_WR 0x00 // PDC write command
\r
63 //*****************************************************************************
\r
65 // LCD panel (Crystalfontz CFAH1602B) commands, RS = 0
\r
67 //*****************************************************************************
\r
68 #define LCD_CLEAR 0x01 // Clear display (0 fill DDRAM).
\r
69 #define LCD_HOME 0x02 // Cursor home.
\r
70 #define LCD_MODE 0x04 // Set entry mode (cursor dir)
\r
71 #define LCD_ON 0x08 // Set display, cursor, blinking
\r
73 #define LCD_CUR 0x10 // Cursor, display shift
\r
74 #define LCD_IF 0x20 // Set interface data length,
\r
76 #define LCD_CGADDR 0x40 // Set CGRAM AC address
\r
77 #define LCD_DDADDR 0x80 // Set DDRAM AC address
\r
79 //*****************************************************************************
\r
83 //*****************************************************************************
\r
84 #define LCD_B_BUSY 0x80 // Busy flag.
\r
86 //*****************************************************************************
\r
88 // The GPIO port A pin numbers for the various SSI signals.
\r
90 //*****************************************************************************
\r
91 #define SSI_CS GPIO_PIN_3
\r
92 #define PDC_CS GPIO_PIN_3
\r
93 #define SSI_CLK GPIO_PIN_2
\r
94 #define SSI_TX GPIO_PIN_5
\r
95 #define SSI_RX GPIO_PIN_4
\r
97 //*****************************************************************************
\r
99 // Function Prototypes
\r
101 //*****************************************************************************
\r
102 extern void PDCInit(void);
\r
103 extern unsigned char PDCRead(unsigned char ucAddr);
\r
104 extern void PDCWrite(unsigned char ucAddr, unsigned char ucData);
\r
105 extern unsigned char PDCDIPRead(void);
\r
106 extern void PDCLEDWrite(unsigned char ucLED);
\r
107 extern unsigned char PDCLEDRead(void);
\r
108 extern void PDCLCDInit(void);
\r
109 extern void PDCLCDBacklightOn(void);
\r
110 extern void PDCLCDBacklightOff(void);
\r
111 extern void PDCLCDClear(void);
\r
112 extern void PDCLCDCreateChar(unsigned char ucChar, unsigned char *pucData);
\r
113 extern void PDCLCDSetPos(unsigned char ucX, unsigned char ucY);
\r
114 extern void PDCLCDWrite(const char *pcStr, unsigned long ulCount);
\r
115 extern unsigned char PDCGPIODirRead(unsigned char ucIdx);
\r
116 extern void PDCGPIODirWrite(unsigned char ucIdx, unsigned char ucValue);
\r
117 extern unsigned char PDCGPIORead(unsigned char ucIdx);
\r
118 extern void PDCGPIOWrite(unsigned char ucIdx, unsigned char ucValue);
\r
124 #endif // __PDC_H__
\r