/ adafruit_ra8875 / registers.py
registers.py
  1  # The MIT License (MIT)
  2  #
  3  # Copyright (c) 2019 Melissa LeBlanc-Williams for Adafruit Industries
  4  #
  5  # Permission is hereby granted, free of charge, to any person obtaining a copy
  6  # of this software and associated documentation files (the "Software"), to deal
  7  # in the Software without restriction, including without limitation the rights
  8  # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
  9  # copies of the Software, and to permit persons to whom the Software is
 10  # furnished to do so, subject to the following conditions:
 11  #
 12  # The above copyright notice and this permission notice shall be included in
 13  # all copies or substantial portions of the Software.
 14  #
 15  # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 16  # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 17  # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 18  # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 19  # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 20  # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 21  # THE SOFTWARE.
 22  """
 23  `adafruit_ra8875.registers`
 24  ====================================================
 25  
 26  A useful index of RA8875 Registers
 27  
 28  * Author(s): Melissa LeBlanc-Williams
 29  """
 30  
 31  # Command/Data for SPI
 32  DATWR = b"\x00"  # Data Write
 33  DATRD = b"\x40"  # Data Read
 34  CMDWR = b"\x80"  # Command Write
 35  CMDRD = b"\xC0"  # Status Read
 36  
 37  # Registers and Bits
 38  PWRR = 0x01
 39  PWRR_DISPON = 0x80
 40  PWRR_DISPOFF = 0x00
 41  PWRR_SLEEP = 0x02
 42  PWRR_NORMAL = 0x00
 43  PWRR_SOFTRESET = 0x01
 44  MRWC = 0x02
 45  GPIOX = 0xC7
 46  
 47  PLLC1 = 0x88
 48  PLLC1_PLLDIV1 = 0x00
 49  
 50  PLLC2 = 0x89
 51  PLLC2_DIV4 = 0x02
 52  
 53  SYSR = 0x10
 54  SYSR_8BPP = 0x00
 55  SYSR_16BPP = 0x0C
 56  SYSR_MCU8 = 0x00
 57  SYSR_MCU16 = 0x03
 58  
 59  PCSR = 0x04
 60  PCSR_PDATR = 0x00
 61  PCSR_PDATL = 0x80
 62  PCSR_CLK = 0x00
 63  PCSR_2CLK = 0x01
 64  PCSR_4CLK = 0x02
 65  PCSR_8CLK = 0x03
 66  
 67  HDWR = 0x14
 68  
 69  HNDFTR = 0x15
 70  HNDFTR_DE_HIGH = 0x00
 71  HNDFTR_DE_LOW = 0x80
 72  
 73  HNDR = 0x16
 74  HSTR = 0x17
 75  HPWR = 0x18
 76  HPWR_LOW = 0x00
 77  HPWR_HIGH = 0x80
 78  
 79  VDHR0 = 0x19
 80  VNDR0 = 0x1B
 81  VSTR0 = 0x1D
 82  VPWR = 0x1F
 83  VPWR_LOW = 0x00
 84  VPWR_HIGH = 0x80
 85  
 86  FNCR0 = 0x21
 87  FNCR1 = 0x22
 88  
 89  HSAW0 = 0x30
 90  VSAW0 = 0x32
 91  
 92  HEAW0 = 0x34
 93  VEAW0 = 0x36
 94  
 95  MCLR = 0x8E
 96  MCLR_START = 0x80
 97  MCLR_STOP = 0x00
 98  MCLR_READSTATUS = 0x80
 99  MCLR_FULL = 0x00
100  MCLR_ACTIVE = 0x40
101  
102  DCR = 0x90
103  DCR_LNSQTR_START = 0x80
104  DCR_LNSQTR_STOP = 0x00
105  DCR_LNSQTR_STATUS = 0x80
106  DCR_CIRC_START = 0x40
107  DCR_CIRC_STATUS = 0x40
108  DCR_CIRC_STOP = 0x00
109  DCR_FILL = 0x20
110  DCR_NOFILL = 0x00
111  DCR_DRAWLN = 0x00
112  DCR_DRAWTRI = 0x01
113  DCR_DRAWSQU = 0x10
114  
115  ELLIPSE = 0xA0
116  ELLIPSE_STATUS = 0x80
117  
118  MWCR0 = 0x40
119  MWCR0_GFXMODE = 0x00
120  MWCR0_TXTMODE = 0x80
121  
122  CURH0 = 0x46
123  CURV0 = 0x48
124  
125  P1CR = 0x8A
126  P1CR_ENABLE = 0x80
127  P1CR_DISABLE = 0x00
128  P1CR_CLKOUT = 0x10
129  P1CR_PWMOUT = 0x00
130  
131  P1DCR = 0x8B
132  
133  P2CR = 0x8C
134  P2CR_ENABLE = 0x80
135  P2CR_DISABLE = 0x00
136  P2CR_CLKOUT = 0x10
137  P2CR_PWMOUT = 0x00
138  
139  P2DCR = 0x8D
140  PWM_CLK_DIV1024 = 0x0A
141  
142  TPCR0 = 0x70
143  TPCR0_ENABLE = 0x80
144  TPCR0_DISABLE = 0x00
145  TPCR0_WAIT_4096CLK = 0x30
146  TPCR0_WAKEENABLE = 0x08
147  TPCR0_WAKEDISABLE = 0x00
148  TPCR0_ADCCLK_DIV4 = 0x02
149  TPCR0_ADCCLK_DIV16 = 0x04
150  
151  TPCR1 = 0x71
152  TPCR1_AUTO = 0x00
153  TPCR1_MANUAL = 0x40
154  TPCR1_DEBOUNCE = 0x04
155  TPCR1_NODEBOUNCE = 0x00
156  
157  TPXH = 0x72
158  TPYH = 0x73
159  TPXYL = 0x74
160  
161  INTC1 = 0xF0
162  INTC1_KEY = 0x10
163  INTC1_DMA = 0x08
164  INTC1_TP = 0x04
165  INTC1_BTE = 0x02
166  
167  INTC2 = 0xF1
168  INTC2_KEY = 0x10
169  INTC2_DMA = 0x08
170  INTC2_TP = 0x04
171  INTC2_BTE = 0x02