drm: bridge: icn6211: Add generic DSI-to-DPI PLL configuration
authorMarek Vasut <marex@denx.de>
Thu, 31 Mar 2022 15:05:02 +0000 (17:05 +0200)
committerRobert Foss <robert.foss@linaro.org>
Thu, 31 Mar 2022 15:20:38 +0000 (17:20 +0200)
commitf30cf0ece6916ca6c5b896d8c31443565f4dda24
treea9f40b422ca6904a5627ed249574106c32db1227
parent2dff97f2b37ff5439554d3548ce3197620dcb57b
drm: bridge: icn6211: Add generic DSI-to-DPI PLL configuration

The chip contains fractional PLL, however the driver currently hard-codes
one specific PLL setting. Implement generic PLL parameter calculation code,
so any DPI panel with arbitrary pixel clock can be attached to this bridge.

The datasheet for this bridge is not available, the PLL behavior has been
inferred from [1] and [2] and by analyzing the DPI pixel clock with scope.
The PLL limits might be wrong, but at least the calculated values match all
the example code available. This is better than one hard-coded pixel clock
value anyway.

[1] https://github.com/rockchip-linux/kernel/blob/develop-4.19/drivers/gpu/drm/bridge/icn6211.c
[2] https://github.com/tdjastrzebski/ICN6211-Configurator

Acked-by: Maxime Ripard <maxime@cerno.tech>
Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Jagan Teki <jagan@amarulasolutions.com>
Cc: Maxime Ripard <maxime@cerno.tech>
Cc: Robert Foss <robert.foss@linaro.org>
Cc: Sam Ravnborg <sam@ravnborg.org>
Cc: Thomas Zimmermann <tzimmermann@suse.de>
To: dri-devel@lists.freedesktop.org
Signed-off-by: Robert Foss <robert.foss@linaro.org>
Link: https://patchwork.freedesktop.org/patch/msgid/20220331150509.9838-5-marex@denx.de
drivers/gpu/drm/bridge/chipone-icn6211.c