[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