Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

clk: microchip: mpfs: mark CLK_ATHENA as critical

CLK_ATHENA is another fabric interconnect and should be marked as critical
as with FIC0-3, since disabling it will cause part of the fabric to go
into reset.

Fixes: 635e5e73370e ("clk: microchip: Add driver for Microchip PolarFire SoC")
Reviewed-by: Daire McNamara <daire.mcnamara@microchip.com>
Signed-off-by: Conor Dooley <conor.dooley@microchip.com>
Link: https://lore.kernel.org/r/20220413075835.3354193-3-conor.dooley@microchip.com
Acked-by: Palmer Dabbelt <palmer@rivosinc.com>
Signed-off-by: Stephen Boyd <sboyd@kernel.org>

authored by

Conor Dooley and committed by
Stephen Boyd
a2438f82 8f9fb2ab

+5 -3
+5 -3
drivers/clk/microchip/clk-mpfs.c
··· 245 245 * trap handler 246 246 * - CLK_MMUART0: reserved by the hss 247 247 * - CLK_DDRC: provides clock to the ddr subsystem 248 - * - CLK_FICx: these provide clocks for sections of the fpga fabric, disabling them would 249 - * cause the fabric to go into reset 248 + * - CLK_FICx: these provide the processor side clocks to the "FIC" (Fabric InterConnect) 249 + * clock domain crossers which provide the interface to the FPGA fabric. Disabling them 250 + * causes the FPGA fabric to go into reset. 251 + * - CLK_ATHENA: The athena clock is FIC4, which is reserved for the Athena TeraFire. 250 252 */ 251 253 252 254 static struct mpfs_periph_hw_clock mpfs_periph_clks[] = { ··· 279 277 CLK_PERIPH(CLK_FIC1, "clk_periph_fic1", PARENT_CLK(AXI), 25, CLK_IS_CRITICAL), 280 278 CLK_PERIPH(CLK_FIC2, "clk_periph_fic2", PARENT_CLK(AXI), 26, CLK_IS_CRITICAL), 281 279 CLK_PERIPH(CLK_FIC3, "clk_periph_fic3", PARENT_CLK(AXI), 27, CLK_IS_CRITICAL), 282 - CLK_PERIPH(CLK_ATHENA, "clk_periph_athena", PARENT_CLK(AXI), 28, 0), 280 + CLK_PERIPH(CLK_ATHENA, "clk_periph_athena", PARENT_CLK(AXI), 28, CLK_IS_CRITICAL), 283 281 CLK_PERIPH(CLK_CFM, "clk_periph_cfm", PARENT_CLK(AHB), 29, 0), 284 282 }; 285 283