Lines Matching full:rgb

63 	void (*prepare)(struct rockchip_rgb *rgb, int pipe);
64 void (*unprepare)(struct rockchip_rgb *rgb);
138 struct rockchip_rgb *rgb = dev_get_priv(conn->dev); in rockchip_rgb_connector_prepare() local
143 pinctrl_select_state(rgb->dev, "default"); in rockchip_rgb_connector_prepare()
145 if (rgb->funcs && rgb->funcs->prepare) in rockchip_rgb_connector_prepare()
146 rgb->funcs->prepare(rgb, pipe); in rockchip_rgb_connector_prepare()
148 if (rgb->phy) { in rockchip_rgb_connector_prepare()
149 ret = rockchip_phy_set_mode(rgb->phy, PHY_MODE_VIDEO_TTL); in rockchip_rgb_connector_prepare()
151 dev_err(rgb->dev, "failed to set phy mode: %d\n", ret); in rockchip_rgb_connector_prepare()
155 rockchip_phy_power_on(rgb->phy); in rockchip_rgb_connector_prepare()
164 struct rockchip_rgb *rgb = dev_get_priv(conn->dev); in rockchip_rgb_connector_unprepare() local
166 if (rgb->phy) in rockchip_rgb_connector_unprepare()
167 rockchip_phy_power_off(rgb->phy); in rockchip_rgb_connector_unprepare()
169 if (rgb->funcs && rgb->funcs->unprepare) in rockchip_rgb_connector_unprepare()
170 rgb->funcs->unprepare(rgb); in rockchip_rgb_connector_unprepare()
172 pinctrl_select_state(rgb->dev, "sleep"); in rockchip_rgb_connector_unprepare()
177 struct rockchip_rgb *rgb = dev_get_priv(conn->dev); in rockchip_rgb_connector_init() local
180 rgb->phy = conn->phy; in rockchip_rgb_connector_init()
183 conn_state->disp_info = rockchip_get_disp_info(conn_state->type, rgb->id); in rockchip_rgb_connector_init()
481 struct rockchip_rgb *rgb = dev_get_priv(dev); in rockchip_rgb_probe() local
487 rgb->dev = dev; in rockchip_rgb_probe()
488 rgb->funcs = (const struct rockchip_rgb_funcs *)dev_get_driver_data(dev); in rockchip_rgb_probe()
491 rgb->grf = syscon_get_regmap(syscon); in rockchip_rgb_probe()
492 rgb->data_sync_bypass = dev_read_bool(dev, "rockchip,data-sync-bypass"); in rockchip_rgb_probe()
493 rgb->id = of_alias_get_id(ofnode_to_np(dev->node), "rgb"); in rockchip_rgb_probe()
494 if (rgb->id < 0) in rockchip_rgb_probe()
495 rgb->id = 0; in rockchip_rgb_probe()
533 rgb->connector.panel = &mcu_panel->base; in rockchip_rgb_probe()
536 rockchip_connector_bind(&rgb->connector, dev, rgb->id, &rockchip_rgb_connector_funcs, in rockchip_rgb_probe()
542 static void rv1106_rgb_prepare(struct rockchip_rgb *rgb, int pipe) in rv1106_rgb_prepare() argument
544 regmap_write(rgb->grf, RV1106_VENC_GRF_VOP_IO_WRAPPER, in rv1106_rgb_prepare()
545 RV1106_IO_BYPASS_SEL(rgb->data_sync_bypass ? 0x3 : 0x0)); in rv1106_rgb_prepare()
546 regmap_write(rgb->grf, RV1106_VOGRF_VOP_PIPE_BYPASS, in rv1106_rgb_prepare()
547 RV1106_VOP_PIPE_BYPASS(rgb->data_sync_bypass ? 0x3 : 0x0)); in rv1106_rgb_prepare()
554 static void rv1126_rgb_prepare(struct rockchip_rgb *rgb, int pipe) in rv1126_rgb_prepare() argument
556 regmap_write(rgb->grf, RV1126_GRF_IOFUNC_CON3, in rv1126_rgb_prepare()
557 RV1126_LCDC_IO_BYPASS(rgb->data_sync_bypass)); in rv1126_rgb_prepare()
564 static void px30_rgb_prepare(struct rockchip_rgb *rgb, int pipe) in px30_rgb_prepare() argument
566 regmap_write(rgb->grf, PX30_GRF_PD_VO_CON1, PX30_RGB_VOP_SEL(pipe) | in px30_rgb_prepare()
567 PX30_RGB_DATA_SYNC_BYPASS(rgb->data_sync_bypass)); in px30_rgb_prepare()
574 static void rk1808_rgb_prepare(struct rockchip_rgb *rgb, int pipe) in rk1808_rgb_prepare() argument
576 regmap_write(rgb->grf, RK1808_GRF_PD_VO_CON1, in rk1808_rgb_prepare()
577 RK1808_RGB_DATA_SYNC_BYPASS(rgb->data_sync_bypass)); in rk1808_rgb_prepare()
584 static void rk3288_rgb_prepare(struct rockchip_rgb *rgb, int pipe) in rk3288_rgb_prepare() argument
586 regmap_write(rgb->grf, RK3288_GRF_SOC_CON6, RK3288_LVDS_LCDC_SEL(pipe)); in rk3288_rgb_prepare()
587 regmap_write(rgb->grf, RK3288_GRF_SOC_CON7, in rk3288_rgb_prepare()
593 static void rk3288_rgb_unprepare(struct rockchip_rgb *rgb) in rk3288_rgb_unprepare() argument
595 regmap_write(rgb->grf, RK3288_GRF_SOC_CON7, in rk3288_rgb_unprepare()
605 static void rk3368_rgb_prepare(struct rockchip_rgb *rgb, int pipe) in rk3368_rgb_prepare() argument
607 regmap_write(rgb->grf, RK3368_GRF_SOC_CON15, RK3368_FORCE_JETAG(0)); in rk3368_rgb_prepare()
614 static void rk3562_rgb_prepare(struct rockchip_rgb *rgb, int pipe) in rk3562_rgb_prepare() argument
616 regmap_write(rgb->grf, RK3562_GRF_IOC_VO_IO_CON, in rk3562_rgb_prepare()
617 RK3562_RGB_DATA_BYPASS(rgb->data_sync_bypass)); in rk3562_rgb_prepare()
624 static void rk3568_rgb_prepare(struct rockchip_rgb *rgb, int pipe) in rk3568_rgb_prepare() argument
626 regmap_write(rgb->grf, RK3568_GRF_VO_CON1, RK3568_RGB_DATA_BYPASS(rgb->data_sync_bypass)); in rk3568_rgb_prepare()
635 .compatible = "rockchip,px30-rgb",
639 .compatible = "rockchip,rk1808-rgb",
643 .compatible = "rockchip,rk3066-rgb",
646 .compatible = "rockchip,rk3128-rgb",
649 .compatible = "rockchip,rk3288-rgb",
653 .compatible = "rockchip,rk3308-rgb",
656 .compatible = "rockchip,rk3368-rgb",
660 .compatible = "rockchip,rk3562-rgb",
664 .compatible = "rockchip,rk3568-rgb",
668 .compatible = "rockchip,rv1106-rgb",
672 .compatible = "rockchip,rv1108-rgb",
675 .compatible = "rockchip,rv1126-rgb",