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