Hello Damon, On Thu, Dec 05, 2024 at 09:13:33AM +0800, Damon Ding wrote: > Firstly, the term "the HDMI and eDP dynamic switching" can be somewhat > misleading, because the eDP usually does not support hot plug. The RK3588 > eDP is often used as DP, and it actually supports DP 1.2. Therefore, it is > better to use the "the HDMI and DP dynamic switching" description. The part unclear to me is how the dynamic switching is supposed to happen. Looking at the TRM the hotplug detect signals also seem to be shared between HDMI and eDP. Can the RK3588S EVB distinguish if HDMI or eDP has been plugged, or does this require some user interaction to set the right mode? > Indeed, the devm_phy_get(dp->dev, "dp") and devm_of_phy_get_by_index() will > help to get the phy reference in .probe() or .bind(). > > However, the phy_set_mode() may be still needed in the HDMI and DP dynamic > switching application scenarios. We need the enum phy_mode > PHY_MODE_DP/PHY_MODE_HDMI to differentiate the configuration processes in > .power_on(), .power_off() and .configure() of struct phy_ops, which will be > called in conjunction with plugging in and unplugging an HDMI or DP cable. I suppose you could fetch the PHY in power_on() and release it in power_off(). But using phy_set_mode() might indeed be better here. -- Sebastian
Attachment:
signature.asc
Description: PGP signature