/*
 * Copyright (c) 2024 Nordic Semiconductor ASA
 *
 * SPDX-License-Identifier: Apache-2.0
 */

&pinctrl {
	spi120_default: spi120_default {
		group1 {
			psels = <NRF_PSEL(SPIM_SCK, 7, 3)>,
				<NRF_PSEL(SPIM_MISO, 7, 6)>,
				<NRF_PSEL(SPIM_MOSI, 7, 7)>;
		};
	};

	spi120_sleep: spi120_sleep {
		group1 {
			psels = <NRF_PSEL(SPIM_SCK, 7, 3)>,
				<NRF_PSEL(SPIM_MISO, 7, 6)>,
				<NRF_PSEL(SPIM_MOSI, 7, 7)>;
			low-power-enable;
		};
	};
};

&spi120 {
	status = "okay";
	pinctrl-0 = <&spi120_default>;
	pinctrl-1 = <&spi120_sleep>;
	pinctrl-names = "default", "sleep";
	overrun-character = <0x00>;
	memory-regions = <&dma_fast_region>;
	slow@0 {
		compatible = "test-spi-loopback-slow";
		reg = <0>;
		spi-max-frequency = <DT_FREQ_M(4)>;
	};
	fast@0 {
		compatible = "test-spi-loopback-fast";
		reg = <0>;
		spi-max-frequency = <DT_FREQ_M(8)>;
	};
};
