blob: 769d7ff512c9cb564a08d16c837e0e55b0f3769f (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
#ifndef __SMI_PRIV_H__
#define __SMI_PRIV_H__
#include "smi_reg.h"
#define SMI_LARB_PORT_NR_MAX 21/* Max port num in current platform.*/
struct mtk_smi_priv;
struct mtk_smi_data {
unsigned int larb_nr;
struct device *larb[SMI_LARB_NR];
struct device *smicommon;
const struct mtk_smi_priv *smi_priv;
unsigned long smi_common_base;
unsigned long larb_base[SMI_LARB_NR];
/*record the larb port register, please use the max value*/
unsigned short int larb_port_backup[SMI_LARB_PORT_NR_MAX*SMI_LARB_NR];
};
struct mtk_smi_priv {
unsigned int larb_port_num[SMI_LARB_NR];/* the port number in each larb */
unsigned char larb_vc_setting[SMI_LARB_NR];
void (*init_setting)(struct mtk_smi_data *, bool *,
u32 *, unsigned int);
void (*vp_setting)(struct mtk_smi_data *);
void (*vr_setting)(struct mtk_smi_data *);
void (*hdmi_setting)(struct mtk_smi_data *);
void (*hdmi_4k_setting)(struct mtk_smi_data *);
};
extern const struct mtk_smi_priv smi_mt8173_priv;
extern const struct mtk_smi_priv smi_mt8127_priv;
#endif
|