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:
xuhuicong
2018-01-17 10:01:18 +08:00
committed by Tao Huang
parent ae21cc86ab
commit ad96f1fe44
2 changed files with 7 additions and 1 deletions

View File

@@ -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:

View File

@@ -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);