| .. | .. |
|---|
| 59 | 59 | #define RK3368_LVDS_MSBSEL(x) HIWORD_UPDATE(x, 11, 11) |
|---|
| 60 | 60 | #define RK3368_LVDS_P2S_EN(x) HIWORD_UPDATE(x, 6, 6) |
|---|
| 61 | 61 | |
|---|
| 62 | +#define RK3562_GRF_VO_CON0 0x05d0 |
|---|
| 63 | +#define RK3562_GRF_VO_CON1 0x05d4 |
|---|
| 64 | + |
|---|
| 62 | 65 | #define RK3568_GRF_VO_CON0 0x0360 |
|---|
| 63 | 66 | #define RK3568_LVDS1_SELECT(x) HIWORD_UPDATE(x, 13, 12) |
|---|
| 64 | 67 | #define RK3568_LVDS1_MSBSEL(x) HIWORD_UPDATE(x, 11, 11) |
|---|
| .. | .. |
|---|
| 307 | 310 | .disable = rk3368_lvds_disable, |
|---|
| 308 | 311 | }; |
|---|
| 309 | 312 | |
|---|
| 313 | +static void rk3562_lvds_enable(struct rockchip_lvds *lvds, int pipe) |
|---|
| 314 | +{ |
|---|
| 315 | + regmap_write(lvds->grf, RK3562_GRF_VO_CON1, |
|---|
| 316 | + RK3568_LVDS0_MODE_EN(1) | RK3568_LVDS0_P2S_EN(1) | |
|---|
| 317 | + RK3568_LVDS0_DCLK_INV_SEL(1)); |
|---|
| 318 | + regmap_write(lvds->grf, RK3562_GRF_VO_CON0, |
|---|
| 319 | + RK3568_LVDS0_SELECT(lvds->format) | RK3568_LVDS0_MSBSEL(1)); |
|---|
| 320 | +} |
|---|
| 321 | + |
|---|
| 322 | +static void rk3562_lvds_disable(struct rockchip_lvds *lvds) |
|---|
| 323 | +{ |
|---|
| 324 | + regmap_write(lvds->grf, RK3562_GRF_VO_CON1, RK3568_LVDS0_MODE_EN(0)); |
|---|
| 325 | +} |
|---|
| 326 | + |
|---|
| 327 | +static const struct rockchip_lvds_funcs rk3562_lvds_funcs = { |
|---|
| 328 | + .enable = rk3562_lvds_enable, |
|---|
| 329 | + .disable = rk3562_lvds_disable, |
|---|
| 330 | +}; |
|---|
| 331 | + |
|---|
| 310 | 332 | static void rk3568_lvds_enable(struct rockchip_lvds *lvds, int pipe) |
|---|
| 311 | 333 | { |
|---|
| 312 | 334 | regmap_write(lvds->grf, RK3568_GRF_VO_CON2, |
|---|
| .. | .. |
|---|
| 344 | 366 | .data = (ulong)&rk3368_lvds_funcs, |
|---|
| 345 | 367 | }, |
|---|
| 346 | 368 | { |
|---|
| 369 | + .compatible = "rockchip,rk3562-lvds", |
|---|
| 370 | + .data = (ulong)&rk3562_lvds_funcs, |
|---|
| 371 | + }, |
|---|
| 372 | + { |
|---|
| 347 | 373 | .compatible = "rockchip,rk3568-lvds", |
|---|
| 348 | 374 | .data = (ulong)&rk3568_lvds_funcs, |
|---|
| 349 | 375 | }, |
|---|