/*
 * Copyright (c) 2020 Phytec Messtechnik GmbH
 *
 * SPDX-License-Identifier: Apache-2.0
 */

&pinctrl {
	spi3_default_alt: spi3_default_alt {
		group1 {
			psels = <NRF_PSEL(SPIM_SCK, 1, 4)>,
				<NRF_PSEL(SPIM_MOSI, 1, 5)>,
				<NRF_PSEL(SPIM_MISO, 1, 6)>;
		};
	};

	spi3_sleep_alt: spi3_sleep_alt {
		group1 {
			psels = <NRF_PSEL(SPIM_SCK, 1, 4)>,
				<NRF_PSEL(SPIM_MOSI, 1, 5)>,
				<NRF_PSEL(SPIM_MISO, 1, 6)>;
			low-power-enable;
		};
	};
};

&spi3 {
	status = "ok";
	cs-gpios = <&gpio1 3 GPIO_ACTIVE_LOW>;
	pinctrl-0 = <&spi3_default_alt>;
	pinctrl-1 = <&spi3_sleep_alt>;
	pinctrl-names = "default", "sleep";

	winc1500@0 {
		status = "ok";
		compatible = "atmel,winc1500";
		reg = <0x0>;
		spi-max-frequency = <4000000>;
		irq-gpios = <&gpio1 7 1>;
		reset-gpios = <&gpio1 8 1>;
		enable-gpios = <&gpio1 12 0>;

	};
};
