clk: clk-axi-clkgen: make sure to enable the AXI bus clock
authorNuno Sa <nuno.sa@analog.com>
Tue, 29 Oct 2024 13:59:42 +0000 (14:59 +0100)
committerStephen Boyd <sboyd@kernel.org>
Thu, 14 Nov 2024 22:43:40 +0000 (14:43 -0800)
commitc64ef7e4851d1a9abbb7f7833e4936973ac5ba79
tree7dd2b4c9cc8f2e4b90535b358bcdc5dc7db2a1a0
parent47f3f5a82a31527e027929c5cec3dd1ef5ef30f5
clk: clk-axi-clkgen: make sure to enable the AXI bus clock

In order to access the registers of the HW, we need to make sure that
the AXI bus clock is enabled. Hence let's increase the number of clocks
by one.

In order to keep backward compatibility and make sure old DTs still work
we check if clock-names is available or not. If it is, then we can
disambiguate between really having the AXI clock or a parent clock and
so we can enable the bus clock. If not, we fallback to what was done
before and don't explicitly enable the AXI bus clock.

Note that if clock-names is given, the axi clock must be the last one in
the phandle array (also enforced in the DT bindings) so that we can reuse
as much code as possible.

Fixes: 0e646c52cf0e ("clk: Add axi-clkgen driver")
Signed-off-by: Nuno Sa <nuno.sa@analog.com>
Link: https://lore.kernel.org/r/20241029-axi-clkgen-fix-axiclk-v2-2-bc5e0733ad76@analog.com
Signed-off-by: Stephen Boyd <sboyd@kernel.org>
drivers/clk/clk-axi-clkgen.c