pinctrl.h 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. /*
  2. * Copyright (C) Cvitek Co., Ltd. 2019-2020. All rights reserved.
  3. *
  4. * File Name: pinctrl.h
  5. * Description:
  6. */
  7. #ifndef __PINCTRL_CV181X_H__
  8. #define __PINCTRL_CV181X_H__
  9. //#include "../core.h"
  10. #include "cv181x_pinlist_swconfig.h"
  11. #include "cv181x_reg_fmux_gpio.h"
  12. #define PAD_MIPI_TXM4__MIPI_TXM4 0
  13. #define PAD_MIPI_TXP4__MIPI_TXP4 0
  14. #define PAD_MIPI_TXM3__MIPI_TXM3 0
  15. #define PAD_MIPI_TXP3__MIPI_TXP3 0
  16. #define PAD_MIPI_TXM2__MIPI_TXM2 0
  17. #define PAD_MIPI_TXP2__MIPI_TXP2 0
  18. #define PAD_MIPI_TXM1__MIPI_TXM1 0
  19. #define PAD_MIPI_TXP1__MIPI_TXP1 0
  20. #define PAD_MIPI_TXM0__MIPI_TXM0 0
  21. #define PAD_MIPI_TXP0__MIPI_TXP0 0
  22. #if defined(ARCH_ARM)
  23. extern rt_ubase_t pinmux_base_ioremap(void);
  24. #define PINMUX_BASE pinmux_base_ioremap()
  25. #else
  26. #define PINMUX_BASE 0x03001000
  27. #endif /* defined(ARCH_ARM) */
  28. #define PINMUX_MASK(PIN_NAME) FMUX_GPIO_FUNCSEL_##PIN_NAME##_MASK
  29. #define PINMUX_OFFSET(PIN_NAME) FMUX_GPIO_FUNCSEL_##PIN_NAME##_OFFSET
  30. #define PINMUX_VALUE(PIN_NAME, FUNC_NAME) PIN_NAME##__##FUNC_NAME
  31. #define PINMUX_CONFIG(PIN_NAME, FUNC_NAME) \
  32. mmio_clrsetbits_32(PINMUX_BASE + FMUX_GPIO_FUNCSEL_##PIN_NAME, \
  33. PINMUX_MASK(PIN_NAME) << PINMUX_OFFSET(PIN_NAME), \
  34. PINMUX_VALUE(PIN_NAME, FUNC_NAME))
  35. #endif /* __PINCTRL_CV181X_H__ */