pinctrl.h 1.2 KB

123456789101112131415161718192021222324252627282930313233343536
  1. /*
  2. * Copyright (C) Cvitek Co., Ltd. 2019-2020. All rights reserved.
  3. *
  4. * File Name: pinctrl.h
  5. * Description:
  6. */
  7. #ifndef __PINCTRL_CV180X_H__
  8. #define __PINCTRL_CV180X_H__
  9. #include "cv180x_pinlist_swconfig.h"
  10. #include "cv180x_reg_fmux_gpio.h"
  11. #include "drv_ioremap.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. #define PINMUX_BASE (uintptr_t)DRV_IOREMAP((void *)0x3001000, 0x1000)
  23. #define PINMUX_MASK(PIN_NAME) FMUX_GPIO_FUNCSEL_##PIN_NAME##_MASK
  24. #define PINMUX_OFFSET(PIN_NAME) FMUX_GPIO_FUNCSEL_##PIN_NAME##_OFFSET
  25. #define PINMUX_VALUE(PIN_NAME, FUNC_NAME) PIN_NAME##__##FUNC_NAME
  26. #define PINMUX_CONFIG(PIN_NAME, FUNC_NAME) \
  27. mmio_clrsetbits_32(PINMUX_BASE + FMUX_GPIO_FUNCSEL_##PIN_NAME, \
  28. FMUX_GPIO_FUNCSEL_##PIN_NAME##_MASK << FMUX_GPIO_FUNCSEL_##PIN_NAME##_OFFSET, \
  29. PIN_NAME##__##FUNC_NAME)
  30. #endif /* __PINCTRL_CV180X_H__ */