The purpose of this page is to describe the Linux CCF driver for SI5324 Clock Multiplier/Jitter Attenuator

Introduction

The Si5324 is a low-bandwidth, jitter-attenuating, precision clock multiplier for applications requiring sub 1 ps jitter performance with loop bandwidths between 4 Hz and 525 Hz. The Si5324 accepts two input clocks ranging from 2 kHz to 710 MHz and generates two output clocks ranging from 2 kHz
to 945 MHz and select frequencies to 1.4 GHz. The two outputs are divided down separately from a common source. The Si5324 can also use its external reference as a clock source for frequency synthesis. The device provides virtually any frequency translation combination across this operating range. The Si5324 input clock frequency and clock multiplication ratio are programmable via an I2C or SPI interface

Driver Overview

SI5324 driver is implemented to adhere to Linux Kernel Common Clock Framework (CCF). This driver is added as a clock producer. This clock can be obtained and set by any consuming driver. In Xilinx’s HDMI Tx use-case, for every mode change, after Tx is configured for the requested mode, DRM driver requests the desired frequency from the CCF which in turn triggers the SI5423 programming.

Note: SI5324 is pin and register compatible with SI5319 (available on zcu106 boards). Driver at probe time will read the device ID register to validate which device is being controlled.

Known Issues and Limitations

  • Not a comprehensive SI5324 driver. Only API’s required to support Xilinx HDMI Tx use-case(s) are implemented at this time.
  • Driver does not conform to Linux coding guidelines and is being released as early-access. Consequently driver files will be located in staging area until further notice

Kernel Configuration Options for Driver

CONFIG_COMMON_CLK_SI5324, CONFIG_COMMON_CLK and CONFIG_I2C should be enabled

Device Tree Binding

The dts node should be defined with correct hardware configuration. How to define the node is documented in Documentation/devicetree/bindings/clock/silabs,si5324.txt

Boards Supported

Driver has been tested on following boards
  • zcu102 Rev 1.0
  • Zcu106 Rev C

Related Links