RK356x hdmi doesn't support resolutions up to 4k at 60Hz

Jonas Karlman jonas at kwiboo.se
Tue Oct 10 00:39:40 PDT 2023


On 2023-10-10 09:24, Doug Brewer wrote:
> On Tue, Oct 10, 2023 at 2:20 PM Sascha Hauer <s.hauer at pengutronix.de> wrote:
>>
>> On Tue, Oct 10, 2023 at 11:15:22AM +0800, Doug Brewer wrote:
>>> Hi,
>>>
>>> I tested the Linux kernel 6.5.6 on Rock 3A, the hdmi doesn't support
>>> resolutions up to 4k at 60Hz.  4k at 30Hz works for me.
>>> Any idea how to fix it?  Thanks.
>>>
>>
>> Yes, 4k at 60 is not yet working. In principle all that's missing should be
>> the patch below. However, it didn't work for me the time I tested it, so
>> I haven't tried upstreaming it.
> 
> With this patch, 4k at 60hz works for me!  Thanks.

Below patch from Sascha should allow for more modes, but will possible
also allow some hdmi modes that is not supported, at least on rk3288 and
rk3399.

I have finally started work on upstreaming old hdmi2.0 patches from
LibreELEC [1], now that rk35xx work in U-Boot have shifted to syncing
device trees. HDMI 2.0 patches should hit list next week.

[1] https://github.com/LibreELEC/LibreELEC.tv/tree/master/projects/Rockchip/patches/linux/default

Regards,
Jonas

> 
>> Sascha
>>
>> --------------------------------8<-------------------------------
>>
>> From 069ce874a58dbd164825207377c421837de0f0e8 Mon Sep 17 00:00:00 2001
>> From: Sascha Hauer <s.hauer at pengutronix.de>
>> Date: Mon, 23 Jan 2023 12:37:32 +0100
>> Subject: [PATCH] drm/rockchip: dw_hdmi: Add support for 4k at 60 resolution
>>
>> Does not work yet on our Samsung monitor, it looses synchronization
>> every now and then.
>>
>> Signed-off-by: Sascha Hauer <s.hauer at pengutronix.de>
>> ---
>>  drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c | 7 +++++++
>>  1 file changed, 7 insertions(+)
>>
>> diff --git a/drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c b/drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c
>> index 725952811752b..ef219cc6e1cdd 100644
>> --- a/drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c
>> +++ b/drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c
>> @@ -168,6 +168,12 @@ static const struct dw_hdmi_mpll_config rockchip_mpll_cfg[] = {
>>                         { 0x5a64, 0x0003 },
>>                 },
>>         }, {
>> +               600000000, {
>> +                       { 0x1a40, 0x0003 },
>> +                       { 0x3b4c, 0x0003 },
>> +                       { 0x5a64, 0x0003 },
>> +               },
>> +       },{
>>                 ~0UL, {
>>                         { 0x00a0, 0x000a },
>>                         { 0x2001, 0x000f },
>> @@ -204,6 +210,7 @@ static const struct dw_hdmi_phy_config rockchip_phy_config[] = {
>>         { 74250000,  0x8009, 0x0004, 0x0272},
>>         { 148500000, 0x802b, 0x0004, 0x028d},
>>         { 297000000, 0x8039, 0x0005, 0x028d},
>> +       { 594000000, 0x8039, 0x0000, 0x019d},
>>         { ~0UL,      0x0000, 0x0000, 0x0000}
>>  };
>>
>> --
>> 2.39.2
>>
>> --
>> Pengutronix e.K.                           |                             |
>> Steuerwalder Str. 21                       | http://www.pengutronix.de/  |
>> 31137 Hildesheim, Germany                  | Phone: +49-5121-206917-0    |
>> Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |
> 
> _______________________________________________
> Linux-rockchip mailing list
> Linux-rockchip at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-rockchip




More information about the Linux-rockchip mailing list