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