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

/ {
	aliases {
		magn0 = &lis2mdl_1e_x_nucleo_iks4a1;
		accel0 = &lsm6dso16is_6a_x_nucleo_iks4a1;
		accel1 = &lsm6dsv16x_6b_x_nucleo_iks4a1;
		press0 = &lps22df_5d_x_nucleo_iks4a1;
	};
};

&arduino_i2c {
	lsm6dso16is_6a_x_nucleo_iks4a1: lsm6dso16is@6a {
		compatible = "st,lsm6dso16is";
		reg = <0x6a>;
		accel-odr = <0x1b>;
		gyro-odr = <0x11>;
		irq-gpios =  <&arduino_header 5 GPIO_ACTIVE_HIGH>; /* A5 (PC0) */
		drdy-pin = <1>;
	};

	lsm6dsv16x_6b_x_nucleo_iks4a1: lsm6dsv16x@6b {
		compatible = "st,lsm6dsv16x";
		reg = <0x6b>;
		accel-odr = <0x02>;
		gyro-odr = <0x02>;
		int2-gpios =  <&arduino_header 10 GPIO_ACTIVE_HIGH>; /* D4 (PB5) */
		drdy-pin = <2>;
		drdy-pulsed;
	};

	lis2mdl_1e_x_nucleo_iks4a1: lis2mdl@1e {
		compatible = "st,lis2mdl";
		reg = <0x1e>;
		irq-gpios =  <&arduino_header 2 GPIO_ACTIVE_HIGH>; /* A2 (PA4) */
	};

	lps22df_5d_x_nucleo_iks4a1: lps22df@5d {
		compatible = "st,lps22df";
		reg = <0x5d>;
		drdy-pulsed;
		drdy-gpios =  <&arduino_header 12 GPIO_ACTIVE_HIGH>; /* D6 (PB10) */
	};
};
