inno_hdmi.h 797 B

1234567891011121314151617181920212223242526272829303132333435
  1. /* SPDX-License-Identifier: GPL-2.0-or-later */
  2. /*
  3. * Copyright (c) 2025 Rockchip Electronics Co., Ltd.
  4. */
  5. #ifndef __INNO_HDMI__
  6. #define __INNO_HDMI__
  7. #include <linux/types.h>
  8. struct device;
  9. struct drm_encoder;
  10. struct drm_display_mode;
  11. struct inno_hdmi;
  12. struct inno_hdmi_plat_ops {
  13. void (*enable)(struct device *pdev, struct drm_display_mode *mode);
  14. };
  15. struct inno_hdmi_phy_config {
  16. unsigned long pixelclock;
  17. u8 pre_emphasis;
  18. u8 voltage_level_control;
  19. };
  20. struct inno_hdmi_plat_data {
  21. const struct inno_hdmi_plat_ops *ops;
  22. struct inno_hdmi_phy_config *phy_configs;
  23. struct inno_hdmi_phy_config *default_phy_config;
  24. };
  25. struct inno_hdmi *inno_hdmi_bind(struct device *pdev,
  26. struct drm_encoder *encoder,
  27. const struct inno_hdmi_plat_data *plat_data);
  28. #endif /* __INNO_HDMI__ */