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

Hans Verkuil hverkuil at xs4all.nl
Wed May 31 06:37:40 UTC 2017


On 05/31/2017 01:25 AM, Clint Taylor wrote:
> 
> 
> 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.

OK, in other words the Parade chipsets work and the Megachip chipsets
don't. And Intel in their wisdom decided to go with Megachip for the new
NUCs.

I have no idea if you have any ins with the NUC team, but it would be so
nice if there would be a Megachip firmware update enabling this feature.

Regards,

	Hans


More information about the dri-devel mailing list