summaryrefslogtreecommitdiff
path: root/drivers/gpu/drm/imx/mhdp/cdns-mhdp-phy.h
blob: 5682b9fbc90f54f25d1a5333e7eeb0484c80b124 (plain)
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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
/*
 * Copyright (C) 2019 NXP Semiconductor, Inc.
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 */

#ifndef _CDN_DP_PHY_H
#define _CDN_DP_PHY_H

#include <drm/bridge/cdns-mhdp.h>

#define CMN_SSM_BIAS_TMR                0x0022
#define CMN_PLLSM0_PLLEN_TMR            0x0029
#define CMN_PLLSM0_PLLPRE_TMR           0x002A
#define CMN_PLLSM0_PLLVREF_TMR          0x002B
#define CMN_PLLSM0_PLLLOCK_TMR          0x002C
#define CMN_PLLSM0_USER_DEF_CTRL        0x002F
#define CMN_PSM_CLK_CTRL                0x0061
#define CMN_CDIAG_REFCLK_CTRL           0x0062
#define CMN_PLL0_VCOCAL_START           0x0081
#define CMN_PLL0_VCOCAL_INIT_TMR        0x0084
#define CMN_PLL0_VCOCAL_ITER_TMR        0x0085
#define CMN_PLL0_INTDIV                 0x0094
#define CMN_PLL0_FRACDIV                0x0095
#define CMN_PLL0_HIGH_THR               0x0096
#define CMN_PLL0_DSM_DIAG               0x0097
#define CMN_PLL0_SS_CTRL1               0x0098
#define CMN_PLL0_SS_CTRL2               0x0099
#define CMN_ICAL_INIT_TMR               0x00C4
#define CMN_ICAL_ITER_TMR               0x00C5
#define CMN_RXCAL_INIT_TMR              0x00D4
#define CMN_RXCAL_ITER_TMR              0x00D5
#define CMN_TXPUCAL_CTRL                0x00E0
#define CMN_TXPUCAL_INIT_TMR            0x00E4
#define CMN_TXPUCAL_ITER_TMR            0x00E5
#define CMN_TXPDCAL_CTRL                0x00F0
#define CMN_TXPDCAL_INIT_TMR            0x00F4
#define CMN_TXPDCAL_ITER_TMR            0x00F5
#define CMN_ICAL_ADJ_INIT_TMR           0x0102
#define CMN_ICAL_ADJ_ITER_TMR           0x0103
#define CMN_RX_ADJ_INIT_TMR             0x0106
#define CMN_RX_ADJ_ITER_TMR             0x0107
#define CMN_TXPU_ADJ_CTRL               0x0108
#define CMN_TXPU_ADJ_INIT_TMR           0x010A
#define CMN_TXPU_ADJ_ITER_TMR           0x010B
#define CMN_TXPD_ADJ_CTRL               0x010c
#define CMN_TXPD_ADJ_INIT_TMR           0x010E
#define CMN_TXPD_ADJ_ITER_TMR           0x010F
#define CMN_DIAG_PLL0_FBH_OVRD          0x01C0
#define CMN_DIAG_PLL0_FBL_OVRD          0x01C1
#define CMN_DIAG_PLL0_OVRD              0x01C2
#define CMN_DIAG_PLL0_TEST_MODE         0x01C4
#define CMN_DIAG_PLL0_V2I_TUNE          0x01C5
#define CMN_DIAG_PLL0_CP_TUNE           0x01C6
#define CMN_DIAG_PLL0_LF_PROG           0x01C7
#define CMN_DIAG_PLL0_PTATIS_TUNE1      0x01C8
#define CMN_DIAG_PLL0_PTATIS_TUNE2      0x01C9
#define CMN_DIAG_PLL0_INCLK_CTRL        0x01CA
#define CMN_DIAG_PLL0_PXL_DIVH          0x01CB
#define CMN_DIAG_PLL0_PXL_DIVL          0x01CC
#define CMN_DIAG_HSCLK_SEL              0x01E0
#define CMN_DIAG_PER_CAL_ADJ            0x01EC
#define CMN_DIAG_CAL_CTRL               0x01ED
#define CMN_DIAG_ACYA                   0x01FF
#define XCVR_PSM_RCTRL                  0x4001
#define XCVR_PSM_CAL_TMR                0x4002
#define XCVR_PSM_A0IN_TMR               0x4003
#define TX_TXCC_CAL_SCLR_MULT_0         0x4047
#define TX_TXCC_CPOST_MULT_00_0         0x404C
#define TX_TXCC_MGNFS_MULT_000_0        0x4050
#define XCVR_DIAG_PLLDRC_CTRL           0x40E0
#define XCVR_DIAG_PLLDRC_CTRL           0x40E0
#define XCVR_DIAG_HSCLK_SEL             0x40E1
#define XCVR_DIAG_BIDI_CTRL             0x40E8
#define XCVR_DIAG_LANE_FCM_EN_MGN_TMR   0x40F2
#define XCVR_DIAG_LANE_FCM_EN_MGN       0x40F2
#define TX_PSC_A0                       0x4100
#define TX_PSC_A1                       0x4101
#define TX_PSC_A2                       0x4102
#define TX_PSC_A3                       0x4103
#define TX_RCVDET_CTRL                  0x4120
#define TX_RCVDET_EN_TMR                0x4122
#define TX_RCVDET_EN_TMR                0x4122
#define TX_RCVDET_ST_TMR                0x4123
#define TX_RCVDET_ST_TMR                0x4123
#define TX_BIST_CTRL                    0x4140
#define TX_BIST_UDDWR                   0x4141
#define TX_DIAG_TX_CTRL                 0x41E0
#define TX_DIAG_TX_DRV                  0x41E1
#define TX_DIAG_BGREF_PREDRV_DELAY      0x41E7
#define TX_DIAG_BGREF_PREDRV_DELAY      0x41E7
#define XCVR_PSM_RCTRL_1                0x4201
#define TX_TXCC_CAL_SCLR_MULT_1         0x4247
#define TX_TXCC_CPOST_MULT_00_1         0x424C
#define TX_TXCC_MGNFS_MULT_000_1        0x4250
#define XCVR_DIAG_PLLDRC_CTRL_1         0x42E0
#define XCVR_DIAG_HSCLK_SEL_1           0x42E1
#define XCVR_DIAG_LANE_FCM_EN_MGN_TMR_1 0x42F2
#define TX_RCVDET_EN_TMR_1              0x4322
#define TX_RCVDET_ST_TMR_1              0x4323
#define TX_DIAG_ACYA_0                  0x41FF
#define TX_DIAG_ACYA_1                  0x43FF
#define TX_DIAG_ACYA_2                  0x45FF
#define TX_DIAG_ACYA_3                  0x47FF
#define TX_ANA_CTRL_REG_1               0x5020
#define TX_ANA_CTRL_REG_2               0x5021
#define TXDA_COEFF_CALC                 0x5022
#define TX_DIG_CTRL_REG_1               0x5023
#define TX_DIG_CTRL_REG_2               0x5024
#define TXDA_CYA_AUXDA_CYA              0x5025
#define TX_ANA_CTRL_REG_3               0x5026
#define TX_ANA_CTRL_REG_4               0x5027
#define TX_ANA_CTRL_REG_5               0x5029
#define RX_PSC_A0                       0x8000
#define RX_PSC_CAL                      0x8006
#define PMA_LANE_CFG                    0xC000
#define PIPE_CMN_CTRL1                  0xC001
#define PIPE_CMN_CTRL2                  0xC002
#define PIPE_COM_LOCK_CFG1              0xC003
#define PIPE_COM_LOCK_CFG2              0xC004
#define PIPE_RCV_DET_INH                0xC005
#define PHY_HDP_MODE_CTRL               0xC008
#define PHY_HDP_CLK_CTL                 0xC009
#define STS                             0xC00F
#define PHY_ISO_CMN_CTRL                0xC010
#define PHY_ISO_CMN_CTRL                0xC010
#define PHY_HDP_TX_CTL_L0               0xC408
#define PHY_DP_TX_CTL                   0xC408
#define PHY_HDP_TX_CTL_L1               0xC448
#define PHY_HDP_TX_CTL_L2               0xC488
#define PHY_HDP_TX_CTL_L3               0xC4C8
#define PHY_PMA_CMN_CTRL1               0xC800
#define PMA_CMN_CTRL1                   0xC800
#define PHY_PMA_ISO_CMN_CTRL            0xC810
#define PHY_PMA_ISO_PLL_CTRL1           0xC812
#define PHY_PMA_ISOLATION_CTRL          0xC81F
#define PHY_ISOLATION_CTRL              0xC81F
#define PHY_PMA_ISO_XCVR_CTRL           0xCC11
#define PHY_PMA_ISO_LINK_MODE           0xCC12
#define PHY_PMA_ISO_PWRST_CTRL          0xCC13
#define PHY_PMA_ISO_TX_DATA_LO          0xCC14
#define PHY_PMA_ISO_TX_DATA_HI          0xCC15
#define PHY_PMA_ISO_RX_DATA_LO          0xCC16
#define PHY_PMA_ISO_RX_DATA_HI          0xCC17

int cdns_dp_phy_set_imx8mq(struct cdns_mhdp_device *hdp);
int cdns_dp_phy_set_imx8qm(struct cdns_mhdp_device *hdp);
bool cdns_hdmi_phy_video_valid_imx8mq(struct cdns_mhdp_device *hdp);
bool cdns_hdmi_phy_video_valid_imx8qm(struct cdns_mhdp_device *hdp);
int cdns_hdmi_phy_set_imx8mq(struct cdns_mhdp_device *hdp);
int cdns_hdmi_phy_set_imx8qm(struct cdns_mhdp_device *hdp);
#endif /* _CDNS_MHDP_PHY_H */