xref: /rk3399_rockchip-uboot/arch/arm/include/asm/arch-mxs/regs-usbphy.h (revision 326ea986ac150acdc7656d57fca647db80b50158)
13a0398d7SOtavio Salvador /*
23a0398d7SOtavio Salvador  * Freescale i.MX28 USB PHY Register Definitions
33a0398d7SOtavio Salvador  *
43a0398d7SOtavio Salvador  * Copyright (C) 2011 Marek Vasut <marek.vasut@gmail.com>
53a0398d7SOtavio Salvador  * on behalf of DENX Software Engineering GmbH
63a0398d7SOtavio Salvador  *
7*1a459660SWolfgang Denk  * SPDX-License-Identifier:	GPL-2.0+
83a0398d7SOtavio Salvador  */
93a0398d7SOtavio Salvador 
103a0398d7SOtavio Salvador #ifndef __REGS_USBPHY_H__
113a0398d7SOtavio Salvador #define __REGS_USBPHY_H__
123a0398d7SOtavio Salvador 
139c471142SOtavio Salvador struct mxs_usbphy_regs {
14ddcf13b1SOtavio Salvador 	mxs_reg_32(hw_usbphy_pwd)
15ddcf13b1SOtavio Salvador 	mxs_reg_32(hw_usbphy_tx)
16ddcf13b1SOtavio Salvador 	mxs_reg_32(hw_usbphy_rx)
17ddcf13b1SOtavio Salvador 	mxs_reg_32(hw_usbphy_ctrl)
18ddcf13b1SOtavio Salvador 	mxs_reg_32(hw_usbphy_status)
19ddcf13b1SOtavio Salvador 	mxs_reg_32(hw_usbphy_debug)
20ddcf13b1SOtavio Salvador 	mxs_reg_32(hw_usbphy_debug0_status)
21ddcf13b1SOtavio Salvador 	mxs_reg_32(hw_usbphy_debug1)
22ddcf13b1SOtavio Salvador 	mxs_reg_32(hw_usbphy_version)
23ddcf13b1SOtavio Salvador 	mxs_reg_32(hw_usbphy_ip)
243a0398d7SOtavio Salvador };
253a0398d7SOtavio Salvador 
263a0398d7SOtavio Salvador #define	USBPHY_PWD_RXPWDRX				(1 << 20)
273a0398d7SOtavio Salvador #define	USBPHY_PWD_RXPWDDIFF				(1 << 19)
283a0398d7SOtavio Salvador #define	USBPHY_PWD_RXPWD1PT1				(1 << 18)
293a0398d7SOtavio Salvador #define	USBPHY_PWD_RXPWDENV				(1 << 17)
303a0398d7SOtavio Salvador #define	USBPHY_PWD_TXPWDV2I				(1 << 12)
313a0398d7SOtavio Salvador #define	USBPHY_PWD_TXPWDIBIAS				(1 << 11)
323a0398d7SOtavio Salvador #define	USBPHY_PWD_TXPWDFS				(1 << 10)
333a0398d7SOtavio Salvador 
343a0398d7SOtavio Salvador #define	USBPHY_TX_USBPHY_TX_EDGECTRL_OFFSET		26
353a0398d7SOtavio Salvador #define	USBPHY_TX_USBPHY_TX_EDGECTRL_MASK		(0x7 << 26)
363a0398d7SOtavio Salvador #define	USBPHY_TX_USBPHY_TX_SYNC_INVERT			(1 << 25)
373a0398d7SOtavio Salvador #define	USBPHY_TX_USBPHY_TX_SYNC_MUX			(1 << 24)
383a0398d7SOtavio Salvador #define	USBPHY_TX_TXENCAL45DP				(1 << 21)
393a0398d7SOtavio Salvador #define	USBPHY_TX_TXCAL45DP_OFFSET			16
403a0398d7SOtavio Salvador #define	USBPHY_TX_TXCAL45DP_MASK			(0xf << 16)
413a0398d7SOtavio Salvador #define	USBPHY_TX_TXENCAL45DM				(1 << 13)
423a0398d7SOtavio Salvador #define	USBPHY_TX_TXCAL45DM_OFFSET			8
433a0398d7SOtavio Salvador #define	USBPHY_TX_TXCAL45DM_MASK			(0xf << 8)
443a0398d7SOtavio Salvador #define	USBPHY_TX_D_CAL_OFFSET				0
453a0398d7SOtavio Salvador #define	USBPHY_TX_D_CAL_MASK				0xf
463a0398d7SOtavio Salvador 
473a0398d7SOtavio Salvador #define	USBPHY_RX_RXDBYPASS				(1 << 22)
483a0398d7SOtavio Salvador #define	USBPHY_RX_DISCONADJ_OFFSET			4
493a0398d7SOtavio Salvador #define	USBPHY_RX_DISCONADJ_MASK			(0x7 << 4)
503a0398d7SOtavio Salvador #define	USBPHY_RX_ENVADJ_OFFSET				0
513a0398d7SOtavio Salvador #define	USBPHY_RX_ENVADJ_MASK				0x7
523a0398d7SOtavio Salvador 
533a0398d7SOtavio Salvador #define	USBPHY_CTRL_SFTRST				(1 << 31)
543a0398d7SOtavio Salvador #define	USBPHY_CTRL_CLKGATE				(1 << 30)
553a0398d7SOtavio Salvador #define	USBPHY_CTRL_UTMI_SUSPENDM			(1 << 29)
563a0398d7SOtavio Salvador #define	USBPHY_CTRL_HOST_FORCE_LS_SE0			(1 << 28)
573a0398d7SOtavio Salvador #define	USBPHY_CTRL_ENAUTOSET_USBCLKS			(1 << 26)
583a0398d7SOtavio Salvador #define	USBPHY_CTRL_ENAUTOCLR_USBCLKGATE		(1 << 25)
593a0398d7SOtavio Salvador #define	USBPHY_CTRL_FSDLL_RST_EN			(1 << 24)
603a0398d7SOtavio Salvador #define	USBPHY_CTRL_ENVBUSCHG_WKUP			(1 << 23)
613a0398d7SOtavio Salvador #define	USBPHY_CTRL_ENIDCHG_WKUP			(1 << 22)
623a0398d7SOtavio Salvador #define	USBPHY_CTRL_ENDPDMCHG_WKUP			(1 << 21)
633a0398d7SOtavio Salvador #define	USBPHY_CTRL_ENAUTOCLR_PHY_PWD			(1 << 20)
643a0398d7SOtavio Salvador #define	USBPHY_CTRL_ENAUTOCLR_CLKGATE			(1 << 19)
653a0398d7SOtavio Salvador #define	USBPHY_CTRL_ENAUTO_PWRON_PLL			(1 << 18)
663a0398d7SOtavio Salvador #define	USBPHY_CTRL_WAKEUP_IRQ				(1 << 17)
673a0398d7SOtavio Salvador #define	USBPHY_CTRL_ENIRQWAKEUP				(1 << 16)
683a0398d7SOtavio Salvador #define	USBPHY_CTRL_ENUTMILEVEL3			(1 << 15)
693a0398d7SOtavio Salvador #define	USBPHY_CTRL_ENUTMILEVEL2			(1 << 14)
703a0398d7SOtavio Salvador #define	USBPHY_CTRL_DATA_ON_LRADC			(1 << 13)
713a0398d7SOtavio Salvador #define	USBPHY_CTRL_DEVPLUGIN_IRQ			(1 << 12)
723a0398d7SOtavio Salvador #define	USBPHY_CTRL_ENIRQDEVPLUGIN			(1 << 11)
733a0398d7SOtavio Salvador #define	USBPHY_CTRL_RESUME_IRQ				(1 << 10)
743a0398d7SOtavio Salvador #define	USBPHY_CTRL_ENIRQRESUMEDETECT			(1 << 9)
753a0398d7SOtavio Salvador #define	USBPHY_CTRL_RESUMEIRQSTICKY			(1 << 8)
763a0398d7SOtavio Salvador #define	USBPHY_CTRL_ENOTGIDDETECT			(1 << 7)
773a0398d7SOtavio Salvador #define	USBPHY_CTRL_DEVPLUGIN_POLARITY			(1 << 5)
783a0398d7SOtavio Salvador #define	USBPHY_CTRL_ENDEVPLUGINDETECT			(1 << 4)
793a0398d7SOtavio Salvador #define	USBPHY_CTRL_HOSTDISCONDETECT_IRQ		(1 << 3)
803a0398d7SOtavio Salvador #define	USBPHY_CTRL_ENIRQHOSTDISCON			(1 << 2)
813a0398d7SOtavio Salvador #define	USBPHY_CTRL_ENHOSTDISCONDETECT			(1 << 1)
823a0398d7SOtavio Salvador 
833a0398d7SOtavio Salvador #define	USBPHY_STATUS_RESUME_STATUS			(1 << 10)
843a0398d7SOtavio Salvador #define	USBPHY_STATUS_OTGID_STATUS			(1 << 8)
853a0398d7SOtavio Salvador #define	USBPHY_STATUS_DEVPLUGIN_STATUS			(1 << 6)
863a0398d7SOtavio Salvador #define	USBPHY_STATUS_HOSTDISCONDETECT_STATUS		(1 << 3)
873a0398d7SOtavio Salvador 
883a0398d7SOtavio Salvador #define	USBPHY_DEBUG_CLKGATE				(1 << 30)
893a0398d7SOtavio Salvador #define	USBPHY_DEBUG_HOST_RESUME_DEBUG			(1 << 29)
903a0398d7SOtavio Salvador #define	USBPHY_DEBUG_SQUELCHRESETLENGTH_OFFSET		25
913a0398d7SOtavio Salvador #define	USBPHY_DEBUG_SQUELCHRESETLENGTH_MASK		(0xf << 25)
923a0398d7SOtavio Salvador #define	USBPHY_DEBUG_ENSQUELCHRESET			(1 << 24)
933a0398d7SOtavio Salvador #define	USBPHY_DEBUG_SQUELCHRESETCOUNT_OFFSET		16
943a0398d7SOtavio Salvador #define	USBPHY_DEBUG_SQUELCHRESETCOUNT_MASK		(0x1f << 16)
953a0398d7SOtavio Salvador #define	USBPHY_DEBUG_ENTX2RXCOUNT			(1 << 12)
963a0398d7SOtavio Salvador #define	USBPHY_DEBUG_TX2RXCOUNT_OFFSET			8
973a0398d7SOtavio Salvador #define	USBPHY_DEBUG_TX2RXCOUNT_MASK			(0xf << 8)
983a0398d7SOtavio Salvador #define	USBPHY_DEBUG_ENHSTPULLDOWN_OFFSET		4
993a0398d7SOtavio Salvador #define	USBPHY_DEBUG_ENHSTPULLDOWN_MASK			(0x3 << 4)
1003a0398d7SOtavio Salvador #define	USBPHY_DEBUG_HSTPULLDOWN_OFFSET			2
1013a0398d7SOtavio Salvador #define	USBPHY_DEBUG_HSTPULLDOWN_MASK			(0x3 << 2)
1023a0398d7SOtavio Salvador #define	USBPHY_DEBUG_DEBUG_INTERFACE_HOLD		(1 << 1)
1033a0398d7SOtavio Salvador #define	USBPHY_DEBUG_OTGIDPIDLOCK			(1 << 0)
1043a0398d7SOtavio Salvador 
1053a0398d7SOtavio Salvador #define	USBPHY_DEBUG0_STATUS_SQUELCH_COUNT_OFFSET	26
1063a0398d7SOtavio Salvador #define	USBPHY_DEBUG0_STATUS_SQUELCH_COUNT_MASK		(0x3f << 26)
1073a0398d7SOtavio Salvador #define	USBPHY_DEBUG0_STATUS_UTMI_RXERROR_OFFSET	16
1083a0398d7SOtavio Salvador #define	USBPHY_DEBUG0_STATUS_UTMI_RXERROR_MASK		(0x3ff << 16)
1093a0398d7SOtavio Salvador #define	USBPHY_DEBUG0_STATUS_LOOP_BACK_OFFSET		0
1103a0398d7SOtavio Salvador #define	USBPHY_DEBUG0_STATUS_LOOP_BACK_MASK		0xffff
1113a0398d7SOtavio Salvador 
1123a0398d7SOtavio Salvador #define	USBPHY_DEBUG1_ENTAILADJVD_OFFSET		13
1133a0398d7SOtavio Salvador #define	USBPHY_DEBUG1_ENTAILADJVD_MASK			(0x3 << 13)
1143a0398d7SOtavio Salvador #define	USBPHY_DEBUG1_ENTX2TX				(1 << 12)
1153a0398d7SOtavio Salvador #define	USBPHY_DEBUG1_DBG_ADDRESS_OFFSET		0
1163a0398d7SOtavio Salvador #define	USBPHY_DEBUG1_DBG_ADDRESS_MASK			0xf
1173a0398d7SOtavio Salvador 
1183a0398d7SOtavio Salvador #define	USBPHY_VERSION_MAJOR_MASK			(0xff << 24)
1193a0398d7SOtavio Salvador #define	USBPHY_VERSION_MAJOR_OFFSET			24
1203a0398d7SOtavio Salvador #define	USBPHY_VERSION_MINOR_MASK			(0xff << 16)
1213a0398d7SOtavio Salvador #define	USBPHY_VERSION_MINOR_OFFSET			16
1223a0398d7SOtavio Salvador #define	USBPHY_VERSION_STEP_MASK			0xffff
1233a0398d7SOtavio Salvador #define	USBPHY_VERSION_STEP_OFFSET			0
1243a0398d7SOtavio Salvador 
1253a0398d7SOtavio Salvador #define	USBPHY_IP_DIV_SEL_OFFSET			23
1263a0398d7SOtavio Salvador #define	USBPHY_IP_DIV_SEL_MASK				(0x3 << 23)
1273a0398d7SOtavio Salvador #define	USBPHY_IP_LFR_SEL_OFFSET			21
1283a0398d7SOtavio Salvador #define	USBPHY_IP_LFR_SEL_MASK				(0x3 << 21)
1293a0398d7SOtavio Salvador #define	USBPHY_IP_CP_SEL_OFFSET				19
1303a0398d7SOtavio Salvador #define	USBPHY_IP_CP_SEL_MASK				(0x3 << 19)
1313a0398d7SOtavio Salvador #define	USBPHY_IP_TSTI_TX_DP				(1 << 18)
1323a0398d7SOtavio Salvador #define	USBPHY_IP_TSTI_TX_DM				(1 << 17)
1333a0398d7SOtavio Salvador #define	USBPHY_IP_ANALOG_TESTMODE			(1 << 16)
1343a0398d7SOtavio Salvador #define	USBPHY_IP_EN_USB_CLKS				(1 << 2)
1353a0398d7SOtavio Salvador #define	USBPHY_IP_PLL_LOCKED				(1 << 1)
1363a0398d7SOtavio Salvador #define	USBPHY_IP_PLL_POWER				(1 << 0)
1373a0398d7SOtavio Salvador 
1383a0398d7SOtavio Salvador #endif	/* __REGS_USBPHY_H__ */
139