tidss_oldi.h 918 B

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. /* SPDX-License-Identifier: GPL-2.0-or-later */
  2. /*
  3. * Copyright (C) 2025 - Texas Instruments Incorporated
  4. *
  5. * Aradhya Bhatia <a-bhatia1@ti.com>
  6. */
  7. #ifndef __TIDSS_OLDI_H__
  8. #define __TIDSS_OLDI_H__
  9. #include "tidss_drv.h"
  10. struct tidss_oldi;
  11. /* OLDI PORTS */
  12. #define OLDI_INPUT_PORT 0
  13. #define OLDI_OUTPUT_PORT 1
  14. /* Control MMR Registers */
  15. /* Register offsets */
  16. #define OLDI_PD_CTRL 0x100
  17. #define OLDI_LB_CTRL 0x104
  18. /* Power control bits */
  19. #define OLDI_PWRDOWN_TX(n) BIT(n)
  20. /* LVDS Bandgap reference Enable/Disable */
  21. #define OLDI_PWRDN_BG BIT(8)
  22. enum tidss_oldi_link_type {
  23. OLDI_MODE_UNSUPPORTED,
  24. OLDI_MODE_SINGLE_LINK,
  25. OLDI_MODE_CLONE_SINGLE_LINK,
  26. OLDI_MODE_SECONDARY_CLONE_SINGLE_LINK,
  27. OLDI_MODE_DUAL_LINK,
  28. OLDI_MODE_SECONDARY_DUAL_LINK,
  29. };
  30. int tidss_oldi_init(struct tidss_device *tidss);
  31. void tidss_oldi_deinit(struct tidss_device *tidss);
  32. #endif /* __TIDSS_OLDI_H__ */