96MHz is for 6M baudrate, 128MHz is for 8M baudrate
Change-Id: I292240b1dcca3f358393b28ec52051fd67ecba19
Signed-off-by: Huibin Hong <huibin.hong@rock-chips.com>
The timing of YUV420 at the same resolution is different from other
color formats. Therefore, if timing switch of vop is later than the
switching process of hdmi, hdmi timing will be abnormal.
In hdmi frl mode, input ipi clk is different from output link clk
frequency, which makes it difficult to restore after the timing
error.
Therefore, it is necessary to ensure that the output mode of
vop is switched before hdmi switch to ensure the correct timing
Change-Id: I4633670f13a28975eb37a68ad597956d87a159c3
Signed-off-by: Algea Cao <algea.cao@rock-chips.com>
Before this commit, we use max_output.width to filter unsupported resolution,
but just like rk3576 vp0 can support 4k120 but can't support 4k144hz, so
we add max dclk to filer this resolution.
Signed-off-by: Sandy Huang <hjc@rock-chips.com>
Change-Id: I44e8b7db33ca426226afb2137b2643ae09b97425
Disable cluster afbc when close cluster is a reasonable operation,
but for some design reasons, this will lead to VOP iommu pagefault at rk356x,
so we keep it always on at rk356x.
Fixes: 8379fd7555 ("drm/rockchip: vop2: add support rk3576")
Signed-off-by: Sandy Huang <hjc@rock-chips.com>
Change-Id: I9931da7f45171161b46fb46ab6b8e1e377debab0
The VU24 format can described both linear and nonlinear formats,
At rk3576:
Esmart can support linear VU24 format;
Cluster can support nonlinear VU24 format[RFBC].
The IC design linear VU24 format reuses the logic of RB24 format, so need to do
some special swap and force enable y2r when is at rgb overlay.
Signed-off-by: Sandy Huang <hjc@rock-chips.com>
Change-Id: I795629b81008fc62cb57a2f07fbdb2f05f21cbee
In both the Android SDK and Linux SDK, when compiling for a 64-bit
system, the CONFIG_COMPAT macro is enabled, but the unlocked_ioctl call
is not compiled. The hdcp2_tx_rx service compiled on Android is 32-bit,
corresponding to a 64-bit kernel. Therefore, ioctl calls go through
compat_ioctl without any issues. However, services and kernels built
with the NVR SDK and Linux SDK are consistent at 64 bits. This causes
ioctl calls to go through unlocked_ioctl, leading to exceptions.
Fixes: 8f36a88f84 ("drm/rockchip: Add dw hdcp2 controller driver")
Change-Id: I3090bcb03e509360b54194d1152cf05437dc0627
Signed-off-by: Eddy Zhang <eddy.zhang@rock-chips.com>
If uboot logo is enabled and the enable-gpio value is
different from that in uboot, kernel logo will be displayed
abnormally. Therefore, we do not set the value of enable-gpio
when hdmi bind, but set it in encoder enable when hdmi is switched
after system boot. This method is also compatible with
scenarios that uboot logo is not enabled.
Change-Id: I238aeb63790b67414036e2c89382870ff575c4e5
Signed-off-by: Algea Cao <algea.cao@rock-chips.com>
The original drm format name will print fourcc along with the other
info, just take fourcc.
Signed-off-by: Chaoyi Chen <chaoyi.chen@rock-chips.com>
Change-Id: Id438f5be90a81f1d163f40fcef86cb9cba0f9105
Currently, the dump vop buffer feature is turned on and off through
`CONFIG_ROCKCHIP_DRM_DEBUG` marco. We want to control this at
runtime, so this patch adds a new option for enable to dump debugfs.
- DUMP_DISABLE: Disable dump and do not record plane info into list.
- DUMP_ENABLE: Record plane info into list.
- DUMP_KEEP: Record plane info into list and keep to dump plane.
Signed-off-by: Chaoyi Chen <chaoyi.chen@rock-chips.com>
Change-Id: I96ad88068b383e93071896c63c3cc68aa05c8834
This patch disable DP/DM pull-down resistor during
charger detection, it can avoid mistakenly detected
floating charger as SDP charger.
Fixes: aedf737234 ("phy: rockchip: inno-usb2: Add usb2 phys support for rk3576")
Signed-off-by: William Wu <william.wu@rock-chips.com>
Change-Id: I16a3b984204e6db3f94a011d96a6e0bed57d6b4d
Ensure that ddc signals comply with protocol requirements.
Change-Id: I4cd343061f2f6030951a71915d2086946b5cb722
Signed-off-by: Algea Cao <algea.cao@rock-chips.com>
When mask rk3588 hpd irq, hpd irq status bit
`ohpd_int` will be clear automatically.
Change-Id: I462e1f9e5e2b1ac923e32a0c7e08a06d4f867083
Signed-off-by: Algea Cao <algea.cao@rock-chips.com>
When mask rk3576 hpd irq, hpd irq status bit
`ohpd_int` will be clear automatically.
Change-Id: Ia3261ee439657f33bce36e244d52573586f2d92c
Signed-off-by: Algea Cao <algea.cao@rock-chips.com>
While TCPM invoke set_vbus(), we checked the vbus and charge status
to disable 24M OSC to save power consumption via a delay worker.
Signed-off-by: Frank Wang <frank.wang@rock-chips.com>
Change-Id: I4e5b191d4071b3668413fc7362498d6ea3889b7a
1. Set the default tx dll tap value to 0x7 for hs400.
2. Set the default cmd dll tap value to 0x7.
3. Configure the RK_TAP_VALUE_SEL flag.
Signed-off-by: Yifeng Zhao <yifeng.zhao@rock-chips.com>
Change-Id: If9d920756b0ecc960bb607f1fcec889daff51f46
drivers/media/platform/rockchip/cif/capture.c:5159:6: error: conflicting types for 'rkcif_do_stop_stream' due to enum/integer mismatch; have 'void(struct rkcif_stream *, unsigned int)' [-Werror=enum-int-mismatch]
5159 | void rkcif_do_stop_stream(struct rkcif_stream *stream,
| ^~~~~~~~~~~~~~~~~~~~
In file included from drivers/media/platform/rockchip/cif/capture.c:24:
drivers/media/platform/rockchip/cif/dev.h:949:6: note: previous declaration of 'rkcif_do_stop_stream' with type 'void(struct rkcif_stream *, enum rkcif_stream_mode)'
949 | void rkcif_do_stop_stream(struct rkcif_stream *stream,
| ^~~~~~~~~~~~~~~~~~~~
drivers/media/platform/rockchip/cif/capture.c:6344:5: error: conflicting types for 'rkcif_do_start_stream' due to enum/integer mismatch; have 'int(struct rkcif_stream *, unsigned int)' [-Werror=enum-int-mismatch]
6344 | int rkcif_do_start_stream(struct rkcif_stream *stream, unsigned int mode)
| ^~~~~~~~~~~~~~~~~~~~~
drivers/media/platform/rockchip/cif/dev.h:947:5: note: previous declaration of 'rkcif_do_start_stream' with type 'int(struct rkcif_stream *, enum rkcif_stream_mode)'
947 | int rkcif_do_start_stream(struct rkcif_stream *stream,
| ^~~~~~~~~~~~~~~~~~~~~
cc1: all warnings being treated as errors
scripts/Makefile.build:273: recipe for target 'drivers/media/platform/rockchip/cif/capture.o' failed
Signed-off-by: Zefa Chen <zefa.chen@rock-chips.com>
Change-Id: Ibbd427bf07937c655a93bf84d33f25e86fece9d0
before:
text data bss dec hex filename
538 232 0 770 302 drivers/mfd/rkx110_x120/rkx120.o
after:
text data bss dec hex filename
468 32 0 500 1f4 drivers/mfd/rkx110_x120/rkx120.o
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
Change-Id: Ic1b6fe5fef13e64756797e28b48935ac570aa80b