diff options
author | Bogdan Togorean <bogdan.togorean@analog.com> | 2023-07-19 09:01:43 +0300 |
---|---|---|
committer | Robert Foss <rfoss@kernel.org> | 2023-07-21 13:37:18 +0200 |
commit | d281eeaa4de2636ff0c8e6ae387bb07b50e5fcbb (patch) | |
tree | 38805d237169b43fcfc2650e88410d9e8bcf32f1 /drivers/gpu/drm/bridge/adv7511/adv7511_drv.c | |
parent | 722d4f06e560ae8eee84fbd63035356592a37dd1 (diff) | |
download | linux-d281eeaa4de2636ff0c8e6ae387bb07b50e5fcbb.tar.gz linux-d281eeaa4de2636ff0c8e6ae387bb07b50e5fcbb.tar.bz2 linux-d281eeaa4de2636ff0c8e6ae387bb07b50e5fcbb.zip |
drm: adv7511: Fix low refresh rate register for ADV7533/5
For ADV7533 and ADV7535 low refresh rate is selected using
bits [3:2] of 0x4a main register.
So depending on ADV model write 0xfb or 0x4a register.
Fixes: 2437e7cd88e8 ("drm/bridge: adv7533: Initial support for ADV7533")
Reviewed-by: Robert Foss <rfoss@kernel.org>
Reviewed-by: Nuno Sa <nuno.sa@analog.com>
Signed-off-by: Bogdan Togorean <bogdan.togorean@analog.com>
Signed-off-by: Alexandru Ardelean <alex@shruggie.ro>
Reviewed-by: Frieder Schrempf <frieder.schrempf@kontron.de>
Signed-off-by: Robert Foss <rfoss@kernel.org>
Link: https://patchwork.freedesktop.org/patch/msgid/20230719060143.63649-1-alex@shruggie.ro
Diffstat (limited to 'drivers/gpu/drm/bridge/adv7511/adv7511_drv.c')
-rw-r--r-- | drivers/gpu/drm/bridge/adv7511/adv7511_drv.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/drivers/gpu/drm/bridge/adv7511/adv7511_drv.c b/drivers/gpu/drm/bridge/adv7511/adv7511_drv.c index b9957da0f55a..2611afd2c1c1 100644 --- a/drivers/gpu/drm/bridge/adv7511/adv7511_drv.c +++ b/drivers/gpu/drm/bridge/adv7511/adv7511_drv.c @@ -786,8 +786,13 @@ static void adv7511_mode_set(struct adv7511 *adv7511, else low_refresh_rate = ADV7511_LOW_REFRESH_RATE_NONE; - regmap_update_bits(adv7511->regmap, 0xfb, - 0x6, low_refresh_rate << 1); + if (adv7511->type == ADV7511) + regmap_update_bits(adv7511->regmap, 0xfb, + 0x6, low_refresh_rate << 1); + else + regmap_update_bits(adv7511->regmap, 0x4a, + 0xc, low_refresh_rate << 2); + regmap_update_bits(adv7511->regmap, 0x17, 0x60, (vsync_polarity << 6) | (hsync_polarity << 5)); |