/*
 * 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>;
		label = "winc1500";
		spi-max-frequency = <4000000>;
		irq-gpios = <&gpio1 7 1>;
		reset-gpios = <&gpio1 8 1>;
		enable-gpios = <&gpio1 12 0>;

	};
};
