• Home
  • Raw
  • Download

Lines Matching refs:pipe

37 								int pipe);
39 static void mdfld_wait_for_HS_DATA_FIFO(struct drm_device *dev, u32 pipe) in mdfld_wait_for_HS_DATA_FIFO() argument
41 u32 gen_fifo_stat_reg = MIPI_GEN_FIFO_STAT_REG(pipe); in mdfld_wait_for_HS_DATA_FIFO()
57 static void mdfld_wait_for_HS_CTRL_FIFO(struct drm_device *dev, u32 pipe) in mdfld_wait_for_HS_CTRL_FIFO() argument
59 u32 gen_fifo_stat_reg = MIPI_GEN_FIFO_STAT_REG(pipe); in mdfld_wait_for_HS_CTRL_FIFO()
74 static void mdfld_wait_for_DPI_CTRL_FIFO(struct drm_device *dev, u32 pipe) in mdfld_wait_for_DPI_CTRL_FIFO() argument
76 u32 gen_fifo_stat_reg = MIPI_GEN_FIFO_STAT_REG(pipe); in mdfld_wait_for_DPI_CTRL_FIFO()
92 static void mdfld_wait_for_SPL_PKG_SENT(struct drm_device *dev, u32 pipe) in mdfld_wait_for_SPL_PKG_SENT() argument
94 u32 intr_stat_reg = MIPI_INTR_STAT_REG(pipe); in mdfld_wait_for_SPL_PKG_SENT()
113 int pipe) in dsi_set_device_ready_state() argument
115 REG_FLD_MOD(MIPI_DEVICE_READY_REG(pipe), !!state, 0, 0); in dsi_set_device_ready_state()
119 int state, int pipe) in dsi_set_pipe_plane_enable_state() argument
125 u32 dspcntr = dev_priv->dspcntr[pipe]; in dsi_set_pipe_plane_enable_state()
128 if (pipe) { in dsi_set_pipe_plane_enable_state()
145 u32 dspbase_reg = pipe ? MDFLD_DSPCBASE : MRST_DSPABASE; in dsi_set_pipe_plane_enable_state()
148 REG_FLD_MOD(MIPI_DEVICE_READY_REG(pipe), 2, 2, 1); in dsi_set_pipe_plane_enable_state()
149 REG_READ(MIPI_DEVICE_READY_REG(pipe)); /* posted write? */ in dsi_set_pipe_plane_enable_state()
152 REG_FLD_MOD(MIPI_PORT_CONTROL(pipe), 0, 16, 16); in dsi_set_pipe_plane_enable_state()
153 REG_READ(MIPI_PORT_CONTROL(pipe)); /* posted write? */ in dsi_set_pipe_plane_enable_state()
169 if (REG_BIT_WAIT(MIPI_GEN_FIFO_STAT_REG(pipe), 1, 28)) in dsi_set_pipe_plane_enable_state()
176 int pipe) in mdfld_dsi_configure_down() argument
185 if (!dev_priv->dpi_panel_on[pipe]) { in mdfld_dsi_configure_down()
191 dsi_set_pipe_plane_enable_state(dev, 0, pipe); in mdfld_dsi_configure_down()
192 mdfld_dsi_dpi_shut_down(dpi_output, pipe); in mdfld_dsi_configure_down()
193 dsi_set_device_ready_state(dev, 0, pipe); in mdfld_dsi_configure_down()
197 int pipe) in mdfld_dsi_configure_up() argument
206 if (dev_priv->dpi_panel_on[pipe]) { in mdfld_dsi_configure_up()
212 mdfld_dsi_dpi_shut_down(dpi_output, pipe); in mdfld_dsi_configure_up()
213 dsi_set_device_ready_state(dev, 0, pipe); in mdfld_dsi_configure_up()
215 dsi_set_device_ready_state(dev, 1, pipe); in mdfld_dsi_configure_up()
218 mdfld_dsi_dpi_turn_on(dpi_output, pipe); /* Send turn on command */ in mdfld_dsi_configure_up()
219 dsi_set_pipe_plane_enable_state(dev, 1, pipe); in mdfld_dsi_configure_up()
231 static void mdfld_dsi_tpo_ic_init(struct mdfld_dsi_config *dsi_config, u32 pipe) in mdfld_dsi_tpo_ic_init() argument
235 u32 gen_data_reg = MIPI_HS_GEN_DATA_REG(pipe); in mdfld_dsi_tpo_ic_init()
236 u32 gen_ctrl_reg = MIPI_HS_GEN_CTRL_REG(pipe); in mdfld_dsi_tpo_ic_init()
244 mdfld_wait_for_HS_DATA_FIFO(dev, pipe); in mdfld_dsi_tpo_ic_init()
246 mdfld_wait_for_HS_CTRL_FIFO(dev, pipe); in mdfld_dsi_tpo_ic_init()
250 mdfld_wait_for_HS_DATA_FIFO(dev, pipe); in mdfld_dsi_tpo_ic_init()
252 mdfld_wait_for_HS_CTRL_FIFO(dev, pipe); in mdfld_dsi_tpo_ic_init()
256 mdfld_wait_for_HS_DATA_FIFO(dev, pipe); in mdfld_dsi_tpo_ic_init()
258 mdfld_wait_for_HS_CTRL_FIFO(dev, pipe); in mdfld_dsi_tpo_ic_init()
262 mdfld_wait_for_HS_DATA_FIFO(dev, pipe); in mdfld_dsi_tpo_ic_init()
264 mdfld_wait_for_HS_CTRL_FIFO(dev, pipe); in mdfld_dsi_tpo_ic_init()
268 mdfld_wait_for_HS_DATA_FIFO(dev, pipe); in mdfld_dsi_tpo_ic_init()
270 mdfld_wait_for_HS_DATA_FIFO(dev, pipe); in mdfld_dsi_tpo_ic_init()
272 mdfld_wait_for_HS_CTRL_FIFO(dev, pipe); in mdfld_dsi_tpo_ic_init()
276 mdfld_wait_for_HS_DATA_FIFO(dev, pipe); in mdfld_dsi_tpo_ic_init()
278 mdfld_wait_for_HS_CTRL_FIFO(dev, pipe); in mdfld_dsi_tpo_ic_init()
282 mdfld_wait_for_HS_DATA_FIFO(dev, pipe); in mdfld_dsi_tpo_ic_init()
284 mdfld_wait_for_HS_DATA_FIFO(dev, pipe); in mdfld_dsi_tpo_ic_init()
286 mdfld_wait_for_HS_DATA_FIFO(dev, pipe); in mdfld_dsi_tpo_ic_init()
288 mdfld_wait_for_HS_CTRL_FIFO(dev, pipe); in mdfld_dsi_tpo_ic_init()
292 mdfld_wait_for_HS_DATA_FIFO(dev, pipe); in mdfld_dsi_tpo_ic_init()
294 mdfld_wait_for_HS_DATA_FIFO(dev, pipe); in mdfld_dsi_tpo_ic_init()
296 mdfld_wait_for_HS_DATA_FIFO(dev, pipe); in mdfld_dsi_tpo_ic_init()
298 mdfld_wait_for_HS_DATA_FIFO(dev, pipe); in mdfld_dsi_tpo_ic_init()
300 mdfld_wait_for_HS_CTRL_FIFO(dev, pipe); in mdfld_dsi_tpo_ic_init()
304 mdfld_wait_for_HS_DATA_FIFO(dev, pipe); in mdfld_dsi_tpo_ic_init()
306 mdfld_wait_for_HS_DATA_FIFO(dev, pipe); in mdfld_dsi_tpo_ic_init()
308 mdfld_wait_for_HS_CTRL_FIFO(dev, pipe); in mdfld_dsi_tpo_ic_init()
312 mdfld_wait_for_HS_DATA_FIFO(dev, pipe); in mdfld_dsi_tpo_ic_init()
314 mdfld_wait_for_HS_CTRL_FIFO(dev, pipe); in mdfld_dsi_tpo_ic_init()
318 mdfld_wait_for_HS_DATA_FIFO(dev, pipe); in mdfld_dsi_tpo_ic_init()
320 mdfld_wait_for_HS_DATA_FIFO(dev, pipe); in mdfld_dsi_tpo_ic_init()
322 mdfld_wait_for_HS_DATA_FIFO(dev, pipe); in mdfld_dsi_tpo_ic_init()
324 mdfld_wait_for_HS_DATA_FIFO(dev, pipe); in mdfld_dsi_tpo_ic_init()
326 mdfld_wait_for_HS_DATA_FIFO(dev, pipe); in mdfld_dsi_tpo_ic_init()
328 mdfld_wait_for_HS_CTRL_FIFO(dev, pipe); in mdfld_dsi_tpo_ic_init()
332 mdfld_wait_for_HS_DATA_FIFO(dev, pipe); in mdfld_dsi_tpo_ic_init()
334 mdfld_wait_for_HS_DATA_FIFO(dev, pipe); in mdfld_dsi_tpo_ic_init()
336 mdfld_wait_for_HS_DATA_FIFO(dev, pipe); in mdfld_dsi_tpo_ic_init()
338 mdfld_wait_for_HS_CTRL_FIFO(dev, pipe); in mdfld_dsi_tpo_ic_init()
342 mdfld_wait_for_HS_DATA_FIFO(dev, pipe); in mdfld_dsi_tpo_ic_init()
344 mdfld_wait_for_HS_DATA_FIFO(dev, pipe); in mdfld_dsi_tpo_ic_init()
346 mdfld_wait_for_HS_DATA_FIFO(dev, pipe); in mdfld_dsi_tpo_ic_init()
348 mdfld_wait_for_HS_CTRL_FIFO(dev, pipe); in mdfld_dsi_tpo_ic_init()
352 mdfld_wait_for_HS_DATA_FIFO(dev, pipe); in mdfld_dsi_tpo_ic_init()
354 mdfld_wait_for_HS_DATA_FIFO(dev, pipe); in mdfld_dsi_tpo_ic_init()
356 mdfld_wait_for_HS_DATA_FIFO(dev, pipe); in mdfld_dsi_tpo_ic_init()
358 mdfld_wait_for_HS_DATA_FIFO(dev, pipe); in mdfld_dsi_tpo_ic_init()
360 mdfld_wait_for_HS_DATA_FIFO(dev, pipe); in mdfld_dsi_tpo_ic_init()
362 mdfld_wait_for_HS_DATA_FIFO(dev, pipe); in mdfld_dsi_tpo_ic_init()
364 mdfld_wait_for_HS_DATA_FIFO(dev, pipe); in mdfld_dsi_tpo_ic_init()
366 mdfld_wait_for_HS_DATA_FIFO(dev, pipe); in mdfld_dsi_tpo_ic_init()
368 mdfld_wait_for_HS_DATA_FIFO(dev, pipe); in mdfld_dsi_tpo_ic_init()
370 mdfld_wait_for_HS_DATA_FIFO(dev, pipe); in mdfld_dsi_tpo_ic_init()
372 mdfld_wait_for_HS_DATA_FIFO(dev, pipe); in mdfld_dsi_tpo_ic_init()
374 mdfld_wait_for_HS_DATA_FIFO(dev, pipe); in mdfld_dsi_tpo_ic_init()
376 mdfld_wait_for_HS_DATA_FIFO(dev, pipe); in mdfld_dsi_tpo_ic_init()
378 mdfld_wait_for_HS_CTRL_FIFO(dev, pipe); in mdfld_dsi_tpo_ic_init()
382 mdfld_wait_for_HS_DATA_FIFO(dev, pipe); in mdfld_dsi_tpo_ic_init()
384 mdfld_wait_for_HS_DATA_FIFO(dev, pipe); in mdfld_dsi_tpo_ic_init()
386 mdfld_wait_for_HS_DATA_FIFO(dev, pipe); in mdfld_dsi_tpo_ic_init()
388 mdfld_wait_for_HS_DATA_FIFO(dev, pipe); in mdfld_dsi_tpo_ic_init()
390 mdfld_wait_for_HS_DATA_FIFO(dev, pipe); in mdfld_dsi_tpo_ic_init()
392 mdfld_wait_for_HS_DATA_FIFO(dev, pipe); in mdfld_dsi_tpo_ic_init()
394 mdfld_wait_for_HS_DATA_FIFO(dev, pipe); in mdfld_dsi_tpo_ic_init()
396 mdfld_wait_for_HS_DATA_FIFO(dev, pipe); in mdfld_dsi_tpo_ic_init()
398 mdfld_wait_for_HS_DATA_FIFO(dev, pipe); in mdfld_dsi_tpo_ic_init()
400 mdfld_wait_for_HS_DATA_FIFO(dev, pipe); in mdfld_dsi_tpo_ic_init()
402 mdfld_wait_for_HS_DATA_FIFO(dev, pipe); in mdfld_dsi_tpo_ic_init()
404 mdfld_wait_for_HS_DATA_FIFO(dev, pipe); in mdfld_dsi_tpo_ic_init()
406 mdfld_wait_for_HS_DATA_FIFO(dev, pipe); in mdfld_dsi_tpo_ic_init()
408 mdfld_wait_for_HS_CTRL_FIFO(dev, pipe); in mdfld_dsi_tpo_ic_init()
412 mdfld_wait_for_HS_DATA_FIFO(dev, pipe); in mdfld_dsi_tpo_ic_init()
414 mdfld_wait_for_HS_CTRL_FIFO(dev, pipe); in mdfld_dsi_tpo_ic_init()
469 int pipe) in mdfld_dsi_dpi_controller_init() argument
478 REG_FLD_MOD(MIPI_DEVICE_READY_REG(pipe), 0, 0, 0); in mdfld_dsi_dpi_controller_init()
481 REG_WRITE(MIPI_CTRL_REG(pipe), 0x00000018); in mdfld_dsi_dpi_controller_init()
484 REG_WRITE(MIPI_INTR_EN_REG(pipe), 0xffffffff); in mdfld_dsi_dpi_controller_init()
504 REG_WRITE(MIPI_DSI_FUNC_PRG_REG(pipe), val); in mdfld_dsi_dpi_controller_init()
506 REG_WRITE(MIPI_HS_TX_TIMEOUT_REG(pipe), in mdfld_dsi_dpi_controller_init()
509 REG_WRITE(MIPI_LP_RX_TIMEOUT_REG(pipe), in mdfld_dsi_dpi_controller_init()
513 REG_WRITE(MIPI_TURN_AROUND_TIMEOUT_REG(pipe), in mdfld_dsi_dpi_controller_init()
517 REG_WRITE(MIPI_DEVICE_RESET_TIMER_REG(pipe), in mdfld_dsi_dpi_controller_init()
520 REG_WRITE(MIPI_DPI_RESOLUTION_REG(pipe), in mdfld_dsi_dpi_controller_init()
527 REG_WRITE(MIPI_HSYNC_COUNT_REG(pipe), in mdfld_dsi_dpi_controller_init()
529 REG_WRITE(MIPI_HBP_COUNT_REG(pipe), in mdfld_dsi_dpi_controller_init()
531 REG_WRITE(MIPI_HFP_COUNT_REG(pipe), in mdfld_dsi_dpi_controller_init()
533 REG_WRITE(MIPI_HACTIVE_COUNT_REG(pipe), in mdfld_dsi_dpi_controller_init()
535 REG_WRITE(MIPI_VSYNC_COUNT_REG(pipe), in mdfld_dsi_dpi_controller_init()
537 REG_WRITE(MIPI_VBP_COUNT_REG(pipe), in mdfld_dsi_dpi_controller_init()
539 REG_WRITE(MIPI_VFP_COUNT_REG(pipe), in mdfld_dsi_dpi_controller_init()
542 REG_WRITE(MIPI_HIGH_LOW_SWITCH_COUNT_REG(pipe), 0x46); in mdfld_dsi_dpi_controller_init()
545 REG_WRITE(MIPI_INIT_COUNT_REG(pipe), 0x000007d0); in mdfld_dsi_dpi_controller_init()
549 REG_WRITE(MIPI_VIDEO_MODE_FORMAT_REG(pipe), val); in mdfld_dsi_dpi_controller_init()
551 REG_WRITE(MIPI_EOT_DISABLE_REG(pipe), 0x00000000); in mdfld_dsi_dpi_controller_init()
553 REG_WRITE(MIPI_LP_BYTECLK_REG(pipe), 0x00000004); in mdfld_dsi_dpi_controller_init()
556 if (mdfld_get_panel_type(dev, pipe) == TC35876X) in mdfld_dsi_dpi_controller_init()
557 REG_WRITE(MIPI_DPHY_PARAM_REG(pipe), 0x2A0c6008); in mdfld_dsi_dpi_controller_init()
559 REG_WRITE(MIPI_DPHY_PARAM_REG(pipe), 0x150c3408); in mdfld_dsi_dpi_controller_init()
561 REG_WRITE(MIPI_CLK_LANE_SWITCH_TIME_CNT_REG(pipe), (0xa << 16) | 0x14); in mdfld_dsi_dpi_controller_init()
563 if (mdfld_get_panel_type(dev, pipe) == TC35876X) in mdfld_dsi_dpi_controller_init()
567 REG_FLD_MOD(MIPI_DEVICE_READY_REG(pipe), 1, 0, 0); in mdfld_dsi_dpi_controller_init()
570 void mdfld_dsi_dpi_turn_on(struct mdfld_dsi_dpi_output *output, int pipe) in mdfld_dsi_dpi_turn_on() argument
575 if (REG_READ(MIPI_INTR_STAT_REG(pipe)) & DSI_INTR_STATE_SPL_PKG_SENT) in mdfld_dsi_dpi_turn_on()
576 REG_WRITE(MIPI_INTR_STAT_REG(pipe), in mdfld_dsi_dpi_turn_on()
580 REG_WRITE(MIPI_DPI_CONTROL_REG(pipe), DSI_DPI_CTRL_HS_TURN_ON); in mdfld_dsi_dpi_turn_on()
583 mdfld_wait_for_SPL_PKG_SENT(dev, pipe); in mdfld_dsi_dpi_turn_on()
585 if (REG_READ(MIPI_INTR_STAT_REG(pipe)) & DSI_INTR_STATE_SPL_PKG_SENT) in mdfld_dsi_dpi_turn_on()
586 REG_WRITE(MIPI_INTR_STAT_REG(pipe), in mdfld_dsi_dpi_turn_on()
600 int pipe) in mdfld_dsi_dpi_shut_down() argument
611 mdfld_wait_for_DPI_CTRL_FIFO(dev, pipe); in mdfld_dsi_dpi_shut_down()
614 if (REG_READ(MIPI_INTR_STAT_REG(pipe)) & DSI_INTR_STATE_SPL_PKG_SENT) in mdfld_dsi_dpi_shut_down()
615 REG_WRITE(MIPI_INTR_STAT_REG(pipe), in mdfld_dsi_dpi_shut_down()
618 if (REG_READ(MIPI_DPI_CONTROL_REG(pipe)) == DSI_DPI_CTRL_HS_SHUTDOWN) in mdfld_dsi_dpi_shut_down()
621 REG_WRITE(MIPI_DPI_CONTROL_REG(pipe), DSI_DPI_CTRL_HS_SHUTDOWN); in mdfld_dsi_dpi_shut_down()
642 int pipe = mdfld_dsi_encoder_get_pipe(dsi_encoder); in mdfld_dsi_dpi_set_power() local
651 if (mdfld_get_panel_type(dev, pipe) == TMD_VID) in mdfld_dsi_dpi_set_power()
652 mdfld_dsi_dpi_turn_on(dpi_output, pipe); in mdfld_dsi_dpi_set_power()
653 else if (mdfld_get_panel_type(dev, pipe) == TC35876X) in mdfld_dsi_dpi_set_power()
654 mdfld_dsi_configure_up(dsi_encoder, pipe); in mdfld_dsi_dpi_set_power()
657 REG_WRITE(MIPI_PORT_CONTROL(pipe), in mdfld_dsi_dpi_set_power()
658 REG_READ(MIPI_PORT_CONTROL(pipe)) | BIT(31)); in mdfld_dsi_dpi_set_power()
659 REG_READ(MIPI_PORT_CONTROL(pipe)); in mdfld_dsi_dpi_set_power()
661 mdfld_dsi_dpi_turn_on(dpi_output, pipe); in mdfld_dsi_dpi_set_power()
662 mdfld_dsi_tpo_ic_init(dsi_config, pipe); in mdfld_dsi_dpi_set_power()
664 dev_priv->dpi_panel_on[pipe] = true; in mdfld_dsi_dpi_set_power()
666 if (mdfld_get_panel_type(dev, pipe) == TMD_VID) in mdfld_dsi_dpi_set_power()
667 mdfld_dsi_dpi_shut_down(dpi_output, pipe); in mdfld_dsi_dpi_set_power()
668 else if (mdfld_get_panel_type(dev, pipe) == TC35876X) in mdfld_dsi_dpi_set_power()
669 mdfld_dsi_configure_down(dsi_encoder, pipe); in mdfld_dsi_dpi_set_power()
671 mdfld_dsi_dpi_shut_down(dpi_output, pipe); in mdfld_dsi_dpi_set_power()
674 REG_WRITE(MIPI_PORT_CONTROL(pipe), in mdfld_dsi_dpi_set_power()
675 REG_READ(MIPI_PORT_CONTROL(pipe)) & ~BIT(31)); in mdfld_dsi_dpi_set_power()
676 REG_READ(MIPI_PORT_CONTROL(pipe)); in mdfld_dsi_dpi_set_power()
678 dev_priv->dpi_panel_on[pipe] = false; in mdfld_dsi_dpi_set_power()
725 static void mipi_set_properties(struct mdfld_dsi_config *dsi_config, int pipe) in mipi_set_properties() argument
729 REG_WRITE(MIPI_CTRL_REG(pipe), 0x00000018); in mipi_set_properties()
730 REG_WRITE(MIPI_INTR_EN_REG(pipe), 0xffffffff); in mipi_set_properties()
731 REG_WRITE(MIPI_HS_TX_TIMEOUT_REG(pipe), 0xffffff); in mipi_set_properties()
732 REG_WRITE(MIPI_LP_RX_TIMEOUT_REG(pipe), 0xffffff); in mipi_set_properties()
733 REG_WRITE(MIPI_TURN_AROUND_TIMEOUT_REG(pipe), 0x14); in mipi_set_properties()
734 REG_WRITE(MIPI_DEVICE_RESET_TIMER_REG(pipe), 0xff); in mipi_set_properties()
735 REG_WRITE(MIPI_HIGH_LOW_SWITCH_COUNT_REG(pipe), 0x25); in mipi_set_properties()
736 REG_WRITE(MIPI_INIT_COUNT_REG(pipe), 0xf0); in mipi_set_properties()
737 REG_WRITE(MIPI_EOT_DISABLE_REG(pipe), 0x00000000); in mipi_set_properties()
738 REG_WRITE(MIPI_LP_BYTECLK_REG(pipe), 0x00000004); in mipi_set_properties()
739 REG_WRITE(MIPI_DBI_BW_CTRL_REG(pipe), 0x00000820); in mipi_set_properties()
740 REG_WRITE(MIPI_CLK_LANE_SWITCH_TIME_CNT_REG(pipe), (0xa << 16) | 0x14); in mipi_set_properties()
744 int pipe) in mdfld_mipi_set_video_timing() argument
754 REG_WRITE(MIPI_DPI_RESOLUTION_REG(pipe), in mdfld_mipi_set_video_timing()
756 REG_WRITE(MIPI_HSYNC_COUNT_REG(pipe), in mdfld_mipi_set_video_timing()
758 REG_WRITE(MIPI_HBP_COUNT_REG(pipe), in mdfld_mipi_set_video_timing()
760 REG_WRITE(MIPI_HFP_COUNT_REG(pipe), in mdfld_mipi_set_video_timing()
762 REG_WRITE(MIPI_HACTIVE_COUNT_REG(pipe), in mdfld_mipi_set_video_timing()
764 REG_WRITE(MIPI_VSYNC_COUNT_REG(pipe), in mdfld_mipi_set_video_timing()
766 REG_WRITE(MIPI_VBP_COUNT_REG(pipe), in mdfld_mipi_set_video_timing()
768 REG_WRITE(MIPI_VFP_COUNT_REG(pipe), in mdfld_mipi_set_video_timing()
772 static void mdfld_mipi_config(struct mdfld_dsi_config *dsi_config, int pipe) in mdfld_mipi_config() argument
777 if (pipe) { in mdfld_mipi_config()
785 REG_WRITE(MIPI_DPHY_PARAM_REG(pipe), 0x150A600F); in mdfld_mipi_config()
786 REG_WRITE(MIPI_VIDEO_MODE_FORMAT_REG(pipe), 0x0000000F); in mdfld_mipi_config()
789 REG_WRITE(MIPI_DSI_FUNC_PRG_REG(pipe), 0x00000200 | lane_count); in mdfld_mipi_config()
791 mdfld_mipi_set_video_timing(dsi_config, pipe); in mdfld_mipi_config()
794 static void mdfld_set_pipe_timing(struct mdfld_dsi_config *dsi_config, int pipe) in mdfld_set_pipe_timing() argument
825 int pipe = mdfld_dsi_encoder_get_pipe(dsi_encoder); in mdfld_dsi_dpi_mode_set() local
832 if (WARN_ON(pipe < 0)) in mdfld_dsi_dpi_mode_set()
835 pipeconf = dev_priv->pipeconf[pipe]; in mdfld_dsi_dpi_mode_set()
836 dspcntr = dev_priv->dspcntr[pipe]; in mdfld_dsi_dpi_mode_set()
838 if (pipe) { in mdfld_dsi_dpi_mode_set()
842 if (mdfld_get_panel_type(dev, pipe) == TC35876X) in mdfld_dsi_dpi_mode_set()
852 if (mdfld_get_panel_type(dev, pipe) == TC35876X) { in mdfld_dsi_dpi_mode_set()
871 REG_WRITE(MIPI_DPHY_PARAM_REG(pipe), 0x2A0c6008); in mdfld_dsi_dpi_mode_set()
873 mipi_set_properties(dsi_config, pipe); in mdfld_dsi_dpi_mode_set()
874 mdfld_mipi_config(dsi_config, pipe); in mdfld_dsi_dpi_mode_set()
875 mdfld_set_pipe_timing(dsi_config, pipe); in mdfld_dsi_dpi_mode_set()
887 REG_WRITE(MIPI_PORT_CONTROL(pipe), 0x80810000); in mdfld_dsi_dpi_mode_set()
890 REG_WRITE(MIPI_PORT_CONTROL(pipe), mipi); in mdfld_dsi_dpi_mode_set()
892 REG_READ(MIPI_PORT_CONTROL(pipe)); in mdfld_dsi_dpi_mode_set()
894 if (mdfld_get_panel_type(dev, pipe) == TMD_VID) { in mdfld_dsi_dpi_mode_set()
896 } else if (mdfld_get_panel_type(dev, pipe) == TC35876X) { in mdfld_dsi_dpi_mode_set()
898 mdfld_dsi_dpi_controller_init(dsi_config, pipe); in mdfld_dsi_dpi_mode_set()
902 dev_priv->dpi_panel_on[pipe] = true; in mdfld_dsi_dpi_mode_set()
905 mdfld_dsi_dpi_turn_on(dpi_output, pipe); in mdfld_dsi_dpi_mode_set()
918 if (mdfld_get_panel_type(dev, pipe) == TMD_VID) { in mdfld_dsi_dpi_mode_set()
920 } else if (mdfld_get_panel_type(dev, pipe) == TC35876X) { in mdfld_dsi_dpi_mode_set()
921 mdfld_dsi_dpi_turn_on(dpi_output, pipe); in mdfld_dsi_dpi_mode_set()
924 mdfld_dsi_tpo_ic_init(dsi_config, pipe); in mdfld_dsi_dpi_mode_set()
926 mdfld_dsi_brightness_init(dsi_config, pipe); in mdfld_dsi_dpi_mode_set()
945 int pipe; in mdfld_dsi_dpi_init() local
949 pipe = dsi_connector->pipe; in mdfld_dsi_dpi_init()
951 if (mdfld_get_panel_type(dev, pipe) != TC35876X) { in mdfld_dsi_dpi_init()
956 ret = p_funcs->reset(pipe); in mdfld_dsi_dpi_init()
958 DRM_ERROR("Panel %d hard-reset failed\n", pipe); in mdfld_dsi_dpi_init()
965 p_funcs->drv_ic_init(dsi_config, pipe); in mdfld_dsi_dpi_init()
970 DRM_ERROR("Panel %d get power mode failed\n", pipe); in mdfld_dsi_dpi_init()
973 DRM_INFO("pipe %d power mode 0x%x\n", pipe, data); in mdfld_dsi_dpi_init()
986 if (mdfld_get_panel_type(dev, pipe) != TC35876X) in mdfld_dsi_dpi_init()
1007 if (dsi_connector->pipe) { in mdfld_dsi_dpi_init()