GPIO.c 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134
  1. /****************************************************************************/
  2. /* */
  3. /* 创龙 DSP6748 开发板相关函数 */
  4. /* */
  5. /* 2014年07月12日 */
  6. /* */
  7. /****************************************************************************/
  8. #include "hw_types.h"
  9. #include "TL6748.h"
  10. #include "soc_C6748.h"
  11. #include "hw_syscfg0_C6748.h"
  12. /****************************************************************************/
  13. /* */
  14. /* 宏定义 */
  15. /* */
  16. /****************************************************************************/
  17. #define PINMUX1_GPIO0_0_ENABLE (SYSCFG_PINMUX1_PINMUX1_31_28_GPIO0_0 << \
  18. SYSCFG_PINMUX1_PINMUX1_31_28_SHIFT)
  19. #define PINMUX1_GPIO0_1_ENABLE (SYSCFG_PINMUX1_PINMUX1_27_24_GPIO0_1 << \
  20. SYSCFG_PINMUX1_PINMUX1_27_24_SHIFT)
  21. #define PINMUX1_GPIO0_2_ENABLE (SYSCFG_PINMUX1_PINMUX1_23_20_GPIO0_2 << \
  22. SYSCFG_PINMUX1_PINMUX1_23_20_SHIFT)
  23. #define PINMUX1_GPIO0_5_ENABLE (SYSCFG_PINMUX1_PINMUX1_11_8_GPIO0_5 << \
  24. SYSCFG_PINMUX1_PINMUX1_11_8_SHIFT)
  25. #define PINMUX1_GPIO0_6_ENABLE (SYSCFG_PINMUX1_PINMUX1_7_4_GPIO0_6 << \
  26. SYSCFG_PINMUX1_PINMUX1_7_4_SHIFT)
  27. #define PINMUX19_GPIO6_1_ENABLE (SYSCFG_PINMUX19_PINMUX19_23_20_GPIO6_1 << \
  28. SYSCFG_PINMUX19_PINMUX19_23_20_SHIFT)
  29. #define PINMUX13_GPIO6_12_ENABLE (SYSCFG_PINMUX13_PINMUX13_15_12_GPIO6_12 << \
  30. SYSCFG_PINMUX13_PINMUX13_15_12_SHIFT)
  31. #define PINMUX13_GPIO6_13_ENABLE (SYSCFG_PINMUX13_PINMUX13_11_8_GPIO6_13 << \
  32. SYSCFG_PINMUX13_PINMUX13_11_8_SHIFT)
  33. /****************************************************************************/
  34. /* */
  35. /* 管脚复用配置 */
  36. /* */
  37. /****************************************************************************/
  38. void GPIOBank0Pin0PinMuxSetup(void)
  39. {
  40. unsigned int savePinmux = 0;
  41. savePinmux = (HWREG(SOC_SYSCFG_0_REGS + SYSCFG0_PINMUX(1)) &
  42. ~(SYSCFG_PINMUX1_PINMUX1_31_28));
  43. HWREG(SOC_SYSCFG_0_REGS + SYSCFG0_PINMUX(1)) =
  44. (PINMUX1_GPIO0_0_ENABLE | savePinmux);
  45. }
  46. void GPIOBank0Pin1PinMuxSetup(void)
  47. {
  48. unsigned int savePinmux = 0;
  49. savePinmux = (HWREG(SOC_SYSCFG_0_REGS + SYSCFG0_PINMUX(1)) &
  50. ~(SYSCFG_PINMUX1_PINMUX1_27_24));
  51. HWREG(SOC_SYSCFG_0_REGS + SYSCFG0_PINMUX(1)) =
  52. (PINMUX1_GPIO0_1_ENABLE | savePinmux);
  53. }
  54. void GPIOBank0Pin2PinMuxSetup(void)
  55. {
  56. unsigned int savePinmux = 0;
  57. savePinmux = (HWREG(SOC_SYSCFG_0_REGS + SYSCFG0_PINMUX(1)) &
  58. ~(SYSCFG_PINMUX1_PINMUX1_23_20));
  59. HWREG(SOC_SYSCFG_0_REGS + SYSCFG0_PINMUX(1)) =
  60. (PINMUX1_GPIO0_2_ENABLE | savePinmux);
  61. }
  62. void GPIOBank0Pin5PinMuxSetup(void)
  63. {
  64. unsigned int savePinmux = 0;
  65. savePinmux = (HWREG(SOC_SYSCFG_0_REGS + SYSCFG0_PINMUX(1)) &
  66. ~(SYSCFG_PINMUX1_PINMUX1_11_8));
  67. HWREG(SOC_SYSCFG_0_REGS + SYSCFG0_PINMUX(1)) =
  68. (PINMUX1_GPIO0_5_ENABLE | savePinmux);
  69. }
  70. void GPIOBank0Pin6PinMuxSetup(void)
  71. {
  72. unsigned int savePinmux = 0;
  73. savePinmux = (HWREG(SOC_SYSCFG_0_REGS + SYSCFG0_PINMUX(1)) &
  74. ~(SYSCFG_PINMUX1_PINMUX1_7_4));
  75. HWREG(SOC_SYSCFG_0_REGS + SYSCFG0_PINMUX(1)) =
  76. (PINMUX1_GPIO0_6_ENABLE | savePinmux);
  77. }
  78. void GPIOBank6Pin1PinMuxSetup(void)
  79. {
  80. unsigned int savePinmux = 0;
  81. savePinmux = (HWREG(SOC_SYSCFG_0_REGS + SYSCFG0_PINMUX(19)) &
  82. ~(SYSCFG_PINMUX19_PINMUX19_23_20));
  83. HWREG(SOC_SYSCFG_0_REGS + SYSCFG0_PINMUX(19)) =
  84. (PINMUX19_GPIO6_1_ENABLE | savePinmux);
  85. }
  86. void GPIOBank6Pin12PinMuxSetup(void)
  87. {
  88. unsigned int savePinmux = 0;
  89. savePinmux = (HWREG(SOC_SYSCFG_0_REGS + SYSCFG0_PINMUX(13)) &
  90. ~(SYSCFG_PINMUX13_PINMUX13_15_12));
  91. HWREG(SOC_SYSCFG_0_REGS + SYSCFG0_PINMUX(13)) =
  92. (PINMUX13_GPIO6_12_ENABLE | savePinmux);
  93. }
  94. void GPIOBank6Pin13PinMuxSetup(void)
  95. {
  96. unsigned int savePinmux = 0;
  97. savePinmux = (HWREG(SOC_SYSCFG_0_REGS + SYSCFG0_PINMUX(13)) &
  98. ~(SYSCFG_PINMUX13_PINMUX13_11_8));
  99. HWREG(SOC_SYSCFG_0_REGS + SYSCFG0_PINMUX(13)) =
  100. (PINMUX13_GPIO6_13_ENABLE | savePinmux);
  101. }