1/*
2 * Copyright (c) 2018 Henrik Brix Andersen <henrik@brixandersen.dk>
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 "adafruit_feather_m0_basic_proto-pinctrl.dtsi"
11#include "feather_connector.dtsi"
12
13/ {
14	model = "Adafruit Feather M0 Basic Proto";
15	compatible = "adafruit,feather-m0-basic-proto", "atmel,samd21g18a",
16			"atmel,samd21";
17
18	chosen {
19		zephyr,console = &sercom0;
20		zephyr,shell-uart = &sercom0;
21		zephyr,sram = &sram0;
22		zephyr,flash = &flash0;
23		zephyr,code-partition = &code_partition;
24	};
25
26	/* These aliases are provided for compatibility with samples */
27	aliases {
28		led0 = &led0;
29	};
30
31	leds {
32		compatible = "gpio-leds";
33		led0: led_0 {
34			gpios = <&porta 17 0>;
35			label = "LED";
36		};
37	};
38};
39
40&cpu0 {
41	clock-frequency = <48000000>;
42};
43
44&sercom0 {
45	status = "okay";
46	compatible = "atmel,sam0-uart";
47	current-speed = <115200>;
48	rxpo = <3>;
49	txpo = <1>;
50
51	pinctrl-0 = <&sercom0_uart_default>;
52	pinctrl-names = "default";
53};
54
55&sercom3 {
56	status = "okay";
57	compatible = "atmel,sam0-i2c";
58	clock-frequency = <I2C_BITRATE_FAST>;
59	#address-cells = <1>;
60	#size-cells = <0>;
61
62	pinctrl-0 = <&sercom3_i2c_default>;
63	pinctrl-names = "default";
64};
65
66&sercom4 {
67	status = "okay";
68	compatible = "atmel,sam0-spi";
69	#address-cells = <1>;
70	#size-cells = <0>;
71	dipo = <0>;
72	dopo = <1>;
73
74	pinctrl-0 = <&sercom4_spi_default>;
75	pinctrl-names = "default";
76};
77
78&flash0 {
79	partitions {
80		compatible = "fixed-partitions";
81		#address-cells = <1>;
82		#size-cells = <1>;
83
84		boot_partition: partition@0 {
85			label = "sam-ba";
86			reg = <0x00000000 DT_SIZE_K(8)>;
87			read-only;
88		};
89
90		code_partition: partition@2000 {
91			label = "code";
92			reg = <0x2000 DT_SIZE_K(232)>;
93			read-only;
94		};
95
96		/*
97		 * The final 16 KiB is reserved for the application.
98		 * Storage partition will be used by FCB/LittleFS/NVS
99		 * if enabled.
100		 */
101		storage_partition: partition@3c000 {
102			label = "storage";
103			reg = <0x0003c000 DT_SIZE_K(16)>;
104		};
105	};
106};
107
108zephyr_udc0: &usb0 {
109	status = "okay";
110
111	pinctrl-0 = <&usb_dc_default>;
112	pinctrl-names = "default";
113};
114