mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-09 04:10:18 +09:00
drm/rockchip: rk3288 vop: identify vop lit and vop big
most of rk3288 vop lit is same with vop big, but some feature is different, just like max output resolution. vop big max output: 3840*2160 vop lit max ougput: 2560*1600 Change-Id: Ie926ed29c9d23159ccf3dd5c3e885e48a21731cb Signed-off-by: Sandy Huang <hjc@rock-chips.com>
This commit is contained in:
@@ -9,9 +9,10 @@ Required properties:
|
||||
"rockchip,rk3036-vop";
|
||||
"rockchip,rk3066-vop";
|
||||
"rockchip,rk3126-vop";
|
||||
"rockchip,px30-vop-lit";
|
||||
"rockchip,px30-vop-big";
|
||||
"rockchip,rk3288-vop";
|
||||
"rockchip,px30-vop-lit";
|
||||
"rockchip,rk3288-vop-lit";
|
||||
"rockchip,rk3288-vop-big";
|
||||
"rockchip,rk3368-vop";
|
||||
"rockchip,rk3366-vop";
|
||||
"rockchip,rk3366-vop-lit";
|
||||
|
||||
@@ -1255,7 +1255,7 @@
|
||||
};
|
||||
|
||||
vopb: vop@ff930000 {
|
||||
compatible = "rockchip,rk3288-vop";
|
||||
compatible = "rockchip,rk3288-vop-big";
|
||||
reg = <0x0 0xff930000 0x0 0x19c>, <0x0 0xff931000 0x0 0x1000>;
|
||||
reg-names = "regs", "gamma_lut";
|
||||
interrupts = <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>;
|
||||
@@ -1311,7 +1311,7 @@
|
||||
};
|
||||
|
||||
vopl: vop@ff940000 {
|
||||
compatible = "rockchip,rk3288-vop";
|
||||
compatible = "rockchip,rk3288-vop-lit";
|
||||
reg = <0x0 0xff940000 0x0 0x19c>, <0x0 0xff941000 0x0 0x1000>;
|
||||
reg-names = "regs", "gamma_lut";
|
||||
interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>;
|
||||
|
||||
@@ -317,15 +317,10 @@ static const struct vop_intr rk3288_vop_intr = {
|
||||
.clear = VOP_REG(RK3288_INTR_CTRL0, 0xf, 8),
|
||||
};
|
||||
|
||||
static const struct vop_data rk3288_vop = {
|
||||
static const struct vop_data rk3288_vop_big = {
|
||||
.version = VOP_VERSION(3, 0),
|
||||
.feature = VOP_FEATURE_OUTPUT_10BIT,
|
||||
.max_input = {4096, 8192},
|
||||
/*
|
||||
* TODO: rk3288 have two vop, big one support 3840x2160,
|
||||
* little one only support 2560x1600.
|
||||
* Now force use 3840x2160.
|
||||
*/
|
||||
.max_output = {3840, 2160},
|
||||
.intr = &rk3288_vop_intr,
|
||||
.ctrl = &rk3288_ctrl_data,
|
||||
@@ -333,6 +328,17 @@ static const struct vop_data rk3288_vop = {
|
||||
.win_size = ARRAY_SIZE(rk3288_vop_win_data),
|
||||
};
|
||||
|
||||
static const struct vop_data rk3288_vop_lit = {
|
||||
.version = VOP_VERSION(3, 0),
|
||||
.feature = VOP_FEATURE_OUTPUT_10BIT,
|
||||
.max_input = {4096, 8192},
|
||||
.max_output = {2560, 1600},
|
||||
.intr = &rk3288_vop_intr,
|
||||
.ctrl = &rk3288_ctrl_data,
|
||||
.win = rk3288_vop_win_data,
|
||||
.win_size = ARRAY_SIZE(rk3288_vop_win_data),
|
||||
};
|
||||
|
||||
static const int rk3368_vop_intrs[] = {
|
||||
FS_INTR,
|
||||
FS_NEW_INTR,
|
||||
@@ -1540,8 +1546,10 @@ static const struct of_device_id vop_driver_dt_match[] = {
|
||||
.data = &px30_vop_lit },
|
||||
{ .compatible = "rockchip,px30-vop-big",
|
||||
.data = &px30_vop_big },
|
||||
{ .compatible = "rockchip,rk3288-vop",
|
||||
.data = &rk3288_vop },
|
||||
{ .compatible = "rockchip,rk3288-vop-big",
|
||||
.data = &rk3288_vop_big },
|
||||
{ .compatible = "rockchip,rk3288-vop-lit",
|
||||
.data = &rk3288_vop_lit },
|
||||
{ .compatible = "rockchip,rk3368-vop",
|
||||
.data = &rk3368_vop },
|
||||
{ .compatible = "rockchip,rk3366-vop",
|
||||
|
||||
Reference in New Issue
Block a user