/*
 * Copyright (c) 2021 Linaro Limited
 * Copyright (c) 2023 STMicroelectronics
 *
 * SPDX-License-Identifier: Apache-2.0
 */

/*
 * Warning: This overlay performs configuration from clean sheet.
 * It is assumed that it is applied after clear_clocks.overlay file.
 */

&clk_csi {
	status = "okay";
};

/* Test another couple of M-div N-mul to obtain 240MHz from the CSI */
&pll {
	div-m = <1>;
	mul-n = <120>;
	div-p = <2>;
	div-q = <2>;
	div-r = <2>;
	clocks = <&clk_csi>;
	status = "okay";
};

&rcc {
	clocks = <&pll>;
	clock-frequency = <DT_FREQ_M(240)>;
	ahb-prescaler = <1>;
	apb1-prescaler = <1>;
	apb2-prescaler = <1>;
	apb3-prescaler = <1>;
};
