When the bridge code does not abstract a connector, and the bridge
has connection status detection, the dsi abstract connector adds
"DRM_CONNECTOR_POLL_CONNECT" and "DRM_CONNECTOR_POLL_DISCONNECT"
flags for interface plugging and unplugging detection.
Type: Function
Redmine ID: N/A
Associated modifications: N/A
Test: N/A
Signed-off-by: Zhibin Huang <zhibin.huang@rock-chips.com>
Change-Id: I58dcb9ade2846c73f489b0ebc9bf65947d7b6352
This patch add support to change LVDS output common mode voltage
and differential voltage using dts prop "inno,lvds-vcom" and
"inno,lvds-vod".
&video_phy0 {
inno,lvds-vcom = <950>; /* 950mV */
inno,lvds-vod = <350>; /* 350mV */
}
Change-Id: Icbaa0943f9bad7a82ffa03a178a1486c7e1117c9
Signed-off-by: Chaoyi Chen <chaoyi.chen@rock-chips.com>
For rk3576 and rk3588, vop dclk can be from pll or hdmi phy[except hdmi
2.1(dclk bigger than 597M), the HDMI work at FRL mode], when dclk is
from pll, dclk_parent is equal to dclk, we need clk_round_rate() for
dclk_parent to check whether can support this mode.
1. GPLL/CPLL/VPLL
dclk_parent
dclk
2. xin24m
clk_hdmiphy_pixel0
dclk
Change-Id: Ie5b9a7a5056a6f997ade95ab6af9b6d7ddc10f3b
Signed-off-by: Zhang Yubing <yubing.zhang@rock-chips.com>
Test on RK3576 Tablet Android 14 GKI, when plug in U disk,
it will trigger the usb2 phy to do charging detection logic
in the following process.
1. Type-C PD controller chip (e.g HUSB311) detect DFP mode;
2. Type-C tcpm call usb_role_switch_set_role() to notify
the usb controller to set USB_ROLE_HOST;
3. The usb dwc3 controller driver do dwc3_set_mode() to
initialize the controller and phy for host mode;
4. In the __dwc3_set_mode(), it do pm_runtime_get_sync()
-> dwc3_runtime_resume() -> dwc3_resume_common() ->
dwc3_core_init() -> phy_init(dwc->usb2_generic_phy);
5. In the usb2 phy driver, it do rockchip_usb2phy_init()
-> schedule otg_sm_work -> rockchip_chg_detect_work()
6. Detect dcp cable is connected, and call extcon_set_state_sync()
to send charger notification with true state.
Later, if plug out the U disk and plug in a USB charger,
it will fail to send charger notification because its
extcon state still in true state.
To fix this issue, we need to clear the charger state
in the otg_sm_work if it's already in host mode.
Signed-off-by: William Wu <william.wu@rock-chips.com>
Change-Id: I6a30429162290927cae3e5f3495f51db61bf15b6
R216/R243/R324/R432 are the new recommended link rates in
eDP v1.4, which may be read from DPCD SUPPORTED_LINK_RATES
(0x00010h through 0x0001fh). And set the link rate by DPCD
LINK_BW_SET(0x00100h).
Signed-off-by: Damon Ding <damon.ding@rock-chips.com>
Change-Id: Ib692d18cd79765eb172fb0455cbc1bc1f0594d79
R216/R243/R324/R432 are the new recommended link rates in
eDP v1.4, which may be read from DPCD SUPPORTED_LINK_RATES
(0x00010h through 0x0001fh). And set the link rate by DPCD
LINK_BW_SET(0x00100h).
Signed-off-by: Damon Ding <damon.ding@rock-chips.com>
Change-Id: I2d46c910bc763f1dac282a2156f9daec88d60cac
As Table 4-23 in eDP v1.4 spec, the link rate can be
read from SUPPORTED_LINK_RATES(0x00010h through 0x0001fh),
which is required for sink devices.
Signed-off-by: Damon Ding <damon.ding@rock-chips.com>
Change-Id: Ibff01e7eee16be735b5f4b10c6ef51e9b2954274
The bandwidth/lane_count have been got in analogix_dp_detect(),
which is earlier than analogix_dp_full_link_train().
And getting link configs in .detect() will help to
check mode support in .mode_valid().
Signed-off-by: Damon Ding <damon.ding@rock-chips.com>
Change-Id: Ia98bae1d3be20243f1a81b5beec0fb53f2ea3ca1
According to Documentation/driver-api/driver-model/driver.rst,
a warning as follow:
-EPROBE_DEFER must not be returned if probe() has already created
child devices, even if those child devices are removed again
in a cleanup path. If -EPROBE_DEFER is returned after a child
device has been registered, it may result in an infinite loop of
.probe() calls to the same driver.
To avoid this issue, we do the audio init work when register
encoder.
Change-Id: I2f527f29a32ca8cb28a0044b3689933845b7108a
Signed-off-by: Zhang Yubing <yubing.zhang@rock-chips.com>
w-hdmi-qp-hdcp device is very easy to register and probe it's
driver, move it out of bind callback to avoid create child device when
hdmi driver or other components run probe(this may cause infinite loop
probe as these components are very easy run into defer probe).
Note: Documentation/driver-api/driver-model/driver.rst
Change-Id: I99ec2bcbe7ef39a91a4bd01cd73b8f251db8b42d
Signed-off-by: Andy Yan <andy.yan@rock-chips.com>
dw-hdmi-qp-cec device is very easy to register and probe it's
driver, move it out of bind callback to avoid create child device when
hdmi driver or other components run probe(this may cause infinite loop
probe as these components are very easy run into defer probe).
Note: Documentation/driver-api/driver-model/driver.rst
Change-Id: Id7b04b8f65fe8a99b6bb6492553774bd0d13bcc2
Signed-off-by: Andy Yan <andy.yan@rock-chips.com>
dw-hdmi-qp-i2s-audio device is very easy to register and probe it's
driver, move it out of bind callback to avoid create child device when
hdmi driver or other components run probe(this may cause infinite loop
probe as these components are very easy run into defer probe).
Change-Id: Iabfc5e1714cceff26bfbcf559ab66003cc258d84
Signed-off-by: Andy Yan <andy.yan@rock-chips.com>
If dw_hdmi_rockchip_bind is bind failed or other related
components(dp/dsi) bind failed, dw_hdmi_rockchip_unbind will
be called, then some resources like hdmi->workqueue will be
destroyed. So we should not reference this resources at ->shutdown.
Change-Id: Ie9ddf431d62ac217126620d3deb6e18eecc9a46a
Signed-off-by: Andy Yan <andy.yan@rock-chips.com>
Allow the final dts to modify the contents of rk3576.dtsi,
e.g. including rk3576-cpu-swap.dtsi
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
Change-Id: I0802429be68d58b087979cbd992fafacb8dff76e
Allow the final dts to modify the contents of rk3576.dtsi,
e.g. including rk3576-cpu-swap.dtsi
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
Change-Id: I2740041f036a58b2e8a44acc2d536226c6ba782a
Allow the final dts to modify the contents of rk3576.dtsi,
e.g. including rk3576-cpu-swap.dtsi
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
Change-Id: I009a72420f50344ad9173fe9b83ac81057c3f349
Allow the final dts to modify the contents of rk3576.dtsi,
e.g. including rk3576-cpu-swap.dtsi
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
Change-Id: Ie0b70135b4e139f9912d57ef4be6b846eda1e93f
Allow the final dts to modify the contents of rk3576.dtsi,
e.g. including rk3576-cpu-swap.dtsi
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
Change-Id: I9ce306c89653f23eb18fb32149b061883b4478c1
Allow the final dts to modify the contents of rk3576.dtsi,
e.g. including rk3576-cpu-swap.dtsi
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
Change-Id: I7c4e3a81c9a101b9669abe875f235351bb2e0fa5