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

/dts-v1/;
#include <nordic/nrf52840_qiaa.dtsi>
#include "mesh_feather.dtsi"

/ {
	model = "Particle Xenon";
	compatible = "particle,xenon", "particle,feather";

	sky13351 {
		compatible = "skyworks,sky13351";
		vctl1-gpios = <&gpio0 24 GPIO_ACTIVE_LOW>;
		vctl2-gpios = <&gpio0 25 GPIO_ACTIVE_LOW>;
	};

	vbatt {
		compatible = "voltage-divider";
		io-channels = <&adc 3>;
		output-ohms = <2100000>;
		full-ohms = <(2100000 + 806000)>;
	};
};

&uart1 { /* feather UART2 */
	compatible = "nordic,nrf-uarte";
	current-speed = <115200>;
	status = "disabled";
	tx-pin = <40>;
	rx-pin = <42>;
	/* optional mesh_feather_uart2_rtscts.dtsi */
};
