软件驱动程序初始化 - 4.1 简体中文

10G/25G High Speed Ethernet Subsystem 产品指南 (PG210)

Document ID
PG210
Release Date
2023-05-10
Version
4.1 简体中文
建议软件驱动程序遵循下列步骤按顺序正确执行核初始化。
  1. 初始化设计的其他元素以使包括 ts_clktx/rx_phy_clk* 在内的时钟存在并保持稳定。为这些时钟域释放复位,例如,ts_rsttx/rx_phy_rst*
  2. 配置 TOD_CONFIG 寄存器:
    1. 在“Timer”(定时器)模式或“Timer Syncer”(定时器同步器)模式下,设置位 [0] 以启用系统定时器。
    2. 如果要使用外部 ToD 总线(1PPS 同步和可选串行秒输入),则请将位 [1] 设置为 1。
    3. 请将模式位字段 [3:2] 设置为与系统中使用的目标同步方法相匹配的设置。例如,如果系统使用连接到外部 ToD 总线(1PPS 输入和秒值串行输入)的外部器件,那么模式字段应设置为 0x1。
    4. 最后,启用“Port Timer”(端口定时器)使能位字段 [19:4] 的相应的位(设置为 1)即可启用端口 TX 定时器和 RX 定时器。
  3. 如果系统定时器的初始值将由软件通过寄存器编程来设置(外部 ToD 总线接口的替代方法),那么请将相应的初始值写入软件加载寄存器,例如,TOD_SW_SEC_0/1TOD_SW_NS, TOD_SW_CTIME_0/1。并通过写入 TOD_SEC_SYS_OFFSET_0/1TOD_NS_SYS_OFFSET_0 寄存器来配置要加载的任何静态偏移。
  4. 如果在第 2 步中更新了软件寄存器,那么向 TOD_SW_LOAD[1:0] 的相应位写入 1 即可触发系统定时器以加载软件值。
  5. 对端口 TX/RX 定时器进行编程。这包括对周期值以及相应值的所有必要的静态偏移进行编程,方法是写入端口定时器的寄存器:TX<M>_PERIOD_0/1、RX<M>_PERIOD_0/1 和 TX<M>/RX<M>_SYS_OFFSET。
  6. 将输入 CORE_CONFIGURATION 配置为“1”并提供系统定时器时钟 RESYNC_CLK_PERIOD(以 ps 为单位)来启用混合同步器模块。

针对设计中存在的所有端口 (M) 继续执行步骤 4。