xref: /OK3568_Linux_fs/u-boot/drivers/phy/marvell/utmi_phy.h (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun /*
2*4882a593Smuzhiyun  * Copyright (C) 2015-2016 Marvell International Ltd.
3*4882a593Smuzhiyun  *
4*4882a593Smuzhiyun  * SPDX-License-Identifier:	GPL-2.0+
5*4882a593Smuzhiyun  */
6*4882a593Smuzhiyun 
7*4882a593Smuzhiyun #ifndef _UTMI_PHY_H_
8*4882a593Smuzhiyun #define _UTMI_PHY_H_
9*4882a593Smuzhiyun 
10*4882a593Smuzhiyun #define UTMI_USB_CFG_DEVICE_EN_OFFSET		0
11*4882a593Smuzhiyun #define UTMI_USB_CFG_DEVICE_EN_MASK		\
12*4882a593Smuzhiyun 	(0x1 << UTMI_USB_CFG_DEVICE_EN_OFFSET)
13*4882a593Smuzhiyun #define UTMI_USB_CFG_DEVICE_MUX_OFFSET		1
14*4882a593Smuzhiyun #define UTMI_USB_CFG_DEVICE_MUX_MASK		\
15*4882a593Smuzhiyun 	(0x1 << UTMI_USB_CFG_DEVICE_MUX_OFFSET)
16*4882a593Smuzhiyun #define UTMI_USB_CFG_PLL_OFFSET			25
17*4882a593Smuzhiyun #define UTMI_USB_CFG_PLL_MASK			\
18*4882a593Smuzhiyun 	(0x1 << UTMI_USB_CFG_PLL_OFFSET)
19*4882a593Smuzhiyun 
20*4882a593Smuzhiyun #define UTMI_PHY_CFG_PU_OFFSET			5
21*4882a593Smuzhiyun #define UTMI_PHY_CFG_PU_MASK			\
22*4882a593Smuzhiyun 	(0x1 << UTMI_PHY_CFG_PU_OFFSET)
23*4882a593Smuzhiyun 
24*4882a593Smuzhiyun #define UTMI_PLL_CTRL_REG			0x0
25*4882a593Smuzhiyun #define UTMI_PLL_CTRL_REFDIV_OFFSET		0
26*4882a593Smuzhiyun #define UTMI_PLL_CTRL_REFDIV_MASK		\
27*4882a593Smuzhiyun 	(0x7f << UTMI_PLL_CTRL_REFDIV_OFFSET)
28*4882a593Smuzhiyun #define UTMI_PLL_CTRL_FBDIV_OFFSET		16
29*4882a593Smuzhiyun #define UTMI_PLL_CTRL_FBDIV_MASK		\
30*4882a593Smuzhiyun 	(0x1FF << UTMI_PLL_CTRL_FBDIV_OFFSET)
31*4882a593Smuzhiyun #define UTMI_PLL_CTRL_SEL_LPFR_OFFSET		28
32*4882a593Smuzhiyun #define UTMI_PLL_CTRL_SEL_LPFR_MASK		\
33*4882a593Smuzhiyun 	(0x3 << UTMI_PLL_CTRL_SEL_LPFR_OFFSET)
34*4882a593Smuzhiyun #define UTMI_PLL_CTRL_PLL_RDY_OFFSET		31
35*4882a593Smuzhiyun #define UTMI_PLL_CTRL_PLL_RDY_MASK		\
36*4882a593Smuzhiyun 	(0x1 << UTMI_PLL_CTRL_PLL_RDY_OFFSET)
37*4882a593Smuzhiyun 
38*4882a593Smuzhiyun #define UTMI_CALIB_CTRL_REG			0x8
39*4882a593Smuzhiyun #define UTMI_CALIB_CTRL_IMPCAL_VTH_OFFSET	8
40*4882a593Smuzhiyun #define UTMI_CALIB_CTRL_IMPCAL_VTH_MASK		\
41*4882a593Smuzhiyun 	(0x7 << UTMI_CALIB_CTRL_IMPCAL_VTH_OFFSET)
42*4882a593Smuzhiyun #define UTMI_CALIB_CTRL_IMPCAL_DONE_OFFSET	23
43*4882a593Smuzhiyun #define UTMI_CALIB_CTRL_IMPCAL_DONE_MASK	\
44*4882a593Smuzhiyun 	(0x1 << UTMI_CALIB_CTRL_IMPCAL_DONE_OFFSET)
45*4882a593Smuzhiyun #define UTMI_CALIB_CTRL_PLLCAL_DONE_OFFSET	31
46*4882a593Smuzhiyun #define UTMI_CALIB_CTRL_PLLCAL_DONE_MASK	\
47*4882a593Smuzhiyun 	(0x1 << UTMI_CALIB_CTRL_PLLCAL_DONE_OFFSET)
48*4882a593Smuzhiyun 
49*4882a593Smuzhiyun #define UTMI_TX_CH_CTRL_REG			0xC
50*4882a593Smuzhiyun #define UTMI_TX_CH_CTRL_DRV_EN_LS_OFFSET	12
51*4882a593Smuzhiyun #define UTMI_TX_CH_CTRL_DRV_EN_LS_MASK		\
52*4882a593Smuzhiyun 	(0xf << UTMI_TX_CH_CTRL_DRV_EN_LS_OFFSET)
53*4882a593Smuzhiyun #define UTMI_TX_CH_CTRL_IMP_SEL_LS_OFFSET	16
54*4882a593Smuzhiyun #define UTMI_TX_CH_CTRL_IMP_SEL_LS_MASK		\
55*4882a593Smuzhiyun 	(0xf << UTMI_TX_CH_CTRL_IMP_SEL_LS_OFFSET)
56*4882a593Smuzhiyun 
57*4882a593Smuzhiyun #define UTMI_RX_CH_CTRL0_REG			0x14
58*4882a593Smuzhiyun #define UTMI_RX_CH_CTRL0_SQ_DET_OFFSET		15
59*4882a593Smuzhiyun #define UTMI_RX_CH_CTRL0_SQ_DET_MASK		\
60*4882a593Smuzhiyun 	(0x1 << UTMI_RX_CH_CTRL0_SQ_DET_OFFSET)
61*4882a593Smuzhiyun #define UTMI_RX_CH_CTRL0_SQ_ANA_DTC_OFFSET	28
62*4882a593Smuzhiyun #define UTMI_RX_CH_CTRL0_SQ_ANA_DTC_MASK	\
63*4882a593Smuzhiyun 	(0x1 << UTMI_RX_CH_CTRL0_SQ_ANA_DTC_OFFSET)
64*4882a593Smuzhiyun 
65*4882a593Smuzhiyun #define UTMI_RX_CH_CTRL1_REG			0x18
66*4882a593Smuzhiyun #define UTMI_RX_CH_CTRL1_SQ_AMP_CAL_OFFSET	0
67*4882a593Smuzhiyun #define UTMI_RX_CH_CTRL1_SQ_AMP_CAL_MASK	\
68*4882a593Smuzhiyun 	(0x3 << UTMI_RX_CH_CTRL1_SQ_AMP_CAL_OFFSET)
69*4882a593Smuzhiyun #define UTMI_RX_CH_CTRL1_SQ_AMP_CAL_EN_OFFSET	3
70*4882a593Smuzhiyun #define UTMI_RX_CH_CTRL1_SQ_AMP_CAL_EN_MASK	\
71*4882a593Smuzhiyun 	(0x1 << UTMI_RX_CH_CTRL1_SQ_AMP_CAL_EN_OFFSET)
72*4882a593Smuzhiyun 
73*4882a593Smuzhiyun #define UTMI_CTRL_STATUS0_REG			0x24
74*4882a593Smuzhiyun #define UTMI_CTRL_STATUS0_SUSPENDM_OFFSET	22
75*4882a593Smuzhiyun #define UTMI_CTRL_STATUS0_SUSPENDM_MASK		\
76*4882a593Smuzhiyun 	(0x1 << UTMI_CTRL_STATUS0_SUSPENDM_OFFSET)
77*4882a593Smuzhiyun #define UTMI_CTRL_STATUS0_TEST_SEL_OFFSET	25
78*4882a593Smuzhiyun #define UTMI_CTRL_STATUS0_TEST_SEL_MASK		\
79*4882a593Smuzhiyun 	(0x1 << UTMI_CTRL_STATUS0_TEST_SEL_OFFSET)
80*4882a593Smuzhiyun 
81*4882a593Smuzhiyun #define UTMI_CHGDTC_CTRL_REG			0x38
82*4882a593Smuzhiyun #define UTMI_CHGDTC_CTRL_VDAT_OFFSET		8
83*4882a593Smuzhiyun #define UTMI_CHGDTC_CTRL_VDAT_MASK		\
84*4882a593Smuzhiyun 	(0x3 << UTMI_CHGDTC_CTRL_VDAT_OFFSET)
85*4882a593Smuzhiyun #define UTMI_CHGDTC_CTRL_VSRC_OFFSET		10
86*4882a593Smuzhiyun #define UTMI_CHGDTC_CTRL_VSRC_MASK		\
87*4882a593Smuzhiyun 	(0x3 << UTMI_CHGDTC_CTRL_VSRC_OFFSET)
88*4882a593Smuzhiyun 
89*4882a593Smuzhiyun #endif /* _UTMI_PHY_H_ */
90*4882a593Smuzhiyun 
91