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
Add compatible string for Rk3528 gmac, and constrain it to
be compatible with Synopsys dwmac 4.20a.
Signed-off-by: David Wu <david.wu@rock-chips.com>
Change-Id: I63d79df0812b5d2a40664aadc1ae36e6b2f9534a
Add constants and callback functions for the dwmac on RK3528 Soc.
As can be seen, the base structure is the same. In addition, there
is an internal phy inside with Gmac0.
Signed-off-by: David Wu <david.wu@rock-chips.com>
Change-Id: I8a69a1239ed3ae91bfe44c96287210da758f9cf9
Use a common interface to implement power up/dowm for FEPHY,
which we could reduce codes.
Signed-off-by: David Wu <david.wu@rock-chips.com>
Change-Id: Ia7b42862abb20ea7395d6dad021621c8e1ededb9
This patch enable SAI which act as I2S/PCM/TDM, and much more
flexible protocol.
Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com>
Change-Id: Ie1295825040ebbd9dd3848ed1c961f616e52a60f
This patch enable SAI which act as I2S/PCM/TDM, and much more
flexible protocol.
Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com>
Change-Id: I14b5f0ba183dddfdb97cf3365057e08201487d7c
Set dma maxburst per FIFO waterlevel for better performance
on high bit-rate situation, such as 192k 8ch 32bit situation.
Change-Id: Ida94609185b97c31bbfbb02ed65961c90f3d30f3
Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com>
This patch allow driver to set lanes auto depends on
common-use format, such as I2S, DSP_A, DSP_B etc.
And allow user to select lanes manually as required,
such as TDM32 x 4
Change-Id: If6adb2bded38faa3462c52286602506f991cc0e5
Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com>
This patch add the lost registers into W/R/V filter.
Change-Id: Ia731f261554ddecc846f80b3c13dbf2d7b009f12
Signed-off-by: Sugar Zhang <sugar.zhang@rock-chips.com>
The xHCI specification 1.1 does not require xHCI-compliant
controllers to always enable hardware USB2 LPM. However,
the current xHCI driver always enable it when seeing HLC=1.
On rv1106 platforms, the xHCI USB2 LPM is enabled by default.
And we found that a lot of USB Disks have USB2 HW LPM broken
issue when connected to rv1106 USB2 OTG interface.
Here are a part of special USB Disks with USB2 HW LPM broken:
1. idVendor=325d, idProduct=6410, Manufacturer: aigo
2. idVendor=21c4, idProduct=0cd1, Manufacturer: Lexar
3. idVendor=0951, idProduct=1666, Manufacturer: Kingston
When use dd command to write to these USB Disks, it may fail
with the following log:
[ 2844.700148] usb 7-1: reset high-speed USB device number 4 using xhci-hcd
[ 2889.072272] usb 7-1: reset high-speed USB device number 4 using xhci-hcd
[ 2921.498045] usb 7-1: reset high-speed USB device number 4 using xhci-hcd
......
[ 2953.923773] usb 7-1: reset high-speed USB device number 4 using xhci-hcd
Theoretically, we can add USB_QUIRK_NO_LPM individually for
these special USB Disks, however, it's difficult to cover all
USB Disks. So it's better to disable the USB2 LPM for xHCI
on rv1126 platforms.
Change-Id: Ideafe2ecf91fe3013825a064631509eecdad0254
Signed-off-by: William Wu <william.wu@rock-chips.com>
clk_get_rate()/regulator_get_voltage() maybe not useable when panic.
This reverts commit bc2d913a39.
Change-Id: I127a24cb596e459f9f608a5e2847b41530062758