33. USB PHY controller (USBPHYC) available on the STM32F7x3xx and STM32F730xx devices only

33.1 USBPHYC introduction

The USBPHYC enables the control and observation of a High Speed USB PHY's configuration and status, as well as the control/monitoring of its dedicated LDO.

33.2 USBPHYC main features

The USBPHYC is configured to directly control appropriate functions available on the High Speed PHY:

33.3 USBPHYC functional description

The USBPHYC works as a controller, enabling an easy access to the numerous functions available on the High Speed PHY with an integrated PLL system:

33.3.1 USBPHYC block diagram

The USBPHYC block diagram illustrates the connections to the peripheral bus, to the different sections of the PHY including the integrated PLL sub-system and also to the associated LDO.

Figure 460. USBPHYC block diagram

USBPHYC block diagram showing internal components (USBPHYC_PLL, USBPHYC_TUNE, USBPHYC_LDO) connected to a High Speed USB PHY (PLL1, PLL2, High Speed PHY) and a Regulator (LDO). It also shows connections to the 32-bit APB bus (PCLK2) and external pins (OTG_HS_DP, OTG_HS_DM).

The diagram illustrates the internal architecture of the USBPHYC. On the left, a 32-bit APB bus interface is shown with PCLK2 (clock) and LDO_USED (enable) inputs. The USBPHYC block contains three sub-modules: USBPHYC_PLL, USBPHYC_TUNE, and USBPHYC_LDO. These are connected to the High Speed USB PHY block on the right. USBPHYC_PLL connects to PLL1 and PLL2 via 'PLL and general control/status' lines. USBPHYC_TUNE connects to the High Speed PHY via 'PHY Driver tuning' lines. USBPHYC_LDO connects to a Regulator (LDO) via 'Regulator (LDO) enable/status' lines. The Regulator (LDO) provides 'Power supplies' to the High Speed PHY. The High Speed PHY block contains PLL1, PLL2, and a High Speed PHY core. The High Speed PHY core has two output pins: D+ connected to OTG_HS_DP and D- connected to OTG_HS_DM.

USBPHYC block diagram showing internal components (USBPHYC_PLL, USBPHYC_TUNE, USBPHYC_LDO) connected to a High Speed USB PHY (PLL1, PLL2, High Speed PHY) and a Regulator (LDO). It also shows connections to the 32-bit APB bus (PCLK2) and external pins (OTG_HS_DP, OTG_HS_DM).

33.3.2 USBPHYC reset and clocks

As an APB peripheral, the only clock used directly in the USBPHYC is the PCLK of the APB bus interface (PCLK2). The APB bus reset resets the registers.

33.4 USBPHYC register interface

33.4.1 USBPHYC PLL1 control register (USBPHYC_PLL1)

Address offset: 0x000

Reset value: 0x0000 0000

This register is used to control the PLL1 of the High Speed PHY.

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.PLLSEL[2:0]PLLEN
rwrwrwrw

Bits 31:4 Reserved

Bits 3:1 PLL1SEL[2:0] : Controls the PHY PLL1 input clock frequency selection

Bit 0 PLL1EN : Enable the PLL1 inside PHY

33.4.2 USBPHYC tuning control register (USBPHYC_TUNE)

Address offset: 0x00C

Reset value: 0x0000 0004

This register is used to control the tuning interface of the High Speed PHY.

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.SQLBYPSHTCCTC
TLPROT
HSRXOFF[1:0]HSFALL
PREEM
STAGS
EL
HFRXG
NEQEN
SQLCH
CTL[1]
rwrwrwrwrwrwrwrw
1514131211109876543210
SQLCH
CTL[0]
HSDRVCHKZ
TRM[1:0]
HSDRVCHKITRM[3:0]HSDRV
RFRED
FSDRV
RFADJ
HSDRVC
URINGR
HSDRV
DCLEV
HSDRV
DCCUR
HSDRVS
LEW
LFSCA
PEN
INCUR
RINT
INCUR
REN
rwrwrwrwrwrwrwrwrwrwrwrwrwrwrwrw

Bits 31:4 Reserved

Bit 23 SQLBYP : This pin is used to bypass the squelch inter-locking circuitry

Bit 22 SHTCCTCLPROT : Enables the short circuit protection circuitry in LS/FS driver

Bits 21:20 HSRXOFF[1:0] : HS Receiver Offset adjustment

Bit 19 HSFALLPREEM : HS Fall time control of single ended signals during pre-emphasis:

Bit 18 STAGSEL : HS Tx staggering enable:

Bit 17 HDRXGNEQEN : Enables the HS Rx Gain Equalizer:

Bits 16:15 SQLCHCTL[1:0] : Adjust the squelch DC threshold value

Bits 14:13 HSDRVCHKZTRM[1:0] : Controls the PHY bus HS driver impedance tuning for choke compensation

Bits 12:9 HSDRVCHKITRM[3:0] : HS Driver current trimming pins for choke compensation.

Bit 8 HSDRVRFRED : High Speed rise-fall reduction enable.

Bit 7 FSDRVRFADJ : Tuning pin to adjust the full speed rise/fall time.

Bit 6 HSDRVCURINCR : Enable the HS driver current increase feature.

Bit 5 HSDRVDCEV : Increases the HS Driver DC level. Not applicable during the HS Test J and Test K data transfer.

Bit 4 HSDRVDCUR : Decreases the HS driver DC level.

33.4.3 USBPHYC LDO control and status register (USBPHYC_LDO)

Address offset: 0x018

Reset value: 0x0000 0001

This register is used to control the register (LDO) associated with the HS USB PHY

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.LDO_DISABLELDO_STATUSLDO_USED
rwrr

Bits 31:3 Reserved

33.4.4 USBPHYC register map

Table 239. USBPHYC register map and reset values

OffsetRegister313029282726252423222120191817161514131211109876543210
0x00USBPHYC_PLL1ResResResResResResResResResResResResResResResResResResResResResResResResResResResResResResPLL1SEL[2:0]PLL1EN
Reset value000
.0x010-0x008Reserved
0x00CUSBPHYC_TUNEResResResResResResResResSQLBYPSHTCCTCLPROTHSRXOFF[1:0]HSFALLPREEMSTAGSELHFRXGNEQENSQLCHCTL[1:0]HSDRVCHKZTRM[1:0]HSDRVCHKZTRM[3:0]ResResResResResResHSDRVRFREDFSDRVRFADJHSDRVCURINGRHSDRVDCLEVHSDRVDCCURHSDRVISLEWLFSCAPENINCURRINTINCURREN
Reset value000000000000000000000100
.0x010-0x014Reserved
0x018USBPHYC_LDOResResResResResResResResResResResResResResResResResResResResResResResResResResResResResLDO_DISABLELDO_STATUSLDO_USED
Reset value001

Refer to Section 1.6 on page 56 for the register boundary addresses.