hc
2024-01-03 2f7c68cb55ecb7331f2381deb497c27155f32faf
kernel/drivers/mfd/rkx110_x120/rkx110.c
....@@ -15,21 +15,30 @@
1515 .base = RKX110_PATTERN_GEN_DSI0_BASE,
1616 .link_src_reg = SER_GRF_SOC_CON4,
1717 .link_src_offset = 12,
18
+ .type = RK_SERDES_DSI_RX0,
1819 }, {
1920 .name = "dsi1",
2021 .base = RKX110_PATTERN_GEN_DSI1_BASE,
2122 .link_src_reg = SER_GRF_SOC_CON4,
2223 .link_src_offset = 13,
24
+ .type = RK_SERDES_DSI_RX1,
25
+ }, {
26
+ .name = "dual-lvds",
27
+ .link_src_reg = SER_GRF_SOC_CON1,
28
+ .link_src_offset = 14,
29
+ .type = RK_SERDES_DUAL_LVDS_RX,
2330 }, {
2431 .name = "lvds0",
2532 .base = RKX110_PATTERN_GEN_LVDS0_BASE,
2633 .link_src_reg = SER_GRF_SOC_CON4,
2734 .link_src_offset = 14,
35
+ .type = RK_SERDES_LVDS_RX0,
2836 }, {
2937 .name = "lvds1",
3038 .base = RKX110_PATTERN_GEN_LVDS1_BASE,
3139 .link_src_reg = SER_GRF_SOC_CON4,
3240 .link_src_offset = 15,
41
+ .type = RK_SERDES_LVDS_RX1,
3342 },
3443 { /* sentinel */ }
3544 };
....@@ -295,9 +304,11 @@
295304
296305 int rkx110_lvds_rx_enable(struct rk_serdes *serdes, struct rk_serdes_route *route, int id)
297306 {
298
- rkx110_combrxphy_set_mode(serdes, COMBRX_PHY_MODE_VIDEO_LVDS);
307
+ struct rk_serdes_panel *sd_panel = container_of(route, struct rk_serdes_panel, route);
308
+ struct rkx110_combrxphy *combrxphy = &sd_panel->combrxphy;
299309
300
- rkx110_combrxphy_power_on(serdes, id ? COMBPHY_1 : COMBPHY_0);
310
+ rkx110_combrxphy_set_mode(combrxphy, COMBRX_PHY_MODE_VIDEO_LVDS);
311
+ rkx110_combrxphy_power_on(serdes, combrxphy, DEVICE_LOCAL, id ? COMBPHY_1 : COMBPHY_0);
301312
302313 return 0;
303314 }