mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-10 12:57:06 +09:00
drm: bridge: dw-hdmi: disable scamble when tmdsclk less than 340Mhz
to Improve signal compatibility disable scamble when tmdsclk less than 340Mhz by default. and can enable it by define "scramble-low-rates;" in dts file. Change-Id: I0bd5d8e2ea4df065d84018615d4c39cac7ac441a Signed-off-by: xuhuicong <xhc@rock-chips.com>
This commit is contained in:
@@ -44,6 +44,7 @@ Optional properties
|
||||
- unsupported-yuv-input: If yuv input is not supported, set this property.
|
||||
- unsupported-deep-color: If deep color mode is not supported, set this property.
|
||||
- hdcp1x-enable: enable hdcp1.x, enable if defined, disable if not defined
|
||||
- scramble-low-rates: if defined enable scarmble when tmdsclk less than 340Mhz
|
||||
|
||||
Example:
|
||||
|
||||
|
||||
@@ -267,6 +267,7 @@ struct dw_hdmi {
|
||||
unsigned int audio_cts;
|
||||
unsigned int audio_n;
|
||||
bool audio_enable;
|
||||
bool scramble_low_rates;
|
||||
|
||||
struct extcon_dev *extcon;
|
||||
|
||||
@@ -2150,7 +2151,8 @@ static void hdmi_av_composer(struct dw_hdmi *hdmi,
|
||||
/* Scrambling Control */
|
||||
if (dw_hdmi_support_scdc(hdmi)) {
|
||||
if (vmode->mtmdsclock > HDMI14_MAX_TMDSCLK ||
|
||||
hdmi_info->scdc.scrambling.low_rates) {
|
||||
(hdmi_info->scdc.scrambling.low_rates &&
|
||||
hdmi->scramble_low_rates)) {
|
||||
/*
|
||||
* HDMI2.0 Specifies the following procedure:
|
||||
* After the Source Device has determined that
|
||||
@@ -3868,6 +3870,9 @@ __dw_hdmi_probe(struct platform_device *pdev,
|
||||
|
||||
dw_hdmi_register_debugfs(dev, hdmi);
|
||||
|
||||
if (of_property_read_bool(np, "scramble-low-rates"))
|
||||
hdmi->scramble_low_rates = true;
|
||||
|
||||
if (of_property_read_bool(np, "hdcp1x-enable"))
|
||||
hdcp1x_enable = 1;
|
||||
dw_hdmi_register_hdcp(dev, hdmi, val, hdcp1x_enable);
|
||||
|
||||
Reference in New Issue
Block a user