]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
clk: meson: g12a: Limit the HDMI PLL OD to /4
authorMartin Blumenstingl <martin.blumenstingl@googlemail.com>
Mon, 5 Jan 2026 20:47:09 +0000 (21:47 +0100)
committerJerome Brunet <jbrunet@baylibre.com>
Tue, 6 Jan 2026 08:52:21 +0000 (09:52 +0100)
commit7aa6c24697ef5db1402dd38743914493cd5b356d
treef82db088e27c791470cc422ec37544a330b12758
parent5b1a43950fd3162af0ce52b13c14a2d29b179d4f
clk: meson: g12a: Limit the HDMI PLL OD to /4

GXBB has the HDMI PLL OD in the HHI_HDMI_PLL_CNTL2 register while for
G12A/G12B/SM1 the OD has moved to HHI_HDMI_PLL_CNTL0. At first glance
the rest of the OD setup seems identical.

However, looking at the downstream kernel sources as well as testing
shows that G12A/G12B/SM1 only supports three OD values:
- register value 0 means: divide by 1
- register value 1 means: divide by 2
- register value 2 means: divide by 4

Downstream sources are also only using OD register values 0, 1 and 2
for G12A/G12B/SM1 (while for GXBB the downstream kernel sources are also
using value 3 which means: divide by 8).

Add clk_div_table and have it replace the CLK_DIVIDER_POWER_OF_TWO flag
to make the kernel's view of this register match with how the hardware
actually works.

Fixes: 085a4ea93d54 ("clk: meson: g12a: add peripheral clock controller")
Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
Link: https://lore.kernel.org/r/20260105204710.447779-3-martin.blumenstingl@googlemail.com
Signed-off-by: Jerome Brunet <jbrunet@baylibre.com>
drivers/clk/meson/g12a.c