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

&pinctrl {
	spi3_default_alt: spi3_default_alt {
		group1 {
			psels = <NRF_PSEL(SPIM_SCK, 0, 11)>,
				<NRF_PSEL(SPIM_MOSI, 0, 12)>,
				<NRF_PSEL(SPIM_MISO, 0, 13)>;
		};
	};

	spi3_sleep_alt: spi3_sleep_alt {
		group1 {
			psels = <NRF_PSEL(SPIM_SCK, 0, 11)>,
				<NRF_PSEL(SPIM_MOSI, 0, 12)>,
				<NRF_PSEL(SPIM_MISO, 0, 13)>;
			low-power-enable;
		};
	};
};

&spi3 {
	pinctrl-0 = <&spi3_default_alt>;
	pinctrl-1 = <&spi3_sleep_alt>;
	pinctrl-names = "default", "sleep";
	cs-gpios = <&gpio0 20 GPIO_ACTIVE_LOW>,
		   <&gpio0 10 GPIO_ACTIVE_LOW>;

	at45db0: at45db041e@0 {
		compatible = "atmel,at45";
		reg = <0>;
		spi-max-frequency = <15000000>;
		label = "DATAFLASH_0";
		jedec-id = [1f 24 00];
		size = <4194304>;
		sector-size = <65536>;
		block-size = <2048>;
		page-size = <256>;
		enter-dpd-delay = <2000>;
		exit-dpd-delay = <35000>;
		status = "disabled";
	};

	at45db1: at45db321e@1 {
		compatible = "atmel,at45";
		reg = <1>;
		spi-max-frequency = <15000000>;
		label = "DATAFLASH_1";
		jedec-id = [1f 27 01];
		size = <33554432>;
		sector-size = <65536>;
		block-size = <4096>;
		page-size = <512>;
		use-udpd;
		enter-dpd-delay = <1000>;
		exit-dpd-delay = <180000>;
		status = "okay";
	};
};

&uart0 {
	/*
	 * Only TX is used in this sample, so disable RX to prevent UART
	 * receiver from being enabled and consuming power.
	 */
	disable-rx;
};
