USER GUIDE / DISPLAY / MIPI DSI / ULPM FLOW
ULPM 流程
进入 ULPM 的流程
- 确认 MIPI DSI 控制器的初始状态:
- PHY_RSTZ[3:0] = 4'hF
- PHY_ULPS_CTRL[3:0] = 4'h0
- PHY_TX_TRIGGERS[3:0] = 4'h0
- 配置 PHY_ANAREG01[1:0] 为 2'b11,关闭 IDO 和 pll(参考 D-PHY_TX_spec)
- 配置 PHY_ANAREG17 为 8'hc2(参考 D-PHY_TX_spec)
- 确认所有有效 lane 处于停止状态,并且 D-PHY PLL 已 lock
- One-lane 状态:PHY_STATUS[6:4] = 3'h3;PHY_STATUS[1:0] = 2'h1
- Two-lanes 状态:PHY_STATUS[8:4] = 5'h1B;PHY_STATUS[1:0] = 2'h1
- 设置 PHY_ULPS_CTRL[3:0] = 4'h5 使得 data lane 和 clock lanes 进入 ULPM。
- 等待 D-PHY 有效 lane 进入 ULPM:
- One-lane 状态:PHY_STATUS[6:0] = 7'h001
- Two-lanes 状态:PHY_STATUS[8:0] = 9'h001
- MIPI DSI 控制器现在已经进入 ULPM。通过以下操作关闭 D-PHY PLL:
- 配置 PHY_RSTZ[3] = 1'b0 关闭 D-PHY PLL
- 等待 D-PHY PLL 释放:PHY_STATUS[0] = 1'b0
退出 ULPM 的流程
- 确认所有有效 lanes 进入 ULPM:
- One-lane 状态:PHY_STATUS[6:1] = 6'h00
- Two-lanes 状态:PHY_STATUS[8:1] = 8'h00
- 如果 D-PHY PLL 已经 locked(PHY_STATUS[0] = 1'b1),跳转到 step 5,否则继续。
- 设置 PHY_RSTZ[3] = 1'b1,打开 D-PHY PLL。
- 等待 D-PHY PLL locked:PHY_STATUS[0] = 1'b1。
- 设置 PHY_ULPS_CTRL[3:0] = 4'hA,退出 ULPM。
- 等待所有有效 lanes 退出 ULPM:
- One-lane 状态:PHY_STATUS[5] = 1'b1,PHY_STATUS[3] = 1'b1
- Two-lanes 状态:PHY_STATUS[8] = 1'b1,PHY_STATUS[5] = 1'b1,PHY_STATUS[3] = 1'b1
- 等待 1ms。
- 设置 PHY_ULPS_CTRL[3:0] = 4'h0。
- MIPI DSI Controller 进入停止状态并且 D-PHY PLL 已经 locked:
- One-lane 状态:PHY_STATUS[6:4] = 3'h3,PHY_STATUS[1:0] = 2'h1
- Two-lanes 状态:PHY_STATUS[8:4] = 5'h1B,PHY_STATUS[1:0] = 2'h1