/*
 * Copyright (c) 2018 Peter Bigot Consulting, LLC
 *
 * SPDX-License-Identifier: Apache-2.0
 */

/dts-v1/;
#include <nordic/nrf52840_qiaa.dtsi>
#include <dt-bindings/gpio/gpio.h>
#include "mesh_feather.dtsi"

/ {
	model = "Particle Boron";
	compatible = "particle,boron", "particle,feather",
		"nordic,nrf52840-qiaa", "nordic,nrf52840";

	sky13351 {
		compatible = "skyworks,sky13351";
		vctl1-gpios = <&gpio0 7 0>;
		/* on Boron VCTL2 is inverted VCTL1 signal via SN74LVC1G04
		 * single inverter gate -- requires a definition below,
		 * but is not used in board.c */
		vctl2-gpios = <&gpio0 7 0>;
	};
};

&i2c1 { /* power monitoring */
	status = "okay";
	clock-frequency = <I2C_BITRATE_FAST>;
	sda-pin = <24>;
	scl-pin = <41>;
};

&uart1 { /* u-blox SARA-U2 or SARA-R4 */
	compatible = "nordic,nrf-uarte";
	current-speed = <115200>;
	status = "okay";

	tx-pin = <37>;
	rx-pin = <36>;
	rts-pin = <39>;
	cts-pin = <38>;

	sara_r4 {
		compatible = "ublox,sara-r4";
		label = "ublox-sara-r4";
		status = "okay";

		mdm-power-gpios = <&gpio0 16 0>;
		mdm-reset-gpios = <&gpio0 12 0>;
		mdm-vint-gpios = <&gpio0 2 0>;
	};
};
