#include <zephyr/dt-bindings/gpio/gpio.h>
#include <zephyr/dt-bindings/led/led.h>

/ {
	key_pool {
		compatible = "gpio-keys";

		inp {
			gpios = <&gpiod 1 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>,
					<&gpiod 3 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>;
		};
	};

	led_pool {
		compatible = "gpio-leds";

		out {
			gpios = <&gpiob 6 GPIO_ACTIVE_HIGH>;
		};
	};

	/delete-node/ pwm_pool;

	led_strip: ws2812 {
		compatible = "worldsemi,ws2812-gpio";

		chain-length = <1>; /* arbitrary; change at will */
		color-mapping = <LED_COLOR_ID_GREEN
				 LED_COLOR_ID_RED
				 LED_COLOR_ID_BLUE>;
		in-gpios = <&gpiob 4 0>;
	};
};

&gpioc {
	interrupts = <38 1>;
};

&gpiod {
	interrupts = <37 1>;
	status = "okay";
};

&pinctrl {
	/* Define I2C pins: SCL(PE0), SDA(PC2) */
	i2c_scl_pe0_default: i2c_scl_pe0_default {
		pinmux = <B9x_PINMUX_SET(B9x_PORT_E, B9x_PIN_0, B91_FUNC_A)>;
	};
	i2c_sda_pc2_default: i2c_sda_pc2_default {
		pinmux = <B9x_PINMUX_SET(B9x_PORT_C, B9x_PIN_2, B91_FUNC_A)>;
	};
};

&i2c {
	pinctrl-0 = <&i2c_scl_pe0_default &i2c_sda_pc2_default>;

	sht3xd@44 {
		compatible = "sensirion,sht3xd";
		reg = <0x44>;
	};
};
