/*
 * Copyright (c) 2020 Erwin Rol <erwin@erwinrol.com>
 *
 * SPDX-License-Identifier: Apache-2.0
 */

&rcc {
	/*
	* Reduce bus clock speed to be able
	* to reach SPI_LOOPBACK_SLOW_FREQ = 500000
	* with max prescaler 256
	*/
	apb2-prescaler = <2>;
};

&spi1 {
	dmas = <&dmamux1 0 11 0x20440 0
		&dmamux1 8 10 0x20480 0>;
	dma-names = "tx", "rx";
};

&dma1 {
	status = "okay";
};

&dma2 {
	status = "okay";
};

&dmamux1 {
	status = "okay";
};

&rcc {
	/*
	 * Reduce bus clock speed to be able to reach
	 * SPI_LOOPBACK_SLOW_FREQ = 500000 with max prescaler 256
	 */
	apb2-prescaler = <2>;
};
