Lines Matching refs:rgb
74 void (*prepare)(struct rockchip_rgb *rgb, int pipe);
75 void (*unprepare)(struct rockchip_rgb *rgb);
158 struct rockchip_rgb *rgb = dev_get_priv(conn->dev); in rockchip_rgb_connector_prepare() local
163 pinctrl_select_state(rgb->dev, "default"); in rockchip_rgb_connector_prepare()
165 if (rgb->funcs && rgb->funcs->prepare) in rockchip_rgb_connector_prepare()
166 rgb->funcs->prepare(rgb, pipe); in rockchip_rgb_connector_prepare()
168 if (rgb->phy) { in rockchip_rgb_connector_prepare()
169 ret = rockchip_phy_set_mode(rgb->phy, PHY_MODE_VIDEO_TTL); in rockchip_rgb_connector_prepare()
171 dev_err(rgb->dev, "failed to set phy mode: %d\n", ret); in rockchip_rgb_connector_prepare()
175 rockchip_phy_power_on(rgb->phy); in rockchip_rgb_connector_prepare()
184 struct rockchip_rgb *rgb = dev_get_priv(conn->dev); in rockchip_rgb_connector_unprepare() local
186 if (rgb->phy) in rockchip_rgb_connector_unprepare()
187 rockchip_phy_power_off(rgb->phy); in rockchip_rgb_connector_unprepare()
189 if (rgb->funcs && rgb->funcs->unprepare) in rockchip_rgb_connector_unprepare()
190 rgb->funcs->unprepare(rgb); in rockchip_rgb_connector_unprepare()
192 pinctrl_select_state(rgb->dev, "sleep"); in rockchip_rgb_connector_unprepare()
197 struct rockchip_rgb *rgb = dev_get_priv(conn->dev); in rockchip_rgb_connector_init() local
200 rgb->phy = conn->phy; in rockchip_rgb_connector_init()
204 conn_state->disp_info = rockchip_get_disp_info(conn_state->type, rgb->id); in rockchip_rgb_connector_init()
265 struct rockchip_rgb *rgb = dev_get_priv(conn->dev); in rockchip_rgb_connector_mode_valid() local
270 u32 max_clock = rgb->max_dclk_rate; in rockchip_rgb_connector_mode_valid()
275 if (rgb->data_sync_bypass) in rockchip_rgb_connector_mode_valid()
539 struct rockchip_rgb *rgb = dev_get_priv(dev); in rockchip_rgb_probe() local
545 rgb->data_sync_bypass = dev_read_bool(dev, "rockchip,data-sync-bypass"); in rockchip_rgb_probe()
548 rgb->funcs = rgb_data->funcs; in rockchip_rgb_probe()
549 if (rgb->data_sync_bypass) in rockchip_rgb_probe()
550 rgb->max_dclk_rate = rgb_data->mcu_max_dclk_rate; in rockchip_rgb_probe()
552 rgb->max_dclk_rate = rgb_data->rgb_max_dclk_rate; in rockchip_rgb_probe()
553 rgb->dclk_delayline = rgb_data->dclk_delayline; in rockchip_rgb_probe()
555 rgb->dev = dev; in rockchip_rgb_probe()
556 rgb->grf = syscon_get_regmap(dev_get_parent(dev)); in rockchip_rgb_probe()
557 rgb->id = of_alias_get_id(ofnode_to_np(dev->node), "rgb"); in rockchip_rgb_probe()
558 if (rgb->id < 0) in rockchip_rgb_probe()
559 rgb->id = 0; in rockchip_rgb_probe()
597 rgb->connector.panel = &mcu_panel->base; in rockchip_rgb_probe()
600 rockchip_connector_bind(&rgb->connector, dev, rgb->id, &rockchip_rgb_connector_funcs, in rockchip_rgb_probe()
606 static void rv1106_rgb_prepare(struct rockchip_rgb *rgb, int pipe) in rv1106_rgb_prepare() argument
608 regmap_write(rgb->grf, RV1106_VENC_GRF_VOP_IO_WRAPPER, in rv1106_rgb_prepare()
609 RV1106_IO_BYPASS_SEL(rgb->data_sync_bypass ? 0x3 : 0x0)); in rv1106_rgb_prepare()
610 regmap_write(rgb->grf, RV1106_VOGRF_VOP_PIPE_BYPASS, in rv1106_rgb_prepare()
611 RV1106_VOP_PIPE_BYPASS(rgb->data_sync_bypass ? 0x3 : 0x0)); in rv1106_rgb_prepare()
624 static void rv1126_rgb_prepare(struct rockchip_rgb *rgb, int pipe) in rv1126_rgb_prepare() argument
626 regmap_write(rgb->grf, RV1126_GRF_IOFUNC_CON3, in rv1126_rgb_prepare()
627 RV1126_LCDC_IO_BYPASS(rgb->data_sync_bypass)); in rv1126_rgb_prepare()
638 static void rv1126b_rgb_prepare(struct rockchip_rgb *rgb, int pipe) in rv1126b_rgb_prepare() argument
640 regmap_write(rgb->grf, RV1126B_GRF_VOP_LCDC_CON, in rv1126b_rgb_prepare()
641 RV1126B_VOP_MCU_SEL(rgb->data_sync_bypass)); in rv1126b_rgb_prepare()
654 static void px30_rgb_prepare(struct rockchip_rgb *rgb, int pipe) in px30_rgb_prepare() argument
656 regmap_write(rgb->grf, PX30_GRF_PD_VO_CON1, PX30_RGB_VOP_SEL(pipe) | in px30_rgb_prepare()
657 PX30_RGB_DATA_SYNC_BYPASS(rgb->data_sync_bypass)); in px30_rgb_prepare()
668 static void rk1808_rgb_prepare(struct rockchip_rgb *rgb, int pipe) in rk1808_rgb_prepare() argument
670 regmap_write(rgb->grf, RK1808_GRF_PD_VO_CON1, in rk1808_rgb_prepare()
671 RK1808_RGB_DATA_SYNC_BYPASS(rgb->data_sync_bypass)); in rk1808_rgb_prepare()
682 static void rk3288_rgb_prepare(struct rockchip_rgb *rgb, int pipe) in rk3288_rgb_prepare() argument
684 regmap_write(rgb->grf, RK3288_GRF_SOC_CON6, RK3288_LVDS_LCDC_SEL(pipe)); in rk3288_rgb_prepare()
685 regmap_write(rgb->grf, RK3288_GRF_SOC_CON7, in rk3288_rgb_prepare()
691 static void rk3288_rgb_unprepare(struct rockchip_rgb *rgb) in rk3288_rgb_unprepare() argument
693 regmap_write(rgb->grf, RK3288_GRF_SOC_CON7, in rk3288_rgb_unprepare()
707 static void rk3368_rgb_prepare(struct rockchip_rgb *rgb, int pipe) in rk3368_rgb_prepare() argument
709 regmap_write(rgb->grf, RK3368_GRF_SOC_CON15, RK3368_FORCE_JETAG(0)); in rk3368_rgb_prepare()
720 static void rk3506_rgb_prepare(struct rockchip_rgb *rgb, int pipe) in rk3506_rgb_prepare() argument
722 regmap_write(rgb->grf, RK3506_GRF_SOC_CON2, in rk3506_rgb_prepare()
723 RK3506_GRF_VOP_DATA_BYPASS(rgb->data_sync_bypass ? 0x3 : 0x0)); in rk3506_rgb_prepare()
736 static void rk3562_rgb_prepare(struct rockchip_rgb *rgb, int pipe) in rk3562_rgb_prepare() argument
738 regmap_write(rgb->grf, RK3562_GRF_IOC_VO_IO_CON, in rk3562_rgb_prepare()
739 RK3562_RGB_DATA_BYPASS(rgb->data_sync_bypass)); in rk3562_rgb_prepare()
750 static void rk3568_rgb_prepare(struct rockchip_rgb *rgb, int pipe) in rk3568_rgb_prepare() argument
752 regmap_write(rgb->grf, RK3568_GRF_VO_CON1, RK3568_RGB_DATA_BYPASS(rgb->data_sync_bypass)); in rk3568_rgb_prepare()
763 static void rk3576_rgb_prepare(struct rockchip_rgb *rgb, int pipe) in rk3576_rgb_prepare() argument
765 regmap_write(rgb->grf, RK3576_VCCIO_IOC_MISC_CON8, in rk3576_rgb_prepare()
766 RK3576_VOP_MCU_SEL(rgb->data_sync_bypass)); in rk3576_rgb_prepare()
767 regmap_write(rgb->grf, RK3576_VCCIO_IOC_MISC_CON8, in rk3576_rgb_prepare()
769 regmap_write(rgb->grf, RK3576_VCCIO_IOC_MISC_CON8, in rk3576_rgb_prepare()
770 RK3576_VOP_DCLK_DELAYLINE(rgb->dclk_delayline)); in rk3576_rgb_prepare()