/*
 * Copyright (c) 2020 Nuvoton Technology Corporation.
 *
 * SPDX-License-Identifier: Apache-2.0
 */

/dts-v1/;

#include <nuvoton/npcx7m6fb.dtsi>

/ {
	model = "Nuvoton NPCX7M6FB evaluation board";

	chosen {
		zephyr,sram = &sram0;
		zephyr,console = &uart1;
		zephyr,flash = &flash0;
	};

	aliases {
		/* For samples/basic/blinky_pwm */
		pwm-led0 = &pwm_led0_green;
		/* For pwm test suites */
		pwm-0 = &pwm6;
		/* For i2c test suites */
		i2c-0 = &i2c0_0;
	};

	pwmleds {
		compatible = "pwm-leds";
		pwm_led0_green: pwm_led_0 {
			pwms = <&pwm6 0 PWM_POLARITY_INVERTED>;
			label = "User D7 green";
		};
	};

	power-states {
		suspend_to_idle0: suspend-to-idle0 {
			compatible = "zephyr,power-state";
			power-state-name = "suspend-to-idle";
			substate-id = <0>;
			min-residency-us = <1000>;
		};

		suspend_to_idle1: suspend-to-idle1 {
			compatible = "zephyr,power-state";
			power-state-name = "suspend-to-idle";
			substate-id = <1>;
			min-residency-us = <201000>;
		};
	};

	vsby-psl-in-list {
		psl-in-pads = <&psl_in1>; /* Use PSL_IN1 as detection pins */
		status = "okay";
	};
};

&cpu0 {
	cpu-power-states = <&suspend_to_idle0 &suspend_to_idle1>;
};

&psl_in1 {
	/* A falling edge detection type for PSL_IN1 */
	flag = <NPCX_PSL_FALLING_EDGE>;
};

/* Overwrite default device properties with overlays in board dt file here. */
&uart1 {
	status = "okay";
	current-speed = <115200>;
	pinctrl-0 = <&altc_uart1_sl2>; /* Use UART1_SL2 ie. PIN64.65 */
};

&pwm6 {
	drive-open-drain;
	status = "okay";
};

&adc0 {
	/* ADC pinmux is changed only if related channel is configured. */
	status = "okay";
};

&espi0 {
	status = "okay";
};

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

&i2c_ctrl0 {
	status = "okay";
};

&tach1 {
	status = "okay";
	pinctrl-0 = <&alt3_ta1_sl1>; /* Use TA1_SL1 (PIN40) as input pin */
	port = <NPCX_TACH_PORT_A>; /* port-A is selected */
	sample-clk = <NPCX_TACH_FREQ_LFCLK>; /* Use LFCLK as sampling clock */
	pulses-per-round = <1>; /* number of pulses per round of encoder */
};
