1/* 2 * Copyright (c) 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 AD-APARD32690-SL"; 16 compatible = "adi,apard32690"; 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 blue_led: blue_led { 28 gpios = <&gpio2 1 GPIO_ACTIVE_HIGH>; 29 label = "LED1"; 30 }; 31 red_led: red_led { 32 gpios = <&gpio0 12 GPIO_ACTIVE_HIGH>; 33 label = "LED2"; 34 }; 35 green_led: green_led { 36 gpios = <&gpio0 11 GPIO_ACTIVE_HIGH>; 37 label = "LED3"; 38 }; 39 }; 40 41 buttons { 42 compatible = "gpio-keys"; 43 usr_btn: usr_btn { 44 gpios = <&gpio1 27 (GPIO_PULL_DOWN | GPIO_ACTIVE_HIGH)>; 45 label = "S2"; 46 zephyr,code = <INPUT_KEY_0>; 47 }; 48 }; 49 50 aliases { 51 led0 = &blue_led; 52 led1 = &red_led; 53 led2 = &green_led; 54 sw0 = &usr_btn; 55 }; 56 57 arduino_header: connector { 58 compatible = "arduino-header-r3"; 59 #gpio-cells = <2>; 60 gpio-map-mask = <0xffffffff 0xffffffc0>; 61 gpio-map-pass-thru = <0 0x3f>; 62 gpio-map = <0 0 &gpio3 0 0>, /* A0 */ 63 <1 0 &gpio3 1 0>, /* A1 */ 64 <2 0 &gpio3 2 0>, /* A2 */ 65 <3 0 &gpio3 3 0>, /* A3 */ 66 <4 0 &gpio3 4 0>, /* A4 */ 67 <5 0 &gpio3 5 0>, /* A5 */ 68 <6 0 &gpio2 14 0>, /* D0 */ 69 <7 0 &gpio2 16 0>, /* D1 */ 70 <8 0 &gpio2 13 0>, /* D2 */ 71 <9 0 &gpio2 15 0>, /* D3 */ 72 <10 0 &gpio0 8 0>, /* D4 */ 73 <11 0 &gpio0 7 0>, /* D5 */ 74 <12 0 &gpio1 24 0>, /* D6 */ 75 <13 0 &gpio1 25 0>, /* D7 */ 76 <14 0 &gpio1 31 0>, /* D8 */ 77 <15 0 &gpio1 30 0>, /* D9 */ 78 <16 0 &gpio1 23 0>, /* D10 */ 79 <17 0 &gpio1 29 0>, /* D11 */ 80 <18 0 &gpio1 28 0>, /* D12 */ 81 <19 0 &gpio1 26 0>, /* D13 */ 82 <20 0 &gpio2 17 0>, /* D14 */ 83 <21 0 &gpio2 18 0>; /* D15 */ 84 }; 85}; 86 87&clk_ipo { 88 status = "okay"; 89}; 90 91&clk_ibro { 92 status = "okay"; 93}; 94 95&gpio0 { 96 status = "okay"; 97}; 98 99&gpio1 { 100 status = "okay"; 101}; 102 103&gpio2 { 104 status = "okay"; 105}; 106 107&gpio3 { 108 status = "okay"; 109}; 110 111&gpio4 { 112 status = "okay"; 113}; 114 115&uart0 { 116 clock-source = <ADI_MAX32_PRPH_CLK_SRC_IBRO>; 117 pinctrl-0 = <&uart0a_tx_p2_12 &uart0a_rx_p2_11>; 118 pinctrl-names = "default"; 119 current-speed = <115200>; 120 data-bits = <8>; 121 parity = "none"; 122 status = "okay"; 123}; 124 125&trng { 126 status = "okay"; 127}; 128 129arduino_serial: &uart1 { 130 clock-source = <ADI_MAX32_PRPH_CLK_SRC_IBRO>; 131 pinctrl-0 = <&uart1a_tx_p2_16 &uart1a_rx_p2_14>; 132 pinctrl-names = "default"; 133 current-speed = <115200>; 134}; 135 136&spi1a_miso_p1_28 { 137 power-source = <MAX32_VSEL_VDDIOH>; 138}; 139 140&spi1a_mosi_p1_29 { 141 power-source = <MAX32_VSEL_VDDIOH>; 142}; 143 144&spi1a_sck_p1_26 { 145 power-source = <MAX32_VSEL_VDDIOH>; 146}; 147 148&spi1a_ss0_p1_23 { 149 power-source = <MAX32_VSEL_VDDIOH>; 150}; 151 152arduino_spi: &spi1 { 153 pinctrl-0 = <&spi1a_miso_p1_28 &spi1a_mosi_p1_29 &spi1a_sck_p1_26 154 &spi1a_ss0_p1_23>; 155 pinctrl-names = "default"; 156}; 157 158&spi4a_miso_p1_2 { 159 power-source = <MAX32_VSEL_VDDIOH>; 160}; 161 162&spi4a_mosi_p1_1 { 163 power-source = <MAX32_VSEL_VDDIOH>; 164}; 165 166&spi4a_sck_p1_3 { 167 power-source = <MAX32_VSEL_VDDIOH>; 168}; 169 170&spi4a_ss0_p1_0 { 171 power-source = <MAX32_VSEL_VDDIOH>; 172}; 173 174pmod_spi: &spi4 { 175 pinctrl-0 = <&spi4a_miso_p1_2 &spi4a_mosi_p1_1 &spi4a_sck_p1_3 176 &spi4a_ss0_p1_0>; 177 pinctrl-names = "default"; 178}; 179 180&spi3a_miso_p0_20 { 181 power-source = <MAX32_VSEL_VDDIOH>; 182}; 183 184&spi3a_mosi_p0_21 { 185 power-source = <MAX32_VSEL_VDDIOH>; 186}; 187 188&spi3a_sck_p0_16 { 189 power-source = <MAX32_VSEL_VDDIOH>; 190}; 191 192&spi3a_ss0_p0_19 { 193 power-source = <MAX32_VSEL_VDDIOH>; 194}; 195 196&spi3 { 197 pinctrl-0 = <&spi3a_miso_p0_20 &spi3a_mosi_p0_21 &spi3a_sck_p0_16 198 &spi3a_ss0_p0_19>; 199 pinctrl-names = "default"; 200 status = "okay"; 201 202 adin1110: adin1110@0 { 203 compatible = "adi,adin1110"; 204 reg = <0x0>; 205 spi-max-frequency = <DT_FREQ_M(25)>; 206 int-gpios = <&gpio0 17 (GPIO_ACTIVE_LOW | MAX32_GPIO_VSEL_VDDIOH)>; 207 reset-gpios = <&gpio0 15 (GPIO_ACTIVE_LOW | MAX32_GPIO_VSEL_VDDIOH)>; 208 status = "okay"; 209 210 port1 { 211 local-mac-address = [ 00 E0 22 FE DA C9 ]; 212 }; 213 mdio { 214 compatible = "adi,adin2111-mdio"; 215 #address-cells = <1>; 216 #size-cells = <0>; 217 218 ethernet-phy@1 { 219 reg = <0x1>; 220 compatible = "adi,adin2111-phy"; 221 }; 222 }; 223 }; 224}; 225 226&w1 { 227 pinctrl-0 = <&owm_io_p0_8 &owm_pe_p0_7>; 228 pinctrl-names = "default"; 229}; 230