1/*
2 * Copyright (c) 2017 Google LLC.
3 *
4 * SPDX-License-Identifier: Apache-2.0
5 */
6
7/dts-v1/;
8#include <atmel/samd21.dtsi>
9#include <atmel/samx2xx18.dtsi>
10#include "arduino_zero-pinctrl.dtsi"
11
12/ {
13	model = "Arduino Zero";
14	compatible = "arduino,zero", "atmel,samd21g18a", "atmel,samd21";
15
16	chosen {
17		zephyr,console = &sercom5;
18		zephyr,shell-uart = &sercom5;
19		zephyr,sram = &sram0;
20		zephyr,flash = &flash0;
21	};
22
23	/* These aliases are provided for compatibility with samples */
24	aliases {
25		led0 = &led0;
26		led1 = &led1;
27		led2 = &led2;
28		pwm-led0 = &pwm_led0;
29	};
30
31	leds {
32		compatible = "gpio-leds";
33		led0: led_0 {
34			gpios = <&porta 17 0>;
35			label = "LED";
36		};
37		led1: led_1 {
38			gpios = <&porta 27 0>;
39			label = "TX";
40		};
41		led2: led_2 {
42			gpios = <&portb 3 0>;
43			label = "RX";
44		};
45	};
46
47	pwmleds {
48		compatible = "pwm-leds";
49
50		pwm_led0: pwm_led_0 {
51			pwms = <&tcc2 1 PWM_MSEC(20)>;
52		};
53	};
54};
55
56&cpu0 {
57	clock-frequency = <48000000>;
58};
59
60&sercom0 {
61	status = "okay";
62	compatible = "atmel,sam0-uart";
63	current-speed = <115200>;
64	rxpo = <3>;
65	txpo = <1>;
66
67	pinctrl-0 = <&sercom0_uart_default>;
68	pinctrl-names = "default";
69};
70
71&sercom5 {
72	status = "okay";
73	compatible = "atmel,sam0-uart";
74	current-speed = <115200>;
75	rxpo = <3>;
76	txpo = <1>;
77
78	pinctrl-0 = <&sercom5_uart_default>;
79	pinctrl-names = "default";
80};
81
82&sercom4 {
83	status = "okay";
84	compatible = "atmel,sam0-spi";
85	dipo = <0>;
86	dopo = <1>;
87	#address-cells = <1>;
88	#size-cells = <0>;
89
90	pinctrl-0 = <&sercom4_spi_default>;
91	pinctrl-names = "default";
92};
93
94&tcc2 {
95	status = "okay";
96	compatible = "atmel,sam0-tcc-pwm";
97	/* Gives a maximum period of 1.4 s */
98	prescaler = <1024>;
99	#pwm-cells = <2>;
100
101	pinctrl-0 = <&pwm_default>;
102	pinctrl-names = "default";
103};
104
105&dac0 {
106	status = "okay";
107
108	pinctrl-0 = <&dac_default>;
109	pinctrl-names = "default";
110};
111
112&flash0 {
113	partitions {
114		compatible = "fixed-partitions";
115		#address-cells = <1>;
116		#size-cells = <1>;
117
118		/*
119		 * The final 16 KiB is reserved for the application.
120		 * Storage partition will be used by FCB/LittleFS/NVS
121		 * if enabled.
122		 */
123		storage_partition: partition@3c000 {
124			label = "storage";
125			reg = <0x0003c000 0x00004000>;
126		};
127	};
128};
129
130zephyr_udc0: &usb0 {
131	status = "okay";
132
133	pinctrl-0 = <&usb_dc_default>;
134	pinctrl-names = "default";
135};
136