nim_gpio.c 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. /**
  2. * 配置gpio
  3. */
  4. /****************************************************************************/
  5. #include "hw_types.h"
  6. #include "soc_C6748.h"
  7. #include "hw_syscfg0_C6748.h"
  8. /****************************************************************************/
  9. /* */
  10. /* 宏定义 */
  11. /* */
  12. /****************************************************************************/
  13. #define PINMUX4_GPIO1_0_ENABLE (SYSCFG_PINMUX4_PINMUX4_31_28_GPIO1_0 << \
  14. SYSCFG_PINMUX4_PINMUX4_31_28_SHIFT)
  15. #define PINMUX4_GPIO1_1_ENABLE (SYSCFG_PINMUX4_PINMUX4_27_24_GPIO1_1 << \
  16. SYSCFG_PINMUX4_PINMUX4_27_24_SHIFT)
  17. #define PINMUX4_GPIO1_2_ENABLE (SYSCFG_PINMUX4_PINMUX4_23_20_GPIO1_2 << \
  18. SYSCFG_PINMUX4_PINMUX4_23_20_SHIFT)
  19. #define PINMUX4_GPIO1_3_ENABLE (SYSCFG_PINMUX4_PINMUX4_19_16_GPIO1_3 << \
  20. SYSCFG_PINMUX4_PINMUX4_19_16_SHIFT)
  21. /****************************************************************************/
  22. /* */
  23. /* 管脚复用配置 */
  24. /* */
  25. /****************************************************************************/
  26. void GOIOBank1Pin0MuxMuxSetup(void)
  27. {
  28. unsigned int savePinmux = 0;
  29. savePinmux = (HWREG(SOC_SYSCFG_0_REGS + SYSCFG0_PINMUX(4)) &
  30. ~(SYSCFG_PINMUX4_PINMUX4_31_28));
  31. HWREG(SOC_SYSCFG_0_REGS + SYSCFG0_PINMUX(4)) =
  32. (PINMUX4_GPIO1_0_ENABLE | savePinmux);
  33. }
  34. void GOIOBank1Pin1MuxMuxSetup(void)
  35. {
  36. unsigned int savePinmux = 0;
  37. savePinmux = (HWREG(SOC_SYSCFG_0_REGS + SYSCFG0_PINMUX(4)) &
  38. ~(SYSCFG_PINMUX4_PINMUX4_27_24));
  39. HWREG(SOC_SYSCFG_0_REGS + SYSCFG0_PINMUX(4)) =
  40. (PINMUX4_GPIO1_1_ENABLE | savePinmux);
  41. }
  42. void GOIOBank1Pin2MuxMuxSetup(void)
  43. {
  44. unsigned int savePinmux = 0;
  45. savePinmux = (HWREG(SOC_SYSCFG_0_REGS + SYSCFG0_PINMUX(4)) &
  46. ~(SYSCFG_PINMUX4_PINMUX4_23_20));
  47. HWREG(SOC_SYSCFG_0_REGS + SYSCFG0_PINMUX(4)) =
  48. (PINMUX4_GPIO1_2_ENABLE | savePinmux);
  49. }
  50. void GOIOBank1Pin3MuxMuxSetup(void)
  51. {
  52. unsigned int savePinmux = 0;
  53. savePinmux = (HWREG(SOC_SYSCFG_0_REGS + SYSCFG0_PINMUX(4)) &
  54. ~(SYSCFG_PINMUX4_PINMUX4_19_16));
  55. HWREG(SOC_SYSCFG_0_REGS + SYSCFG0_PINMUX(4)) =
  56. (PINMUX4_GPIO1_3_ENABLE | savePinmux);
  57. }