/*
 * 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"
#include "particle_xenon-pinctrl.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";
	pinctrl-0 = <&uart1_default>;
	pinctrl-1 = <&uart1_sleep>;
	pinctrl-names = "default", "sleep";
};
