[RFC PATCH 7/7] drm/i915: add DisplayPort CEC-Tunneling-over-AUX support

Clint Taylor clinton.a.taylor at intel.com
Tue May 30 23:25:34 UTC 2017



On 05/30/2017 02:29 PM, Hans Verkuil wrote:
> On 05/30/2017 10:32 PM, Clint Taylor wrote:
>>
>>
>> On 05/30/2017 09:54 AM, Hans Verkuil wrote:
>>> On 05/30/2017 06:49 PM, Hans Verkuil wrote:
>>>> On 05/30/2017 04:19 PM, Clint Taylor wrote:
>>>>>
>>>>>
>>>>> On 05/30/2017 12:11 AM, Jani Nikula wrote:
>>>>>> On Tue, 30 May 2017, Hans Verkuil <hverkuil at xs4all.nl> wrote:
>>>>>>> On 05/29/2017 09:00 PM, Daniel Vetter wrote:
>>>>>>>> On Fri, May 26, 2017 at 12:20:48PM +0200, Hans Verkuil wrote:
>>>>>>>>> On 05/26/2017 09:15 AM, Daniel Vetter wrote:
>>>>>>>>>> Did you look into also wiring this up for dp mst chains?
>>>>>>>>> Isn't this sufficient? I have no way of testing mst chains.
>>>>>>>>>
>>>>>>>>> I think I need some pointers from you, since I am a complete
>>>>>>>>> newbie when it
>>>>>>>>> comes to mst.
>>>>>>>> I don't really have more clue, but yeah if you don't have an mst
>>>>>>>> thing (a
>>>>>>>> simple dp port multiplexer is what I use for testing here, then
>>>>>>>> plug in a
>>>>>>>> converter dongle or cable into that) then probably better to not
>>>>>>>> wire up
>>>>>>>> the code for it.
>>>>>>> I think my NUC already uses mst internally. But I was planning on
>>>>>>> buying a
>>>>>>> dp multiplexer to make sure there is nothing special I need to do
>>>>>>> for mst.
>>>>>>>
>>>>>>> The CEC Tunneling is all in the branch device, so if I understand
>>>>>>> things
>>>>>>> correctly it is not affected by mst.
>>>>>>>
>>>>>>> BTW, I did a bit more testing on my NUC7i5BNK: for the HDMI output
>>>>>>> they
>>>>>>> use a MegaChip MCDP2800 DP-to-HDMI converter which according to 
>>>>>>> their
>>>>>>> datasheet is supposed to implement CEC Tunneling, but if they do
>>>>>>> it is not
>>>>>>> exposed as a capability. I'm not sure if it is a MegaChip firmware
>>>>>>> issue
>>>>>>> or something else. The BIOS is able to do some CEC, but whether
>>>>>>> they hook
>>>>>>> into the MegaChip or have the CEC pin connected to a GPIO or
>>>>>>> something and
>>>>>>> have their own controller is something I do not know.
>>>>>>>
>>>>>>> If anyone can clarify what Intel did on the NUC, then that would
>>>>>>> be very
>>>>>>> helpful.
>>>>>> It's called LSPCON, see i915/intel_lspcon.c, basically to support 
>>>>>> HDMI
>>>>>> 2.0. Currently we only use it in PCON mode, shows up as DP for 
>>>>>> us. It
>>>>>> could be used in LS mode, showing up as HDMI 1.4, but we don't 
>>>>>> support
>>>>>> that in i915.
>>>>>>
>>>>>> I don't know about the CEC on that.
>>>>>
>>>>> My NUC6i7KYK has the MCDP2850 LSPCON and it does support CEC over 
>>>>> Aux.
>>>>> The release notes for the NUC state that there is a BIOS 
>>>>> configuration
>>>>> option for enabling support. My doesn't have the option but the 
>>>>> LSPCON
>>>>> fully supports CEC.
>>>>
>>>> What is the output of:
>>>>
>>>> dd if=/dev/drm_dp_aux0 of=aux0 skip=12288 ibs=1 count=48
>>>> od -t x1 aux0
>>>>
>>>> Assuming drm_dp_aux0 is the aux channel for the HDMI output on your 
>>>> NUC.
>>>>
>>>> If the first byte is != 0x00, then it advertises CEC over Aux.
>>>>
>>>> For me it says 0x00.
>>>>
>>>> When you say "it does support CEC over Aux", does that mean you have
>>>> actually
>>>> tested it somehow? The only working solution I have seen mentioned
>>>> for the
>>>> NUC6i7KYK is a Pulse-Eight adapter.
>>>>
>>>> With the NUC7i Intel made BIOS support for CEC, but it is not at all
>>>> clear to me if they used CEC tunneling or just hooked up the CEC 
>>>> pin to
>>>> some microcontroller.
>>>>
>>>> The only working chipset I have seen is the Parade PS176.
>>>
>>> If it really is working on your NUC, then can you add the output of
>>> /sys/kernel/debug/dri/0/i915_display_info?
>>
>> [root at localhost cec-ctl]# cat /sys/kernel/debug/dri/0/i915_display_info
>
>
>> Connector info
>> --------------
>> connector 48: type DP-1, status: connected
>>       name:
>>       physical dimensions: 700x400mm
>>       subpixel order: Unknown
>>       CEA rev: 3
>>       DPCD rev: 12
>>       audio support: yes
>>       DP branch device present: yes
>>           Type: HDMI
>>           ID: 175IB0
>>           HW: 1.0
>>           SW: 7.32
>>           Max TMDS clock: 600000 kHz
>>           Max bpc: 12
>
> Huh. Based on this document:
>
> https://downloadmirror.intel.com/26061/eng/NUC6i7KYK%20HDMI%202.0%20Firmware%20update%20Instructions.pdf 
>
>
> this is the internal DP-to-HDMI adapter and it has the PS175. So it is a
> Parade chipset, and I have seen that work before (at least the PS176).
This is the PS175 LSPCON on the NUC6.
>
> <snip>
>
>> connector 55: type DP-2, status: connected
>>       name:
>>       physical dimensions: 620x340mm
>>       subpixel order: Unknown
>>       CEA rev: 3
>>       DPCD rev: 12
>>       audio support: yes
>>       DP branch device present: yes
>>           Type: HDMI
>>           ID: BCTRC0
>>           HW: 2.0
>>           SW: 0.26
>
> And is this from a USB-C to HDMI adapter? Which one? I don't recognize 
> the ID.
>
This is a LSPCON inside the Google USB-C->HDMI dongle. This is actually 
a MC2850 with what appears to be a custom ID. Datasheet claims CEC over 
Aux and the pin is wired, but FW has it currently disabled.

-Clint

> For the record, this is the internal HDMI output of my NUC7i5BNK:
>
> connector 48: type DP-1, status: connected
>         name:
>         physical dimensions: 1050x590mm
>         subpixel order: Unknown
>         CEA rev: 3
>         DPCD rev: 12
>         audio support: yes
>         DP branch device present: yes
>                 Type: HDMI
>                 ID: MC2800
>                 HW: 2.2
>                 SW: 1.66
>                 Max TMDS clock: 600000 kHz
>                 Max bpc: 16
>
> Clearly a Megachip.
>
> Regards,
>
>     Hans



More information about the dri-devel mailing list