/*
 * 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 100MHz from the CSI */
&pll {
	div-m = <1>;
	mul-n = <50>;
	div-p = <2>;
	div-q = <2>;
	div-r = <2>;
	clocks = <&clk_csi>;
	status = "okay";
};

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