/*
 * Copyright (c) 2020 Alexander Kozhinov
 * AlexanderKozhinov@yandex.com
 *
 * SPDX-License-Identifier: Apache-2.0
 */

/dts-v1/;
#include <st/h7/stm32h745Xi_m7.dtsi>
#include "nucleo_h745zi_q.dtsi"

/ {
	model = "STMicroelectronics STM32H745ZI-Q-NUCLEO board";
	compatible = "st,stm32h745zi-q-nucleo", "st,stm32h745";

	/* HW resources belonging to CM7 */
	chosen {
		zephyr,console = &usart3;
		zephyr,shell-uart = &usart3;
		zephyr,dtcm = &dtcm;
		zephyr,sram = &sram0;
		zephyr,flash = &flash0;
	};

	pwmleds {
		compatible = "pwm-leds";

		red_pwm_led: red_pwm_led {
			pwms = <&pwm12 1 4 PWM_POLARITY_NORMAL>;
			label = "User LD3 - PWM12";
		};
	};

	aliases {
		led0 = &green_led;
		pwm-led0 = &red_pwm_led;
		sw0 = &user_button;
	};
};

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

&rtc {
	status = "okay";
};

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

&timers12 {
	status = "okay";

	pwm12: pwm {
		status = "okay";
	};
};

&mac {
	status = "okay";
};

&rng {
	status = "okay";
};
