5.5.6.2.3 D-PHY PLL Control Operation

The D-PHY includes a fully programmable PLL, enabling a flexible lane bit rate value. The generated clock frequency (fout) is a function of the input reference frequency and of the multiplication and division ratios. It can be determined as follows:

fout=MNfref

Where:

  • M = feedback multiplication ratio
  • N = input frequency division ratio
  • fref = frequency of the main crystal oscillator. fref = 24 MHz.

Note that the following limit applies:

40 MHzfrefN5 MHz

The PLL output clock (with frequency fout) is the full-rate clock used for bit serialization. A 1000 Mbps bit rate on the data lanes assumes PLL output frequency to be equal to 1000 MHz.

The D-PHY also generates the lanebyteclk clock signal with a frequency of fout/8.

The PLL output frequency ranges are selected from the following table:

Table 5-106. PLL Output Frequency Ranges
Ranges (Mbps)PLL Output Frequency Range (MHz)
00080-200
001200-300
010300-500
011500-700
100700-900
101900-1000

Some combinations of N and M are not allowed, since they violate the limits of operation of the PLL output frequency or the minimum allowed comparison frequency. Due to the use of a “by 2 pre-scaler” the range of the feedback multiplication value M is limited to even division numbers.

To ensure proper operation of the PLL, the loop bandwidth should be configured depending on the selected frequency. The control over the Charge Pump (CP) current (ICPCTRL[3:0]), the Low-Pass Filter (LPF) characteristics (LPFCTRL[5:0]), and VCO control signals (VCORANGE and VCOCAP) is granted. The table below presents the correspondence.

Table 5-107. PLL CP and LPF Control Fields
PLL Output Frequency Range (MHz)VCORANGEICPCTRLLPFCTRLVCOCAP
80-110000010001000000
110-150100000100000
150-200110000100000
200-250001110000100000
250-300001000100000
300-400010010100100000
400-500010100000100
500-600011011001000000
600-700011000010000
700-900100011000010000
900-1000101011101000000

To configure D-PHY PLL, follow the steps below in conjunction with the procedure in General D-PHY Control Operation:

  1. Configure the VCO parameters with the test code 0x10 and data as follows:
    • Bit 7:

      0: VCO range is programmed with the default values for the corresponding hsfreqrange

      1: VCO range is programmed with bits 5:3

    • Bit 6: Reserved
    • Bits 5:3: VCO range control (vcorange)
    • Bits 2:1: VCO internal capacitance control (vcocap)

      00: Default capacitance

      01: Low capacitance (four times lower than the default value)

      10: High capacitance (double the default value)

      11: Not allowed

    • Bit 0: Reserved
  2. Configure PLL Control with test code 0x11 and data icpctrl.
  3. Configure PLL Control with test code 0x12 and data as follows:
    • Bit 7: Bypass CP default values

      0: vcocap is programmed with the default values for the corresponding hsfreqrange

      1: vcocap is programmed with bits 3:0 using test code 0x11

    • Bit 6: Bypass LPF default values

      0: LPF is programmed with the default values for the corresponding hsfreqrange

      1: LPF is programmed with bits 5:0

    • Bit 5:0: Loop filter control (lpfctrl)

      000000: Loop Filter resistor is 18kΩ

      000001: Loop Filter resistor is 15.6kΩ

      000010: Loop Filter resistor is 15kΩ

      000100: Loop Filter resistor is 14.4kΩ

      001000: Loop Filter resistor is 12.8kΩ

      010000: Loop Filter resistor is 11.4kΩ

      100000: Loop Filter resistor is 10.5kΩ

  4. Enable N and M values with test code 0x19 and data as follows:
    • Bits 7:6: Reserved
    • Bit 5: Bypass the PLL loop divider default values

      0: PLL loop divider is programmed with the default values for the corresponding hsfreqrange

      1: PLL loop divider is programmed using the test code 8'h18 (PLL Loop Divider Ratio)

    • Bit 4: Bypass PLL input divider default values

      0: PLL input divider is programmed with the default values for the corresponding hsfreqrange

      1: PLL input divider is programmed using test code 8'h17 (PLL Input Divider Ratio)

    • Bits 3:0: Reserved
  5. Configure PLL Input Divider Ratio (N) with test code 0x17 and data assigned to N-1
  6. Configure PLL Loop Divider Ratio (M) with test code 0x18 and data as follows:

    For m = M-1:

    • Data bit 7: Bit Field Selector
      • When data bit 7 is 0, LSBs are accessed:
        • data bits 6:5: Reserved
        • data bits 4:0: m[4:0]
      • When data bit 7 is 1 : MSBs are accessed:
        • data bits 6:4: Reserved
        • data bits 3:0: m[8:5]