Add a hdcp drm property for userspace to get hdcp encrypted
status.
Signed-off-by: Zhang Yubing <yubing.zhang@rock-chips.com>
Change-Id: I9ce516215ff51b389f2ebc72e4939e722aa1aede
clk_dp0 and clk_dp1 need enable when dp controller
enable the hdcp 2.2 function.
Signed-off-by: Zhang Yubing <yubing.zhang@rock-chips.com>
Change-Id: I9a61f187c1132b10d55bc62a3f7624705eafbca3
ksys_close depends on __close_fd which is disabled in ABI.
Signed-off-by: Lin Jinhan <troy.lin@rock-chips.com>
Change-Id: I6ce61664f827699012ec16f19abb8461bb8f1acf
1. set DLL_CMDOUT_BOTH_CLK_EDGE.
2. Set RK_RXCLK_NO_INVERTER for hs200 and hs400.
3. Set the default cmd dll tap value to 05 for hs400.
4. Set strbin tap to 3 for hs400.
5. add execute_tuning api.
Signed-off-by: Yifeng Zhao <yifeng.zhao@rock-chips.com>
Change-Id: I911d0bbfd8e9c35cb35bd47f4b3abc1bede60c55
elan_5515 support three methods to get fwdata.
1.FROM_SYS_ETC_FIRMWARE :/vendor/etc/firmware/elants_i2c.ekt
2.FROM_SDCARD_FIRMWARE: /data/local/tmp/elants_i2c.ekt
3.FROM_DRIVER_FIRMWARE: in driver code directory *.i
choose NO.1.
Signed-off-by: Wangqiang Guo <kay.guo@rock-chips.com>
Change-Id: I9beada23a1abde4995df243f9cce9423f23ab69c
The redundant kref_get for the abort task will cause the task to fail to
free.
Signed-off-by: Yandong Lin <yandong.lin@rock-chips.com>
Change-Id: I8e9fa2ab75c460988c55022e15eb2f6ff55a7ada
Alternating playback of S16_LE and S32_LE audio
may cause the channel order to be reversed.
It need to clear MCLK domain logic before setting Fmclk/Fsdo.
Change-Id: I7cbfa01f5136b8815e5e2c6dc5dcda28ce49d13a
Signed-off-by: Zohn Ni <zohn.ni@rock-chips.com>
The cs inactive interrupt status is effective in both irq and dma
transmission processes.
Change-Id: I6581e8dd74f70aa1c69b888a4acae7c03351b4fd
Signed-off-by: Jon Lin <jon.lin@rock-chips.com>
1. The layout of controller registers has changed, remove legacy config;
2. Using the default value for grf register;
3. sync to use rk3568 parameter for phy PLL, signal test pass
4. Add 24MHz refclk for rk3528 PCIe, Enable the counting clock of the
rterm detect by setting tx_trim[14] bit for rx detecting.
5. set SSC modulation frequency to 31.5KHz
Change-Id: I45742c416d452037e61b7a7b8765269931d56402
Signed-off-by: Jon Lin <jon.lin@rock-chips.com>
Signed-off-by: Jianwei Zheng <jianwei.zheng@rock-chips.com>
This patch set the linestate filter time to support wakeup for
rk3528. Different from other platforms, Both the otg port and
host port have linestate_filter_con register, so we need to set
them separately.
Signed-off-by: Jianwei Zheng <jianwei.zheng@rock-chips.com>
Change-Id: I4a78dccbdb73c48436876b72e106a2eb608ea99d
This patch add usb2 phy support for rk3528 and modified the
rk3568_vbus_detect_control as a universal interface due to
more and more platforms may use this interface in the future.
Usb2 phy also has one different design for rk3528. It doesn't
has commonon control bit, we found that there is a phy inner
debug register which can control the pll out. So we can use
this register to support phy pll control for rk3528.
Add usb2 phy tuning for rk3528:
1. Turn off differential receiver in suspend mode for
the otg and host port to save power consumption.
2. Choose the Tx fs/ls data as linestate from TX driver
for otg port which uses dwc3 controller to improve
fs/ls devices compatibility with long cable.
3. Enable both the otg and host ports phy irq to pmu
wakeup source.
4. Set HS eye-height to 400mV for rk3528
Signed-off-by: Jianwei Zheng <jianwei.zheng@rock-chips.com>
Change-Id: Ia4a861bccd6a37db4e1ba42cede66a6b07947b5d
The cs inactive logic can always be triggered when the controller
is working, so the interrupt may be triggered when processing the
dma transmission completion interrupt.
Change-Id: I529140e43125ff3a06da67604a17afb585aafd72
Signed-off-by: Jon Lin <jon.lin@rock-chips.com>
The SPI_SR->busy is invalid for SPI slave write with ip version
ROCKCHIP_SPI_VER2_TYPE2.
Change-Id: Ib5d04a1a7859d7d47e5162f1db58f110dda8bad4
Signed-off-by: Jon Lin <jon.lin@rock-chips.com>
There are many restrictions on the use of the foresee devices Program
Load Random Data (84H), for example it's not allow after a block erase.
Change-Id: I345757016aa9b4c70b6cd5cca54f49166bb9dd99
Signed-off-by: Jon Lin <jon.lin@rock-chips.com>
VOP will triggle DMC at the following condition:
wb_en && wb_dma_finish && (vp lineflag || vp post full)
Signed-off-by: Sandy Huang <hjc@rock-chips.com>
Change-Id: I2ec972d74f7c8eab0088fcd96dc394e0d554020e
For compatibility with gki, dw-hdmi use callback
function instead of direct call dw-hdmi-cec wake up function.
Signed-off-by: Algea Cao <algea.cao@rock-chips.com>
Change-Id: I06fb65eadead5e3395bbd69a4dd465c95c684494
If the hdmi is plug out during the kernel logo phase and
hwc is not initialized, the hpd event cannot be received,
hdmi will not be disabled. Even if the hdmi is plugged in,
it will not actually be reinitialized, resulting in no signal output.
In this status, kernel must set mode_changed flag to true that
disable/enable hdmi when hwc enable hdmi.
Signed-off-by: Algea Cao <algea.cao@rock-chips.com>
Change-Id: I6aa0e8d7c3126b329d591de82a8fb91ec3f67f70
Kernel 4.19 edid parse process does not add picture_aspect_ratio
for HDMI 1.4 4K modes. This does not match uboot next-dev, that
will cause kernel logo display error.
Signed-off-by: Algea Cao <algea.cao@rock-chips.com>
Change-Id: I1b81f9b9c30ed86e671e2aa8b4a3d498e07c9410
When the frequency before and after color switching is the
same, the resolution switching process is not performed.
Instead, go through the following process:
connector atomic check--->set avmute--->config hdmi controller
-->config vop-->connector atomic commit-->clear avmute.
This way the HDMI output will not be interrupted, the black
screen time will be shorter, and the user experience will be
better.
Signed-off-by: Algea Cao <algea.cao@rock-chips.com>
Change-Id: If2d0d9d21c2c343cd8e2b5135b214bc1a6f6706c
In order to switch HDR/SDR output status without
enable/disable CRTC, VOP color config should be
done in atomic_flush.
Signed-off-by: Algea Cao <algea.cao@rock-chips.com>
Change-Id: Ic8baee19e41ac7379699bbca21667be00e7e5934
In order to achieve seamless HDR switching, avmute
must be unmuted after VOP atomic flush. So we
introduce connector commit.
Signed-off-by: Algea Cao <algea.cao@rock-chips.com>
Change-Id: Ibf11da67c4388f50d8fa34aa5b4902a45ef89f6f
Support system wake up if hpd pin gpio irq occur when hdmi plug in.
Signed-off-by: Algea Cao <algea.cao@rock-chips.com>
Change-Id: I5a3896e8b1b86bccbda6681db26ab4285e3eec72
If cec in standby status, cec wake up interrupt will be
triggered when specific cec message is received.
Then input power key event to wake up system.
Signed-off-by: Algea Cao <algea.cao@rock-chips.com>
Change-Id: I91b4482ab78f91e5e9df66fa8384e118b08f35a2
1.Add support rgb bt2020 color space output.
2.Set AVI YQ to limited range.
Signed-off-by: Algea Cao <algea.cao@rock-chips.com>
Change-Id: I0a7d1ecbf2ab002328c8e6bcb115753e17e4bbb9
RK3528 hdmi hpd 5v io is always being pulled down.
This workaround is set hpd 5v io to gpio function and
receive hpd signal from sink.
When hpd status is changed, gpio interrupt will trigger,
then set the hdmi_snk_det reg to change the hpd status of
the hdmi controller. Finally trigger the hpd interrupt
of the hdmi controller.
Signed-off-by: Algea Cao <algea.cao@rock-chips.com>
Change-Id: Iac5140a09d3dda172f0125a25dbc8b281c8e0fa5