1// SPDX-License-Identifier: GPL-2.0-only
2/*
3 * Copyright (C) 2015 Microchip Technology Inc.  All rights reserved.
4 */
5
6/dts-v1/;
7
8#include <dt-bindings/gpio/gpio.h>
9#include <dt-bindings/interrupt-controller/irq.h>
10
11#include "pic32mzda.dtsi"
12
13/ {
14	compatible = "microchip,pic32mzda-sk", "microchip,pic32mzda";
15	model = "Microchip PIC32MZDA Starter Kit";
16
17	memory {
18		device_type = "memory";
19		reg = <0x08000000 0x08000000>;
20	};
21
22	chosen {
23		bootargs = "earlyprintk=ttyPIC1,115200n8r console=ttyPIC1,115200n8";
24	};
25
26	leds0 {
27		compatible = "gpio-leds";
28		pinctrl-names = "default";
29		pinctrl-0 = <&user_leds_s0>;
30
31		led-1 {
32			label = "pic32mzda_sk:red:led1";
33			gpios = <&gpio7 0 GPIO_ACTIVE_HIGH>;
34			linux,default-trigger = "heartbeat";
35		};
36
37		led-2 {
38			label = "pic32mzda_sk:yellow:led2";
39			gpios = <&gpio7 1 GPIO_ACTIVE_HIGH>;
40			linux,default-trigger = "mmc0";
41		};
42
43		led-3 {
44			label = "pic32mzda_sk:green:led3";
45			gpios = <&gpio7 2 GPIO_ACTIVE_HIGH>;
46			default-state = "on";
47		};
48	};
49
50	keys0 {
51		compatible = "gpio-keys";
52		pinctrl-0 = <&user_buttons_s0>;
53		pinctrl-names = "default";
54
55		button-1 {
56			label = "ESC";
57			linux,code = <1>;
58			gpios = <&gpio1 12 0>;
59		};
60
61		button-2 {
62			label = "Home";
63			linux,code = <102>;
64			gpios = <&gpio1 13 0>;
65		};
66
67		button-3 {
68			label = "Menu";
69			linux,code = <139>;
70			gpios = <&gpio1 14 0>;
71		};
72	};
73};
74
75&uart2 {
76	pinctrl-names = "default";
77	pinctrl-0 = <&pinctrl_uart2>;
78	status = "okay";
79};
80
81&uart4 {
82	pinctrl-names = "default";
83	pinctrl-0 = <&pinctrl_uart4>;
84	status = "okay";
85};
86
87&sdhci {
88	pinctrl-names = "default";
89	pinctrl-0 = <&pinctrl_sdhc1>;
90	status = "okay";
91	assigned-clocks = <&rootclk REF2CLK>, <&rootclk REF4CLK>,
92		<&rootclk REF5CLK>;
93	assigned-clock-rates = <50000000>, <25000000>, <40000000>;
94};
95
96&pic32_pinctrl {
97
98	pinctrl_sdhc1: sdhc1_pins0 {
99		pins = "A6", "D4", "G13", "G12", "G14", "A7", "A0";
100		microchip,digital;
101	};
102
103	user_leds_s0: user_leds_s0 {
104		pins = "H0", "H1", "H2";
105		output-low;
106		microchip,digital;
107	};
108
109	user_buttons_s0: user_buttons_s0 {
110		pins = "B12", "B13", "B14";
111		microchip,digital;
112		input-enable;
113		bias-pull-up;
114	};
115
116	pinctrl_uart2: pinctrl_uart2 {
117		uart2-tx {
118			pins = "G9";
119			function = "U2TX";
120			microchip,digital;
121			output-high;
122		};
123		uart2-rx {
124			pins = "B0";
125			function = "U2RX";
126			microchip,digital;
127			input-enable;
128		};
129	};
130
131	pinctrl_uart4: uart4-0 {
132		uart4-tx {
133			pins = "C3";
134			function = "U4TX";
135			microchip,digital;
136			output-high;
137		};
138		uart4-rx {
139			pins = "E8";
140			function = "U4RX";
141			microchip,digital;
142			input-enable;
143		};
144	};
145};
146