ls1c_regs.h 5.9 KB

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