/*
 * Copyright (c) 2017,2019 NXP
 *
 * SPDX-License-Identifier: Apache-2.0
 */

/dts-v1/;

#include <nxp/nxp_imx7d_m4.dtsi>
#include "colibri_imx7d-pinctrl.dtsi"
#include <zephyr/dt-bindings/input/input-event-codes.h>

/ {
	model = "TORADEX Colibri IMX7D board";
	compatible = "nxp,mcimx7d_m4";

	aliases {
		led0   = &green_led;
		sw0    = &user_switch_1;
	};

	chosen {
		zephyr,flash = &tcml_code;
		zephyr,sram = &tcmu_sys;
		zephyr,console = &uart2;
		zephyr,shell-uart = &uart2;
	};

	leds {
		compatible = "gpio-leds";
		green_led: led_0 {
			gpios = <&gpio1 2 GPIO_ACTIVE_LOW>;
			label = "User LED1";
		};
	};

	gpio_keys {
		compatible = "gpio-keys";
		user_switch_1: user_sw_1 {
			gpios = <&gpio2 26 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>;
			label = "User SW1";
			zephyr,code = <INPUT_KEY_0>;
		};
	};
};

&uart2 {
	status = "okay";
	current-speed = <115200>;
	modem-mode = <64>;
	pinctrl-0 = <&uart2_default>;
	pinctrl-names = "default";
};

&gpio1 {
	status = "okay";
};

&gpio2 {
	status = "okay";
};

&i2c1 {
	pinctrl-0 = <&i2c1_default>;
	pinctrl-names = "default";
};

&i2c2 {
	pinctrl-0 = <&i2c2_default>;
	pinctrl-names = "default";
};

&i2c3 {
	pinctrl-0 = <&i2c3_default>;
	pinctrl-names = "default";
};

&i2c4 {
	pinctrl-0 = <&i2c4_default>;
	pinctrl-names = "default";
	status = "okay";
};

&pwm1 {
	pinctrl-0 = <&pwm1_default>;
	pinctrl-names = "default";
	status = "okay";
};

&pwm2 {
	pinctrl-0 = <&pwm2_default>;
	pinctrl-names = "default";
};

&pwm3 {
	pinctrl-0 = <&pwm3_default>;
	pinctrl-names = "default";
};

&pwm4 {
	pinctrl-0 = <&pwm4_default>;
	pinctrl-names = "default";
};

&mub {
	status = "okay";
};
