This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] SN65DSI86:Linux 如何读取/写入 HDCP?

Guru**** 2528180 points
Other Parts Discussed in Thread: SN65DSI86

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/interface-group/interface/f/interface-forum/1198540/sn65dsi86-how-does-linux-read-write-hdcp

器件型号:SN65DSI86

您好、TI!

我们将使用 OLED 屏幕、需要通过辅助通道控制背光亮度。
使用 Linux 时、我们如何读取和写入 HDCP 数据? 您能提供演示代码吗?

期待您的回复!

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Chen!

    DSI86不支持 HDCP。

    请参阅 HDCP 上的这篇文章: https://e2e.ti.com/support/interface-group/interface/f/interface-forum/853036/sn65dsi86-sn65dsi86-does-not-support-hdcp-could-not-use-for-external-dp-monitor 

    谢谢。

    察赫

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Zach:

    如果用户 sn65dsi86不支持 HDCP、用户如何  sn65dsi86 R/W 显示参数(如分辨率、Hsync 和 Vsync)?
    我们将使用  sn65dsi86点亮 OLED 屏幕。 如果  sn65dsi86不支持 HDCP、我们如何通过辅助通道控制背光?

    期待您的回复,谢谢!

    Evan

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Chen!

    需要对控制和状态寄存器进行配置、以支持标准 DP 显示面板。  

    数据表列出了用户可以对器件进行读/写来配置的内容。

    以下是可帮助您配置器件的电子表格:  

    https://e2e.ti.com/support/interface-group/interface/f/interface-forum/945404/faq-sn65dsi86-how-do-i-programming-the-sn65dsi86-registers

    关于第二个问题、这是上一个主题、 https://e2e.ti.com/support/interface-group/interface/f/interface-forum/1163750/sn65dsi86-aux-backlight-control。  

    谢谢。

    察赫

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Zach:

    根据数据手册、可通过0xA0h-0xA5h 寄存器读取和写入背光控制、但手册说明了 PWM 控制模式。
    如果我们使用 OLED 屏幕、则硬件连接没有 PWM 信号、但0xA0h-0xA5h 与 LCD 的配置是否相同?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Chen!

    对迟交的答复表示歉意。

    显示器是否支持使用 DPCD 地址00700h 至007FFh 进行亮度控制? 他们是否可以读取 eDP_CONFIGURATION_CAP 寄存器(DPCD 地址0000Dh、位3)中的 DPCD_DISPLAY_CONTROL_AABLED 位来验证该功能?

    谢谢。

    察赫

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Zach:

    根据这个 Samsung OLED 面板的数据表、我认为亮度只能由0x0320或0x0354控制。
    1.下面是对亮度控制的描述:

      1.1 Intel 亮度控制

    地址 R/W 试验 该设计的链接
    0x0354
    0x0355的配置
    R/W {0xxx、0xxx};/* 0x90、0x01:400Nit */
    /* 0x96、0x00:150nit */
    /* 0x04、0x00:4尼特*/
    DPCD_INTEL_EDP_BILITY_NITS
    尼特值的{LSB、MSB}


      1.2 AMD 亮度控制

    地址 R/W 试验 该设计的链接
    0x0320
    0x0321
    0x0322
    0x0323
    w {0xxx、0xxx、0xxx、0xxx};
    /* 0x80、0x1A、0x06、0x00:400nit */
    /* 0xF0、0x49、0x02、0x00:150nit */
    /* 0xA0、0x0F、0x00、0x00:4nit */
    32位要求的亮度、单位为毫尼特
    –字节0 (LSB)~字节3 (MSB)

    2.下面是 Linux 中的 Inter 的背光代码:
    #define INTEL_EDP_BILITS_LSB 0x354
    静态空 intel_dp_aux_hdr_set_aux_backlight (const struct drm_connector_state * conn_state、u32级)

    buf[0]= level & 0xFF;
    buf[1]=(level & 0xFF00)>>8;
    drm_dp_dpcd_write (&intel_dp->aux、intel_edp_brightness、nits_lsb、buf、sizeof (buf))! = sizeof (buf))
    }

    3.因此、我需要读取和写入 Samsung OLED 面板的0x0320寄存器地址、以便通过 AUX 进行亮度控制。
    如何配置 sn65dsi86值以读取和写入 OLED 面板的地址0x0320?

    期待您的回复! 可考虑!

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Chen!

    让我们继续讨论一个线程。

    这里的 David 似乎正在帮助您解答类似问题:

    https://e2e.ti.com/support/interface-group/interface/f/interface-forum/1201716/sn65dsi86-how-to-modify-the-specified-register-of-oled-panel-through-i2c-over-aux

    谢谢。

    察赫

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Zach:

    感谢您的答复。
    1.如果我想覆盖指定的寄存器、有没有工具可以生成寄存器地址?
    DSI 调谐器2.0.exe 似乎不会为指定的寄存器生成代码、例如将值写入0x0320或00722h。
    3.使用什么工具来生成以下代码?



    ========= 清除 AUX 写入请求的状态寄存器===
    F4 FF />
    ========= 将 DPCD 寄存器0x0010A 写入 Sink 以启用 ASSR===
    =========== 要写入的数据为0x01。 =========
    64 01. />
    =========== DPCD 寄存器为0x0010A。 =========
    74 00 />
    7501 />
    76 0A. />
    =========== 要写入的字节数为1 ===
    77 01. />
    =========== 发送 AUX 写入请求===
    78 81.
    ========= AUX 请求的读取状态===
    ========= 确保 SEND_INT 已设置,且没有错误===
    F4. />

    00 />

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Chen!

    您可以使用 SPI/I2C 控制器写入特定寄存器。  

    没有生成该代码的工具、但它似乎是为 Aardvark SPI/I2C 控制器编写的。

    以下内容只是代码结构的一个示例:  

    74 00 />

    这是对地址2d 进行一次 i2c 写入。 您将"00"写入寄存器偏移0x74h。

    若要覆盖该值、可以根据数据表和所需性能将代码更改为任何所需的值。

    谢谢。

    察赫