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

Doug Brewer brewer.doug at gmail.com
Tue Oct 10 00:24:31 PDT 2023


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.

> 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 |



More information about the Linux-rockchip mailing list