source: umon/ports/beagleboneblack/am335x.h @ 90c2701

Last change on this file since 90c2701 was 90c2701, checked in by Jarielle Catbagan <jcatbagan93@…>, on Jul 16, 2015 at 11:26:40 AM

BBB: am335x.h: Fix invalid macro names and add definitions/redefinitions for DDR PHY, Control Module, CM_PER, CM_WKUP, and EMIF0 registers

  • Property mode set to 100644
File size: 51.3 KB
Line 
1/**
2 * @file
3 *
4 * @brief AM335x Register Base Addresses and Offsets
5 *
6 * @ingroup am335x
7 */
8
9/*
10 * Copyright (C) 2015 Jarielle Catbagan <jcatbagan93@gmail.com>
11 *
12 * The license and distribution terms for this file may be
13 * found in the file LICENSE in this distribution or at
14 * http://www.apache.org/licenses/LICENSE-2.0
15 *
16 *
17 * Description: This file contains register base addresses and offsets as
18 * well as access macros for the AM335x on-chip peripherals.  Peripherals
19 * not used by Umon have not been test (and may not be defined). Use
20 * these defines with caution!
21 */
22
23#ifndef AM335X_H
24#define AM335X_H
25
26#include "bits.h"
27
28
29/*===========================================================================*/
30/* AM335x device identification and feature enumeration */
31/*===========================================================================*/
32#define AM335X_DEVICE_IDENTIFICATION    0x44E10600
33#define AM335X_DEVICE_FEATURE           0x44E10604
34/*===========================================================================*/
35
36
37/*===========================================================================*/
38/* L3 and L4 Interconnects */
39/*===========================================================================*/
40#define L3F_CFG_REGS_BASE               0x44000000
41#define L3S_CFG_REGS_BASE               0x44800000
42#define L4_WKUP_BASE                    0x44C00000
43#define L4_PER_BASE                     0x48000000
44#define L4_FAST_BASE                    0x4A000000
45/*===========================================================================*/
46
47
48/*===========================================================================*/
49/* EMIF0 Configuration Registers */
50/*===========================================================================*/
51#define EMIF0_BASE                      0x4C000000
52#define EMIF0_REG(_x_)                  *(vulong *)(EMIF0_BASE + _x_)
53/*---------------------------------------------------------------------------*/
54/* EMIFO Register offsets */
55#define EMIF_MOD_ID_REV                 0x0000
56#define STATUS                          0x0004
57#define SDRAM_CONFIG                    0x0008
58#define SDRAM_CONFIG_2                  0x000C
59#define SDRAM_REF_CTRL                  0x0010
60#define SDRAM_REF_CTRL_SHDW             0x0014
61#define SDRAM_TIM_1                     0x0018
62#define SDRAM_TIM_1_SHDW                0x001C
63#define SDRAM_TIM_2                     0x0020
64#define SDRAM_TIM_2_SHDW                0x0024
65#define SDRAM_TIM_3                     0x0028
66#define SDRAM_TIM_3_SHDW                0x002C
67#define PWR_MGMT_CTRL                   0x0038
68#define PWR_MGMT_CTRL_SHDW              0x003C
69#define INTERFACE_CONFIG                0x0054
70#define INTERFACE_CONFIG_VAL_1          0x0058
71#define INTERFACE_CONFIG_VAL_2          0x005C
72#define PERF_CNT_1                      0x0080
73#define PERF_CNT_2                      0x0084
74#define PERF_CNT_CFG                    0x0088
75#define PERF_CNT_SEL                    0x008C
76#define PERF_CNT_TIM                    0x0090
77#define READ_IDLE_CTRL                  0x0098
78#define READ_IDLE_CTRL_SHDW             0x009C
79#define IRQSTATUS_RAW_SYS               0x00A4
80#define IRQSTATUS_SYS                   0x00AC
81#define IRQENABLE_SET_SYS               0x00B4
82#define IRQENABLE_CLR_SYS               0x00BC
83#define ZQ_CONFIG                       0x00C8
84#define RW_LVL_RAMP_WNDW                0x00D4
85#define RW_LVL_RAMP_CTRL                0x00D8
86#define RW_LVL_CTRL                     0x00DC
87#define DDR_PHY_CTRL_1                  0x00E4
88#define DDR_PHY_CTRL_1_SHDW             0x00E8
89#define PRIORITY_TO_CLASS_SRVC_MAP      0x0100
90#define CONN_ID_TO_CLASS_SRVC_1_MAP     0x0104
91#define CONN_ID_TO_CLASS_SRVC_2_MAP     0x0108
92#define RW_EXEC_THRESHOLD               0x0120
93/* Register fields and values */
94#define SDRAM_CONFIG_REG_SDRAM_TYPE             0xE0000000
95#define SDRAM_CONFIG_REG_SDRAM_TYPE_DDR1        0x00000000
96#define SDRAM_CONFIG_REG_SDRAM_TYPE_LPDDR1      0x20000000
97#define SDRAM_CONFIG_REG_SDRAM_TYPE_DDR2        0x40000000
98#define SDRAM_CONFIG_REG_SDRAM_TYPE_DDR3        0x60000000
99#define SDRAM_CONFIG_REG_IBANK_POS              0x18000000
100#define SDRAM_CONFIG_REG_IBANK_POS_0            0x00000000
101#define SDRAM_CONFIG_REG_IBANK_POS_1            0x08000000
102#define SDRAM_CONFIG_REG_IBANK_POS_2            0x10000000
103#define SDRAM_CONFIG_REG_IBANK_POS_3            0x18000000
104#define SDRAM_CONFIG_REG_DDR_TERM               0x07000000
105#define SDRAM_CONFIG_REG_DDR_TERM_DISABLE       0x00000000
106#define SDRAM_CONFIG_REG_DDR_TERM_DDR2_75OHM    0x01000000
107#define SDRAM_CONFIG_REG_DDR_TERM_DDR2_150OHM   0x02000000
108#define SDRAM_CONFIG_REG_DDR_TERM_DDR2_50OHM    0x03000000
109#define SDRAM_CONFIG_REG_DDR_TERM_DDR3_RZQ_4    0x01000000
110#define SDRAM_CONFIG_REG_DDR_TERM_DDR3_RZQ_2    0x02000000
111#define SDRAM_CONFIG_REG_DDR_TERM_DDR3_RZQ_6    0x03000000
112#define SDRAM_CONFIG_REG_DDR_TERM_DDR3_RZQ_12   0x04000000
113#define SDRAM_CONFIG_REG_DDR_TERM_DDR3_RZQ_8    0x05000000
114#define SDRAM_CONFIG_REG_DDR2_DDQS              0x00800000
115#define SDRAM_CONFIG_REG_DDR2_DDQS_SINGLE_DQS   0x00000000
116#define SDRAM_CONFIG_REG_DDR2_DDQS_DIFF_DQS     0x00800000
117#define SDRAM_CONFIG_REG_DYN_ODT                0x00600000
118#define SDRAM_CONFIG_REG_DYN_ODT_DISABLE        0x00000000
119#define SDRAM_CONFIG_REG_DYN_ODT_RZQ_4          0x00200000
120#define SDRAM_CONFIG_REG_DYN_ODT_RZQ_2          0x00400000
121#define SDRAM_CONFIG_REG_DDR_DISABLE_DLL        0x00100000
122#define SDRAM_CONFIG_REG_DDR_DISABLE_DLL_ENABLE         0x00000000
123#define SDRAM_CONFIG_REG_DDR_DISABLE_DLL_DISABLE        0x00100000
124#define SDRAM_CONFIG_REG_SDRAM_DRIVE            0x000C0000
125#define SDRAM_CONFIG_REG_SDRAM_DRIVE_RZQ_6      0x00000000
126#define SDRAM_CONFIG_REG_SDRAM_DRIVE_RZQ_7      0x00040000
127#define SDRAM_CONFIG_REG_CAS_WR_LATENCY         0x00030000
128#define SDRAM_CONFIG_REG_CAS_WR_LATENCY_5       0x00000000
129#define SDRAM_CONFIG_REG_CAS_WR_LATENCY_6       0x00010000
130#define SDRAM_CONFIG_REG_CAS_WR_LATENCY_7       0x00020000
131#define SDRAM_CONFIG_REG_CAS_WR_LATENCY_8       0x00030000
132#define SDRAM_CONFIG_REG_NARROW_MODE            0x0000C000
133#define SDRAM_CONFIG_REG_NARROW_MODE_32BIT      0x00000000
134#define SDRAM_CONFIG_REG_NARROW_MODE_16BIT      0x00004000
135#define SDRAM_CONFIG_REG_CAS_LATENCY            0x00003C00
136#define SDRAM_CONFIG_REG_CAS_LATENCY_5          0x00000800
137#define SDRAM_CONFIG_REG_CAS_LATENCY_6          0x00001000
138#define SDRAM_CONFIG_REG_CAS_LATENCY_7          0x00001800
139#define SDRAM_CONFIG_REG_CAS_LATENCY_8          0x00002000
140#define SDRAM_CONFIG_REG_CAS_LATENCY_9          0x00002800
141#define SDRAM_CONFIG_REG_CAS_LATENCY_10         0x00003000
142#define SDRAM_CONFIG_REG_CAS_LATENCY_11         0x00003800
143#define SDRAM_CONFIG_REG_ROWSIZE                0x00000380
144#define SDRAM_CONFIG_REG_ROWSIZE_9BIT           0x00000000
145#define SDRAM_CONFIG_REG_ROWSIZE_10BIT          0x00000080
146#define SDRAM_CONFIG_REG_ROWSIZE_11BIT          0x00000100
147#define SDRAM_CONFIG_REG_ROWSIZE_12BIT          0x00000180
148#define SDRAM_CONFIG_REG_ROWSIZE_13BIT          0x00000200
149#define SDRAM_CONFIG_REG_ROWSIZE_14BIT          0x00000280
150#define SDRAM_CONFIG_REG_ROWSIZE_15BIT          0x00000300
151#define SDRAM_CONFIG_REG_ROWSIZE_16BIT          0x00000380
152#define SDRAM_CONFIG_REG_IBANK                  0x00000070
153#define SDRAM_CONFIG_REG_IBANK_1                0x00000000
154#define SDRAM_CONFIG_REG_IBANK_2                0x00000010
155#define SDRAM_CONFIG_REG_IBANK_4                0x00000020
156#define SDRAM_CONFIG_REG_IBANK_8                0x00000030
157#define SDRAM_CONFIG_REG_EBANK                  0x00000008
158#define SDRAM_CONFIG_REG_EBANK_1                0x00000000
159#define SDRAM_CONFIG_REG_PAGESIZE               0x00000007
160#define SDRAM_CONFIG_REG_PAGESIZE_256_WORD      0x00000000
161#define SDRAM_CONFIG_REG_PAGESIZE_512_WORD      0x00000001
162#define SDRAM_CONFIG_REG_PAGESIZE_1024_WORD     0x00000002
163#define SDRAM_CONFIG_REG_PAGESIZE_2048_WORD     0x00000003
164#define SDRAM_CONFIG_2_REG_EBANK_POS            0x08000000
165#define SDRAM_CONFIG_2_REG_EBANK_POS_0          0x00000000
166#define SDRAM_CONFIG_2_REG_EBANK_POS_1          0x08000000
167/*===========================================================================*/
168
169
170/*===========================================================================*/
171/* McASPx Data Registers */
172/*===========================================================================*/
173#define MCASP0_DATA_REGS_BASE           0x46000000
174#define MCASP1_DATE_REGS_BASE           0x46400000
175/*===========================================================================*/
176
177
178/*===========================================================================*/
179/* L4_WKUP Peripherals */
180/*===========================================================================*/
181/* Clock Module Peripheral Registers */
182#define CM_PER_BASE                     (L4_WKUP_BASE + 0x00200000)
183#define CM_PER_REG(_x_)                 *(vulong *)(CM_PER_BASE + _x_)
184/* Clock Module Wakeup Registers */
185#define CM_WKUP_BASE                    (L4_WKUP_BASE + 0x00200400)
186#define CM_WKUP_REG(_x_)                *(vulong *)(CM_WKUP_BASE + _x_)
187/* Clock Module PLL Registers */
188#define CM_DPLL_BASE                    (L4_WKUP_BASE + 0x00200500)
189#define CM_DPLL_REG(_x_)                *(vulong *)(CM_DPLL_BASE + _x_)
190/* Clock Module MPU Registers */
191#define CM_MPU_BASE                     (L4_WKUP_BASE + 0x00200600)
192#define CM_MPU_REG(_x_)                 *(vulong *)(CM_MPU_BASE + _x_)
193/* Clock Module Device Registers */
194#define CM_DEVICE_BASE                  (L4_WKUP_BASE + 0x00200700)
195#define CM_DEVICE_REG(_x_)              *(vulong *)(CM_DEVICE_BASE + _x_)
196/* Clock Module RTC Registers */
197#define CM_RTC_BASE                     (L4_WKUP_BASE + 0x00200800)
198#define CM_RTC_REG(_x_)                 *(vulong *)(CM_RTC_BASE + _x_)
199/* Clock Module Graphics Controller Registers */
200#define CM_GFX_BASE                     (L4_WKUP_BASE + 0x00200900)
201#define CM_GFX_REG(_x_)                 *(vulong *)(CM_GFX_BASE + _x_)
202/* Clock Module Efuse Registers */
203#define CM_CEFUSE_BASE                  (L4_WKUP_BASE + 0x00200A00)
204#define CM_CEFUSE_REG(_x_)              *(vulong *)(CM_CEFUSE_BASE + _x_)
205/* Power Reset Module Interrupt Registers */
206#define PRM_IRQ_BASE                    (L4_WKUP_BASE + 0x00200B00)
207#define PRM_IRQ_REG(_x_)                *(vulong *)(PRM_IRQ_BASE + _x_)
208/* Power Reset Module Peripheral Registers */
209#define PRM_PER_BASE                    (L4_WKUP_BASE + 0x00200C00)
210#define PRM_PER_REG(_x_)                *(vulong *)(PRM_PER_BASE + _x_)
211/* Power Reset Module Wakeup Registers */
212#define PRM_WKUP_BASE                   (L4_WKUP_BASE + 0x00200D00)
213#define PRM_WKUP_REG(_x_)               *(vulong *)(PRM_WKUP_BASE + _x_)
214/* Power Reset Module MPU Registers */
215#define PRM_MPU_BASE                    (L4_WKUP_BASE + 0x00200E00)
216#define PRM_MPU_REG(_x_)                *(vulong *)(PRM_MPU_BASE + _x_)
217/* Power Reset Module Device Registers */
218#define PRM_DEV_BASE                    (L4_WKUP_BASE + 0x00200F00)
219#define PRM_DEV_REG(_x_)                *(vulong *)(PRM_DEV_BASE + _x_)
220/* Power Reset Module RTC Registers */
221#define PRM_RTC_BASE                    (L4_WKUP_BASE + 0x00201000)
222#define PRM_RTC_REG(_x_)                *(vulong *)(PRM_RTC_BASE + _x_)
223/* Power Reset Module Graphics Controller Registers */
224#define PRM_GFX_BASE                    (L4_WKUP_BASE + 0x00201100)
225#define PRM_GFX_REG(_x_)                *(vulong *)(PRM_GFX_BASE + _x_)
226/* Power Reset Module Efuse Registers */
227#define PRM_CEFUSE_BASE                 (L4_WKUP_BASE + 0x00201200)
228#define PRM_CEFUSE_REG(_x_)             *(vulong *)(PRM_CEFUSE_BASE + _x_)
229/* DMTimer0 Registers */
230#define DMTIMER0_BASE                   (L4_WKUP_BASE + 0x00205000)
231#define DMTIMER0_REG(_x_)               *(vulong *)(DMTIMER0_BASE + _x_)
232/* UART0 Registers */
233#define UART0_BASE                      (L4_WKUP_BASE + 0x00209000)
234#define UART0_REG(_x_)                  *(vulong *)(UART0_BASE + _x_)
235/* I2C0 Registers */
236#define I2C0_BASE                       (L4_WKUP_BASE + 0x0020B000)
237#define I2C0_REG(_x_)                   *(vulong *)(I2C0_BASE + _x_)
238/* ADC_TSC Registers */
239#define ADC_TSC_BASE                    (L4_WKUP_BASE + 0x0020D000)
240#define ADC_TSC_REG(_x_)                *(vulong *)(ADC_TSC_BASE + _x_)
241/* Control Module */
242#define CNTL_MODULE_BASE                (L4_WKUP_BASE + 0x00210000)
243#define CNTL_MODULE_REG(_x_)            *(vulong *)(CNTL_MODULE_BASE + _x_)
244/* DDR2/3/mDDR PHY Registers */
245#define DDR_PHY_BASE                    (L4_WKUP_BASE + 0x00212000)
246#define DDR_PHY_REG(_x_)                *(vulong *)(DDR_PHY_BASE + _x_)
247/* DMTimer1 1ms Registers */
248#define DMTIMER1_1MS_BASE               (L4_WKUP_BASE + 0x00231000)
249#define DMTIMER1_1MS_REG(_x_)           *(vulong *)(DMTIMER1_1MS_BASE + _x_)
250/* L3 Registers */
251#define SMARTREFLEX0_BASE               (L4_WKUP_BASE + 0x00237000)
252#define SMARTREFLEX0_REG(_x_)           *(vulong *)(SMARTREFLEX0_BASE + _x_)
253#define SMARTREFLEX1_BASE               (L4_WKUP_BASE + 0x00239000)
254#define SMARTREFLEX1_REG(_x_)           *(vulong *)(SMARTREFLEX1_BASE + _x_)
255/* RTC Registers */
256#define RTCSS_BASE                      (L4_WKUP_BASE + 0x0023E000)
257#define RTCSS_REG(_x_)                  *(vulong *)(RTCSS_BASE + _x_)
258/* Debug Registers */
259#define DEBUGSS_HWMSTR1_BASE            (L4_WKUP_BASE + 0x00240000)
260#define DEBUGSS_HWMSTR1_REG(_x_)        *(vulong *)(DEBUGSS_HWMSTR1_BASE + _x_)
261/*===========================================================================*/
262
263
264/*===========================================================================*/
265/* CM_PER Registers */
266/*===========================================================================*/
267#define CM_PER_L3_CLKSTCTRL             0x0C
268#define CM_PER_EMIF_CLKCTRL             0x28
269/*===========================================================================*/
270
271
272/*===========================================================================*/
273/* CM_WKUP Registers */
274/*===========================================================================*/
275#define CM_WKUP_CLKSTCTRL               0x00
276#define CM_WKUP_CONTROL_CLKCTRL         0x04
277#define CM_WKUP_GPIO0_CLKCTRL           0x08
278#define CM_WKUP_L4WKUP_CLKCTRL          0x0C
279#define CM_WKUP_TIMER0_CLKCTRL          0x10
280#define CM_WKUP_DEBUGSS_CLKCTRL         0x14
281#define CM_L3_AON_CLKSTCTRL             0x18
282#define CM_AUTOIDLE_DPLL_MPU            0x1C
283#define CM_IDLEST_DPLL_MPU              0x20
284#define CM_SSC_DELTAMSTEP_DPLL_MPU      0x24
285#define CM_SSC_MODFREQDIV_DPLL_MPU      0x28
286#define CM_CLKSEL_DPLL_MPU              0x2C
287#define CM_AUTOIDLE_DPLL_DDR            0x30
288#define CM_IDLEST_DPLL_DDR              0x34
289#define CM_SSC_DELTAMSTEP_DPLL_DDR      0x38
290#define CM_SSC_MODFREQDIV_DPLL_DDR      0x3C
291#define CM_CLKSEL_DPLL_DDR              0x40
292#define CM_AUTOIDLE_DPLL_DISP           0x44
293#define CM_IDLEST_DPLL_DISP             0x48
294#define CM_SSC_DELTAMSTEP_DPLL_DISP     0x4C
295#define CM_SSC_MODFREQDIV_DPLL_DISP     0x50
296#define CM_CLKSEL_DPLL_DISP             0x54
297#define CM_AUTOIDLE_DPLL_CORE           0x58
298#define CM_IDLEST_DPLL_CORE             0x5C
299#define CM_SSC_DELTAMSTEP_DPLL_CORE     0x60
300#define CM_SSC_MODFREQDIV_DPLL_CORE     0x64
301#define CM_CLKSEL_DPLL_CORE             0x68
302#define CM_AUTOIDLE_DPLL_PER            0x6C
303#define CM_IDLEST_DPLL_PER              0x70
304#define CM_SSC_DELTAMSTEP_DPLL_PER      0x74
305#define CM_SSC_MODFREQDIV_DPLL_PER      0x78
306#define CM_CLKDCOLDO_DPLL_PER           0x7C
307#define CM_DIV_M4_DPLL_CORE             0x80
308#define CM_DIV_M5_DPLL_CORE             0x84
309#define CM_CLKMODE_DPLL_MPU             0x88
310#define CM_CLKMODE_DPLL_PER             0x8C
311#define CM_CLKMODE_DPLL_CORE            0x90
312#define CM_CLKMODE_DPLL_DDR             0x94
313#define CM_CLKMODE_DPLL_DISP            0x98
314#define CM_CLKSEL_DPLL_PER              0x9C
315#define CM_DIV_M2_DPLL_DDR              0xA0
316#define CM_DIV_M2_DPLL_DISP             0xA4
317#define CM_DIV_M2_DPLL_MPU              0xA8
318#define CM_DIV_M2_DPLL_PER              0xAC
319#define CM_WKUP_WKUP_M3_CLKCTRL         0xB0
320#define CM_WKUP_UART0_CLKCTRL           0xB4
321#define CM_WKUP_I2C0_CLKCTRL            0xB8
322#define CM_WKUP_ADC_TSC_CLKCTRL         0xBC
323#define CM_WKUP_SMARTREFLEX0_CLKCT      0xC0
324#define CM_WKUP_TIMER1_CLKCTRL          0xC4
325#define CM_WKUP_SMARTREFLEX1_CLKCT      0xC8
326#define CM_L4_WKUP_AON_CLKSTCTRL        0xCC
327#define CM_WKUP_WDT1_CLKCTRL            0xD4
328#define CM_DIV_M6_DPLL_CORE             0xD8
329/*===========================================================================*/
330
331
332#define CM_CLKSEL_DPLL_PER_DPLL_MULT    (960 << 8)
333#define CM_CLKSEL_DPLL_PER_DPLL_DIV     (23)
334#define CM_CLKSEL_DPLL_PER_DPLL_SD_DIV  (4 << 24)
335
336
337/*===========================================================================*/
338/* Control Module Registers */
339/*===========================================================================*/
340#define CONTROL_STATUS                  0x0040
341#define CONTROL_EMIF_SDRAM_CONFIG       0x0110
342#define CONF_GPMC_A5                    0x0854
343#define CONF_GPMC_A6                    0x0858
344#define CONF_GPMC_A7                    0x085c
345#define CONF_GPMC_A8                    0x0860
346#define CONF_UART0_RXD                  0x0970
347#define CONF_UART0_TXD                  0x0974
348#define DDR_IO_CTRL                     0x0E04
349#define VTP_CTRL                        0x0E0C
350#define VREF_CTRL                       0x0E14
351#define DDR_CKE_CTRL                    0x131C
352#define DDR_CMD0_IOCTRL                 0x1404
353#define DDR_CMD1_IOCTRL                 0x1408
354#define DDR_CMD2_IOCTRL                 0x140C
355#define DDR_DATA0_IOCTRL                0x1440
356#define DDR_DATA1_IOCTRL                0x1444
357/*===========================================================================*/
358
359
360/*===========================================================================*/
361/* DDR2/3/mDDR PHY Registers */
362/*===========================================================================*/
363#define CMD0_REG_PHY_CTRL_SLAVE_RATIO_0         0x001C
364#define CMD0_REG_PHY_DLL_LOCK_DIFF_0            0x0028
365#define CMD0_REG_PHY_INVERT_CLKOUT_0            0x002C
366#define CMD1_REG_PHY_CTRL_SLAVE_RATIO_0         0x0050
367#define CMD1_REG_PHY_DLL_LOCK_DIFF_0            0x005C
368#define CMD1_REG_PHY_INVERT_CLKOUT_0            0x0060
369#define CMD2_REG_PHY_CTRL_SLAVE_RATIO_0         0x0084
370#define CMD2_REG_PHY_DLL_LOCK_DIFF_0            0x0090
371#define CMD2_REG_PHY_INVERT_CLKOUT_0            0x0094
372#define DATA0_REG_PHY_RD_DQS_SLAVE_RATIO_0      0x00C8
373#define DATA0_REG_PHY_WR_DQS_SLAVE_RATIO_0      0x00DC
374#define DATA0_REG_PHY_WRLVL_INIT_RATIO_0        0x00F0
375#define DATA0_REG_PHY_WRLVL_INIT_MODE_0         0x00F8
376#define DATA0_REG_PHY_GATELVL_INIT_RATIO_0      0x00FC
377#define DATA0_REG_PHY_GATELVL_INIT_MODE_0       0x0104
378#define DATA0_REG_PHY_FIFO_WE_SLAVE_RATIO_0     0x0108
379#define DATA0_REG_PHY_DQ_OFFSET_0               0x011C
380#define DATA0_REG_PHY_WR_DATA_SLAVE_RATIO_0     0x0120
381#define DATA0_REG_PHY_USE_RANK0_DELAYS          0x0134
382#define DATA0_REG_PHY_LOCK_DIFF_0               0x0138
383#define DATA1_REG_PHY_RD_DQS_SLAVE_RATIO_0      0x016C
384#define DATA1_REG_PHY_WR_DQS_SLAVE_RATIO_0      0x0180
385#define DATA1_REG_PHY_WRLVL_INIT_RATIO_0        0x0194
386#define DATA1_REG_PHY_WRLVL_INIT_MODE_0         0x019C
387#define DATA1_REG_PHY_GATELVL_INIT_RATIO_0      0x01A0
388#define DATA1_REG_PHY_GATELVL_INIT_MODE_0       0x01A8
389#define DATA1_REG_PHY_FIFO_WE_SLAVE_RATIO_0     0x01AC
390#define DATA1_REG_PHY_DQ_OFFSET_0               0x01C0
391#define DATA1_REG_PHY_WR_DATA_SLAVE_RATIO_0     0x01C4
392#define DATA1_REG_PHY_USE_RANK0_DELAYS          0x01D8
393#define DATA1_REG_PHY_LOCK_DIFF_0               0x01DC
394/*===========================================================================*/
395
396
397/*===========================================================================*/
398/* Pad control bits: */
399/*===========================================================================*/
400#define SLEWSLOW                        (1 << 6)
401#define SLEWFAST                        0
402#define RX_ON                           (1 << 5)
403#define RX_OFF                          0
404#define PULLUP                          (1 << 4)
405#define PULLDOWN                        0
406#define PULL_OFF                        (1 << 3)
407#define PULL_ON                         0
408#define MUXMODE_0                       (0 & 7)
409#define MUXMODE_1                       (1 & 7)
410#define MUXMODE_2                       (2 & 7)
411#define MUXMODE_3                       (3 & 7)
412#define MUXMODE_4                       (4 & 7)
413#define MUXMODE_5                       (5 & 7)
414#define MUXMODE_6                       (6 & 7)
415#define MUXMODE_7                       (7 & 7)
416/*===========================================================================*/
417
418
419/*===========================================================================*/
420/* L4_PER Peripherals */
421/*===========================================================================*/
422/* UART1 Registers */
423#define UART1_BASE                      (L4_PER_BASE + 0x00022000)
424#define UART1_REG(_x_)                  *(vulong *)(UART1_BASE + _x_)
425/* UART2 Registers */
426#define UART2_BASE                      (L4_PER_BASE + 0x00024000)
427#define UART2_REG(_x_)                  *(vulong *)(UART2_BASE + _x_)
428/* I2C1 Registers */
429#define I2C1_BASE                       (L4_PER_BASE + 0x0002A000)
430#define I2C1_REG(_x_)                   *(vulong *)(I2C1_BASE + _x_)
431/* McSPI0 Registers */
432#define MCSPI0_BASE                     (L4_PER_BASE + 0x00030000)
433#define MCSPI0_REG(_x_)                 *(vulong *)(MCSPI0_BASE + _x_)
434/* McASP0 CFG Registers */
435#define MCASP0_CFG_BASE                 (L4_PER_BASE + 0x00038000)
436#define MCASP0_CFG_REG(_x_)             *(vulong *)(MCASP0_CFG_BASE + _x_)
437/* McASP1 CFG Registers */
438#define MCASP1_CFG_BASE                 (L4_PER_BASE + 0x0003C000)
439#define MCASP1_CFG_REG(_x_)             *(vulong *)(MCASP1_CFG_BASE + _x_)
440/* DMTimer2 Registers */
441#define DMTIMER2_BASE                   (L4_PER_BASE + 0x00040000)
442#define DMTIMER2_REG(_x_)               *(vulong *)(DMTIMER2_BASE + _x_)
443/* DMTimer3 Registers */
444#define DMTIMER3_BASE                   (L4_PER_BASE + 0x00042000)
445#define DMTIMER3_REG(_x_)               *(vulong *)(DMTIMER3_BASE + _x_)
446/* DMTimer4 Registers */
447#define DMTIMER4_BASE                   (L4_PER_BASE + 0x00044000)
448#define DMTIMER4_REG(_x_)               *(vulong *)(DMTIMER4_BASE + _x_)
449/* DMTimer5 Registers */
450#define DMTIMER5_BASE                   (L4_PER_BASE + 0x00046000)
451#define DMTIMER5_REG(_x_)               *(vulong *)(DMTIMER5_BASE + _x_)
452/* DMTimer6 Registers */
453#define DMTIMER6_BASE                   (L4_PER_BASE + 0x00048000)
454#define DMTIMER6_REG(_x_)               *(vulong *)(DMTIMER6_BASE + _x_)
455/* DMTimer7 Registers */
456#define DMTIMER7_BASE                   (L4_PER_BASE + 0x0004A000)
457#define DMTIMER7_REG(_x_)               *(vulong *)(DMTIMER7_BASE + _x_)
458/* MMCHS0 Registers */
459#define MMCHS0_BASE                     (L4_PER_BASE + 0x00060000)
460#define MMCHS0_REG(_x_)                 *(vulong *)(MMCHS0_BASE + _x_)
461/* ELM Registers */
462#define ELM_BASE                        (L4_PER_BASE + 0x00080000)
463#define ELM_REG(_x_)                    *(vulong *)(ELM_BASE + _x_)
464/* Mailbox 0 Registers */
465#define MAILBOX0_BASE                   (L4_PER_BASE + 0x000C8000)
466#define MAILBOX0_REG(_x_)               *(vulong *)(MAILBOX0_BASE + _x_)
467/* Spinlock Registers */
468#define SPINLOCK_BASE                   (L4_PER_BASE + 0x000CA000)
469#define SPINLOCK_REG(_x_)               *(vulong *)(SPINLOCK_BASE + _x_)
470/* OCP Watchpoint Registers */
471#define OCP_WATCHPOINT_BASE             (L4_PER_BASE + 0x0018C000)
472#define OCP_WATCHPOINT_REG(_x_)         *(vulong *)(OCP_WATCHPOINT_BASE + _x_)
473/* I2C2 Registers */
474#define I2C2_BASE                       (L4_PER_BASE + 0x0019C000)
475#define I2C2_REG(_x_)                   *(vulong *)(I2C2_BASE + _x_)
476/* McSPI1 Registers */
477#define MCSPI1_BASE                     (L4_PER_BASE + 0x001A0000)
478#define MCSPI1_REG(_x_)                 *(vulong *)(MSCPI1_BASE + _x_)
479/* UART3 Registers */
480#define UART3_BASE                      (L4_PER_BASE + 0x001A6000)
481#define UART3_REG(_x_)                  *(vulong *)(UART3_BASE + _x_)
482/* UART4 Registers */
483#define UART4_BASE                      (L4_PER_BASE + 0x001A8000)
484#define UART4_REG(_x_)                  *(vulong *)(UART4_BASE + _x_)
485/* UART5 Registers */
486#define UART5_BASE                      (L4_PER_BASE + 0x001AA000)
487#define UART5_REG(_x_)                  *(vulong *)(UART5_BASE + _x_)
488/* DCAN0 Registers */
489#define DCAN0_BASE                      (L4_PER_BASE + 0x001CC000)
490#define DCAN0_REG(_x_)                  *(vulong *)(DCAN0_BASE + _x_)
491/* DCAN1 Registers */
492#define DCAN1_BASE                      (L4_PER_BASE + 0x001D0000)
493#define DCAN1_REG(_x_)                  *(vulong *)(DCAN1_BASE + _x_)
494/* Interrupt Controller Registers */
495#define INTCPS_BASE                     (L4_PER_BASE + 0x00200000)
496#define INTCPS_REG(_x_)                 *(vulong *)(INTCPS_BASE + _x_)
497/* MPUSS Config Register */
498#define MPUSS_BASE                      (L4_PER_BASE + 0x00240000)
499#define MPUSS_REG(_x_)                  *(vulong *)(MPUSS_BASE + _x_)
500/* PWMSS0 Configuration Registers */
501#define PWMSS0_BASE                     (L4_PER_BASE + 0x00300000)
502#define PWMSS0_REG(_x_)                 *(vulong *)(PWMSS0_BASE + _x_)
503/* PWMSS eCAP0 Registers */
504#define ECAP0_BASE                      (L4_PER_BASE + 0x00300100)
505#define ECAP0_REG(_x_)                  *(vulong *)(ECAP0_BASE + _x_)
506/* PWMSS eQEP0 Registers */
507#define EQEP0_BASE                      (L4_PER_BASE + 0x00300180)
508#define EQEP0_REG(_x_)                  *(vulong *)(EQEP0_BASE + _x_)
509/* PWMSS ePWM0 Registers */
510#define EPWM0_BASE                      (L4_PER_BASE + 0x00300200)
511#define EPWM0_REG(_x_)                  *(vulong *)(EPWM0_BASE + _x_)
512/* PWMSS1 Configuration Registers */
513#define PWMSS1_BASE                     (L4_PER_BASE + 0x00302000)
514#define PWMSS1_REG(_x_)                 *(vulong *)(PWMSS1_BASE + _x_)
515/* PWMSS eCAP1 Registers */
516#define ECAP1_BASE                      (L4_PER_BASE + 0x00302100)
517#define ECAP1_REG(_x_)                  *(vulong *)(ECAP1_BASE + _x_)
518/* PWMSS eQEP1 Registers */
519#define EQEP1_BASE                      (L4_PER_BASE + 0x00302180)
520#define EQEP1_REG(_x_)                  *(vulong *)(EQEP1_BASE + _x_)
521/* PWMSS ePWM1 Registers */
522#define EPWM1_BASE                      (L4_PER_BASE + 0x00302200)
523#define EPWM1_REG(_x_)                  *(vulong *)(EPwM_BASE + _x_)
524/* PWMSS2 Configuration Registers */
525#define PWMSS2_BASE                     (L4_PER_BASE + 0x00304000)
526#define PWMSS2_REG(_x_)                 *(vulong *)(PWMSS2_BASE + _x_)
527/* PWMSS eCAP2 Registers */
528#define ECAP2_BASE                      (L4_PER_BASE + 0x00304100)
529#define ECAP2_REG(_x_)                  *(vulong *)(ECAP2_BASE + _x_)
530/* PWMSS eQEP2 Registers */
531#define EQEP2_BASE                      (L4_PER_BASE + 0x00304180)
532#define EQEP2_REG(_x_)                  *(vulong *)(EQEP2_BASE + _x_)
533/* PWMSS ePWM2 Registers */
534#define EPWM2_BASE                      (L4_PER_BASE + 0x00304200)
535#define EPWM2_REG(_x_)                  *(vulong *)(EPWM2_BASE + _x_)
536/* LCD Contoller Registers */
537#define LCD_CNTLR_BASE                  (L4_PER_BASE + 0x0030E000)
538#define LCD_CNTLR_REG(_x_)              *(vulong *)(LCD_CNTLR_BASE + _x_)
539/*===========================================================================*/
540
541
542/*===========================================================================*/
543/* L4_FAST Peripherals */
544/*===========================================================================*/
545#define L4_FAST_BASE                    0x4A000000
546/* Ethernet Switch Subsystem Registers */
547#define CPSW_SS_BASE                    (LF_FAST_BASE + 0x00100000)
548#define CPSW_SS_REG(_x_)                *(vulong *)(CPSW_SS_BASE + _x_)
549/* Ethernet Switch Port Control Registers */
550#define CPSW_PORT_BASE                  (LF_FAST_BASE + 0x00100100)
551#define CPSW_PORT_REG(_x_)              *(vulong *)(CPSW_PORT_BASE + _x_)
552/* CPPI DMA Controller Module Registers */
553#define CPSW_CPDMA_BASE                 (LF_FAST_BASE + 0x00100800)
554#define CPSW_CPDMA_REG(_x_)             *(vulong *)(CPSW_CPDMA_BASE + _x_)
555/* Ethernet Statistics Registers */
556#define CPSW_STATS_BASE                 (LF_FAST_BASE + 0x00100900)
557#define CPSW_STATS_REG(_x_)             *(vulong *)(CPSW_STATS_BASE + _x_)
558/* CPPI DMA State RAM Registers */
559#define CPSW_STATERAM_BASE              (LF_FAST_BASE + 0x00100A00)
560#define CPSW_STATERAM_REG(_x_)          *(vulong *)(CPSW_STATERAM_BASE + _x_)
561/* Ethenet Time Sync Module Registers */
562#define CPSW_CPTS_BASE                  (LF_FAST_BASE + 0x00100C00)
563#define CPSW_CPTS_REG(_x_)              *(vulong *)(CPSW_CPTS_BASE + _x_)
564/* Ethernet Address Lookup Engine Registers */
565#define CPSW_ALE_BASE                   (LF_FAST_BASE + 0x00100D00)
566#define CPSW_ALE_REG(_x_)               *(vulong *)(CPSW_ALE_BASE + _x_)
567/* Ethernet Silver for Port 1 Registers */
568#define CPSW_SL1_BASE                   (LF_FAST_BASE + 0x00100D80)
569#define CPSW_SL1_REG(_x_)               *(vulong *)(CPSW_SL1_BASE + _x_)
570/* Ethernet Silver for Port 2 Registers */
571#define CPSW_SL2_BASE                   (LF_FAST_BASE + 0x00100DC0)
572#define CPSW_SL2_REG(_x_)               *(vulong *)(CPSW_SL2_BASE + _x_)
573/* Ethernet MDIO Controller Registers */
574#define MDIO_BASE                       (LF_FAST_BASE + 0x00101000)
575#define MDIO_REG(_x_)                   *(vulong *)(MDIO_BASE + _x_)
576/* Ethernet Subsystem Wrapper for RMII/RGMII Registers */
577#define CPSW_WR_BASE                    (LF_FAST_BASE + 0x00101200)
578#define CPSW_WR_REG(_x_)                *(vulong *)(CPSW_WR_BASE + _x_)
579/*===========================================================================*/
580
581
582/*===========================================================================*/
583/* UART Register offsets */
584/*===========================================================================*/
585        /* Transmit Holding Register (write only) */
586#define UART_THR                0x00
587        /* Receive Holding Register (read only) */
588#define UART_RHR                0x00
589        /* Baud divisor lower byte (read/write) */
590#define UART_DLL                0x00
591        /* Interrupt Enable Register (read/write) */
592#define UART_IER                0x04
593        /* Baud divisor higher byte (read/write) */
594#define UART_DLH                0x04
595        /* Enhanced Feature Register */
596#define UART_EFR                0x08
597        /* Interrupt Identification Register (read only) */
598#define UART_IIR                0x08
599        /* FIFO Control Register (write only) */
600#define UART_FCR                0x08
601        /* Line Control Register (read/write) */
602#define UART_LCR                0x0C
603        /* Modem Control Register (read/write) */
604#define UART_MCR                0x10
605        /* XON1/ADDR1 Register */
606#define UART_XON1_ADDR1         0x10
607        /* XON2/ADDR2 Register */
608#define UART_XON2_ADDR2         0x14
609        /* Line Status Register (read only) */
610#define UART_LSR                0x14
611        /* Transmission Control Register */
612#define UART_TCR                0x18
613        /* Modem Status Register (read only) */
614#define UART_MSR                0x18
615        /* XOFF1 Register */
616#define UART_XOFF1              0x18
617        /* Scratch Pad Register (read/write) */
618#define UART_SPR                0x1C
619        /* Trigger Level Register */
620#define UART_TLR                0x1C
621        /* XOFF2 Register */
622#define UART_XOFF2              0x1C
623        /* Mode Definition Register 1 */
624#define UART_MDR1               0x20
625        /* Mode Definition Register 2 */
626#define UART_MDR2               0x24
627        /* Transmit Frame Length Register Low (IrDA modes only) */
628#define UART_TXFLL              0x28
629        /* Status FIFO Line Status Register (IrDA modes only) */
630#define UART_SFLSR              0x28
631        /* Resume Register (IR-IrDA and IR-CIR modes only) */
632#define UART_RESUME             0x2C
633        /* Transmit Frame Length Register High (IrDA modes only) */
634#define UART_TXFLH              0x2C
635        /* Receive Frame Length Register Low (IrDA modes only) */
636#define UART_RXFLL              0x30
637        /* Status FIFO Register Low (IrDA modes only) */
638#define UART_SFREGL             0x30
639        /* Status FIFO Register High (IrDA modes only) */
640#define UART_SFREGH             0x34
641        /* Receive Frame Length Register High (IrDA modes only) */
642#define UART_RXFLH              0x34
643        /* BOF Control Register (IrDA modes only_ */
644#define UART_BLR                0x38
645        /* UART Autobauding Status Register (UART autobauding
646           mode only */
647#define UART_UASR               0x38
648        /* Auxiliary Control Register (IrDA-CIR modes only) */
649#define UART_ACREG              0x3C
650        /* Supplementary Control Register */
651#define UART_SCR                0x40
652        /* Supplementary Status Register */
653#define UART_SSR                0x44
654        /* BOF Length Register (IR-IrDA and IR-CIR modes only) */
655#define UART_EBLR               0x48
656        /* Module Version Register */
657#define UART_MVR                0x50
658        /* System Configuration Register */
659#define UART_SYSC               0x54
660        /* System Status Register */
661#define UART_SYSS               0x58
662        /* Wake-up Enable Register */
663#define UART_WER                0x5C
664        /* Carrier Frequency Prescalar Register */
665#define UART_CFPS               0x60
666        /* Received FIFO Level Register */
667#define UART_RXFIFO_LVL         0x64
668        /* Transmit FIFO Level Register */
669#define UART_TXFIFO_LVL         0x68
670        /* IER2 Register */
671#define UART_IER2               0x6C
672        /* ISR2 Register */
673#define UART_ISR2               0x70
674        /* FREQ_SEL Register */
675#define UART_FREQ_SEL           0x74
676        /* Mode Definition Register 3 */
677#define UART_MDR3               0x80
678        /* TX DMA Threshold Register */
679#define UART_TX_DMA_THRESHOLD   0x84
680/*===========================================================================*/
681
682
683/*===========================================================================*/
684/* USB */
685/*===========================================================================*/
686#define USB_SUBSYS_BASE_ADDR            0x47400000
687/*---------------------------------------------------------------------------*/
688/* USB Subsystem Registers offset */
689#define USBSS_BASE_REG_OFFSET           0x0000
690#define USBSS_REVREG                    0x0000
691#define USBSS_SYSCONFIG                 0x0010
692#define USBSS_IRQSTATRAW                0x0024
693#define USBSS_IRQSTAT                   0x0028
694#define USBSS_IRQENABLER                0x002C
695#define USBSS_IRQCLEARR                 0x0030
696#define USBSS_IRQDMATHOLDTX00           0x0100
697#define USBSS_IRQDMATHOLDTX01           0x0104
698#define USBSS_IRQDMATHOLDTX02           0x0108
699#define USBSS_IRQDMATHOLDTX03           0x010C
700#define USBSS_IRQDMATHOLDRX00           0x0110
701#define USBSS_IRQDMATHOLDRX01           0x0114
702#define USBSS_IRQDMATHOLDRX02           0x0118
703#define USBSS_IRQDMATHOLDRX03           0x011C
704#define USBSS_IRQDMATHOLDTX10           0x0120
705#define USBSS_IRQDMATHOLDTX11           0x0124
706#define USBSS_IRQDMATHOLDTX12           0x0128
707#define USBSS_IRQDMATHOLDTX13           0x012C
708#define USBSS_IRQDMATHOLDRX10           0x0130
709#define USBSS_IRQDMATHOLDRX11           0x0134
710#define USBSS_IRQDMATHOLDRX12           0x0138
711#define USBSS_IRQDMATHOLDRX13           0x013C
712#define USBSS_IRQDMAENABLE0             0x0140
713#define USBSS_IRQDMAENABLE1             0x0144
714#define USBSS_IRQFRAMETHOLDTX00         0x0200
715#define USBSS_IRQFRAMETHOLDTX01         0x0204
716#define USBSS_IRQFRAMETHOLDTX02         0x0208
717#define USBSS_IRQFRAMETHOLDTX03         0x020C
718#define USBSS_IRQFRAMETHOLDRX00         0x0210
719#define USBSS_IRQFRAMETHOLDRX01         0x0214
720#define USBSS_IRQFRAMETHOLDRX02         0x0218
721#define USBSS_IRQFRAMETHOLDRX03         0x021C
722#define USBSS_IRQFRAMETHOLDTX10         0x0220
723#define USBSS_IRQFRAMETHOLDTX11         0x0224
724#define USBSS_IRQFRAMETHOLDTX12         0x0228
725#define USBSS_IRQFRAMETHOLDTX13         0x022C
726#define USBSS_IRQFRAMETHOLDRX10         0x0230
727#define USBSS_IRQFRAMETHOLDRX11         0x0234
728#define USBSS_IRQFRAMETHOLDRX12         0x0238
729#define USBSS_IRQFRAMETHOLDRX13         0x023C
730#define USBSS_IRQFRAMEENABLE0           0x0240
731#define USBSS_IRQFRAMEENABLE1           0x0244
732/*---------------------------------------------------------------------------*/
733/* USB Controller Registers offset  */
734#define USBCNTLR_USB0_BASE_REG_OFFSET   0x1000 /* USB0 */
735#define USBCNTLR_USB1_BASE_REG_OFFSET   0x1800 /* USB1 */
736#define USBCNTLR_REV                    0x0000
737#define USBCNTLR_CTRL                   0x0014
738#define USBCNTLR_STAT                   0x0018
739#define USBCNTLR_IRQMSTAT               0x0020
740#define USBCNTLR_IRQSTATRAW0            0x0028
741#define USBCNTLR_IRQSTATRAW1            0x002C
742#define USBCNTLR_IRQSTAT0               0x0030
743#define USBCNTLR_IRQSTAT1               0x0034
744#define USBCNTLR_IRQENABLESET0          0x0038
745#define USBCNTLR_IRQENABLESET1          0x003C
746#define USBCNTLR_IRQENABLECLR0          0x0040
747#define USBCNTLR_IRQENABLECLR1          0x0044
748#define USBCNTLR_TXMODE                 0x0070
749#define USBCNTLR_RXMODE                 0x0074
750#define USBCNTLR_GENRNDISEP1            0x0080
751#define USBCNTLR_GENRNDISEP2            0x0084
752#define USBCNTLR_GENRNDISEP3            0x0088
753#define USBCNTLR_GENRNDISEP4            0x008C
754#define USBCNTLR_GENRNDISEP5            0x0090
755#define USBCNTLR_GENRNDISEP6            0x0094
756#define USBCNTLR_GENRNDISEP7            0x0098
757#define USBCNTLR_GENRNDISEP8            0x009C
758#define USBCNTLR_GENRNDISEP9            0x00A0
759#define USBCNTLR_GENRNDISEP10           0x00A4
760#define USBCNTLR_GENRNDISEP11           0x00A8
761#define USBCNTLR_GENRNDISEP12           0x00AC
762#define USBCNTLR_GENRNDISEP13           0x00B0
763#define USBCNTLR_GENRNDISEP14           0x00B4
764#define USBCNTLR_GENRNDISEP15           0x00B8
765#define USBCNTLR_AUTOREQ                0x00D0
766#define USBCNTLR_SRPFIXTIME             0x00D4
767#define USBCNTLR_TDOWN                  0x00D8
768#define USBCNTLR_UTMI                   0x00E0
769#define USBCNTLR_MGCUTMILB              0x00E4
770#define USBCNTLR_MODE                   0x00E8
771/*---------------------------------------------------------------------------*/
772/* USB PHY Registers offset */
773#define USBPHY_USB0_BASE_REG_OFFSET     0x1300 /* USB0 */
774#define USBPHY_USB1_BASE_REG_OFFSET     0x1B00 /* USB1 */
775#define USBPHY_TERMINATION_CNTL         0x0000
776#define USBPHY_RX_CALIB                 0x0004
777#define USBPHY_DLLHS_2                  0x0008
778#define USBPHY_RX_TEST_2                0x000C
779#define USBPHY_CHRG_DET                 0x0014
780#define USBPHY_PWR_CNTL                 0x0018
781#define USBPHY_UTMI_INTERFACE_CNTL_1    0x001C
782#define USBPHY_UTMI_INTERFACE_CNTL_2    0x0020
783#define USBPHY_BIST                     0x0024
784#define USBPHY_BIST_CRC                 0x0028
785#define USBPHY_CDR_BIST2                0x002C
786#define USBPHY_GPIO                     0x0030
787#define USBPHY_DLLHS                    0x0034
788#define USBPHY_USB2PHYCM_CONFIG         0x003C
789#define USBPHY_AD_INTERFACE_REG1        0x0044
790#define USBPHY_AD_INTERFACE_REG2        0x0048
791#define USBPHY_AD_INTERFACE_REG3        0x004C
792#define USBPHY_ANA_CONFIG2              0x0054
793/*---------------------------------------------------------------------------*/
794/* USB Core Registers offset */
795#define USBCORE_USB0_BASE_REG_OFFSET    0x1400
796#define USBCORE_USB1_BASE_REG_OFFSET    0x1C00
797/*---------------------------------------------------------------------------*/
798/* USB CPPI DMA Controller Registers offset */
799#define USBCPPIDMACNTLR_BASE_REG_OFFSET 0x2000
800#define USBCPPIDMACNTLR_DMAREVID        0x0000
801#define USBCPPIDMACNTLR_TDFDQ           0x0004
802#define USBCPPIDMACNTLR_DMAEMU          0x0008
803#define USBCPPIDMACNTLR_TXGCR0          0x0800
804#define USBCPPIDMACNTLR_RXGCR0          0x0808
805#define USBCPPIDMACNTLR_RXHPCRA0        0x080C
806#define USBCPPIDMACNTLR_RXHPCRB0        0x0810
807#define USBCPPIDMACNTLR_TXGCR1          0x0820
808#define USBCPPIDMACNTLR_RXGCR1          0x0828
809#define USBCPPIDMACNTLR_RXHPCRA1        0x082C
810#define USBCPPIDMACNTLR_RXHPCRB1        0x0830
811#define USBCPPIDMACNTLR_TXGCR2          0x0840
812#define USBCPPIDMACNTLR_RXGCR2          0x0848
813#define USBCPPIDMACNTLR_RXHPCRA2        0x084C
814#define USBCPPIDMACNTLR_RXHPCRB2        0x0850
815#define USBCPPIDMACNTLR_TXGCR3          0x0860
816#define USBCPPIDMACNTLR_RXGCR3          0x0868
817#define USBCPPIDMACNTLR_RXHPCRA3        0x086C
818#define USBCPPIDMACNTLR_RXHPCRB3        0x0870
819#define USBCPPIDMACNTLR_TXGCR4          0x0880
820#define USBCPPIDMACNTLR_RXGCR4          0x0888
821#define USBCPPIDMACNTLR_RXHPCRA4        0x088C
822#define USBCPPIDMACNTLR_RXHPCRB4        0x0890
823#define USBCPPIDMACNTLR_TXGCR5          0x08A0
824#define USBCPPIDMACNTLR_RXGCR5          0x08A8
825#define USBCPPIDMACNTLR_RXHPCRA5        0x08AC
826#define USBCPPIDMACNTLR_RXHPCRB5        0x08B0
827#define USBCPPIDMACNTLR_TXGCR6          0x08C0
828#define USBCPPIDMACNTLR_RXGCR6          0x08C8
829#define USBCPPIDMACNTLR_RXHPCRA6        0x08CC
830#define USBCPPIDMACNTLR_RXHPCRB6        0x08D0
831#define USBCPPIDMACNTLR_TXGCR7          0x08E0
832#define USBCPPIDMACNTLR_RXGCR7          0x08E8
833#define USBCPPIDMACNTLR_RXHPCRA7        0x08EC
834#define USBCPPIDMACNTLR_RXHPCRB7        0x08F0
835#define USBCPPIDMACNTLR_TXGCR8          0x0900
836#define USBCPPIDMACNTLR_RXGCR8          0x0908
837#define USBCPPIDMACNTLR_RXHPCRA8        0x090C
838#define USBCPPIDMACNTLR_RXHPCRB8        0x0910
839#define USBCPPIDMACNTLR_TXGCR9          0x0920
840#define USBCPPIDMACNTLR_RXGCR9          0x0928
841#define USBCPPIDMACNTLR_RXHPCRA9        0x092C
842#define USBCPPIDMACNTLR_RXHPCRB9        0x0930
843#define USBCPPIDMACNTLR_TXGCR10         0x0940
844#define USBCPPIDMACNTLR_RXGCR10         0x0948
845#define USBCPPIDMACNTLR_RXHPCRA10       0x094C
846#define USBCPPIDMACNTLR_RXHPCRB10       0x0950
847#define USBCPPIDMACNTLR_TXGCR11         0x0960
848#define USBCPPIDMACNTLR_RXGCR11         0x0968
849#define USBCPPIDMACNTLR_RXHPCRA11       0x096C
850#define USBCPPIDMACNTLR_RXHPCRB11       0x0970
851#define USBCPPIDMACNTLR_TXGCR12         0x0980
852#define USBCPPIDMACNTLR_RXGCR12         0x0988
853#define USBCPPIDMACNTLR_RXHPCRA12       0x098C
854#define USBCPPIDMACNTLR_RXHPCRB12       0x0990
855#define USBCPPIDMACNTLR_TXGCR13         0x09A0
856#define USBCPPIDMACNTLR_RXGCR13         0x09A8
857#define USBCPPIDMACNTLR_RXHPCRA13       0x09AC
858#define USBCPPIDMACNTLR_RXHPCRB13       0x09B0
859#define USBCPPIDMACNTLR_TXGCR14         0x09C0
860#define USBCPPIDMACNTLR_RXGCR14         0x09C8
861#define USBCPPIDMACNTLR_RXHPCRA14       0x09CC
862#define USBCPPIDMACNTLR_RXHPCRB14       0x09D0
863#define USBCPPIDMACNTLR_TXGCR15         0x09E0
864#define USBCPPIDMACNTLR_RXGCR15         0x09E8
865#define USBCPPIDMACNTLR_RXHPCRA15       0x09EC
866#define USBCPPIDMACNTLR_RXHPCRB15       0x09F0
867#define USBCPPIDMACNTLR_TXGCR16         0x0A00
868#define USBCPPIDMACNTLR_RXGCR16         0x0A08
869#define USBCPPIDMACNTLR_RXHPCRA16       0x0A0C
870#define USBCPPIDMACNTLR_RXHPCRB16       0x0A10
871#define USBCPPIDMACNTLR_TXGCR17         0x0A20
872#define USBCPPIDMACNTLR_RXGCR17         0x0A28
873#define USBCPPIDMACNTLR_RXHPCRA17       0x0A2C
874#define USBCPPIDMACNTLR_RXHPCRB17       0x0A30
875#define USBCPPIDMACNTLR_TXGCR18         0x0A40
876#define USBCPPIDMACNTLR_RXGCR18         0x0A48
877#define USBCPPIDMACNTLR_RXHPCRA18       0x0A4C
878#define USBCPPIDMACNTLR_RXHPCRB18       0x0A50
879#define USBCPPIDMACNTLR_TXGCR19         0x0A60
880#define USBCPPIDMACNTLR_RXGCR19         0x0A68
881#define USBCPPIDMACNTLR_RXHPCRA19       0x0A6C
882#define USBCPPIDMACNTLR_RXHPCRB19       0x0A70
883#define USBCPPIDMACNTLR_TXGCR20         0x0A80
884#define USBCPPIDMACNTLR_RXGCR20         0x0A88
885#define USBCPPIDMACNTLR_RXHPCRA20       0x0A8C
886#define USBCPPIDMACNTLR_RXHPCRB20       0x0A90
887#define USBCPPIDMACNTLR_TXGCR21         0x0AA0
888#define USBCPPIDMACNTLR_RXGCR21         0x0AA8
889#define USBCPPIDMACNTLR_RXHPCRA21       0x0AAC
890#define USBCPPIDMACNTLR_RXHPCRB21       0x0AB0
891#define USBCPPIDMACNTLR_TXGCR22         0x0AC0
892#define USBCPPIDMACNTLR_RXGCR22         0x0AC8
893#define USBCPPIDMACNTLR_RXHPCRA22       0x0ACC
894#define USBCPPIDMACNTLR_RXHPCRB22       0x0AD0
895#define USBCPPIDMACNTLR_TXGCR23         0x0AE0
896#define USBCPPIDMACNTLR_RXGCR23         0x0AE8
897#define USBCPPIDMACNTLR_RXHPCRA23       0x0AEC
898#define USBCPPIDMACNTLR_RXHPCRB23       0x0AF0
899#define USBCPPIDMACNTLR_TXGCR24         0x0B00
900#define USBCPPIDMACNTLR_RXGCR24         0x0B08
901#define USBCPPIDMACNTLR_RXHPCRA24       0x0B0C
902#define USBCPPIDMACNTLR_RXHPCRB24       0x0B10
903#define USBCPPIDMACNTLR_TXGCR25         0x0B20
904#define USBCPPIDMACNTLR_RXGCR25         0x0B28
905#define USBCPPIDMACNTLR_RXHPCRA25       0x0B2C
906#define USBCPPIDMACNTLR_RXHPCRB25       0x0B30
907#define USBCPPIDMACNTLR_TXGCR26         0x0B40
908#define USBCPPIDMACNTLR_RXGCR26         0x0B48
909#define USBCPPIDMACNTLR_RXHPCRA26       0x0B4C
910#define USBCPPIDMACNTLR_RXHPCRB26       0x0B50
911#define USBCPPIDMACNTLR_TXGCR27         0x0B60
912#define USBCPPIDMACNTLR_RXGCR27         0x0B68
913#define USBCPPIDMACNTLR_RXHPCRA27       0x0B6C
914#define USBCPPIDMACNTLR_RXHPCRB27       0x0B70
915#define USBCPPIDMACNTLR_TXGCR28         0x0B80
916#define USBCPPIDMACNTLR_RXGCR28         0x0B88
917#define USBCPPIDMACNTLR_RXHPCRA28       0x0B8C
918#define USBCPPIDMACNTLR_RXHPCRB28       0x0B90
919#define USBCPPIDMACNTLR_TXGCR29         0x0BA0
920#define USBCPPIDMACNTLR_RXGCR29         0x0BA8
921#define USBCPPIDMACNTLR_RXHPCRA29       0x0BAC
922#define USBCPPIDMACNTLR_RXHPCRB29       0x0BB0
923/*---------------------------------------------------------------------------*/
924/* USB CPPI DMA Scheduler Registers offset */
925#define USBCPPIDMASCHED_BASE_REG_OFFSET 0x3000
926#define USBCPPIDMASCHED_CNTL            0x0000
927/*---------------------------------------------------------------------------*/
928/* USB Queue Manager Registers offset */
929#define USBQUEUEMNGER_BASEREG_OFFSET    0x4000
930#define USBQUEUEMNGER_QMGRREVID         0x0000
931#define USBQUEUEMNGER_QMGRRST           0x0008
932#define USBQUEUEMNGER_FDNSCO            0x0020
933#define USBQUEUEMNGER_FDNSC1            0x0024
934#define USBQUEUEMNGER_FDNSC2            0x0028
935#define USBQUEUEMNGER_FDNSC3            0x002C
936#define USBQUEUEMNGER_FDNSC4            0x0030
937#define USBQUEUEMNGER_FDNSC5            0x0034
938#define USBQUEUEMNGER_FDNSC6            0x0038
939#define USBQUEUEMNGER_FDNSC7            0x003C
940#define USBQUEUEMNGER_LRAM0BASE         0x0080
941#define USBQUEUEMNGER_LRAM0SIZE         0x0084
942#define USBQUEUEMNGER_LRAM1BASE         0x0088
943#define USBQUEUEMNGER_PEND0             0x0090
944#define USBQUEUEMNGER_PEND1             0x0094
945#define USBQUEUEMNGER_PEND2             0x0098
946#define USBQUEUEMNGER_PEND3             0x009C
947#define USBQUEUEMNGER_PEND4             0x00A0
948#define USBQUEUEMNGER_QMEMRBASE0        0x1000
949#define USBQUEUEMNGER_QMEMCNTL0         0x1004
950#define USBQUEUEMNGER_QMEMRBASE1        0x1010
951#define USBQUEUEMNGER_QMEMCNTL1         0x1014
952#define USBQUEUEMNGER_QMEMRBASE2        0x1020
953#define USBQUEUEMNGER_QMEMCNTL2         0x1024
954#define USBQUEUEMNGER_QMEMRBASE3        0x1030
955#define USBQUEUEMNGER_QMEMCNTL3         0x1034
956#define USBQUEUEMNGER_QMEMRBASE4        0x1040
957#define USBQUEUEMNGER_QMEMCNTL4         0x1044
958#define USBQUEUEMNGER_QMEMRBASE5        0x1050
959#define USBQUEUEMNGER_QMEMCNTL5         0x1054
960#define USBQUEUEMNGER_QMEMRBASE6        0x1060
961#define USBQUEUEMNGER_QMEMCNTL6         0x1064
962#define USBQUEUEMNGER_QMEMRBASE7        0x1070
963#define USBQUEUEMNGER_QMEMCNTL7         0x1074
964/*===========================================================================*/
965
966
967/*===========================================================================*/
968/* SPI */
969/*===========================================================================*/
970        /* Revision Register */
971#define MCSPI_REVISION                  0x0000
972        /* System Configuration Register */
973#define MCSPI_SYSCONFIG                 0x0110
974        /* System Status Register */
975#define MCSPI_SYSSTATUS                 0x0114
976        /* Interrupt Status Register offset */
977#define MCSPI_IRQSTATUS                 0x0118
978/*---------------------------------------------------------------------------*/
979/* Interrupt Status Register bit defines */
980#define MCSPI_IRQSTATUS_RX3_FULL        BIT14
981#define MCSPI_IRQSTATUS_TX3_UNDERFLOW   BIT13
982#define MCSPI_IRQSTATUS_TX3_EMPTY       BIT12
983#define MCSPI_IRQSTATUS_RX2_FULL        BIT10
984#define MCSPI_IRQSTATUS_TX2_UNDERFLOW   BIT9
985#define MCSPI_IRQSTATUS_TX2_EMPTY       BIT8
986#define MCSPI_IRQSTATUS_RX1_FULL        BIT6
987#define MCSPI_IRQSTATUS_TX1_UNDERFLOW   BIT5
988#define MCSPI_IRQSTATUS_TX1_EMPTY       BIT4
989#define MCSPI_IRQSTATUS_RX0_OVERFLOW    BIT3
990#define MCSPI_IRQSTATUS_RX0_FULL        BIT2
991#define MCSPI_IRQSTATUS_TX0_UNDERFLOW   BIT1
992#define MCSPI_IRQSTATUS_TX0_EMPTY       BIT0
993        /* Interrupt Enable Register offset */
994#define MCSPI_IRQENABLE                 0x011C
995        /* System Register offset */
996#define MCSPI_SYST                      0x0124
997        /* Module Control Register offset */
998#define MCSPI_MODULCTRL                 0x0128
999/*---------------------------------------------------------------------------*/
1000/* Configuration Registers offset */
1001
1002        /* Channel 0 Configuration Register offset */
1003#define MCSPI_CH0CONF                   0x012C
1004        /* Channel 1 Configuration Register offset */
1005#define MCSPI_CH1CONF                   0x0140
1006        /* Channel 2 Configuration Register offset */
1007#define MCSPI_CH2CONF                   0x0154
1008        /* Channel 3 Configuration Register offset */
1009#define MCSPI_CH3CONF                   0x0168
1010
1011
1012/* Configuration Register bit defines */
1013
1014        /* 1 = One clock cycle granularity */
1015#define MCSPI_CHXCONF_CLKG              BIT29
1016        /* 1 = FIFO buffer is used to Receive data */
1017#define MCSPI_CHXCONF_FFER              BIT28
1018        /* 1 = FIFO buffer is used to Transmit data */
1019#define MCSPI_CHXCONF_FFEW              BIT27
1020        /* 0.5 clock cycles between CS toggling and first (or last) edge
1021           of SPI clock */
1022#define MCSPI_CHXCONF_TCS_0_5           (0x00 << 25)
1023        /* 1.5 clock cycles between CS toggling and first (or last) edge
1024           of SPI clock */
1025#define MCSPI_CHXCONF_TCS_1_5           (0x01 << 25)
1026        /* 2.5 clock cycles between CS toggling and first (or last) edge
1027           of SPI clock */
1028#define MCSPI_CHXCONF_TCS_2_5           (0x02 << 25)
1029        /* 3.5 clock cycles between CS toggling and first (or last) edge
1030           of SPI clock */
1031#define MCSPI_CHXCONF_TCS_3_5           (0x03 << 25)
1032        /* 1 = Start bit polarity is held to 1 during SPI transfer */
1033#define MCSPI_CHXCONF_SBPOL             BIT24
1034        /* 1 = Start bit added before SPI transfer
1035           0 = default length specified by WL */
1036#define MCSPI_CHXCONF_SBE               BIT23
1037        /* Slave select detection enabled on CS0 */
1038#define MCSPI_CHXCONF_SPIENSLV_0        (0x00 << 21)
1039        /* Slave select detection enabled on CS1 */
1040#define MCSPI_CHXCONF_SPIENSLV_1        (0x01 << 21)
1041        /* Slave select detection enabled on CS2 */
1042#define MCSPI_CHXCONF_SPIENSLV_2        (0x02 << 21)
1043        /* Slave select detection enabled on CS3 */
1044#define MCSPI_CHXCONF_SPIENSLV_3        (0x03 << 21)
1045        /* 1 = CSx high when EPOL is 0 and low whel EPOL is 1 */
1046#define MCSPI_CHXCONF_FORCE             BIT20
1047        /* Turbo is activated */
1048#define MCSPI_CHXCONF_TURBO             BIT19
1049        /* 1 = spim_simo selected for reception
1050           0 = spim_somi selected for reception */
1051#define MCSPI_CHXCONF_IS                BIT18
1052        /* 1 = no transmission on spim_simo
1053           0 = spim_simo selected for transmission */
1054#define MCSPI_CHXCONF_DPE1              BIT17
1055        /* 1 = no transmission on spim_somi
1056           0 = spim_somi selected for transmission */
1057#define MCSPI_CHXCONF_DPE0              BIT16
1058        /* 1 = DMA read request enabled */
1059#define MCSPI_CHXCONF_DMAR              BIT15
1060        /* 1 = DMA write request enabled */
1061#define MCSPI_CHXCONF_DMAW              BIT14
1062        /* Transmit and receive mode */
1063#define MCSPI_CHXCONF_TRM_TR            (0x00 << 12)
1064        /* Receive-only mode */
1065#define MCSPI_CHXCONF_TRM_RO            (0x01 << 12)
1066        /* Transmit-only mode */
1067#define MCSPI_CHXCONF_TRM_TO            (0x02 << 12)
1068        /* SPI word length, 0x7 = 8-bit */
1069#define MCSPI_CHXCONF_WL(_x_)           ((_x_ & 0x1f) << 7)
1070        /* 1 = SPIM_CSx is low during active state,
1071           0 = high during active state */
1072#define MCSPI_CHxCONF_EPOL              BIT6
1073        /* Frequency divider for spim_clk */
1074#define MCSPI_CHXCONF_CLKD(_x_)         ((_x_ & 0xf) << 2)
1075        /* 1 = spim_clk is low during active state
1076           0 = high during active state */
1077#define MCSPI_CHXCONF_POL               BIT1
1078        /* 1 = data latched on even-numbered edges
1079           0 = data latched on odd-numbered edges */
1080#define MCSPI_CHXCONF_PHA               BIT0
1081/*---------------------------------------------------------------------------*/
1082/* Status Registers offset */
1083#define MCSPI_CH0STAT                   0x0130  // Channel 0 Status Register
1084#define MCSPI_CH1STAT                   0x0144  // Channel 1 Status Register
1085#define MCSPI_CH2STAT                   0x0158  // Channel 2 Status Register
1086#define MCSPI_CH3STAT                   0x016C  // Channel 3 Status Register
1087/* Status Register bit defines */
1088#define MCSPI_CHXSAT_RXF_FULL           BIT6
1089#define MCSPI_CHXSAT_RXF_EMPTY          BIT5
1090#define MCSPI_CHXSAT_TXF_FULL           BIT4
1091#define MCSPI_CHXSAT_TXF_EMPTY          BIT3
1092#define MCSPI_CHXSAT_EOT                BIT2
1093#define MCSPI_CHXSAT_TX0_EMPTY          BIT1
1094#define MCSPI_CHXSAT_RX0_FULL           BIT0
1095/*---------------------------------------------------------------------------*/
1096/* Control Registers offset */
1097#define MCSPI_CH0CTRL           0x0134  // Channel 0 Control Register offset
1098#define MCSPI_CH1CTRL           0x0148  // Channel 1 Control Register offset
1099#define MCSPI_CH2CTRL           0x015C  // Channel 2 Control Register offset
1100#define MCSPI_CH3CTRL           0x0170  // Channel 3 Control Register offset
1101/*---------------------------------------------------------------------------*/
1102/* FIFO Buffer Registers offset */
1103
1104        /* Channel 0 FIFO Transmit Buffer Register offset */
1105#define MCSPI_TX0               0x0138
1106        /* Channel 0 FIFO Receive Buffer Register offset */
1107#define MCSPI_RX0               0x013C
1108        /* Channel 1 FIFO Transmit Buffer Register offset */
1109#define MCSPI_TX1               0x014C
1110        /* Channel 1 FIFO Receive Buffer Register offset */
1111#define MCSPI_RX1               0x0150
1112        /* Channel 2 FIFO Transmit Buffer Register offset */
1113#define MCSPI_TX2               0x0160
1114        /* Channel 2 FIFO Receive Buffer Register offset */
1115#define MCSPI_RX2               0x0164
1116        /* Channel 3 FIFO Transmit Buffer Register offset */
1117#define MCSPI_TX3               0x0174
1118        /* Channel 3 FIFO Receive Buffer Register offset */
1119#define MCSPI_RX3               0x0178
1120/*---------------------------------------------------------------------------*/
1121        /* Transfer Levels Register */
1122#define MCSPI_XFERLEVEL         0x017C
1123        /* DMA Address Aligned FIFO Transmitter Register */
1124#define MCSPI_DAFTX             0x0180
1125        /* DMA Address Aligned FIFO Receiver Register */
1126#define MCSPI_DAFRX             0x01A0
1127/*===========================================================================*/
1128
1129
1130/*===========================================================================*/
1131/* General Purpose I/O */
1132/*===========================================================================*/
1133/* GPIO0 Registers */
1134#define GPIO0_BASE                      (L4_WKUP_BASE + 0x00207000)
1135#define GPIO0_REG(_x_)                  *(vulong *)(GPIO0_BASE + _x_)
1136/* GPIO1 Registers */
1137#define GPIO1_BASE                      (L4_PER_BASE + 0x0004C000)
1138#define GPIO1_REG(_x_)                  *(vulong *)(GPIO1_BASE + _x_)
1139/* GPIO2 Registers */
1140#define GPIO2_BASE                      (L4_PER_BASE + 0x001AC000)
1141#define GPIO2_REG(_x_)                  *(vulong *)(GPIO2_BASE + _x_)
1142/* GPIO3 Registers */
1143#define GPIO3_BASE                      (L4_PER_BASE + 0x001AE000)
1144#define GPIO3_REG(_x_)                  *(vulong *)(GPIO3_BASE + _x_)
1145/*---------------------------------------------------------------------------*/
1146/* GPIOx Register offsets */
1147#define GPIOX_REVISION                  0x0000
1148#define GPIOX_SYSCONFIG                 0x0010
1149#define GPIOX_EOI                       0x0020
1150#define GPIOX_IRQSTATUS_RAW_0           0x0024
1151#define GPIOX_IRQSTATUS_RAW_1           0x0028
1152#define GPIOX_IRQSTATUS_0               0x002C
1153#define GPIOX_IRQSTATUS_1               0x0030
1154#define GPIOX_IRQSTATUS_SET_0           0x0034
1155#define GPIOX_IRQSTATUS_SET_1           0x0038
1156#define GPIOX_IRQSTATUS_CLR_0           0x003C
1157#define GPIOX_IRQSTATUS_CLR_1           0x0040
1158#define GPIOX_IRQWAKEN_0                0x0044
1159#define GPIOX_IRQWAKEN_1                0x0048
1160#define GPIOX_SYSSTATUS                 0x0114
1161#define GPIOX_CTRL                      0x0130
1162#define GPIOX_OE                        0x0134
1163#define GPIOX_DATAIN                    0x0138
1164#define GPIOX_DATAOUT                   0x013C
1165#define GPIOX_LEVELDETECT0              0x0140
1166#define GPIOX_LEVELDETECT1              0x0144
1167#define GPIOX_RISINGDETECT              0x0148
1168#define GPIOX_FALLINGDETECT             0x014C
1169#define GPIOX_DEBOUNCEENABLE            0x0150
1170#define GPIOX_DEBOUNCINGTIME            0x0154
1171#define GPIOX_CLEARDATAOUT              0x0190
1172#define GPIOX_SETDATAOUT                0x0194
1173/*===========================================================================*/
1174
1175
1176/*===========================================================================*/
1177/* Watchdog Timer */
1178/*===========================================================================*/
1179/* Watchdog Timer Registers offset*/
1180#define WDT1_BASE                       (L4_WKUP_BASE + 0x00235000)
1181#define WDT1_REG(_x_)                   *(vulong *)(WDT1_BASE + _x_)
1182/*---------------------------------------------------------------------------*/
1183/* WatchDog Timer Register offsets */
1184
1185        /* Watchdow Identification Register */
1186#define WDT1_WIDR                       0x00
1187        /* Watchdog System Control Register */
1188#define WDT1_WDSC                       0x10
1189        /* Watchdog Status Register */
1190#define WDT1_WDST                       0x14
1191        /* Watchdog Interrupt Status Register */
1192#define WDT1_WISR                       0x18
1193        /* Watchdog Interrupt Enable Register */
1194#define WDT1_WIER                       0x1C
1195        /* Watchdog Control Register */
1196#define WDT1_WCLR                       0x24
1197        /* Watchdog Counter Register */
1198#define WDT1_WCRR                       0x28
1199        /* Watchdog Load Register */
1200#define WDT1_WLDR                       0x2C
1201        /* Watchdog Trigger Register */
1202#define WDT1_WTGR                       0x30
1203        /* Watchdog Write Posting Bits Register */
1204#define WDT1_WWPS                       0x34
1205        /* Watchdog Delay Configuration Register */
1206#define WDT1_WDLY                       0x44
1207        /* Watchdog Start/Stop Register */
1208#define WDT1_WSPR                       0x48
1209        /* Watchdog Raw Interrupt Status Register */
1210#define WDT1_WIRQSTATRAW                0x54
1211        /* Watchdog Interrupt Status Register */
1212#define WDT1_WIRQSTAT                   0x58
1213        /* Watchdog Interrupt Enable Set Register */
1214#define WDT1_WIRQENSET                  0x5C
1215        /* Watchdog Interrupt Enable Clear Register */
1216#define WDT1_WIRQENCLR                  0x60
1217/*===========================================================================*/
1218
1219
1220/*===========================================================================*/
1221/* MMC */
1222/*===========================================================================*/
1223/* MMC Registers offset */
1224#define MMC1_BASE                       (L4_PER_BASE + 0x001D8000)
1225#define MMC1_REG(_x_)                   *(vulong *)(MMC1_BASE + _x_)
1226/*---------------------------------------------------------------------------*/
1227/* MMC Register offsets */
1228
1229        /* System Configuration */
1230#define SD_SYSCONFIG                    0x0110
1231        /* System Status */
1232#define SD_SYSSTATUS                    0x0114
1233        /* Card Status Response Error */
1234#define SD_CSRE                         0x0124
1235        /* System Test */
1236#define SD_SYSTEST                      0x0128
1237        /* Configuration */
1238#define SD_CON                          0x012C
1239        /* Power Counter */
1240#define SD_PWCNT                        0x0130
1241        /* SDMA System Address */
1242#define SD_SDMASA                       0x0200
1243        /* Transfer Length Configuration */
1244#define SD_BLK                          0x0204
1245        /* Command Argument */
1246#define SD_ARG                          0x0208
1247        /* Command and Transfer Mode */
1248#define SD_CMD                          0x020C
1249        /* Command Response 0 and 1 */
1250#define SD_RSP10                        0x0210
1251        /* Command Response 2 and 3 */
1252#define SD_RSP32                        0x0214
1253        /* Command Response 4 and 5 */
1254#define SD_RSP54                        0x0218
1255        /* Command Response 6 and 7 */
1256#define SD_RSP76                        0x021C
1257        /* Data */
1258#define SD_DATA                         0x0220
1259        /* Present State */
1260#define SD_PSTATE                       0x0224
1261        /* Host Control */
1262#define SD_HCTL                         0x0228
1263        /* SD System Control */
1264#define SD_SYSCTL                       0x022C
1265        /* SD Interrupt Status */
1266#define SD_STAT                         0x0230
1267        /* SD Interrupt Enable */
1268#define SD_IE                           0x0234
1269        /* SD Interrupt Enable Set */
1270#define SD_ISE                          0x0238
1271        /* Auto CMD12 Error Status */
1272#define SD_AC12                         0x023C
1273        /* Capabilities */
1274#define SD_CAPA                         0x0240
1275        /* Maximum Current Capabilities */
1276#define SD_CUR_CAPA                     0x0148
1277        /* Force Event */
1278#define SD_FE                           0x0250
1279        /* ADMA Error Status */
1280#define SD_ADMAES                       0x0254
1281        /* ADMA System Address Low bits */
1282#define SD_ADMASAL                      0x0258
1283        /* ADMA System Address High bits */
1284#define SD_ADMASAH                      0x025C
1285        /* Versions */
1286#define SD_REV                          0x02FC
1287/*===========================================================================*/
1288
1289#endif /* AM335X_H */
Note: See TracBrowser for help on using the repository browser.