/*
 * Copyright (c) 2017 VNG IoT Lab Limited
 *
 * SPDX-License-Identifier: Apache-2.0
 */

/dts-v1/;
#include <nordic/nrf52832_qfaa.dtsi>

/ {
	model = "VNG VBLUno52 BLE 5.0 board";
	compatible = "vng,vbluno52", "nordic,nrf52832-qfaa",
		     "nordic,nrf52832";

	chosen {
		zephyr,console = &uart0;
		zephyr,shell-uart = &uart0;
		zephyr,bt-mon-uart = &uart0;
		zephyr,sram = &sram0;
		zephyr,flash = &flash0;
	};

	/* These aliases are provided for compatibility with samples */
	aliases {
		led0 = &led0;
		sw0 = &button0;
	};

	leds {
		compatible = "gpio-leds";
		/* Green LED */
		led0: led_0 {
			gpios = <&gpio0 12 0>;
			label = "LED";
		};
	};

	buttons {
		compatible = "gpio-keys";
		button0: button_0 {
			/* gpio flags need validation */
			gpios = <&gpio0 17 GPIO_INT_ACTIVE_LOW>;
			label = "Button";
		};
	};
};

&gpiote {
	status ="ok";
};

&gpio0 {
	status ="ok";
};

&uart0 {
	status = "ok";
	compatible = "nordic,nrf-uart";
	current-speed = <115200>;
	tx-pin = <6>;
	rx-pin = <8>;
	rts-pin = <5>;
	cts-pin = <7>;
};

&i2c0 {
	status = "ok";
	clock-frequency = <I2C_BITRATE_FAST>;
	sda-pin = <26>;
	scl-pin = <27>;
};
