KSM edits to RA8875

Dependents:   Liz_Test_Code

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers RA8875_Regs.h Source File

RA8875_Regs.h

00001 //
00002 // RA8875 Display Controller Register Definitions.
00003 //
00004 //
00005 #ifndef RA8875_REGS_H
00006 #define RA8875_REGS_H
00007 
00008     // Touch Panel public macros
00009     #define RESISTIVE_TOUCH_POINTS 1
00010         
00011     /* Touch Panel Enable/Disable Reg TPCR0[7] */
00012     #define TP_ENABLE   ((uint8_t)(1<<7))
00013     #define TP_DISABLE  ((uint8_t)(0<<7))
00014     
00015     /* Touch Panel operating mode Reg TPCR1[6] */
00016     #define TP_MODE_AUTO    ((uint8_t)(0<<6))   
00017     #define TP_MODE_MANUAL  ((uint8_t)(1<<6))
00018     
00019     /* Touch Panel debounce Reg TPCR1[2]    */
00020     #define TP_DEBOUNCE_OFF ((uint8_t)(0<<2))
00021     #define TP_DEBOUNCE_ON  ((uint8_t)(1<<2))
00022     
00023     /* Touch Panel manual modes Reg TPCR1[1:0]  */
00024     #define TP_MANUAL_IDLE      0
00025     #define TP_MANUAL_WAIT      1
00026     #define TP_MANUAL_LATCH_X   2
00027     #define TP_MANUAL_LATCH_Y   3
00028     
00029     /* Touch Panel ADC Clock modes Reg TPCR0[2:0] */
00030     #define TP_ADC_CLKDIV_1            0
00031     #define TP_ADC_CLKDIV_2            1        
00032     #define TP_ADC_CLKDIV_4            2        
00033     #define TP_ADC_CLKDIV_8            3      
00034     #define TP_ADC_CLKDIV_16           4        
00035     #define TP_ADC_CLKDIV_32           5        
00036     #define TP_ADC_CLKDIV_64           6        
00037     #define TP_ADC_CLKDIV_128          7
00038             
00039     
00040     /* Touch Panel Sample Time Reg TPCR0[6:4] */
00041     #define TP_ADC_SAMPLE_512_CLKS     ((uint8_t)(0<<4))
00042     #define TP_ADC_SAMPLE_1024_CLKS    ((uint8_t)(1<<4))
00043     #define TP_ADC_SAMPLE_2048_CLKS    ((uint8_t)(2<<4))
00044     #define TP_ADC_SAMPLE_4096_CLKS    ((uint8_t)(3<<4))
00045     #define TP_ADC_SAMPLE_8192_CLKS    ((uint8_t)(4<<4))
00046     #define TP_ADC_SAMPLE_16384_CLKS   ((uint8_t)(5<<4))
00047     #define TP_ADC_SAMPLE_32768_CLKS   ((uint8_t)(6<<4))
00048     #define TP_ADC_SAMPLE_65536_CLKS   ((uint8_t)(7<<4))
00049     
00050     /* RA8875 interrupt enable/flag/clear masks */
00051     #define RA8875_INT_KEYSCAN          ((uint8_t)(1<<4))    /**< KEYSCAN interrupts  */
00052     #define RA8875_INT_DMA              ((uint8_t)(1<<3))    /**< DMA interrupts  */
00053     #define RA8875_INT_TP               ((uint8_t)(1<<2))    /**< Touch panel interrupts  */
00054     #define RA8875_INT_BTE              ((uint8_t)(1<<1))    /**< BTE process complete interrupts  */
00055     #define RA8875_INT_BTEMCU_FONTWR    ((uint8_t)(1<<0))    /**< BTE-MCU-R/W or Font-Write interrupts  */
00056 
00057 
00058     // RA8875 Register Names and Bit-Values
00059     //
00060     // Leveraged from Adafruit library for register names that match
00061     // the RA8875 PDF documentation.
00062     //
00063     // Missing registered that are used herein have been added
00064     
00065     // Command/Data pins for SPI
00066     //#define RA8875_DATAWRITE            0x00
00067     //#define RA8875_DATAREAD             0x40
00068     //#define RA8875_CMDWRITE             0x80
00069     //#define RA8875_CMDREAD              0xC0
00070 
00071     // Registers & bits
00072     #define RA8875_PWRR                   0x01
00073     #define RA8875_PWRR_DISPON            0x80
00074     #define RA8875_PWRR_DISPOFF           0x00
00075     #define RA8875_PWRR_SLEEP             0x02
00076     #define RA8875_PWRR_NORMAL            0x00
00077     #define RA8875_PWRR_SOFTRESET         0x01
00078                                           
00079     #define RA8875_MRWC                   0x02
00080                                           
00081     #define RA8875_GPIOX                  0xC7
00082                                           
00083     #define RA8875_SYSR                   0x10
00084     #define RA8875_SYSR_8BPP              0x00
00085     #define RA8875_SYSR_16BPP             0x0C
00086     #define RA8875_SYSR_MCU8              0x00
00087     #define RA8875_SYSR_MCU16             0x03
00088                                           
00089     #define RA8875_PCSR                   0x04
00090     #define RA8875_PCSR_PDATR             0x00
00091     #define RA8875_PCSR_PDATL             0x80
00092     #define RA8875_PCSR_CLK               0x00
00093     #define RA8875_PCSR_2CLK              0x01
00094     #define RA8875_PCSR_4CLK              0x02
00095     #define RA8875_PCSR_8CLK              0x03
00096                                           
00097     #define RA8875_HDWR                   0x14
00098                                           
00099     #define RA8875_HNDFTR                 0x15
00100     #define RA8875_HNDFTR_DE_HIGH         0x00
00101     #define RA8875_HNDFTR_DE_LOW          0x80
00102                                           
00103     #define RA8875_HNDR                   0x16
00104     #define RA8875_HSTR                   0x17
00105     #define RA8875_HPWR                   0x18
00106     #define RA8875_HPWR_LOW               0x00
00107     #define RA8875_HPWR_HIGH              0x80
00108                                           
00109     #define RA8875_VDHR0                  0x19
00110     #define RA8875_VDHR1                  0x1A
00111     #define RA8875_VNDR0                  0x1B
00112     #define RA8875_VNDR1                  0x1C
00113     #define RA8875_VSTR0                  0x1D
00114     #define RA8875_VSTR1                  0x1E
00115     #define RA8875_VPWR                   0x1F
00116     #define RA8875_VPWR_LOW               0x00
00117     #define RA8875_VPWR_HIGH              0x80
00118                                           
00119     #define RA8875_DPCR                   0x20
00120     #define RA8875_FNCR0                  0x21
00121     #define RA8875_FNCR1                  0x22
00122     #define RA8875_CGSR                   0x23
00123     #define RA8875_HOFS0                  0x24
00124     #define RA8875_HOFS1                  0x25
00125     #define RA8875_VOFS0                  0x26
00126     #define RA8875_VOFS1                  0x27
00127     
00128     #define RA8875_FLDR                   0x29
00129     #define RA8875_FCURXL                 0x2A
00130     #define RA8875_FCURXH                 0x2B
00131     #define RA8875_FCURYL                 0x2C
00132     #define RA8875_FCURYH                 0x2D
00133     #define RA8875_FWTYPSR                0x2E
00134     #define RA8875_SFROMS                 0x2F
00135         
00136     #define RA8875_HSAW0                  0x30
00137     #define RA8875_HSAW1                  0x31
00138     #define RA8875_VSAW0                  0x32
00139     #define RA8875_VSAW1                  0x33
00140                                           
00141     #define RA8875_HEAW0                  0x34
00142     #define RA8875_HEAW1                  0x35
00143     #define RA8875_VEAW0                  0x36
00144     #define RA8875_VEAW1                  0x37
00145                                           
00146     #define RA8875_MWCR0                  0x40
00147     #define RA8875_MWCR0_GFXMODE          0x00
00148     #define RA8875_MWCR0_TXTMODE          0x80
00149                                           
00150     #define RA8875_MWCR1                  0x41
00151     #define RA8875_MWCR1_GFXCURDIS        0x00
00152     #define RA8875_MWCR1_GFXCURENA        0x80
00153                                           
00154     #define RA8875_BTCR                   0x44
00155     #define RA8875_MRCD                   0x45
00156     #define RA8875_CURH0                  0x46
00157     #define RA8875_CURH1                  0x47
00158     #define RA8875_CURV0                  0x48
00159     #define RA8875_CURV1                  0x49
00160 
00161     #define RA8875_RCURH0                 0x4A
00162     #define RA8875_RCURH1                 0x4B
00163     #define RA8875_RCURV0                 0x4C
00164     #define RA8875_RCURV1                 0x4D
00165     #define RA8875_CURHS                  0x4E
00166     #define RA8875_CURVS                  0x4F
00167                                           
00168     #define RA8875_BECR0                  0x50
00169     #define RA8875_BECR1                  0x51
00170 
00171     #define RA8875_LTPR0                  0x52
00172     #define RA8875_LTPR1                  0x53
00173 
00174     #define RA8875_HSBE0                  0x54
00175     #define RA8875_HSBE1                  0x55
00176     #define RA8875_VSBE0                  0x56
00177     #define RA8875_VSBE1                  0x57
00178     #define RA8875_HDBE0                  0x58
00179     #define RA8875_HDBE1                  0x59
00180     #define RA8875_VDBE0                  0x5A
00181     #define RA8875_VDBE1                  0x5B
00182     #define RA8875_BEWR0                  0x5C
00183     #define RA8875_BEWR1                  0x5D
00184     #define RA8875_BEHR0                  0x5E
00185     #define RA8875_BEHR1                  0x5F
00186     
00187     
00188     
00189     
00190     #define RA8875_TPCR0                  0x70
00191     #define RA8875_TPCR0_ENABLE           0x80
00192     #define RA8875_TPCR0_DISABLE          0x00
00193     #define RA8875_TPCR0_WAIT_512CLK      0x00
00194     #define RA8875_TPCR0_WAIT_1024CLK     0x10
00195     #define RA8875_TPCR0_WAIT_2048CLK     0x20
00196     #define RA8875_TPCR0_WAIT_4096CLK     0x30
00197     #define RA8875_TPCR0_WAIT_8192CLK     0x40
00198     #define RA8875_TPCR0_WAIT_16384CLK    0x50
00199     #define RA8875_TPCR0_WAIT_32768CLK    0x60
00200     #define RA8875_TPCR0_WAIT_65536CLK    0x70
00201     #define RA8875_TPCR0_WAKEENABLE       0x08
00202     #define RA8875_TPCR0_WAKEDISABLE      0x00
00203     #define RA8875_TPCR0_ADCCLK_DIV1      0x00
00204     #define RA8875_TPCR0_ADCCLK_DIV2      0x01
00205     #define RA8875_TPCR0_ADCCLK_DIV4      0x02
00206     #define RA8875_TPCR0_ADCCLK_DIV8      0x03
00207     #define RA8875_TPCR0_ADCCLK_DIV16     0x04
00208     #define RA8875_TPCR0_ADCCLK_DIV32     0x05
00209     #define RA8875_TPCR0_ADCCLK_DIV64     0x06
00210     #define RA8875_TPCR0_ADCCLK_DIV128    0x07
00211 
00212     #define RA8875_TPCR1                  0x71
00213     #define RA8875_TPCR1_AUTO             0x00
00214     #define RA8875_TPCR1_MANUAL           0x40
00215     #define RA8875_TPCR1_VREFINT          0x00
00216     #define RA8875_TPCR1_VREFEXT          0x20
00217     #define RA8875_TPCR1_DEBOUNCE         0x04
00218     #define RA8875_TPCR1_NODEBOUNCE       0x00
00219     #define RA8875_TPCR1_IDLE             0x00
00220     #define RA8875_TPCR1_WAIT             0x01
00221     #define RA8875_TPCR1_LATCHX           0x02
00222     #define RA8875_TPCR1_LATCHY           0x03
00223                                           
00224     #define RA8875_TPXH                   0x72
00225     #define RA8875_TPYH                   0x73
00226     #define RA8875_TPXYL                  0x74
00227 
00228     #define RA8875_PLLC1                  0x88
00229     #define RA8875_PLLC1_PLLDIV2          0x80
00230     #define RA8875_PLLC1_PLLDIV1          0x00
00231 
00232     #define RA8875_PLLC2                  0x89
00233     #define RA8875_PLLC2_DIV1             0x00
00234     #define RA8875_PLLC2_DIV2             0x01
00235     #define RA8875_PLLC2_DIV4             0x02
00236     #define RA8875_PLLC2_DIV8             0x03
00237     #define RA8875_PLLC2_DIV16            0x04
00238     #define RA8875_PLLC2_DIV32            0x05
00239     #define RA8875_PLLC2_DIV64            0x06
00240     #define RA8875_PLLC2_DIV128           0x07
00241 
00242     #define RA8875_MCLR                   0x8E
00243     #define RA8875_MCLR_START             0x80
00244     #define RA8875_MCLR_STOP              0x00
00245     #define RA8875_MCLR_READSTATUS        0x80
00246     #define RA8875_MCLR_FULL              0x00
00247     #define RA8875_MCLR_ACTIVE            0x40
00248 
00249     #define RA8875_P1CR                   0x8A
00250     #define RA8875_P1CR_ENABLE            0x80
00251     #define RA8875_P1CR_DISABLE           0x00
00252     #define RA8875_P1CR_CLKOUT            0x10
00253     #define RA8875_P1CR_PWMOUT            0x00
00254                                           
00255     #define RA8875_P1DCR                  0x8B
00256                                           
00257     #define RA8875_P2CR                   0x8C
00258     #define RA8875_P2CR_ENABLE            0x80
00259     #define RA8875_P2CR_DISABLE           0x00
00260     #define RA8875_P2CR_CLKOUT            0x10
00261     #define RA8875_P2CR_PWMOUT            0x00
00262                                           
00263     #define RA8875_PWM_CLK_DIV1           0x00
00264     #define RA8875_PWM_CLK_DIV2           0x01
00265     #define RA8875_PWM_CLK_DIV4           0x02
00266     #define RA8875_PWM_CLK_DIV8           0x03
00267     #define RA8875_PWM_CLK_DIV16          0x04
00268     #define RA8875_PWM_CLK_DIV32          0x05
00269     #define RA8875_PWM_CLK_DIV64          0x06
00270     #define RA8875_PWM_CLK_DIV128         0x07
00271     #define RA8875_PWM_CLK_DIV256         0x08
00272     #define RA8875_PWM_CLK_DIV512         0x09
00273     #define RA8875_PWM_CLK_DIV1024        0x0A
00274     #define RA8875_PWM_CLK_DIV2048        0x0B
00275     #define RA8875_PWM_CLK_DIV4096        0x0C
00276     #define RA8875_PWM_CLK_DIV8192        0x0D
00277     #define RA8875_PWM_CLK_DIV16384       0x0E
00278     #define RA8875_PWM_CLK_DIV32768       0x0F
00279 
00280     #define RA8875_P2DCR                  0x8D
00281 
00282     #define RA8875_DCR                    0x90
00283     #define RA8875_DCR_LINESQUTRI_START   0x80
00284     #define RA8875_DCR_LINESQUTRI_STOP    0x00
00285     #define RA8875_DCR_LINESQUTRI_STATUS  0x80
00286     #define RA8875_DCR_CIRCLE_START       0x40
00287     #define RA8875_DCR_CIRCLE_STATUS      0x40
00288     #define RA8875_DCR_CIRCLE_STOP        0x00
00289     #define RA8875_DCR_FILL               0x20
00290     #define RA8875_DCR_NOFILL             0x00
00291     #define RA8875_DCR_DRAWSQUARE         0x10
00292     #define RA8875_DCR_DRAWTRIANGLE       0x01
00293     #define RA8875_DCR_DRAWLINE           0x00
00294 
00295     #define RA8875_DLHSR0                 0x91
00296     #define RA8875_DLHSR1                 0x92
00297     #define RA8875_DLVSR0                 0x93
00298     #define RA8875_DLVSR1                 0x94
00299     #define RA8875_DLHER0                 0x95
00300     #define RA8875_DLHER1                 0x96
00301     #define RA8875_DLVER0                 0x97
00302     #define RA8875_DLVER1                 0x98
00303     #define RA8875_DCHR0                  0x99
00304     #define RA8875_DCHHR1                 0x9A
00305     #define RA8875_DCVR0                  0x9B
00306     #define RA8875_DCVR1                  0x9C
00307 
00308     #define RA8875_DCRR                   0x9D
00309                                           
00310     #define RA8875_ELLIPSE                0xA0
00311     #define RA8875_ELLIPSE_STATUS         0x80
00312     
00313     #define RA8875_ELLA0                  0xA1
00314     #define RA8875_ELLA1                  0xA2
00315     #define RA8875_ELLB0                  0xA3
00316     #define RA8875_ELLB1                  0xA4
00317     #define RA8875_DEHR0                  0xA5
00318     #define RA8875_DEHR1                  0xA6
00319     #define RA8875_DEVR0                  0xA7
00320     #define RA8875_DEVR1                  0xA8
00321 
00322     #define RA8875_DTPH0                  0xA9
00323     #define RA8875_DTPH1                  0xAA
00324     #define RA8875_DTPV0                  0xAB
00325     #define RA8875_DTPV1                  0xAC
00326     
00327     #define RA8875_KSCR1                  0xC0
00328     #define RA8875_KSCR2                  0xC1
00329                                           
00330     #define RA8875_INTC1                  0xF0
00331     #define RA8875_INTC1_KEY              0x10
00332     #define RA8875_INTC1_DMA              0x08
00333     #define RA8875_INTC1_TP               0x04
00334     #define RA8875_INTC1_BTE              0x02
00335                                           
00336     #define RA8875_INTC2                  0xF1
00337     #define RA8875_INTC2_KEY              0x10
00338     #define RA8875_INTC2_DMA              0x08
00339     #define RA8875_INTC2_TP               0x04
00340     #define RA8875_INTC2_BTE              0x02
00341 
00342     
00343     
00344 #endif // RA8875_REGS_H