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

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

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

&spi130 {
	status = "okay";
	pinctrl-0 = <&spi130_default>;
	pinctrl-1 = <&spi130_sleep>;
	pinctrl-names = "default", "sleep";
	overrun-character = <0x00>;
	memory-regions = <&cpuapp_dma_region>;
	slow@0 {
		compatible = "test-spi-loopback-slow";
		reg = <0>;
		spi-max-frequency = <DT_FREQ_K(500)>;
	};
	fast@0 {
		compatible = "test-spi-loopback-fast";
		reg = <0>;
		spi-max-frequency = <DT_FREQ_M(8)>;
	};
};
