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