1 /*
2  * Copyright (c) 2006-2018, RT-Thread Development Team
3  *
4  * SPDX-License-Identifier: Apache-2.0
5  *
6  * Change Logs:
7  * Date           Author       Notes
8  * 2017-09-06     勤为本       first version
9  */
10 
11 // 龙芯1c外设寄存器
12 
13 
14 #ifndef __OPENLOONGSON_LS1C_REGS_H
15 #define __OPENLOONGSON_LS1C_REGS_H
16 
17 
18 
19 
20 // 时钟相关寄存器地址
21 #define LS1C_START_FREQ                     (0xbfe78030)
22 #define LS1C_CLK_DIV_PARAM                  (0xbfe78034)
23 
24 
25 // gpio相关寄存器地址
26 #define LS1C_GPIO_CFG0                      (0xbfd010c0)
27 #define LS1C_GPIO_EN0                       (0xbfd010d0)
28 #define LS1C_GPIO_IN0                       (0xbfd010e0)
29 #define LS1C_GPIO_OUT0                      (0xbfd010f0)
30 
31 #define LS1C_GPIO_CFG1                      (0xbfd010c4)
32 #define LS1C_GPIO_EN1                       (0xbfd010d4)
33 #define LS1C_GPIO_IN1                       (0xbfd010e4)
34 #define LS1C_GPIO_OUT1                      (0xbfd010f4)
35 
36 #define LS1C_GPIO_CFG2                      (0xbfd010c8)
37 #define LS1C_GPIO_EN2                       (0xbfd010d8)
38 #define LS1C_GPIO_IN2                       (0xbfd010e8)
39 #define LS1C_GPIO_OUT2                      (0xbfd010f8)
40 
41 #define LS1C_GPIO_CFG3                      (0xbfd010cc)
42 #define LS1C_GPIO_EN3                       (0xbfd010dc)
43 #define LS1C_GPIO_IN3                       (0xbfd010ec)
44 #define LS1C_GPIO_OUT3                      (0xbfd010fc)
45 
46 
47 
48 // 复用相关寄存器
49 #define LS1C_CBUS_FIRST0                    (0xbfd011c0)
50 #define LS1C_CBUS_SECOND0                   (0xbfd011d0)
51 #define LS1C_CBUS_THIRD0                    (0xbfd011e0)
52 #define LS1C_CBUS_FOURTH0                   (0xbfd011f0)
53 #define LS1C_CBUS_FIFTH0                    (0xbfd01200)
54 
55 #define LS1C_CBUS_FIRST1                    (0xbfd011c4)
56 #define LS1C_CBUS_SECOND1                   (0xbfd011d4)
57 #define LS1C_CBUS_THIRD1                    (0xbfd011e4)
58 #define LS1C_CBUS_FOURTH1                   (0xbfd011f4)
59 #define LS1C_CBUS_FIFTH1                    (0xbfd01204)
60 
61 #define LS1C_CBUS_FIRST2                    (0xbfd011c8)
62 #define LS1C_CBUS_SECOND2                   (0xbfd011d8)
63 #define LS1C_CBUS_THIRD2                    (0xbfd011e8)
64 #define LS1C_CBUS_FOURTH2                   (0xbfd011f8)
65 #define LS1C_CBUS_FIFTH2                    (0xbfd01208)
66 
67 #define LS1C_CBUS_FIRST3                    (0xbfd011cc)
68 #define LS1C_CBUS_SECOND3                   (0xbfd011dc)
69 #define LS1C_CBUS_THIRD3                    (0xbfd011ec)
70 #define LS1C_CBUS_FOURTH3                   (0xbfd011fc)
71 #define LS1C_CBUS_FIFTH3                    (0xbfd0120c)
72 
73 
74 // PWM寄存器偏移
75 #define LS1C_PWM_CNTR                       (0x0)
76 #define LS1C_PWM_HRC                        (0x4)
77 #define LS1C_PWM_LRC                        (0x8)
78 #define LS1C_PWM_CTRL                       (0xC)
79 // PWM基地址
80 #define LS1C_REG_BASE_PWM0                  (0xbfe5c000)
81 #define LS1C_REG_BASE_PWM1                  (0xbfe5c010)
82 #define LS1C_REG_BASE_PWM2                  (0xbfe5c020)
83 #define LS1C_REG_BASE_PWM3                  (0xbfe5c030)
84 
85 //CAN基地址
86 #define  LS1C_REG_BASE_CAN0				    (0xbfe50000)
87 #define  LS1C_REG_BASE_CAN1					(0xbfe54000)
88 
89 // 中断配置寄存器
90 #define LS1C_INT0_SR                        (0xbfd01040)
91 #define LS1C_INT0_EN                        (0xbfd01044)
92 #define LS1C_INT0_SET                       (0xbfd01048)
93 #define LS1C_INT0_CLR                       (0xbfd0104c)
94 #define LS1C_INT0_POL                       (0xbfd01050)
95 #define LS1C_INT0_EDGE                      (0xbfd01054)
96 
97 #define LS1c_INT1_SR                        (0xbfd01058)
98 #define LS1C_INT1_EN                        (0xbfd0105c)
99 #define LS1C_INT1_SET                       (0xbfd01060)
100 #define LS1C_INT1_CLR                       (0xbfd01064)
101 #define LS1C_INT1_POL                       (0xbfd01068)
102 #define LS1C_INT1_EDGE                      (0xbfd0106c)
103 
104 #define LS1C_INT2_SR                        (0xbfd01070)
105 #define LS1C_INT2_EN                        (0xbfd01074)
106 #define LS1C_INT2_SET                       (0xbfd01078)
107 #define LS1C_INT2_CLR                       (0xbfd0107c)
108 #define LS1C_INT2_POL                       (0xbfd01080)
109 #define LS1C_INT2_EDGE                      (0xbfd01084)
110 
111 #define LS1C_INT3_SR                        (0xbfd01088)
112 #define LS1C_INT3_EN                        (0xbfd0108c)
113 #define LS1C_INT3_SET                       (0xbfd01090)
114 #define LS1C_INT3_CLR                       (0xbfd01094)
115 #define LS1C_INT3_POL                       (0xbfd01098)
116 #define LS1C_INT3_EDGE                      (0xbfd0109c)
117 
118 #define LS1C_INT4_SR                        (0xbfd010a0)
119 #define LS1C_INT4_EN                        (0xbfd010a4)
120 #define LS1C_INT4_SET                       (0xbfd010a8)
121 #define LS1C_INT4_CLR                       (0xbfd010ac)
122 #define LS1C_INT4_POL                       (0xbfd010b0)
123 #define LS1C_INT4_EDGE                      (0xbfd010b4)
124 
125 
126 // I2C寄存器
127 #define LS1C_I2C0_BASE                      (0xbfe58000)
128 #define LS1C_I2C1_BASE                      (0xbfe68000)
129 #define LS1C_I2C2_BASE                      (0xbfe70000)
130 
131 
132 // SPI寄存器
133 #define LS1C_SPI0_BASE                      (0xbfe80000)
134 #define LS1C_SPI1_BASE                      (0xbfec0000)
135 
136 
137 // 串口寄存器
138 #define LS1C_UART00_BASE                    (0xbfe40000)
139 #define LS1C_UART01_BASE                    (0xbfe41000)
140 #define LS1C_UART1_BASE                     (0xbfe44000)
141 #define LS1C_UART2_BASE                     (0xbfe48000)
142 #define LS1C_UART3_BASE                     (0xbfe4c000)
143 #define LS1C_UART4_BASE                     (0xbfe4c400)
144 #define LS1C_UART5_BASE                     (0xbfe4c500)
145 #define LS1C_UART6_BASE                     (0xbfe4c600)
146 #define LS1C_UART7_BASE                     (0xbfe4c700)
147 #define LS1C_UART8_BASE                     (0xbfe4c800)
148 #define LS1C_UART9_BASE                     (0xbfe4c900)
149 #define LS1C_UART10_BASE                    (0xbfe4ca00)
150 #define LS1C_UART11_BASE                    (0xbfe4cb00)
151 
152 //RTC寄存器
153 #define LS1C_RTC_BASE                       (0xbfe64024)
154 
155 
156 #endif
157 
158