1/*
2 * Copyright (c) 2023-2024 Analog Devices, Inc.
3 *
4 * SPDX-License-Identifier: Apache-2.0
5 */
6
7/dts-v1/;
8
9#include <adi/max32/max32690.dtsi>
10#include <adi/max32/max32690-pinctrl.dtsi>
11#include <zephyr/dt-bindings/gpio/adi-max32-gpio.h>
12#include <zephyr/dt-bindings/input/input-event-codes.h>
13
14/ {
15	model = "Analog Devices MAX32690FTHR";
16	compatible = "adi,max32690fthr";
17
18	chosen {
19		zephyr,console = &uart0;
20		zephyr,shell-uart = &uart0;
21		zephyr,sram = &sram0;
22		zephyr,flash = &flash0;
23	};
24
25	leds {
26		compatible = "gpio-leds";
27		red_led: led_0 {
28			gpios = <&gpio0 14 GPIO_ACTIVE_LOW>;
29			label = "LED0";
30		};
31		green_led: led_1 {
32			gpios = <&gpio2 24 GPIO_ACTIVE_LOW>;
33			label = "LED1";
34		};
35		blue_led: led_2 {
36			gpios = <&gpio2 25 GPIO_ACTIVE_LOW>;
37			label = "LED2";
38		};
39	};
40
41	buttons {
42		compatible = "gpio-keys";
43		pb1: pb1 {
44			gpios = <&gpio1 14 (GPIO_PULL_UP | GPIO_ACTIVE_LOW)>;
45			label = "SW3";
46			zephyr,code = <INPUT_KEY_0>;
47		};
48		pb2: pb2 {
49			gpios = <&gpio1 15 (GPIO_PULL_UP | GPIO_ACTIVE_LOW)>;
50			label = "SW4";
51			zephyr,code = <INPUT_KEY_1>;
52		};
53	};
54
55	aliases {
56		led0 = &red_led;
57		led1 = &green_led;
58		led2 = &blue_led;
59		sw0 = &pb1;
60		sw1 = &pb2;
61	 };
62
63	feather_header: feather_connector {
64		compatible = "adafruit-feather-header";
65		#gpio-cells = <2>;
66		gpio-map-mask = <0xffffffff 0xffffffc0>;
67		gpio-map-pass-thru = <0 0x3f>;
68		gpio-map = <0 0 &gpio3 0 0>,	/* A0 */
69			   <1 0 &gpio3 1 0>,	/* A1 */
70			   <2 0 &gpio3 4 0>,	/* A2 */
71			   <3 0 &gpio0 9 0>,	/* A3 */
72			   <4 0 &gpio0 10 0>,	/* A4 */
73			   <5 0 &gpio0 7 0>,	/* A5 */
74			   <6 0 &gpio2 29 0>,	/* SCK */
75			   <7 0 &gpio2 28 0>,	/* MOSI */
76			   <8 0 &gpio2 27 0>,	/* MISO */
77			   <9 0 &gpio1 9 0>,	/* RXD */
78			   <10 0 &gpio1 10 0>,	/* TXD */
79			   /* 11 (D2) not connected */
80			   <12 0 &gpio2 7 0>,	/* SDA */
81			   <13 0 &gpio2 8 0>,	/* SCL */
82			   <14 0 &gpio1 7 0>,	/* D5 */
83			   <15 0 &gpio1 8 0>,	/* D6 */
84			   <16 0 &gpio2 26 0>,	/* D9 */
85			   <17 0 &gpio0 23 0>,	/* D10 */
86			   <18 0 &gpio1 12 0>,	/* D11 */
87			   <19 0 &gpio1 11 0>,	/* D12 */
88			   <20 0 &gpio0 8 0>;	/* D13 */
89	};
90};
91
92&clk_ibro {
93	status = "okay";
94};
95
96&gpio0 {
97	status = "okay";
98};
99
100&gpio1 {
101	status = "okay";
102};
103
104&gpio2 {
105	status = "okay";
106};
107
108&gpio3 {
109	status = "okay";
110};
111
112&uart0 {
113	clock-source = <ADI_MAX32_PRPH_CLK_SRC_IBRO>;
114	pinctrl-0 = <&uart0a_tx_p2_12 &uart0a_rx_p2_11>;
115	pinctrl-names = "default";
116	current-speed = <115200>;
117	data-bits = <8>;
118	parity = "none";
119	status = "okay";
120};
121
122feather_serial: &uart2 {
123	clock-source = <ADI_MAX32_PRPH_CLK_SRC_IBRO>;
124	pinctrl-0 = <&uart2a_tx_p1_10 &uart2a_rx_p1_9>;
125	pinctrl-names = "default";
126	current-speed = <115200>;
127	data-bits = <8>;
128	parity = "none";
129	status = "okay";
130};
131
132feather_i2c: &i2c0 {
133	status = "okay";
134	pinctrl-0 = <&i2c0a_scl_p2_8 &i2c0a_sda_p2_7>;
135	pinctrl-names = "default";
136};
137
138feather_spi: &spi0 {
139	status = "okay";
140	pinctrl-0 = <&spi0b_mosi_p2_28 &spi0b_miso_p2_27 &spi0b_sck_p2_29>;
141	pinctrl-names = "default";
142};
143