Two axi bus:
AXI0 is a read/write bus with a higher performance.
AXI1 is a read only bus.
Every window on a AXI bus must assigned two unique
read id(yrgb_id/uv_id, valid id are 0x1~0xe).
Signed-off-by: Andy Yan <andy.yan@rock-chips.com>
Change-Id: I867df219797da33f89fec6fba639bcdf55cb54b3
This bit has a hide founction for height/low bit swap,
And should not be touched.
Signed-off-by: Andy Yan <andy.yan@rock-chips.com>
Change-Id: I8ce2caddebdf87edbd75cc1fe4460699e7d9ca89
Video_Pixclk = edp_pixclk x K = edp_dclk x K = dclk_core x 4;
K = 2 for SPLIT, other condition is 1.
Signed-off-by: Andy Yan <andy.yan@rock-chips.com>
Change-Id: I8e6f3e32bd1c214bfe46cc3f37dd813af8901839
This patch adds support for Analogix eDP TX IP used on RK3588 SoC.
Signed-off-by: Wyon Bi <bivvy.bi@rock-chips.com>
Change-Id: I362489fb294673512b6de1913aa2e0b855a98926
This is required by android hwc for dev/dri/card128.
Change-Id: Ia0159b877f7d8b2bb5cecf3b352b67d9c76c7c97
Signed-off-by: Mark Yao <mark.yao@rock-chips.com>
Signed-off-by: Sandy Huang <hjc@rock-chips.com>
Just print out POST_BUF_EMPTY_INT err irq if it happened.
Signed-off-by: Andy Yan <andy.yan@rock-chips.com>
Change-Id: Ia1d3747c94d432ca8451f38e10d32a82bbf7b958
On RK3568: this bit is Auto gating enable
on RK3588: this bit is gating disable(we must set it to 1 when afbc
enable)
Signed-off-by: Andy Yan <andy.yan@rock-chips.com>
Change-Id: If689c587c6df9e1e8c6ff670d30e62c53b621194
RK3588 VOP2 has power gates for VP0/1/2/3, DB0/1/2
and WB.
Signed-off-by: Andy Yan <andy.yan@rock-chips.com>
Change-Id: Ie3d67aa804282834949d6950470ba960ea51fcdb
Add property to transfer next hdr sink data to userspace.
Signed-off-by: Algea Cao <algea.cao@rock-chips.com>
Change-Id: I926ec6553bdb0b1730a7ca578f46f36926860ebd
To be compatible with GKI, we parse the edid next hdr information
in rockchup-drm driver.
Signed-off-by: Algea Cao <algea.cao@rock-chips.com>
Change-Id: Id6fd8f2d8429b07472c6562c223ae84262952e8d
To support the rk3588 dsc function, add get edid dsc
info interface.
Signed-off-by: Algea Cao <algea.cao@rock-chips.com>
Change-Id: I33cc4b60183484e7cd15b519cec4c32d7be53deb
To be compatible with GKI, we parse the edid dsc information
in rockchup-drm driver.
Signed-off-by: Algea Cao <algea.cao@rock-chips.com>
Change-Id: I2f2cc9e9fe8578865975e1631450dbbc723ce08e
VOP has a limitation of act_width on rk3568:
(1) The act_width should align as 4 pixel at afbc mode
(2) can't handle a act_width % 16 = 1
VOP on rk3588 has no such limitation.
Signed-off-by: Andy Yan <andy.yan@rock-chips.com>
Change-Id: I56f2ff32ac384bff81b6b911cd10ef599e5f44c3
We should set both VP->DUAL_CHANNEL_CTRL.dual_channel_en
and DSP_INTERFACE_EN.mipi_dual_channel_en when drive
a dual channel mipi dsi on rk3588, this is different
from rk356x.
Signed-off-by: Andy Yan <andy.yan@rock-chips.com>
Change-Id: I784f9556903126bae52b3063eb23fbf0a0193739
When cluster work at two win mode:
act_w + xoffset % 16 <= 2048
Signed-off-by: Andy Yan <andy.yan@rock-chips.com>
Change-Id: I1326b02ede58b9a96960ad0d262cb1665bd29525
Some clk invert(dclk invert) control in SYS_GRF
Some interface enable(hdmi/edp enable) control in VOP_GRF
hdmi_vsync/hsync_pol control in VO1_GRF
Signed-off-by: Andy Yan <andy.yan@rock-chips.com>
Change-Id: Ia3972c9d207c9385b4512c96ea8e2d66e8fa03d5
HDMI/eDP/DP on RK3588 also support dual channel mode
like mipi dsi.
Signed-off-by: Andy Yan <andy.yan@rock-chips.com>
Change-Id: I06454d3c64bc6a283d180c57fac6e8464ff6ca19
RK3588 VOP should enable DataStream mode when mipi dsi
work at cmd mode, this is different from rk356x.
Change-Id: I770f98dd78d12e4b1a6411f0b1ffb9572dda62a4
Signed-off-by: Andy Yan <andy.yan@rock-chips.com>
Signed-off-by: Sandy Huang <hjc@rock-chips.com>
Cluster window only support rotation(x/ymirror, rotation90/270)
at afbc mode.
Signed-off-by: Andy Yan <andy.yan@rock-chips.com>
Change-Id: I6439a59793f724bd5d0e643c2d02486cce733165
The port mux configuration of two mipi dsi hosts on rk3588 break
the direct mapping rules used on other soc and other connector
interfaces. We need add a translation here.
Signed-off-by: Andy Yan <andy.yan@rock-chips.com>
Change-Id: If3d6ae26c685e40e00e8c783b28856be3ec2d524
1. add overscan feature to indicate rk3588 can't support overscan;
2. add more feature info for rk3588;
3. fix some feature character error;
Signed-off-by: Sandy Huang <hjc@rock-chips.com>
Change-Id: I708e506db87c36078453232530bfb4d78e779010
Including modifications under drivers/base/ from the new DDK.
Resolve lots of conflicts.
Fix compilation errors when CONFIG_DEBUG_FS is disabled.
Change-Id: I69f9ac87d927441d0b92b8dac8b704922aeb6a0a
Signed-off-by: Zhen Chen <chenzhen@rock-chips.com>
Include a new directory include/uapi/gpu/arm/bifrost/,
which includes some header files of bifrost device driver.
In the original part of g6, the path is include/uapi/gpu/arm/midgard/.
I changed the "midgard" to "bifrost", and modified the paths of the header files in .c files.
I resolved some conflicts between modifications form ARM and RK, manually.
In addition, introduce source files of protected_memory_allocator
that might be needed by bifrost_device_driver into build system.
Further more, to avoid errors when building in GKI mode,
add "WITH Linux-syscall-note" to SPDX tag of uapi headers.
Change-Id: I09d500a0fdbc5da352c81dc4fcfbffb5b7f907f5
Signed-off-by: Zhen Chen <chenzhen@rock-chips.com>
There are 7 internal power domains on rk3588 vop:
Cluster0/1/2/3 each have one, and Cluster0 power domain act
as parent pd of Cluster1/2/3.
Esmart0/1/2/3 share on pd.
DSC_8K/DSC_4K each have one.
Signed-off-by: Andy Yan <andy.yan@rock-chips.com>
Change-Id: If2c3c79980d2690761d12e64a486aca9be992e4b
A new helper function(__drm_atomic_helper_plane_reset) has been added
for linking a plane with its state and resetting the core
properties(alpha, rotation, etc.) to their default values.
Use that instead of duplicating the logic.
Signed-off-by: Andy Yan <andy.yan@rock-chips.com>
Change-Id: I3219f6ee0eef49c59277c84ea6efc72ae4a90ef9
A new helper function(__drm_atomic_helper_plane_reset) has been added
for linking a plane with its state and resetting the core
properties(alpha, rotation, etc.) to their default values.
Use that instead of duplicating the logic.
Signed-off-by: Andy Yan <andy.yan@rock-chips.com>
Change-Id: Ic9db9e9d6eee32796899fceba4df7cbf1eaaf5f6