/*
 * Copyright (c) 2018 STMicroelectronics
 *
 * SPDX-License-Identifier: Apache-2.0
 */

/dts-v1/;
#include <st/f4/stm32f412Xg.dtsi>

/ {
	model = "Tocoding Argonkey 96boards";
	compatible = "tocoding,argonkey", "st,stm32f412";

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

	leds {
		compatible = "gpio-leds";
		green_led_0: led_0 {
			gpios = <&gpioc 13 GPIO_ACTIVE_HIGH>;
			label = "USR0 LED";
		};
		green_led_1: led_1 {
			gpios = <&gpiob 2 GPIO_ACTIVE_HIGH>;
			label = "USR1 LED";
		};
	};

	gpio_keys {
		compatible = "gpio-keys";
		user_button: button {
			label = "User";
			gpios = <&gpioa 2 GPIO_ACTIVE_LOW>;
		};
	};

	aliases {
		led0 = &green_led_0;
		led1 = &green_led_1;
		sw0 = &user_button;
	};
};

&usart1 {
	current-speed = <115200>;
	status = "okay";
};

&spi1 {
	status = "okay";
};

&spi2 {
	status = "okay";

	/* ST Microelectronics LSM6DSL accel/gyro sensor */
	lsm6dsl@1 {
		compatible = "st,lsm6dsl";
		reg = <1>;
		spi-max-frequency = <1000000>;
		irq-gpios = <&gpiob 1 GPIO_ACTIVE_HIGH>;
		label = "LSM6DSL_SPI";
	};
};

&dma2 {
	status = "okay";
};

&i2s5 {
	status = "okay";

	mp34dt05@0 {
		compatible = "st,mpxxdtyy";
		reg = <0>;
		label = "MP34DT05";
	};
};

&i2c1 {
	status = "okay";
	clock-frequency = <I2C_BITRATE_FAST>;
};

&i2c2 {
	status = "okay";
	clock-frequency = <I2C_BITRATE_FAST>;

	hts221@5f {
		compatible = "st,hts221";
		reg = <0x5f>;
		label = "HTS221";
		drdy-gpios = <&gpioa 2 GPIO_ACTIVE_HIGH>;
	};

	lps22hb-press@5d {
		compatible = "st,lps22hb-press";
		reg = <0x5d>;
		label = "LPS22HB";
	};

	vl53l0x@29 {
		compatible = "st,vl53l0x";
		reg = <0x29>;
		label = "VL53L0X";
	};
};

&i2c3 {
	status = "okay";
	clock-frequency = <I2C_BITRATE_FAST>;

	lp3943@60 {
		compatible = "ti,lp3943";
		reg = <0x60>;
		label = "LP3943";
	};
};

&rtc {
	status = "okay";
};
