• Jacob Keller's avatar
    ice: add low level PTP clock access functions · 03cb4473
    Jacob Keller authored
    Add the ice_ptp_hw.c file and some associated definitions to the ice
    driver folder. This file contains basic low level definitions for
    functions that interact with the device hardware.
    
    For now, only E810-based devices are supported. The ice hardware
    supports 2 major variants which have different PHYs with different
    procedures necessary for interacting with the device clock.
    
    Because the device captures timestamps in the PHY, each PHY has its own
    internal timer. The timers are synchronized in hardware by first
    preparing the source timer and the PHY timer shadow registers, and then
    issuing a synchronization command. This ensures that both the source
    timer and PHY timers are programmed simultaneously. The timers
    themselves are all driven from the same oscillator source.
    
    The functions in ice_ptp_hw.c abstract over the differences between how
    the PHYs in E810 are programmed vs how the PHYs in E822 devices are
    programmed. This series only implements E810 support, but E822 support
    will be added in a future change.
    Signed-off-by: default avatarJacob Keller <jacob.e.keller@intel.com>
    Tested-by: default avatarTony Brelinski <tonyx.brelinski@intel.com>
    Signed-off-by: default avatarTony Nguyen <anthony.l.nguyen@intel.com>
    03cb4473
ice_ptp_hw.c 17.9 KB