ls1c_regs.h 4.9 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76
// 龙芯1c外设寄存器


#ifndef __OPENLOONGSON_LS1C_REGS_H
#define __OPENLOONGSON_LS1C_REGS_H




// 时钟相关寄存器地址
#define LS1C_START_FREQ                     (0xbfe78030)
#define LS1C_CLK_DIV_PARAM                  (0xbfe78034)


// gpio相关寄存器地址
#define LS1C_GPIO_CFG0                      (0xbfd010c0)
#define LS1C_GPIO_EN0                       (0xbfd010d0)
#define LS1C_GPIO_IN0                       (0xbfd010e0)
#define LS1C_GPIO_OUT0                      (0xbfd010f0)

#define LS1C_GPIO_CFG1                      (0xbfd010c4)
#define LS1C_GPIO_EN1                       (0xbfd010d4)
#define LS1C_GPIO_IN1                       (0xbfd010e4)
#define LS1C_GPIO_OUT1                      (0xbfd010f4)

#define LS1C_GPIO_CFG2                      (0xbfd010c8)
#define LS1C_GPIO_EN2                       (0xbfd010d8)
#define LS1C_GPIO_IN2                       (0xbfd010e8)
#define LS1C_GPIO_OUT2                      (0xbfd010f8)

#define LS1C_GPIO_CFG3                      (0xbfd010cc)
#define LS1C_GPIO_EN3                       (0xbfd010dc)
#define LS1C_GPIO_IN3                       (0xbfd010ec)
#define LS1C_GPIO_OUT3                      (0xbfd010fc)



// 复用相关寄存器
#define LS1C_CBUS_FIRST0                    (0xbfd011c0)
#define LS1C_CBUS_SECOND0                   (0xbfd011d0)
#define LS1C_CBUS_THIRD0                    (0xbfd011e0)
#define LS1C_CBUS_FOURTH0                   (0xbfd011f0)
#define LS1C_CBUS_FIFTH0                    (0xbfd01200)

#define LS1C_CBUS_FIRST1                    (0xbfd011c4)
#define LS1C_CBUS_SECOND1                   (0xbfd011d4)
#define LS1C_CBUS_THIRD1                    (0xbfd011e4)
#define LS1C_CBUS_FOURTH1                   (0xbfd011f4)
#define LS1C_CBUS_FIFTH1                    (0xbfd01204)

#define LS1C_CBUS_FIRST2                    (0xbfd011c8)
#define LS1C_CBUS_SECOND2                   (0xbfd011d8)
#define LS1C_CBUS_THIRD2                    (0xbfd011e8)
#define LS1C_CBUS_FOURTH2                   (0xbfd011f8)
#define LS1C_CBUS_FIFTH2                    (0xbfd01208)

#define LS1C_CBUS_FIRST3                    (0xbfd011cc)
#define LS1C_CBUS_SECOND3                   (0xbfd011dc)
#define LS1C_CBUS_THIRD3                    (0xbfd011ec)
#define LS1C_CBUS_FOURTH3                   (0xbfd011fc)
#define LS1C_CBUS_FIFTH3                    (0xbfd0120c)


// PWM寄存器偏移
#define LS1C_PWM_CNTR                       (0x0)
#define LS1C_PWM_HRC                        (0x4)
#define LS1C_PWM_LRC                        (0x8)
#define LS1C_PWM_CTRL                       (0xC)
// PWM基地址
#define LS1C_REG_BASE_PWM0                  (0xbfe5c000)
#define LS1C_REG_BASE_PWM1                  (0xbfe5c010)
#define LS1C_REG_BASE_PWM2                  (0xbfe5c020)
#define LS1C_REG_BASE_PWM3                  (0xbfe5c030)



勤为本 已提交
77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111
// 中断配置寄存器
#define LS1C_INT0_SR                        (0xbfd01040)
#define LS1C_INT0_EN                        (0xbfd01044)
#define LS1C_INT0_SET                       (0xbfd01048)
#define LS1C_INT0_CLR                       (0xbfd0104c)
#define LS1C_INT0_POL                       (0xbfd01050)
#define LS1C_INT0_EDGE                      (0xbfd01054)

#define LS1c_INT1_SR                        (0xbfd01058)
#define LS1C_INT1_EN                        (0xbfd0105c)
#define LS1C_INT1_SET                       (0xbfd01060)
#define LS1C_INT1_CLR                       (0xbfd01064)
#define LS1C_INT1_POL                       (0xbfd01068)
#define LS1C_INT1_EDGE                      (0xbfd0106c)

#define LS1C_INT2_SR                        (0xbfd01070)
#define LS1C_INT2_EN                        (0xbfd01074)
#define LS1C_INT2_SET                       (0xbfd01078)
#define LS1C_INT2_CLR                       (0xbfd0107c)
#define LS1C_INT2_POL                       (0xbfd01080)
#define LS1C_INT2_EDGE                      (0xbfd01084)

#define LS1C_INT3_SR                        (0xbfd01088)
#define LS1C_INT3_EN                        (0xbfd0108c)
#define LS1C_INT3_SET                       (0xbfd01090)
#define LS1C_INT3_CLR                       (0xbfd01094)
#define LS1C_INT3_POL                       (0xbfd01098)
#define LS1C_INT3_EDGE                      (0xbfd0109c)

#define LS1C_INT4_SR                        (0xbfd010a0)
#define LS1C_INT4_EN                        (0xbfd010a4)
#define LS1C_INT4_SET                       (0xbfd010a8)
#define LS1C_INT4_CLR                       (0xbfd010ac)
#define LS1C_INT4_POL                       (0xbfd010b0)
#define LS1C_INT4_EDGE                      (0xbfd010b4)
112 113


勤为本 已提交
114 115 116 117 118
// I2C寄存器
#define LS1C_I2C0_BASE                      (0xbfe58000)
#define LS1C_I2C1_BASE                      (0xbfe68000)
#define LS1C_I2C2_BASE                      (0xbfe70000)

119

120 121 122 123 124 125 126 127 128 129 130
// SPI寄存器
#define LS1C_SPI0_BASE                      (0xbfe80000)
#define LS1C_SPI1_BASE                      (0xbfec0000)


// 串口寄存器
#define LS1C_UART0_BASE                     (0xbfe40000)
#define LS1C_UART1_BASE                     (0xbfe44000)
#define LS1C_UART2_BASE                     (0xbfe48000)


131 132
#endif