USER GUIDE / DISPLAY / MIPI DSI / ULPM FLOW

ULPM 流程

进入 ULPM 的流程

  1. 确认 MIPI DSI 控制器的初始状态:
    1. PHY_RSTZ[3:0] = 4'hF
    2. PHY_ULPS_CTRL[3:0] = 4'h0
    3. PHY_TX_TRIGGERS[3:0] = 4'h0
    4. 配置 PHY_ANAREG01[1:0] 为 2'b11,关闭 IDO 和 pll(参考 D-PHY_TX_spec)
    5. 配置 PHY_ANAREG17 为 8'hc2(参考 D-PHY_TX_spec)
    6. 确认所有有效 lane 处于停止状态,并且 D-PHY PLL 已 lock
    7. One-lane 状态:PHY_STATUS[6:4] = 3'h3;PHY_STATUS[1:0] = 2'h1
    8. Two-lanes 状态:PHY_STATUS[8:4] = 5'h1B;PHY_STATUS[1:0] = 2'h1
  2. 设置 PHY_ULPS_CTRL[3:0] = 4'h5 使得 data lane 和 clock lanes 进入 ULPM。
  3. 等待 D-PHY 有效 lane 进入 ULPM:
    1. One-lane 状态:PHY_STATUS[6:0] = 7'h001
    2. Two-lanes 状态:PHY_STATUS[8:0] = 9'h001
  4. MIPI DSI 控制器现在已经进入 ULPM。通过以下操作关闭 D-PHY PLL:
    1. 配置 PHY_RSTZ[3] = 1'b0 关闭 D-PHY PLL
    2. 等待 D-PHY PLL 释放:PHY_STATUS[0] = 1'b0

退出 ULPM 的流程

  1. 确认所有有效 lanes 进入 ULPM:
    1. One-lane 状态:PHY_STATUS[6:1] = 6'h00
    2. Two-lanes 状态:PHY_STATUS[8:1] = 8'h00
  2. 如果 D-PHY PLL 已经 locked(PHY_STATUS[0] = 1'b1),跳转到 step 5,否则继续。
  3. 设置 PHY_RSTZ[3] = 1'b1,打开 D-PHY PLL。
  4. 等待 D-PHY PLL locked:PHY_STATUS[0] = 1'b1。
  5. 设置 PHY_ULPS_CTRL[3:0] = 4'hA,退出 ULPM。
  6. 等待所有有效 lanes 退出 ULPM:
    1. One-lane 状态:PHY_STATUS[5] = 1'b1,PHY_STATUS[3] = 1'b1
    2. Two-lanes 状态:PHY_STATUS[8] = 1'b1,PHY_STATUS[5] = 1'b1,PHY_STATUS[3] = 1'b1
  7. 等待 1ms。
  8. 设置 PHY_ULPS_CTRL[3:0] = 4'h0。
  9. MIPI DSI Controller 进入停止状态并且 D-PHY PLL 已经 locked:
    1. One-lane 状态:PHY_STATUS[6:4] = 3'h3,PHY_STATUS[1:0] = 2'h1
    2. Two-lanes 状态:PHY_STATUS[8:4] = 5'h1B,PHY_STATUS[1:0] = 2'h1