1/*
2 * Copyright (c) 2021 Nuvoton Technology Corporation.
3 *
4 * SPDX-License-Identifier: Apache-2.0
5 */
6
7/dts-v1/;
8
9#include <nuvoton/npcx9m6f.dtsi>
10#include "npcx9m6f_evb-pinctrl.dtsi"
11
12/ {
13	model = "Nuvoton NPCX9M6F evaluation board";
14
15	chosen {
16		zephyr,sram = &sram0;
17		zephyr,console = &uart1;
18		zephyr,flash = &flash0;
19		zephyr,keyboard-scan = &kscan_input;
20	};
21
22	aliases {
23		/* For samples/basic/blinky_pwm */
24		pwm-led0 = &pwm_led0_green;
25		/* For gpio test suites */
26		led0 = &gpio_led_red;
27		/* For pwm test suites */
28		pwm-0 = &pwm6;
29		/* For i2c test suites */
30		i2c-0 = &i2c0_0;
31		/* For watchdog sample */
32		watchdog0 = &twd0;
33		peci-0 = &peci0;
34		/* For kscan test suites */
35		kscan0 = &kscan_input;
36	};
37
38	leds-pwm {
39		compatible = "pwm-leds";
40		pwm_led0_green: pwm_led_0 {
41			pwms = <&pwm6 0 PWM_MSEC(20) PWM_POLARITY_INVERTED>;
42			label = "User D7 green";
43		};
44	};
45
46	leds-gpio {
47		compatible = "gpio-leds";
48		gpio_led_red: led_0 {
49			gpios = <&gpio6 0 GPIO_ACTIVE_LOW>;
50			label = "User D8 red";
51		};
52	};
53};
54
55/* Overwrite default device properties with overlays in board dt file here. */
56&uart1 {
57	status = "okay";
58	current-speed = <115200>;
59	/* Use UART1_SL2 ie. PIN64.65 */
60	pinctrl-0 = <&uart1_2_sin_gp64
61		     &uart1_2_sout_gp65>;
62	pinctrl-names = "default";
63};
64
65&pwm6 {
66	status = "okay";
67	pinctrl-0 = <&pwm6_gpc0>;
68	pinctrl-names = "default";
69};
70
71&adc0 {
72	status = "okay";
73	/* Use adc0 channel 0 and 2 for 'adc_api' driver tests */
74	pinctrl-0 = <&adc0_chan0_gp45
75		     &adc0_chan2_gp43>;
76	pinctrl-names = "default";
77};
78
79&espi0 {
80	status = "okay";
81	pinctrl-0 = <&espi_lpc_gp46_47_51_52_53_54_55_57>;
82	pinctrl-names = "default";
83};
84
85&i2c0_0 {
86	status = "okay";
87	pinctrl-0 = <&i2c0_0_sda_scl_gpb4_b5>;
88	pinctrl-names = "default";
89	clock-frequency = <I2C_BITRATE_FAST>;
90};
91
92&i2c_ctrl0 {
93	status = "okay";
94};
95
96&tach1 {
97	status = "okay";
98	pinctrl-0 = <&ta1_1_in_gp40>;
99	pinctrl-names = "default";
100	port = <NPCX_TACH_PORT_A>; /* port-A is selected */
101	sample-clk = <NPCX_TACH_FREQ_LFCLK>; /* Use LFCLK as sampling clock */
102	pulses-per-round = <1>; /* number of pulses per round of encoder */
103};
104
105&peci0 {
106	status = "okay";
107	pinctrl-0 = <&peci_dat_gp81>;
108	pinctrl-names = "default";
109};
110
111&kbd {
112	/* Demonstrate a 13 x 8 keyboard matrix on evb */
113	pinctrl-0 = <&ksi0_gp31 /* KSI0 PIN31 */
114		     &ksi1_gp30 /* KSI1 PIN30 */
115		     &ksi2_gp27 /* KSI2 PIN27 */
116		     &ksi3_gp26 /* KSI3 PIN26 */
117		     &ksi4_gp25 /* KSI4 PIN25 */
118		     &ksi5_gp24 /* KSI5 PIN24 */
119		     &ksi6_gp23 /* KSI6 PIN23 */
120		     &ksi7_gp22 /* KSI7 PIN22 */
121		     &kso00_gp21 /* KSO00 PIN21 */
122		     &kso01_gp20 /* KSO01 PIN20 */
123		     &kso02_gp17 /* KSO02 PIN17 */
124		     &kso03_gp16 /* KSO03 PIN16 */
125		     &kso04_gp15 /* KSO04 PIN15 */
126		     &kso05_gp14 /* KSO05 PIN14 */
127		     &kso06_gp13 /* KSO06 PIN13 */
128		     &kso07_gp12 /* KSO07 PIN12 */
129		     &kso08_gp11 /* KSO08 PIN11 */
130		     &kso09_gp10 /* KSO09 PIN10 */
131		     &kso10_gp07 /* KSO10 PIN07 */
132		     &kso11_gp06 /* KSO11 PIN06 */
133		     &kso12_gp05 /* KSO12 PIN05 */
134		     >;
135	pinctrl-names = "default";
136	row-size = <8>;
137	col-size = <13>;
138	status = "okay";
139
140	kscan_input: kscan-input {
141		compatible = "zephyr,kscan-input";
142	};
143};
144