diff options
author | Samuel Holland <samuel@sholland.org> | 2022-12-28 22:22:30 -0600 |
---|---|---|
committer | Jernej Skrabec <jernej.skrabec@gmail.com> | 2023-01-08 21:54:09 +0100 |
commit | 5ee541ae712e74c842a324e946ef91cb19140cab (patch) | |
tree | 6f149cf50a2a3a9241c17914e2d50ca3022b3943 /drivers/clk/sunxi-ng/ccu_nkm.c | |
parent | 5dc6470273063418b5409154336a447e6d8fa880 (diff) |
clk: sunxi-ng: h3/h5: Model H3 CLK_DRAM as a fixed clock
The DRAM controller clock is only allowed to change frequency while the
DRAM chips are in self-refresh. To support this, changes to the CLK_DRAM
mux and divider have no effect until acknowledged by the memory dynamic
frequency scaling (MDFS) hardware inside the DRAM controller. (There is
a SDRCLK_UPD bit in DRAM_CFG_REG which should serve a similar purpose,
but this bit actually does nothing.)
However, the MDFS hardware in H3 appears to be broken. Triggering a
frequency change using the procedure from similar SoCs (A64/H5) hangs
the hardware. Additionally, the vendor BSP specifically avoids using the
MDFS hardware on H3, instead performing all DRAM PHY parameter updates
and resets in software.
Thus, it is effectively impossible to change the CLK_DRAM mux/divider,
so those features should not be modeled. Add CLK_SET_RATE_PARENT so
frequency changes apply to PLL_DDR instead.
Signed-off-by: Samuel Holland <samuel@sholland.org>
Reviewed-by: Jernej Skrabec <jernej.skrabec@gmail.com>
Link: https://lore.kernel.org/r/20221229042230.24532-1-samuel@sholland.org
Signed-off-by: Jernej Skrabec <jernej.skrabec@gmail.com>
Diffstat (limited to 'drivers/clk/sunxi-ng/ccu_nkm.c')
0 files changed, 0 insertions, 0 deletions